部署数据和元数据在磁盘中存储位置的方法

文档序号:6463693阅读:257来源:国知局
专利名称:部署数据和元数据在磁盘中存储位置的方法
技术领域
本发明涉及数据存储技术,具体是一种在磁盘上部署数据以及元数据的物理存储位置 的方法。
背景技术
数据在磁盘上存储需要适当的格式。为此,磁盘的盘面被格式化为磁道,磁道进一步 被划分为扇区,而扇区则是磁盘实际存储数据的单位。除了扇区可作为磁盘数据存储的 单位,若干扇区也可以被组织为一个访问单位,比如页或者簇。为了能够管理扇区以及 由扇区组成的页或簇,还需要相关的元数据,以指明扇区/页/簇等所在的位置、属性等。 文件分配表所包含的信息就是典型的元数据;这样的元数据指明了一个文件使用了哪些 具体的页或簇来存储该文件的数据,从而在访问该文件时能够定位到正确的磁盘位置来 存取数据。
同数据一样,元数据往往也需要存储在磁盘中。现有技术通常是将数据和元数据分别 存储;例如Windows系统所使用的FAT16/FAT32文件分配表,是在磁盘的某一区域集中 存储文件数据所对应的元数据。数据和元数据的存储位置会影响到磁盘访问的性能。如 果需要同时访问数据及其对应的元数据,那么,磁头就需要在数据的存储位置和元数据 的存储位置之间进行移动。这种移动可能会在访问中引入额外的寻道延迟和/或旋转延 迟。在需要频繁地同时访问数据与元数据的场合,磁头在数据存储位置和元数据存储位 置之间的频繁移动就会影响磁盘访问的性能。

发明内容
本发明的目的在于提供一种部署磁盘中数据和元数据的存储位置的方法,使得在同时 需要访问数据以及元数据时,减少寻道延迟和/或旋转延迟,从而具有好的访问性能。
为实现本发明的目的,本发明所采用的技术方案是 由扇区组成访问单元;
组成同一访问单元的扇区,既存储该访问单元包含的数据,也存储该访问单元所包含 数据对应的元数据;
组成同一访问单元的扇区,在磁盘上所处的位置使得从访问第一个扇区开始,顺序依 次访问后续扇区直到访问最后一个扇区,访问期间具有最小的寻道延迟和旋转延迟。
在为实现本发明所采用的技术方案中,组成同一访问单元的扇区,是处于同一 磁道上, 间隔由交叉因子设定的距离而依次得到的扇区。
在为实现本发明所采用的技术方案中,组成同一访问单元的扇区,具有标识扇区在磁盘上所在位置的地址,且地址是由第一个扇区到最后一个扇区而逐一递增取值的。
本发明具有如下有益效果依据本发明所提出的方法而实现的磁盘存储,在需要同时 访问数据以及元数据时,能够减少磁头在数据存储位置和元数据存储位置之间移动所带 来的寻道延迟以及等待目标扇区的旋转延迟,从而提高磁盘访问的性能。


附图是本发明在磁盘上存储数据与元数据的存储位置布局图。
具体实施例方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下 进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述 的实施例。
本实施例所述的扇区是磁盘访问的基本单位或最小单位。除去标识、纠错码等信息,
扇区用于存储数据的尺寸通常为512字节。尽管还存在其它尺寸的扇区长度,通过对512 字节扇区的描述,可以直接类推运用于其它尺寸的扇区。
扇区可以被理解为磁道上分布的弧段。按照磁盘访问的过程,磁头首先寻道(即,移 动到目标扇区所在的磁道上),然后,通过盘面的旋转,读取滑过磁头的弧段而得到目标 扇区的数据。完成寻道所带来的延迟称为寻道延迟;等待目标扇区转动到磁头处所带来 的延迟称为旋转延迟。显然,对于访问依次排列在同一磁道上的相邻弧段组成的扇区, 将不需要磁头进行额外寻道和等待盘面额外旋转而能够在没有寻道延迟和旋转延迟的状 态下最快地滑过磁头而完成访问;从而,访问这样的多个扇区比起访问其它位置关系的 多个扇区,性能要更好。在实际中,由于处理完上一扇区的数据需要一定时间,磁盘会 设置交叉因子;交叉因子的设置,使得能够不需要磁头额外的移动和等待盘面额外的旋 转而能够最快被访问的连续两个扇区之间会间隔一段距离。由此可见,处于同一磁道上, 间隔由交叉因子设定的距离而依次得到的扇区,在被依次访问时,具有最小的访问延迟。 这种扇区位置的部署,往往具体表现为这些扇区具有编号逐一递增的"地址"。地址是用 于确定扇区位置的参数。假定当前扇区地址为矢,那么,位于同一磁道上,经过交叉因子 设定的距离而得到的下一扇区,地址就编为4+/。显然,具有逐一递增地址的一组扇区就 是能够以最小访问延迟被依次访问的一组扇区,从而能够以最好的性能存取这些扇区所 包含的数据。除了扇区具有地址,其它尺寸的磁盘存储单位,如页或簇等,也具有地址。 页或簇的地址与扇区地址仅是编址形式的不同,它们相互之间可以转换而实质上是一致 的。
下面的内容就以地址作为标记扇区位置的具体参数,详细描述了本发明所提出的方法 的具体实施。
如附图所示,为校验磁盘卯0的一个扇区801中所存储数据的完整性而为其创建一个 消息认证码;此时,该消息认证码就是扇区801所存储数据的元数据。同样地,为扇区
4802、扇区803和扇区804中的数据也创建有消息认证码。取创建消息认证码的函数是 MD5散列函数,则消息认证码的长度为128位。为了存储元数据(即,扇区数据的消息 认证码),把扇区801、扇区802、扇区803和扇区804中数据所对应的消息认证码,存 储在扇区800中。由此,扇区800、扇区801、扇区802、扇区803和扇区804就组成一 个访问单元;其中,扇区80K扇区802、扇区803和扇区804用于存储该访问单元所包 含的数据,而扇区800用于存储该访问单元所包含数据的元数据(即,扇区801、扇区 802、扇区803和扇区804中数据的消息认证码)。为了能够以最小的访问延迟而获取该 访问单元的数据和元数据,就令扇区800、扇区80K扇区802、扇区803和扇区804取 地址连续的扇区。也就是说,如果扇区800的地址为则扇区801、扇区802、扇区803 和扇区804的地址分别为y+7、 _/+2、 y'+3和y'+"类似地,扇区810、扇区811、扇区812、 扇区813和扇区814也组成一个访问单元,其中,扇区810用于存储扇区811、扇区812、 扇区813和扇区814中数据的元数据。同样,扇区810、扇区811、扇区812、扇区813 和扇区814取地址连续的扇区。
这样一来,当系统需要同时访问数据与元数据时,磁头将首先滑过元数据扇区800而 读取元数据,并经过交叉因子设置的距离而立即滑过与所读元数据对应的数据所在的扇 区801、扇区802、扇区803和扇区804。由此,就避免了为同时访问数据和元数据而作 额外的寻道延迟或者等待额外的旋转延迟所带来的访问性能损失。
如附图所示,以扇区800存储元数据。对于元数据长度为128位的情况,由于扇区尺 寸与元数据长度之比为(572字梦:/2S泣=32:/),为了提高元数据存储的效率,可以将 32个元数据置于扇区800中,而将从扇区801开始的32个扇区,作为存储数据的扇区; 并且,由扇区800以及从扇区801开始的32个扇区,组成一个访问单元。
如附图所示,扇区800、扇区801、扇区802、扇区803和扇区804组成一个访问单 元时,扇区800存储元数据,而扇区801、扇区802、扇区803和扇区804存储数据。扇 区800可以不具有与扇区801、扇区802、扇区803和扇区804编址方式相一致的地址; 例如,扇区800被标记为"坏扇区"而未被编有与正常扇区相一致的地址。但这样的"坏 扇区"也依然存在定位信息,并且,其定位信息也能够转换为实质上与正常扇区相连续 的地址,从而也实质上与正常扇区同属于地址连续的扇区。
如附图所示,扇区800、扇区801、扇区802、扇区803和扇区804组成一个访问单 元时,扇区800存储元数据,而扇区801、扇区802、扇区803和扇区804存储数据。从 所在位置上看,属于同一访问单元的元数据存储于数据之前。这种元数据和数据的位置 关系可以简单地变化为由扇区800、扇区801、扇区802和扇区803存储数据,而由扇 区804存储元数据;也就是,属于同一访问单元的元数据存储于数据之后。这种元数据 和数据的位置关系还可以简单地变化为由扇区800、扇区80K扇区802、扇区803和 扇区804中的任4个扇区存储数据,而由剩余的1个扇区存储元数据也就是,属于同 一访问单元的元数据的存储位置可以在数据存储位置之前、之后或之间。
除了以扇区作为数据和元数据的存储单位,本实施例给出的物理布局方案可以推广到 其它的存储单位形式。文件系统常使用页或者簇来作为磁盘读写的单位;以页/簇为单位 可以同样地运用本发明所提出的存储布局方案。例如,当文件系统使用4KB的磁盘页时(即,连续的8个扇区作为一个磁盘存储单 位),可以为每个4KB的磁盘页创建一个消息认证码;将页地址为+ /的磁盘页到页 地址为w+w的磁盘页所对应的w个消息认证码作为元数据而存储到页地址为w的磁盘页 中;这样,页地址为/ 的磁盘页到页地址为/w+w的磁盘页就组成一个访问单元。
再例如,当文件系统使用4KB的磁盘页时,可以为每个4KB的磁盘页创建一个消 息认证码;将页地址为s+7的磁盘页到页地址为的磁盘页所对应的/;个消息认证码 作为元数据而存储到位于页地址^+7磁盘页所含扇区的第一个扇区的之前一个扇区中, 或者存储到位于页地址s+p磁盘页所含扇区的最后一个扇区的之后一个扇区中。
还例如,当文件系统使用4KB的磁盘页时,可以将4KB磁盘页所含8个扇区中的 7个扇区作为存储数据的扇区,而将该7个扇区中数据对应的消息认证码存储到剩余的扇 区中。
对于元数据种类有两种或两种以上的情况,也可以类推地将两种或两种以上的元数据 与数据存储在地址连续的扇区中。比如,系统为每个数据扇区创建有64位的IV和128 位的MAC两种元数据。可以将64个64位IV元数据存储在地址为y的扇区中,将64 个128位MAC元数据存储在地址为y+/和y+2的两个扇区中,而地址从y+3至lJy+66的 64个扇区则用于存储数据。也可以将/(比如,/=2、 4、 8、 16等)个IV元数据和/ 个MAC元数据存储在地址为z的扇区中,而地址从2+y到2+/的/个扇区则用于存储数 据。
本发明并不局限于上述具体描述的实现形态,而是适用于所有的依据本发明的内容可 获得的能够将数据和元数据物理相邻地存储在磁盘盘面上的系统。这包括软件的、硬件 的以及软件硬件相结合的实现形态,以及不需其它发明性的能力而可直接获得的变化形 态。
本发明适用于所有的依据本发明的内容而构造的方法,以及不需其它创造性质的能力 而可获得的变化形式。因此,本发明适用于同这里所描述的原理与特征相一致的最广的 范围。
权利要求
1.一种部署数据和元数据在磁盘中存储位置的方法,其特征在于由扇区组成访问单元;组成同一访问单元的扇区,既存储该访问单元包含的数据,也存储该访问单元所包含数据对应的元数据;组成同一访问单元的扇区,在磁盘上所处的位置使得从访问第一个扇区开始,顺序依次访问后续扇区直到访问最后一个扇区,访问期间具有最小的寻道延迟和旋转延迟。
2. 根据权利要求1所述的组成同一访问单元的扇区,是处于同一磁道上,间隔由交叉因 子设定的距离而依次得到的扇区。
3. 根据权利要求1所述的组成同一访问单元的扇区,具有标识扇区在磁盘上所在位置的 地址,且地址是由第一个扇区到最后一个扇区而逐一递增取值的。
全文摘要
部署数据和元数据在磁盘中存储位置的方法。本发明涉及数据存储技术,具体是一种在磁盘上部署数据以及元数据的物理存储位置的方法。本发明在于通过部署数据和元数据的存储位置,使得在同时需要访问数据以及元数据时,减少磁盘访问的寻道延迟和/或旋转延迟,从而具有好的访问性能。所采用的技术要点是由扇区组成访问单元;组成同一访问单元的扇区,既存储该访问单元包含的数据,也存储该访问单元所包含数据对应的元数据;组成同一访问单元的扇区,在磁盘上所处的位置使得从访问第一个扇区开始,顺序依次访问直到访问最后一个扇区,访问期间具有最小的寻道延迟和旋转延迟。本发明所提出的方法可用于磁盘数据存储等场合。
文档编号G06F12/06GK101604292SQ200810109678
公开日2009年12月16日 申请日期2008年6月11日 优先权日2008年6月11日
发明者侯方勇 申请人:侯方勇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1