CN102282544B - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN102282544B
CN102282544B CN200980154985.0A CN200980154985A CN102282544B CN 102282544 B CN102282544 B CN 102282544B CN 200980154985 A CN200980154985 A CN 200980154985A CN 102282544 B CN102282544 B CN 102282544B
Authority
CN
China
Prior art keywords
data
stored
storage
fragment
memory
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
Application number
CN200980154985.0A
Other languages
English (en)
Other versions
CN102282544A (zh
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.)
Japan Electrical Scheme Innovation Corp
NEC Corp
Original Assignee
NEC Corp
NEC Solution Innovators Ltd
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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Publication of CN102282544A publication Critical patent/CN102282544A/zh
Application granted granted Critical
Publication of CN102282544B publication Critical patent/CN102282544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

一种存储系统,提供有具有:标识信息提供装置,用于向请求存储的数据组提供辨别该数据组的标识信息;数据集生成装置,用于通过将作为数据组一部分的待存储的数据划分成多个数据而生成由多个片段数据组成的数据集,以及为其提供冗余;分布存储控制装置,用于通过分布组成所述数据集的各个片段数据来存储要存储的数据,并且在各个存储装置中形成的各个存储区域的相同的位置中存储各个片段数据。分布存储控制装置以使得各个存储区中的存储位置连续的方式,将组成与被提供有相同标识信息的数据组中所包含的多个数据相对应的多个数据集的各个片段数据存储在各个存储区中。

Description

存储系统
技术领域
本发明涉及一种存储系统,并且具体涉及一种分布数据并且存储到多个存储设备中的存储系统。
背景技术
近年来,随着计算机已经发展并且变得普及,各种信息被放入数字数据中。作为用于存储这样的数字数据的设备,有诸如磁带和磁盘之类的存储设备。由于待存储的数据与目俱增并且其数量已经变得庞大,所以需要高容量存储系统。另外,要求保持可靠性而又减少存储设备的成本。此外,还要求可以易于在以后检索数据。结果,期望这样的存储系统,该存储系统能够自动增加其存储容量和性能、消除重复存储以减少存储成本并且具有高冗余性。
在这样的境况之下,近年来已经开发如专利文献1中所示的内容地址存储系统。这种内容地址存储系统分布数据并且存储到多个存储设备中,并且基于指定的与数据内容相对应的唯一的内容地址来指定存储数据的存储位置。
具体而言,该内容地址存储系统将预定数据划分成多个片段,向其添加片段作为冗余数据,并且将这些片段分别存储到多个存储设备中。以后通过指明内容地址,有可能检索数据(即由内容地址指定的存储位置中存储的片段)并且根据多个片段来恢复划分之前的预定数据。
更进一步,生成内容地址以便唯一对应于数据的内容。因此,在重复数据的情况下,有可能参照在相同存储位置的数据来获取相同内容的数据。因而不必单独存储重复的数据,并且有可能消除重复记录并且减少数据容量。
[专利文献1]公开号为JP-A2005-235171的日本待审专利申请
如上文提到的那样,内容地址存储系统将预定数据划分成多个片段并且将片段分别存储到多个存储设备中。即使由多个主机给出存储数据的命令,内容地址存储系统也按接收顺序将数据存储到存储设备中。
因此,存在从特定主机接收的数据和从各个主机接收的数据交替存储于存储设备中这样的情况。于是,在检索从特定主机接收的数据集时,或者在同时检索和兑现数据以及追踪数据时难以将相关数据一起检索。换而言之,由于从多个主机接收的数据可能按混合顺序存储到各个存储设备中,所以在这种情况中不可能将相关数据一起检索并且不可能实现高效数据检索。结果,出现不可能增加检索速度并且不可能提高存储系统的性能这样的问题。
发明内容
于是,本发明的目的在于提供一种能够增加检索速度并且提高性能而又保持冗余性(即上述任务)的存储系统。
为了实现该目的,本发明一个实施例的一种存储系统配备有多个存储装置和数据处理装置,该数据处理装置被配置成将数据存储到多个存储装置中并且检索存储于存储装置中的数据。
数据处理装置配备有:标识信息提供装置,配置成向请求存储的数据组提供辨别该数据组的标识信息;数据集生成装置,配置成通过将作为数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,这些片段数据为划分数据和冗余数据;以及分布存储控制装置,配置成分布组成数据集的片段数据并且在形成于各个存储装置中的存储区内的相同位置中分别存储片段数据,由此存储该存储目标数据。
分布存储控制装置被配置成将组成与具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
更进一步地,本发明另一实施例的一种计算机程序是一种包括如下指令的计算机程序,这些指令用于使配备有多个存储装置的信息处理设备实现被配置成将数据存储到多个存储装置中并且检索存储于存储装置中的数据的数据处理装置。
数据处理装置配备有:标识信息提供装置,配置成向请求存储的数据组提供辨别该数据组的标识信息;数据集生成装置,配置成通过将作为数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,这些多个片段数据为划分数据和冗余数据;以及分布存储控制装置,配置成分布组成数据集的片段数据并且在形成于各个存储装置中的存储区内的相同位置中分别存储片段数据,由此存储该存储目标数据。
分布存储控制装置被配置成将组成与具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
更进一步地,本发明另一实施例的一种数据处理方法是一种如下的数据处理方法,该数据处理方法包括通过配备有多个存储装置的信息处理设备将数据存储到多个存储装置中以及检索存储于存储装置中的数据。
在将数据存储到多个存储装置中时,信息处理装置:向请求存储的数据组提供辨别该数据组的标识信息;通过将作为数据组一部分的存储目标数据划分成多个片块来生成划分数据并且也产生还生成用于恢复存储目标数据的冗余数据,由此生成由多条个片段数据组成的数据集,这些多个片段数据为划分数据和冗余数据;并且分布组成数据集的片段数据并且在形成于各个存储装置中的存储区内的相同位置中分别存储片段数据,由此存储该存储目标数据。
更进一步地,在存储该存储目标数据时,信息处理装置将组成与具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
使用如上文所述配置,本发明使得有可能增加检索速度并且提高存储系统的性能而又保持冗余性。
附图说明
图1是示出了包括本发明第一示例性实施例的存储系统的整个系统的配置的方框图;
图2是示意地示出了本发明第一示例性实施例的存储系统的配置的方框图;
图3是示出了本发明第一示例性实施例的存储系统的配置的功能框图;
图4是用于说明图3中公开的存储系统中的数据存储过程的一个方面的说明图;
图5是用于说明图3中公开的存储系统中的数据存储过程的一个方面的说明图;
图6是用于说明图3中公开的存储系统中的数据检索过程的一个方面的说明图;
图7是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图8是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图9是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图10是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图11是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图12是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图13是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图14是示出了将数据存储到图3中公开的存储系统中的存储设备中的一个方面的视图;
图15是示出了图3中公开的存储系统的操作的流程图;并且
图16是示出了本发明第二示例性实施例中的存储系统的配置的功能框图。
具体实施方式
<第一示例性实施例>
将参照图1至图15描述本发明的第一示例性实施例。图1是示出了整个系统的配置的方框图。图2是示意性地示出了存储系统的方框图,并且图3是示出了该配置的功能框图。图4至图6是用于说明存储系统的操作的说明图。图7至图14是示出了在存储系统中的数据存储状态的视图。图15是示出了存储系统的操作的流程图。
这里的这一示例性实施例示出了在后文描述的第二示例性实施例中公开的存储系统的具体例子。下文将描述通过连接多个服务器计算机来配置存储系统的情况。然而,本发明的存储系统并不限于使用多个计算机的配置并且可以由一个计算机来配置。
[配置]
如图1中所示,本发明的存储系统10经由网络N连接到控制备份过程的备份系统11。备份系统11获取在经由网络N连接的备份目标设备12中存储的备份目标数据(存储目标数据)并且请求存储系统10存储。因而,存储系统10存储请求作为备份存储的备份目标数据。
如图2中所示,这一示例性实施例的存储系统10使用连接多个服务器计算机这样的配置。具体而言,存储系统10配备有:加速器节点10A,充当控制存储系统10的存储/再现操作的服务器计算机;以及存储节点10B,充当配备有存储数据的存储设备的服务器计算机。加速器节点10A的数目和存储节点10B的数目并不限于图2中所示数目,并且可以使用连接更多节点10A和更多节点10B这样的配置。
更进一步地,这一示例性实施例的存储系统10是如下内容地址存储系统,该系统划分数据并且使数据冗余,分布数据并且存储到多个存储设备中,并且通过依照待存储的数据的内容而设置的唯一内容地址来指定存储数据的存储位置。后文将描述这一内容地址存储系统。
假定存储系统10为一个系统,则下文将描述存储系统10的配置和功能。换而言之,可以在加速器节点10A或者存储节点10B的任何一个中包括下文描述的存储系统10的配置和功能。存储系统10并不限于包括加速器节点10A和存储节点10B的配置。存储系统10可以具有任何配置,并且例如可以由一个计算机来配置。此外,存储系统10并不限于内容地址存储系统。
图3示出了存储系统10的配置。如在这一附图中所示,存储系统10配备有存储数据的数据存储设备30和控制将数据存储到数据存储设备30中和从数据存储设备30检索数据的操作的数据处理设备20。实际上,数据处理设备20由多个诸如在图2中示出的加速器节点10A的CPU(中央处理单元)和存储节点10B的CPU之类的运算设备来配置。此外,存储设备30由在图2中示出的加速器节点10A的硬盘和存储节点10B的硬盘来配置。
继而如图3中所示,数据处理设备20配备有通过在程序中的构建来配置的流ID提供单元21、块生成单元22、重复检验单元23、片段生成单元24、分布存储控制单元25和存储位置管理单元26。此外,数据存储设备30配备有各自存储备份目标数据的多个存储设备31和存储被存储数据的存储位置的存储位置信息存储单元32。下文将详细描述各个配置。同时将参照图4至图14描述各个配置进行的数据处理的一个方面。例如在存储于诸如CD-ROM之类的存储介质中的状态下将上述程序提供给存储系统10。备选地,可以在网络上的另一服务器计算机的存储设备中存储并且经由网络从另一服务器计算机向存储系统10提供该程序。
首先,在如图5中的箭头Y所示的接受备份目标数据A的输入时,流ID提供单元21(标识信息提供装置)提供如下流ID,该流ID是辨别作为数据组的备份目标数据A的标识信息。例如,流ID提供单元21向备份目标数据A提供流ID=ST1而向备份目标数据B(在附图中未示出)提供流ID=ST2。
流ID可以是如下信息,该信息不仅辨别备份目标数据而且辨别作为备份目标数据A的输出源的备份目标设备12。换而言之,流ID提供单元21向按照预定规则收集的各备份目标数据提供不同的流ID。
更进一步地,在接受备份目标数据A的输入时,块生成单元22如图4中和如图5中的箭头Y2所示将备份目标数据A划分成预定容量(例如64KB)的块数据D。继而,基于这一块数据D的数据内容,块生成单元22计算代表数据内容的唯一哈希值H(内容标识信息)(箭头Y3)。例如,通过使用预设哈希函数从块数据D的数据内容计算哈希值H。在加速器节点10A中执行块生成单元22进行的过程。
当将备份目标数据A划分成块数据D时,块生成单元22也向各个块数据D提供如上文所述向备份目标数据A提供的流ID。如上文提到的那样,流ID提供单元21并不限于向备份目标数据A提供流ID。例如,当块生成单元22将备份目标数据A划分成块数据D时,流ID提供单元21可以向各块数据D提供标识备份目标数据A的相同流ID。
更进一步地,重复检验单元23(重复检验装置)通过使用备份目标数据A的块数据D的哈希值H来检验块数据D是否已经存储于存储设备31中。具体而言,哈希值H和代表已经存储的块数据D的存储位置的内容地址CA相关并且注册于MFI(主要片段索引)文件中。因此,在块数据D的在存储之前计算的哈希值H存在于MIF文件中的情况下,重复检验单元23能够确定已经存储具有相同内容的块数据D(图5中的箭头Y4)。在这一情况下,重复检验单元23从MFI文件获取与MFI内与块数据D在存储之前的哈希值H一致的哈希值H相关的内容地址CA。继而,重复检验单元23返回该内容地址CA作为需要存储的块数据D的内容地址CA。于是,通过使用这一内容地址CA而引用的已经存储的数据用作需要存储的块数据D,并且存储需要存储的块数据D就变得不必要。
在存在多个存储节点10B的情况下,基于如上文所述根据块数据D计算的哈希值H,确定出称为写入发起器(WI)的一个存储节点10,该存储节点处置在数据存储时的发起过程(将在后文中描述的压缩过程和分段过程)。
更进一步地,片段生成单元24(数据集生成装置)压缩如上文所述被重复检验单元23确定为尚未存储的块数据D,并且如图5中的箭头Y5所示将该数据划分成具有预定容量的多个片段数据。例如,如图4中的标号D1至D9所示,片段生成单元24将数据划分成九个片段数据(划分数据41)。此外,片段生成单元24生成冗余数据从而即使通过划分而获得的一些片段数据丢失仍然可以恢复原始块数据,并且向通过划分而获得的片段数据41添加冗余数据。例如,如图4中的标号D10至D12所示,片段生成单元24添加三个片段数据(冗余数据42)。因而,片段生成单元24生成如下数据集40,该数据集包括由九个划分数据41和三个冗余数据组成的十二个片段数据。由上文提到的称为WI的一个存储节点10B来执行片段生成单元24进行的过程。
继而,片段生成单元24向所有生成的片段数据D1至D12提供向如下块数据D提供的流ID,该块数据D是片段数据的起源,也就是要从片段数据D1至D12恢复的块数据D。
接下来将描述分布存储控制单元25(分布存储控制装置)的基本功能。分布存储控制单元25逐个地分布和存储组成由片段生成单元24生成的数据集的片段数据到形成于存储设备31中的存储区中。例如,如图4中所示,在生成十二个片段数据D1至D12的情况下,分布存储控制单元25将片段数据D1至D12之一存储到形成于十二个存储设备31中的数据存储文件F1至F12(数据存储区)之一中(参照图5中的箭头Y6)。
这时,分布存储控制单元25在各个数据存储文件F1至F12内的相同位置中存储组成一个数据集40的各个片段数据D1至D2。例如,如图7中所示,分布存储控制单元25参照各个数据存储文件F1至F12的开头在相同位置中存储所有片段数据D1至D12。在图7的例子中,附图中的上端位置为文件的开头位置。
具体而言,在先前未设置各个数据存储文件F1至F12中的存储位置的情况下,分布存储控制单元25在已经存储于各个存储文件F1至F12中的数据旁边的空余存储位置中分别存储片段数据D1至D12。例如在图8中,已经在各个数据存储文件F1至F12中存储数据直至网格部分,并且分布存储控制单元25将各个片段数据D1至D12存储到其旁边区域中,从而使得组成一个数据集40的所有片段数据D1至D12的存储位置一致。此外具体而言,分布存储控制单元25在相同时序将组成一个数据集40的各个片段数据D1至D12存储到各个数据存储文件F1至F12中。
然而,在如上所述的存储中,当同时作出针对存储备份目标数据的多个请求时,有可能如图9中所示将组成不同流ID(ST1、ST2和ST3)的数据集的片段数据交替存储到各数据存储文件F1至F12中。在图9中,相同图案图示了相同流ID的数据集。
于是,在这一示例性实施例中的分布存储控制单元25在存储到各个数据存储文件F1至F12中之前将各个片段数据D1至D12一次存储到针对各流ID的不同缓冲存储器中。此后,分布存储控制单元25将缓冲存储器内的片段数据D1至D12存储到各个数据存储文件F1至F12中。将参照图10至13描述其具体例子。
首先,分布存储控制单元25针对各数据存储文件F1至F12为各流ID设置缓冲存储器。例如,在设置与三个流ID(ST1、ST2和ST3)对应的缓冲存储器BF1、BF2和BF3的情况下,如图10中所示,分布存储控制单元25为一个数据存储文件F1设置三个缓冲存储器BF1、BF2和BF3并且设置十二组缓冲存储器。
继而,分布存储控制单元25将片段数据D1至D12存储到与在片段数据D1至D12中所包含的流ID对应的缓冲存储器BF1、BF2或者BF3中。在图10中所示出的例子中,假定原始块数据D(备份目标数据A)的数据集40被提供有流ID=ST1。在这一情况下,分布存储控制单元25将组成数据集40的片段数据D1至D12存储到为以后变成储存的各个数据存储文件F1至F12设置的与流ID=ST1对应的缓冲存储器BF1中。换而言之,分布存储控制单元25将片段数据D1存储到数据存储文件F1的缓冲存储器BF1中,将片段数据D2存储到数据存储文件F2的缓冲存储器BF1中,并且以类似方式将片段数据存储到所有数据存储文件的缓冲存储器中。这时,分布存储控制单元25在相同时序将各个片段数据D1至D2存储到已经存储在各个缓冲存储器BF1中的数据旁边的空余存储区中。
于是,在各个缓冲存储器BF1至BF3内连续定位和存储具有对应流ID的片段数据。此外,这时组成相同数据集的各个片段数据D1至D2存储于各个缓冲存储器BF1至BF3内的相同位置中。例如,如图10中所示,在分布存储控制单元25将数据集40的片段数据D1和D2存储到各个缓冲存储器BF1中的情况下,片段数据D1和D2如图11中所示存储于缓冲存储器BF1内的作为相同位置的最后的存储位置中。通过这样按照流ID分布片段数据并且存储到与流ID对应的各个缓冲存储器中,与所有数据存储文件F1至F12对应的针对具体流ID的缓冲存储器的所有容量变得在任何时序都相同。在图11的示例中,所有缓冲存储器BF1的容量都相同,并且所有缓冲存储器BF2和BF3的容量对于各对应的流ID而言也都相同。
继而,分布存储控制单元25在缓冲存储器BF1至BF3达到预定容量(例如变满)时将缓冲存储器BF1至BF3中的所有片段数据存储到数据存储文件F1至F12中。在图11的示例中,与流ID=ST1对应的所有缓冲存储器BF1同时变满,并且因此分布存储控制单元25在相同时序将各个缓冲存储器BF1内的片段数据存储到各个数据存储文件F1至F12中。这时,分布存储控制单元25在已经存储在数据存储文件F1至F12中的数据旁边的空余存储位置中分别存储片段数据D1至D12。图12的例子示出了在数据存储文件F1至F12空余的情况下从各个数据存储文件F1至F12的开头在缓冲存储器BF1内存储片段数据的一个方面。
如图12中所示,在各个数据存储文件F1至F12中,存储组成相同数据集40的片段数据D1至D12,从而使其存储位置一致。这时连续存储提供有相同流ID的数据集。在图13中示出了与其它流ID(ST2)对应的缓冲存储器BF随后变满并且在缓冲存储器BF内的片段数据存储到数据存储文件F1至F12中这一方面。
更进一步地,分布存储控制单元25还具有如下功能,该功能不仅对如上文提到的要存储到数据存储文件中的片段数据而且还对已经存储的片段数据执行对存储位置的事后改变,从而使得具有相同流ID的片段数据被连续定位。例如,当存储系统10的可用资源为预定值或者更多时,分布存储控制单元25移动存储于各个数据存储文件F1至F12中的片段数据的存储位置,从而使得具有相同流ID的片段数据被连续定位。具体而言,分布存储控制单元25可以对由片段数据组成的整个数据集40执行对如图9中所示的存储于各个数据存储文件F1至F12中的相同存储位置(水平对准)中的所有片段数据的存储位置的改变。于是,分布存储控制单元25可以从如图9中所示的交替存储具有不同流ID的数据集这样的状态改变成如图14中所示的连续存储具有相同流ID(ST1、ST2、ST3)的数据集这样的状态。
在上文描述中,当划分块数据D以生成数据集40时,片段生成单元24向组成数据集40的各个片段数据D1至D12提供相同的流ID,但是并非一定要向各个片段数据D1至D12提供。例如,通过将组成根据各个块数据D生成的数据集40的片段数据D1至D12存储到与向各个块数据D提供的流ID对应的数据缓冲器BF1至BF3中,有可能按照流ID连续存储片段数据。由于组成相同数据集40的各个片段数据D1至D12存储于缓冲存储器BF1、BF2、BF3内和数据存储文件F1至F12内的相同存储位置,所以有可能一起改变相同存储位置中的所有片段数据的存储位置以按照数据集改变存储位置。
更进一步地,分布存储控制单元25向组成数据集40的各个片段数据D1至D12提供相同的标识信息(写入记录序列号)以便标识片段数据组成了相同数据集40并且存储到数据存储文件F1至F12中。继而,分布存储控制单元25在使得存储系统10的资源可用的任何时序检验标识信息,由此能够检验组成相同数据集40的各个片段数据是否存储于各个数据存储文件F1至F12内的相同存储位置中。因此,如果存储于各个数据存储文件F1至F12内的相同存储位置中的各个片段数据并未都包括相同的标识信息(写入记录序列号),则分布存储控制单元25纠正存储位置从而使得各个片段数据存储于相同存储位置中,并且重新存储数据。
在上文描述中,分布存储控制单元25在各个逻辑存储区(如数据存储文件F1至F12)内的相同位置中存储组成数据集40的各个片段数据D1至D12,但是也可以在各个存储设备31内的物理上相同的位置中存储。
更进一步地,存储位置管理单元26(存储位置信息管理装置)生成和管理如下内容地址CA,该内容地址CA代表如上文所述存储于存储设备31中的片段数据D1至D12的存储位置,也就是要通过片段数据D1至D12来恢复的块数据D的存储位置。具体而言,存储位置管理单元26通过组合基于存储的块数据D的内容而计算的哈希值H的部分(短哈希)(例如在哈希值H中的开头8个字节)与代表逻辑存储位置的信息来生成内容地址CA。继而,存储位置管理单元26向存储系统10内的文件系统(即向加速器节点10A)返回这一内容地址CA(图5中的箭头Y7)。加速器节点10A继而将诸如备份目标数据的文件名之类的标识信息与内容地址CA相关联并且在文件系统中加以管理。
更进一步地,存储位置管理单元26将块数据D的内容地址CA与块数据D的哈希值H相关联,并且各个存储节点10B在MFI文件中管理。因此,内容地址CA与指定文件、哈希值H等的信息相关联并被存储到加速器节点10A和存储节点10B的存储设备30(存储位置信息存储单元32)中。
此外,存储位置管理单元26执行对检索如上文所述存储的备份目标数据的控制。例如,当存储系统10接受指定的具体文件的检索请求(参照图6中的箭头Y11)时,存储位置管理单元26基于文件系统首先指明由短哈希(作为与检索请求所涉及的文件对应的哈希值的部分)和逻辑位置的信息组成的内容地址CA(参照图6中的箭头Y12)。继而,存储位置管理单元26检验内容地址CA是否注册于MFI文件中(参照图6中的箭头13)。在未注册内容地址CA的情况下未存储请求的数据,从而使得存储位置管理单元26返回错误响应。
另一方面,在注册了与检索请求相关的内容地址CA的情况下,存储位置管理单元26指定内容地址CA所指明的存储位置并且检索存储于指定存储位置中的各片段数据作为请求检索的数据(参照图6中的箭头Y14)。这时,如果知道存储各个片段的数据存储文件F1至F12和片段数据之一在数据存储文件中的存储位置,则存储位置管理单元26可以指定其它片段数据的存储位置,这是因为存储位置是相同的。
继而,存储位置管理单元26根据响应于检索请求而检索的各个片段数据恢复块数据D(参照图6中的箭头Y15)。此外,存储位置管理单元26连接多个恢复的块数据D以恢复成如文件A的数据组,并且返回到控制检索的加速器节点10A(参照图6中的箭头Y16)。
[操作]
接下来将参照图15的流程图来描述上述存储系统的操作。
起先将描述存储系统10经由备份系统11从预定备份目标设备12接受备份目标数据并且将备份目标数据存储到存储设备31中的操作(数据存储过程)。
首先,在接受备份目标数据A的输入时,存储系统10(即,加速器节点10A)提供流ID,该流ID是将备份目标数据A辨别为数据组的标识信息(步骤S1,标识信息提供步骤)。
继而,加速器节点10A将备份目标数据A划分成预定容量(例如64KB)的块数据D(步骤S2)。基于该块数据D的数据内容,加速器节点10A计算代表数据内容的唯一哈希值H(内容标识信息)(步骤S3)。继而,检验这一哈希值H是否注册于MFI文件中。这里,在哈希值H已注册的情况下,向文件系统返回与MFI文件内的块数据D的哈希值H相关的内容地址CA作为该块数据D的存储位置。换而言之,由于存储与备份目标数据相同的数据,所以考虑通过使用已经存储的相同数据来存储备份目标数据。因此,在以后检索这一备份目标数据时,文件系统检索内容地址CA所代表的存储位置的数据,由此能够检索相同数据。
另一方面,在块数据D的哈希值未注册于MFI文件中的情况下,也就是说,在未存储与块数据D相同的数据的情况下,执行存储块数据D的过程。这时,首先,存储节点10B基于如上文所述计算的哈希值的部分实际存储该数据,并且确定存储节点10B之一作为如下文所述对块数据D执行预存储过程的写入发起器(WI)。
当如上文所述将备份目标数据A划分成块数据D时,也向各个块数据D提供如上文所述向备份目标数据A提供的流ID。
随后,如上文所述确定为WI的存储节点10B压缩块数据D并且随后划分成例如九个片段数据(步骤S4)。此外,确定为WI的存储节点10B例如向片段数据添加三个冗余数据,从而使得即使一些划分数据丢失仍然可以恢复块数据D。继而,确定为WI的存储节点10B生成如下数据集,该数据集包括由九个划分数据和三个冗余数据组成的十二个片段数据(步骤S5,数据集生成步骤)。
随后,确定为WI的存储节点10B向各个片段提供用于标识数据集的ID(步骤S6)。换而言之,确定为WI的存储节点10B向通过划分一个块数据D而生成的并且组成数据集的所有片段数据提供相同ID。
继而,存储节点10B针对各数据存储文件F1至F12为各流ID设置缓冲存储器。继而,存储节点10B将各个片段数据D1至D12存储到与在片段数据D1至D12中包含的流ID对应的缓冲存储器BF1、BF2、BF3中(步骤S7)。这时,存储节点10B总体上在相同时序在已经存储于各个缓冲存储器BF1至BF3内的数据旁边的空余存储区中存储各个片段数据D1至D12。
于是,在各个缓冲存储器BF1、BF2和BF3内连续定位和存储具有对应流ID的片段数据。另外在这时,组成相同数据集的各个片段数据D1至D12存储于缓冲存储器BF1、BF2、BF3内的相同存储位置中。
此后,在缓冲存储器BF1、BF2、BF3达到预定容量,例如变满(在步骤S8为“是”)时,存储节点10B将缓冲存储器BF1、BF2、BF3内的片段数据存储到数据存储文件F1至F12中(步骤S9,分布存储控制步骤)。这时,存储节点10B在各个数据存储文件F1至F12中存储的数据旁边的空余存储位置中分别存储片段数据D1至D12。将片段数据从缓冲存储器存储到数据存储文件中的时刻并不一定限于上述时刻。例如可以在已经从某一参考时刻流逝设定时间段之后的时刻进行上述步骤。
因而,存储节点10B可以在各个数据存储文件F1至F12内的相同位置中存储组成一个数据集40的所有片段数据D1至D12。另外因而具有相同流ID的数据连续存储于各个数据文件F1至F12内。
继而,存储节点10B组合基于存储的块数据D的内容计算的哈希值H的部分(开头8个字节)与代表逻辑存储位置的信息,由此生成代表存储于存储设备31中的片段数据D1至D12的存储位置的内容地址CA。继而,存储节点10B向加速器节点10A返回这一内容地址CA。然后,加速器节点10A将返回的内容地址CA与实际存储的备份目标数据的文件名等相关联并且在文件系统中管理。
更进一步地,存储节点10B将所生成的块数据D的内容地址CA与块数据D的哈希值H相关联并且在MFI文件中管理。如上文提到的那样,管理哈希值H和内容地址CA的MFI文件在新存储备份目标数据时用于检验是否已经存储相同内容的数据。
此后,在任何时刻,例如当存储系统10的可用资源为预定或者更多(在步骤S10为“是”)时,对已经存储的片段数据执行存储位置的事后改变过程,从而使得具有相同流ID的片段数据被连续定位(步骤S11)。在这一过程中,检验存储于各个存储文件F1至F2的相同存储位置中的各个片段数据中的流ID,并且改变片段数据的存储位置,从而使得具有相同流ID的更多片段数据的存储位置(也就是更多数据集的存储位置)变得连续。
这里,在将各个片段数据D1至D12存储到各个数据存储文件F1至F12中时,也就是在将片段数据从确定为WI的存储节点10B存储到其它存储节点10B中时,在存储节点10B之间的通信可能变少或者通信延迟可能出现。在这些情况下,有可能的是组成一个数据集40的所有片段数据D1至D12并非都存储于各个数据存储文件F1至F12内的相同位置中。假设这样的情况,在任何时刻,例如当资源可用时,存储系统10参照在已经存储的各个片段数据D1至D12中包含的各数据集的标识信息(写入记录序列号)执行重新存储过程,从而使得组成一个数据集40的所有片段数据D1至D12都存储于各个数据存储文件F1至F12内的相同位置中。
接下来将描述存储系统10经由备份系统11接收针对数据检索的请求并且从存储设备31检索数据的操作(数据检索步骤)。
当存储系统10接受检索请求时,加速器节点10A首先指明由与检索请求所涉及的文件对应的短哈希和逻辑位置信息组成的内容地址CA。已经接受内容地址CA的存储节点10B继而检验内容地址CA是否注册于MFI文件中。在未注册内容地址CA的情况下未存储请求的数据,从而使得存储节点10B返回错误响应。
另一方面,在注册了内容地址CA的情况下,基于内容地址CA,存储节点10B指定组成检索请求所涉及的数据的各个片段数据的存储位置。这时,如果知道存储各个片段的数据存储文件F1至F12和数据存储文件的片段数据之一的存储位置,则存储节点10B可以指定其它片段数据的存储位置,这是因为存储位置是相同的。
继而,存储节点10B根据响应于检索请求而检索的各个片段数据来恢复块数据D。此外,存储节点10B连接多个恢复的块数据D以恢复成如文件A的数据组,并且返回到控制检索的加速器节点10A。
如果已经添加上述三个冗余数据,则即使存储节点10B由于存储设备31的故障而无法检索组成一个数据集的十二个片段数据中的三个片段数据,存储节点10B仍然可以恢复原始块数据。具体而言,当十二个片段数据存储于单独的存储设备31(盘)中时,有可能同时应对最多三个存储设备31的故障。
特别是,在这一示例性实施例中,检索与检索请求相关的数据,并且也预先检索在与检索请求相关的数据的存储位置之前和之后的邻近存储位置等处存储的数据。于是,由于很可能在相关于检索请求的数据附近的数据具有与相关于检索请求的数据相同的流ID,所以有可能推测和检索以后将变成必需的数据。因此,数据检索的速度和效率得以增加。
因而,根据这一示例性实施例的存储系统10,在检索存储的数据时,通过指定组成数据的数据集的一个片段数据的存储位置,有可能容易地指定其它片段数据的存储位置。此外,由于连续存储组成数据组的多个存储目标数据,所以相关内容的数据存储在一起。因此,当检索存储系统所存储的数据时有可能将相关数据一起检索。因而,有可能增加数据检索的速度和效率,并且有可能提高存储系统的性能。
<第二示例性实施例>
将参照图16描述本发明的第二示例性实施例。图16是示出了存储系统的配置的功能框图。在这一示例性实施例中将示意性地描述存储系统。
如图16中所示,这一示例性实施例的存储系统1配备有多个存储装置6和配置成将数据存储到多个存储装置6中并且检索存储于存储装置6中的数据的数据处理装置2。
继而,数据处理装置2配备有:标识信息提供装置3,配置成向请求存储的数据组提供辨别该数据组的标识信息;数据集生成装置4,配置成通过将作为数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,这些片段数据为划分数据和冗余数据;以及分布存储控制装置5,配置成分布组成数据集的片段数据并且在形成于各个存储装置中的存储区内的相同位置中分别存储片段数据,由此存储该存储目标数据。
此外,分布存储控制装置5被配置成将组成与具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
根据上述发明,首先,存储系统响应于来自主机的数据存储请求而接受数据组,并且提供辨别该数据组的标识信息。继而,存储系统将数据组划分成多个存储目标数据,进一步将各存储目标数据划分成多个划分数据并且还生成用于恢复存储目标数据的冗余数据,并且生成如下数据集,该数据集包括由划分数据和冗余数据组成的多个片段数据。随后,存储系统将组成一个数据集的片段数据分布并存储到各个存储装置中。这时,存储系统在形成于各个存储装置中的存储区内的相同位置中存储组成一个数据集的片段数据。此外,在将片段数据存储到存储区中时或者在此后的任何时刻,存储系统将组成与在具有相同标识信息的数据组中所包含的多个存储目标数据对应的多个数据集中的各数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
因而,组成数据组的多个存储目标数据连续地存储于存储装置中,从而使得相关内容的数据存储在一起。因此,当检索存储系统所存储的数据时,有可能将相关数据一起检索。因而,有可能增加数据检索的速度和效率并且有可能提高存储系统的性能。
更进一步地,在存储系统中,分布存储控制装置被配置成在存储到存储装置中之前存储组成与在具有相同标识信息的数据组中包含的多个存储目标数据对应的各个数据集的片段数据,从而使得在缓冲存储器内的存储位置变得连续,并且将存储于缓冲存储器中的片段数据存储到各个存储装置中。
更进一步地,在存储系统中,分布存储控制装置被配置成:将如下片段数据存储到按照标识号而不同的缓冲存储器中,该片段数据组成与在具有相同标识信息的数据组中包含的多个存储目标数据对应的各个数据集;并且将存储于为各标识号设置的各个缓冲存储器中的片段数据存储到各个存储装置中。
更进一步地,在存储系统中,分布存储控制装置被配置成在缓冲存储器达到预定容量时将存储于缓冲存储器中的片段数据存储到各个存储装置中。
因而,存储系统将数据组一次存储到缓冲存储器中以便使其连续,并且随后存储到存储装置中。因此,将相关内容的数据一起存储的过程变得简单,并且有可能提高存储系统的性能。
更进一步地,在存储系统中,分布存储控制装置被配置成将组成与在具有相同标识信息的数据组中包含的多个存储目标数据对应的各个数据集的片段数据(该片段数据已经在各个存储装置中存储)重新存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
因而,存储系统以后恢复,以使得组成包括已经在存储装置中存储的数据的数据组的存储目标数据变得连续。
更进一步地,在存储系统中,数据集生成装置被配置成将标识信息提供装置向数据组提供的标识信息包括到各个组成与在数据组中包含的多个存储目标数据对应的数据集的片段数据中。
因而,有可能容易地掌握存储于存储区中的各个片段数据属于哪个数据组。因此,基于在各个片段数据中包含的标识信息,有可能容易地执行连续存储在数据组中包括的存储目标数据的过程。
更进一步地,在存储系统中:数据处理装置包括配置用于生成和管理如下存储位置信息的存储位置信息管理装置,该存储位置信息代表分布存储控制装置向各个存储装置中存储的存储目标数据的存储位置;并且存储位置信息管理装置被配置成基于在请求检索数据时指定的数据的存储位置信息来检索在存储位置信息所代表的在各个存储装置内的存储位置中存储的数据。
更进一步地,在存储系统中:数据处理装置包括如下重复检验装置,该重复检验装置被配置用于生成存储目标数据的内容所特有的内容标识信息,并且与已经存储于各个存储装置中的存储目标数据的内容所特有的内容标识信息相比较,由此检验具有相同内容的存储目标数据是否存储于各个存储装置中;并且重复检验装置被配置成在具有与存储目标数据相同的内容的数据已经存储于各个存储装置中的情况下使用具有相同内容的数据的存储位置信息作为存储目标数据的存储位置信息而不将存储目标数据存储到各个存储装置中。
因而,有可能将上述配置应用于如下内容地址存储系统,该内容地址存储系统基于存储目标数据的内容来指定代表存储数据的位置的存储位置信息。因此,有可能阻止对其内容与已经存储的数据相同的存储目标数据的重复存储,有可能减少数据存储使用量并且有可能减少系统本身的成本。
更进一步地,在存储系统中,分布存储控制装置被配置成在相对于在各个存储装置中生成的文件的数据存储区开头的相同位置中存储组成数据集的片段数据。
因而,当检索由存储系统所存储的数据时,通过指定组成数据的数据集的片段数据之一的存储位置,有可能容易地指定其它片段数据的存储位置。因此,在数据检索时,不必指定组成数据集的所有片段的位置,并且有可能高速检索数据。因而,有可能实现能够高速检索数据而又维持冗余性的高性能存储系统。
更进一步地,在存储系统中,分布存储控制装置被配置成在各个存储装置中生成的文件中已经存储的数据旁边的空余存储位置中存储组成数据集的片段数据。
更进一步地,在存储系统中,分布存储控制装置被配置成将组成数据集的片段数据同时存储到各个存储装置中。
如上文提到的那样,通过由分布存储控制装置将片段数据分别存储到存储装置中,有可能用简单过程分别在相同位置中存储组成数据集的片段数据。因此,也有可能以更高的速度来执行数据存储过程。
更进一步地,在存储系统中,分布存储控制装置被配置成向组成数据集的各个片段数据提供用于标识数据集的相同标识信息,并且将组成数据集的片段数据存储到各个存储装置中。
更进一步地,在存储系统中,分布存储控制装置被配置成基于向各个片段数据提供的标识信息来检验组成数据集的片段数据是否存储于在各个存储装置中形成的存储区内的相同位置中,并且在片段数据未存储于存储区内的相同位置中的情况下改变各个片段数据的存储位置,从而使得组成数据集的片段数据被存储于各个存储区内的相同位置中。
因而,组成数据集的各个片段数据具有相同标识信息并且存储到多个存储装置中。因此,通过检验向已经存储的片段数据提供的标识信息,有可能确定组成一个数据集的片段数据是否存储于各个存储装置内的相同位置中。继而,基于在各个片段数据中包含的标识信息,有可能改变存储于各个存储装置中的片段数据的存储位置。因而,通过与上文提到的方式类似的方式,有可能在形成于各个存储装置内的存储区内的相同位置中存储组成一个数据集的片段数据,并且高速地检索数据成为可能。
更进一步地,可以通过在计算机程序中构建到信息处理设备(系统)中来实现存储系统。
具体而言,本发明的另一实施例的计算机程序是包括如下指令的计算机程序,这些指令用于使配备有多个存储装置的信息处理设备实现配置成将数据存储到多个存储装置中并且检索存储于存储装置中的数据的数据处理装置。
然后,数据处理装置配备有:标识信息提供装置,配置成向请求存储的数据组提供辨别该数据组的标识信息;数据集生成装置,配置成通过将作为数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,这些片段数据为划分数据和冗余数据;以及分布存储控制装置,配置成分布组成数据集的片段数据并且在形成于各个存储装置中的存储区内的相同位置中分别存储片段数据,由此存储该存储目标数据。
更进一步地,分布存储控制装置被配置成将组成与在具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
继而,在计算机程序中,分布存储控制装置被配置成:在存储到存储装置中之前存储组成与在具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据,从而使得在缓冲存储器内的存储位置变得连续;并且将存储于缓冲存储器中的片段数据存储到各个存储装置中。
更进一步地,在计算机程序中,分布存储控制装置被配置成将组成与在具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据重新存储到各个存储区中(该片段数据已经在各个存储装置中存储),从而使得在各个存储区内的存储位置变得连续。
更进一步地,通过上述存储系统的操作来执行的本发明另一示例性实施例的数据处理方法包括:由配备有多个存储装置的信息处理设备将数据存储到多个存储装置中以及检索存储于存储装置中的数据。
继而,信息处理设备在将数据存储到多个存储装置中时:向请求存储的数据组提供辨别该数据组的标识信息;通过将作为数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,这些片段数据为划分数据和冗余数据;并且分布组成数据集的片段数据并且在形成于各个存储装置中的存储区内的相同位置中分别存储片段数据,由此存储该存储目标数据。
更进一步地,信息处理装置被配置成在存储该存储目标数据时将组成与在具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到各个存储区中,从而使得在各个存储区内的存储位置变得连续。
更进一步地,本发明另一方面的数据处理方法包括:在存储该存储目标数据时,在存储到存储装置中之前存储组成与在具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据,从而使得在缓冲存储器内的存储位置变得连续;以及将存储于缓冲存储器中的片段数据存储到各个存储装置中。
更进一步地,本发明另一方面的数据处理方法包括:在存储该存储目标数据时将组成与在具有相同标识信息的数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据重新存储到各个存储区中(该片段数据已经在各个存储装置中存储),从而使得在各个存储区内的存储位置变得连续。
具有上述配置的计算机程序和数据处理方法的发明具有与上述存储系统类似的动作,并且因此可以实现上述本发明的目的。
虽然已经参照上述各个示例性实施例描述了本发明,但是本发明并不限于上述示例性实施例。可以在本发明的范围内以本领域技术人员可以理解的各种手段变更本发明的配置和细节。
本发明基于并且要求于2009年1月27日提交的第2009-015260号日本专利申请的优先权,该日本专利申请所公开的内容通过引用的方式整体并入于此。
工业实用性
本发明可以运用于通过连接多个计算机来配置的存储系统,并且具有工业实用性。
参考编号说明
1    存储系统
2    数据处理装置
3    标识信息提供装置
4    数据集生成装置
5    分布存储控制装置
6    存储装置
10   存储系统
10A  加速器节点
10B  存储节点
11   备份系统
12   备份目标设备
20   数据处理设备
21   流ID提供单元
22   块生成单元
23   重复检验单元
24   片段生成单元
25             分布存储控制单元
26             存储位置管理单元
30             数据存储设备
31             存储设备
32             存储位置存储单元
40             数据集
41             划分数据
42             冗余数据
A              备份目标数据
BF1、BF2、BF3  缓冲存储器
CA             内容地址
D              块数据
D1至D12        片段数据
F1至F12        数据存储文件
H              哈希值

Claims (14)

1.一种存储系统,包括多个存储单元和数据处理单元,所述数据处理单元被配置成将数据存储到所述多个存储单元中以及检索存储于所述存储单元中的所述数据,其中:
所述数据处理单元包括:
标识信息提供单元,配置成向请求存储的数据组提供辨别所述数据组的标识信息;
数据集生成单元,配置成通过将作为所述数据组之一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复所述存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,所述多个片段数据为所述划分数据和所述冗余数据;以及
分布存储控制单元,配置成分布组成所述数据集的所述片段数据并且在形成于所述各个存储单元中的存储区内的相同位置中分别存储所述片段数据,由此存储所述存储目标数据;以及
所述分布存储控制单元被配置成将组成与在具有相同标识信息的所述数据组中所包含的多个存储目标数据相对应的各个数据集的所述片段数据存储到所述各个存储区中,从而使得在所述各个存储区内的存储位置变得连续。
2.根据权利要求1所述的存储系统,其中:
所述分布存储控制单元被配置成,在存储到所述存储单元中之前,存储组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据相对应的各个数据集的片段数据,从而使得在缓冲存储器内的存储位置变得连续;以及将存储于所述缓冲存储器中的所述片段数据存储到所述各个存储单元中。
3.根据权利要求2所述的存储系统,其中:
所述分布存储控制单元被配置成将组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据相对应的各个数据集的所述片段数据存储到根据所述标识信息而不同的所述缓冲存储器中,以及将存储于为各所述标识信息设置的各个缓冲存储器中的所述片段数据存储到所述各个存储单元中。
4.根据权利要求2所述的存储系统,其中:
所述分布存储控制单元被配置成在所述缓冲存储器达到预定容量时将存储于所述缓冲存储器中的所述片段数据存储到所述各个存储单元中。
5.根据权利要求1所述的存储系统,其中:
所述分布存储控制单元被配置成将所述片段数据重新存储到所述各个存储区中,所述片段数据组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据对应的所述各个数据集,所述片段数据已经在所述各个存储单元中存储,从而使得在所述各个存储区内的所述存储位置变得连续。
6.根据权利要求1所述的存储系统,其中:
所述数据集生成单元被配置成将所述标识信息提供单元向所述数据组提供的所述标识信息包括到组成与在所述数据组中所包含的所述多个存储目标数据对应的所述数据集的所述各个片段数据中。
7.根据权利要求1所述的存储系统,其中:
所述数据处理单元包括配置成产生和管理存储位置信息的存储位置信息管理单元,所述存储位置信息代表由所述分布存储控制单元存储到所述各个存储单元中的所述存储目标数据的存储位置;并且
所述存储位置信息管理单元被配置成,基于在请求检索数据时指定的所述数据的所述存储位置信息,检索在所述存储位置信息所代表的在所述各个存储单元内的所述存储位置中存储的数据。
8.根据权利要求7所述的存储系统,其中:
所述数据处理单元包括:重复检验单元,配置成生成所述存储目标数据的内容所特有的内容标识信息,并且与已经存储于所述各个存储单元中的所述存储目标数据的内容所特有的内容标识信息相比较,由此检验具有相同内容的所述存储目标数据是否已经存储于所述各个存储单元中;并且
所述重复检验单元被配置成在具有与所述存储目标数据相同的内容的数据已经存储于所述各个存储单元中的情况下,使用具有相同内容的所述数据的存储位置信息作为所述存储目标数据的所述存储位置信息,而并不将所述存储目标数据存储到所述各个存储单元中。
9.一种数据处理单元,被配置成将数据存储到多个存储单元中并且检索存储于所述存储单元中的所述数据,所述数据处理单元包括:
标识信息提供单元,配置成向请求存储的数据组提供辨别所述数据组的标识信息;
数据集生成单元,配置成通过将作为所述数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复所述存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,所述多个片段数据为所述划分数据和所述冗余数据;以及
分布存储控制单元,配置成分布组成所述数据集的所述片段数据并且在形成于所述各个存储单元中的存储区内的相同位置中分别存储所述片段数据,由此存储所述存储目标数据;以及
所述分布存储控制单元被配置成将组成与在具有相同标识信息的所述数据组中所包含的多个存储目标数据相对应的各个数据集的片段数据存储到所述各个存储区中,从而使得在所述各个存储区内的存储位置变得连续。
10.根据权利要求9所述的数据处理单元,其中:
所述分布存储控制单元被配置成,在存储到所述存储单元中之前,存储组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据相对应的各个数据集的片段数据,从而使得在缓冲存储器内的存储位置变得连续;以及将存储于所述缓冲存储器中的所述片段数据存储到所述各个存储单元中。
11.根据权利要求9所述的数据处理单元,其中:
所述分布存储控制单元被配置成将所述片段数据重新存储到所述各个存储区中,所述片段数据组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据对应的所述各个数据集,所述片段数据已经在所述各个存储单元中存储,从而使得在所述各个存储区内的所述存储位置变得连续。
12.一种数据处理方法,包括:通过配备有多个存储单元的信息处理设备:
将数据存储到所述多个存储单元中并且检索存储于所述存储单元中的所述数据;
在将数据存储到所述多个存储单元中时:
向请求存储的数据组提供辨别所述数据组的标识信息;
通过将作为所述数据组一部分的存储目标数据划分成多个片块来生成划分数据并且还生成用于恢复所述存储目标数据的冗余数据,由此生成由多个片段数据组成的数据集,所述多个片段数据为所述划分数据和所述冗余数据;并且
分布组成所述数据集的所述片段数据并且在形成于所述各个存储单元中的存储区内的相同位置中分别存储所述片段数据,由此存储所述存储目标数据;并且
在存储所述存储目标数据时,将组成与在具有相同标识信息的所述数据组中所包含的多个存储目标数据相对应的各个数据集的所述片段数据存储到所述各个存储区中,从而使得在所述各个存储区内的存储位置变得连续。
13.根据权利要求12所述的数据处理方法,包括:在存储所述存储目标数据时,在存储到所述存储单元中之前,存储组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据相对应的各个数据集的所述片段数据,从而使得在缓冲存储器内的存储位置变得连续;以及将存储于所述缓冲存储器中的所述片段数据存储到所述各个存储单元中。
14.根据权利要求12所述的数据处理方法,包括:在存储所述存储目标数据时将所述片段数据重新存储到所述各个存储区中,所述片段数据组成与在具有相同标识信息的所述数据组中所包含的所述多个存储目标数据相对应的所述各个数据集,所述片段数据已经在所述各个存储单元中存储,从而使得在所述各个存储区内的所述存储位置变得连续。
CN200980154985.0A 2009-01-27 2009-08-20 存储系统 Active CN102282544B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009015260A JP5413948B2 (ja) 2009-01-27 2009-01-27 ストレージシステム
JP2009-015260 2009-01-27
PCT/JP2009/003961 WO2010086921A1 (ja) 2009-01-27 2009-08-20 ストレージシステム

Publications (2)

Publication Number Publication Date
CN102282544A CN102282544A (zh) 2011-12-14
CN102282544B true CN102282544B (zh) 2015-01-21

Family

ID=42395191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980154985.0A Active CN102282544B (zh) 2009-01-27 2009-08-20 存储系统

Country Status (5)

Country Link
US (1) US8683122B2 (zh)
EP (1) EP2393009B1 (zh)
JP (1) JP5413948B2 (zh)
CN (1) CN102282544B (zh)
WO (1) WO2010086921A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098015B (zh) 2010-09-30 2015-11-25 日本电气株式会社 存储系统
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US9467294B2 (en) * 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
CN103312825B (zh) * 2013-07-10 2016-08-10 中国人民解放军国防科学技术大学 一种数据分布存储方法和装置
CN104765693B (zh) * 2014-01-06 2018-03-27 国际商业机器公司 一种用于存储数据的方法、装置和系统
US9817602B2 (en) * 2014-11-13 2017-11-14 Violin Systems Llc Non-volatile buffering for deduplication
WO2016129101A1 (ja) * 2015-02-13 2016-08-18 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
JP6572574B2 (ja) * 2015-03-23 2019-09-11 日本電気株式会社 ストレージ制御システム、ストレージ制御システムのノード、およびストレージ制御方法
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
CN105335903A (zh) * 2015-11-30 2016-02-17 广东电网有限责任公司电力调度控制中心 智能变电站建模方法
CN107515724B (zh) * 2016-06-16 2021-04-02 伊姆西Ip控股有限责任公司 用于再现存储系统的输入输出的方法和设备
JP6853506B2 (ja) * 2017-03-31 2021-03-31 日本電気株式会社 ストレージシステム、データソート方法及びプログラム
KR102007810B1 (ko) * 2017-07-28 2019-08-07 네이버 주식회사 저장 장치의 개별 제어를 위한 데이터의 배치 및 복구
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466060A (zh) * 2002-06-10 2004-01-07 三星电子株式会社 闪速存储器文件系统
CN1596400A (zh) * 2001-11-29 2005-03-16 Emc公司 保存大容量存储系统的所选数据的抽点

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2786899B2 (ja) * 1989-09-08 1998-08-13 富士通株式会社 超高速ディスク装置
JPH06110766A (ja) * 1992-09-25 1994-04-22 Hitachi Ltd 分割格納ファイルシステムのディレクトリ構成方法および計算機システム
JPH07152498A (ja) * 1993-12-01 1995-06-16 Hitachi Ltd 情報処理システム
JP3387017B2 (ja) * 1999-03-04 2003-03-17 株式会社日立製作所 ファイルアクセス制御方法及びファイル再配置方法
JP3557994B2 (ja) * 2000-04-05 2004-08-25 日本電気株式会社 ファイルデータ格納装置及び方法並びに記録媒体
US7587368B2 (en) * 2000-07-06 2009-09-08 David Paul Felsher Information record infrastructure, system and method
JP4254178B2 (ja) * 2002-09-11 2009-04-15 富士ゼロックス株式会社 分散格納制御装置及び方法
US7159150B2 (en) * 2002-12-31 2007-01-02 International Business Machines Corporation Distributed storage system capable of restoring data in case of a storage failure
JP4354233B2 (ja) * 2003-09-05 2009-10-28 株式会社日立製作所 バックアップシステム及び方法
US7444389B2 (en) * 2003-12-09 2008-10-28 Emc Corporation Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time
JP2007141668A (ja) 2005-11-18 2007-06-07 Molex Inc ロータリコネクタ
US7734603B1 (en) * 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
JP2007299114A (ja) * 2006-04-28 2007-11-15 Hitachi Ltd 記憶システム及びデータ保存方法
JP2009015260A (ja) 2007-07-09 2009-01-22 Sharp Corp トナー用外添剤、それを用いたトナーおよび画像形成装置
JP5339432B2 (ja) * 2009-02-25 2013-11-13 日本電気株式会社 ストレージシステム
WO2010116608A1 (ja) * 2009-03-30 2010-10-14 日本電気株式会社 データ挿入システム
WO2011099098A1 (ja) * 2010-02-10 2011-08-18 日本電気株式会社 ストレージ装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1596400A (zh) * 2001-11-29 2005-03-16 Emc公司 保存大容量存储系统的所选数据的抽点
CN1466060A (zh) * 2002-06-10 2004-01-07 三星电子株式会社 闪速存储器文件系统

Also Published As

Publication number Publication date
EP2393009A4 (en) 2013-02-13
EP2393009B1 (en) 2020-03-04
EP2393009A1 (en) 2011-12-07
US8683122B2 (en) 2014-03-25
JP5413948B2 (ja) 2014-02-12
JP2010176180A (ja) 2010-08-12
CN102282544A (zh) 2011-12-14
WO2010086921A1 (ja) 2010-08-05
US20110276771A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
CN102282544B (zh) 存储系统
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
CN102317923B (zh) 存储系统
CN102301347B (zh) 存储系统
CN102282545B (zh) 存储系统
CN109582213B (zh) 数据重构方法及装置、数据存储系统
JP2005084771A (ja) バックアップシステム及び方法
CN103530206B (zh) 一种数据恢复的方法和设备
CN104216759A (zh) 一种生成虚拟机的逻辑磁盘的方法,及装置
CN110134338A (zh) 一种分布式存储系统及其数据冗余保护方法和相关设备
CN107249135A (zh) 视频数据存储系统及其操作方法、以及索引服务器
CN103176913B (zh) 硬盘动态映射方法与应用其的服务器
CN103440204B (zh) 一种更新文件系统的方法和存储设备
CN102792281B (zh) 存储设备
CN103164172B (zh) 数据流存储方法及装置
CN102792259B (zh) 排除重复存储的存储装置
CN113157715B (zh) 纠删码数据中心机架协同更新方法
CN117312044A (zh) 一种备份方法及装置
CN109799947A (zh) 分布式存储方法及装置
CN112346841B (zh) 一种基于区块链的服务链高可靠性追溯方法
JP2018173802A (ja) ストレージシステム、データソート方法及びプログラム
CN114691418B (zh) 存储设备的信息恢复方法、装置、电子设备及存储介质
CN116431632A (zh) 数据处理方法、数据库系统、计算机设备和存储介质
CN113741787A (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
ASS Succession or assignment of patent right

Owner name: JAPAN ELECTRICAL SCHEME INNOVATION CORPORATION

Free format text: FORMER OWNER: NEC SOFTWARE CHUBU LTD.

Effective date: 20141029

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20141029

Address after: Tokyo, Japan

Applicant after: NEC Corp.

Applicant after: Japan Electrical Scheme Innovation Corporation

Address before: Tokyo, Japan

Applicant before: NEC Corp.

Applicant before: NEC Software Chubu, Ltd.

C14 Grant of patent or utility model
GR01 Patent grant