本发明专利技术提供如下的技术:不管是在从2幂数尺寸的存储区域取得非2幂数尺寸的存储区域时,还是在从非2幂数尺寸的存储区域取得2幂数尺寸的存储区域时,都能够管理剩余的存储区域并且能够有效地利用存储区域。在存储装置的存储区域管理方法中,将取得的存储区域分割成不同的2幂数尺寸的存储区域,分别进行管理。另外,接受包含分配请求尺寸的存储区域分配请求,取得包含分配请求尺寸的2幂数的最小尺寸的空存储区域,求出分配请求尺寸的2进制数表示,针对所接受的分配请求,分配由在该2进制数表示中处于比特1的每个比特位置的2幂数大小的存储区域构成的连续存储区域。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及管理存储装置的存储区域并对存储区域分配文件以及存储对象的技 术。
技术介绍
一直以来,作为用于管理存储在硬盘等存储装置中的数据的方式,例如采用了 FAT (File Allocation Tables 文件分配表)或 NTFS(NT File System :NT 文件系统)等文 件系统。图IA是说明一直以来采用的硬盘等外部存储装置中的分区分配的图。如图IA所示,例如在外部存储装置306的存储区域的开头配置有主引导记录195 和存储有分区管理数据的分区管理表l%a。此外,还利用未图示的磁盘分配程序等实用程 序来分配4个分区1 4(191、192、193、194),并分别分配给某文件系统。如图IA例示针对 分区编号3的分区信息196那样,分区管理表19 包含分区编号196a、开始位置196b、分 区尺寸196c的条目。在分区编号196a中存储有识别分区的分区编号,在图示的例子中是 3。在开始位置中存储有分区的起始地址信息,在图示的例子中省略内容。在分区尺寸196c 中,存储有分区的分配单位区域的个数,在图示的例子中是52。针对各分区中的文件的磁盘分配管理取决于分配了各个分区的文件系统所特有 的分配方法,因此非常烦杂。例如,根据FAT,针对每个文件保持表示分配后的区块的链接 表。另外,根据NTFS,针对每个文件保持与分配后的区块的开始位置以及连续的区块数相关 的信息。为了解决这些文件系统中的分配管理的问题,例如提出了与下述专利文献1以及 非专利文献1所公开的伙伴系统(buddy system)相关的技术。伙伴系统按照由2k构成的 尺寸来分割存储区域进行分配管理。在不使用虚拟存储方式的单纯系统的存储对象的分配 中,采用基本的伙伴系统。图IB是说明伙伴系统的分配原理的图。图IB所示的是尺寸为23 = 8的分配区域 490、以及与其对应的树结构体580。分配区域490例如是图IA所例示的分区1 4等。树结构体580是对依次将分配区域490分割为2分之1尺寸,直到分配单位尺寸 为止而获得的区域(如果采用专利文献1的术语则为盘区(extent))的关系层级地进行模 型化而得到的。在将分配单位尺寸的盘区的阶层设为级别0时,在图所示的例子中,根节点 的级别是3,即作为分配区域490尺寸的2乘方的指数。树结构体580的根节点480对应于分割前的分配区域490的整个区域(级别3的 盘区),记载在节点内的“8”相当于所对应的分配区域490的尺寸。另外,括弧内的数字是 识别同一级别内的盘区的级别内编号。通过链接540连接到根节点480的节点440和通过链接541连接到根节点480的 节点441对应于将分配区域490 —分为二所得到的区域(级别2的盘区)。如图所示,各个 盘区的尺寸为4。在节点440的下位存在通过链接520连接的尺寸2的节点420和通过链接521连 接的尺寸2的节点421。同样,在节点441的下位存在通过链接522连接的尺寸2的节点 422和通过链接523连接的尺寸2的节点423。这4个节点对应于级别1的盘区。在节点420的下位存在通过链接510连接的尺寸1的节点410和通过链接511连 接的尺寸1的节点411。同样,在节点421的下位存在通过链接512连接的尺寸1的节点 412和通过链接513连接的尺寸1的节点413,在节点422的下位存在通过链接514连接的 尺寸1的节点414和通过链接515连接的尺寸1的节点415,在节点423的下位存在通过链 接516连接的尺寸1的节点416和通过链接517连接的尺寸1的节点417。这8个节点对 应于级别0的盘区。根节点480以外的节点对应于将父节点所对应的盘区进行一分为二后的盘区之 一。因此,各级别的盘区的尺寸总和与分配区域490的尺寸一致。根据上述伙伴系统,当分配某一大小的文件时,从与该大小相等或超过该大小的 由2k构成的尺寸的盘区中寻找空盘区进行分配,在释放时返回到该尺寸的空盘区组中即 可,所以能够容易地进行文件和存储对象的分配释放以及区域的管理。专利文献1 日本特开平748693号公报非专利文献1 安井卓,「ii I;趵 学名Linux力一才、A (第5回力一才、乂 V 管理)」日経 Linux 第 6 卷第 1 号(2004-01-08)ρ123_ρ130但是,根据上述伙伴系统,因为以2幂数为单位来分配区域,所以例如在分配 2. IGB文件时需要4GB的区域,在文件分配后的区块中,不管是否产生没有写入数据的区 域,在现有的文件系统内均不能对该区域进一步追加文件,从而无法有效地使用区域。另外,例如即使存储装置的整体存储容量是127GB,关于分配给请求存储区域的请 求源的物理或逻辑区域的分区,最大也只能作为64GB的分区进行管理。关于分区,虽然图 1所例示的分区3(193)的尺寸是52,但也只能作为25 = 32尺寸的分区进行管理。S卩,根据伙伴系统,虽然由于以2幂数为单位分配区域所以能够容易地进行文件 和存储对象的分配释放以及区域的管理,但存在如下问题由于未能实现从2幂数尺寸的 区域取得非2幂数尺寸的区域时的剩余区域管理,以及从非2幂数尺寸的区域取得2幂数 尺寸的区域时的剩余区域管理,所以不能有效地利用区域。
技术实现思路
因此本专利技术的目的是提供以下这样的技术不管是在从2幂数尺寸的存储区域取 得非2幂数尺寸的存储区域时,还是在从非2幂数尺寸的存储区域取得2幂数尺寸的存储 区域时,在哪种情况下都能够管理剩余的存储区域并且能够有效地利用存储区域。根据本专利技术的存储区域管理方法,能够将所取得的存储区域分割成不同的2幂数 尺寸的存储区域进行管理分配,由此解决上述课题。根据本专利技术的一个方式,取得分区的分配尺寸,根据分配尺寸和分区的分配单位 尺寸来算出互不相同的2幂数之和,针对该算出的互不相同的2幂数的每个指数,将分区分 割成由该2幂数与分区的分配单位尺寸之积构成的大小的区域,针对该分割后的每个区段 来管理分区。另外,根据本专利技术的另一方式,接受包含分配请求尺寸的存储区域分配请求,取得5包含分配请求尺寸的、2幂数与分区的分配单位尺寸之积的最小尺寸的空存储区域,求出 将分配请求尺寸除以分区的分配单位尺寸所得的值的2进制数表示,针对所接受的分配请 求,分配由在该2进制数表示中处于比特1的每个比特位置的2幂数与上述分区的分配单 位尺寸之积的大小的存储区域构成的连续存储区域。根据本专利技术,通过组合2幂数的尺寸来管理存储区域,所以能够有效管理任意尺 寸的存储区域,按照对存储区域进行分割后的每个2幂数尺寸的存储区域进行分配管理, 所以能够在连续存储区域中没有浪费地进行文件和存储对象的分配,从而能有效地利用存 储区域。附图说明图IA是说明外部存储装置中的分区分配例的图。图IB是说明伙伴系统的分配原理的图。图2是说明用于实施本专利技术的硬件构成例的图。图3A是说明本专利技术实施方式1中的将已取得分区作为主划分(初始分配)进行 管理的概念图。图;3B是说明管理已进行图3A所示的主划分的已取得分区的分配划分表的图。图3C是说明本专利技术实施方式1的对已取得分区进行主划分(初始分配)的处理 流程例的图。图4A是说明本专利技术实施方式2的取得分配请求尺寸的区段而释放使用区段的概 念的图。图4B是本文档来自技高网...
【技术保护点】
1.一种存储装置的存储区域管理方法,其特征在于,取得作为预先分配的存储区域的分区的分配尺寸,根据该分配尺寸和上述分区的分配单位的尺寸,算出互不相同的2幂数之和,针对该算出的互不相同的2幂数的每个指数,将上述分区分割成主区段,该主区段是由该2幂数与上述分区的分配单位尺寸之积构成的大小的存储区域,针对每个上述主区段来管理上述分区。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:吉冈诚,
申请(专利权)人:新叶股份有限公司,
类型:发明
国别省市:JP
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。