硬盘驱动器上的冗余数据的制作方法

文档序号:6747748阅读:283来源:国知局
专利名称:硬盘驱动器上的冗余数据的制作方法
硬盘驱动器上的冗余数据 背景 当前,硬盘驱动器所消耗的许多功率只是为了克服旋转时的轴承摩擦。驱动器旋转越快,消耗的功率越多,但当目标扇区到达读取磁头越快时,平均数据存取等待时间越低。反之,使驱动器旋转越慢能使消耗功率越少,但会增加数据存取等待时间。系统设计者必须进行折衷,并决定牺牲哪个合需品质——更低功耗还是更快数据存取。
附图简述 通过参照以下描述和用于示出本发明实施例的附图,可理解本发明的某些实施例。在附图中

图1示出根据本发明实施例的基于磁盘的数据存储系统。 图2示出根据本发明实施例的在多个扇区中读取和写入复制数据的方法的流程图。 详细描述 在以下描述中,陈述了多个具体细节。然而,应当理解的是,可不通过这些具体细节来实施本发明的实施例。在其它实例中,未详细示出众所周知的电路、结构以及技术,以免混淆对本描述的理解。 对"一个实施例"、"实施例"、"示例实施例"、"多个实施例"等等的引用表明所描述的本发明的实施例可包括特定特征、结构或特性,但并非每个实施例都一定包括该特定特征、结构或特性。此外,某些实施例可具有针对其它实施例所描述的特征中的部分、全部特征或不具有那些特征。 在以下描述和所附权利要求中,可能使用术语"耦合"和"连接"以及它们的派生词。应当理解的是,这些术语不意味着它们是彼此的同义词。相反,在特定实施例中,"连接"可能用于指示两个或多个元件相互直接物理接触和/或电接触。"耦合"用于指示两个或多个元件配合或相互作用,但它们可能或可能不直接物理或电接触。 如所附权利要求中所使用的那样,除非另外指明,否则使用序数定语"第一"、"第
二"、"第三"等来描述普通的元件仅仅意味着指代相同元件的不同实例,而不旨在暗示所描
述的这些元件必须在时间上或空间上处于给定的顺序、等级或任何其它方式。 本发明的多个实施例可实现于硬件、固件以及软件的一个或任何组合中。本发明
还可实现为机器可读介质之中或之上所包含的指令,这些指令可由一个或多个处理器读取
和执行,以实现本文中所描述的操作的性能。 一种机器可读介质可包括用于以机器(例如,
计算设备)可读的形式存储、发送和/或接收信息的任何机构。例如,机器可读介质可包括
有形的存储介质,诸如包括但不限于只读存储器(R0M)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备等。机器可读介质还可包括已被调制成编码这些指令的传播信号,诸如包括但不限于电磁、光或声载波信号。 在本发明的多个实施例中,可在磁盘驱动器的同一磁道上的多个扇区中存储相同的数据。当读取该数据时,首先通过磁头下方的扇区将是被读取的扇区。以这种方式,可将平均存取等待时间降低两倍或更多倍。或者,可降低磁盘驱动器的旋转速率以省电,但复制扇区可防止存取等待时间时间上升超过具有无复制扇区的更快旋转的磁盘。在某些实施例中,这些复制扇区可环绕磁道等距地间隔开(例如,处于相对两侧的两个冗余扇区,或分开约120度的三个冗余扇区等)。 图1示出根据本发明实施例的系统。在图1所示的实施例中,系统100包括耦合至磁盘控制器120的处理器130,该磁盘控制器120又耦合至磁盘驱动器110。此处示出的特定示例示出了受软件135控制的处理器的操作和受固件125控制的磁盘控制器的操作,但其它实施例可使用不同的技术。例如,磁盘控制器l)可硬连接以执行其功能、2)可受状态机控制、3)可使其操作主要受系统处理器控制、4)可受驱动器或应用层中的操作系统控制、5)可使用这些技术的组合、6)等等。 磁盘驱动器110的概念图示出了盘片112、读取盘片112的磁表面上的数据且向其上写入数据的读/写磁头组件115、以及磁头定位机构114,该机构通过将磁头115从盘片112的中心移至精确的距离而能将磁头115移动至特定磁道。图1还示出了盘片112被径向划分成8个扇区且同心划分成5个磁道。这些磁道和扇区可以不是物理部件,而是盘片表面被分配用于数据存储的区域。当盘片旋转一整圈时,单个磁道的所有8个扇区都会通过读/写磁头115下方,从而允许磁头沿磁道的路径读取或写入数据。磁头定位机构可移动以将磁头定位在不同的磁道上方。通过识别特定磁道和特定扇区,定位磁头和旋转盘片的组合可允许数据在指定磁道和扇区被读取或写入。作为示例,图1示出了磁头115当前定位于扇区7磁道2上方。 为说明简单和清楚起见,该示例仅示出了 5个磁道和8个扇区,但其它实施例可具有任何可行的数量的磁道和扇区(例如数百个磁道、许多扇区等)。在某些实施例中,磁道和/或扇区的数量可由控制器120指定,该控制器120通过在表面上写入格式化数据并将格式化信息存储在控制器中,可格式化盘片表面。 在常规系统中,可向单个磁道上的单个扇区写入规定的数据量,该单个扇区和磁道可基于多种因素来选择,诸如但不限于尚未包含有效数据从而可用于存储的磁道/扇区。稍后可从同一扇区/磁道读取所存储的数据。可保存哪些数据存储在哪个扇区/磁道上的列表,以便从磁盘驱动器找出和检索数据。虽然为了各种目的有时可冗余地存储数据(例如用于备份、作为暂存式数据、由不同程序使用/修改等),但一般都基于可用的存储空间来选择该冗余数据的扇区/磁道位置。在常规的系统中,存储原始数据的物理位置与存储冗余数据的物理位置之间无关联,而且数据的不同副本被应用程序识别为不同的数据集。 然而,在本发明的多个实施例中,为了改善读存取时间,可将复制数据存储在同一磁道的多个扇区中。例如,以图1的扇区/磁道为例,可将数据存储在扇区4磁道l,而且可将相同的数据存储在扇区8磁道1,即盘片的相对侧。使用该数据的应用程序可能不知道存在该数据的不同副本,而是简单地从单个已知位置请求数据。 一旦请求该数据,磁盘控制器就可将磁头移动至适当的磁道,确定该磁道的哪个扇区将首先通过读取磁头,并从该扇区读取数据,从而相比常规系统而言提供更快的平均数据存取时间。因为这两个副本不被认为是不同的数据集,如果修改一个副本中的数据,则必须以相同的方式修改另一副本中的该数据,从而它们仍将表示同一数据的相同副本。 上述示例描述了数据的两个副本,但其它实施例可在不同扇区提供三个、四个或更多个副本。在某些实施例中,复制扇区可环绕磁道等距间隔开。如果各个磁道中的扇区数量不允许等间距,则可使用最接近等距(例如,如果每个磁道有16个扇区,而且使用了三个复制扇区,则可选择5、5以及6的间距)。在另一示例中,两个选定的扇区之一可能不能写入,因为其中已经具有有效数据,但毗邻的扇区可能可用。在这样的情况下,某些实施例可选择毗邻的扇区以供写入。虽然该复制扇区将不再等距,但它们可足够接近相等间距从而仍能提供平均存取时间的优点。 图2示出根据本发明实施例在多个扇区中读取和写入复制数据的方法的流程图。在流程图200中,可在操作210-230中向多个扇区写入相同数据,而在操作240-280中可稍后从那些扇区之一读取该数据。 在210,磁盘控制器可接收通过将该数据的扇区写在盘片上而将数据存储在磁盘驱动器上的请求。在220,可找出可用于写入新数据、而且以可接受的间距环绕磁道分隔开(例如在磁道的相对两侧的两个扇区)的多个扇区。在230,可将相同的数据写入那些多个扇区中的每一个扇区。 稍后,当应用程序想要读取所存储的数据时,可在240接收读取数据的请求。可在250识别包含该数据的复制副本的两个(或更多个)扇区,从而读取磁头在260移至包含那些扇区的磁道。在270,可确定那些多个扇区中的哪一个扇区能被最快地读取(例如哪个扇区将首先通过读取磁头下方)。该信息可容易地确定,因为许多磁盘驱动器都能至少以合理的准确度识别哪个扇区当前在读取磁头下方。在280,可从在270被识别为第一可用的扇区中读取该数据。 在替代的读取过程中,在识别包含复制数据的扇区之后,磁盘控制器可发起从两个扇区的读取操作,而不尝试确定哪个是最快可用的扇区。第一个被读取的扇区将最快地提供该数据。可随后读取另一扇区,但可忽略该数据,因为已经不再需要。在某些实施例中,系统可从各个复制扇区读取,而且在一个扇区中存在数据损坏的情况下,系统能监测和纠正错误。 虽然本文中的描述一般描述单个扇区的数据的读取和/或写入,但某些数据可能大到足以需要多个数据存储扇区。在这种情况下,可在磁道上的多个位置中的每一个中找出用于存储数据的邻近扇区(例如,可将两个扇区的数据存储在扇区2和3中的磁道,并可将该数据的复制集合存储在相对侧上的扇区6和7中的磁道)。 或者,当多个相关扇区分散时,通过连接信息以将它们串链到一起(例如,可将第一扇区的信息写在扇区4和8中的磁道2上,而可将第二扇区的信息写在扇区1和5中的磁道3上),第一扇区的各个副本可具有链接至第二扇区的任一副本的信息(利用同一示例,磁道2扇区4会链接至磁道3的扇区1和5,而磁道2扇区8还可链接至磁道3的扇区1和5)。 又或者,可指定信息的各个扇区的仅一个副本,并以常规方式将其链接至下一扇区,但可假定每个指定的扇区在同一磁道的相对扇区中具有复制副本(或在任何情况下使用了均匀扇区间距)。 虽然上述文本仅描述了单个盘片的单面,但某些实施例可将数据存储在盘片的两面上,和/或可具有多个盘片,每个盘片具有它自己的读/写磁头。还可将以上讨论的原理应用于那些盘片、面以及读/写磁头中的每一个。在某些实施例中,包含数据的复制副本的
6扇区可位于不同的盘片或面上。例如,数据的一个副本可位于盘片2的扇区3磁道1面1 中,而数据的复制副本可位于盘片3的扇区7磁道1面2中。如果将不同盘片/面的读取 磁头安装成使它们在同一时刻都定位于同一扇区上方,则可使用针对单个盘片的单面所描 述的相同的一般过程。 除了实现读取数据的更快平均存取时间的优点之外,可从本文描述的技术中获得 许多其它优点。例如,可放慢磁盘盘片的旋转速率,从而将平均存取时间提高至常规磁盘系 统中的时间,但磁盘旋转电机的功耗更低。或者,通过折衷这两个考虑因素,可获得较慢的 旋转速率和较快的存取时间的组合。 上述描述旨在说明而非限制。本领域技术人员可想到各种变型。那些变型旨在被 包括在本发明的多个实施例中,本发明仅由所附权利要求的精神和范围限定。
权利要求
一种装置,包括磁盘驱动器控制器,所述磁盘驱动器控制器被配置成通过向磁盘驱动器的同一磁道上的多个扇区中的每一个中写入相同数据来执行写入操作;以及通过从所述多个扇区中可最快读取的一个扇区中读取所述数据来执行读取操作。
2. 如权利要求1所述的装置,其特征在于,所述多个扇区环绕所述磁道接近等距。
3. 如权利要求1所述的装置,其特征在于,所述多个扇区包括三个扇区。
4. 如权利要求1所述的装置,其特征在于,所述多个扇区包括在所述磁盘驱动器的彼 此相对两侧上的两个扇区。
5. 如权利要求1所述的装置,其特征在于,所述执行读取操作包括 确定所述多个扇区中的哪一个能最快读取;以及从所述多个扇区中的被确定为能最快读取的那个扇区中读取所述数据。
6. 如权利要求1所述的装置,其特征在于,还包括耦合至所述磁盘驱动器控制器的磁 盘驱动器。
7. 如权利要求1所述的装置,其特征在于 所述磁盘驱动器的转速会被降低;由所述转速降低引起的数据等待时间增大会被由具有可从所述多个扇区获得的数据 引起的数据等待时间减小至少部分地抵消。
8. —种方法,包括 接收将数据写入磁盘驱动器的请求;确定同一磁道上可用于写入且环绕所述磁道接近等距的多个扇区;以及 将所述数据写入所述多个扇区中的每个扇区。
9. 如权利要求8所述的方法,其特征在于,还包括接收读取被写入所述磁盘驱动器的所述数据的请求; 从所述多个扇区中的能最快读取的 一个扇区中读取所述数据。
10. 如权利要求9所述的方法,其特征在于,所述读取所述数据包括 确定所述多个扇区中的哪一个将能被最快读取;以及 从被确定为可最快读取的所述扇区执行读取操作。
11. 如权利要求8所述的方法,其特征在于,还包括 接收读取被写入所述磁盘驱动器的所述数据的请求; 确定所述数据被写入哪个扇区; 指定对所有被写入的所述扇区的读取操作;以及 使用来自最快读取的扇区的数据。
12. —种制品,包括有形的机器可读介质,所述机器可读介质包括指令,所述指令在被一个或多个处理器 执行时导致执行包括以下的操作接收将数据写入磁盘驱动器的请求;确定所述磁盘驱动器的同一磁道上的可用于写入且环绕所述磁道接近等距的多个扇 区;以及将所述数据写入所述多个扇区中的每一个扇区。
13. —种制品,包括有形的机器可读介质,所述机器可读介质包括指令,所述指令在被一个或多个处理器执行时导致执行包括以下的操作接收从磁盘驱动器读取数据的请求,其中所述数据的多个副本被存储在所述磁盘驱动器的同一磁道的多个扇区上;以及从所述磁盘驱动器读取所述数据。
14. 如权利要求13所述的制品,其特征在于,还包括以下操作在从所述磁盘驱动器读取所述数据之前,确定存储有所述数据的扇区;在从所述磁盘驱动器读取所述数据之前,确定存储有所述数据的所述扇区中的可被最快读取的特定扇区;以及发起对所述特定扇区的读取操作。
15. 如权利要求13所述的制品,其特征在于,还包括以下操作在从所述磁盘驱动器读取所述数据之前,确定存储有所述数据的多个扇区中的至少一个扇区;发起对所述多个扇区中的所述至少一个扇区的读取操作;以及从所述多个扇区中的能被最快读取的特定扇区接收所述数据;以及使用来自所述特定扇区的所述数据。
全文摘要
可在磁盘驱动器的同一磁道上的不同扇区中存储数据的复制副本。当读取该数据时,可从最早通过读取磁头下方的扇区读取该数据,从而降低数据存取等待时间。在某些实施例中,复制扇区可环绕磁道等距间隔开。在某些实施例中,可降低磁盘驱动器的转速以省电,而且一般由转速降低而产生的数据等待时间增大能被通过使用数据在不同扇区中的多个副本而产生的数据等待时间降低至少部分地抵消。
文档编号G11B5/09GK101772806SQ200880101553
公开日2010年7月7日 申请日期2008年8月4日 优先权日2007年8月5日
发明者J·珀萨门蒂尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1