CN107229664B - 用于管理文件系统元数据的间接数据结构 - Google Patents
用于管理文件系统元数据的间接数据结构 Download PDFInfo
- Publication number
- CN107229664B CN107229664B CN201610403879.3A CN201610403879A CN107229664B CN 107229664 B CN107229664 B CN 107229664B CN 201610403879 A CN201610403879 A CN 201610403879A CN 107229664 B CN107229664 B CN 107229664B
- Authority
- CN
- China
- Prior art keywords
- metadata
- file system
- storage
- smr
- region
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文描述了管理数据存储设备中的文件系统元数据的系统、方法和软件。在一个示例中,数据存储设备包括第一存储区、叠瓦式磁记录(SMR)区和存储控制系统。存储控制系统被配置成:为SMR区中的用户数据维持在第一存储区的元数据位置中的文件系统元数据。存储控制系统被进一步配置成:响应于元数据位置中的文件系统元数据满足的使用条件,识别SMR区中的元数据位置以重新指引和存储文件系统元数据。存储控制系统还被配置成:维持在第一区的元数据位置中的间接数据结构,该间接数据结构将SMR区中的元数据位置关联到文件系统元数据。
Description
技术领域
本发明涉及数据存储领域。
背景技术
诸如硬盘驱动器和固态驱动器的存储设备为主机处理系统提供存储介质,以存储和读取各种数据对象。这些数据对象可包括图像、视频、word文档、电子表格、以及能够由主机处理系统处理的各种其他文件类型。为了使得存储介质可用于主机系统,可使用小型计算机系统接口(SCSI)总线、串行附连SCSI(SAS)总线、串行ATA(SATA)总线、外围组件互连快速(PCIe)总线、光纤信道或者一些其他类似的接口或总线而将存储设备中的一个或多个通信地耦合到系统。
在一些示例中,硬盘驱动器可包括垂直磁记录(PMR)区和叠瓦式(shingled)磁记录(SMR)区的组合。PMR区读取并向彼此分离的单独的磁道写入数据,以防止数据被覆盖。相反,SMR通过写入在硬盘上一起并行靠近的一组磁道而工作,类似于屋顶叠瓦式,允许来自一个磁道的数据部分覆盖另一个磁道上的数据。相应地,必须防止写入到盘驱动器的SMR部分的数据完全覆盖先前在存储介质中存储的数据。
除了在存储设备上存储的用户数据之外,还可能存储有文件系统元数据,该文件系统元数据包括文件或目录名称、文件的内容的长度以及文件夹层次结构中文件的位置,以及其他可能的文件或目录元数据。然而,随着硬盘密度的增加并且SMR驱动器更加普及,用于SMR区的元数据的存储可能是具有挑战性的。
发明内容
本文公开的示例提供管理数据存储设备中的文件系统元数据的系统、方法和软件。在一个示例中,含具有第一存储区和叠瓦式磁记录(SMR)区的旋转的磁存储介质的数据存储设备包括存储控制系统,存储控制系统被配置成为在SMR区中存储的用户数据维持在第一存储区的元数据位置中的文件系统元数据。响应于元数据位置中的文件系统元数据满足使用条件,存储控制系统被进一步配置成识别SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储,并且在SMR区中的一个或多个元数据位置中存储至少文件系统元数据的子集。存储控制系统还被配置成维持在第一区的元数据位置中的间接数据结构,该间接数据结构将SMR区中的一个或多个元数据位置关联到文件系统元数据。
在进一步的示例中,一种用于管理数据存储设备中的文件系统元数据的装置包括一个或多个非临时性计算机可读介质,该数据存储设备具有第一存储区和SMR区。该装置进一步包括:在一个或多个非临时性计算机可读介质上存储的处理指令,该处理指令在由处理系统执行时指引处理系统,以为在SMR区中存储的用户数据维持在第一存储区的元数据位置中的文件系统元数据。该处理指令进一步指引处理系统:响应于元数据位置中的文件系统元数据满足使用条件,识别SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储,并且在SMR区中的一个或多个元数据位置中存储至少文件系统元数据的子集。该处理指令还指引处理系统:维持在第一区的元数据位置中的间接数据结构,该间接数据结构将SMR区中的一个或多个元数据位置关联到文件系统元数据。
在另一个示例中,一种管理数据存储设备上的文件系统元数据的数据系统包括:数据存储设备上的第一存储区和数据存储设备上的SMR区。该数据系统还包括处理系统,该处理系统被配置成:为在SMR区中存储的用户数据维持在第一存储区的元数据位置中的文件系统元数据,并且响应于元数据位置中的文件系统元数据满足使用条件,识别SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储,并且在SMR区中的一个或多个元数据位置中存储至少文件系统元数据的子集。该处理系统被进一步配置成:维持在第一区的元数据位置中的间接数据结构,该间接数据结构将SMR区中的一个或多个元数据位置关联到文件系统元数据。
附图说明
下面的说明书和相关联的附图教导发明的最佳模式。为了教导发明原理的目的,可简化或省略最佳模式的一些常规方面。随后的权利要求指定发明的范围。注意:最佳模式的一些方面可不落在如由权利要求指定的发明的范围内。因此,本领域技术人员可理解来自最佳模式的落入发明的范围内的变型。本领域技术人员可理解:以下描述的特征可以各种方式来组合,以形成发明的多个变型。结果,发明不限于以下描述的具体示例,而是仅由权利要求及其等同物限制。
图1图示用于管理文件系统元数据的数据系统。
图2图示操作存储控制系统以管理文件系统元数据的方法。
图3A图示管理数据存储设备中的文件系统元数据的概览。
图3B图示管理数据存储设备中的文件系统元数据的概览。
图4图示在数据存储设备中存储文件系统元数据的概览。
图5图示根据一个示例的间接表。
图6图示具有多个存储介质区的数据存储设备。
图7图示主机系统以通信地耦合到数据存储设备。
具体实施方式
诸如硬盘驱动器和固态驱动器的存储设备往往用在计算系统中,以为主机处理系统存储数据对象。这些数据对象往往包括音频文件、视频文件、word文档、电子表格、图像或任何其他类型的文件。为了使得存储设备可用于主机处理系统,存储设备必须被通信地链接到主机处理系统,以使能两个系统之间的通信。该通信链接可包括:小型计算机系统接口(SCSI)总线、串行附连SCSI(SAS)总线、串行ATA(SATA)总线、外围组件互连快速(PCIe)总线、光纤信道或一些其他类似的接口或总线。
在本示例中,存储设备包括垂直磁记录(PMR)区或一些其他非叠瓦式磁道类型记录区和叠瓦式磁记录(SMR)区。PMR区读取并向单独的磁道写入数据而不重叠相邻磁道,以防止先前写入的数据被写入操作无意中损坏。相反,SMR通过在硬盘上用轻微的重叠写入相邻磁道而工作,类似于屋顶叠瓦式。因此,来自一个磁道的数据可部分叠加另一个磁道上的数据。通过重叠磁道,实现更高密度的磁道布置,并且更多用户数据可被存储到相同物理大小的磁盘。然而,SMR区中磁道的紧密间距和重叠会需要更多结构化或管理的写入操作,因为写入第一磁道可以影响相邻重叠磁道的先前写入的数据。因此,SMR区通常被大部分磁道突发写入,以使对先前写入的数据的损坏最小化。
在同时包括PMR和SMR区的盘驱动器的示例中,用于数据对象或文件的元数据可存储在PMR区中,尽管用户数据可位于SMR区中。然而,随着元数据数量由于具有SMR区的更高存储密度的盘驱动器而增加,PMR区对元数据会不具备所必须的存储空间。
为了为PMR和SMR设备管理文件系统,文件系统元数据存储在PMR部分中,允许主机根据设备上用户数据的变化而识别、发现并改变元数据。为了为元数据腾出更多空间,位于设备上或被实现为主机处理系统内的进程的存储控制系统可被识别为文件系统元数据满足使用条件。该条件可包括:占据预定数量的存储位置的元数据,达到预定数量的使用的空间的盘的PMR区,或任何其他类似的使用条件。一旦满足条件,SMR区内的一个或多个位置可被识别以存储元数据的至少一部分,并且元数据可存储在识别的SMR存储位置内。
响应于将元数据的至少一部分存储到SMR区,可在管理或识别盘上的各种文件系统元数据的位置的PMR区中维持间接数据结构。例如,当主机生成文件系统元数据请求时,间接数据结构可用于识别在设备的PMR或SMR区的任一个中的元数据的位置。一旦识别了位置,可从PMR或SMR部分检索数据。在一些示例中,为了确定哪些元数据对象应当存储在设备的SMR区内,存储控制系统可识别最近还未被请求或修改的元数据对象。因此,不太可能被修改的元数据可存储在设备的SMR区中,而较可能被修改的元数据可存储在设备的PMR区中。
为了进一步举例说明存储设备内的文件系统元数据的存储,提供了图1。图1图示数据系统100以管理文件系统元数据。数据系统100包括数据存储设备110和主机系统120。数据存储设备110进一步包括:可包括PMR区或一些其他非叠瓦式磁道类型的第一介质区115,SMR介质区116,读取和写入头112,以及存储控制系统111。读取和写入头112可以读取并向介质区115-116写入数据,并且通信地耦合到数据存储设备110的存储控制系统111或其他元件。数据存储设备110和存储控制系统111通过通信链接130与主机系统120通信。
在操作中,数据存储设备110可以为以后的检索存储计算机可读数据,诸如用户数据、系统数据、交换文件数据等等。主机系统120可以通过总线130至少控制数据存储设备110的数据存储和检索操作,以及控制到诸如处理系统、网络接口等等的其他系统和装备的数据转移。
如上所提及的,在数据存储设备110的操作期间,文件系统元数据可存储在设备上,该设备对应于也存储在该设备上的用户数据。该元数据信息可包括文件名称、文件大小、用于文件中每一个的目录信息,以及各种其他信息。元数据可被存储为一个或多个索引节点(inode)数据结构、文件分配表(FAT)、或能够为文件系统管理元数据的一些其他数据结构。这里,文件系统元数据最初被存储在第一介质区115中,以反映在SMR介质区116中存储的用户数据。随着更多的数据被存储到数据存储设备110,第一介质部分115可能不能够为文件系统存储所有的元数据。相应地,存储控制系统111可发起将元数据的至少一个子集转移到SMR介质区116。虽然图示在数据存储设备110内,但是应当理解的是:存储控制系统111的元数据操作可能被完全或部分地实现为主机系统120内的进程。
为了图示存储系统100的操作,提供了图2。图2图示操作存储控制系统以管理文件系统元数据的方法。以下附加说明地引用图2的操作。在图2中,存储控制系统111为在SMR介质区116中存储的用户数据维持(201)在第一介质区115的元数据位置中的文件系统元数据。该元数据由主机系统120用于识别关于在设备上存储的用户数据的每个对象的位置、大小、名称和其他信息。响应于位置中的文件系统元数据满足使用条件,存储控制系统111识别(202)SMR介质区116中的一个或多个元数据位置,以重新指引至少文件系统元数据的子集的存储,并且至少在SMR介质区116的一个或多个位置中存储文件系统元数据的子集。
在一些示例中,第一介质区115可能不能包括足够的存储空间来为SMR介质区116中的所有用户数据存储文件系统元数据。相应地,存储控制系统111可识别何时元数据满足使用条件并且将至少一部分的元数据的存储指引到SMR介质区116。该条件可包括:在第一介质区115中存储的预定数量的元数据、在第一介质区115中的预定数量的总数据、或与第一介质区115有关的任何其他类似的存储条件。
一旦元数据的子集被指引到SMR介质区116,存储控制系统111维持(203)在第一介质区115的元数据位置中的间接数据结构,间接数据结构将SMR介质区116中的一个或多个元数据位置关联到文件系统元数据。在至少一个实例中,间接数据结构包括间接表,间接表被配置成将来自主机系统120的文件系统的逻辑块地址(LBA)关联到SMR介质区116中文件系统元数据的物理块地址(PBA)。因此,主机系统120可识别间接数据结构的位置,并使用数据结构来识别SMR介质区116内元数据的位置。此外,在一些实例中,除了用于SMR介质区116内的元数据的条目之外,间接表还可包括用于第一介质区115中的元数据的条目。相应地,当识别来自主机系统120的元数据请求时,数据结构可用于将请求同时指引到介质区115-116。
虽然在图1中被图示为存储设备110的部分,但是应当理解的是:存储控制系统111的所述的操作可能被完全或部分地实现为主机系统120的进程。例如,主机系统120可能包括具有管理间接数据表并同时在介质区115-116中存储元数据的能力的文件系统。
现在参考图3A,图3A图示管理数据存储设备中的文件系统元数据的概览300。概览300包括数据存储设备310和主机320。数据存储设备310进一步包括存储介质301、在一些示例中可包括PMR介质区的第一介质区302、SMR介质区303和存储控制系统305。存储控制系统305包括处理指令,该处理指令为主机320指引数据存储设备310存储用户数据350和元数据330,如本文所述。
特别地,存储控制系统305在第一介质区302中存储文件系统元数据330,文件系统元数据330对应于在SMR介质区303中存储的用户数据350。该元数据可包括文件或目录的名称、文件的大小、创建或修改的文件或目录的时间、或者其他类似的文件系统元数据。随着更多的用户数据被存储到SMR介质区303,第一介质区302可能不具备充足的存储来正确地管理新的用户数据涉及的文件系统元数据。相应地,存储控制系统305被配置成识别何时在第一介质区302中存储的文件系统元数据满足使用条件。当元数据使用第一介质区302中预定义数量的存储时,当预定义数量的存储随着第一介质区302内的所有数据耗尽时,或者用于第一介质区302的任何其他使用基础时,该识别会发生。
响应于满足条件,存储控制系统305识别元数据子集332,并且发起元数据子集332的存储,元数据子集332是元数据330的子集。在一些实例中,可基于何时最后一次修改或创建元数据来识别元数据子集332。相应地,可在SMR介质区303内转移并存储元数据,该元数据满足修改元数据的时间所涉及的修改标准。例如,存储控制系统305可识别最近修改的元数据的子集,并在SMR介质区303中存储元数据。类似地,因为目录元数据会比文件元数据更经常地被修改,文件元数据的子集可存储在SMR介质区303中,而目录元数据仍然在第一介质区302中。
随着元数据子集332被转移到SMR介质区303,存储控制系统305维持间接数据结构340以管理SMR介质区303中的文件系统元数据的位置。数据结构340允许来自主机320的请求被翻译并指引到第一介质区302或SMR介质区303中适当的存储位置。例如,存储控制系统305可向主机320报告数据结构340的固定位置。响应于该报告,主机中的文件系统可询问数据结构340以确定存储介质301中元数据的位置,识别或读取存储介质301中的元数据,或修改存储介质301中的元数据。
作为存储控制系统的可替代示例,提供图3B。图3B图示管理数据存储设备中的文件系统元数据的概览360。在这里,概览360包括与来自图3A的存储控制系统305相反的存储控制系统306。存储控制系统306在主机320内作为进程执行,以提供至少与所述的用于存储控制系统305的类似的操作。在至少一个示例中,存储控制系统306可包括文件系统进程,该文件系统进程被配置成存储和管理在存储设备310上的用户数据和文件系统元数据。
特别地,当被实现为主机320上的进程时,存储控制系统306可为在SMR介质区303中存储的用户数据350维持在第一介质区302的元数据位置中的文件系统元数据330。存储控制系统306可进一步识别何时文件系统元数据330满足条件,并识别SMR介质区303中的一个或多个元数据位置,以重新指引文件系统元数据330的至少一个子集的存储。此外,存储控制系统306可维持在第一介质区302中的数据结构340,数据结构340将SMR介质区303中的一个或多个元数据位置关联到文件系统元数据。因此,当主机320请求特定的文件系统信息时,主机可引用数据结构340,以确定在第一介质区302或SMR介质区303中的数据的位置。
为了进一步图示存储控制系统的操作,提供图4。图4图示根据一个示例的在数据存储设备中存储文件系统元数据的概览400。概览400包括第一介质区401和SMR介质区402。如所图示的,第一介质区401存储间接表500以及对应于用户数据420的元数据对象410-415,尽管在一些示例中可存储其他数量的元数据。在存储设备的操作期间,在存储设备中或在主机中实现的存储控制系统可识别文件系统元数据满足使用标准。该使用标准可包括:在第一介质区401中存储的特定数量的元数据,在第一介质区401中存储的预定数量的总数据,或与第一介质区401中数据的数量相关的任何其他使用信息。在其他实例中,不是参考第一介质区401中的数据数量,使用条件可基于将元数据转变到SMR介质区402的周期性的时间。例如,存储控制系统可被配置成每隔十分钟或一些其他周期性的时间表而将元数据移位到SMR介质区402。
响应于识别满足使用条件,存储控制系统为元数据410-415的至少一个子集的存储识别在SMR介质区402中的一个或多个元数据位置。一旦确定位置,在这种情况下包括元数据410-412的元数据的子集被转移到SMR介质区402。一旦在SMR区中存储元数据,可删除第一介质区401中的元数据410-412以在第一介质区中提供更大数量的存储空间。在一些示例中,元数据的子集的确定可基于元数据已由主机或存储控制系统修改多久。相应地,可选择最近被修改的元数据以存储在SMR介质区402中。此外,对于在SMR介质区402中存储的元数据的子集有多大的确定可基于多少元数据项基于它们被修改的最后一次时间而符合条件,可基于在第一介质区401中所需的空间的数量,可基于在第一介质区401中允许的元数据的最大数量,或者可基于任何其他因素来确定。
除了将元数据的至少一个子集迁移到SMR介质区402之外,存储控制系统还被配置成管理间接表500。间接表500允许主机系统,诸如来自图1的主机系统120使用第一地址来引用表,第一地址然后将被翻译成文件系统元数据的物理地址。参考图4,间接表可包括用于元数据410-415的条目。一旦数据被迁移到设备的SMR区,间接表500可被用于识别SMR介质区402中的元数据410-412,以及在第一介质区401中的元数据413-415。
虽然在本例中未图示,但是应当理解的是:可将元数据从SMR介质区402转移回第一介质区401。例如,当用户首先生成文件时,可生成元数据,然而,可在用户没有更新或改变原始文件的长时间段期间不修改该元数据。相应地,存储控制系统可将元数据转移到SMR介质区402,以在第一介质区401中腾出更多存储空间。一旦存储在SMR介质区402中,用户可修改文件,导致元数据的改变。相应地,不是将元数据留在SMR介质区402中,元数据可被返回到介质的第一区。
转到图5以进一步从概览400图示间接表500的实现方式。间接表500包括逻辑地址510和物理地址520。逻辑地址510包括:可由主机系统访问以识别文件系统元数据的数据地址的范围,并且物理地址520对应于存储设备内的文件系统元数据的物理数据地址。
如图4中所述,可将文件系统元数据从第一介质区中的第一存储位置转移到SMR介质区中的一个或多个存储位置。一旦转移元数据,必须维持元数据的位置以为主机系统提供准确地反映用户数据状态的元数据。如间接表500中所图示,第一组条目被提供给PMR地址521-523,并且第二组或剩余组的条目被提供给SMR地址524-526。通过维持间接表500,存储设备上的存储控制系统可向主机提供表的位置,允许主机查询表以识别各种文件系统元数据。
参考图4中的示例,元数据410-412被转移并存储在SMR介质区402中。随着数据被存储,间接表500必须被更新以反映元数据的当前位置。因此,间接表500内的三个条目必须被更新以反映元数据410-412的新位置。通过维持间接表500,可为所有元数据请求引用第一介质区401中的表,同时可在存储设备的SMR区中存储元数据信息。
虽然在图5的示例中被图示为包括六个条目,但是应当理解的是:在一些示例中条目可能是动态的。例如,随着在计算系统内改变或添加用户数据,可基于用户数据添加或删除新条目。此外,如果未来的使用事件由存储控制系统识别,增加的数量的元数据可位于盘的SMR部分中。
转到图6,图6图示具有多个存储介质区的数据存储设备600。数据存储设备600是来自图1的数据存储设备110或来自图3A的数据存储设备310的示例,尽管可存在其他示例。数据存储设备600包括通信接口610、控制处理系统620、第一介质区635和SMR介质区636。在操作中,控制处理系统620可操作地和通信地链接到通信接口610、第一介质区635和SMR介质区636。应当理解的是:可使用离散的链接,诸如单独的通信、电源以及控制链接或其他电路。数据存储设备600可以被分布或集成于被一起形成数据存储设备600的元件的装备或电路之间。数据存储设备600可以包括外壳601,外壳601可以包围或结构性地支撑数据存储设备600的元件之一。出于简明的目的,数据存储设备600可以任选地包括此处未讨论的额外的设备、特征或功能。
通信接口610包括用于与通信网络、存储数据总线、存储数据链接或其他设备通信的一个或多个接口,诸如图1的总线130。接口可以包括任何串行或并行的数字接口,或者其他通信和数据接口,包括其组合、变型及改进。通信接口610的示例包括逻辑、传输门、缓冲器、网络接口卡装备、收发机和其他通信电路。在此示例中,通信接口610至少通过链接660通信。链接660可以包括如本文所述的任何通信链接,诸如在图1中用于链接130所述的通信链接。
作为来自图1的存储控制系统111和来自图3A的存储控制系统305的示例的控制处理系统620可以包括从存储系统622检索并执行固件624的一个或多个微处理器、微控制器、专用集成电路(ASIC)处理器、或者FPGA元件以及其他电路。控制处理系统620可以在单个处理设备内来实现,也可以跨越在执行程序指令时合作的多个处理设备或子系统来分布。控制处理系统620的示例包括通用中央处理单元,专用处理器和逻辑器件,以及任何其他类型的处理设备、组合或其变型。
存储系统622可以包括可由控制处理系统620读取并且能够存储固件624的任何计算机可读存储介质,诸如计算机可读存储设备。存储固件624的计算机可读存储介质可以包括在用于信息的存储的任何方法或技术中实现的易失性和非易失性的、可移动和不可移动的介质,诸如计算机可读指令、数据结构、程序模块或其他数据。除了存储介质之外,在一些实现方式中,计算机可读存储介质还可以包括可以通过其通信固件624的通信介质。存储固件624的计算机可读存储介质可以被实现为单个存储设备,也可以跨越多个存储设备或子系统来实现或者相对于彼此分布。存储固件624的计算机可读存储介质可以包括能够与控制处理系统620通信的额外的元件,诸如控制器。存储介质的示例包括随机存取存储器,只读存储器,闪速存储器,或者可以用于存储所需信息并且可以由指令执行系统访问的任何其他介质,以及其任意组合或变型,或者任何其他类型的存储介质。存储介质绝不是传播的信号。
在整体上由数据存储设备600或者特别地由控制处理系统620执行时,固件624和其他功能可以程序指令来实现,所述固件和其他功能可以指引数据存储设备600或控制处理系统620以处理写入命令来将数据存储到磁介质区635-636上,处理读取命令以从磁介质区635-636检索数据,从其他设备和系统接收数据,将数据转移到其他设备和系统,监视磁介质区635-636中存储的文件系统元数据,报告间接数据结构的位置,以及其他可能的操作。固件624可以包括额外的进程、程序或组件,诸如操作系统软件、数据库软件或应用软件。固件624还可以包括可由控制处理系统620执行的一些其他形式的机器可读处理指令。
在至少一个示例中,固件624包括元数据存储模块625、使用条件模块626和间接数据结构模块627。元数据存储模块625为在SMR介质区636中存储的用户数据维持在第一介质区635上的元数据位置中的文件系统元数据。使用条件模块626识别何时元数据位置中的文件系统元数据满足使用条件,并且响应地识别SMR介质区636中的一个或多个元数据位置,以重新指引至少文件系统元数据的子集的存储。使用条件模块626进一步在SMR区中的一个或多个元数据位置中至少存储文件系统元数据的子集。间接数据结构模块627维持在第一介质区635的元数据位置中的间接数据结构,间接数据结构将SMR区中的一个或多个元数据位置关联到文件系统元数据。
通常,当被加载到存储处理器620并被执行时,除了其他操作外,固件624还可将控制处理系统620整体从通用计算系统变换成被定制的专用计算系统以管理第一介质区635和SMR介质区636中的元数据存储。在计算机可读存储介质上编码固件624可以变换计算机可读存储介质的物理结构。物理结构的具体变换可取决于该说明书的不同实现方式中的各种因素。这种因素的示例可以包括但不限于:用于实现计算机可读存储介质的存储介质的技术,以及计算机可读存储介质被特征化为主存储还是辅助存储。例如,如果计算机存储介质被实现为基于半导体的存储器,固件624可以在其中编码程序时变换半导体存储器的物理状态。例如,固件624可以变换构成半导体存储器的晶体管、电容器或其他分立的电路元件的状态。类似的变换可以相对于磁或光学介质发生。可能存在其他物理介质的变换而不脱离本说明书的范围,同时提供前述的示例仅仅为了便于此讨论。
除了以上所述的操作之外,控制处理系统620还包括用于将写入数据转移到磁存储介质区635-636并从磁存储介质部分635-636读取数据的电路、设备和装备。在诸如硬盘驱动器的旋转的磁介质的示例中,存储控制处理系统620可以包括前置放大器电路、读取信道电路、伺服控制系统、信道搜索/磁道系统、写入电路、升压电压转换器、缓冲器、线路放大器以及其他电路和装备。
存储介质区635-636可各自包括一个或多个盘片,该盘片包括用于存储如本文所述的用户数据和各种元数据的磁存储介质。特别地,存储介质区635可包括PMR存储介质部分,而SMR介质区636可包括使用部分重叠的磁道向盘写入数据的SMR存储介质部分。
图7图示通信地耦合到数据存储设备的主机系统700。主机系统700可以包括如本文讨论的用于图1的主机系统120或图3A和3B的主机320的装备和系统,尽管可能存在各种变型。主机系统700包括通信接口710、处理系统720、存储系统730以及可选地用户接口系统740。在操作中,处理系统720通过总线750可操作地链接到通信接口710、存储系统730和用户接口系统740。应当理解的是:可采用离散的链接,诸如网络链接或其他电路。主机系统700可以被分布或集成于被一起形成主机系统700的元件的装备或电路之间。出于简洁的目的,主机系统700可以任选地包括此处未讨论的额外的设备、特征或功能性。
通信接口710包括用于与通信网络、数据总线、数据链接或其他设备通信的一个或多个接口,诸如图1的总线130。接口可以包括任何串行或并行的数字接口,或者其他通信和数据接口,包括其组合、变型及改进。通信接口710的示例包括逻辑、传输门、缓冲器、网络接口卡装备、收发机、调制解调器和其他通信电路。在此示例中,通信接口710至少通过链接751通信。链接751可以包括如本文所述的任何通信链接,诸如为图1中的链接130所述的通信链接。
处理系统720可以包括从存储系统730检索和执行软件732的一个或多个微处理器以及其他电路。处理系统720可以在单个处理设备中实现,而且还可以跨越在执行程序指令时合作的多个处理设备或子系统分布。处理系统720的示例包括通用中央处理单元,专用处理器和逻辑器件,以及任何其他类型的处理设备、组合或其变型。
存储系统730可以包括可由处理系统720读取并且能够存储软件732的任何计算机可读存储介质。存储系统730可以包括在用于信息的存储的任何方法或技术中实现的易失性和非易失性的、可移动和不可移动的介质,诸如计算机可读指令、数据结构、程序模块或其他数据。除了存储介质之外,在一些实现方式中,存储系统730还可以包括可以通过其通信软件732的通信介质。存储系统730可以被实现为单个存储设备,而且也可以跨越相对于彼此共同定位或分布的多个存储设备或子系统来实现。存储系统730可以包括能够与处理系统720通信的额外的元件,诸如控制器。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪速存储器、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可以用于存储所需信息并且可以由指令执行系统访问的任何其他介质、以及其任何组合或变型、或者任何其他类型的存储介质。存储介质绝不是传播的信号。
在整体上由主机系统700或者特别地由处理系统720执行时,软件732以及其他功能可以程序指令来实现,所述软件和其他功能可以指引主机系统700或处理系统720指示数据存储设备识别、发现和改变文件系统元数据,改变间接数据表的位置和大小,向文件系统添加新的文件和目录,编辑文件系统中的文件和目录。软件732可以包括额外的进程、程序或组件,诸如操作系统软件、数据库软件或应用软件。软件732还可以包括固件或者可由处理系统720执行的一些其他形式的机器可读处理指令。
在至少一个示例中,软件732可包括能够执行与图6中图示的模块625-627类似的操作的模块。因此,不是实现设备本身内的存储控制系统,控制系统可被实现为主机700上的一个或多个进程。例如,软件732可为在SMR介质区中存储的用户数据维持在第一介质区中的元数据位置中的文件系统元数据。软件732可进一步识别何时为元数据位置中的文件系统元数据满足使用条件,并且响应地识别SMR介质区中的一个或多个元数据位置,以重新指引和存储至少文件系统元数据的子集。一旦被存储,软件732可维持在第一介质区中的元数据位置中的间接数据结构,该间接数据结构将SMR区中的一个或多个元数据位置关联到文件系统元数据。
通常,当被加载到处理系统720中并且被执行时,软件732可以将处理系统720整体从通用计算系统变换成被定制的专用计算系统以识别、发现和改变文件系统元数据,改变在存储设备上存储的间接数据表的位置和大小,向文件系统添加新的文件和目录,在文件系统中编辑文件和目录,以及其他操作。在存储系统730上编码软件732可以变换存储系统730的物理结构。物理结构的具体变换可取决于该说明书的不同实现方式中的各种因素。这种因素的示例可以包括但不限于:用于实现存储系统730的存储介质的技术,以及计算机存储介质被特征化为主存储还是辅助存储。例如,如果计算机存储介质被实现为基于半导体的存储器,软件732可以在其中编码程序时变换半导体存储器的物理状态。例如,软件732可以变换构成半导体存储器的晶体管、电容器或其他分立的电路元件的状态。类似的变换可以相对于磁或光学介质发生。可能存在其他物理介质的变换而不脱离本说明书的范围,同时提供前述的示例仅仅为了便于此讨论。
可选的用户接口系统740包括用于接收用户输入和控制的装备和电路,诸如用于参与存储管理操作,显示错误率或面密度信息,以及其他操作。用于接收用户输入和控制的装备和电路的示例包括按钮、触摸屏、选择旋钮、转盘、开关、致动器、键、键盘、指针设备、麦克风、换能器、电位器、非接触感测电路、加速度计、web接口、软件接口或其他人机接口装备。用户接口系统740还包括向主机系统700的用户通信信息的装备。向用户通信信息的装备的示例可以包括显示器、指示器灯、灯、发光二极管、触觉反馈设备、声音信号换能器、扬声器、蜂鸣器、警报、振动设备或其他指示器设备,包括其组合。
总线750包括能够通信数据、控制信号、通信以及其他信息的物理的、逻辑的或虚拟的通信链接。在此示例中,总线750还包括元件,诸如电线、电路板迹线、固态互连或其他元件。在一些示例中,总线750的部分被封装在主机系统700的元件内,并且可以是软件或逻辑链接。在其他示例中,总线750使用各种通信介质,诸如空气、空间、金属、光纤或一些其他信号传播路径,包括其组合。总线750可以是直接链接,或者可能包括各种装备、中间组件、系统和网络。
返回到图1的元件,数据存储设备110包括第一介质区115,其可包括PMR区或一些其他非叠瓦式磁道类型区以及SMR介质区116。存储控制系统111被示为数据存储设备110的处理和接口元件的示例。数据存储设备110可以包括进一步的元件,诸如为图6中的数据存储设备600所讨论的那些。数据存储设备110可以包括硬盘驱动器或其他计算机可读存储设备。数据存储设备110的计算机可读存储介质包括旋转的磁存储介质,诸如介质区115-116,但是可以额外地包括其他介质,诸如在数据存储设备110的高速缓存或高速缓存系统中采用的介质。这些其他介质可以包括固态存储介质、光学存储介质、非旋转的磁介质、相变磁介质、基于自旋的存储介质或其他存储介质,包括其组合、变型和改进。第一介质区115可以采用PMR或其他各种非叠瓦式磁存储方案,而SMR介质区116采用SMR存储方案。应当理解的是:第一介质区115和SMR介质区116的存储布局仅仅是示例布置。第一介质区115和SMR介质区116可使用驱动盘片上的各种物理磁道布局,以存储用户数据和文件系统元数据。
主机系统120可以包括处理元件、数据转移元件和用户接口元件。在一些示例中,主机系统120是计算设备或计算系统的中央处理单元。在其他示例中,主机系统120还包括存储器元件、数据存储和转移元件、控制器元件、逻辑元件、固件、执行元件和其他处理系统组件。在又一个其他示例中,主机系统120包括RAID控制器处理器或存储系统中央处理器,诸如微处理器、微控制器、现场可编程门阵列(FPGA)或其他处理和逻辑器件,包括其组合。在一些示例中,主机系统120可包括处理指令,该处理指令指引主机系统实现对于存储控制系统111所期望的文件系统元数据操作。主机系统120可以包括用户接口元件或与用户接口元件接口连接,用户接口元件可以允许存储系统100的用户控制存储系统100的操作或监视存储系统100的状态或操作。这些用户接口元件可以包括图形或文本显示器、指示器灯、网络接口、web接口、软件接口、用户输入设备或其他用户接口元件。主机系统120还可以包括用于通过总线130处理通信的接口电路和元件,诸如逻辑、处理部分、缓冲器、收发机等等。
总线130可以包括一个或多个串行或并行数据链接,诸如外围组件互连快速(PCIe)接口、串行ATA接口、串行附连小型计算机系统(SAS)接口、集成驱动电子(IDE)接口、ATA接口、通用串行总线(USB)接口、无线接口、直接媒体接口(DMI)、以太网接口、联网接口或其他通信和数据接口,包括其组合、变型和改进。虽然在图1中示出总线130,但是应当理解的是:可能在存储系统100的元件之间采用一个或多个离散的链接。
以上说明书和相关联的附图教导发明的最佳模式。随后的权利要求指定发明的范围。注意:最佳模式的一些方面可不落入如由权利要求指定的发明的范围内。本领域技术人员可以理解:可以各种方式组合以上所述的特征来形成发明的多个变型。因此,本发明不限于以上所述的具体实施例,而是仅由以下权利要求及其等同物限定。
Claims (20)
1.一种具有旋转的磁存储介质的数据存储设备,旋转的磁存储介质具有第一存储区和叠瓦式磁记录SMR区,该数据存储设备包括:
存储控制系统,被配置成为在叠瓦式磁记录SMR区中存储的用户数据维持在第一存储区的元数据位置中的文件系统元数据,其中所述文件系统元数据存储在第一存储区的元数据位置中;
响应于元数据位置中的文件系统元数据满足使用条件,存储控制系统被配置成识别叠瓦式磁记录SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储,并且将存储在第一存储区的元数据位置中的至少文件系统元数据的子集从第一存储区的元数据位置转移并存储到叠瓦式磁记录SMR区中的一个或多个元数据位置中;以及
存储控制系统被配置成维持在第一存储区的元数据位置中的间接数据结构,该间接数据结构将叠瓦式磁记录SMR区中的一个或多个元数据位置关联到文件系统元数据。
2.根据权利要求1所述的数据存储设备,其中第一存储区包括垂直磁记录PMR区。
3.根据权利要求2所述的数据存储设备,其中间接数据结构包括:具有为垂直磁记录PMR区中的文件系统元数据保留的第一数量的条目以及为叠瓦式磁记录SMR区中的文件系统元数据保留的剩余数量的条目的间接表。
4.根据权利要求1所述的数据存储设备,其中主机中的文件系统访问间接数据结构,以识别、发现和改变文件系统元数据。
5.根据权利要求4所述的数据存储设备,其中主机中的文件系统可能改变间接数据结构的大小或位置中的至少一个。
6.根据权利要求1所述的数据存储设备,其中间接数据结构包括间接表,以将用于文件系统元数据的逻辑块地址LBA关联到用于第一存储区或叠瓦式磁记录SMR区中的文件系统元数据的物理块地址PBA。
7.根据权利要求1所述的数据存储设备,其中存储控制系统被进一步配置成向主机报告间接数据结构的固定位置。
8.根据权利要求1所述的数据存储设备,其中使用条件包括用于文件系统元数据的预定数量的消耗的存储容量。
9.根据权利要求1所述的数据存储设备,其中被配置成识别叠瓦式磁记录SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储的存储控制系统被配置成:
识别已被最近修改的文件系统元数据的至少一部分;以及
识别叠瓦式磁记录SMR区中的一个或多个元数据位置,以重新指引文件系统元数据的至少部分的存储。
10.一种管理数据存储设备的旋转的磁存储介质中的文件系统元数据的装置,该数据存储设备具有第一存储区和叠瓦式磁记录SMR区,该装置包括:
一个或多个非临时性计算机可读介质;以及
在一个或多个非临时性计算机可读介质上存储的处理指令,该处理指令在由处理系统执行时指引处理系统:
为在叠瓦式磁记录SMR区中存储的用户数据维持在第一存储区的元数据位置中的文件系统元数据,其中所述文件系统元数据存储在第一存储区的元数据位置中;
响应于元数据位置中的文件系统元数据满足使用条件,识别叠瓦式磁记录SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储;并且将存储在第一存储区的元数据位置中的至少文件系统元数据的子集从第一存储区的元数据位置转移并存储到叠瓦式磁记录SMR区中的一个或多个元数据位置中;以及
维持在第一存储区的元数据位置中的间接数据结构,该间接数据结构将叠瓦式磁记录SMR区中的一个或多个元数据位置关联到文件系统元数据。
11.根据权利要求10所述的装置,其中第一存储区包括垂直磁记录PMR区。
12.根据权利要求11所述的装置,其中间接数据结构包括:具有为垂直磁记录PMR区中的文件系统元数据保留的第一数量的条目以及为叠瓦式磁记录SMR区中的文件系统元数据保留的剩余数量的条目的间接表。
13.根据权利要求10所述的装置,其中间接数据结构包括间接表,以将用于文件系统元数据的逻辑块地址LBA关联到用于第一存储区或叠瓦式磁记录SMR区中的文件系统元数据的物理块地址PBA。
14.根据权利要求10所述的装置,其中处理系统包括在主机上的主机处理系统或在数据存储设备中的存储控制系统之一。
15.根据权利要求10所述的装置,其中处理指令进一步指引处理系统识别来自主机的请求,以访问间接数据结构来识别、发现和改变文件系统元数据。
16.根据权利要求10所述的装置,其中使用条件包括用于文件系统元数据的预定数量的消耗的存储容量。
17.根据权利要求10所述的装置,其中识别叠瓦式磁记录SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储的处理指令指引处理系统:
识别已被最近修改的文件系统元数据的至少一部分;以及
识别叠瓦式磁记录SMR区中的一个或多个元数据位置,以重新指引文件系统元数据的至少部分的存储。
18.根据权利要求10所述的装置,进一步包括处理系统。
19.一种管理数据存储设备上的文件系统元数据的数据系统,该数据存储系统包括:
数据存储设备上的第一存储区;
数据存储设备上的叠瓦式磁记录SMR区;以及
处理系统,被配置成:
为在叠瓦式磁记录SMR区中存储的用户数据维持在第一存储区的元数据位置中的文件系统元数据,其中所述文件系统元数据存储在第一存储区的元数据位置中;
响应于为元数据位置中的文件系统元数据满足使用条件,识别叠瓦式磁记录SMR区中的一个或多个元数据位置以重新指引至少文件系统元数据的子集的存储,并且将存储在第一存储区的元数据位置中的至少文件系统元数据的子集从第一存储区的元数据位置转移并存储到叠瓦式磁记录SMR区中的一个或多个元数据位置中;以及
维持在第一存储区的元数据位置中的间接数据结构,该间接数据结构将叠瓦式磁记录SMR区中的一个或多个元数据位置关联到文件系统元数据。
20.根据权利要求19所述的数据系统,其中处理系统包括位于主机系统和/或数据存储设备上的处理电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403879.3A CN107229664B (zh) | 2016-03-25 | 2016-03-25 | 用于管理文件系统元数据的间接数据结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403879.3A CN107229664B (zh) | 2016-03-25 | 2016-03-25 | 用于管理文件系统元数据的间接数据结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229664A CN107229664A (zh) | 2017-10-03 |
CN107229664B true CN107229664B (zh) | 2021-06-25 |
Family
ID=59932156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610403879.3A Active CN107229664B (zh) | 2016-03-25 | 2016-03-25 | 用于管理文件系统元数据的间接数据结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107229664B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275677B (zh) | 2019-05-22 | 2022-04-12 | 华为技术有限公司 | 硬盘格式转换方法、装置及存储设备 |
CN114706536B (zh) * | 2022-05-27 | 2022-11-11 | 阿里巴巴(中国)有限公司 | 一种元数据管理方法、装置、电子设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874875B2 (en) * | 2012-06-29 | 2014-10-28 | HGST Netherlands B.V. | ICC-NCQ command scheduling for shingle-written magnetic recording (SMR) Drives |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473182B (zh) * | 2010-03-12 | 2016-05-11 | 群联电子股份有限公司 | 非挥发性存储器存取方法及非挥发性存储器控制器 |
US8913335B2 (en) * | 2011-05-23 | 2014-12-16 | HGST Netherlands B.V. | Storage device with shingled data and unshingled cache regions |
US8472139B2 (en) * | 2011-09-06 | 2013-06-25 | HGST Netherlands B.V. | Shingled magnetic recording (SMR) head with bent trailing shield and methods of production thereof |
US8909859B2 (en) * | 2012-03-01 | 2014-12-09 | HGST Netherlands B.V. | Implementing large block random write hot spare SSD for SMR RAID |
US9001450B2 (en) * | 2012-06-21 | 2015-04-07 | HGST Netherlands B.V. | Method of compensating for repeatable runout error |
SG196732A1 (en) * | 2012-07-16 | 2014-02-13 | Agency Science Tech & Res | Data storage system, method of writing to storage in the data storage system, hard disk and method of forming the hard disk |
CN103838681B (zh) * | 2012-11-27 | 2017-10-27 | 北京联想核芯科技有限公司 | 存储装置和数据文件存取方法 |
US20140181033A1 (en) * | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Systems and methods to track deleted files |
CN104281517B (zh) * | 2014-10-16 | 2017-05-17 | 浙江宇视科技有限公司 | 一种基于日志方式的存储空间管理方法和装置 |
-
2016
- 2016-03-25 CN CN201610403879.3A patent/CN107229664B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874875B2 (en) * | 2012-06-29 | 2014-10-28 | HGST Netherlands B.V. | ICC-NCQ command scheduling for shingle-written magnetic recording (SMR) Drives |
Also Published As
Publication number | Publication date |
---|---|
CN107229664A (zh) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083085B2 (en) | Indirection data structures to manage file system metadata | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US8095752B2 (en) | Storage access device issuing I/O requests, in an associated logical unit environment | |
CN102150144B (zh) | 使用写入配置快照的动态存储分层的方法和系统 | |
CN102576293B (zh) | 固态存储设备和分层存储系统中的数据管理 | |
US8886869B2 (en) | Storage system and data control method therefor | |
US7987328B2 (en) | Data archive system | |
US10423339B2 (en) | Logical block address mapping for hard disk drives | |
JP5782364B2 (ja) | 複数のファイルを列挙した情報を生成する装置及び方法 | |
US11461033B2 (en) | Attribute-driven storage for storage devices | |
JP2008015623A (ja) | 複数種類の記憶デバイスを備えたストレージシステムの制御装置 | |
US8555025B2 (en) | Selective device access control | |
US10055162B2 (en) | Using a tree-based data structure to map logical addresses to physical addresses on a storage device | |
JP4713951B2 (ja) | 仮想テープライブラリシステムおよび仮想テープ書き込み方法 | |
CN107229664B (zh) | 用于管理文件系统元数据的间接数据结构 | |
US9323630B2 (en) | Enhanced data recovery from data storage devices | |
US10078467B2 (en) | Storage device, computer readable recording medium, and storage device control method | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN104133640B (zh) | 从休眠快速恢复 | |
JP4639075B2 (ja) | 可搬記憶媒体に対する論理ディスク仮想化機能を有するディスクシステム | |
US20160299698A1 (en) | Realm partitioning in hard drives | |
GB2548818A (en) | Indirection data strucures to manage file system metadata | |
JP2013073409A (ja) | ディスクアレイ装置 | |
US20160224273A1 (en) | Controller and storage system | |
IE20160087A1 (en) | Indirection data structures to manage file system metadata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210322 Address after: California, USA Applicant after: Western Digital Technologies, Inc. Address before: Amsterdam Applicant before: HGST Netherlands B.V. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |