什么是闪存?
闪存是可通过电擦写和重编程的非挥发性计算机存储器。闪存技术主要应用在计算机和其他数字设备间传输数据的存储卡和USB盘上。它是一种可用大块擦写和重编程技术访问的特殊类型的EEPROM(Electrically Erasable Programmable Read-Only Memory)。早期的闪存产品一次必须擦除整个芯片区域。闪存的成本已经远远低于可按字节变成的EEPROM,当大量的非挥发性存储需求来临的时候闪存技术明显成为了主流。
闪存不需要电源维持芯片内保存的数据。另外闪存相比硬盘有数倍的访问速度并且更抗震动。它可以经受很大的压力,极端的温度,甚至可以浸泡在水中仍然保持可用。
什么是NAND?
1989年发明了NAND技术。这种存储更新硬盘或者存储卡那样的块访问设备。每块包括几页,典型的页大小是512,2024或者4096字节。每页有又很少的几个字节(典型是12-16个字节)自己用来存储错误、校验信息。编程变成可以在页级操作,而擦写智能在块级操作。另外有个限制是NAND闪存块里的数据只能顺序写入。这个操作的次数是扇区能被编程次数的几倍。MLC(Multi Level Cell)闪存是1倍,而SLC(Single Level Cell)的闪存是4倍。
NAND设备都需要一个独立的芯片来进行坏块管理。例如SD卡包括执行坏块和磨损水平管理的控制电路。
SLC和MLC型NAND闪存
MLC NAND闪存运行每个存储区存储2bit信息,而SLC NAND删除每个存储器智能存1bit,因此MLC型可以获得大容量和低成本的存储设备。理论上MLC的容量是SLC的两倍。MLC技术目前主要应用在价格敏感的消费产品例如手机和存储卡。
今天市场上大多数都是MLC型NAND闪存,并且随着用户的需求增长快速的增长。尽管MLC可以提供更大容量的更低花费的存储,但是相比SLC型它知识只提供了更低的读写速度,并且降低了擦写次数。
并且因为每个区存储了2bit信息,它出现bit错误的概率比SLC高了不少。不过通过错误检测和纠错编码(EDC)可以一定程度上解决。目前被系统设计人员常使用的是汉明码(存储子系统应用多)和里德所罗门码(硬盘和光盘应用多)。
译者注:
汉明码
http://en.wikipedia.org/wiki/Hamming_code里德所罗门码
http://en.wikipedia.org/wiki/Reed–Solomon_error_correction
SLC型闪存每块包括1bit校验纠错码(ECC)的可以擦写100,000次。有ECC的MLC型闪存只能擦写10,000次。但MLC存储没有指定ECC级别,一般推荐使用4-bit ECC。显然SLC设备的耐久力比MLC设备的大10倍。
下面这张表显示了SLC和MLC的优缺点:
为什么使用固态盘技术?
基于SSD技术的闪存最大的优势是反应时间。一块闪存在写前必须被擦除,这个每块需要花1-2ms。写一个被擦除后的闪存需要200-300us。大多数基于的SSD技术的闪存会维护一个擦除数据池,所以它写操作的反应时间只是编程操作的时间。读操作更快,读取4k数据只需要20-30us。基于的SSD技术的闪存内部采用DRAM存储提高读写速度。它采用电容保证电源丢失的情况下存储数据的不丢失。而电容不需要维护。
文章评论(0条评论)
登录后参与讨论