CN101110049B - 数据记录装置及数据记录方法 - Google Patents
数据记录装置及数据记录方法 Download PDFInfo
- Publication number
- CN101110049B CN101110049B CN2007101038754A CN200710103875A CN101110049B CN 101110049 B CN101110049 B CN 101110049B CN 2007101038754 A CN2007101038754 A CN 2007101038754A CN 200710103875 A CN200710103875 A CN 200710103875A CN 101110049 B CN101110049 B CN 101110049B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- memory storage
- zone
- combination
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据记录装置及数据记录方法。该数据记录装置包括用于确定在第一存储装置中是否存在可存储区域的确定单元。所述可存储区域是具有连续物理地址的多个空区域的组合,该组合的总数据量大于要存储的数据的量。当所述确定单元确定出存在所述可存储区域时,第一存储单元将所述要存储的数据存储在所述可存储区域中,并且第二存储单元将已被所述第一存储单元存储在所述可存储区域中的所述数据作为一个块存储到所述第二存储装置中。
Description
技术领域
本发明涉及一种将相同的数据存储在多个存储装置中的技术。
背景技术
计算机***中使用的各种数据通常记录在诸如盘装置的存储装置上。通常,随着时间流逝,记录在存储装置上的数据可能使用频率变低。因为将这种不使用或较少使用的数据保持在存储装置中是昂贵的,所以需要将数据从存储装置备份到可移动介质上,并且需要通过删除数据来释放存储装置,在雇佣执行这些处理的操作员方面,这提高了成本。因此,为了使***成本效率高,需要一种作为代替的自主***来备份数据和删除数据。
因此,分级存储管理采用虚拟盘装置,该虚拟盘装置自主将数据存档而不会消耗主机的资源并且向主机提供了不需要可移动介质的透明盘存储空间。虚拟盘装置按预先设定的块(块长度)对用户数据进行管理。
日本专利特开公报No.2005-275674公开了一种技术,通过这种技术,可以通过调节在从存储装置向诸如磁带装置的可移动介质传送时的数据长度来有效地进行备份。
然而,在按预先设定的块长度对用户数据进行管理的传统虚拟盘装置中,数据的备份是按块长度进行的。因此,如果涉及大量数据,则磁带盘会出现开销,这妨碍了有效的备份处理。
换言之,如果用户数据的量不是非常多且达到一个块的长度,则可以将所有数据一次性写入磁带装置。但是,如果用户数据的量多到需要以多个块来管理该数据,则要用多次将全部数据写入磁带装置。在将数据的每个块写入磁带之后,写入一个文件标记。因为在写入文件标记时无法访问磁带装置,所以在将数据的下一块移动到写入位置时在可以将该下一块写入磁带装置之前存在等待时段。
因此,由磁带装置的开销所导致的等待时段的数量随着数据量而增加,这对性能有不利影响。这在从磁带装置读取用户数据时也同样适用。因此,为了提高性能,可以考虑通过使数据块的数量能够根据数据量而变化来减少写入文件标记的次数。然而,用户数据的大小和单个块的长度变化很大,从而无法确定能适于所有数据量的单个块的长度。
换言之,需要设计一种有效的备份处理,其适于任何数据量,从而提高虚拟盘装置的性能。
发明内容
本发明的目的是至少部分地解决传统技术中的问题。
根据本发明的一方面,提供了一种数据记录装置,该数据记录装置将相同的数据存储在第一存储装置和第二存储装置中,所述第一存储装置和所述第二存储装置是由各自具有一数据量的多个区域形成的,所述数据记录装置包括:确定单元,其确定在所述第一存储装置中是否存在可存储区域,所述可存储区域是具有连续物理地址的多个空区域的组合,该组合的总数据量大于要存储的数据的量,当在所述第一存储装置中不存在可存储区域时,该确定单元确定在所述第一存储装置中是否存在组合区域,所述组合区域是多个已备份区域的组合或者所述空区域和所述已备份区域的组合,所述已备份区域中存储有已被存储到所述第二存储装置中的数据,并且所述组合区域具有连续物理地址,且所述组合区域的总数据量大于或等于所述要存储的数据的量;第一存储单元,其在所述确定单元确定在所述第一存储装置中存在所述可存储区域时,将所述要存储的数据存储在所述可存储区域中,而在所述确定单元确定在所述第一存储装置中存在所述组合区域时,将所述要存储的数据存储在所述组合区域中;以及第二存储单元,其将已由所述第一存储单元存储的所述数据作为一个块存储到所述第二存储装置中。
根据本发明的另一方面,提供了一种将相同的数据存储在第一存储装置和第二存储装置中的方法,所述第一存储装置和所述第二存储装置是由各自具有一数据量的多个区域形成的,所述方法包括以下步骤:第一确定步骤,确定在所述第一存储装置中是否存在可存储区域,所述可存储区域是具有连续物理地址的多个空区域的组合,该组合的总数据量大于要存储的数据的量;第二确定步骤,当在第一确定步骤中确定在所述第一存储装置中不存在可存储区域时,该第二确定步骤确定在所述第一存储装置中是否存在组合区域,所述组合区域是多个已备份区域的组合或者所述空区域和所述已备份区域的组合,所述已备份区域中存储有已被存储到所述第二存储装置中的数据,并且所述组合区域具有连续物理地址,且所述组合区域的总数据量大于或等于所述要存储的数据的量;第一存储步骤,包括在所述第一确定步骤确定在所述第一存储装置中存在所述可存储区域时,将所述要存储的数据存储在所述可存储区域和所述组合区域中的任一个中,而在所述第二确定步骤确定在所述第一存储装置中存在所述组合区域时,将所述要存储的数据存储在所述组合区域中;以及第二存储步骤,包括将在所述第一存储步骤中已存储的所述数据作为一个块存储到所述第二存储装置中。
根据本发明的又一方面,提供了一种其中存储有使计算机执行上述方法的计算机程序的计算机可读记录介质。
通过结合附图来阅读对本发明的当前优选实施例的以下详细描述,将会更好地理解本发明的以上和其他目的、特征、优点以及技术和工业重要性。
附图说明
图1是用于说明根据本发明的一个实施例的数据记录装置的示意图;
图2是根据该实施例的存储***的框图;
图3是图2所示的数据记录装置的图;
图4是用于说明图3所示的OLU数据端点(terminal)表的示意图;
图5是用于说明MRB设置处理器如何检测图3所示的空闲区的示意图;
图6是用于说明MRB设置处理器如何将用户数据分配给通过组合图3所示的空闲区和命中区而获得的区域的示意图;
图7是用于说明MRB设置处理器如何将用户数据分配给通过组合图3中的空闲区和命中区而获得的区域的示意图;
图8是根据该实施例的数据记录处理的流程图;
图9是图8所示的步骤S101中的确定空闲区的处理的流程图;
图10是图8所示的步骤S107中的确定空闲区和命中区的组合的处理的流程图;
图11是图10所示的步骤S314中的对确定进行检查的处理的流程图;以及
图12是图2所示的数据记录装置的硬件结构的框图。
具体实施方式
下面参照附图来描述根据本发明的数据记录装置和数据记录程序的示例性实施例。
下面参照图1来描述根据本发明实施例的数据记录装置的概况和显著特征。该数据记录装置在主存储器(磁盘装置等)中具有用于存储不同数据量(例如,256MB、512MB、768MB等)的多个预定存储区。各存储区都是具有连续物理地址的256MB的区域(块)的组合。例如,通过组合具有连续物理地址的三个256MB的块,创建了一个768MB的存储区。具体地说,如果将BLK#0的起始地址(物理地址)设为0,则BLK#1的起始地址将是0+256MB,BLK#2的起始地址将是0+256MB+256MB,从而由BLK#0至#2创建了768MB的存储区(在下文中将各数据量的存储区称为迁移/恢复块(MRB))。
在将用户数据记录在主存储器中时,数据记录装置检测可容纳该用户数据的MRB,并将该用户数据记录在检测到的MRB中。此外,在将所记录的用户数据从主存储器备份到辅助存储器(磁带装置等)时,数据记录装置逐个MRB地进行备份。
因此,与将用户数据记录在多个MRB中的传统技术不同,根据本实施例的数据记录装置在将用户数据记录在主存储器中时检测可容纳该用户数据的单个MRB,并将记录在主存储器中的用户数据逐个MRB地备份到辅助存储器中。
下面描述包括根据本实施例的数据记录装置的存储***的结构。图2是根据本实施例的存储***的框图。该存储***包括数据记录装置100和200。记录装置100和200中的每一个都连接到主存储器20和30以及辅助存储器10。虽然在本实施例中,为了方便,存储***被配置为仅包括数据记录装置100、200、主存储器20和30以及辅助存储器10,但是可将存储***配置为包括更多的数据记录装置、主存储器、辅助存储器、以及其他装置。
辅助存储器10是用于对记录在主存储器20和30中的用户数据进行备份的记录装置(例如,磁带装置)。主存储器20和30是廉价盘冗余阵列(RAID)并且是其中记录有来自未示出的主机计算机的用户数据的记录装置(例如,磁盘装置)。
主存储器20和30分别具有RAID逻辑单元(RLU)和数据记录装置100和200控制RLU。RLU还被逻辑地细分成多个开放逻辑单元(OLU)。各OLU都具有其中存储有用户数据的MRB。
当从未示出的主机计算机取回用户数据时,数据记录装置100从(本地***的)主存储器20或(远程***的)主存储器30中检测能够容纳该用户数据的MRB,并将该用户数据存储在检测到的MRB中。数据记录装置100定期地将记录在主存储器20和30中的用户数据记录(备份)到辅助存储器10(数据记录装置200在功能上与数据记录装置100相同,因此不对其进行详细描述)中。
下面描述图2所示的数据记录装置100的结构(数据记录装置200在结构上与数据记录装置100相同,因此不对其进行详细描述)。图3是图2所示的数据记录装置100的图。数据记录装置100包括:接口单元110、输入/输出(I/O)控制接口(I/F)单元120、存储单元130,以及控制单元140。
接口单元110对数据记录装置100与未示出的主机计算机、主存储器20和30、辅助存储器10以及数据记录装置200之间的数据的数据交换进行控制。I/O控制I/F单元120对接口单元110、存储单元130和控制单元140之间的数据的输入和输出进行控制。
存储单元130存储控制单元140执行的各种处理所需的数据和程序。如图3所示,存储单元130包括RLU数据端点表130a、OLU数据端点表130b、命中区数据130c、临时数据存储器130d。
RLU数据端点表130a是用于管理存在于各RLU中的OLU的表。换言之,RLU数据端点表130a包含用于管理OLU数据端点表130b的数据,并且其中以关联的形式存储有OLU与OLU数据端点表130b。由主存储器20和30控制的每个RLU都有一个RLU数据端点表130a。
OLU数据端点表130b包含用于管理设置在OLU中的MRB的数据。具体地说,OLU数据端点表130b包含与对应于各数据量(256MB、512MB、768MB、2048MB等)的空闲列表的头/尾相关的数据、用于通过链表管理各数据量空闲组的数据,以及各链表的头/尾数据。
图4是说明图3所示的OLU数据端点表130b的示意图。OLU数据端点表130b包含与各数据量相对应的空闲列表,这些空闲列表通过OLU管理缓冲区而彼此链接,并且各OLU管理缓冲区都链接到MRB链表和MRB数据表。MRB链表将OLU管理缓冲区与MRB数据表关联起来。MRB数据表包含与OLU管理缓冲区、MRB在主存储器20和30中的物理地址(StartOLBA)等相对应的OLU编号。
与记录有用户数据的MRB相对应的OLU管理缓冲区被链接到已使用链接。与没有记录用户数据的MRB相对应的OLU管理缓冲区按照StartOLBA的升序被链接到空闲链接。OLU管理缓冲区、MRB链表和MRB数据表的组合等同于图1所示的一个块。被管理的各个块被链接到各个数据量并相应地进行管理。(然而,实际的MRB存储区在主存储器20和30中)。
命中区数据130c是针对每个MRB指示是否已将存储在主存储器20和30的MRB中的用户数据备份到了辅助存储器10的数据。临时数据存储器130d临时记录了在主存储器20和30中记录的用户数据。
控制单元140具有用于存储规定处理过程的程序以及控制数据的内部存储器,并且根据这些程序和控制数据来执行各种处理。如图3所示,控制单元140包括数据发送/接收单元140a、MRB设置处理器140b,以及备份处理器140c。
当从未示出的主机计算机取回用户数据时,数据发送/接收单元140a将用户数据记录在由MRB设置处理器140b设置的主存储器20和30的MRB中。在接收到来自主机计算机的数据请求时,数据发送/接收单元140a从主存储器20和30中选择对应的用户数据并将所选择的用户数据输出到主机计算机。
当数据发送/接收单元140a取回用户数据时,MRB设置处理器140b基于OLU数据端点表130b来检测可容纳该用户数据的MRB。具体地说,MRB设置处理器140b参照链接到OLU数据端点表130b的空闲链接(见图4)的所有块,对与各块相关联的端点的数据量与要记录的用户数据的数据量进行比较,并选择超过用户数据的数据量的块组。MRB设置处理器140b随后将各块组的MRB数据表通知给数据发送/接收单元140a。数据发送/接收单元140a随后基于包括在MRB数据表中的StartOLBA,将用户数据记录在主存储器20和30中。
图5是说明MRB设置处理器140b如何检测空闲区的示意图。在检测MRB时,MRB设置处理器140b通过从与具有最小数据量的端点相对应的MRB开始检查MRB,来检测将要记录用户数据的MRB。例如,如果用户数据的数据量是200MB,则MRB设置处理器140b从256MB的MRB开始,如果在256MB的MRB中没有空闲空间,则继续检查在512MB的MRB中是否有空闲空间。
因为仅使用形成512MB的MRB的块中的一个来记录用户数据,所以MRB设置处理器140b将未使用的256MB块链接到256MB端点。即,MRB设置处理器140b将其余MRB链接到具有与该其余MRB相同的数据量的端点。MRB设置处理器140b继续该处理,直到达到OVER为止(OVER是链接到数据量在2048MB以上的MRB的端点)。
如果没有找到空闲空间,则MRB设置处理器140b检查是否可以通过将空闲区与命中区(包含已写入磁带并可删除的数据)进行组合来确保连续区域(MRB)。如果可通过将空闲区与命中区组合来确保连续区域,则MRB设置处理器140b删除记录在命中区中的数据并将用户数据分配到被释放的区域。
图6和图7是用于说明将用户数据分配给通过组合空闲区和命中区而获得的区域的处理的示意图。为了方便,假定要分配2048MB的用户数据,并且存在1024MB的空闲组(空闲区)。
如图6中的第一行所示,MRB设置处理器140b参照OLU数据端点表130b,并将OLU管理缓冲区组中的第一OLU管理缓冲区(父缓冲区)作为基准,寻找刚好在该第一OLU管理缓冲区之前的包含StartOLBA的256MB的OLU管理缓冲区(由图6中的A表示)的地址(所确定的地址将是与基准OLU管理缓冲区之前64MB的OLU管理缓冲区相对应的地址)。MRB设置处理器140b随后基于命中区数据130c来检查是否可以删除被写入到分配给OLU管理缓冲区A的MRB中的数据。如果可以删除该数据,则MRB设置处理器140b删除记录在命中区中的数据并释放该区域(稍后描述该处理)。
如图6中的第二行所示,在找到OLU管理缓冲区A之后,MRB设置处理器140b继续确定刚好在包含StartOLBA的OLU管理缓冲区A之前的256MB的OLU管理缓冲区(由图6中的B表示)的地址,并检查是否可以删除写入在分配了OLU管理缓冲区B的MRB中的数据。继续根据需要执行以下处理多次以找到容纳该用户数据所需的空闲空间:沿前向确定包含StartOLBA的OLU管理缓冲区的地址并从分配了该OLU管理缓冲区的MRB中删除数据。在这种情况下,MRB设置处理器140b在找到可释放的四个OLU管理缓冲区时将结束该处理。然而,在找到可释放的四个OLU管理缓冲区之前,只要遇到无法释放的OLU管理缓冲区,MRB设置处理器140b就将结束沿前向的检查处理。
如图6中的第三行所示,当MRB设置处理器140b在前向遇到无法释放的OLU管理缓冲区时,MRB设置处理器140b沿后向进行检查处理。为了沿后向执行检查处理,MRB设置处理器140b将OLU管理缓冲区组中的最后一个OLU管理缓冲区作为基准,寻找在包含StartOLBA的最后一个OLU管理缓冲区之后256M的OLU管理缓冲区(由图6中的E表示)的地址。MRB设置处理器140b随后参照命中区数据130c来检查是否可将OLU管理缓冲区E转换成空闲区。如果可以释放OLU管理缓冲区E,从而找到可释放的第四个OLU管理缓冲区E,则MRB设置处理器140b结束检查处理。如果无法释放OLU管理缓冲区E,则MRB设置处理器140b以相似的方式继续进行对另一OLU管理缓冲区组的检查处理。
如图7中的第一行所示,在找到可对其分配用户数据的OLU管理缓冲区组之后,MRB设置处理器140b按照找到这些OLU管理缓冲区的顺序释放这些OLU管理缓冲区。删除与OLU管理缓冲区A链接的MRB中的数据,以释放OLU管理缓冲区A。类似地,通过删除与OLU管理缓冲区B和C链接的MRB中的数据,来释放OLU管理缓冲区B和C。
如图7中的第二行所示,在释放OLU管理缓冲区C之后,MRB设置处理器140b释放与OLU管理缓冲区E链接的MRB。因此,如图7中的第三行所示,MRB设置处理器140b创建了2048MB的空闲空间并将用户数据分配到所释放的2048MB空间。
在上述示例中,通过组合空闲区和命中区来确保数据区。还可通过仅组合具有可删除数据的命中区来确保数据区,从而可将用户数据记录在所确保的区域中。
如果通过组合空闲区和命中区或者通过仅组合命中区都无法确保可容纳用户数据的MRB,则MRB设置处理器140b将该事实通知给数据发送/接收单元140a,数据发送/接收单元140a将该用户数据临时存储在临时数据存储器130d中,直到确保了空闲空间为止。
备份处理器140c逐个MRB地对记录在主存储器20和30中的用户数据进行管理,并在辅助存储器10中记录(备份)在预定长度的时间以前记录在这些MRB中的那些用户数据。
下面描述数据记录装置100的处理。图8是根据本实施例的数据记录处理的流程图。数据记录装置100参照RLU数据端点表130a和OLU数据端点表130b,并检查是否可以仅使用由本地***控制的RLU(主存储器20中的所有RLU)中的空闲区来分配用户数据(即,是否可以确保数据量大于用户数据的数据量的MRB)(步骤S101)。
如果可以仅使用本地***中的空闲区来分配用户数据(在步骤S102为是),则数据记录装置100将用户数据映射到本地主存储器(主存储器20)中的可用空闲区上(步骤S103)。
如果仅使用本地***中的空闲区不足以分配用户数据(在步骤S102为否),则数据记录装置100检查是否可仅使用由远程***控制的RLU(主存储器30中的所有RLU)中的空闲区来分配用户数据(步骤S104)。
如果可以仅使用远程***中的空闲区来分配用户数据(在步骤S105为是),则数据记录装置100将用户数据映射到远程主存储器(主存储器30)中的可用空闲区上(步骤S106)。
如果仅使用远程***中的空闲区不足以分配用户数据(在步骤S105为否),则数据记录装置100检查是否可使用本地***中的RLU中的空闲区和命中区的组合(即,通过组合空闲区和命中区而获得的区域)来分配用户数据(步骤S107)。
如果可以使用通过组合本地***中的空闲区和命中区而获得的区域来分配用户数据(在步骤S108为是),则数据记录装置100将用户数据映射到本地***的空闲区和命中区的组合上(步骤S109)。
如果通过组合空闲区和命中区而获得的区域不足以分配用户数据(在步骤S108为否),则数据记录装置100检查是否可使用远程***的RLU中的空闲区和命中区的组合来分配用户数据(步骤S110)。
如果可以使用远程***中的空闲区和命中区的组合来分配用户数据(在步骤S111为是),则数据记录装置将用户数据映射到远程主存储器30的空闲区和命中区上(步骤S112)。
如果通过组合远程***中的空闲区和命中区而获得的区域不足以分配用户数据(在步骤S111为否),则数据记录装置100将用户数据临时存储在临时数据存储器130d中(步骤S113),并且在经过特定时间段之后执行步骤S101。
这样,当取回用户数据时,数据记录装置100检测可容纳所取回用户数据的MRB并将该用户数据记录在检测到的MRB中。结果,可以有效地将记录在主存储器20和30上的数据备份到辅助存储器10上。
下面详细描述在图8的步骤S101执行的确定处理。图9是在图8所示的步骤S101中确定空闲区的处理的流程图。数据记录装置100参照RLU数据端点表130a,确定由本地***控制的将被分配用户数据的那些RLU(步骤S201),并且在RLU数据端点表130a中的OLU链接的头部寻找由OLU表示的OLU数据端点表130b(步骤S202)。
数据记录装置100检查是否可访问该OLU(步骤S203),如果可访问该OLU(在步骤S204为是),则检查该OLU中是否有可用于分配用户数据的空间(步骤S205)。如果有空间(在步骤S206为是),则数据记录装置100确定可将用户数据仅分配给本地***的RLU中的空闲区(步骤S207)并结束该处理。
如果不可访问该OLU(在步骤S204为否),或者如果没有用于分配用户数据的空闲空间(在步骤S206为否),则数据记录装置100检查是否已选择过所有OLU(步骤S208),如果不是(在步骤S209为否),则选择下一OLU(步骤S210),并且返回步骤S203。
如果已选择过所有OLU(在步骤S209为是),则数据记录装置检查是否已选择过本地***的所有RLU(步骤S211),如果不是(在步骤S212为否),则选择下一RLU(步骤S213),并且返回步骤S202。
如果已选择过所有RLU(在步骤S212为是),则数据记录装置100确定可将用户数据仅分配给本地***的RLU中的空闲区(步骤S214),并且结束该处理。
因为除了用远程***代替本地***之外,图8的步骤S104中的处理与参照图9说明的处理基本相同,所以省略对其的详细描述。
下面详细描述在图8的步骤S107中执行的确定处理。图10是在图8所示的步骤S107中确定空闲区和命中区的组合的处理的流程图。数据记录装置100从本地***的RLU中选择要被分配用户数据的那些RLU(步骤S301),并且在RLU数据端点表130a中的OLU链接中寻找由第一OLU表示的OLU数据端点表130b(步骤S302)。
然后,数据记录装置检查是否可访问该OLU(步骤S303),如果可访问(在步骤S304为是),则检查是否有用于分配用户数据的空间(包括命中区)(步骤S305),如果有(在步骤S306为是),则确定可使用本地***中的RLU中的空闲区和命中区来分配用户数据(步骤S307),从而结束该处理。
如果不可访问该OLU(在步骤S304为否),或者如果没有可用于分配用户数据的空间(在步骤S306为否),则数据记录装置100检查是否已选择过所有OLU(步骤S308)。
如果没有选择过所有OLU(在步骤S308中为否),则数据记录装置100选择下一OLU(步骤S310)并返回步骤S303。如果已选择过所有OLU(在步骤S309中为是),则数据记录装置100检查是否已选择过所有RLU(步骤S311)。
如果没有选择过所有RLU(在步骤S312中为否),则数据记录装置100选择下一RLU(步骤S313),并且返回步骤S302。如果已选择过所有RLU(在步骤S312为是),则数据记录装置执行检查处理以确定是否可将用户数据仅映射到本地***的RLU中的命中区上(步骤S314),从而结束该处理。
下面详细描述在图10的步骤S314中执行的检查处理。图11是图10所示的步骤S314中对确定进行检查的处理的流程图。数据记录装置100识别与命中链接(已使用链接)相链接的MRB(OLU管理缓冲区)(步骤S401),并且识别与所识别的MRB相关联的OLU管理缓冲区组(步骤S402)。
然后,数据记录装置100检查该OLU管理缓冲区组之前和之后的区域以确定是否能够确保所需区域(步骤S403)。如果可以确保所需区域(在步骤S404为是),则数据记录装置100确定可将用户数据仅映射到本地***的RLU中的命中区上(步骤S405),从而结束该处理。
如果无法确保所需区域(在步骤S404为否),则数据记录装置100检查是否已选择过命中区的所有MRB(步骤S406),如果没有(在步骤S407中为否),则选择下一MRB(步骤S408),并且返回步骤S402。
如果已选择过所有MRB(在步骤S407为是),则数据记录装置确定空闲区和命中区不足以分配用户数据(步骤S409),并且结束该处理。
因为除了用远程***代替本地***之外,图8的步骤S110中的处理与参照图10说明的处理基本相同,所以省略对其的详细描述。
这样,数据记录装置100使用空闲区和命中区两者来确保MRB,并将用户数据记录在所确保的MRB中。结果,可无任何延迟地将用户数据记录在主存储器20和30中。
这样,在根据本实施例的数据记录装置中,当数据发送/接收单元140a从主机计算机取回用户数据时,MRB设置处理器140b参照RLU数据端点表130a和OLU数据端点表130b,在主存储器20和30中检测可容纳该用户数据的MRB,并将该用户数据记录在检测到的MRB中。备份处理器140c逐个MRB地将不再使用的用户数据从主存储器20和30记录到辅助存储器10。结果,可有效地备份各种大小的用户数据,从而提高了存储***的性能。
可以在计算机***上执行计算机程序来实现与数据记录装置相同的功能。
图12是图2所示的数据记录装置的硬件结构的框图。该计算机包括:接口40,通过该接口40与其他计算机交换数据;随机存取存储器(RAM)41;只读存储器(ROM)42;记录介质读取装置43,其从记录介质读取程序;中央处理单元(CPU)44,所有这些组件都通过总线45进行互连。
ROM 42中存储有表现出与数据记录装置100的功能相似的功能的各种程序42a。CPU 44从ROM 42中读取程序42a,以实现数据记录装置100的功能单元的各种处理44a。
RAM 41中存储有与数据记录装置100的存储单元130中存储的数据相对应的各种数据41a。CPU 44从主机计算机取回数据并将其存储在RAM 41中,并且基于存储在RAM 41中的数据41a,对数据进行处理。
不必将程序42a保存在ROM 42中,而是可将其存储在便携式物理介质(例如,软盘(FD)、光盘只读存储器(CD-ROM)、数字多用盘(DVD)和集成电路(IC)卡)或固定介质(例如,外部硬盘驱动器(HDD))中,或者将其存储在经由公共线路、互联网、局域网(LAN)或广域网(WAN)而与该计算机相连的不同计算机(或服务器)上。该计算机通过从记录介质读取程序42a来执行程序42a。
虽然为了完整和清楚的公开已经针对特定实施例描述了本发明,但是所附权利要求并不因此受到限制,而应解释为涵盖本领域技术人员可以想到的落入在此阐述的基本教导内的所有变型例和另选结构。
在本实施例中说明的所有自动处理可以全部或部分地手动执行。类似地,在本实施例中说明的所有手动处理可以全部或部分地通过公知方法而自动执行。
除非另外指明,否则可以根据需要改变在说明书和附图中提及的处理过程、控制过程、特定名称以及包括各种参数在内的数据。
所例示的装置的组成部分仅仅是概念性的并且不必在物理上与附图所示的结构相似。例如,该装置不必具有所例示的结构。可以根据负载或应如何使用该装置,将该装置整体地或部分地在功能上或物理上进行分解或集成。
该装置所执行的处理功能全部或部分地通过CPU或CPU执行的程序来实现,或者通过使用布线逻辑的硬件来实现。
根据本发明的一方面,当取回了要记录在第一记录装置中的数据时,数据记录装置在第一记录装置中检测由具有连续物理地址并且具有大于该数据的量的存储量的区域形成的存储区,将该数据记录在检测到的存储区中,并将与记录在第一记录装置中的数据同样的数据记录到第二记录装置。因此,可以有效地备份第一记录装置中的数据,从而提高了包括第一记录装置和第二记录装置的存储***的性能。
根据本发明的另一方面,根据预定存储量来管理存储区,当取回了要记录在第一存储装置中的数据时,数据存储装置选择可容纳该数据的存储区并将该数据存储在所选择的存储区中。因此,可将数据有效地记录在第一存储装置中。
根据本发明的又一方面,数据记录装置从根据预定量而分类的多个存储区当中的具有最小量的存储区开始,按照存储量的升序选择存储区,并将数据存储在所选择的存储区中。因此,可有效地利用第一记录装置的资源。
根据本发明的又一方面,当第一记录装置中的存储区小于要记录在第一记录装置中的数据的量时,数据记录装置从第一记录装置中的存储区当中检测其中包含被记录到第二记录装置的数据的命中存储区,通过将检测到的命中存储区与由具有连续地址的区域形成的存储区进行组合来确保一组合区域,并将数据记录在该组合区域中。因此,可以没有任何延迟地将数据记录在第一记录装置中。
根据本发明的又一方面,如果通过组合命中存储区与由具有连续地址的区域形成的存储区而确保的总存储量小于要记录到第一记录装置中的数据的量,则数据记录装置临时存储要存储在第一记录装置中的数据,直到所确保的总存储量大于该数据的量为止。因此,可将数据有效地记录在第一存储装置中。
根据本发明的又一方面,当存储区小于要记录在第一记录装置中的数据的量时,数据记录装置从第一记录装置中的存储区当中检测其中包含被记录到第二记录装置的数据的命中存储区,并将该数据记录在具有连续物理地址的命中存储区中。因此,可将数据有效地记录在第一存储装置中。
虽然为了完整和清楚的公开已经针对特定实施例描述了本发明,但是所附权利要求并不因此受到限制,而应解释为涵盖本领域技术人员可以想到的落入在此阐述的基本教导内的所有变型例和另选结构。
Claims (8)
1.一种数据记录装置,其将相同的数据存储在第一存储装置和第二存储装置中,所述第一存储装置和所述第二存储装置是由各自具有一数据量的多个区域形成的,所述数据记录装置包括:
确定单元,其确定在所述第一存储装置中是否存在可存储区域,所述可存储区域是具有连续物理地址的多个空区域的组合,该组合的总数据量大于要存储的数据的量,当在所述第一存储装置中不存在可存储区域时,该确定单元确定在所述第一存储装置中是否存在组合区域,所述组合区域是多个已备份区域的组合或者所述空区域和所述已备份区域的组合,所述已备份区域中存储有已被存储到所述第二存储装置中的数据,并且所述组合区域具有连续物理地址,且所述组合区域的总数据量大于或等于所述要存储的数据的量;
第一存储单元,其在所述确定单元确定在所述第一存储装置中存在所述可存储区域时,将所述要存储的数据存储在所述可存储区域中,而在所述确定单元确定在所述第一存储装置中存在所述组合区域时,将所述要存储的数据存储在所述组合区域中;以及
第二存储单元,其将已由所述第一存储单元存储的所述数据作为一个块存储到所述第二存储装置中。
2.根据权利要求1所述的数据记录装置,该数据记录装置还包括保存单元,该保存单元保存与所述第一存储装置中的各个空区域的物理地址和数据量相关的信息,其中
所述确定单元基于所述保存单元保存的所述信息来确定在所述第一存储装置中是否存在所述可存储区域。
3.根据权利要求2所述的数据记录装置,其中,如果所述确定单元确定出在所述第一存储装置中存在多个可存储区域,则所述确定单元从所述多个可存储区域当中选择具有最小数据量的可存储区域。
4.根据权利要求1所述的数据记录装置,其中,当所述确定单元确定出在所述第一存储装置中不存在组合区域时,
所述第一存储单元将所述要存储的数据临时存储在所述数据记录装置的临时数据存储器中,直到所述确定单元确定出在所述第一存储装置中存在所述可存储区域和所述组合区域中的任何一个为止。
5.一种将相同的数据存储在第一存储装置和第二存储装置中的方法,所述第一存储装置和所述第二存储装置是由各自具有一数据量的多个区域形成的,所述方法包括以下步骤:
第一确定步骤,其确定在所述第一存储装置中是否存在可存储区域,所述可存储区域是具有连续物理地址的多个空区域的组合,该组合的总数据量大于要存储的数据的量;
第二确定步骤,当在第一确定步骤中确定在所述第一存储装置中不存在可存储区域时,该第二确定步骤确定在所述第一存储装置中是否存在组合区域,所述组合区域是多个已备份区域的组合或者所述空区域和所述已备份区域的组合,所述已备份区域中存储有已被存储到所述第二存储装置中的数据,并且所述组合区域具有连续物理地址,且所述组合区域的总数据量大于或等于所述要存储的数据的量;
第一存储步骤,其包括在所述第一确定步骤确定在所述第一存储装置中存在所述可存储区域时,将所述要存储的数据存储在所述可存储区域中,而在所述第二确定步骤确定在所述第一存储装置中存在所述组合区域时,将所述要存储的数据存储在所述组合区域中;以及
第二存储步骤,其包括将在所述第一存储步骤中已经存储的所述数据作为一个块存储到所述第二存储装置中。
6.根据权利要求5所述的方法,该方法还包括:获取与所述第一存储装置中的各个空区域的物理地址和数据量相关的信息,其中
所述第一确定步骤包括:基于在所述获取步骤中获取的所述信息来确定在所述第一存储装置中是否存在所述可存储区域。
7.根据权利要求5所述的方法,其中,如果在所述第一确定步骤中确定出在所述第一存储装置中存在多个可存储区域,则所述第一确定步骤包括:从所述多个可存储区域当中选择具有最小数据量的可存储区域。
8.根据权利要求5所述的方法,其中,当在所述第二确定步骤中确定出在所述第一存储装置中不存在组合区域时,
所述第一存储步骤包括:临时将所述要存储的数据保存在临时存储器中,直到确定出在所述第一存储装置中包括所述可存储区域和所述组合区域中的任何一个为止。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006198624 | 2006-07-20 | ||
JP2006-198624 | 2006-07-20 | ||
JP2006198624A JP4997858B2 (ja) | 2006-07-20 | 2006-07-20 | データ記録装置およびデータ記録プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110049A CN101110049A (zh) | 2008-01-23 |
CN101110049B true CN101110049B (zh) | 2010-09-15 |
Family
ID=38972721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101038754A Expired - Fee Related CN101110049B (zh) | 2006-07-20 | 2007-05-17 | 数据记录装置及数据记录方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7752405B2 (zh) |
JP (1) | JP4997858B2 (zh) |
KR (1) | KR100909765B1 (zh) |
CN (1) | CN101110049B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5459613B2 (ja) * | 2010-02-26 | 2014-04-02 | 日本電気株式会社 | データ処理システム、データ処理方法およびデータ処理プログラム |
CN102760063B (zh) * | 2011-04-25 | 2015-08-26 | 联想(北京)有限公司 | 一种文件加载方法及装置 |
CN103559101A (zh) * | 2013-10-15 | 2014-02-05 | 华为技术有限公司 | 一种操作***数据的备份和还原的方法、存储设备及终端 |
CN106354426A (zh) * | 2016-08-18 | 2017-01-25 | 无锡天脉聚源传媒科技有限公司 | 一种数据处理方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05197621A (ja) * | 1992-01-14 | 1993-08-06 | Nec Corp | 階層記憶装置の制御方式 |
US5719983A (en) * | 1995-12-18 | 1998-02-17 | Symbios Logic Inc. | Method and apparatus for placement of video data based on disk zones |
US6691212B1 (en) | 2000-10-26 | 2004-02-10 | Mirapoint, Inc. | Method and system for providing an interleaved backup |
JP3526452B2 (ja) | 2001-12-18 | 2004-05-17 | 株式会社東芝 | ディスクアレイ装置及びデータバックアップ方法 |
JP4009840B2 (ja) | 2002-06-27 | 2007-11-21 | ソニー株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
WO2004027774A1 (en) * | 2002-09-20 | 2004-04-01 | Koninklijke Philips Electronics N.V. | Recording information for seamless playback |
JP2005038071A (ja) | 2003-07-17 | 2005-02-10 | Hitachi Ltd | ストレージの容量を最適化する管理方法 |
JP4244836B2 (ja) | 2004-03-24 | 2009-03-25 | 日本電気株式会社 | コンピュータシステム、そのバックアップ/リストア方法、ホストコンピュータ、プログラム |
JP2006040065A (ja) * | 2004-07-28 | 2006-02-09 | Fujitsu Ltd | データ記憶装置およびデータ記憶方法 |
JP2006072789A (ja) | 2004-09-03 | 2006-03-16 | Hitachi Ltd | ストレージシステム及びストレージシステムのデータ管理装置 |
JP2006092124A (ja) * | 2004-09-22 | 2006-04-06 | Fujitsu Ltd | 記憶装置、記憶制御方法および記憶制御プログラム |
JP2005050521A (ja) | 2004-09-27 | 2005-02-24 | Pioneer Electronic Corp | 情報記録媒体及びその情報記録装置 |
-
2006
- 2006-07-20 JP JP2006198624A patent/JP4997858B2/ja not_active Expired - Fee Related
-
2007
- 2007-04-20 US US11/785,898 patent/US7752405B2/en not_active Expired - Fee Related
- 2007-05-08 KR KR1020070044509A patent/KR100909765B1/ko not_active IP Right Cessation
- 2007-05-17 CN CN2007101038754A patent/CN101110049B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20080022060A1 (en) | 2008-01-24 |
KR100909765B1 (ko) | 2009-07-29 |
US7752405B2 (en) | 2010-07-06 |
CN101110049A (zh) | 2008-01-23 |
KR20080008949A (ko) | 2008-01-24 |
JP2008027162A (ja) | 2008-02-07 |
JP4997858B2 (ja) | 2012-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4974156A (en) | Multi-level peripheral data storage hierarchy with independent access to all levels of the hierarchy | |
US8161226B2 (en) | Methods and apparatus to share a thread to reclaim memory space in a non-volatile memory file system | |
US8161240B2 (en) | Cache management | |
US7085895B2 (en) | Apparatus, system, and method flushing data from a cache to secondary storage | |
JP4733461B2 (ja) | 計算機システム、管理計算機及び論理記憶領域の管理方法 | |
CN102063943B (zh) | Nand闪存参数自动检测*** | |
CN108139902A (zh) | 用于提供混合模式来访问ssd驱动器的方法和装置 | |
US6343351B1 (en) | Method and system for the dynamic scheduling of requests to access a storage system | |
JP2008015623A (ja) | 複数種類の記憶デバイスを備えたストレージシステムの制御装置 | |
US8667220B2 (en) | Computer system management apparatus and management method | |
US20100211949A1 (en) | Management computer and processing management method | |
US10698815B2 (en) | Non-blocking caching for data storage drives | |
US11461287B2 (en) | Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS | |
US10713162B1 (en) | System and method for computer data garbage collection acceleration using peer to peer data transfers | |
CN101110049B (zh) | 数据记录装置及数据记录方法 | |
US8751739B1 (en) | Data device spares | |
JPH01292452A (ja) | 階層的データ記憶システム | |
CN108334457B (zh) | 一种io处理方法及装置 | |
JP4667225B2 (ja) | 制御装置およびコピー制御方法 | |
CN108984108A (zh) | 用于调度io命令的方法与固态存储设备 | |
US7836247B2 (en) | Method, apparatus, and computer program product for permitting access to a storage drive while the drive is being formatted | |
CN103514953B (zh) | 对存储在闪存中的数据有地址ram的模拟电可擦存储器 | |
US20080281992A1 (en) | Method for detecting order of attached devices and computer readable storage media storing program thereof | |
WO2020113549A1 (en) | External staging storage cluster mechanism to optimize archival data storage system on shingled magnetic recording hard disk drives | |
US8769182B1 (en) | Virtual tape library with the ability to perform multiple, simultaneous reads of a single virtual tape |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100915 Termination date: 20180517 |