八喜 发表于 2012-4-27 13:45:13

硬盘技术发展简史之部署下一代大容量硬盘

存储架构简史
30 年前,一家小型软件公司同意与 IBM 公司合作生产第一个 IBM PC 操作系统。这家公司便是 Microsoft,开发的操作系统是 DOS 或 PC-DOS,后成为 IBM 的品牌。DOS 成为操作系统的基础,并作为 PC 行业的标准被广泛采用,也是 Microsoft Windows 操作系统中很多方面的基础。

当时,没有人料到计算机行业会发生如此翻天覆地的变化,并最终产生了当今超快的处理器、高速固态内存和大容量硬盘,目前可用的大小通常为 2TB。当初,计算机原始架构(硬件和软件)中的一些基本设计决策注定要成为本行业的限制。其中一个影响当今存储行业的限制就是:如何访问容量超过 2.1TB 的硬盘。

存储架构中最基础的元素之一为扇区。扇区是硬盘中最小的物理数据块。30 多年前,扇区定义为 512 字节长度,该定义一直延续到现在。现在,向较大的 4K 扇区(也称为“高级扇区格式”)过渡需求迫切,但数年内,此过渡不会在主机级别(硬盘控制器、操作系统、BIOS 等)完全实现。同时,尽管对容量的需求不断增长,存储行业仍要使用 512 字节的基本扇区大小。

架构决策的另一个关键因素与硬盘扇区相关。这就是分配给扇区地址的空间。每个扇区都分配有唯一一个地址,定义数据在硬盘上的位置。称为逻辑块寻址 (LBA)。20 世纪 70 年代末 80 年代初,没人料到硬盘容量竟能达到 1TB,这样看来,将 LBA 范围限制在 2.1TB 也是绰绰有余。因此,操作系统、BIOS 控制器、HDD 控制器和设备驱动程序都使用相同的 2.1TB 基本限制,作为硬盘或逻辑存储设备的最大容量。

现在,硬盘行业即将发布容量超过 2.1TB 的硬盘,重点是如何在之前的架构设计限制内部署新一代大容量存储解决方案。最佳做法是在两个不同的细分市场中分别部署:台式机 PC 和工作站市场,以及侧重于多硬盘存储阵列和服务器的企业市场。

台式机市场
评估如何在台式机环境中部署 2.1TB 以上容量的硬盘时,要考虑以下三种不同的安装情况:

1.1. 使用 Microsoft Windows XP 或更早版本或者使用不支持长 LBA 寻址的操作系统来部署原始容量超过 2.1TB 的硬盘
2.2. 使用支持长 LBA 寻址的操作系统部署原始容量超过 2.1TB 的不可引导硬盘
3.3. 部署原始容量超过 2.1TB 的可引导硬盘

情况一
遗憾的是,不支持长逻辑块寻址(一般称作长 LBA 寻址)的操作系统无法成功使用容量超过 2.1TB 的硬盘。这些操作系统中包括 Windows XP,尽管它的安装基础较大。长 LBA 寻址扩展了命令描述符块 (CDB) 中的字节数,以便能访问超过 2.1TB 限制的 LBA 范围。CDB 仅仅是一种数据结构,用来格式化主机和硬盘之间所传递的数据。此数据的关键因素就是 LBA,LBA 可告知硬盘正在寻址的特定扇区。

不支持此长 LBA 寻址的操作系统将无法识别容量超过 2.1TB 的硬盘。实际上,在 Windows XP 系统中使用容量超过 2.1TB 的硬盘可能会产生不可预知的结果,此结果因使用的 BIOS 而有所不同。可能仅识别达到 2.1TB 的容量,或者只能识别超出 2.1TB 限制的那部分容量。因此,一个 2.5TB 的硬盘很可能被 Windows XP 系统识别为 400GB 的硬盘或 2.1TB 的硬盘,但不能正确识别为 2.5TB 硬盘。要使用原始容量超过 2.1TB 的硬盘,需要使用 Windows Vista、Windows 7 或其他支持长 LBA 的操作系统。

情况二
我们已经清楚,基本操作系统要求即是要支持长 LBA 寻址,才能使用容量超过 2.1TB 的硬盘。如果要使用的硬盘不是可引导硬盘,那么仅需要增加一个要求,即必须使用 GUID 分区表 (GPT) 对硬盘进行分区。

Intel 最先在更加复杂的规范中对 GPT 进行了定义,目的是创建原始 PC BIOS 的替代设计。 其中标准名为可扩展固件接口 (EFI),该规范目前由统一可扩展固件接口论坛 (UEFI) 管理。除了其他改进外,GPT 还允许更长的 LBA 寻址模式,支持使用超过 2.1TB 大小的硬盘。此外,传统标准 MBR(主引导记录,Master Boot Record)也会产生前面提到的相同限制,将硬盘容量限制为 2.1TB。

情况三
很明显,在台式机 PC 配置中使用单个硬盘非常普遍。这种情况下,硬盘必须是可引导硬盘。在可引导配置中使用容量超过 2.1TB 的硬盘的要求与情况二中所述要求相同,同时还有两个其他要求。

第一,为了克服部署容量超过 2.1TB 可引导硬盘中出现的问题,检查传统 PC BIOS 是非常必要的。尽管 PC BIOS 标准具有同样的基础限制(无法寻址容量大于 2.1TB 的硬盘),该标准仍然沿用了很多年。目前,针对此限制的唯一一个解决方案就是使用新的 BIOS 标准,该标准也是 UEFI 论坛的工作之一。UEFI BIOS 具有超过较早 PC BIOS 系统的多个扩展。其中之一便是寻址容量大于 2.1TB 的硬盘。但到目前为止,台式机市场上 UEFI BIOS 的使用非常少见。然而,随着新一代大容量硬盘的引入,UEFI BIOS 系统的采用将会越来越频繁。

部署容量超过 2.1TB 硬盘的第二个要求是使用兼容的硬盘控制器驱动程序。PC 市场上最受欢迎的一款驱动程序是 Intel Matrix Storage 驱动程序。这款驱动程序作为 Windows Vista 和 Windows 7 操作系统配置的组件出货,同样有不能正确寻址容量超过 2.1TB 硬盘的限制。Intel 正在计划更新这款驱动程序。同时,Windows Vista 和 Windows 7 安装中随附的标准 Windows HDD 驱动程序解决了这个问题。

服务器和存储阵列
基本来说,标准台式机市场上容量超过 2.1TB 硬盘的要求同样适用于服务器和存储阵列市场。这两个市场之间最大的区别在于管理和控制企业解决方案中常见的多硬盘所使用的主机总线适配器 (HBA) 或 RAID 控制器的情况。

使用 HBA 或 RAID 控制器可简化更高容量硬盘的采用,因为寻址和控制问题主要通过 HBA 或 RAID 控制器来管理。但是有关控制器下硬盘的大小和类型的详细信息却从操作系统中隐藏了。

此外,这些高级存储解决方案通常将利用非常小的硬盘作为主引导硬盘,而依赖于 HBA 或 RAID 控制器来管理其余作为总体解决方案一部分所安装的硬盘。希捷建议您联系 RAID 或 HBA 控制器制造商,咨询容量超过 2.1TB 硬盘的使用情况,以确保兼容性。有些控制器制造商能够支持最新的 6Gb/秒 SAS,如果您使用的是 SATA 3Gb/秒控制器,那么将要对其进行更新。

如果您选择在现有传统控制器(不支持长 LBA 寻址)之下运行容量超过 2.1TB 的硬盘,那么必须使用模式选择限制硬盘容量,以适应您的传统控制器。

摘要
短期内要克服一些障碍,才能在台式机环境中广泛采用容量超过 2.1 TB 的硬盘,尤其是可引导硬盘。在企业市场中采用新型大容量硬盘的限制比较少,也比较简单。在详细说明中,这些情况看上去可能比较复杂,表 1 中显示了这些要求的简明摘要。

辅助硬盘(不可引导)解决方案台式机、工作站



主硬盘(可引导)解决方案台式机,工作站



分。

存储服务器或存储阵列解决方案



马上行动
如今,即使小型企业也需要海量的存储。存储需求不断增长,存储市场也不断在容量、性能和成本效率方面取得进步,较大容量硬盘仍将是要进行改进的重要部分。对于企业市场尤为如此,企业市场的数据中心和云计算随时准备采用更高容量来进行快速部署,从而可极大地推动操作效率并降低存储成本。下一代大容量硬盘突破了传统系统的限制,容量超过 2.1TB,将在 2010 年秋开始出货。要最大程度降低集成复杂性并令新型大容量硬盘为客户带来利益,系统构建商、集成商和存储解决方案提供商需要马上行动起来。

屯中小鸟 发表于 2012-4-30 10:15:10

感谢八喜哥   (49:

oldcao 发表于 2012-5-1 21:40:58

不错,学习了。

wcl8wm 发表于 2012-5-1 22:40:08

chp12156 发表于 2012-5-25 21:10:24

学习中,谢谢分享

lxw8967 发表于 2012-7-27 14:49:03

了解了,谢谢!

dopodfan 发表于 2013-1-10 19:07:33


不错,学习了。

lidan 发表于 2013-2-11 22:23:33

本帖最后由 lidan 于 2013-2-11 22:25 编辑

苹果电脑的mac os x支持64位寻址,早在几年前bios就开始使用efi,硬盘分区使用guid。不过苹果电脑很少配置大容量硬盘。

priscilla 发表于 2013-7-26 17:45:59

好帖,真是有技术含量啊.

whitebat 发表于 2014-4-10 19:18:48


多多学习 努力回复
页: [1]
查看完整版本: 硬盘技术发展简史之部署下一代大容量硬盘