科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网存储频道企业级缓行?高级格式化4KB扇区硬盘深度解析

企业级缓行?高级格式化4KB扇区硬盘深度解析

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

希捷和西部数据都已经推出了采用4K扇区(高级格式化)的硬盘产品。SmartAlign是否真的像宣传的那样有效?希捷具体是如何实现的?WD为什么没有采用类似的方式呢?IDEMA 2011年1月1日的要求中为何不包括对OEM客户出货和企业级硬盘?4K扇区硬盘还有其它可能会导致性能下降的因素吗?本文针对这些大家普遍关心的问题进行了深入讨论。

作者:存储时代——黄亮(整理) 来源:ZDNet China【原创】 2010年7月22日

关键字: 希捷 西部数据 SmartAlign 分区 Windows

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共6页)

了解过渡到 4K 的影响

前面提到,在现代计算系统中,很多方面仍然假设扇区都是 512 字节。要将整个行业过渡到新的 4K 标准,同时希望所有原来的假设一下子适应这种改变是不现实的。随着原生 4K 扇区的实施,主机和硬盘会逐渐以 4K 块来交换数据。那时,硬盘制造商将通过称为“512 字节扇区模拟”的技术实现到 4K 扇区的过渡。

512 字节扇区模拟

4K 大小扇区的引入将主要依赖于 512 字节扇区模拟。这个术语是指,将高级格式化中所用 4K 物理扇区转换为主机计算系统预期使用的传统 512 字节扇区的过程。

由于 512 字节模拟不会强制在传统计算系统中进行复杂的改变,因而是可行的。但是这种模拟会对硬盘性能带来潜在的负面影响,特别是写入的数据与 8 个转换的传统扇区不对应时。考虑到 512 字节模拟所需的读写过程,这种影响很明显。

模拟读写过程

以 512 模拟方式来读取 4K 扇区格式化硬盘中数据的过程非常直接,如图 7 所示。

企业级缓行?高级格式化4KB扇区硬盘深度解析

图 7.512 字节模拟可能出现的读序列

可以在硬盘 DRAM 内存中读取 4K 数据块以及格式化主机所需的特定 512 字节虚拟扇区,因此这个过程不会明显影响到性能。

写过程更为复杂一些,特别是主机尝试写入的数据为 4K 物理扇区的子集时。这时,硬盘必须首先读取包含主机写入请求目标位置的整个 4K 扇区,合并现有数据与新数据,然后重新写入整个 4K 扇区(见图 8)。

企业级缓行?高级格式化4KB扇区硬盘深度解析

图 8.512 字节模拟可能出现的写序列

在此情况下,硬盘必须执行额外的机械步骤:读取 4K 扇区数据、修改其内容,然后重新写入数据。此过程称为“读取-修改-写入”(read-modify-write)循环,但这个过程不够理想,因为它会对硬盘性能造成负面影响。将“读取-修改-写入”情况的几率和频率降到最低是顺利无忧过渡到 4K 扇区的最重要因素。

“读取-修改-写入”预防

如前所述,在数据块小于或未对齐到 4k 扇区时,硬盘为此数据块发出写入命令,此时会发生“读取-修改-写入”的情况。这种小于 4K 的写入请求称为超短帧。512 字节模拟中出现超短帧的根本原因有两个。

1. 由于逻辑分区和物理分区未对齐,导致写入请求不对齐。

2. 写入请求的数据小于 4K

对齐硬盘分区和未对齐硬盘分区

到目前为止,我们尚未讨论主机系统和硬盘如何针对介质上的扇区位置进行通信。我们现在就来介绍一下逻辑块地址(Logical Block Address,LBA)。

每个 512 字节扇区都分配了唯一的 LBA,根据硬盘大小,数字可以是从 0 到所需的数字。主机会使用分配的 LBA 来请求特定的数据块。主机请求写入数据时,会在写入结束时会返回一个 LBA 地址,告知主机数据的位置。这对于 4K 扇区的过渡非常重要,因为主机 LBA 起点位置可以有八种可能性。

当 LBA 0 与 4K 物理扇区中的第一个 512 字节虚拟块对齐时,512 字节模拟的逻辑块到物理块对齐情况称为 Alignment 0。另一种可能出现的对齐情况是,LBA 0 与 4K 物理扇区中第二个 512 字节虚拟块对齐。这种情况称为 Alignment 1,图 9 比较了 Alignment 1 与 Alignment 0 两种对齐情况。另外,还有六种可能出现的分区不对齐情况,会引起与 Alignment 1 情况相似的“读取-修改-写入”事件。

企业级缓行?高级格式化4KB扇区硬盘深度解析

图 9.对齐情况

Alignment 0 情况与高级格式化标准中新的 4K 扇区完全符合。因为硬盘能够轻松将 8 个相邻的 512 字节扇区映射到一个 4K 扇区。实现此映射的方法是,将 512 字节的写入请求储存在硬盘的缓存中,等接收到 8 个连续的 512 字节数据块时再将其写入到 4K 扇区(8 个连续的 512 字节块刚好构成一个 4K 扇区)。由于现代计算应用要处理大量的数据,这些数据一般都超过 4K,因此很少发生“超短帧”的情况。但是,Alignment 1 却是完全不同的状况。

当创建的硬盘分区出现不对齐(如图 9 所示)的情况时,会引起“读取-修改-写入”循环,影响硬盘性能。这是在实现高级格式化硬盘的过程中应主要避免的情况,我们稍后对此进行讨论。

小型写入

现代计算应用中的数据一般都大大超过 512 字节,如文档、图片和视频流等。因此,硬盘会将这些写入请求存储在缓存中,直到这些连续的 512 字节数据块能够组成一个 4K扇区。只要硬盘分区是对齐的,就可以轻松地将 512 字节扇区映射到 4K 扇区,而不会对性能产生任何影响。但是,某些低级别的处理会强制硬盘处理“超短帧”状况(这种状况与未对齐分区无关)。这种情况很少见,仅当主机发出小于 4K 的离散写入请求时发生。低级别的处理通常都是处理文件系统、日志的操作系统级别的活动,或是类似的低级别活动。通常来说,这些活动发生的几率很小,因此不会明显影响到总体性能。但仍然建议系统设计人员考虑对这些过程进行适当修改,以便在实现 4K 过渡后能最大化硬盘性能。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章