大家都知道Flash是用于存储数据的存储器,但很多读者看到页(Page)、扇区(Sector)、块(Block)等这些单位时一脸懵逼,这到底是什么,有什么区别?
下面就来讲讲关于Flash内部结构组织以及相关的内容。
页、扇区、块的描述
1.页(Page)
注:不同厂家的、不同类型存储器的页大小不同,1KB、2KB、4KB等各种容量的页大小都有。
2.扇区(Sector)
3.块(Block)
块,比扇区更高一个等级,一般1块包含多个扇区。
同样,以上图W25Q256芯片为例:1块包含16个扇区。
4.额外说明
不同厂家的、不同类型存储器的划分方式不同,有的以页为最小单元,有的以扇区为最小单元,但大部分都以扇区为最小单元。
还有,你可能会看到一些其他的名词,比如:和扇区一个级别的SubSector,和块一个级别的Bank、Bulk等。
它们的区别
其实,从上面的描述,大家应该看出来它们的区别了。
用包含关系来描述Flash物理分区的话:芯片包含多个块,块又包含多个扇区,扇区又包含多个页,页包含多个字节。
根据容量大小来说,它们的关系:
页(Page)< 扇区(Sector) < 块(Block)< 芯片(Chip)
Flash芯片就像一列火车,块(Block)就像一节车厢,车厢里的每排座位就像一个扇区(Sector)。
文件系统中的扇区、块
上面描述的Flash存储器物理地址的划分,为了方便管理,编程读写操作Flash时引入了文件系统。
文件系统的种类很多,比如:FAT、FAT32、exFAT 、 Ext3、 NFS、 NTFS等。不同文件系统,底层对存储地址的划分可能不同。
在MCU这类嵌入式系统中,页、扇区是最小的物理存储单元,但在Windows、Linux这类系统中,这么小的存储单元已经不能满足要求了(不能对众多扇区寻址),于是就会以块作为最小的寻址单元。
在Windows环境下,块是另外一种称呼,叫簇,可以理解一群、一组(扇区)。
—— The End ——