当硬盘驱动器向光盘写入数据时,如果之前已知某个扇区是好的,它如何知道写入时该扇区是否是坏的?据我所知,它不会读回已写入的数据,只是将其放下,对吗?
它是否只是收到磁场强度不够的反馈?还是只有在该扇区的下一次读取过程中才会检测到?
答案1
当硬盘驱动器正在写入光盘时,如果之前已知某个扇区是好的,那么它如何知道写入时该扇区是否是坏的?
不是。HDD
写入操作是在没有任何反馈的情况下执行的。扇区数据(及其 ECC)是否真正正确写入只能通过等待盘片旋转一圈,然后执行该扇区/LBA 的读取操作来验证。
坏块/扇区只能在读取时检测,写入时无法检测。写入时的唯一错误是找不到扇区/LBA。找到正确的扇区后,写入操作将盲目开始。没有“磁场强度“。当 R/W 头忙于写入模式时,它无法执行读取操作。
据我所知,它不会读回已写入的数据,它只是将其放下,对吗?
正确,对于传统 HDD 及其典型操作而言。
如果要执行并发读取操作,则需要远离写入头的额外读取头,以免受到影响。这要么需要增加 R/W 头组件的尺寸、重量和几何形状,要么需要另一个单独的读取头组件。这两种解决方案都意味着成本和复杂性增加,同时降低整体可靠性。
在传统 HDD 上执行“先写后读”以验证写入操作的实时成本是等待盘片旋转一圈的时间。与 HDD 写入的可靠性相比,这种延迟通常被认为是不可接受的性能降低。总体而言,数据丢失的原因很可能是其他形式的驱动器故障。
或者只有在下次读取该扇区的过程中才会被检测到?
坏块/扇区的典型定义是读取时有不可纠正错误的块。位错误的原因(例如磁头飞得太高、表面磨损或损坏)无关紧要(即使可以确定)。
文件系统或嵌入式控制器可能会应用其他标准(例如后续写入仍然无法产生可纠正的读取)以避免标记一次性故障。
读取时有可纠正错误的块仍然被认为是好的。
可以纠正的最大位数(在读取块中)是所采用的 ECC、错误(检测和)纠正码的固有属性。