机械硬盘与固态硬盘数据存储的机制

(整期优先)网络出版时间:2023-12-11
/ 2

机械硬盘与固态硬盘数据存储的机制

周乾 王珅 张晓轩

(大庆炼化公司信息中心,黑龙江省大庆市马鞍山,163411)

摘要:本文对机械硬盘与固态硬盘的机构和存储机制进行了介绍对其从诞生到现在经历过许多阶段进行了描述,并针对两种硬盘的结构、性能、运行环境和数据存储机制等特点进行了对比分析。

关键词:机械硬盘;固态硬盘;数据存储

    自从计算机诞生的伊始硬盘就作为主要的存储设备扮演着不可或缺的角色。计算机处理器性能的好坏可能仅仅影响运算数据的速度,而存储器的性能则是保证各类运算数据正确保存的必要条件。计算机的大部分数据都存储在本地硬盘中,所以硬盘成为了计算机系统必不可少的组成部分。计算机硬盘从被研发诞生到现在经历过很多更替升级,向着体积小、速度快、大容量这三个方面发展。目前机械硬盘凭借性价比高、数据恢复简单和价格低廉等优点在市场上占领了较大的份额,但是近些年来随着电子技术的飞速发展,计算机硬盘的运行速度却提升的不尽人意,其根本原因便是在机械硬盘的读写速度提升较低。随着半导体技术的突飞猛进,1989年,东芝公司发表了NANDflash结构的存储芯片,是一种非易失存储介质(掉电后数据不会丢失),常见的U盘、TF卡和SD卡,以及大部分固态硬盘(固态硬盘)都是由它组成的,相比于机械硬盘的磁盘马达磁头架构而言是一种比较新的数据储存材料构成。

    机械硬盘其构成主要部件由:磁盘、液态转轴、电机、磁头、磁头控制器、主板、衔铁等几个部分。传统普通硬盘的磁头在高速运转的盘片上到达指定的位置对数据进行擦写操作。数据信息通过磁性的磁头,通过电磁改变盘片极性的方式将数据写到磁盘上,而进行数据读取时则由磁头将数据信息可以通过相反的方式读取为电信号,并由主板将其详细信息进行转换,编译成所需的数据信息传输至内存中去。机械硬盘其读写速度依赖于电机的转速,因为需要依靠电机带动盘片高速转动以便于磁头对指定位置的磁道进行读写,而磁头由磁头控制器调整,但是对于高速旋转的盘片,磁头的巡道时间优化已经很大程度从依赖由控制器调整位置变为高速马达提高寻找对应磁道的效率以降低平均寻道时间,所以,在当下对读写速度的高要求下机械硬盘的性能提高主要的方向就在于马达的转速,机械硬盘的转速是指硬盘转动的圆周速度,通常用每分钟转数(RPM)来表示。转速越高,硬盘的读写速度就越快。但同时,高转速也会导致硬盘发热和噪音增加。机械硬盘的转速可以分为5400RPM、7200RPM、10000RPM等不同档次。其中,常用的是5400RPM和7200RPM的硬盘,而10000转的通常用于服务器、工作站等高性能场合。不同转速的硬盘读写速度差别较大,但这并不意味着转速越高就越好,因为高转速会导致功耗、发热和噪音增加,降低整个硬盘系统的可靠性,而且价格也会相对较高。

    机械硬盘的存储原理,机械硬盘的盘片同心圆上面分割出一个一个的小区块,这些小区块整合成一个圆形,让磁头去存取这些扇区中的二进制数据。这就是磁盘的物理储存单位是扇区(sector),同一个同心圆的扇区组合成的圆就是磁道(track)。数据存储在整个磁盘中,当文件存储在硬盘驱动器上时,它会被分解成适合簇的碎片。扇区是可寻址存储器的最小单元。簇(custer)是一系列连续扇区组成的存储区域。簇的大小在主引导记录中定义,如本例中下图的磁盘映像数据黄色的位置是0x08即十进制8。这些簇和相关簇群都被赋予了地址,这是文件系统稍后可以访问它们的方式。元数据信息块中的MFT指的就是是主文件表。主文件表(MFT)记录的长度为1024字节,每条记录都拆分称为属性的子组件块。每个属性块都有一个特征性的字节码作为头部标识。每个块的大小将根据文件元数据生成的信息量而变化。主文件表第一个块是文件头,它以签名46494C45开头,它从十六进制翻译为人类可识别的“FILE”,第二个块是标准信息属性,用0x100x00表示。从0x100x00的0x00的块开头0x00分别偏移4个字节和5个字节处,分别有对应十六进制值的=0x60和0x00,表示该块的尺寸有多大,第三块是文件名属性。这由十六进制"0x300x00"表示。与标准信息属性一样,在字节偏移4和5处,这些位置的十六进制值揭示了该块的长度,主文件表记录的最后一个块是数据属性块,机械硬盘的文件信息主要就存储于主文件表中。

    固态硬盘(SolidStateDisk),也称其为固态硬盘,是用固态电子存储芯片阵列堆叠制成的数据存储设备,第一块固态硬盘于1989年问世。固态硬盘主体其本质就是一块电脑主板,而这块电脑主板上最基本的配件就是主控芯片、缓存芯片和用于存储数据的存储芯片。主控芯片是固态硬盘的神经中枢,相当于电脑的处理器,其作用在于一方面合理调配数据在各个闪存芯片上的负荷,另一方面承担了整个数据中转,连接闪存芯片和外部接口。主控芯片旁边是缓存芯片,缓存芯片辅助主控芯片进行数据处理。固态硬盘与机械硬盘在功能、规范和使用方式上完全相同,但是因固态硬盘为纯芯片构成,并没有机械硬盘的旋转马达部件和摆动的磁头部件,相较于机械硬盘固态硬盘的体积和重量要小很多。从固态硬盘存储颗粒的分类来看主要分为两种,一是选用NAND闪存芯片作为存储介质,基于闪存设计的固态硬盘:根据闪存的不同又分为NAND闪存和NOR闪存。由于NAND闪存存储密度大,改写速度快掉电数据不丢失等优点,因而在业界得到广泛应用。被制作成U盘、笔记本硬盘、数码产品的存储卡等存储设备。NAND闪存芯片的固态硬盘凭借着断电数据保存的特性,数据保护不受限于电源控制,更适合于个人用户在各种工况下使用。除了NAND闪存芯片的固态硬盘以外另一种固态硬盘是采用DRAM颗粒作为存储介质,此种固态硬盘的工作机制更加类似于电脑中的内存,因为其存储数据需要依赖外部电力,如果没有电源继续供电,其存储的数据都将不复存在,因而这种固态硬盘配备了可充电的电池,虽然其断电数据丢失的缺点成为其不可挽回的劣势,但是DRAM颗粒作为存储介质的固态硬盘相对于NAND闪存芯片的固态硬盘具备强大的读写性能和无与伦比的写入寿命,这两点虽然随着NAND闪存芯片的技术迭代已经不再遥遥领先,但是作为某些行业级的应用中DRAM颗粒的固态硬盘还是占据着一席之地。

    固态硬盘的信息由主控通过若干个通道并行操作多块闪存颗粒,类似RAID0模式传输,并联读写大大提高底层的带宽。主机通过LBA(逻辑地址块)访问固态硬盘,每个LBA代表着一个Sector,操作系统一般以4K为最小的存储单元,我们把主机访问固态硬盘的基本单元叫访问用户页。在固态硬盘内部,固态硬盘主控与闪存颗粒之间是闪存颗粒页作为基本单元访问闪存颗粒的,我们称闪存颗粒页为物理页。主机每写入一个文件,固态硬盘主控会找一个物理页把主机数据写入,固态硬盘内部同时记录了这样一条映射。有了这样一个映射关系后,下次主机需要读某个主机物理页时,固态硬盘就知道从闪存颗粒的哪个位置把数据读取上来。这张映射表就是固态硬盘存取数据的关键部分,主机每写入一个物理页,就会产生一个新的映射关系,这个映射关系会加入(第一次写)或者更改(覆盖写)映射表。当读取某个物理页时,固态硬盘首先查找映射表中该物理页对应的颗粒,然后再访问闪存颗粒读取相应的LBA数据。由于闪存芯片不能覆盖写,固态硬盘内部必须寻找一个没有写过的位置写入新的数据,这个时候新的映射关系建立而之前的映射关系解除,原位置上的数据变老失效,我们把这些数据叫垃圾数据。随着主机数据的持续写入,闪存颗粒存储空间慢慢变小,直到耗尽。如果不及时清除这些垃圾数据,主机就无法写入。固态硬盘内部都有垃圾回收机制,它的基本原理是把几个块中的有效数据集中搬到一个新的连续的块上面去,然后再把之前的那几个擦除掉,这样就产生新的可用的连续块。