公开/公告号CN105051672A
专利类型发明专利
公开/公告日2015-11-11
原文格式PDF
申请/专利权人 微软技术许可有限责任公司;
申请/专利号CN201480015352.2
申请日2014-03-11
分类号G06F3/06;
代理机构中国专利代理(香港)有限公司;
代理人刘鹏
地址 美国华盛顿州
入库时间 2023-12-18 11:52:23
法律状态公告日
法律状态信息
法律状态
2017-12-26
授权
授权
2015-12-09
实质审查的生效 IPC(主分类):G06F3/06 申请日:20140311
实质审查的生效
2015-11-11
公开
公开
背景技术
计算系统通过执行软件程序而获得高度功能性。计算系统使用存储分层结构以便存储此类软件程序以及其他文件。在本地存储分层结构的最低层级可以是盘,比如机械盘、光盘等等。存储分层结构中的更高层级可以是比如固态盘或非易失性存储器等设备。
当最被需要的数据块位于存储分层结构中的高层级时,计算系统的操作效率最高,其中被需要程度较低的数据块可以位于存储分层结构中的较低层级。关于要把数据块放置在存储分层结构内的何处的决定常规上是在文件系统以下发生的。
文件系统本身通常在该存储分层结构上不具有可见性,而是替代地通过卷的形式来查看存储。卷是对于文件系统可见的单一逻辑命名空间。卷可以被供给成特定尺寸,并且常常对应于底层存储设备的边界。举例来说,一个盘可以是单一卷,或者可能被划分成多个卷。此外,一个卷可以由多个盘构成。文件系统随后可以对卷内的目录进行结构化,并且将文件保存到该命名空间中,其中或者将文件保存在命名空间的根目录下,或者保存在命名空间的所述目录中的一个目录内。
单一卷可以具有特定的特质(trait)。举例来说,卷可以被设立成是镜像的,从而具有特定水平的内建冗余性。卷还可以被设立成是加密的或压缩的。常规上,在每个卷的基础上设立所述特质。因此,文件系统本身将该卷内的任何存储块视为与该卷内的任何其他存储块具有相同的特质,并且将关于如何放置块的任何决定下放到从文件系统视角抽象的存储系统。
发明内容
这里所描述的至少一些实施例涉及一种卷系统,其向文件系统呈现出具有一定范围的逻辑地址的卷。卷暴露系统通过使得卷具有多层的方式将卷暴露给文件系统,其中每一层与不同特质的存储相关联。这是使用多个异质底层存储系统来实施的,其中每一个底层存储系统具有不同的特定于存储的特质。每一个底层存储系统可以是硬件、软件或其组合,其允许每一个存储系统将具有特定的特定于存储的特质的存储暴露给文件系统。所述卷系统支持每一层,这是通过将该层的逻辑地址映射到底层存储系统的与那些特质相一致的部分而实现的。因此,为文件系统提供了具有多层(每一层具有不同的特质集合)的卷,在存储文件时从所述多层当中进行选择。因此,即使在相同的卷中,文件系统也可以将文件或其节段存储在具有最适当的特质的存储位置处。
本概要不意图标识出所要求保护的主题内容的关键特征或必要特征,也不意图被用来帮助确定所要求保护的主题内容的范围。
附图说明
为了描述能够据以获得前述和其他优点及特征的方式,将参照附图给出各个实施例的更加具体的描述。在理解了这些图仅描绘出样例实施例并且因此不应当被视为限制本发明的范围的情况下,将通过使用附图以附加的特点和细节来描述和解释所述实施例,其中:
图1抽象地图示出了可以在其中采用这里所描述的一些实施例的计算系统;
图2图示出了其中卷系统使用卷暴露系统来将卷向上暴露给文件系统的计算环境,所述卷具有特质不同的多层存储;
图3图示出了与图2的计算环境类似的计算环境,不同之处在于,在图2中被浅供给(thinlyprovisioned)的卷板块(volumeslab)现在被深供给(thickly-provisioned),并且计算系统扩展了卷;
图4图示出了一种使用可用的底层存储系统中的至少一些将卷向上暴露给文件系统的方法;以及
图5图示出了一种用于针对每一层对卷进行结构化的方法。
具体实施方式
根据这里所描述的实施例,一种卷系统通过使得卷具有不同层的方式将卷呈现给文件系统,每一层与不同特质的存储相关联。这是使用多个异质底层存储系统来实施的,每一个底层存储系统具有不同的特定于存储系统的特质。每一个底层存储系统可以是硬件、软件或其组合,其允许每一个存储系统将具有特定的特定于存储系统的特质的存储暴露给文件系统。所述卷系统支持每一层,这是通过将该层的逻辑地址映射到底层存储系统的与那些特质相一致的部分而实现的。因此,为文件系统提供了具有多层(每一层具有不同的特质集合)的卷,以供在存储文件时从所述多层当中进行选择。因此,即使在相同的卷中,文件系统也可以将文件或其节段存储在具有最适当的特质的存储位置处。将关于图1来描述计算系统的一些介绍性讨论。随后将关于图2到5来描述所述卷系统的原理及其操作。
计算系统现在越来越多地采取多种多样的形式。计算系统例如可以是手持式设备、器具、膝上型计算机、台式计算机、大型设备、分布式计算系统或者甚至在常规上未被视为计算系统的设备。在本描述和权利要求书中,术语“计算系统”被宽泛地定义为包括含有至少一个物理有形处理器以及能够在其上具有计算机可执行指令的物理有形存储器的任何设备或系统(或其组合),其中所述计算机可执行指令可以由处理器执行。存储器可以采取任何形式,并且可以取决于计算系统的本质和形式。计算系统可以被分布在网络环境中,并且可以包括多个组成的计算系统。
如图1中所图示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,其可以是易失性的、非易失性的或者这二者的某种组合。术语“存储器”还可以在这里被使用来指代比如物理存储介质之类的非易失性大容量存储装置。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如这里所使用的,术语“可执行模块”或“可执行组件”可以指代可在计算系统上执行的软件对象、例程或方法。这里所描述的不同组件、模块、引擎和服务可以被实施成在计算系统上执行的对象或进程(例如实施成单独的线程)。
在接下来的描述中,将参照由一个或更多计算系统实施的动作来描述实施例。如果这样的动作是用软件实施的,则实施所述动作的相关联的计算系统的一个或更多处理器响应于执行了计算机可执行指令而引导计算系统的操作。举例来说,这样的计算机可执行指令可以被具体实现在形成计算机程序产品的一个或更多计算机可读介质上。这样的操作的一个示例涉及对于数据的操纵。计算机可执行指令(以及所操纵的数据)可以被存储在计算系统100的存储器104中。计算系统100还可以包含通信信道108,其允许计算系统100例如通过网络110与其他消息处理器进行通信。
这里所描述的实施例可以包括或利用专用或通用计算机,正如后面更加详细地讨论的那样,其包括计算机硬件,比如例如一个或更多处理器以及系统存储器。这里所描述的实施例还包括用于载送或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是能够由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。载送计算机可执行指令的计算机可读介质是传送介质。因此,作为举例而非限制,本发明的实施例可以包括至少两种截然不同种类的计算机可读介质:计算机存储介质和传送介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁性存储设备,或者可以被用来以计算机可执行指令或数据结构的形式存储所期望的程序代码构件并且可以由通用或专用计算机访问的任何其他有形介质。
“网络”被定义成一条或更多条数据链接,其使能在计算机系统和/或模块和/或其他电子设备之间传输电子数据。当通过网络或另外的通信连接(或者硬连线的、无线的、或者硬连线或无线的组合)向计算机传输或提供信息时,计算机将所述连接适当地视为传送介质。传送介质可以包括网络和/或数据链接,其可以被用来以计算机可执行指令或数据结构的形式载送所期望的程序代码构件并且可以由通用或专用计算机访问。前述内容的组合也应当被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,具有计算机可执行指令或数据结构形式的程序代码构件可以被自动从传送介质传输到计算机存储介质(或者反之亦然)。举例来说,通过网络或数据链接而接收到的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如“NIC”)内的RAM中,并且随后最终被传输到计算机系统处的计算机系统RAM和/或较低易失性的计算机存储介质。因此应当理解的是,计算机存储介质可以被包括在还(或者甚至主要)利用传送介质的计算机系统组件中。
计算机可执行指令例如包括指令和数据,其在处理器处被执行时使得通用计算机、专用计算机或专用处理设备实施特定功能或功能群组。计算机可执行指令例如可以是二进制码、比如汇编语言之类的中间格式指令,或者甚至源代码。虽然本主题内容是用特定于结构特征和/或方法动作的语言来描述的,但是应当理解的是,在所附权利要求书中定义的主题内容不一定受限于前面所描述的所描述的特征或动作。相反,所描述的特征和动作是作为实施权利要求的示例形式而公开的。
本领域技术人员将认识到,本发明可以被实践在具有许多类型的计算机系统配置的网络计算环境中,其中包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或者可编程的消费者电子装置、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可以被实践在分布式系统环境中,其中通过网络链接(或者通过硬连线数据链接、无线数据链接或者通过硬连线和无线数据链接的组合)的本地和远程计算机系统都实施任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
图2图示出了计算环境200,其中卷系统202使用卷暴露系统210将卷211向上暴露给文件系统201。计算环境200例如可以被实施在图1的计算系统100中。如果是这种情况,则可以响应于计算系统的(多个)处理器102执行计算机可执行指令来创建和/或操作文件系统201和卷系统202。举例来说,这样的计算机可执行指令可以被存储在计算机可读介质上,该计算机可读介质比如是包括在计算机程序产品内的计算机可读存储介质。
卷211包括通过优选地是一定范围的邻接的逻辑地址的形式表示的存储。在本描述和权利要求书中,“卷”被定义成一个或更多逻辑地址范围的任何群组,其通过单一命名空间的形式被呈现给文件系统。当文件系统201向卷系统202发出读取或写入请求时,文件系统请求包括逻辑地址。卷系统202被配置成使用由文件系统201提供的逻辑地址来辨识卷211的被寻址的部分。因此,从文件系统201的角度看来,文件系统201能够访问整个卷211,其中贯穿卷211的整个范围,都是逻辑可寻址的。
但是与常规的卷不同,卷211中的并非所有存储位置都具有相同的特质。因此,卷211可以被视为异质卷,其由具有不同特质的部分构成。这一异质特征受映射系统220支持,该映射系统220把卷211的逻辑存储位置当中的至少一些逻辑存储位置中的每一个映射到底层存储系统230中的相应的物理存储地址。在图2中,每一个底层存储系统230被图示成具有特定形状,象征由相应的底层存储系统给出的独特的存储特质集合。
举例来说,存储系统230A和230C都被图示成圆形,表示这些存储系统提供具有共同特质集合的存储。存储系统230B和230E都被图示成三角形,表示这些存储系统提供具有彼此共同的特质集合的存储,该特质集合不同于存储系统230A和230C的特质集合。存储系统230D被图示成梯形,表示该存储系统所提供的存储具有与任何其他存储系统的特质集合不同的特质集合。存储系统230F被示成正方形,表示该存储系统所提供的存储具有与任何其他存储系统的特质集合不同的另一个特质集合。
底层存储系统230被图示成包括六个存储系统230A到230F,它们具有四个不同的特质集合(由圆形、三角形、梯形和正方向象征性地表示)。但是椭圆形230G表示底层存储系统230可以包括任意数目的存储系统,不管是多于、等于还是少于图2中所图示出的存储系统的数目,只要有至少两个存储系统集体给出具有不同特质集合的存储就可以。映射系统220利用不同的特质集合以便将异质卷211向上给出到文件系统。
此时,将描述一些术语。在本描述和权利要求书中,“特质集合”被描述成一项或更多项特质的总集。因此,单一特质本身可以被视为一个“特质集合”。后面将进一步深度描述存储特质的示例。此外,当存储系统被描述成给出具有一个特质集合的存储时,并不是说除了由所述存储所给出的特质集合之外没有更多的特质。此外,如果第一特质集合包括未被包括在第二特质集合中的至少一项特质,或者如果第二特质集合包括未被包括在第一特质集合中的至少一项特质,则给定的特质集合(例如“第一特质集合”)“不同于”另一个特质集合(例如“第二特质集合”)。因此存在这样的情况,其中第一特质集合和第二特质集合共享一项或更多项共同的特质,但是它们根据这一定义仍然可以是不同的特质集合。
术语“物理”存储位置或“物理”地址将常常被用来分别指代底层存储系统230中的存储位置或地址。这样做仅仅是为了把文件系统201在对异质卷211进行寻址时所使用的寻址方案(即“逻辑寻址方案”)与底层存储系统230使用来访问由相应的底层存储系统给出的存储的寻址方案(即“物理寻址方案”)进行区分。举例来说,文件系统201使用“逻辑”地址来对卷211内的存储进行寻址。但是存储系统230A到230F使用“物理”地址来访问对应的存储位置231A到231F。
但是这并不意味着底层存储系统本身必须是物理设备或系统,尽管有可能是这种情况。举例来说,可以有一个或更多另外的映射抽象层级,其甚至把底层存储系统与实际物理存储介质分开。作为一个示例,底层存储系统可以是物理存储系统,比如闪存、固态盘、机械盘等等。但是所述存储系统也可以是某种类型的整理过的存储系统,其供上被映射到另外的底层存储系统的地址。此外,存储系统在将数据存储到给定的存储位置之前可以对其应用一项或更多项变换(比如加密或压缩),并且存储系统在从给定的存储位置读取数据之后可以对其应用一项或更多项逆变换(比如解密或解压缩)。
现在对于定义的澄清将转向存储位置的尺寸粒度。在图2中,所图示出的存储位置的最为细化的粒度(其在后文中被称作“板块”)表示映射系统220用来映射存储位置的基本单位。每一个板块表示由文件系统201辨识的逻辑寻址方案中的邻接地址位置(例如邻接逻辑块)。为了简化映射220,每一个板块还可以表示物理寻址方案中的邻接地址位置,尽管对此并无严格要求。
举例来说,在图2中,卷211被图示成包括17个板块,其被标记成“A”到“Q”。对于这里所描述的原理而言,卷中的板块的确切数目和尺寸并非是关键的。较小的板块的优势在于,对卷中的具有不同特质集合的存储之间的边界具有更细粒度的控制,但是其劣势在于映射系统220保持跟踪的映射的数目增加。因此,板块的尺寸将是设计选择,其取决于在卷系统210的特定实现方式的情境中这些优势与劣势之间的平衡。在一个实施例中,板块超过一百兆字节。这看起来可能相当大,但是如果在兆兆字节(terabyte)范围内提供卷,则映射系统220仍将跟踪数以千计的板块映射。因此,图2表示为了清楚地解释这里所描述的原理的益处的简化系统。针对板块尺寸的其他选择可以是兆字节或以上,但是并不要求如此。
让板块具有固定尺寸简化了映射操作,但是在这里所描述的更宽泛的方面下并不要求如此。举例来说,给定的板块可以是某一尺寸常量的二进制倍数。例如假设最小的板块(因此所述常量)是100兆字节。映射系统还可以跟踪200兆字节、400兆字节、800兆字节、1.6千兆字节等等的板块。虽然这样确实增加了映射算法的复杂度,但是其也可以减少需要跟踪的实际映射的数目,同时仍然允许对于区段边界的位置进行细粒度的控制。
物理存储位置231A到231F中的每一个也具有表示映射的基本单位的板块。举例来说,在该示例中,物理存储位置231A包括板块a1到a4,物理存储位置231B包括板块b1到b3,物理存储位置231C包括板块c1到c4,物理存储位置231D包括板块d1到d6,物理存储位置231E包括板块e1到e3,并且物理存储位置231F包括板块f1到f4。当然,为了读者的益处大大简化了该示例。取决于板块尺寸,每一个底层存储系统230可以更有益地包括数以百计、数以千计或者甚至数以百万计的板块。在下文中,还可以将卷211中的板块称作“卷板块”,而底层存储系统中的板块还可以被称作“存储板块”。
如果映射系统220将卷板块映射到了底层存储系统中的特定存储板块,则该卷板块被“深供给”。举例来说,在映射系统220将卷板块A到G映射到了底层存储系统230中的对应的存储板块a1、a3、a4、c2、b1、b3和e3时,卷板块A到G被深供给。同样地,在映射系统220将卷板块L到Q映射到底层存储系统230的对应的板块d3、d1、d2、d4、d5和d6时,卷板块L到Q被深供给。
如果直到文件系统需要卷板块时映射系统220才将该卷板块映射到底层存储系统中的特定存储板块,则该卷板块被“浅供给”。举例来说,卷板块H到K未被映射系统220映射到任何底层存储,但是映射系统220可能知道一旦卷板块H到K当中的任一个实际被用来存储数据,存储系统230F的存储板块f1到f4可用于适当的映射。
在本描述和权利要求书中,“区段”被定义成在呈现给文件系统(例如文件系统201)的卷(例如卷211)的逻辑寻址方案中邻接的一个或更多板块的集合。举例来说,卷211被图示成包括第一区段212A、第二区段212B、第三区段212C和第四区段212D。但是这里所描述的原理并不受限于一个卷内的区段的数目,后面甚至将进一步描述其中增加了区段数目的一个示例。
每一个区段对应于一个共同特质集合(其也被称作“区段特质集合”),其与组成的卷板块被映射到的(多个)底层存储系统所给出的特质集合“相一致”。举例来说,第一区段212A的特质集合(其在下文中被称作“第一区段特质集合”)与由具有被映射到组成的卷板块A到D的板块的存储系统(例如被表示成圆形的230A和230C)所给出的支持存储的特质集合相一致。如果一个区段特质集合1)与存储特质集合相同,或者2)是存储特质集合的一个子集并且由底层存储给出的任何额外特质(超出区段特质集合中的那些特质的特质)与区段特质集合内的任何特质没有不兼容,则该区段特质集合与该存储特质集合“相一致”。
第二区段212B具有第二区段特质集合,其与由具有被映射到组成的卷板块E到G的板块的存储系统(例如由三角形表示的230B和230E)所给出的支持存储的特质集合相一致。第三区段212C具有第三区段特质集合,其与由存储系统230F给出的存储的特质集合相一致。相应地,一旦在卷板块H到K上检测到写入操作,映射系统220就准备好将区段212C的卷板块H到K当中的任一个映射到存储系统230F(其由正方形表示)的存储板块f1到f4中的任一个。第四区段212D具有第四区段特质集合,其与由具有被映射到组成的卷板块L到Q的板块的存储系统(例如由梯形表示的230D)所给出的支持存储的特质集合相一致。
如果一个区段的所有组成的卷板块都被深供给,则该区段被定义成“深供给”。如果一个区段的所有组成的卷板块都被浅供给,则该区段被定义成“浅供给”。因此在图2中,区段212A、212B和212D被深供给,而区段212C则被浅供给。
“层”被定义成具有共同的区段特质集合的一个或更多区段的集合。一层中的给定区段与该层内的任何其他区段不需要是邻接的。在图2的情况中,区段212A到212D当中的每一个都具有不同的区段特质集合。在图2中不存在具有多于一个区段的层。相应地,在图2中也有四层。第一层仅包括第一区段212A,并且其特质集合(在下文中被称作“第一层特质集合”)与第一区段特质集合相同。第二层仅包括第二区段212B,并且其特质集合(在下文中被称作“第二层特质集合”)与第二区段特质集合相同。第三层仅包括第三区段212C,并且其特质集合(在下文中被称作“第三层特质集合”)与第三区段特质集合相同。第四层仅包括第四区段212D,并且其特质集合(在下文中被称作“第四层特质集合”)与第四区段特质集合相同。在后面关于图3提供的一个示例中,添加了第五区段(312E)以便扩展第一层。但是对于图2的描述,第一到第四区段与第一到第四层一一对应。
如果一层的(多个)组成的区段都被深供给,则该层被定义成“深供给”。如果一层的(多个)组成的区段被浅供给,则该层被定义成“浅供给”。因此在图2中,第一、第二和第四层被深供给,而第三区段则被浅供给。一层可以在响应于供给指令而被初始设立时被深供给或浅供给。
文件系统201包括关于卷211的元数据205,比如卷的尺寸以及每一层的尺寸和(多个)逻辑存储位置。元数据205还可以包括每一层的层特质集合。元数据205例如可以是持久性的。文件系统201可以使用该元数据205来作出关于将文件系统命名空间(比如目录或文件)或其一部分放置到卷211中的何处的决定。
椭圆形213表示卷暴露系统210可以向上为文件系统给出更多卷。附加的卷也可以是异质的,并且可以使用相同的底层存储系统。举例来说,在图2中,在仅有卷211被向上暴露的情况下,板块a2、b2、c1、c3、c4、e1、e2、f1、f2、f3和f4分别被图示成未被映射。相应地,这些未被映射的板块可用于卷暴露系统210使用关于第一卷211的构造所描述的相同原理来构造一个或更多附加卷(未示出)。
任何给定特质集合中的任何特质可以是对于由文件系统或其他决策制定逻辑来确定将把文件系统命名空间(比如目录或文件系统)放置在其中的有效层具有任何相关性的任何特质。现在将提供示例,但是这一示例列举仅仅是可能的相关特质的一个小的取样。
特质的一个示例可以是底层存储系统的实际类型。举例来说,类型特质可以规定闪存、盘设备、云存储或者任何其他类型的存储系统。类型特质还可以规定更宽泛的类别,比如不涉及机械交互工件的固态存储,或者具有一个或更多机械交互工件的机械存储。
特质还可以是与存储的性能有关的性能特质。举例来说,读取/写入性能特质与实施读取/写入操作时的存储性能有关。举例来说,读取/写入性能特质可以是等待时间(读取和/或写入)、数据传输速度(读取和/或写入)等等的函数。
性能特质还可以是瞬态性能特质,其可以是任何给定比特在给定时间段内在存储装置中翻转的可能性的函数。举例来说,瞬态性能特质可以表明所述存储装置能够对于特定天数、周数或年数安全地存储数据。瞬态性能特质可以是在后续写入被认为不可靠或不可能之前,给定尺寸的存储装置可以预期承受的预期写入操作的数目的函数。举例来说,存储装置可以具有最多10次、100次或1000次写入操作。瞬态性能特质还可以规定存储装置是易失性的还是非易失性的。
特质可以是与构建到存储装置中的冗余性水平有关的韧性特质。举例来说,一些存储装置可以被双向镜像,其被给出以便在单一物理存储设备的故障中幸存下来。一些存储装置可以具有在多于一个物理设备的故障中幸存下来的更高冗余性水平,并且韧性特质可以规定最低冗余性水平。
特质还可以表明存储是否被远程复制,其涉及在远程位置处保持数据的拷贝。
特质还可以与加密性质有关。举例来说,存储系统可以具有在存储之前对数据进行加密并且在从存储装置读取之后对数据进行解密的硬件和/或软件,从而安全地存储数据,同时允许文件系统以明文方式对数据进行操作。加密特质还可以规定最小加密安全性,比如是否需要128比特加密。
特质还可以是压缩特质,在这种情况下,存储系统具有在写入到存储装置之前对数据进行压缩并且在从存储装置读取之后对数据进行解压缩的硬件和/或软件,从而以压缩形式存储数据,同时允许文件系统对未压缩数据进行操作。压缩特质还可以表示压缩是否必须是无损的,或者是否某种程度的有损压缩是可以接受的,以及如果是的话,什么程度的有损压缩是可接受的。
特质还可以包括对于存储系统的寻找惩罚(seekpenalty)的存在或不存在。如果寻找惩罚存在,则特质还可以规定该寻找惩罚的特性。特质集合还可以包括底层存储装置的电力消耗性质。
给定层的特质集合可以包括所列举出的这些特质或者未列举出的附加特质当中的任何一项或更多项或者其组合。
图3图示出了在图2的示例上扩展的环境300,并且图示出了自从图2的情况之后的若干情形。首先,映射系统220现在图示出了卷板块J映射到存储板块f1。因此,在某一点处,文件系统201对板块J内的某一逻辑地址空间进行写入,从而导致映射系统220通过制定去到支持区段212C的特质的底层存储板块的实际映射来作出反应。因此,在图3的状态下,图3的第三区段212C、第三层和卷211’可以被视为“部分地深供给”。如果一个区段、层或卷中包括有被深供给的至少一个卷板块以及被浅供给的至少一个卷板块,则该区段、层或卷被“部分地深供给”。
另一个情形是图2的卷211已被卷暴露系统210扩展,从而形成包括第五区段312E的扩展卷211’,该第五区段312E具有两个卷板块R和S。第五区段312E扩展之前仅包括第一区段212A的第一层。相应地,现在第一层包括两个区段212A和312E。如果实施该附加区段的深供给,则映射系统220对扩展第一层的指令作出响应,这是通过将附加板块R和S映射到提供具有与第一层特质集合相一致的特质集合的存储的存储系统230C的对应的存储板块c3和c4。因此,只要有可用于支持扩展的兼容的底层存储装置,就可以通过深供给来扩展卷中的任何层。
图4图示出了使用至少其中一些可用的底层存储系统将卷向上暴露给文件系统的方法400。方法400可以在图2的环境200和/或图3的环境300的情境中实施。响应于针对供给卷的指令发起方法400(发起动作401)。方法400随后包括对于将被包括在卷中的每一层实施方法500(动作402)。一旦对于所有层完成所述动作,卷暴露系统就将卷暴露给文件系统(完成动作403)。
因此,图5图示出了用于供给卷的一层的方法500的流程图。响应于接收到卷供给指令而对于每一层实施方法500(发起事件501)。卷系统随后登记该层以及其比如尺寸和特质集合之类的重要特性(动作502),所述属性可以从卷供给指令获得。如果该层被浅供给(判定方框503中的“浅”),则对于该层完成方法500(完成505)。如果该层被深供给(判定方框503中的“深”),则该层的每一个板块与具有与该层特质集合相一致的特质集合的存储板块映射在一起(动作504),于是方法500对于该层完成(完成505)。
这一映射操作导致将针对卷211中的卷板块内的逻辑地址的任何文件系统写入操作转换成针对相应的映射的存储板块中的相应的物理地址的写入请求。如果卷板块仅被浅供给,则写入请求还导致将该卷板块映射到一致的存储板块。如果文件系统发出针对卷211中的卷板块内的逻辑地址的读取操作,则所述映射导致从相应的映射的存储板块中的相应的物理地址进行读取请求。
一旦方法500对于所有层都完成,于是就可以将卷暴露给文件系统(图4中的动作403)。每一层随后被暴露给文件系统,从而使其卷中的逻辑地址空间不与任何其他层重叠。每一层与其所支持的特质集合一同被暴露。卷系统可以向文件系统肯定地提供该信息,或者卷系统可以向文件系统提供仅仅唯一的卷标识符或者该信息的另一个子集,并且随后在从文件系统进行查询时提供其余部分。
相应地,这里所描述的原理提供了一种用于向文件系统提供异质卷的有效机制,从而允许智能的决策制定以便将文件系统命名空间(比如目录或文件)或者甚至文件的一部分适当地放置在命名空间的适当层中。给定的文件系统命名空间或其一部分的适当的特质集合可以响应于动态条件而改变,从而导致文件系统将文件系统命名空间或其某些部分从一层移动到另一层,这样做的前提是对于该文件系统命名空间的特质保证得到遵守。
在不背离其精神或实质特性的情况下,可以通过其他特定形式来具体实现本发明。所描述的实施例应当在所有方面都被视为仅仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求来表明,而不是由前面的描述来表明。落在权利要求的含义和等效范围内的所有改变都应该被涵盖在其范围之内。
机译: 具有不同存储特征层的数据存储量
机译: 具有不同存储特征层的数据存储量
机译: 具有不同存储特性的层的卷