用于重叠写入的盘驱动器的日志结构文件系统的制作方法

文档序号:6753577阅读:149来源:国知局
专利名称:用于重叠写入的盘驱动器的日志结构文件系统的制作方法
技术领域
本发明涉及硬盘驱动器。
背景技术
在现有的硬盘驱动器中,数据通过定位在旋转盘上方的磁记录头写入同心圆轨道。磁记录头由在写入期间使用的写入磁头元件和在读取期间使用的读取磁头元件组成。在写入期间,盘上方的磁记录头的位置由伺服机械反馈环精确控制,以便被写入的数据轨道不重叠。每个轨道的宽度取决于写入磁头元件的宽度。每个轨道的中心间隔(也称为轨道间距)稍大于轨道宽度,并且由保持磁头适当地定位在盘上方的伺服机械控制系统确定。每个轨道由宽度等于轨道间距减去轨道宽度的保护带与其相邻轨道分开。在回读期间,记录头中的回读元件被精确地定位在单个轨道上方。回读元件的宽度通常等于或小于写入轨道的宽度,以便读取磁头元件检测只来自该单个轨道而非来自相邻轨道的信号。
对于现有的硬盘驱动器,每个轨道可以随时被随机地写入而不扰乱在任何其它轨道上的数据。随机存取在盘表面上的数据的能力是硬盘驱动器的重要特性,其不被所有数据存储系统共享。
在通过引用合并于此的美国专利第6185063号中,对以部分重叠的方式写入轨道的方法进行了描述。这种重叠写入方式可以称为重叠(shingled)轨道写入。具体地讲,利用重叠轨道写入,写入数据轨道以便每个被写入的轨道与与其相邻的紧邻轨道部分重叠,就像瓦片屋顶上的瓦片一样。这样,当与第一轨道相邻的第二轨道被写入时,第一轨道被部分地覆写,当与第二轨道相邻的第三轨道被写入时,第二轨道被部分地覆写,等等。
正如在此所认识到的,与上述传统途径不同,有利的是,写入磁头的宽度可以显著地大于重叠轨道写入中的轨道间距,而回读磁头元件的宽度可以稍小于轨道间距,所以回读磁头仍然检测只来自单个轨道而非来自相邻轨道的信号。
本发明认识到,出于在下文中讨论得更加充分的原因,尽管重叠写入可以导致更高的数据存储密度,但它可能不允许随机存取写入任何任意的轨道,因为要重新写入一个轨道可能还必然要覆写存储在随后的相邻轨道上的一些信息。本发明认识到,使用多步过程来更新轨道上的数据是可能的,其中来自相邻轨道的数据被复制到别处,所期望的轨道被重新写入,然后相邻轨道被恢复到其原始状态。然而,不再有可能在单个步骤中更新任何任意轨道上的数据,所以存储机制的一部分随机存取性质被牺牲了。正如由本发明而非上面引用的专利所关键性地认识到的,结果是使用重叠轨道写入的盘驱动器可能需要与传统的硬盘驱动器不同种类的文件系统结构。

发明内容
一种硬盘驱动器(HDD)包括至少一个可旋转盘和至少一个被配置用于潜在地使用垂直记录原理向该盘写入数据的写入元件。使用重叠写入而部分重叠的两个或更多相邻的轨道组成带。HDD的存储区域可以被划分成孤立轨道和轨道的带,其中在每个带中使用重叠写入。HDD控制器控制写入元件,并使用分段的日志结构文件系统,其中每个段对应于各个带或孤立轨道。
日志结构文件系统可以优选地使用大于盘的物理扇区大小的纠错码(ECC)块大小。在ECC块的连续部分写入之间累积的纠错码奇偶校验状态被保存下来。
优选的非限制性日志结构文件系统使用虚拟地址表(VAT)来实现重叠轨道写入。VAT将虚拟扇区位置映射到实际扇区位置。VAT可使用日志结构存储方法存储在盘上、在具有可进行随机存取写入的非重叠轨道的位置和/或具有重叠写入带的区域中。VAT可以由HDD所属的RAID系统中的RAID控制器访问,以按照所需为重叠轨道写入重新映射扇区。
在另一方面,数据存储系统包括用于存储数据的盘装置和用于以轨道和带的形式向盘写入数据的装置。两个或更多轨道建立一个带,并且至少一些带是重叠的。提供了装置用来控制写入装置。控制装置使用用来建立文件系统的日志装置。
在再一方面,独立盘冗余阵列(RAID)系统包括RAID控制器和多个硬盘驱动器。每个盘驱动器包括至少一个存储盘,以及从该盘读取数据和向该盘写入数据的驱动器控制器。用于每个盘驱动器的驱动器控制器被连接到RAID控制器。根据本原理,用于每个驱动器的驱动器控制器使用日志结构文件系统在重叠的带中写入数据。


本发明的细节,关于其结构和操作,可以参照附图最好地予以理解,其中相同的标号表示相同的部件,并且其中图1是示出了在盘的内径(ID)和外径(ID)附近的致动器臂的硬盘驱动器的示意性视图;图2是部分断开的盘的重叠数据轨道的透视示意图;图3是盘上日志结构文件系统的示意图;以及图4是虚拟地址表(VAT)的示意图。
具体实施例方式
首先参照图1,示出了被一般地指定为10的数据存储系统,包括一个或更多(为清楚起见只示出一个)可旋转硬盘12,数据可以由安装在致动器臂16上的读取/写入磁头14写入到其上并且从其读取数据,致动器臂16用于在盘12上方、在盘12的数据存储区域20的内径(ID)18(在磁头14的位置22示出)和存储区域20的外径24(在磁头14的位置26示出)之间移动磁头14。磁头14和致动器16可由处理器例如硬盘驱动器(HDD)控制器28控制,该处理器依照本原理执行下述的重叠写入和文件架构。控制器28也可以存取固态数据高速缓冲存储器或缓冲器30。
依照本领域所知的HDD原理,并且如同图1所象征性地示出的,磁头14可包括写入元件32和读取元件34。磁头14可被配置用于纵向记录或用于垂直记录。
如图2所示,数据以重叠的方式写入数据存储区域20。更具体地讲,当数据被写入到第二数据轨道38时,第一(在所示的示例中,最外面的)数据轨道36被与该第一数据轨道36、正好是第一轨道36的内侧紧邻的(即相邻的)第二数据轨道38重叠。依次地,当数据被写入到与第二数据轨道38相邻的第三数据轨道40时,第二数据轨道38被第三轨道重叠。类似地,当数据被写入到与第三数据轨道40相邻的第四数据轨道42时,第三数据轨道40被第四轨道重叠。当数据被写入到与第四数据轨道42相邻的第五数据轨道44时,第四数据轨道42被第五轨道重叠。如果第五轨道44是带中的最末轨道,那么它不被任何其它轨道重叠。应当理解的是,重叠的模式可以反过来,也就是说,第一轨道36可以覆盖第二轨道38而非垫在其下,等等。尽管为了公开清楚起见,只示出了五个数据轨道,但是一个带可以包含很多数据轨道。
依照本发明,至少两个相邻的数据轨道建立一个带。在非限制性实施中,依赖于系统需要,数据存储区域20或其一部分可以被细分为孤立的轨道和带,每个带中的轨道的数量不同。这样,如果需要高吞吐量的随机存取写入,如可以是传统的信息技术(IT)数据存储应用的情况,那么可以使用孤立的轨道来存储数据,而当随机存取写入不太重要时,如在存储AV文件的情况中,可使用包含多个重叠轨道的带。
同样如图2所示,图1中示出的写入元件32的宽度“W”大于轨道间距“P”(实质上是数据轨道的宽度的非重叠部分)。然而,读取元件34的宽度稍小于轨道间距P,以便读取元件34只读取来自单个轨道的信号。利用相对宽的写入元件宽度“W”,写入元件32可以在盘12产生较高的场(field),允许盘矫顽力增大以及颗粒尺寸减小,并导致整个记录密度增大。
上述结构的组合提供的第二优点是轨道间距“P”不需要与写入磁头宽度“W”直接相关(除了带中的最末轨道),以便可以放松限制写入磁头宽度“W”的容差。
在本发明中,优选地实施分段的日志结构文件系统,其中数据被永久地存储在由包含与数据相伴随的索引信息的各段组成的日志中。这种系统在Rosenblum等著、由University of California,Electrical Engineering andComputer Science Division(Berkeley)(加利福尼亚大学电子工程和计算机科学分部(伯克利))在1991年7月书面发表、在ACM Transaction on ComputerSystem(ACM计算机系统学报),Vol.10,pp.26-52上再版并通过引用而合并于此的“The Design and Implementation of a Log-Structured File System(日志结构文件系统的设计与实现)”中进行了公开,尽管所引用的文献没有预见到在此阐述的重叠轨道写入和其它新颖的方面。关于日志结构文件系统的更详细的参考可以在Mendel Rosenblum所发表的“The Design and Implementation ofa Log-Structured File System(日志结构文件系统的设计与实现)”(KluwerInternational Series in Engineering and Computer Science(工程和计算机科学Kluwer国际从书),303)中找到。
通过简要的回顾,分段的日志结构文件系统将存储空间划分成段,每个段由相邻盘空间的大区域组成。如同在此实施的,日志结构的每个段由上述的各个带分别建立,其中一个带具有两个或更多数据轨道,尽管在一些实施中可以利用单个孤立的轨道或者甚至轨道的一部分实现小段。
参照图3,可以使用流式写入将数据写入跨越多个段的单个日志结构。当盘空间充满时,在后台运行垃圾收集机制,并清空未完全使用的段,从而把将用于写入新数据的段释放一空。利用已被垃圾收集机制释放一空的空白段,添加到日志结构的新数据以段为基础穿(thread)过段上的旧数据。
使用图3作为示例参考,应当理解的是,数据类型的顺序和数据类型的大小只是用于图示,每次创建和修改文件时(比如说,图3中的“文件1”),新数据被写入到日志的末尾,包括数据扇区50、新的信息节点(inode)结构52以识别文件中所有数据块的位置,还包括识别盘上所有信息节点位置的信息节点映射表54。包含文件的目录上的数据的“目录”信息区域56也可以写入到日志上。如果期望的话,可以将一些另外的数据结构(未示出)写入到日志上,以便在垃圾收集过程中进行协助,例如帮助识别哪些段应被清理。这些包括用于每个段的段概要数据结构,其包括关于存储在那个段中的每个数据块的作用的信息。此外,可以将段使用表写入到日志的末尾,以提供关于存储在每个段中的有效数据量的信息,以便垃圾收集机制可决定下一步清理哪些段。该文件系统还可以实现位于盘上固定位置的校验点区域(不是日志结构的部分),该校验点区域包含一些元数据信息,例如指向最近写入的信息节点映射表和最近写入的段使用表的指针。
在任何情况中,如在本重叠写入架构中所实现的,可以在固定的方向写入每个带(其表示日志结构的段),或者朝向盘外径(OD),如可能是用于内侧带的情况,或者朝向盘内径(ID),如可能是用于外侧带的情况,以便说明记录磁头的几何形状、以及相对于每个带中的轨道的自然磁头倾斜。每个带中的最末轨道可以比该带中的其它轨道宽。
此外,在本日志结构中实现的物理扇区大小优选地等于大多数IT系统上采用的标准逻辑扇区大小(通常是512字节)。这是所期望的,以便单扇区事务一传送到硬盘驱动器就可以被立即写入到日志上。
然而,有利的是,通过在ECC块的每次部分写入之后存储中间的ECC奇偶校验状态而实现每个段(带)中的大纠错(ECC)块的大小。在此情况中,ECC块的大小跨越多个物理扇区,并且因为ECC块的大小更大,所以纠错码更有效率,且能够纠正盘上较大的缺陷错误。ECC码可以用很多不同的方式实现,这些方式对ECC码设计领域中的技术人员来说是熟知的。
用于当前优选的日志结构文件系统的校验点区域被写入到盘上的固定位置。使用位于单个重叠写入带中的环形缓冲区日志结构存储区域来实现校验点区域。可以写入校验点数据的多个副本以增强数据完整性。
以一种对盘驱动器的用户完全透明的方式实现重叠轨道写入是可能的。这将涉及到图4中示出的大虚拟地址表(VAT)58的使用。利用此架构,大多数数据都将被写入盘上的日志结构。VAT 58提供每个虚拟扇区位置60(主机认为扇区所处的位置)到给实际扇区位置62(扇区实际上在盘上所处的位置)的映射。虚拟地址表优选地使用日志结构存储方法存储在盘驱动器上,或者在可进行随机存取写入的非重叠轨道中,或者在具有重叠写入带的区域中。可以由硬盘驱动器控制器、或者由RAID系统中的RAID控制器按照重叠轨道写入所需进行虚拟地址重新映射。
尽管如在此示出并详细描述的、具体的用于具有重叠写入的盘驱动器的日志结构文件系统完全能够达到本发明的上述目标,但应当理解的是,它是本发明目前的优选实施例,从而代表由本发明所广泛考虑的主题,本发明的范围完全包括其它对本领域技术人员显而易见的实施例,并因此本发明的范围将不受除了所附权利要求之外的任何物限制,其中单独提到一个元件不意味着“一个且只有一个”,除非这样明确地说明,而是“一个或更多”。设备或方法没有必要阐明由本发明寻求解决的每一个问题,因为其将被本权利要求包含。此外,在本说明中没有元件、组件或方法步骤意欲呈献给公众,不论是否在权利要求中明确叙述了该元件、组件或方法步骤。没有权利要求元件将被解释在35 U.S.C.112第六段的规定下,除非使用短语“用于...的装置”明确地阐述该元件,或者在方法权利要求的情况中,该元件被作为“步骤”而不是“动作”进行阐述。在此欠缺的表达定义、权利要求术语将被赋予与本说明和文件历史不相矛盾的全部普通的和惯常的含义。
权利要求
1.一种硬盘驱动器(HDD),包括至少一个可旋转盘;至少一个写入元件,其被配置用来以孤立轨道和带的形式向盘写入数据,其中,至少两个轨道建立一个带;以及至少一个HDD控制器,其控制所述写入元件,该控制器使用定义了段的日志结构文件系统,每个段对应于各个段和孤立轨道中的至少一个。
2.如权利要求1所述的HDD,其中至少一些带包括至少三个相邻轨道。
3.如权利要求1所述的HDD,其中所述写入元件被配置用于垂直记录。
4.如权利要求1所述的HDD,其中带中的轨道是重叠的。
5.如权利要求1所述的HDD,其中所述日志结构文件系统使用大于盘的物理扇区大小的纠错码(ECC)块大小,在ECC块的连续部分写入之间累积的ECC校验状态被保存下来。
6.如权利要求1所述的HDD,其中所述日志结构文件系统使用虚拟地址表(VAT)来实现重叠轨道写入。
7.如权利要求6所述的HDD,其中所述VAT将虚拟扇区位置映射到实际扇区位置。
8.如权利要求6所述的HDD,其中所述VAT使用日志结构存储方法存储在盘上的具有可进行随机存取写入的非重叠轨道的位置和具有重叠写入带的区域的至少一个中。
9.如权利要求6所述的HDD,其中所述HDD是包括RAID控制器的RAID系统的一部分,该RAID控制器访问所述VAT,以按照叠轨道写入所需来重新映射扇区。
10.一种数据存储系统,包括用于存储数据的盘装置;用于以轨道和带的形式向盘写入数据的装置,其中至少两个轨道建立一个带,并且其中至少一些带是重叠的;以及用于控制写入装置的装置,该用于控制的装置使用用来建立文件系统的日志装置。
11.如权利要求10所述的系统,其中至少一些带包括至少三个相邻轨道。
12.如权利要求10所述的系统,其中所述写入装置被配置用于垂直写入。
13.如权利要求10所述的系统,其中所述日志装置使用大于盘装置的物理扇区大小的纠错码(ECC)块大小,在ECC块的连续部分写入之间累积的ECC奇偶校验状态被保存下来。
14.如权利要求10所述的系统,其中所述日志装置使用虚拟地址表(VAT)来实现重叠轨道写入。
15.如权利要求14所述的系统,其中所述VAT将虚拟扇区位置映射到实际扇区位置。
16.如权利要求14所述的系统,其中所述VAT使用日志结构存储方法存储在盘装置上的具有可进行随机存取写入的非重叠轨道的位置和具有重叠写入带的区域中的至少一个中。
17.如权利要求14所述的系统,其中所述系统是包括RAID控制装置的RAID系统的一部分,该RAID控制装置访问VAT,以按照重叠轨道写入所需来重新映射扇区。
18.一种独立盘冗余阵列(RAID)系统,包括RAID控制器和多个硬盘驱动器,每个盘驱动器包括至少一个存储盘和至少一个从盘读取数据和向盘写入数据的驱动器控制器,其中,用于每个盘驱动器的驱动器控制器连接到RAID控制器,用于每个驱动器的该驱动器控制器使用日志结构文件系统在重叠带中写数据。
19.如权利要求19所述的RAID系统,其中至少一些带包括至少三个相邻轨道。
20.如权利要求19所述的RAID系统,其中所述盘驱动器被配置用于垂直写入。
21.如权利要求19所述的RAID系统,其中所述日志结构文件系统使用大于盘的物理扇区大小的纠错码(ECC)块大小,在ECC块的连续部分写入之间累积的ECC奇偶校验状态被保存下来。
22.如权利要求19所述的RAID系统,其中所述日志结构文件系统使用虚拟地址表(VAT)来实现重叠轨道写入。
23.如权利要求22所述的RAID系统,其中所述VAT将虚拟扇区位置映射到实际扇区位置。
24.如权利要求22所述的RAID系统,其中所述VAT使用日志结构存储方法存储在盘上的具有可进行随机存取写入的非重叠轨道的位置和具有重叠写入带的区域中的至少一个中。
25.如权利要求22所述的RAID系统,其中所述RAID控制器访问VAT,以按照重叠轨道写入所需来重新映射扇区。
全文摘要
使用重叠写入原理将数据写入硬盘驱动器中,也就是说,当紧邻的数据轨道被写入时,每个数据轨道被部分地覆写。两个或更多相邻的数据轨道建立一个带,并且带建立日志结构文件系统中的各个段。
文档编号G11B5/55GK1601612SQ20041007706
公开日2005年3月30日 申请日期2004年9月10日 优先权日2003年9月26日
发明者理查德·M·H·纽, 马森·L·威廉斯 申请人:日立环球储存科技荷兰有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1