在评估硬盘时,容量和传输速度等基本规格通常是最显而易见的比较点。然而,NAS 系统很少会像峰值顺序传输速率那样,让硬盘承受持续不间断的工作负载。实际上,NAS 的运行涉及备份、文件访问、元数据管理、RAID 活动以及其他相互冲突的请求等任务。.
因此,NAS 的性能不仅取决于硬件配置或性能指标。设备处理并发工作负载的效率同样重要,而固件在这方面发挥着关键作用。为了理解这一点,我们不妨了解一下规格参数中列出的传输速度数据究竟代表什么。.
峰值性能只能说明一部分问题。
硬盘标称的顺序传输速率 (STR) 描述的是一种特定的运行状态:数据在相邻扇区之间连续移动。在持续的顺序传输过程中,读写磁头在硬盘不同位置之间移动的时间相对较短。NAS 系统很少长时间在这种状态下运行。随着各种请求的到来,连续传输会被中断,磁头开始在磁盘的不同区域之间移动。
在工作日,对于四盘位NAS系统而言,夜间备份可能仍在进行,而用户却在访问共享文件,操作系统也在更新文件系统元数据。如果最近更换了硬盘,RAID重建产生的流量也会被添加到同一个请求队列中。这些操作本身并不特别耗费资源,但真正的挑战在于如何同时处理所有这些操作。.
结果并非仅仅是性能下降,因为每次方向改变都会中断数据流,并且需要额外的头部移动才能处理下一个请求。随着请求数量的增加,由于其他活动的影响,连续的数据传输变得越来越碎片化。.
并非所有请求都能等待,尽管将顺序备份的一部分延迟几分之一秒几乎不会被察觉。当用户打开文档时,他们期望立即得到响应,而文件系统元数据的处理和 RAID 重建产生的流量必须在后台持续进行。硬盘必须平衡处理大小、位置和紧急程度各异的读写请求,而不是严格按照到达顺序进行处理。.
固件优化硬件行为。
磁头、主轴电机和存储介质决定了硬盘驱动器的机械极限。固件无法提升这些组件的运行速度,但它可以通过控制驱动器对各种请求的响应方式(包括管理缓存中的数据和在执行命令前进行组织)来决定它们的使用效率。
因此,即使两块硬盘采用类似的硬件制造,在NAS上处理相同的工作负载时,其响应也可能不同。这种差异并非源于硬盘本身的写入机制,而是源于控制该机制的固件。.
工作负载决定了响应方式。
在同一台四盘位 NAS 上,夜间备份可能在用户打开磁盘阵列中其他位置存储的文档时仍在继续写入数据。设备可以立即中断备份来处理读取请求,但这会增加磁头移动次数,从而中断连续的写入流程。另一方面,忽略读取请求也不可行,因为用户期望立即得到响应。因此,固件必须在这些冲突请求到达写入机制之前,决定如何处理它们。
这项决策不仅仅取决于请求到达的顺序。读取请求的处理方式可能与长时间的顺序写入操作不同,而元数据更新和 RAID 重建产生的流量也会对存储系统提出更高的要求。随着工作负载的变化,固件会在请求到达写入机制之前不断重新评估其处理方式,从而决定如何使用缓存以及如何组织命令。.
缓存分配取决于工作负载。
识别工作负载只是第一步。固件一旦确定了如何处理请求,就可以应用反映该活动需求的缓存策略,而不是以相同的方式处理所有请求。
顺序备份和用户打开文档都可能经过同一个缓存,但它们受益于不同的缓存分配策略。为缓冲写入预留缓存空间有助于保持顺序传输的连续性,而为读取请求预留缓存空间则可以减少检索数据所需的等待时间。.
对单一缓存策略应用于所有请求可能会导致缓冲顺序写入和较小的读取请求在工作负载变化时争夺相同的缓存资源。.
命令调度负责执行决策。
识别工作负载并合理分配缓存并不能决定请求何时到达存储介质。固件还必须决定待处理命令的执行顺序。在混合型 NAS 工作负载中,这一决策会影响读写磁头在不同磁盘位置之间移动的频率,以及数据传输和读写机制重新定位所花费的时间比例。
以上所述的原则在不同的磁盘驱动器制造商中以不同的方式实现。东芝的方法体现在其 NASLink™ 固件架构中,在该架构中,工作负载感知、缓存分配和命令调度作为单一决策过程的组成部分(图 1)。.

图 1:固件首先识别工作负载,然后再应用缓存分配和命令调度,以实现“可预测的”性能。
在 NASLink™ 中,识别出的处理类型会影响待处理命令的组织方式。小的写入请求会被分组到更长的连续写入序列中,以减少不必要的磁头移动。在可能的情况下,小的读取请求会穿插在写入操作的空闲期间,同时,诸如 RAID 重建或磁盘检查之类的后台任务也会进行调整,以最大限度地减少其对用户访问的影响。.

图 2:NASLink™ 通过将写入操作分组为更长的顺序传输、在适当的时间间隔内处理较小的读取操作以及在后台单独管理 RAID 活动来重新组织待处理的请求。.
调度决策还会考虑命令本身以外的因素。例如,队列长度、数据连续性、振动和温度都会影响请求的执行顺序。.
固件仍然依赖于硬件。
固件可以识别工作负载、分配缓存并组织命令队列,但这些决策仍然取决于驱动器的物理特性。记录技术决定了数据如何写入介质,可用缓存限制了固件的工作空间,而精确的磁头定位在命令执行期间仍然至关重要。
因此,NAS 固件的开发并非孤立进行,而是与专为多硬盘环境下的连续运行而设计的硬件协同进行。在东芝 N300 硬盘上,传统的磁记录 (CMR) 技术提供了固件策略所依赖的可预测的顺序记录特性;高达 1GB 的缓存为 NASLink™ 动态分配工作内存;旋转振动传感器则有助于在相邻硬盘在机箱内产生振动时保持磁头的精确定位。.
混合工作负载工程:
最大顺序吞吐量仍然是一项重要的指标,但它仅描述了一种运行条件。NAS 的大部分生命周期都用于响应并发请求,这些请求会中断连续的数据传输,并需要固件决定如何组织存储活动。
NAS 系统上的工作负载包含顺序传输、随机读取和后台维护任务,因此硬盘的大部分行为都由固件控制。工作负载感知、缓存分配和命令调度会影响记录机制如何响应这些同时发生的需求,而硬件则提供稳定的平台,这些决策正是基于此。NASLink™ 就是将这些工程原理应用于专为 NAS 环境设计的硬盘的一个例子。.
作者:洪恩京,东芝电子欧洲有限公司硬盘产品经理
