CN100407123C - 数据存储设备、重构控制设备、重构控制方法 - Google Patents
数据存储设备、重构控制设备、重构控制方法 Download PDFInfo
- Publication number
- CN100407123C CN100407123C CN2006100740139A CN200610074013A CN100407123C CN 100407123 C CN100407123 C CN 100407123C CN 2006100740139 A CN2006100740139 A CN 2006100740139A CN 200610074013 A CN200610074013 A CN 200610074013A CN 100407123 C CN100407123 C CN 100407123C
- Authority
- CN
- China
- Prior art keywords
- data
- storage medium
- reconstruct
- deal
- input
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种方法,包括下列步骤:当检测到重构所存储数据的请求时,确定可用于处理数据的输入和输出之一的存储介质的数目是否不小于处理数据的输入和输出之一所必需的存储介质的数目加1;当获得肯定结果时,识别可用存储介质中将被操作的存储介质;指定将被操作的存储介质之一作为用于重构的存储介质、其它存储介质作为用于处理数据的输入和输出之一的存储介质,并且在每个命令周期中移动对用于重构的存储介质的指定;以及按照存储介质的指定而彼此并行地执行处理数据的输入和输出之一以及用于重构的处理单位的读取,以及在准备了重构所存储数据所必需的所有处理单位的阶段中重构所存储数据并把所重构的所存储数据记录在作为重构目的地的存储介质上。
Description
技术领域
本发明的一种形式涉及即使在多个存储介质同时出故障的情况下也能够输入或输出处理数据的数据存储设备。
本发明的另一种形式涉及控制对在上述数据存储设备中存储的数据的重构操作的重构控制设备。
本发明的另一种形式涉及控制对在上述数据存储设备中存储的数据的重构操作的重构控制方法。
本发明的另一种形式涉及存储实施对在上述数据存储设备中存储的数据的重构操作的程序的存储介质。
背景技术
对大量数字数据进行日常处理的数据存储设备使用能够高速读写处理数据的处理技术和增强可用性的处理技术。
例如,能够高速读写处理数据的处理技术使用条带制式(striping system)。条带制式指把一段处理数据划分为多个处理单位,并且在互相平行安排的多个存储介质上同时读取或写入这些处理单位的技术方法。
例如,增强可用性的处理技术使用冗余数据存储制式。冗余数据存储制式的一个例子是存储用于对处理数据纠错或恢复的纠错码(奇偶校验码)的方法。另一个例子是称为镜像的方法。
高容量存储设备的当前主流的存储介质是磁存储介质(硬盘)。上述数据存储设备因而也称为盘阵列设备。顺便提及,增强盘阵列技术的可用性的技术称为RAID(廉价盘的冗余阵列)。申请人对盘阵列设备进行申请的例子示于专利文件1和2(见作为专利文件1的日本专利申请特开2000-66845号公报和作为专利文件2的日本专利申请特开平11-45158号公报)中。
发明内容
在盘阵列设备的操作期间,一些故障可能发生在存储处理数据和冗余数据的存储介质中。在此情况下,需要把已经发生故障的存储介质与系统相隔离,并替换该存储介质。对于该替换,存在物理地把已经发生故障的存储介质与盘阵列设备相隔离并物理地连接新存储介质的方法,以及逻辑地把已经发生故障的存储介质与盘阵列设备相隔离并逻辑地连接所预先包含的辅助存储介质的方法。
在这两种制式中,在替换之前存储在存储介质上的所存储数据在替换之后需要在存储介质上重构。
图1示出了现有的重构处理的映像。图1示出了当用于替换的因子出现在包括四个数据盘设备和两个奇偶校验盘设备的盘阵列设备中的一个盘设备(驱动设备)中时的重构处理的映像。
存在作为用于执行重构命令的方法的多种制式。图1示出了在即使当处理数据输入/输出命令(读取命令/写入命令)被连续生成时也强制执行重构命令的情况下的处理的映像。图1通过点网格指示执行重构命令的定时。
如图1所示,当执行重构命令时,形成处理数据的处理单位被从除将被替换的盘设备之外的四个盘设备读取,从而在替换之前存储在盘设备中的所存储数据(处理单位)被重构。该所重构的所存储数据(处理单位)在同一命令周期内被存储在替换后的盘设备中。
在图1中,其中重构所必需的处理单位被读取的命令周期以符号“R”标示。其中所重构的所存储数据(处理单位)被写入的命令周期以符号“W”标示。
这样,在传统的重构处理中,重构所必需的处理单位的读取、所存储的数据的重构、以及所重构的所存储数据的写入都在一个命令周期内执行。
然而,该处理方法仅能够排它地执行输入/输出命令。因此,如图2所示,当在连续执行输入/输出命令的同时强制执行重构命令的时候,输入/输出处理的执行被从原始定时延迟。在图2中,处理的定时中的延迟由相对于时间轴倾斜的箭头指示。
在要求高度的实时能力的处理数据被处理时以及在大数据尺寸的处理数据被处理时,在原始输入/输出处理中的延迟问题特别地展示出来。
另一方面,当原始输入/输出处理被给予优先级,以及重构命令的执行速率降低或重构命令的执行之间的间隔被加长时,所存储数据重构处理的进展速率变得很慢。
发明者已经注意到上述技术问题,并提出了具有下列处理功能的技术。
(1)当检测到重构所存储数据的请求时确定可用于处理数据的输入和输出之一的存储介质的数目是否不小于处理数据的输入和输出之一所必需的存储介质的数目加1的处理;
(2)当可用于处理数据的输入和输出之一的存储介质的数目不小于处理数据的输入和输出之一所必需的存储介质的数目加1时识别可用存储介质中将被操作的存储介质的处理;
(3)指定将被操作的存储介质之一作为用于重构的存储介质以及其它存储介质作为用于处理数据的输入和输出之一的存储介质,并且在每个命令周期内移动对于用于重构的存储介质的指定的处理;
(4)按照存储介质的指定而彼此并行地执行处理数据的输入和输出之一和用于重构的处理单位的读取,以及在准备了重构所存储数据所必需的所有处理单位的阶段中重构所存储数据并把所重构的所存储数据记录在作为重构目的地的存储介质上的处理。
值得注意的是,这些处理功能可以被实施为软件处理或可以被实施为硬件处理。另外,这些处理的一部分可以通过软件处理实施,而剩余部分可以通过硬件处理实施。
通过应用按照本发明实施例的技术,重构处理被分配到多个命令周期并被执行。即,用于重构的处理单位的读取被分配到多个命令周期并被与处理数据的输入或输出并行执行。然后,在准备了重构所存储数据所必需的所有处理单位的阶段中,与处理数据的输入或输出并行地执行所存储数据的重构和所存储数据向重构目的地的写入。
这样,即使当要求高度实时能力的处理数据或大数据尺寸的处理数据被输入或输出时,也能够并行地执行重构处理,而不会在输入或输出处理数据中导致任何延迟。
附图说明
图1示出了所存储数据重构处理的映像的传统例子;
图2用于解释作为执行重构命令的结果的输入/输出命令中的延迟;
图3示出了服务器系统的配置的例子;
图4示出了文件服务器的内部配置的例子;
图5示出了数据存储器的概念配置;
图6示出了数据存储器的硬件配置的例子;
图7示出了重构控制设备的功能配置的例子;
图8示出了按照实施例的所存储数据重构处理的映像;
图9示出了重构处理功能的处理过程的例子;
图10示出了该重构处理功能的处理过程的例子;
图11示出了执行输入或输出处理以及重构处理的映像;以及
图12示出了另一所存储数据重构处理的映像例子。
具体实施方式
下面将描述应用按照本发明的技术方法的数据存储设备的实施例。
顺便提及,在相关技术领域熟知或公知的技术应用于在本说明书中未特别示出或描述的部分。
下面将描述的实施例是本发明的一个实施例,因而本发明不限于此。
(A)服务器系统
(A-1)系统配置
图3示出了服务器系统1的配置的例子。服务器系统1包括文件服务器3和控制终端5。
文件服务器3指下述计算机,该计算机与系统中另一终端共享由此计算机自身管理的数据存储设备(数据存储),从而允许该数据存储设备的外部使用。当然,文件服务器3的内部配置的细节取决于应用文件服务器3的工作性质及其意图而不同。图3中的文件服务器3具有两个输入-输出接口。该两个输入-输出接口是处理输入和输出数据SI和SO的接口和处理输入和输出数据FC的接口。
控制终端5是控制文件服务器3的内部操作的计算机。
(A-2)文件服务器
图4示出了文件服务器3内部配置的例子。顺便提及,图4示出了由系统处理的处理数据是视频数据和音频数据(语音数据、音乐作品数据和其它声音数据)的情况。即,图4示出了文件服务器3是所谓的AV服务器的情况。在图4的情况中,AV数据经由串行数据接口SI和SO以及光纤信道接口FC而从分离的外部设备输入以及向分离的外部设备输出。
文件服务器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的配置的细节。图5示出了包括四个数据盘设备和两个奇偶校验盘设备的数据存储器19的概念配置。在此概念配置中,数据存储器19包括阵列控制器21和六个硬盘设备(驱动设备)。
阵列控制器21执行把输入数据(处理数据)划分为多个处理单位D0、D1、...和DN然后以并行方式把该数据写入四个数据盘的处理、以及读取并组合来自四个数据盘的相对应的处理单位D0、D1、...和DN并且输出处理单位D0、D1、...和DN作为输出数据(处理数据)的处理。
此划分处理称为条带化(striping)。顺便提及,阵列控制器21在划分处理时生成纠错码(奇偶校验数据)P。
纠错码P不仅在读取处理数据时被参照以用于纠正输出数据的错误,而且用于在替换故障盘时重构所存储的数据。顺便提及,纠错码(奇偶校验数据)P被一次记录到两个硬盘设备(驱动设备),从而被分配到所有的硬盘设备(驱动设备)。
即,在每个命令周期中,在六个驱动设备中,四个驱动设备用作直接用于输入或输出处理数据的操作驱动设备,其余两个驱动设备用作用于对处理数据进行纠错或重构的奇偶校验驱动设备。
图6示出了数据存储器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。此后,矩阵切换器把从RAM 39读取的处理数据输出至输入-输出接口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对应于图5中的阵列控制器21。
(B)重构处理功能
图7示出了由CPU 33实施的重构控制设备51的功能配置的例子。此功能配置通过程序处理实施。
重构控制设备51包括可用设备计数确定单元53、操作介质识别单元55、分用途(by-purpose)介质指定单元57、以及重构处理执行单元59。
可用设备计数确定单元53是确定可用于处理数据的输入或输出的盘设备(存储介质)的数目是否不小于输入或输出处理数据所必需的盘设备的数目加1的处理设备。在此确定中,判断彼此并行地执行输入/输出处理和重构处理的先决条件。此确定包括确定盘设备是否可操作。
在本实施例中,此确定等效于确定包括奇偶校验驱动设备的五个或更多的盘设备是否可用。这是因为通过划分处理数据和奇偶校验数据(处理单位)P而获得的部分数据(处理单位)在被分配至所有的六个盘设备的状态中被记录。
顺便提及,即使包括辅助盘设备(准备应对故障发生而置于非操作状态的盘设备),此盘设备其中也不记录数据,因而不可用于输入或输出处理数据。因此,物理地具有五个盘设备是不够的,如上所述,要求盘设备可用于输入或输出的条件。
操作介质识别单元55是当可用于输入或输出处理数据的盘设备(存储介质)的数目不小于五时指定可用盘设备中将被操作的盘设备的处理设备。在此情况下,操作介质识别单元55识别五个盘设备作为可操作盘设备。
分用途介质指定单元57是这样的处理设备,该处理设备指定将被操作的盘设备(存储介质)之一作为用于重构的盘设备而其它盘设备作为用于输入或输出处理数据的盘设备,并且在每个命令周期中移动对用于重构的盘设备的指定。
具体上,分用途介质指定单元57指定该五个盘设备中的四个作为用于输入或输出处理数据的盘设备,并指定一个盘设备作为用于读取重构所存储数据所必需的部分数据(处理单位)的盘设备。
图8示出了处理的映像。图8示出了当发生故障的驱动器0被替换时处理的映像。当然,而且为了所存储数据的重构,还需要从四个盘设备收集四个处理单位。然而,在本实施例中,因为与处理数据的输入或输出并行地执行重构处理(因为重构处理是后台(background)处理),所以将重构所必需的处理单位的读取分配到四个命令周期。
在图8的情况下,在四个命令周期中,按驱动器1至驱动器2至驱动器3至驱动器4的顺序移动为了重构而指定的盘设备。在随后的四个命令周期中,按驱动器5至驱动器1至驱动器2至驱动器3的顺序移动为了重构而指定的盘设备。
顺便提及,为重构而读取的该部分数据(处理单位)被存储在RAM 39中,直至该四段部分数据(处理单位)全部被准备好。
重构处理执行单元59是这样的处理设备,该处理设备根据按照盘设备用途而对盘设备的指定来彼此并行地执行处理数据的输入或输出以及用于重构的处理单位的读取,并在准备了重构所存储数据所必需的所有处理单位的阶段,重构所存储的数据并把所重构的所存储数据记录在作为重构目的地的盘设备(存储介质)中。
在图8的情况下,例如,在第一命令周期中,重构处理执行单元59彼此并行地使用驱动器2至5来进行处理数据的输入或输出,以及使用驱动器1来进行用于重构的处理单位的读取。在下一命令周期中,重构处理执行单元59彼此并行地使用驱动器1和3至5来进行处理数据的输入或输出,以及使用驱动器2来进行用于重构的处理单位的读取。在两个随后的命令周期中执行类似的操作。
当从驱动器1至4读取了用于重构所存储数据的处理单位时,从RAM 39向纠错单元37输出处理单位从而重构驱动器0的所存储数据,然后将所重构的所存储数据存储在RAM 39中。此后,所重构的所存储数据(处理单位)从RAM39经由纠错单元37和SCSI接口41输出至驱动器0,以被写入驱动器0。
向驱动器0的写入处理是与处理数据的输入或输出并行地执行的。在图8的情况下,与重构下一所存储数据所必需的部分数据(处理单位)的读取的开始同时也将所存储数据(处理单位)写入驱动器0。
图9和图10示出了与盘阵列设备的重构处理功能有关的处理过程的例子。此重构处理功能由驻留于CPU 33中的程序实施。
此程序首先确定是否队列表格(RAM 35)中存在输入/输出命令(P1)。输入/输出命令的存在意味着输入/输出命令正被执行或等待被处理。因为当队列表格为空时可以用现有的处理方法执行所存储数据的重构处理,因此确定该队列表格是否为空。即,当队列表格为空时,因为一段所存储数据可以在单个命令周期内被重构,因此可以由现有的处理方法执行所存储数据的重构处理。因此,当在此确定步骤中获得否定结果时,该程序结束。
当一个或多个输入/输出命令存在时(当获得肯定结果时),该程序确定可用于输入或输出处理数据的盘设备(存储介质)的数目是否不小于输入或输出处理数据所必需的盘设备的数目加1(P2)。为了与输入或输出处理数据并行地重构所存储的数据,可用于输入或输出处理数据的盘设备的数目需要不小于输入或输出处理数据所必需的盘设备的数目加1。在本实施例中,该程序确定是否五个或更多的驱动设备可用于输入或输出处理数据。
当在步骤P2获得否定结果时(例如,当两个或更多的驱动设备出故障时),程序结束。在本实施例中,即使当两个盘设备出故障时仍可以确保四个盘设备可用于输入或输出处理数据。因此,能够仅执行输入或输出处理数据以及重构所存储数据之一,但不能够在一个命令周期内彼此并行地执行这两个处理。因此,当少于输入或输出处理数据必需的五个盘设备时,程序结束。
另一方面,当存在输入或输出处理数据必需的五个或更多盘设备时(当获得肯定结果时),该程序确定可用存储介质中将被操作的盘设备(存储介质)(P3)。
当存在两个或更多奇偶校验盘设备时,此处理有效。此处理确定用于输入或输出处理数据并重构所存储数据的将被操作的五个盘设备。
然后,该程序指定将被操作的盘设备(存储介质)之一作为用于重构的盘设备、其它盘设备作为用于输入或输出处理数据的盘设备(P4和P5)。如参照图8所述,此处理指定五个盘设备之一作为用于重构的盘设备,以及指定四个盘设备作为用于输入或输出的盘设备。
在指定盘设备后,该程序彼此并行地执行处理数据的输入或输出以及用于重构的处理单位的读取(P6)。顺便提及,当输入/输出命令为写入命令时,从光纤信道接口FC输入的处理数据被记录在进行操作的盘设备中。当输入/输出命令为读取命令时,从进行操作的盘设备读取的处理数据被输出至光纤信道接口FC。
该程序随后确定是否准备了重构所存储数据所必需的所有处理单位(P7)。这是因为为了重构所存储数据需要从四个不同的盘设备收集处理单位。
当没有准备所有的处理单位时(当获得否定结果时),该程序返回处理P4。具体上,该程序指定一个盘设备作为将用于重构的新盘设备、其它四个盘设备作为用于输入或输出处理数据的盘设备(P4和P5)。
当在处理P7最终获得肯定结果时(当准备了重构所存储数据所必需的四个处理单位时),该程序使用该四个所读取的处理单位来重构所存储的数据,并把所重构的所存储数据输出至替换后的盘设备(P8)。
通过重复此处理,确保执行所存储数据的重构处理。在图8的情况中,在每四个命令周期中执行一次所存储数据的重构。
图11示出由该程序实施的重构处理的映像。
如图11所示,原则上在输入/输出命令的执行中不导致延迟。即,即使在所存储数据的重构处理期间仍能够无延迟地执行输入或输出处理数据的处理。当然,在每四个命令周期中确保执行一次所存储数据的重构,并因此缩短重构处理所要求的时间。
(C)效果
如上所述,按照本发明实施例的重构技术的使用使得可以在最小化执行输入/输出命令的延迟的同时加速所存储数据的重构处理的进程。
本发明因此适合于处理大数据尺寸的处理数据、以及要求高级别实时能力的处理数据的数据存储器。例如,本发明适合于处理AV数据的数据存储器。
(D)其它实施例
(a)在前述的实施例中,已经描述了其中为四个数据盘设备提供两个奇偶校验盘设备的盘阵列设备。
然而,在该实施例中描述的技术可以类似地应用于其中为数据盘设备提供两个或更多奇偶校验盘设备的盘阵列设备。例如,盘阵列设备可以具有两个数据盘设备和两个奇偶校验盘设备。或者,例如,盘阵列设备可以具有两个数据盘设备和三个奇偶校验盘设备。
(b)在前述的实施例中,已经描述了所有进行操作的盘设备被按顺序分配为用于重构所存储数据的盘设备的情况。具体上,如图5所示,使用全部五个驱动器1至5。
然而,可以应用如图12所示的仅使用一部分进行操作的盘设备用于重构的方法。在图12的情况中,仅四个驱动器1至4用于被读取以进行重构。
(c)在前述的实施例中,已经描述了在准备了重构所存储数据所必需的全部四个处理单位命令周期之后的下一命令周期中写入所重构的所存储数据的方法。具体上,已经描述了在读取第四处理单位的命令周期之后的下一命令周期中写入所重构的所存储数据的情况。在图8中,由符号“W”标注写入定时。
然而,如图12所示,可以应用在其中准备了重构所存储数据所必需的全部四个处理单位的同一命令周期中写入所重构的所存储数据的方法。
(d)在前述的实施例中,已经描述了光纤信道接口FC用于发送和接收处理数据的情况。
然而,可以使用其它LAN接口。
(e)在前述的实施例中,已经描述了磁盘设备(所谓的硬盘设备)用作形成数据存储设备的存储介质的情况。
然而,其它类型的存储介质可以应用于形成数据存储设备的存储介质。例如,可以使用以阵列形式安排的状态下的半导体存储器。此配置使得能够以更高的速度进行数据输入和输出。
(f)在前述的实施例中,已经描述了连接至光纤信道的文件服务器。即,已经描述了如图4所示的包括多个数据存储器的大尺寸存储系统。
然而,本发明可以类似地应用于包括一个数据存储器的存储系统。顺便提及,该存储系统不仅可用于包括例如用于广播业务、数据分布业务、通信业务、医疗数据服务器、行政机关、研究机构、公司等的数据存储服务器的商用系统,而且可用于由个人或家庭使用的系统。
(g)在本发明的精神的范围内,可以考虑对前述实施例的各种修改。另外,可以考虑基于本说明书的描述而创建的各种修改和应用。
本领域技术人员应当理解,在权利要求或其等同的范围内,可以根据设计要求和其它因素而进行各种修改、组合、子组合、和改造。
相关申请的交叉参照
本申请包含涉及2005年4月5日提交于日本专利局的日本专利申请P2005-108250的主题,其全部内容包含于此作为参照。
Claims (9)
1.一种数据存储设备,即使当多个存储介质同时发生故障时也能够执行处理数据的输入和输出之一,所述数据存储设备包括:
可用介质计数确定单元,用于当检测到重构所存储数据的请求时确定可用于处理数据的输入和输出之一的存储介质的数目是否不小于处理数据的输入和输出之一所必需的存储介质的数目加1;
操作介质识别单元,用于当可用于处理数据的输入和输出之一的存储介质的数目不小于处理数据的输入和输出之一所必需的存储介质的数目加1时识别可用存储介质中将被操作的存储介质;
分用途介质指定单元,用于指定将被操作的存储介质之一作为用于重构的存储介质、其它存储介质作为用于处理数据的输入和输出之一的存储介质,并且在每个命令周期中移动对于用于重构的存储介质的指定;以及
重构处理执行单元,用于按照所述存储介质的指定而彼此并行地执行处理数据的输入和输出之一和用于重构的处理单位的读取,以及在准备了重构所存储数据所必需的所有处理单位的阶段中重构所存储数据并把所重构的所存储数据记录在作为重构目的地的存储介质上。
2.如权利要求1所述的数据存储设备,
其中,所述多个存储介质包括多个奇偶校验存储介质。
3.如权利要求1所述的数据存储设备,
其中,所述处理数据是被划分为多个处理单元的数据。
4.如权利要求1所述的数据存储设备,
其中,所述处理数据是要求实时能力的数据。
5.一种重构控制设备,用于控制在即使当多个存储介质同时发生故障时也能够执行处理数据的输入和输出之一的数据存储设备中重构所存储数据的操作,所述重构控制设备包括:
可用介质计数确定单元,用于当检测到重构所存储数据的请求时确定可用于处理数据的输入和输出之一的存储介质的数目是否不小于处理数据的输入和输出之一所必需的存储介质的数目加1;
操作介质识别单元,用于当可用于处理数据的输入和输出之一的存储介质的数目不小于处理数据的输入和输出之一所必需的存储介质的数目加1时,识别可用存储介质中将被操作的存储介质;
分用途介质指定单元,用于指定将被操作的存储介质之一作为用于重构的存储介质、其它存储介质作为用于处理数据的输入和输出之一的存储介质,并且在每个命令周期中移动对于用于重构的存储介质的指定;以及
重构处理执行单元,用于按照所述存储介质的指定而彼此并行地执行处理数据的输入和输出之一和用于重构的处理单位的读取,以及在准备了重构所存储数据所必需的所有处理单位的阶段中重构所存储数据并把所重构的所存储数据记录在作为重构目的地的存储介质上。
6.如权利要求5所述的重构控制设备,
其中,所述多个存储介质包括多个奇偶校验存储介质。
7.如权利要求5所述的重构控制设备,
其中,所述处理数据是被划分为多个处理单元的数据。
8.按照权利要求5所述的重构控制设备,
其中,所述处理数据是要求实时能力的数据。
9.一种重构控制方法,用于控制在即使当多个存储介质同时发生故障时也能够执行处理数据的输入和输出之一的数据存储设备中重构所存储数据,所述重构控制方法包括下列步骤:
当检测到重构所存储数据的请求时确定可用于处理数据的输入和输出之一的存储介质的数目是否不小于处理数据的输入和输出之一所必需的存储介质的数目加1;
当可用于处理数据的输入和输出之一的存储介质的数目不小于处理数据的输入和输出之一所必需的存储介质的数目加1时,识别可用存储介质中将被操作的存储介质;
指定将被操作的存储介质之一作为用于重构的存储介质、其它存储介质作为用于处理数据的输入和输出之一的存储介质;
按照所述存储介质的指定而彼此并行地执行处理数据的输入和输出之一和用于重构的处理单位的读取;
在每个命令周期内移动对于用于重构的存储介质的指定,直至准备了重构所存储数据所必需的所有处理单位;
按照移动后所述存储介质的指定,彼此并行地执行处理数据的输入和输出之一和用于重构的处理单位的读取;以及
在准备了重构所存储数据所必需的所有处理单位的阶段中重构所存储数据并把所重构的所存储数据记录在作为重构目的地的存储介质上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP108250/05 | 2005-04-05 | ||
JP2005108250A JP2006285889A (ja) | 2005-04-05 | 2005-04-05 | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1848069A CN1848069A (zh) | 2006-10-18 |
CN100407123C true CN100407123C (zh) | 2008-07-30 |
Family
ID=37071792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100740139A Expired - Fee Related CN100407123C (zh) | 2005-04-05 | 2006-04-04 | 数据存储设备、重构控制设备、重构控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7480818B2 (zh) |
JP (1) | JP2006285889A (zh) |
CN (1) | CN100407123C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285803A (ja) * | 2005-04-04 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
JP2006285889A (ja) * | 2005-04-05 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US8171101B2 (en) * | 2005-09-30 | 2012-05-01 | Cleversafe, Inc. | Smart access to a dispersed data storage network |
US8849940B1 (en) * | 2007-12-14 | 2014-09-30 | Blue Coat Systems, Inc. | Wide area network file system with low latency write command processing |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
JP2013058103A (ja) * | 2011-09-08 | 2013-03-28 | Toshiba Corp | 映像収録再生装置及びリビルド処理方法 |
JP6142576B2 (ja) * | 2013-03-04 | 2017-06-07 | 日本電気株式会社 | ストレージ制御装置、ストレージ装置およびストレージ制御方法 |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
CN106126378A (zh) | 2016-06-29 | 2016-11-16 | 华为技术有限公司 | 一种触发磁盘阵列进行重构的方法及装置 |
US11403024B2 (en) * | 2019-08-28 | 2022-08-02 | Cohesity, Inc. | Efficient restoration of content |
CN114594900A (zh) * | 2020-12-04 | 2022-06-07 | 伊姆西Ip控股有限责任公司 | 存储管理的方法、设备和计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1145158A (ja) * | 1997-07-28 | 1999-02-16 | Sony Corp | データ記録再生装置及び方法 |
JP2000066845A (ja) * | 1998-08-26 | 2000-03-03 | Sony Corp | ディスクアレイ装置 |
CN1480843A (zh) * | 2002-07-26 | 2004-03-10 | 国际商业机器公司 | 对不完全raid盘写进行可靠故障转移的方法和设备 |
CN1551202A (zh) * | 2003-05-06 | 2004-12-01 | �Ҵ���˾ | 自修复方法和存储系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1204027A2 (en) * | 2000-11-02 | 2002-05-08 | Matsushita Electric Industrial Co., Ltd. | On-line reconstruction processing method and on-line reconstruction processing apparatus |
US7353423B2 (en) * | 2004-09-24 | 2008-04-01 | International Business Machines Corporation | System and method for improving the performance of operations requiring parity reads in a storage array system |
US7434090B2 (en) * | 2004-09-30 | 2008-10-07 | Copan System, Inc. | Method and apparatus for just in time RAID spare drive pool management |
JP2006285803A (ja) * | 2005-04-04 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
JP2006285889A (ja) * | 2005-04-05 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
US7430635B2 (en) * | 2005-07-30 | 2008-09-30 | Lsi Corporation | Methods and structure for improved import/export of RAID level 6 volumes |
-
2005
- 2005-04-05 JP JP2005108250A patent/JP2006285889A/ja active Pending
-
2006
- 2006-04-04 US US11/397,171 patent/US7480818B2/en not_active Expired - Fee Related
- 2006-04-04 CN CN2006100740139A patent/CN100407123C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1145158A (ja) * | 1997-07-28 | 1999-02-16 | Sony Corp | データ記録再生装置及び方法 |
JP2000066845A (ja) * | 1998-08-26 | 2000-03-03 | Sony Corp | ディスクアレイ装置 |
CN1480843A (zh) * | 2002-07-26 | 2004-03-10 | 国际商业机器公司 | 对不完全raid盘写进行可靠故障转移的方法和设备 |
CN1551202A (zh) * | 2003-05-06 | 2004-12-01 | �Ҵ���˾ | 自修复方法和存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US7480818B2 (en) | 2009-01-20 |
US20060224560A1 (en) | 2006-10-05 |
CN1848069A (zh) | 2006-10-18 |
JP2006285889A (ja) | 2006-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100407123C (zh) | 数据存储设备、重构控制设备、重构控制方法 | |
CN100397324C (zh) | 数据存储设备、重构控制设备与重构控制方法 | |
US7120705B2 (en) | Magnetic disk array device with processing offload function module | |
US7228399B2 (en) | Control method for storage device controller system, and storage device controller system | |
US8635421B2 (en) | Snapshot based replication | |
JP5284905B2 (ja) | データ移行方法、及びプログラム | |
JP2005301497A (ja) | ストレージ管理装置、リストア方法及びそのプログラム | |
US20100293354A1 (en) | Apparatus and method for minimizing data storage media fragmentation | |
US9003119B2 (en) | Control apparatus and method, and storage apparatus | |
GB2400935A (en) | Configuring memory in a RAID controller | |
JPH06119724A (ja) | アレイ型記録装置 | |
US7356622B2 (en) | Method and apparatus for managing and formatting metadata in an autonomous operation conducted by a third party | |
US7353299B2 (en) | Method and apparatus for managing autonomous third party data transfers | |
US7840877B2 (en) | Mass storage system and method | |
WO2007116995A1 (ja) | データの保存先を複数のテープ記録装置から選択するための装置、方法及びプログラム | |
CN100345129C (zh) | 指配优先权的方法、系统、和程序 | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
US20140025910A1 (en) | Storage device, control device, and control method | |
US20060083076A1 (en) | Data management apparatus | |
US20160124677A1 (en) | Optical cold storage | |
JP2017156931A (ja) | データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法 | |
CN102132245B (zh) | 具有执行格式化或粉碎功能的存储系统 | |
CN111061683B (zh) | 一种高速存储和操作数据流的方法与装置 | |
EP1758253A1 (en) | Data integrity management for data storage systems | |
US8423728B1 (en) | Physical based scheduler using run count and skip count values |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080730 Termination date: 20120404 |