硬盘高级格式4K扇区深度解析.docx
- 文档编号:7221735
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:13
- 大小:828.25KB
硬盘高级格式4K扇区深度解析.docx
《硬盘高级格式4K扇区深度解析.docx》由会员分享,可在线阅读,更多相关《硬盘高级格式4K扇区深度解析.docx(13页珍藏版)》请在冰豆网上搜索。
硬盘高级格式4K扇区深度解析
高级格式化4KB扇区硬盘深度解析
4K扇区引发的问题?
关于“高级格式化4K扇区硬盘”这个话题,我想很多读者已经不陌生了,下面先简单介绍一下市场现状:
目前,希捷和西部数据都已经推出了采用4K扇区(高级格式化)的硬盘产品,对于使用低版本操作系统(如:
WindowsXP)或者硬盘实用程序时“分区未对齐”可能出现的性能降低问题,这两家厂商采取的是不同的解决方法。
西部数据使用4K扇区(高级格式化)技术的640GB蓝盘(CaviarBlue)
西部数据提供了两种方案。
首先,只要在硬盘上短接7号和8号跳线,硬盘控制器芯片即可提供一个逻辑分区的偏移量,使LBA63变成LBA64,解决校准问题。
不过这种方案仅能针对全盘只有一个分区的情况(实用性不大)。
第二种方案,则是一款名为WDAlign的工具软件。
该工具可以移动分区和数据,“对齐”文件系统簇与4KB扇区。
推荐使用Windows5.x(2000、XP、Server2003)操作系统,或是需要磁盘镜像软件的用户使用该工具。
由于WDAlign需要移动全盘数据,因此最好在分区或操作系统安装完毕后即使用该工具进行迁移。
而希捷则提出了自己的技术“SmartAlign”,宣称能够在硬盘内部实时、自动管理离散的扇区状况,并交给系统使用,不会造成任何延迟和性能损失。
当然了,最好的解决方案还是把系统升级到WindowsVista/7。
这样来看应该是希捷的做法更好一些,那么SmartAlign是否真的像宣传的那样有效?
希捷具体是如何实现的?
WD为什么没有采用类似的方式呢?
希捷Momentus72002.5英寸硬盘产品线
西部数据推出的第一款采用4K扇区的硬盘是3.5英寸绿盘(CaviarGreen),后来又逐渐加入了蓝盘(CaviarBlue)中的几款型号,希捷的4K扇区硬盘现在只有发布不久的2.5英寸Momentus750GB一款。
不过,所有参与IDEMA(国际磁盘驱动器设备与材料协会)的各主要硬盘制造商已经达成一致:
2011年1月1日起,面向渠道出货的所有台式机和笔记本硬盘(新推出的型号)都将采用高级格式标准。
值得注意的是:
这当中不包括对OEM客户出货和企业级硬盘,为什么呢?
高级格式硬盘扇区的扩大可以带来更高的密度和更大的容量,同时还有纠错能力的增强。
ECC校验码的集中和占用空间减少(下文中有详细说明)能够提高硬盘容量利用率,这一点还比较好理解,而纠错能力又是如何增强的呢?
除了“分区对齐”的问题之外,4K扇区硬盘还有其它可能会导致性能下降的因素吗?
我想这些问题应该是大家普遍比较关心的,希望您能够在本文接下来的几页中找到它们的答案...
概述
硬盘行业正在经历一次变革。
近年内,在存储密度大幅增长的同时,作为硬盘设计最主要因素之一的逻辑块格式化大小(也称为扇区)却仍然没有变化。
开始于2009年晚期,在2010年加速,2011年力争成为主流,硬盘公司正在从传统的512字节扇区迁移到更大、更高效的4096字节扇区(一般称为4K扇区),国际硬盘设备与材料协会(InternationalDiskDriveEquipmentandMaterialsAssociation,IDEMA)将之称为高级格式化。
下面我们将分别阐述此迁移的背景,指出为客户带来的长期利益,同时提出从512字节迁移到4K扇区的过程中要避免的潜在隐患。
背景
30多年来,硬盘上储存的数据都要格式化到小的逻辑块中,这种逻辑块称为扇区。
传统的扇区大小是512字节。
实际上,现代计算机系统很多的设计方面仍假设硬盘扇区采用此基础格式标准。
传统扇区格式中包含间隙(Gap)、同步(Sync)和地址标记(AddressMark)、数据和纠错代码(ECC)部分(见图1)。
图1.硬盘介质上的传统扇区布局
此扇区布局的结构设计如下:
间隙(Gap)部分:
间隙,用于分隔扇区。
同步(Sync)部分:
同步标记,用于表示扇区开始处并提供计时对齐。
地址标记(AddressMark)部分:
地址标记,包含可识别扇区号和位置的数据。
还可提供扇区本身的状态。
数据部分:
数据,包含所有用户数据。
ECC部分:
ECC部分包含用于修复或复原读写过程可能受损的数据的纠错代码。
多年来,硬盘行业一直采用这种低级别的格式。
然而,随着硬盘容量的不断增长,扇区大小日渐成为提高硬盘容量和纠错效率方面的限制性设计因素。
例如,将以前的扇区大小和总容量的比率与最近硬盘的扇区大小和总容量的比率相对比就可以发现,扇区分辨率已变得非常低。
扇区分辨率(扇区大小和总存储大小的百分比)已经非常低,几乎可以忽略不计(见表1)。
表1.在一个可测量的总容量内的扇区分辨率。
管理小型离散数据时,分辨率越低越好。
但是,现代计算系统中的常用应用管理的都是大型数据块,实际上远比传统512字节扇区大小要大得多。
另外,随着区域密度的增加,小型512字节扇区在硬盘表面上占用的空间也将越来越小。
从纠错和介质缺陷风险方面看,更小的空间也会引发问题。
如图2所示,硬盘扇区中的数据占据的空间越小,错误纠正就会变得越困难,因为同样大小的介质缺陷对总体数据负载损害的百分比更高,因此需要更大的纠错强度。
图2.介质缺陷和区域密度(更高的区域密度使同样大小介质缺陷带来的危害更高)
512字节扇区一般可纠正高达50字节长度的缺陷。
现在,硬盘开始通过先进的区域密度来提高错误纠正的上限。
因此,为了改善错误纠正和实现格式化效率,迁移到较大扇区是硬盘行业内的基本要求。
过渡到4K扇区(高级格式化)
数年来,存储行业一直在通力协作,致力于向较大扇区硬盘格式过渡;至少5年以前,希捷以及硬盘行业内的同行就已开始努力,并获得了卓越的成果(见图3)。
2009年12月,经过与IDEMA的通力合作,将高级格式化提名作为4K字节扇区标准的名称,并获得批准。
此外,所有硬盘制造商还承诺,自2011年1月开始,所发行的台式机和笔记本电脑产品的新型硬盘平台都采用高级格式化扇区格式。
在此之前,高级格式化硬盘将开始逐步进入市场。
从2009年12月起,西部数据就开始推出了高级格式化硬盘;有段时间,希捷也为OEM客户和品牌零售产品中提供过大扇区硬盘,其中值得关注的是USB连接外置硬盘,如SeagateFreeAgent系列。
图3.高级格式化标准发展的重要里程碑
4K扇区的长期利益
所有硬盘制造商一致同意,到2011年1月,实现向高级格式化扇区设计的过渡,因此,硬盘行业需要适应并采用此更改,以最小化潜在的负面作用。
短期内,最终用户不会明显感受到硬盘容量的增长。
但是,迁移到4K大小扇区后,肯定能为实现更高的区域密度、硬盘容量和更强大的纠错功能提供一条捷径。
通过降低错误纠正代码所用空间来提高格式化效率
图4显示了传统的512字节扇区布局。
其中,在每个512字节扇区中,都留有50字节与数据无关的开销用于ECC,以及另外15字节的开销用于间隙(Gap)、同步(Sync)和地址标记(AddressMark)部分。
这样就造成扇区格式化效率仅约为88%(512/(512+65))。
图4.传统512字节扇区布局
新的高级格式化标准使得4K字节扇区有了不小进步,在4K字节扇区中,8个传统512字节扇区合并为一个4K字节扇区(见图5)。
图5.高级格式化:
4K字节扇区布局
高级格式化标准用于间隙(Gap)、同步(Sync)和地址标记(AddressMark)的字节数与传统扇区相同,但将ECC字段增加至100字节。
这样,扇区格式化效率达到了97%(4096/(4096+115)),比传统扇区提高了将近10%。
这些格式化效率将逐渐发挥作用,有助于产生更高的容量和改善数据完整性。
可靠性和错误纠正
硬盘扇区的物理大小在不断缩减,所占空间也越来越少,但介质缺陷却没有同时减少。
图6中显示了我们认为很小的物体的图像。
但与硬盘读/写磁头的飞行高度相对而言,这些物体显得非常庞大。
比图中显示物体更小的微小颗粒也会造成硬盘的介质缺陷。
图6.磁头飞行高度的放大演示
高级格式化标准中的较大4K扇区可将ECC块大小增加一倍,从50字节增加到100字节,能够针对颗粒和介质缺陷为错误纠正效率和可靠性带来必要的改进。
从改进的格式化效率和更加强大的纠错功能的综合优势来看,向4K扇区的过渡很值得。
如何管理这种过渡,以最小的副作用获取长期利益,是硬盘行业的重点所在。
了解过渡到4K的影响
前面提到,在现代计算系统中,很多方面仍然假设扇区都是512字节。
要将整个行业过渡到新的4K标准,同时希望所有原来的假设一下子适应这种改变是不现实的。
随着原生4K扇区的实施,主机和硬盘会逐渐以4K块来交换数据。
那时,硬盘制造商将通过称为“512字节扇区模拟”的技术实现到4K扇区的过渡。
512字节扇区模拟
4K大小扇区的引入将主要依赖于512字节扇区模拟。
这个术语是指,将高级格式化中所用4K物理扇区转换为主机计算系统预期使用的传统512字节扇区的过程。
由于512字节模拟不会强制在传统计算系统中进行复杂的改变,因而是可行的。
但是这种模拟会对硬盘性能带来潜在的负面影响,特别是写入的数据与8个转换的传统扇区不对应时。
考虑到512字节模拟所需的读写过程,这种影响很明显。
模拟读写过程
以512模拟方式来读取4K扇区格式化硬盘中数据的过程非常直接,如图7所示。
图7.512字节模拟可能出现的读序列
可以在硬盘DRAM内存中读取4K数据块以及格式化主机所需的特定512字节虚拟扇区,因此这个过程不会明显影响到性能。
写过程更为复杂一些,特别是主机尝试写入的数据为4K物理扇区的子集时。
这时,硬盘必须首先读取包含主机写入请求目标位置的整个4K扇区,合并现有数据与新数据,然后重新写入整个4K扇区(见图8)。
图8.512字节模拟可能出现的写序列
在此情况下,硬盘必须执行额外的机械步骤:
读取4K扇区数据、修改其内容,然后重新写入数据。
此过程称为“读取-修改-写入”(read-modify-write)循环,但这个过程不够理想,因为它会对硬盘性能造成负面影响。
将“读取-修改-写入”情况的几率和频率降到最低是顺利无忧过渡到4K扇区的最重要因素。
“读取-修改-写入”预防
如前所述,在数据块小于或未对齐到4k扇区时,硬盘为此数据块发出写入命令,此时会发生“读取-修改-写入”的情况。
这种小于4K的写入请求称为超短帧。
512字节模拟中出现超短帧的根本原因有两个。
1.由于逻辑分区和物理分区未对齐,导致写入请求不对齐。
2.写入请求的数据小于4K
对齐硬盘分区和未对齐硬盘分区
到目前为止,我们尚未讨论主机系统和硬盘如何针对介质上的扇区位置进行通信。
我们现在就来介绍一下逻辑块地址(LogicalBlockAddress,LBA)。
每个512字节扇区都分配了唯一的LBA,根据硬盘大小,数字可以是从0到所需的数字。
主机会使用分配的LBA来请求特定的数据块。
主机请求写入数据时,会在写入结束时会返回一个LBA地址,告知主机数据的位置。
这对于4K扇区的过渡非常重要,因为主机LBA起点位置可以有八种可能性。
当LBA0与4K物理扇区中的第一个512字节虚拟块对齐时,512字节模拟的逻辑块到物理块对齐情况称为Alignment0。
另一种可能出现的对齐情况是,LBA0与4K物理扇区中第二个512字节虚拟块对齐。
这种情况称为Alignment1,图9比较了Alignment1与Alignment0两种对齐情况。
另外,还有六种可能出现的分区不对齐情况,会引起与Alignment1情况相似的“读取-修改-写入”事件。
图9.对齐情况
Alignment0情况与高级格式化标准中新的4K扇区完全符合。
因为硬盘能够轻松将8个相邻的512字节扇区映射到一个4K扇区。
实现此映射的方法是,将512字节的写入请求储存在硬盘的缓存中,等接收到8个连续的512字节数据块时再将其写入到4K扇区(8个连续的512字节块刚好构成一个4K扇区)。
由于现代计算应用要处理大量的数据,这些数据一般都超过4K,因此很少发生“超短帧”的情况。
但是,Alignment1却是完全不同的状况。
当创建的硬盘分区出现不对齐(如图9所示)的情况时,会引起“读取-修改-写入”循环,影响硬盘性能。
这是在实现高级格式化硬盘的过程中应主要避免的情况,我们稍后对此进行讨论。
小型写入
现代计算应用中的数据一般都大大超过512字节,如文档、图片和视频流等。
因此,硬盘会将这些写入请求存储在缓存中,直到这些连续的512字节数据块能够组成一个4K扇区。
只要硬盘分区是对齐的,就可以轻松地将512字节扇区映射到4K扇区,而不会对性能产生任何影响。
但是,某些低级别的处理会强制硬盘处理“超短帧”状况(这种状况与未对齐分区无关)。
这种情况很少见,仅当主机发出小于4K的离散写入请求时发生。
低级别的处理通常都是处理文件系统、日志的操作系统级别的活动,或是类似的低级别活动。
通常来说,这些活动发生的几率很小,因此不会明显影响到总体性能。
但仍然建议系统设计人员考虑对这些过程进行适当修改,以便在实现4K过渡后能最大化硬盘性能。
准备和管理4K过渡
我们已经了解了迁移到4K扇区的优势以及对性能的潜在影响,接下来就该查看行业如何有效地管理过渡。
在Windows和Linux是现代计算中部署的两种最受欢迎的操作系统,在这两种环境下我们能更好地讨论这个主题。
在Windows环境中管理4K扇区
管理到4K扇区的过渡中最重要的一个方面与上文讨论的对齐问题有很大关系。
高级格式化硬盘在Alignment0情况下运行完好,这时物理块和逻辑块的起始位置相同。
创建硬盘分区时便已实现了对齐。
分区创建软件分为两大类:
1.各Windows操作系统版本
2.硬盘分区实用程序
使用Windows操作系统创建分区时,有三种Windows版本值得一提:
WindowsXP、WindowsVista和Windows7。
Microsoft早已投身到致力于规划过渡到更大扇区的团体中。
因此,从WindowsVistaServicePack1起,Microsoft开始发布可兼容4K扇区的软件。
可创建Alignment0状态(符合高级格式化标准)分区的软件称为“可识别4K”的软件。
表2说明了与当前各MicrosoftWindows操作系统版本的相关情况。
表2.Windows操作系统是否可识别4K
很清楚,配有Windows最新版本的新计算机系统相对更适合使用高级格式化硬盘。
但是,对于仍然使用WindowsXP或ServicePack1之前的WindowsVista的系统来说,操作系统所创建的分区性能很可能显著下降。
除Windows操作系统较早版本所创建的分区可能出现潜在不对齐情况外,在系统集成商、OEM、增值经销商和IT管理员广泛使用的软件实用程序中,有很多软件实用程序也能够引发分区不对齐情况。
事实上,通过这些实用程序创建的分区比通过Windows操作系统本身创建的分区还要普遍。
因此,创建不对齐分区,从而导致使用4K扇区的环境中硬盘性能下降的风险非常明显。
更麻烦的是,如今系统中的硬盘一般都包含多个硬盘分区。
这意味着必须使用可识别4K的分区软件创建硬盘上的每个分区,才能确保适当对齐,并保障性能。
图10显示了使用不能识别4K的软件创建多硬盘分区时可能出现的结果。
图10.多个分区和对齐情况
处理不对齐状态
有三种可行方法可避免和/或管理不对齐状态(不对齐状态对硬盘性能具有潜在影响)。
1.使用最新版本的Windows操作系统或联系分区实用程序供应商来获取可识别4K版本的软件。
2.使用硬盘实用程序来重新对齐磁盘分区。
3.不管是什么对齐状态,将硬盘性能管理交与您的硬盘供应商负责。
使用可识别4K的Windows版本来创建硬盘分区,这是避免不对齐状态的一种简单直接的方法。
硬盘分区创建软件实用程序供应商应该能够告诉您是否提供了可识别4k版本的软件。
如果是,那么迁移到可识别4K的版本可免后顾之忧。
为解决这个问题,有些硬盘供应商提供了能够检测现有硬盘分区,并根据需要重新进行对齐的实用程序。
这种变通方法要花费更多时间,并且系统的构建或升级流程步骤也更加繁琐。
最后,硬盘制造商要开发更加复杂的方法,来管理不对齐状态,同时还要避免对性能造成负面影响。
由于向高级格式化硬盘的过渡势在必行,所有这些方法都将在最大化行业利益、同时避免潜在性能影响方面起到重要作用。
在Linux环境中管理4K扇区
在Windows环境中管理到4K扇区过渡的关键策略同样适用于Linux。
多数Linux系统用户都能够访问源代码,根据他们的特定需要来定制操作系统。
因此,Linux用户能够主动更新其系统,以便恰当地管理高级格式化硬盘。
通常,需要恰当地创建能与高级格式化硬盘良好对齐的磁盘分区,还需要最小化可生成超短帧的小型系统级写入(与对齐问题无关),但是修改Linux系统后,就可以大幅度避免这些工作。
为了支持高级格式化硬盘,对Linux内核和实用程序均进行了更改。
这些更改可确保高级格式化硬盘上的所有分区都能在4K扇区分界上得到完全对齐。
版本2.6.31或更高版本的内核支持高级格式化硬盘。
以下Linux实用程序支持高级格式化硬盘的分区和格式化:
Fdisk:
GNUFdisk命令行实用程序可对硬盘进行分区。
版本1.2.3和更高版本支持高级格式化硬盘。
Parted:
GNUParted图形实用程序可对硬盘进行分区。
版本2.1和更高版本支持高级格式化硬盘。
结论
从传统512字节扇区进行行业过渡势在必行。
硬盘制造商一致同意,在2011年1月前,笔记本电脑和台式机细分市场发行的新型产品均采用高级格式化标准。
这种过渡为硬盘工程师提供了另一种工具,能够继续推动改善区域密度和增强纠错功能。
采用新技术后,硬盘产品将继续提供更高的容量、更低的每GB成本和一如既往的可靠性级别,消费者定会从中获益。
具备充分相关知识的存储社区是实现顺利过渡的关键,可以消除潜在的性能隐患。
我们需要推广使用可识别4K的硬盘分区工具,这是顺利过渡到高级格式化所使用的4K扇区的至关重要的因素。
作为构建或配置计算机的系统集成商、OEM、IT专家甚至终端用户,都应该确保:
● 使用WindowsVista(ServicePack1或更高版本)或Windows7创建硬盘分区。
● 使用第三方软件或实用程序创建硬盘分区时,请与供应商联系,确定已将其更新为可识别4K的软件或实用程序。
● 如果您的客户经常对系统进行重新镜像,请建议他们确定使用的是可识别4K的镜像实用程序。
● 如果您使用的是Linux,请与Linux供应商或工程部门联系,确定您的系统已经过更改,能够识别4K。
● 与您的硬盘供应商联系,获取在系统中使用高级格式化硬盘的任何其他建议或指导。
● 和同行及客户一起,借助整个存储行业的长期潜在优势,我们能够顺利、高效地过渡到4K高级格式化扇区。
总结与展望
相信我们在文章一开头提出的问题有些已经能够从上文中找到答案了。
WDAlign在“处理不对齐状态”上采用的是前面提到的第二种方法;而希捷的SmartAlign则是第三种(即:
将硬盘性能管理交与您的硬盘供应商负责),通过Firmware中的缓存算法在分区不对齐的情况下优化读写操作,以达到不使性能降低的目的。
下面我们来看一下相关的测试数据:
希捷官方提供的SmartAlign对比测试数据
上图是Seagate宣传资料中的SmartAlign测试数据,比较对象从左到右分别是4K扇区的:
Desaru72(应该是Momentus750GB的内部代号,没有SmartAlign技术)、Desaru72MediaCache(这就是SmartAlign正式推出之前的名称)和CaviarBlue(西数蓝盘)。
在WindowsXP未对齐分区的情况下,SmartAlign的性能表现还是比较理想的,只是用自家的7200rpm硬盘和竞争对手的5400rpm产品对比有点田忌赛马的感觉。
当然,西部数据的4K扇区硬盘一旦运行WDAlign校准工具之后性能也会提升到应有的水平,只是没有希捷那样方便罢了。
希捷没有进一步讲解SmartAlign的实现方法,我们认为WD要想在这方面搞清也不是什么太大的难题。
目前的现状,应该是两家厂商权衡各方面因素之后采取的策略。
不过我们也不排除,西数今后可能会在OS等软件向4KB过渡的过程中加入类似于SmartAlign的技术。
至于何时的硬盘才能够直接使用原生4KB扇区,结束模拟512byte扇区的“过渡期”,目前的预计是在彻底淘汰Windows5.x系统的2014年(WinXP技术支持终止)左右。
至于为什么IDEMA2011年1月1日的要求中不包括对OEM客户出货和企业级硬盘,这个其实也不难理解:
部分OEM和企业级硬盘用户可能会有前文中提到的“小型离散数据写入”的应用需求,而且出现这种情况的几率相对于常规桌面应用来说要高。
用测试软件举个典型的例子,就是使用IOmeter在没有硬盘分区和文件系统的情况下(常用方式)进行512字节数据块随机写这样的极限性能测试。
这个还让我们联想到固态硬盘的性能,大部分厂商公布的上万甚至50,000IOPS的随机写入性能应该都是在4KB对齐情况下的测试结果,换个测试方法或许就会降低不少。
由于闪存介质也需要用4KB物理页面来模拟512字节的逻辑扇区,面对小于4K的离散写入请求很可能也会出现性能下降,SSD固态驱动器存在的“写入放大”现象和4KB扇区HDD机械硬盘在原理上是相似的。
对应到实际中,一些企业级软件,比如Oracle数据库这样典型的结构化数据,可以使用其自带的OCFS文件系统,也可以支持直接对磁盘(包括RAID逻辑盘等情况)“裸设备”进行操作,并且比在文件系统上的效率更高。
在这类环境下,高级格式化(4K)硬盘有可能会出现扇区不对齐、2KB或者更小数据块的随机写入等问题。
类似的情况还反映在:
IOmeter的OLTP(在线交易处理)应用测试脚本就包含了2KB、4KB和8KB三种数据块大小。
对于未来4KB扇区硬盘在企业级存储上的应用,我们还要考虑和RAID卡/磁盘阵列控制器之间的兼容性。
尽管RAID在进行条带化时Stripe分块大小通常在64KB左右,一般不会小于4KB,但我们还是不能完全排除512字节模拟扇区和物理扇区可能不对齐的问题。
根据笔者截至目前的了解,这些领域的厂商普遍还没有在4KB扇区硬盘的支持上做出过表态。
通过以上这些,大家就明白为什么4KB扇区硬盘在企业级应用上会缓行了吧?
对于业内相关的信息和动态,我们将会继续关注...
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬盘 高级 格式 扇区 深度 解析