10# pas_dts
解压缩的时候硬盘的确是瓶颈,但是你敢吧rar这种带hash的文件保存在ssd上?
只要一个bit出了问题,整个文件可就彻底废了。
xbill 发表于 2009-3-5 00:18
12# itany
不带hash的东西有一点数据出错了还能打得开,而且错在关键位置上的概率也不高。
带hash的东西只要错了一个bit,hash就过不去,整个文件就废了,没有任何办法。
数字签名,完整性检查在文件中越来越普 ...
xbill 发表于 2009-3-5 00:31
12# itany
不带hash的东西有一点数据出错了还能打得开,而且错在关键位置上的概率也不高。
带hash的东西只要错了一个bit,hash就过不去,整个文件就废了,没有任何办法。
数字签名,完整性检查在文件中越来越普 ...
xbill 发表于 2009-3-5 00:31

19# itany
纠错机制是要有代价的,如果光是想知道错了,加一个parity bit就可以,问题是你不知道正确的是什么。
想要纠正单独一个byte里面一个bit的错误,就需要4个bit的额外数据(虽然2的三次方已经是8了,但是 ...
xbill 发表于 2009-3-5 00:50
19# itany
纠错机制是要有代价的,如果光是想知道错了,加一个parity bit就可以,问题是你不知道正确的是什么。
想要纠正单独一个byte里面一个bit的错误,就需要4个bit的额外数据(虽然2的三次方已经是8了,但是 ...
xbill 发表于 2009-3-5 00:50
19# itany
纠错机制是要有代价的,如果光是想知道错了,加一个parity bit就可以,问题是你不知道正确的是什么。
想要纠正单独一个byte里面一个bit的错误,就需要4个bit的额外数据(虽然2的三次方已经是8了,但是 ...
xbill 发表于 2009-3-5 00:50
51# boris_lee
你的记忆力实在是有问题,从软盘时代过来的是zip,的确坏一点点可以恢复,以前flashget就可以,原因是因为MD5 Hash早就被破解了,而且算起来很快。
现在基于SHA系列Hash的数字签名和完整性检查, ...
xbill 发表于 2009-3-6 21:03
68# boris_lee
rar最早什么时候发表我一点都不关心。因为它跟这个主题没有关系。
就趁着午休给你科普一下hash吧。
首先你要明白什么样的错误是软件能够修复的
一些下载软件可以修复zip的前提是各层的网 ...
xbill 发表于 2009-3-7 01:08
68# boris_lee
rar最早什么时候发表我一点都不关心。因为它跟这个主题没有关系。
就趁着午休给你科普一下hash吧。
首先你要明白什么样的错误是软件能够修复的
一些下载软件可以修复zip的前提是各层的网 ...
xbill 发表于 2009-3-7 01:08
65# jstrend
纠正统一区段多个错误有什么新鲜的,hamming活着的时候自己就提出过。我上面说的话是为了说明纠错机制不是像某些人想的什么错简简单单就能纠正过来。是给不懂的人普及知识的。既然来了个明白的,就换一种方式说话吧。
任何纠错机制有效的前提是错误率要合理的低。硬盘的ECC之所以是有效的,是因为硬盘本身的硬件错误率已经低到了完全可以用一个简单Sector coding控制的程度。
Flash的错误率没有你想象中那么高,而且完全可以根据厂家数据计算出来每个page位反转发生的概率是多少,然后决定用多少bit ecc
如果对保存时间有要求的话,还要再增加ecc位数
至于你那个前提。。。考虑下光盘吧,光盘远远不如flash可靠,没有ECC,大家看得恐怕都是有 码 动作片了{lol:]
SSD可就不是了。对于平均只要擦写1万次就会报废的MLC和10万次就会报废的SLC存储单元而言,512+16是安全的?不要忘了硬盘操作的单元是什么,是sector,在任何正常的系统中,同一个sector都是一起被读取和擦写的,就算每个bit被擦写的次数会有不同,每个bit的寿命也不同,但是这个机制导致的结果就是当一个sector开始出现问题的时候,很可能这个问题不是仅仅一个bit,而且从这个时刻开始,因为这个sector中大多数的单元都临近平均寿命,在近期损坏的概率就会骤然提高。
字太多懒得打了,自己去看坏块管理
简而言之,就是要么不错,要错就错的一塌糊涂。对于一个大多数单元临近寿命的sector,512+16够吗?恐怕再擦写个千把次,512+512都不够。
你在最后说如果ssd有这个问题,其他flash memory也有。很遗憾,这也是不对的。flashmemory在ssd出现之前,是主要用于频繁反复擦写的环境吗?比如手机里的ssd卡,首先,写入操作就非常非常之不频繁,而且写入的都是需要持久保存的数据,也就是说,同一个单元被擦写的概率非常的低。
拜托,我说的是基于flash的存储设备,不是flash memory。任何用flash memory组成的存储都会存在一样的问题。
也许你的sd卡写的不频繁,但对于做卡的人来讲,他是不能有这个前提的,你可以去试下正牌大厂的卡,看看持续读写一个扇区多久后会挂
不管对于哪种flash存储,只要是有正常逻辑的rd安正常思路设计出来的,每个单元被擦写的频率确实不高,而且存储容量越大,概率越低,为什么,自己去看平衡算法
就比如一个16G的数码相机用闪存,假设使用十年的时间,每天都拍16G照片(条件都够极端了吧?),每天清空一次,那么整整10年,平均每个记忆单元被擦写的次数也不过是3650次左右(因为删除不是真的擦写,所以只有存储文件结构的部分会高于这个数字,不过文件结构一般都是重复保存的,一个坏了还有备份,无法读取的时候直接将该sector添加到坏扇区列表中不再使用就可以了),才是一般MLC存储单元平均寿命的三分之一。而情况显而易见,有几个闪存卡会使用10年,还一直这么高强度?所以在这种设备上使用flash memeory当然是合理的,一般的纠错机制当然是绰绰有余的。flashmemroy的最初形式就是为了bios这种一辈子擦写几次的东西而研发出来的。
很好的例子,自己换成SSD和硬盘的容量算算看,看看各自能撑多久
eeprom 和flash的差别!最近几年spi flash才开始替代eeprom存bios
ssd就不同了,上面的帖子我已经说了,在最理想的情况下,写废一个mlc单元只需要1秒时间。而硬盘偏偏就是一个就要被频繁读写的设备。跟存储卡有可比性吗?
开玩笑吧,你去拿片mlc的试试,看看能不能在你那种理想情况下花1秒写废一个单元,顺便再看看把所有单元都写坏要花多久,千万别拿slc和nor试哦
自己去估算下,你硬盘上每天才多少数据别更新,占整个容量的多少比例,即便是100%更新,你觉得hdd能撑多久
都是基于flash的存储,一样应用了坏块管理和平衡算法,怎么没有可比性:rolleyes:
xbill 发表于 2009-3-7 01:43
71# itany
你到底想说什么呢?你说的跟我说的有任何矛盾吗?不管硬盘怎么分,到今天为止,硬盘最小的读写单位是不是扇区?不知道哪个厂商的硬盘,或者哪个操作系统是直接对硬盘上的字节或者比特读写的,您给介绍介绍?
复写当然不是必须写到同一个位置了,这个是理论常识,前提是性能不考虑。当你改写一个文件所占存储区域的一个sector,难道不写到原来的位置?莫非制造磁盘碎片是编写控制器程序的主旨?就连内存操作都要考虑到存储数据的连续性,硬盘倒可以免了,真是新奇的理论。无论是内存还是硬盘,重复改写同一个位置都是正常操作中出现频率极高的操作,这种东西都需要讨论吗?
硬盘在正常使用中不同部分使用强度当然不一样,但是必然有一些区域,使用强度要远远超过平均水平。出于效率和设计的方便,这些都是不可避免的。区别就在于,ssd这么做会迅速的坏掉,普通硬盘则不会。
| 欢迎光临 POPPUR爱换 (https://we.poppur.com/) | Powered by Discuz! X3.4 |