tl; dr,如果 在硬盘上发生URE,我会丢失1bit,1Byte或扇区大小(512Bytes或4096 Bytes AF)吗?并尽可能解释为什么?
背景: 当硬盘读取数据时出现问题。当然,磁盘可能会完全失败,并丢失所有数据(磁盘失败),但是我在这里询问的情况是,磁盘中只有一小部分丢失了(URE,不可纠正的读取错误)。
尽管我一直在寻找有关URE的信息,但我发现的确很少。这可能是由于驱动器内部发生的事情(即,直接用户交互(如ECCs校正)所隐藏的东西)对我来说很难与我作为用户访问的内容(扇区)相关。
让我们想象一下,硬盘在读取数据时遇到问题。
在那种情况下,这肯定意味着:
- (a)无法读取该扇区的某些位,或
- (b)可以读取所有位,但它们未通过校验和测试(当然,预期一个扇区4096字节的麻烦不仅是8 * 4096位,还包括一些用于错误检查/纠正的其他位/字节(即奇偶校验位) ) (C) ????
我不相信,当我们处于(a)和(b)的组合出现而无法可靠地重构4096个扇区的字节的情况下,那么过分地假设必然所有这些都是乱码,实际上,如果我们知道内部hdd纠错逻辑,我们可能会说“看起来有些东西没有检出,并且经过良好的更改,至少1,2,3,n位/字节的块数据是”错误的” ”。如果我们在此扇区中多余地保存了“ hello,hello .....,hello” ASCII字节字符串,那么在出现“ ...”之前,实际上我们可能仍然会继承“ hello,hello ....”。 Uellohello ...”(即“ e”->“ U”)。
那么,URE的粒度是多少?
更新:有评论输入了坏扇区的想法(并暗示这反映了URE事件的粒度。建议它并不荒谬,可以用来回答问题。但是我刚刚读了另一篇相关文章问有关待处理的不可读扇区的问题(在这里/unix/1869/how-do-i-make-my-disk-unmap-pending-unread-sectors),这使我认为在某些情况下在URE的情况下,数据丢失之间确实存在更加模糊的界限。