暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于SSD的学习笔记

原创 eygle 2011-04-01
1130
时至今日,SSD(Solid State Disk或Solid State Drive)的讨论越加广泛,在数据库中的应用尝试也日渐增加,以下是我对于SSD从头开始的一些学习笔记。

MLC与SLC的区别

  目前SSD硬盘使用两种形式的NAND闪存:单级单元(SLC)和多级单元(MLC)。两者之间的差别是每单元存储的数据量,SLC每单元存储1比特而MLC每单元存储2比特。关键在于,SLC和MLC占据了相同大小的芯片面积。因此,在同样的单位面积下,MLC可以有两倍容量的效果。

 
 英特尔的SLC和MLC闪存实际上使用了相同的晶体管,不同之处在于怎样读/写这两个闪存。SLC只有两个电压符,因为它只有两个状态(0或1)。
MLC却有四个状态(00,01,10
,11),因此需要花费较长的时间来访问。

 
 SLC和MLC的擦除性能是一样的,MLC闪存的读取性能需花费两倍长的时间,写入性能需花费四倍长的时间。SLC的最大优势不在于它的性能好而在于它的使用寿命长。

写入与删除

     Page是可编程(写入)操作NAND闪存装置的最小单位,大部分MLC NAND闪存的每一page是4KB。一个block是由许多page组成的,在英特尔的MLC SSD中一个block包含128
pages(128 pages x 4KB/page = 512KB/block = 0.5MB,Block是可以擦除的最小单元。

  因此,当我们写入SSD时,一次可写入4KB数据;但是当需要从SSD擦除数据时,一次需要删除512KB。 此外需要注意的是,因为SSD没有擦除block这个概念,唯一擦除block的时候就是写入新数据的时候。如果删除一个文件而没有创建新的文件,SSD实际上并没有从闪存中移走这个数据,只是将其标记为删除,当下次写入时,执行覆盖改写。

损坏

 
 无论何时将数据写入闪存,我们都会反复经历同样的编程过程:创建一个电场,电子穿过氧化物并储存电荷。擦除数据会导致同样的事情发生,但却向着相反的
方向。问题是电子穿过氧化物的次数越多,就会变的越弱,最终将电压也不能再阻止电子的自由活动了。这时候,SSD的这个单元就发生故障了。

  大约经过一万次擦除/编程周期后,MLC闪存才会最终出现那个问题。而SLC可使用十万次,这得益于它的简单设计。

  由于寿命有限,所以SSD必须非常小心地选择擦除/编程每个单元的时间和方式。请注意,你可以从一个单元里读取数据,多少次都行,这并不减少单元存储数据的能力。只有擦除/编程周期才会降低了寿命。

 



1.SSD的原理
在最早Intel X25-M SSD的原理文章中,展示了如下一副原理图:

参考链接:
www.anandtech.com/show/2614
http://www.storagesearch.com/siliconsys-art1.html


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论