Flash串行闪存芯片入门指南:最小必要知识

目录

一、什么是Flash串行闪存芯片?

二、为啥需要Flash?

三、Flash的类比

四、单位与转换

1.基础单位换算

3.位(bit)

4.字节(Byte)

5.页(Page)

6.扇区(Sector)

7.块(Block)

四、Flash芯片举例


一、什么是Flash串行闪存芯片?


Flash串行闪存芯片是一种非易失性存储器,即使在断电的情况下也能保存数据。它们通过 SPI(Serial Peripheral Interface) 接口与主控设备进行通信。相比于并行闪存,串行闪存具有引脚数少、封装小、成本低等优点。W25Q64和W25Q128都是常见的串行闪存芯片。

二、为啥需要Flash?

尽管单片机有内置Flash,但外置提供更大存储容量,适合大数据存储,大多数单片机的内置 Flash 容量相对较小(例如,STM32F103C8T6 只有 64 KB 或 128 KB)。而 W25Q64 提供了 8 MB 的存储空间。它还能分离存储,保护主程序代码,避免干扰和误操作,提升系统稳定性和灵活性。

三、Flash的类比

Flash可类比为电脑硬盘与U盘。电脑硬盘长期存储操作系统、软件、文档等多样数据,Flash在嵌入式系统里能存程序代码、传感器数据。Flash类似一个巨大的字节数组,支持按地址进行数据增删改查操作(CRUD:Create, Read, Update, Delete)。增(写入)数据需按页对齐,删(擦除)以扇区或块为单位,改(更新)需先擦除再写入,查(读取)则直接按地址读取。

四、单位与转换

位(bit)、字节(byte)、页(page)、扇区(sector)和块(block)。是用于衡量存储容量和组织数据存储的重要单位,以下为你详细介绍:

1.基础单位换算

1 字节(Byte) = 8 位(bit);

1 千字节(Kilobyte, KB) = 1024 字节(Byte);

1 兆字节(Megabyte, MB) = 1024 千字节(KB);

2.芯片内部存储结构单位关系

1 页(Page) = 256 字节(Byte);

1 扇区(Sector) = 16 页(Page) = 4096 字节(Byte);

1 块(Block) = 16 扇区(Sector) = 65536 字节(Byte);

3.位(bit)

定义 :位是计算机中最小的信息单位,它只有两种状态,即 0 和 1。这两种状态可以用来表示逻辑上的真与假、电路中的高电平与低电平。

作用 :在存储芯片里,数据以二进制形式存储,每一个 0 或 1 就是一个位。芯片内部的电路通过对这些位的操作来实现数据的存储、读取和处理。例如,在传输数据时,数据是逐位进行传输的。

与其他单位的换算 :它是所有存储单位的基础,其他单位都是由位组合而成。

4.字节(Byte)

定义 :字节是计算机中常用的基本存储单位,1 字节等于 8 位,即 1 Byte = 8 bit。字节可以用来表示一个字符,例如在 ASCII 编码中,一个英文字母或数字就占用 1 个字节。

作用 :在存储芯片的数据读写操作中,字节是一个基本的操作单元。程序通常以字节为单位来处理和存储数据,例如读取或写入一个整数、字符数组等。

与其他单位的换算 :是构建更大存储单位的基础,多个字节可以组成页、扇区和块。

5.页(Page)

定义 :页是存储芯片中一个连续的存储区域,是芯片进行数据写入操作的基本单元之一。在 W25Q64 和 W25Q128 中,每页的大小通常为 256 字节。

作用 :当向芯片写入数据时,数据会被组织成页进行写入。如果要写入的数据量小于一页,也会占用整个页的空间;如果数据量大于一页,则会分多个页进行写入。

与其他单位的换算 :1 页 = 256 字节。

6.扇区(Sector)

定义 :扇区是比页更大的存储单位,由多个页组成。在 W25Q64 和 W25Q128 中,每个扇区包含 16 个页,所以扇区的大小为 4KB(4×1024 字节,因为 1KB = 1024 字节)。

作用 :扇区是芯片进行擦除操作的基本单位。闪存芯片在写入新数据之前,需要先将相应的存储区域擦除,而擦除操作是以扇区为最小单位进行的。也就是说,即使只需要更新扇区内的一小部分数据,也需要擦除整个扇区。

与其他单位的换算 :1 扇区 = 16 页 = 4KB = 4×1024 字节。

7.块(Block)

定义 :块是存储芯片中更大的存储区域,由多个扇区组成。在 W25Q64 和 W25Q128 中,每个块包含 16 个扇区,因此块的大小为 64KB(64×1024 字节)。

作用 :块也用于擦除操作,当需要擦除较大范围的数据时,可以以块为单位进行操作。与扇区擦除相比,块擦除可以一次性清除更大的存储区域,但擦除时间可能会更长。

与其他单位的换算 :1 块 = 16 扇区 = 256 页 = 64KB = 64×1024 字节。

四、Flash芯片举例

W25Q64 是由 Winbond(华邦电子) 生产的一款 SPI NOR Flash 存储器。

W25Q64 容量为 64 兆比特(Megabit, Mbit),W25Q的"64"是Mbit ,换算后为 8 兆字节(MB),即 8×1024×1024 字节(Byte),选型的时候要注意的。包含 128 个块、2048 个扇区或 32768 个页。

W25Q128 容量

W25Q128 容量为 128 兆比特(Mbit),换算后为 16 兆字节(MB),即 16×1024×1024 字节(Byte),是 W25Q64 容量的两倍,因此它包含 256 个块、4096 个扇区或 65536 个页。

理解这些单位及其相互关系,对于在实际应用中正确操作 Flash至关重要,包括数据的写入、读取和擦除等操作。仅供参考,有任何问题,欢迎在评论区留言讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值