» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

ssd和hdd的寿命比较,哪个命更长?

nand flash这玩意儿实在太不靠谱了,不仅坏块率高,而且受外界干扰还会随机发生位反转。坏块在读和写过程中都可能发生,写入时发现写入失败标记为坏块还没什么损失,读取时通过ECC校验发现坏块时就已经迟了,一个block的数据完蛋

寿命方面,写入前必须先擦除,哪怕只写一个byte就要擦一整个block,block大小是以Kbyte记的,虽然文件系统会有优化,但是官方的擦写次数寿命在实际应用中仍然要大打折扣。

与SSD相比,HDD可以说是没有寿命的概念的


TOP

引用:
原帖由 AndMe 于 2010-4-14 00:04 发表

现在又trim,老块标记删除,写入新块,就是来循环应用的
这个不新鲜,使用专门针对nand flash的文件系统本来就已经有足够好的优化了,trim是对那些针对HDD设计的常规文件系统的硬件层的优化



TOP

引用:
原帖由 dizhang 于 2010-4-14 00:01 发表
x25-e的寿命官方说是以最大写入速度170MB/s不停地写3年都不会坏,不过这个是slc的,mlc的x25-m和x25-v就难说了。
实际使用时,不会是连续的块写入,哪怕一个byte的写入都会导致整个block的擦除。nand flash使用负载均衡的算法,使得每一个块都能均匀的承受写入次数。这也就意味着:
1 整个SSD寿命和其容量成正比
2 寿命大限到达时,坏块率会突然爆发,因为每个块都均匀承受着擦写的负载,所以它们的大寿也会一同到达
3 在整个使用过程中,仍然不能避免个别块在寿命未到时报销造成数据损失。当读取时数据和OOB区的ECC码不符时,即为坏块或临时的位反转,位反转可以通过重新读取修复,而如果是真坏块则数据无法恢复

[ 本帖最后由 henvelleng 于 2010-4-14 00:51 编辑 ]


TOP

28楼翻译的看不懂啊……

读写是按页的,擦除只能以块为单位,当整个块中的任何一页有一个bit损坏,那么整个块就标记为坏块作废

写入时发现写入错误就直接把所在的坏块标记了,永远不再使用这些坏块,然后再把数据写入非坏块里,所以不会丢失数据。只有在读取时发现坏块才会造成数据丢失

读取时按页读取,并将读取的数据进行ECC校验,将结果与OOB区的ECC码(写入时进行ECC校验,将ECC码存放在OOB中以供之后读取时校验)对比,如果不吻合,就是有坏bit或位反转,位反转不是问题。当整个页中只坏了1个bit,那么ECC校验算法可以算出是哪个bit出错,进行纠正(反正不是0就是1),这样仍然不会造成数据丢失,但是当一个页中出现2个以上包括2个bit的损坏,你就哭吧,这属于uncorrectable error,ECC救不了你了。如果一个页出现3个以上bit的错误,那么ECC校验就连检测出错误都不能保证了:D

官方给出的寿命数据是以爆发性出现坏块的时候作为寿命终结的(因为负载均衡的关系,所有块的寿命是一起到的),使用过程中出现的零星坏块属于正常现象,其实出厂时就有很多坏块(这个倒和HDD是一样),这种零星坏块对使用者来说也是感觉不到的

综上所述,造成数据丢失只有一种情况:在读取时发现ECC错误,并且一个页里存在有2个bit以上的错误。可能厂家实测后认为发生这种情况的概率比较小吧

TOP

引用:
原帖由 KONAMIX 于 2010-6-5 15:30 发表


http://blog.sina.com.cn/s/blog_56b3ca3c0100iimf.html
1 intel的这个ssd控制器就是个硬件NFTL,在nand flash和传统文件系统之间做个桥梁,进行一些nand flash必须的优化(如果将nand flash粗暴地当成hdd来读写后果将不堪设想),在NFTL之上,无论你用什么文件系统都能对nand flash做优化。由于之前的硬件NFTL优化太糟糕,所以intel吹起数据来纵深很大,对比空间大。但是实际上,这些优化仍然是远远不够的

2 在非windows领域,以及非U盘ssd等使用领域,直接使用nand flash芯片作为存储介质的情况下(也就是没有硬件NFTL),通常都是采用nand flash专用文件系统的,这些文件系统对nand flash的读写优化是很不错的。以前最常用的是yaffs,现在ubifs渐渐流行,主要是yaffs的作者始终没有把patch提交给kernel组织,现在的yaffs代码已经有几年没有维护了,所以nokia和ibm发起的ubi架构渐渐主流,但是他们一开始就承诺的NFTL(注意NFTL是纯软件实现的,上面说的所谓硬件NFTL不过是自创说法而已)却一直没有兑现,甚至还拒绝了别人提交的基于ubi的NFTL,只是给了个基于ubi的ubifs。当然除了ubi及其ubifs之外,我们还有nilfs以及最新的btrfs作为选择。也就是说对于nand flash的优化,在非windows领域,我们已有足够多的选择,ssd控制器只不过是最底层的一层优化,在OS层我们有N多细致的优化,哪怕windows也有个过渡的exfat

3 无论如何优化,我23楼的那3条都是成立的
本帖最近评分记录
  • KONAMIX 激骚 +8 我看懂了,谢谢你。 2010-6-6 12:14

TOP

如果遵循FHS,我们就能很容易地区分出那些会频繁写入的目录(部分国产软件毫无FHS概念,甚至程序员连权限的问题都没搞清楚,如永中),然后把这些目录用tmpfs挂载,让这些写入操作在内存中完成,事实上我们N多年来一直就是这么做的。可惜windows不仅完全不遵循FHS,而且自己设计的目录规则烂得一B,连分区都还混在目录结构里,使得设置ramdisk时很迷茫,LS听天由命吧

TOP

发新话题
     
官方公众号及微博