数据存储设备、重构控制设备、重构控制方法与存储介质的制作方法

文档序号:6558086阅读:113来源:国知局
专利名称:数据存储设备、重构控制设备、重构控制方法与存储介质的制作方法
技术领域
本发明的一种形式涉及一种具有用来处理数据的冗余存储区域的数据存储设备。
本发明的另一种形式涉及一种控制重构在上述数据存储设备中存储的数据的操作的重构控制设备。
本发明的另一种形式涉及一种控制重构在上述数据存储设备中存储的数据的操作的重构控制方法。
本发明的另一种形式涉及一种用来存储实现重构在上述数据存储设备中存储的数据的操作的程序的存储介质。
背景技术
日常处理大量数字数据的数据存储设备使用可以高速读取与写入处理数据的处理技术以及增强可用性的处理技术。
例如,可以高速读取与写入处理数据的处理技术使用条带化系统(stripingsystem)。条带化系统是指将一段处理数据分为多个处理单位、并且在相互平行排列的多个存储介质上同时读取或写入这些处理单位的技术方法。
例如,增强可用性的处理技术使用冗余数据存储系统。冗余数据存储系统的一个例子是存储用于纠错或恢复处理数据的纠错码(奇偶校验码)的方法。另一个例子是称作镜像的方法。
大容量存储设备的当前主流存储介质为磁存储介质(硬盘)。上述数据存储设备因此也被称为盘阵列设备。顺便提及,增强盘阵列技术可用性的技术被称为RAID(廉价盘冗余阵列)。本申请人的关于盘阵列设备的申请的例子在专利文件1与2(参见专利文件1日本专利公开号2000-66845与专利文件2日本专利公开号Hei 11-45158)中示出。

发明内容
在盘阵列设备操作期间,可能会在存储处理数据与冗余数据的存储介质中发生某些故障。在这种情况下,需要将其中发生故障的存储介质与系统隔离,并且替换该存储介质。对于这种替换,存在这样一种方法将其中发生故障的存储介质与盘阵列设备物理上隔离,并且物理地连接新的存储介质;以及这样一种方法将其中发生故障的存储介质与盘阵列设备逻辑上隔离,并且逻辑地连接预先融入的辅助存储介质。
在这两种系统中,在替换之前存储在存储介质上的存储数据需要在替换之后在存储介质上重构。
现有的盘阵列设备融入控制该重构处理的功能。
图1显示当按一条重构命令对四条处理数据输入/输出命令(读取命令/写入命令)的比例强制执行重构命令时的处理的映像。
图1显示连续生成输入/输出命令的例子。按恒定比例强制执行的重构命令造成输入/输出命令执行的延迟。当按输入/输出命令读取或写入的处理数据要求低程度的实时性能时,该延迟不会带来问题。
然而,当处理要求高程度的实时性能的处理数据(例如视频数据与音频数据(语音数据、音乐片段数据与其他声音数据))时,原来处理中造成的延迟会出问题。另外,该延迟积累。对于具有大数据尺寸的处理数据,也一样。
相应地,存在以下方法当处理要求高程度的实时性能的处理数据时,其将重构命令的执行比率设置为0,如图2所示。在这种情况下,输入/输出命令不会被延迟。
然而,因为重构命令的执行比率被设置为0,所以即使当没有输出/输出命令时,图2中显示的方法也根本不会执行重构命令。
另外,如图3所示,存在以下方法按固定时间强制执行重构命令。也是在这种情况下,当输入/输出命令与重构命令相互重叠时,强制执行重构命令。
因此,当处理要求高程度的实时性能的处理数据时,输入/输出命令可能会被延迟。在另一方面,按固定时间执行重构命令的方法可以在没有输入/输出命令的可用时间内执行重构命令。由此,可以利用该可用时间,并且减少延迟输入/输出命令的次数。
然而,图3所示方法没有有效利用可用时间,并且在存储数据的重构过程中较慢。
本发明人针对上述技术问题提出了具有以下处理功能的技术。
(1)确定是正在执行还是等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理的处理;(2)确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求的处理;(3)当确定既没有正在执行也没有等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理时,并且当确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令的处理。
在这种情况下,当正在执行或等待执行输入或输出所涉及的命令处理时,不执行重构命令。在另一方面,当既没有正在执行也没有等待执行输入或输出所涉及的命令处理时,执行重构命令。
应该注意这些处理功能可以被实现为软件处理,或者可以被实现为硬件处理。另外,部分处理可以通过软件处理实现,其余部分可以通过硬件处理实现。
通过采用根据本发明实施方式的技术,即使当请求重构处理时,也可以在正在执行或等待执行输入或输出所涉及的命令处理的同时,将优先级给予从及向设备外部输入或输出处理数据所涉及的命令处理的执行。在另一方面,当既没有正在执行也没有等待执行输入或输出所涉及的命令处理时,可以集中进行重构处理。
由此可以有效地避免执行输入或输出所涉及的命令时的延迟,并且减少重构处理所需的时间。


图1为图示存储数据重构处理技术的常规例子的图;图2为图示存储数据重构处理技术的常规例子的图;图3为图示存储数据重构处理技术的常规例子的图;图4为显示服务器系统配置的例子的图;
图5为显示文件服务器内部配置的例子的图;图6为显示数据存储器的概念配置的图;图7为显示数据存储器的硬件配置的例子的图;图8为显示重构控制设备的功能配置的例子的图;图9为显示重构处理功能的处理程序的例子的图;和图10为图示存储数据重构处理技术的实施方式的图。
具体实施例方式
以下将描述采用根据本发明的技术方法的数据存储设备的实施方式。
顺便提及,相关技术领域熟知或公知的技术被应用到本说明书中没有具体显示或描述的部件。
以下描述的实施方式为本发明的一种实施方式,因此,本发明不限于此。
(A)服务器系统(A-1)系统配置图4显示服务器系统1的配置的例子。服务器系统1包括文件服务器3与控制终端5。
文件服务器3指与系统中另一终端共享由计算机自身管理的数据存储设备(数据存储器)的、并且由此允许外部使用该数据存储设备的计算机。当然,文件服务器3的内部配置的细节根据文件服务器3所应用的工作性质及其目的而不同。图4中的文件服务器3具有两个输入-输出接口。这两个输入-输出接口为处理输入与输出数据的接口SI与SO、以及处理输入与输出数据的接口FC。
控制终端5为控制文件服务器3的内部操作的计算机。
(A-2)文件服务器图5显示文件服务器3的内部配置的例子。顺便提及,图5显示以下情况,其中系统所处理的处理数据为视频数据与音频数据。即,图5显示以下情况,其中文件服务器3为所谓的AV服务器。在图5的情况下,通过串行数据接口SI与SO与光纤通道接口FC从及向分离的外部设备输入及输出AV数据。
文件服务器3包括文件管理器11、处理单元13、传输管理器15、光纤通道交换机17、以及数据存储器19。
文件管理器11为管理服务器内部AV数据输入与输出的计算机。
处理单元13为编码与解码AV数据的设备。处理单元13由例如现有处理板或卡形成。不仅从串行数据接口SI而且从光纤通道接口FC向处理单元13提供AV数据。类似地,不仅从串行数据接口SO而且从光纤通道接口FC输出经过处理的AV数据。顺便提及,处理单元13的处理操作由从控制终端5提供的控制信号CNT控制。
传输管理器15为管理文件服务器3与作为外部网络的光纤通道接口FC之间的AV数据输入与输出的计算机。
光纤通道交换机17为用来中继通过作为内部通道的光纤通道传送的AV数据的设备。顺便提及,作为内部通道的光纤通道与处理单元13、传输管理器15、以及数据存储器19连接。
数据存储器19为用于存储AV数据的数据存储设备。数据存储器19相应于权利要求书中的数据存储设备。数据存储器19使用具有纠错功能的盘阵列设备。在本实施方式中,将描述纠错码被用作冗余数据的情况。
(A-3)数据存储器将描述数据存储器19的配置的细节。图6显示RAID-3型数据存储器19的概念配置。在该概念配置中,数据存储器19包括阵列控制器21、5个数据盘设备、以及1个奇偶校验盘设备。具体地,数据存储器19包括6个硬盘设备。
阵列控制器21进行以下处理将输入数据(处理数据)划分为多个处理单位D0、D1、...、和DN,然后以并行方式将数据写入到5个数据盘;以及以下处理从5个数据盘读取与组合对应的处理单位D0、D1、...、和DN,并且输出处理单位D0、D1、...、和DN作为输出数据(处理数据)。
该划分过程被称为条带化。顺便提及,阵列控制器21在划分处理时生成纠错码(奇偶校验数据)。不仅在读取处理数据时参照纠错码以用来校正输出数据的误差,而且在替换故障盘时使用纠错码来重构所存储的数据。在图6中,使用固定的奇偶校验盘。
图7显示数据存储器19的硬件配置的例子。数据存储器19包含输入-输出接口31、CPU 33、RAM 35、纠错单元37、RAM 39、以及SCSI接口41。
输入-输出接口31将数据存储器19连接到光纤通道。
CPU 33为控制数据存储器19的操作的计算机。CPU 33提供的功能通过程序实现。例如,实现写入与读取处理数据的过程、以及替换故障盘时所涉及的重构存储数据的过程。
RAM 35为用来存储从文件管理器11给出的伴随处理数据的输入与输出的命令(输入-输出命令)的存储区域。即,RAM 35起到命令队列的作用。
纠错单元37为进行处理数据切换过程以及生成纠错码和进行纠错的过程的处理设备。顺便提及,输出处理数据(处理单位)的目的地由纠错单元37中包含的矩阵开关改变。
例如,在写入输入数据时,该矩阵开关将纠错码附加到从输入-输出接口31输入的处理数据上,然后将该处理数据输出给RAM 39。此后,该矩阵开关将从RAM 39读取的处理数据输出到SCSI接口41。
例如,在读取输出数据时,该矩阵开关使从SCSI接口41输入的处理数据经过纠错,然后将该处理数据输出到RAM 39。此后,该矩阵开关将从RAM39读取的处理数据输出到输入-输出接口31。
例如,在重构存储数据时,该矩阵开关将从SCSI接口41输入的处理数据输出到RAM 39。接着,该矩阵开关从读取自RAM 39的处理数据重构存储数据,并然后将所重构的存储数据输出给RAM 39。此后,该矩阵开关将从RAM 39读取的处理数据输出到SCSI接口41。
RAM 39被用作该纠错处理的工作区域。
SCSI接口41进行划分处理数据的处理,以及在SCSI接口41与多个盘设备之间组合处理数据的处理。例如将SAS(串行附接SCSI)用于SCSI接口41。
图7中的纠错单元37、RAM 39、以及SCSI接口41对应于图6中的阵列控制器21。
(B)重构处理功能图8显示CPU 33实现的重构控制设备51的功能配置的例子。该功能配置通过程序处理实现。
重构控制设备51包含输入-输出状态确定单元53、重构请求确定单元55、以及重构处理执行单元57。
输入-输出状态确定单元53是确定正在执行或等待执行输入/输出命令的处理功能。输入-输出状态确定单元53监视该命令队列(RAM 35),以确定是否有输入/输出命令。
当有输入/输出命令时,输入-输出状态确定单元53确定是正在执行还是等待执行输入/输出命令。顺便提及,在收到命令处理完成的通知时,通过CPU33执行的另一处理而擦除在命令队列中存储的输入/输出命令。
重构请求确定单元55确定是否有对于(开始)伴随替换故障部件的、重构存储数据的处理的请求。根据盘设备故障检测而生成对于重构处理的请求。
当然,请求重构处理的条件是任意的。例如,可以在单个盘设备中检测到故障时请求重构处理,也可以在多个盘设备中检测到故障时请求重构处理。当包含辅助盘设备时,使用后者。
当输入-输出状态确定单元53确定没有正在执行或等待执行输入/输出命令时,并且当重构请求确定单元55确定有对于重构处理的请求时,重构处理执行单元57给出执行重构命令的指令。
图9显示与盘阵列设备的重构处理功能相关的处理过程的例子。该重构处理功能由在CPU 33中驻留的程序实现。
该程序确定是正在执行还是等待执行从或向数据存储器19的外部(即设备外部)输入或输出处理数据所涉及的命令处理(P1)。如上所述,该程序根据在命令队列中是否有输入/输出命令来进行确定。
该程序对输入/输出命令给予高于重构命令的优先级。因此,当在命令队列中有输入/输出命令时,重复处理P1的确定处理。
在另一方面,当命令队列变为空时(即没有输入/输出命令时),该程序确定是否请求了伴随替换盘设备的、重构存储数据的处理(P2)。
当没有请求生成重构命令时,该程序返回监视命令队列的状态。
在另一方面,当请求生成重构命令时,该程序生成重构命令(P3)。即,该程序在命令队列中登记重构命令,由此给出执行重构命令的指令。
由此,进行读取重构存储数据所必须的数据(处理单位)的处理、利用纠错码的数据重构处理、以及写入所重构的数据(处理单位)的处理。从读取数据到写入所重构的数据的周期为一个命令周期。
当根据重构命令开始处理时,该程序返回到确定在命令队列中是否有输入/输出命令的状态,并且由此重复以上操作序列。
图10显示由图9所示程序实现的命令处理的映像。
如图10所示,当有输入/输出命令时,优先执行伴随输入/输出命令的、写入处理数据的处理或者读取处理数据的处理,并且等待执行重构命令。由此,在重构命令等待期间,消除了执行输入/输出命令的延迟。
在另一方面,当没有输入/输出命令时,集中执行重构命令。即,在其中没有输入/输出命令的可用时间期间,可以连续执行重构命令。作为结果,可以最小化现有技术中那样的数据重构延迟。
顺便提及,当在执行重构命令的同时在命令队列中登记输入/输出命令时(在作为重构命令处理完成的结果从命令队列中去除重构命令之前),输入/输出命令只被延迟在完成重构命令处理之前的时间。然而实际延迟时间比伴随强制数据重构的延迟时间短。顺便提及,每次输入/输出命令中断时,可以重新设置该延迟时间。
(C)效果如上所述,利用根据本实施方式的重构技术使得可以加速存储数据重构处理的进程,同时将执行输入/输出命令的延迟最小化。
因此本发明适用于处理大数据尺寸的处理数据以及需要高水平实时能力的处理数据的数据存储器。例如,本发明适用于处理AV数据的数据存储器。
(D)其他实施方式(a)在上述实施方式中,对数据存储器由RAID-3型盘阵列设备形成的情况进行了描述。即,描述了以下情况,其中处理数据被划分为字节单元(处理单位),并且数据存储器由配备有固定奇偶校验盘设备的盘阵列设备形成。
然而,数据存储器可以由其他RAID类型的盘阵列设备形成。
例如,数据存储器可以由RAID-4型盘阵列设备形成。在这种情况下,处理数据被划分为多个块单元(处理单位)。在使用固定奇偶校验盘设备的方面,RAID-4型盘阵列设备与RAID-3型盘阵列设备相同。
另外,例如数据存储器可以由RAID-5型盘阵列设备形成。在这种情况下,起到奇偶校验盘设备的作用的盘设备以块为单位进行移动。
另外,本发明可广泛适用于具有冗余的盘阵列设备,例如RAID-1(镜像)型、RAID 1+0(镜像+条带化)型、以及其他类型。即,本发明可广泛适用于具有冗余存储区域的盘阵列设备。
(b)在上述实施方式中,描述了盘阵列设备由5个盘阵列设备与1个奇偶校验盘设备形成的情况。
然而,形成盘阵列设备的盘设备数目不限于此。
(c)在上述实施方式中,描述了使用磁盘设备(所谓的硬盘设备)作为形成数据存储设备的存储介质的情况。
然而,其他类型的存储介质可以应用到形成数据存储设备的存储介质。例如,可以在按阵列形式排列的状态下使用半导体存储器。该配置使得能够以较高速度进行数据输入与输出。
(d)在上述实施方式中,描述了使用光纤通道接口FC来发送与接收处理数据的情况。
然而,可以使用其他LAN接口。
(e)在上述实施方式中,描述了连接到光纤通道的文件服务器的情况。即,描述了如图5所示的包含多个数据存储器的大尺寸存储系统。
然而,本发明可以类似地适用于包含一个数据存储器的存储系统。顺便提及,该存储系统不仅适用于用于广播服务、数据分发服务、通信服务、医疗数据服务器、政府部门、研究机构、公司等等的包含例如数据存储服务器的商用系统,而且适用于由个人使用或在家庭中使用的系统。
(f)在本发明的精神范围内可以考虑上述实施方式的各种修改。另外,可以考虑在本说明书描述的基础上建立的各种修改与应用。
本领域技术人员应该理解根据设计需求与其他因素,可以进行各种修改、组合、子组合、以及改动,只要其在所附权利要求或其等同的范围内即可。
权利要求
1.一种具有用于处理数据的冗余存储区域的数据存储设备,所述数据存储设备包含输入-输出状态确定单元,用来确定是正在执行还是等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理;重构请求确定单元,用来确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求;以及重构处理执行单元,用来当所述输入-输出状态确定单元确定既没有正在执行也没有等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理时,并且当所述重构请求确定单元确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令。
2.如权利要求1所述的数据存储设备,其中所述处理数据为大数据尺寸的数据。
3.如权利要求1所述的数据存储设备,其中所述处理数据为要求高度实时性能的数据。
4.一种数据存储设备,具有用于在通过划分一段处理数据而获得的多个数据处理单位与多个存储介质之间相互并行地读取与写入所述多个处理单位的数据处理部件、以及用于读取与写入在恢复处理数据中使用的冗余数据的数据处理部件,所述数据存储设备包含输入-输出状态确定单元,用来确定是正在执行还是等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理;重构请求确定单元,用来确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求;以及重构处理执行单元,用来当所述输入-输出状态确定单元确定既没有正在执行也没有等待执行从及向设备外输入及输出处理数据中的一种情况所涉及的命令处理时,并且当所述重构请求确定单元确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令。
5.一种重构控制设备,用来控制重构在具有用于处理数据的冗余存储区域的数据存储设备中存储的数据的操作,所述重构控制设备包含输入-输出状态确定单元,用来确定是否正在执行或等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理;重构请求确定单元,用来确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求;以及重构处理执行单元,用来当所述输入-输出状态确定单元确定既没有正在执行也没有等待执行从及向设备外输入及输出处理数据中的一种情况所涉及的命令处理时,并且当所述重构请求确定单元确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令。
6.如权利要求5所述的重构控制设备,其中所述处理数据为大数据尺寸的数据。
7.如权利要求5所述的重构控制设备,其中所述处理数据为要求高度实时性能的数据。
8.一种重构控制方法,用来控制重构在具有用于处理数据的冗余存储区域的数据存储设备中存储的数据的操作,所述重构控制方法包含确定是正在执行还是等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理的步骤;确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求的步骤;以及当确定既没有正在执行也没有等待执行从及向设备外输入及输出处理数据中的一种情况所涉及的命令处理时,并且当确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令的步骤。
9.一种其上记录有程序的存储介质,所述程序使得用于控制具有用于处理数据的冗余存储区域的数据存储设备的处理操作的计算机执行确定是正在执行还是等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理的步骤;确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求的步骤;以及当确定既没有正在执行也没有等待执行从及向设备外输入及输出处理数据中的一种情况所涉及的命令处理时,并且当确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令的步骤。
全文摘要
一种具有用于处理数据的冗余存储区域的数据存储设备,所述数据存储设备包含输入-输出状态确定单元,用来确定是正在执行还是等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理;重构请求确定单元,用来确定是否存在对于伴随替换故障部件的、重构所存储的数据的处理的请求;以及重构处理执行单元,用来当所述输入-输出状态确定单元确定既没有正在执行也没有等待执行从及向设备外部输入及输出处理数据中的一种情况所涉及的命令处理时,并且当所述重构请求确定单元确定存在对于伴随替换故障部件的、重构所存储的数据的处理的请求时,给出执行重构命令的指令。
文档编号G06F11/10GK1848070SQ20061007401
公开日2006年10月18日 申请日期2006年4月4日 优先权日2005年4月4日
发明者牧田健志 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1