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