朋友们,大家好!如今我们经常遇到现代的 SMR 驱动器。通过本文,您将了解它们究竟是什么,SMR 和 PMR 驱动器之间的区别是什么,以及如何使用 PC-3000 Portable III / Express / UDMA 系统绕过 SMR 驱动器的问题并获取数据访问权限。
我们还在本文末尾嵌入了视频,供那些希望观看整个数据恢复过程的人观看。

首先介绍一点理论。
叠瓦式磁记录 (SMR) 技术将每个盘片的磁道数量增加了 25%。更高的密度是通过使用磁头中的读取器实现的,该读取器比写入器窄 4-5 倍。例如,现代驱动器中的写入器宽度为 50 µm,读取器宽度为 10 µm。但是,它如何记录比写入器更窄的磁道呢?如果磁头写入一个磁道,然后在其上方以等于读取器宽度的偏移量添加另一个磁道,那么两个磁道都将可读。结果,记录过程将有些类似于屋顶上的瓦片排列:先是最上面一排,然后下一排以稍低的偏移量铺设。因此,基于这种效应的磁记录方法得名。

上图展示了 7 个叠瓦磁道的外观以及它们是如何产生的。
首先,驱动器写入磁道 1。然后以等于读取器宽度的偏移量写入磁道 2。驱动器以此方式继续,直到写入磁道 8,该磁道形成叠瓦磁道 7 和一个常规的经典磁道 8。
现在,您可能会问:如果读取器小 5 倍,能够实现 5 倍密度记录,为什么实际密度增加只有 25%?实际上,当前磁头定位系统的精度为 +/-7 µm。这一事实阻碍了创建窄于 35 µm 的磁道。
叠瓦记录密度的增加是有代价的。实现更高容量的能力对盘面上数据排列的复杂性提出了相当高的要求。这个要求有充分的理由:要重写单个数据扇区,您不仅必须重写包含该扇区的磁道,还必须重写其后的所有磁道。
当然,要重写任何地方的数据,您必须首先从该位置读取数据。因此,如果整个驱动器都按叠瓦磁道排列,修改单个位将需要读取和写入从该位位置直到磁盘空间末尾的所有磁道。因此,写入性能将大幅下降(数十万倍)。显然,完全避免写入性能下降是不可能的。但是有没有办法加速它呢?
有办法。为此,SMR 磁道被组合成更小的组,称为磁带,因此每个磁带内的磁道才是叠瓦的。当需要修改数据时,这种磁道分组允许仅读取和重写有限数量的磁道,而不是整个盘片,这个细节大大加快了过程。
但是,当操作系统请求修改 100 个扇区的数据,而这些扇区不幸位于不同的磁带中时,会发生什么?显然,驱动器将再次花费几乎永恒的时间来处理请求,如果在完成之前发生电源关闭,数据将极不可能保持可访问和完整。为了避免这种情况,针对每种驱动器类型及其应用领域,设计了特定的磁带大小和记录缓冲系统。
公认的支持叠瓦记录的主要设备类型有三种:
1) 驱动器管理型
2) 主机管理型
3) 主机感知型。
类型 2 和 3 是为数据中心特定设备设计和运行的,它们无法在标准计算机中运行。然而,类型 1 已被广泛使用。让我们详细描述它。
驱动器管理型 SMR 驱动器不需要更改主机计算机的 BIOS 或操作系统。读取/写入过程的全部复杂性由驱动器自身的缓存系统处理。对此类驱动器上存储的数据的任何更改首先在叠瓦磁带之外的区域进行,并记录在一个特殊的修改列表中,在西部数据中称为二级译码表,在希捷型号中称为媒体缓存。这些修改稍后在读取它们时,或当设备空闲时,被写入叠瓦磁带。然而,当持续执行写入时,驱动器最终会耗尽缓存空间,并在重新组装数据并将其写入磁带时,暂停处理新请求一段时间。
总结一下。
SMR 技术通过更合理地使用磁盘空间来增加硬盘的容量。 使用 SMR 磁盘不需要升级驱动器的接口或外形尺寸,因此向这种新技术的过渡将被大多数用户忽视。缺点是与传统的 PMR 磁盘相比,写入速度略有下降。显然,这种 HDD 操作算法不会提高其可靠性,并且如果二级译码表或媒体缓存表丢失,会使数据恢复变得非常复杂。
在实践中,逻辑访问 (LBA) 考虑了扇区转换并跳过缺陷(隐藏在缺陷列表中)。
SMR 驱动器按磁带来写入数据。第二级译码表考虑了这一点,HDD 固件显示出良好的文件和文件夹结构。但是,如果第二级译码表 (SMR) 损坏,我们将在所有扇区中得到零。

如何绕过这个问题?让我们研究一个真实案例。
首先,必须进行服务区备份。不需要保存磁道或 RAM,只需保存 ROM 和模块即可。


如果在数据恢复过程中数据访问丢失,有必要写回原始的第二级译码表(服务区模块 190)并重启 HDD。请注意,此模块不包含校验和。这不是错误,这是该模块因其巨大尺寸而产生的特性。

一旦我们写回原始的模块 190,我们必须使用 PC-3000 中的一项新功能来阻止对此模块的任何进一步写入:锁定用户区写入。主要思想是,如果驱动器无法写入用户区,它就不会更新第二级译码表,从而使其保持不变。

但是,如果我们拿到的驱动器所有扇区都是零,读取数据的唯一方法就是物理块访问 (PBA)。使用 PBA 访问,我们无法获取文件结构,因为我们不知道数据块的写入方式,但我们可以按照它们物理写入驱动器的顺序逐个读取这些块。
因此,在 WDC Marvell 工具程序中,我们发现所有扇区都只写入了零。我们进行了备份,现在我们在保持工具程序打开的状态下进入 Data Extractor。在 Data Extractor 中,我们进入设置并选择从活动的 PC-3000 工具程序读取,读取 PBA。


当然,我们看不到文件结构,因为扇区的排列方式未知,因此我们按下 RAW 按钮运行 RAW 恢复。

并得到可以在 RAW 恢复结果中保存的良好文件。

就是这样!如果您有任何疑问,请随时联系我们的技术支持部门。
正如我们承诺的,这里是整个过程的视频:

