CN101295310A - 在磁盘上存储数据和元数据的方法 - Google Patents

在磁盘上存储数据和元数据的方法 Download PDF

Info

Publication number
CN101295310A
CN101295310A CNA200810038837XA CN200810038837A CN101295310A CN 101295310 A CN101295310 A CN 101295310A CN A200810038837X A CNA200810038837X A CN A200810038837XA CN 200810038837 A CN200810038837 A CN 200810038837A CN 101295310 A CN101295310 A CN 101295310A
Authority
CN
China
Prior art keywords
sector
metadata
data
disk
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA200810038837XA
Other languages
English (en)
Inventor
侯方勇
谷大武
张媛媛
宋宁楠
曾梦歧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CNA200810038837XA priority Critical patent/CN101295310A/zh
Publication of CN101295310A publication Critical patent/CN101295310A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明涉及一种数据存储技术领域的在磁盘上存储数据和元数据的方法。具体为:由两个以上数目的扇区组成访问单元;组成同一访问单元的扇区,既存储该访问单元包含的数据,也存储该访问单元所包含数据对应的元数据;组成同一访问单元的扇区,具有标识扇区在磁盘上所在位置的地址,且组成同一访问单元的扇区中第一个扇区到最后一个扇区所对应的地址,其取值是逐一递增的。本发明可用于磁盘数据存储等场合,在同时需要访问数据以及元数据时,减少寻道延迟和/或旋转延迟,从而具有好的访问性能。

Description

在磁盘上存储数据和元数据的方法
技术领域
本发明涉及一种数据存储技术领域的方法,具体是一种在磁盘上存储数据和元数据的方法。
背景技术
数据在磁盘上存储需要适当的格式。为此,磁盘的盘面被格式化为磁道,磁道进一步被划分为扇区,而扇区则是磁盘实际存储数据的单位。除了扇区可作为磁盘数据存储的单位,若干扇区也可以被组织为一个访问单位,比如页或者簇。为了能够管理扇区以及由扇区组成的页或簇,还需要相关的元数据,以指明扇区/页/簇等所在的位置、属性等。文件分配表所包含的信息就是典型的元数据;这样的元数据指明了一个文件使用了哪些具体的页或簇来存储该文件的数据,从而在访问该文件时能够定位到正确的磁盘位置来存取数据。
同数据一样,元数据往往也需要存储在磁盘中。现有技术通常是将数据和元数据分别存储;例如Windows系统所使用的FAT16/FAT32文件分配表,是在磁盘的某一区域集中存储文件数据所对应的元数据。数据和元数据的存储位置会影响到磁盘访问的性能。如果需要同时访问数据及其对应的元数据,那么,磁头就需要在数据的存储位置和元数据的存储位置之间进行移动。这种移动可能会在访问中引入额外的寻道延迟和/或旋转延迟。在需要频繁地同时访问数据与元数据的场合,磁头在数据存储位置和元数据存储位置之间的频繁移动就会影响磁盘访问的性能。
发明内容
本发明的目的在于针对现有技术的不足,提供一种在磁盘上存储数据和元数据的方法,使其在同时需要访问数据以及元数据时,减少寻道延迟和/或旋转延迟,从而具有好的访问性能。
本发明是通过以下的技术方案实现的,本发明方法中:
由两个以上数目的扇区组成访问单元;
组成同一访问单元的扇区,既存储该访问单元包含的数据,也存储该访问单元所包含数据对应的元数据;
组成同一访问单元的扇区,具有标识扇区在磁盘上所在位置的地址,且组成同一访问单元的扇区中第一个扇区到最后一个扇区所对应的地址,其取值是逐一递增的。
本发明组成同一访问单元的扇区,在被依次访问时,具有最小的访问延迟。
本发明具有如下有益效果:依据本发明所提出的方法而实现的磁盘存储,在需要同时访问数据以及元数据时,能够减少磁头在数据存储位置和元数据存储位置之间移动所带来的寻道和/或旋转延迟,从而提高磁盘访问的性能。
附图说明
图1是本发明在磁盘上存储数据与元数据的物理布局图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例所述的扇区是磁盘访问的基本单位或最小单位。除去标识、纠错码等信息,扇区用于存储数据的尺寸通常为512字节。尽管还存在其它尺寸的扇区长度,通过对512字节扇区的描述,可以直接类推运用于其它尺寸的扇区。
扇区可以被理解为磁道上分布的弧段。按照磁盘访问的过程,磁头首先寻道(即,移动到目标扇区所在的磁道上),然后,通过盘面的旋转,读取滑过磁头的弧段而得到目标扇区的数据。显然,对于访问依次排列在同一磁道上的相邻弧段组成的扇区,将不需要磁头进行额外寻道和等待盘面额外旋转而能够以最小的延迟滑过磁头;从而,访问这样的多个扇区比起访问其它位置关系的多个扇区,性能要更好。在实际中,由于处理完上一扇区的数据需要一定时间,磁盘会设置交叉因子;交叉因子的设置,使得能够不需要磁头额外的移动和等待盘面额外的旋转而以最小的延迟被访问的连续两个扇区之间会间隔一段距离。扇区总有一个称为“地址”的能够确定其位置的信息。假定当前扇区地址为k,那么,位于同一磁道上,经过交叉因子设定的距离而得到的下一扇区,地址就编为k+1。显然,具有连续地址的扇区就是能够以最小延迟被连续访问的扇区,从而能够以最好的性能存取这些扇区所包含的数据。
除了扇区具有地址,其它尺寸的磁盘存储单位,如页或簇等,也具有地址。页或簇的地址与扇区地址仅是编址形式的不同,它们相互之间可以转换而实质上是一致的。
如图1所示,本实施例为校验磁盘900的一个扇区801中所存储数据的完整性而为其创建一个消息认证码;此时,该消息认证码就是扇区801所存储数据的元数据。同样地,为扇区802、扇区803和扇区804中的数据也创建有消息认证码。取创建消息认证码的函数是MD5散列函数,则消息认证码的长度为128位。为了存储元数据(即,扇区数据的消息认证码),把扇区801、扇区802、扇区803和扇区804中数据所对应的消息认证码,存储在扇区800中。由此,扇区800、扇区801、扇区802、扇区803和扇区804就组成一个访问单元;其中,扇区801、扇区802、扇区803和扇区804用于存储该访问单元所包含的数据,而扇区800用于存储该访问单元所包含数据的元数据(即,扇区801、扇区802、扇区803和扇区804中数据的消息认证码)。为了能够以最小的访问延迟而获取该访问单元的数据和元数据,就令扇区800、扇区801、扇区802、扇区803和扇区804取地址连续的扇区。也就是说,如果扇区800的地址为j,则扇区801、扇区802、扇区803和扇区804的地址分别为j+1、j+2、j+3和j+4。类似地,扇区810、扇区811、扇区812、扇区813和扇区814也组成一个访问单元,其中,扇区810用于存储扇区811、扇区812、扇区813和扇区814中数据的元数据。同样,扇区810、扇区811、扇区812、扇区813和扇区814取地址连续的扇区。
如图1所示,当系统需要同时访问数据与元数据时,磁头将首先滑过元数据扇区800而读取元数据,并经过交叉因子设置的距离而立即滑过与所读元数据对应的数据所在的扇区801、扇区802、扇区803和扇区804。这样一来,就避免了为同时访问数据和元数据而作额外的寻道延迟或者等待额外的旋转延迟所带来的访问性能损失。
如图1所示,以扇区800存储元数据。对于元数据长度为128位的情况,由于扇区尺寸与元数据长度之比为(512字节∶128位=32∶1),为了提高元数据存储的效率,可以将32个元数据置于扇区800中,而将从扇区801开始的32个扇区,作为存储数据的扇区;并且,由扇区800以及从扇区801开始的32个扇区,组成一个访问单元。
如图1所示,扇区800、扇区801、扇区802、扇区803和扇区804组成一个访问单元时,扇区800存储元数据,而扇区801、扇区802、扇区803和扇区804存储数据。扇区800可以不具有与扇区801、扇区802、扇区803和扇区804编址方式相一致的地址;例如,扇区800被标记为“坏扇区”而未被编有与正常扇区相一致的地址。但这样的“坏扇区”也依然存在定位信息,并且,其定位信息也能够转换为实质上与正常扇区相连续的地址,从而也实质上与正常扇区同属于地址连续的扇区。
如图1所示,扇区800、扇区801、扇区802、扇区803和扇区804组成一个访问单元时,扇区800存储元数据,而扇区801、扇区802、扇区803和扇区804存储数据。从所在位置上看,属于同一访问单元的元数据存储于数据之前。这种元数据和数据的位置关系可以简单地变化为:由扇区800、扇区801、扇区802和扇区803存储数据,而由扇区804存储元数据;也就是,属于同一访问单元的元数据存储于数据之后。这种元数据和数据的位置关系还可以简单地变化为:由扇区800、扇区801、扇区802、扇区803和扇区804中的任4个扇区存储数据,而由剩余的1个扇区存储元数据;也就是,属于同一访问单元的元数据的存储位置可以在数据存储位置之前、之后或之间。
除了以扇区作为数据和元数据的存储单位,本实施例给出的物理布局方案可以推广到其它的存储单位形式。文件系统常使用页或者簇来作为磁盘读写的单位;以页/簇为单位可以同样地运用本发明所提出的存储布局方案。
例如,当文件系统使用4KB的磁盘页时(即,连续的8个扇区作为一个磁盘存储单位),可以:为每个4KB的磁盘页创建一个消息认证码;将页地址为m+1的磁盘页到页地址为m+n的磁盘页所对应的n个消息认证码作为元数据而存储到页地址为m的磁盘页中;这样,页地址为m的磁盘页到页地址为m+n的磁盘页就组成一个访问单元。
再例如,当文件系统使用4KB的磁盘页时,可以:为每个4KB的磁盘页创建一个消息认证码;将页地址为s+1的磁盘页到页地址为s+p的磁盘页所对应的p个消息认证码作为元数据而存储到位于页地址s+1磁盘页所含扇区的第一个扇区的之前一个扇区中,或者存储到位于页地址s+p磁盘页所含扇区的最后一个扇区的之后一个扇区中。
还例如,当文件系统使用4KB的磁盘页时,可以:将4KB磁盘页所含8个扇区中的7个扇区作为存储数据的扇区,而将该7个扇区中数据对应的消息认证码存储到剩余的扇区中。
对于元数据种类有两种或两种以上的情况,也可以类推地将两种或两种以上的元数据与数据存储在地址连续的扇区中。比如,系统为每个数据扇区创建有64位的IV和128位的MAC两种元数据。可以:将64个64位IV元数据存储在地址为y的扇区中,将64个128位MAC元数据存储在地址为y+1和y+2的两个扇区中,而地址从y+3到y+66的64个扇区则用于存储数据。也可以:将f(比如,f=2、4、8、16等)个IV元数据和f个MAC元数据存储在地址为z的扇区中,而地址从z+1到z+f的f个扇区则用于存储数据。

Claims (2)

1.一种在磁盘上存储数据和元数据的方法,其特征在于:
由两个以上数目的扇区组成访问单元;
组成同一访问单元的扇区,既存储该访问单元包含的数据,也存储该访问单元所包含数据对应的元数据;
组成同一访问单元的扇区,具有标识扇区在磁盘上所在位置的地址,且组成同一访问单元的扇区中第一个扇区到最后一个扇区所对应的地址,其取值是逐一递增的。
2.根据权利要求1所述的在磁盘上存储数据和元数据的方法,其特征是,所述的组成同一访问单元的扇区,在被依次访问时,具有最小的访问延迟。
CNA200810038837XA 2008-06-12 2008-06-12 在磁盘上存储数据和元数据的方法 Pending CN101295310A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA200810038837XA CN101295310A (zh) 2008-06-12 2008-06-12 在磁盘上存储数据和元数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA200810038837XA CN101295310A (zh) 2008-06-12 2008-06-12 在磁盘上存储数据和元数据的方法

Publications (1)

Publication Number Publication Date
CN101295310A true CN101295310A (zh) 2008-10-29

Family

ID=40065597

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200810038837XA Pending CN101295310A (zh) 2008-06-12 2008-06-12 在磁盘上存储数据和元数据的方法

Country Status (1)

Country Link
CN (1) CN101295310A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929789A (zh) * 2012-09-21 2013-02-13 曙光信息产业(北京)有限公司 记录组织方法和记录组织结构
CN106873917A (zh) * 2017-02-24 2017-06-20 深圳市中博睿存信息技术有限公司 一种基于磁盘的对象存储系统
CN111552439A (zh) * 2020-04-24 2020-08-18 北京云宽志业网络技术有限公司 数据存储方法、装置、系统、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929789A (zh) * 2012-09-21 2013-02-13 曙光信息产业(北京)有限公司 记录组织方法和记录组织结构
CN106873917A (zh) * 2017-02-24 2017-06-20 深圳市中博睿存信息技术有限公司 一种基于磁盘的对象存储系统
CN111552439A (zh) * 2020-04-24 2020-08-18 北京云宽志业网络技术有限公司 数据存储方法、装置、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN101099125B (zh) 群集的自动对准方法和存储器系统
CN100573476C (zh) 闪存介质数据管理方法
EP3662379B1 (en) Memory addressing
US9298384B2 (en) Method and device for storing data in a flash memory using address mapping for supporting various block sizes
CN101944115B (zh) 一种日志搜索方法和系统
KR101854200B1 (ko) 데이터 라이트 방법 및 이를 적용한 저장 장치
CN101727295B (zh) 一种基于虚拟块闪存地址映射的数据写入及读出方法
CN102087586B (zh) 数据处理方法及装置
CN107239526B (zh) 文件系统实现方法、碎片整理方法、操作位置定位方法
TWI434175B (zh) 用來進行區塊管理之方法以及記憶裝置及控制器
JP2005182793A5 (zh)
JPH1091362A (ja) 頻繁にアクセスされ、ランダムにアドレス指定されるデータの適応局所化方法及び装置
JP2007200333A (ja) オブジェクト・ベースのデータ記憶装置
CN107003809A (zh) 一种存储设备存储数据的方法及存储设备
US9454990B1 (en) System and method of conducting in-place write operations in a shingled magnetic recording (SMR) drive
US20120117297A1 (en) Storage tiering with minimal use of dram memory for header overhead
CN101645043A (zh) 写数据的方法、读数据的方法及存储设备
KR101400506B1 (ko) 비휘발성 메모리 제어기 및 그 제어 방법
CN101833510A (zh) 闪存ftl的地址转换方法
CN104834477A (zh) 基于闪存的数据写入方法和装置
CN101441596B (zh) 提高闪存介质读写速度的方法
CN108427648B (zh) 存储系统页内脏数据索引方法和装置
CN104133640B (zh) 从休眠快速恢复
CN101303667B (zh) 建立磁盘空簇表及查找磁盘空簇的方法和装置
CN103246615A (zh) 一种闪存存储设备中数据管理的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081029