MCPLive > 杂志文章 > 揭开固态硬盘不为人知的另一面

揭开固态硬盘不为人知的另一面

2009-03-06祖仁全 洪沙《微型计算机》2009年2月下

◆写入数据块的大小

无论是SSD还是HDD,在进行文件管理时并不是直接由操作系统管理每一个数据存储位置;而是控制IC将若干个空间看成一个数据簇,对于操作系统来说小的数据单位就是一个簇。以我们常用的HDD为例,在NTFS文件分区模式下,一个数据簇的大小为4KB或者8KB。也就是说,哪怕一个文件只含有1个字节它也要占用4KB的存储空间;且这种数据管理方式具有唯一性,一旦某个数据簇被使用,其它文件就无权再调用该数据簇。对于HDD来说,因为每个磁碟面只有一个读写磁头,即便这种簇管理方式会浪费一些空间,也不会造成太大的影响,况且每个簇也不会有读写次数的限制。


多通道技术实际上是在不同的颗粒之间展开的,我们可以形象地将其理解为一种“RAID 0”技术

对于SSD产品来说,情况就不一样了,因为NAND Flash的管理方式是按照“页(Page)”和“块(Block)”来管理的。每个Page的数据实际上就是一个数据簇,一般4KB或者8KB,这样在存储大量小文件时会造成比较严重的浪费;而且多通道数据技术大大增加了这种浪费的几率。例如对于一个16KB大小的文件来说,正常情况下只需要占用4个4KB的数据块即可:但在引入了8通道数据存储技术之后,控制IC会将文件分成8份进行存储,也就是占用8个Page。这种情况不仅会造成一定的浪费,而且进一步加剧了数据块的写入频率,对于SSD产品的寿命来说是非常不利的。

Tips:NAND颗粒的读写操作

NAND型Flash颗粒的基本存储单元叫做Cell,如下图所示。通过在栅极的绝缘层中注入或者释放电子来达到存储数据的目的。所以NAND Flash的操作分为三种,注入电子叫做“Erase”、释放电子叫做“Program”、读取电子叫做“Read”。

由于Cell的充电和放电都需要借助高压来完成,所以会对Gate Oxide(栅极)造成损耗,因此
NAND FLASH是有Program/Erase的周期数限制的,对于SLC颗粒这个次数为8~10万次,MLC颗粒为2~3万次。

Program操作只能将电子释放,即写入0;写入0之后就不能再通过Program写入1,写入1只能通过Erase来实现。

让操作系统每次寻址精确到一个Cell将会带来复杂的地址线,让大容量变得遥不可及;所以工程师们使用了一种“串串烧”的方式将若干个Cell串接起来,一个串称为一个“Page(页面)”,然后将多个Page做成一个集合用一个栅极进行充电,则成为“Block(块)”。当前多数NAND Flash结构多为4KB组成一个Page,而64或者128个Page组成一个Block。Page是读取和写入的基本单位,而Block则是Erase操作的小单位。


NAND Flash中的页面组织方式

由于NAND FLASH的结构组织中,Block的size比较大(256KB或者512KB),而Block又是
Erase的基本单位,所以要对Block内的任何数据进行改写,必须先将不需要改写的旧数据读出,对整个Block进行擦除,然后再将新旧组合的数据写入。

分享到:

用户评论

共有评论(5)

  • 2011.11.09 10:21
    5楼

    其实我对于IOPS的概念还是不太清楚,不过我有段时间用机械硬盘时,打开Dashboard的时候需要十几秒,而用SSD的时候只要2秒。明明后者持续读取速度只有前者的4倍,这种提升是否是IOPS性能差距带来的呢?

    (0) (0) 回复
  • 2009.03.28 12:28
    4楼

    不看好这技术。倒看好另一种储存技术

    (0) (0) 回复
  • 2009.03.18 15:26
    3楼

    二楼的,性能过剩?现在硬盘的速度远远低于内存的速度,已经成为整机性能的瓶颈,当硬盘的速度和内存接近的时候再说硬盘性能过剩还不迟

    (1) (0) 回复
  • 2009.03.18 03:05
    2楼

    现在的硬盘,对绝大多数人来说都是性能过剩的情况下,SSD这种看上去就有疤嘞的烂苹果,真的有多少人肯花大价钱买回来呢?(你要是个显示器、鼠标、机箱什么的呢,还能够摆摆样子装装酷,偶总不能把个SSD硬盘挂在外面显摆吧)

    (0) (1) 回复
  • 2009.03.06 16:29
    1楼

    主要的是寿命,价格,其他的不是问题,看介绍寿命应该在15年以上,绝对够用了,剩下的就是价格了,哈哈!!等吧

    (0) (0) 回复

用户名:

密码: