Flash的寿命问题

来源:百度文库 编辑:神马文学网 时间:2024/04/27 21:52:18
  于 2008-7-22 11:08  信息  悄悄话  加为好友   引用 回复  报告 送花 只看该作者 【原创】总有人因为Flash的寿命问题担心SSD... 说一下

"你理解错了。我在乎的是使用寿命。MLC 只能擦写 10000 次左右,是 SLC 的十分之一。 "

刚刚看到某人关于SSD的回帖的内容, 这样的担心很普遍, 不得不说这是白担心了.

NAND Flash要用起来是一定要在控制芯片做Wear Leveling的, Wear Leveling就是提供一个块映射机制, 把写入损耗分散在不同的块上, 不会说某个块总被写先挂了, 整个盘就报废了, 而在预期寿命前就失效的块, 会有一些保留块来替代, 这个方法使得整个设备的寿命跟Flash的最大寿命在同一量级.

那么以这篇帖子里的数据做个简单的计算, 以93MB/s的写入速度, 把32GB的容量写1w次, 需要的时间是32x1000x10000/93 = 3440860秒 = 40天, 注意这里是全天候不停写入的情况, 实际应用中写入负荷恐不及千分之一, 用个几十年没问题.

这里有一个来自eeepc用户的类似计算:
http://wiki.eeeuser.com/ssd_write_limit

另外MLC的寿命只有10000次? 来源请求, 我看到说MLC NAND寿命跟SLC NAND寿命应该是相当的, 都在10w次量级, 只有SLC NOR寿命比较长一些, NOR Flash平常接触不到, 也没有厂商会用NOR来做SSD
http://en.wikipedia.org/wiki/NAND_flash#Endurance

而相反, 温氏硬盘是没有这种机制的, 有坏道出现, 这个硬盘就挂了, 硬盘的寿命取决于寿命最短的那个扇区. 在一些SCSI/SAS硬盘上也有些备用扇区, 但是因为温氏硬盘的低寻道速度, 这个特性对性能影响非常大.

   确切的说,MLS的确寿命只有SLC的十分之一,这是制作工艺造就的,要么怎么会MLS的价格比SLC便宜那么多呢。
不过就算是MLS的1W次,配合wear leveling,也是足够了的。

 

1.MLC因为要记录多byte的数据所以精度要求高所以寿命短这是肯定的...不可能和SLC同一量级...除非SLC的工艺质量和用料差很多(我想不会有厂商这么做吧)...

2.就算有Wear Leveling,那请问page file怎么办? 硬件有权不停的变更这个文件的位置么?windows能不无时无刻不断读写它么?



QUOTE:Posted by nicolasl on 2008-7-22 11:44
1.MLC因为要记录多byte的数据所以精度要求高所以寿命短这是肯定的...不可能和SLC同一量级...除非SLC的工艺质量和用料差很多(我想不会有厂商这么做吧)...

2.就算有Wear Leveling,那请问page file怎么办? 硬件 ...
1, 具体恐怕没你想当然的那么简单, 至少我看datasheet, 没有提到MLC循环一万次的说法

2, 我想你没有懂Wear Leveling的含义, 系统就算一直写page file, 它每次会写到不同的物理盘块上, 而且page file跟我上面计算时的"全天候不停写入"有巨大的差别...  LZ的计算只是理想状态,所有的block都用来做wear leveling,但在正常使用的时候,以vista为例,一个系统盘,使用一段时间后,就会占用20G,这样32G的SSD,也就只剩12G的空间来做wear leveling了,这个还没有计算其他文件占用空间的情况.所以目前SSD的写入寿命应该还是需要考虑的   于 2008-7-22 12:55  信息  悄悄话  加为好友   引用 回复  报告 送花 只看该作者

QUOTE: Posted by JimmyZ on 2008-7-22 12:17


1, 具体恐怕没你想当然的那么简单, 至少我看datasheet, 没有提到MLC循环一万次的说法

2, 我想你没有懂Wear Leveling的含义, 系统就算一直写page file, 它每次会写到不同的物理盘块上, 而且page file跟我 ...
1.我只是说MLC寿命较SLC短不少...至于1万次一直都是你在提到...我也没有评论过其是非...

2.和包括系统文件在内的所有其它文件不同的是...page file作为一个大小相对固定...一直处于打开状态的"文件"...一旦swapon之后硬件应该是不能变更它的位置的...

因为系统从启动后fopen它...到最后fclose它...它都必然处于固定的区块(不能想象一个文件正被打开时还去移动它,而且是被内核打开的)...而且下一次启动后系统又会从同一个位置fopen(因为MFT里记录的位置没有变)...因此就算在close这个file后到断电还有一点时间以及在刚启动后fopen前有一点时间...SSD也不能去改变它的位置...

那么Wear Leveling在什么时候对它发挥作用呢?
 您没有明白wear leveling的机制, 你说的第二个问题是站在文件系统角度看的,的确从文件系统角度看,pagefile的位置没有改变,但SSD在每次写入数据的时候,会进行一个扇区或者(page/block)的映射,并不是写入相同的位置,这样可以减少对固定page/block的写入次数  现在业界关心的是在某些重写负荷环境下的寿命问题, 比如logd, 这种环境下会用另一种SSD, 基于RAM的, 技嘉那个i-RAM就是从这种东西下放来的, 没有写寿命问题.

平常应用实在不用考虑这个, 实在心里不舒服, 可以考虑一些措施, 比如用大内存, 关掉page file, 把temp重定向到RAMDISK, 这个对SSD低下的小文件写入性能也有好处.
solid state是指无机械运转部件... i-RAM当然是SSD的一种, 只不过现在推的都是基于Flash的产品, 服务器上用的基于DRAM的SSD早就不是新鲜事儿了, 你可以看看这个:
http://en.wikipedia.org/wiki/Solid-state_drive

大和设计局说过这样的话? 来源请求, 倒是看到tpuser站长说过这样的话, 不是大和设计局
贴个今天看到的RAM-based SSD新闻

http://www.engadget.com/2008/07/ ... teringly-fast-rams/
先来个SLC的10W次的来由,官方datasheet截图。


附件 :
SLC.jpg (157.95 KB)  2008-7-24 12:54
  SLC
再上一张MLC的nand flash的datasheet截图。


附件 :
MLC.jpg (156.02 KB)  2008-7-24 13:02
  MLC