CN105045525A - 存储控制器、存储系统及操作存储控制器的方法 - Google Patents

存储控制器、存储系统及操作存储控制器的方法 Download PDF

Info

Publication number
CN105045525A
CN105045525A CN201510191037.1A CN201510191037A CN105045525A CN 105045525 A CN105045525 A CN 105045525A CN 201510191037 A CN201510191037 A CN 201510191037A CN 105045525 A CN105045525 A CN 105045525A
Authority
CN
China
Prior art keywords
raid
request
memory storage
data
storage
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.)
Granted
Application number
CN201510191037.1A
Other languages
English (en)
Other versions
CN105045525B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105045525A publication Critical patent/CN105045525A/zh
Application granted granted Critical
Publication of CN105045525B publication Critical patent/CN105045525B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
    • 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/0673Single storage device

Abstract

提供了一种存储控制器、存储系统及操作存储控制器的方法。独立盘冗余阵列(RAID)存储系统包括接收RAID请求并将RAID请求选择地传送到多个存储装置中的一个存储装置的RAID主控制器,其中,存储装置之中的第一存储装置和第二存储装置在包括主机的数据通信路径之外直接连接。第一存储装置在接收RAID请求时确定是否需要将RAID子请求分配到第二存储装置,使得在确定需要分配RAID子请求时,第一RAID控制器通过直接网络连接将RAID子请求传送到第二存储装置。

Description

存储控制器、存储系统及操作存储控制器的方法
本申请要求于2014年4月21日提交的第10-2014-0047443号韩国专利申请的优先权,该韩国专利申请的主题通过引用包含于此。
技术领域
本发明构思涉及存储控制器、存储系统以及操作存储控制器的方法。
背景技术
廉价或独立盘冗余阵列(RAID)技术用于将数据划分成多个数据段,将被划分的数据段在多个盘中分布和存储,并且RAID可具有各种等级。例如,在RAID5系统中,当以分布式的方式将数据分条并将分条数据存储到多个盘上的同时,数据存储被存储有奇偶校验位,奇偶验证位可用于在发生读取数据失败时恢复存储在相关盘上的数据。奇偶校验位可通过对分条数据执行异或(exclusive-OR,XOR)操作来获得。在另一示例中,RAID6系统使用第一奇偶校验位和第二奇偶校验位来提供数据恢复能力。
使用RAID的计算系统通常包括用于控制多个数据存储盘(以下,称为“存储盘”或“存储装置”)的中央RAID控制器。中央RAID控制器控制存储装置,同时处理针对存储在存储装置上的数据的RAID请求。然而,随着RAID请求变得更频繁,施加到中央RAID控制器的操作负载(或计算负荷)可增大至使计算系统的性能受损的程度。
发明内容
本发明构思的实施例各种地提供了通过将RAID请求分配到一个或更多个存储装置来使分布式存储系统的性能提高的存储控制器、数据存储系统和操作存储控制器的方法。
在一个实施例中,本发明构思提供了一种独立盘冗余阵列(RAID)存储系统,该RAID存储系统包括接收RAID请求的RAID主控制器和第一存储装置,第一存储装置包括:第一RAID处理单元,从RAID主控制器接收RAID请求并确定是否需要分配RAID子请求,其中,在确定不需要分配RAID子请求时,RAID处理单元直接处理RAID请求;第一RAID请求分配单元,在确定需要分配RAID子请求时,通过第一存储装置与第二存储装置之间的直接网络连接将RAID子请求传送到第二存储装置。
在另一实施例中,本发明构思提供了一种独立盘冗余阵列(RAID)存储系统,该RAID存储系统包括:主机,包括RAID主控制器,RAID主控制器接收RAID请求并被构造成将RAID请求选择地传送到包括第一存储装置和第二存储装置的多个存储装置中的一个存储装置,其中,第一存储装置和第二存储装置在包括主机的数据通信路径之外直接连接;第一存储装置,被构造成在从RAID主控制器接收RAID请求时确定是否需要将RAID子请求分配到第二存储装置,使得在确定需要分配RAID子请求时,第一RAID控制器将RAID子请求传送到第二存储装置。
在另一实施例中,本发明构思提供了一种操作存储控制器的方法,该方法包括以下步骤:控制第一存储装置以直接处理从RAID主控制器分配的第一RAID请求;将与第一RAID请求有关的第二RAID请求分配到包括第二存储装置的一个或更多个存储装置。
附图说明
通过参照附图详细地描述本发明构思的优选实施例,本发明构思的上述和其他特征和优点将变得更明显,在附图中:
图1是示出根据本发明构思的实施例的存储系统的框图;
图2是进一步示出一个示例中的图1的存储系统的主机100的框图;
图3是进一步示出另一示例中的图1的存储系统的主机100的框图;
图4是进一步示出一个示例中的在图1的存储系统中使用的存储装置的框图;
图5是进一步示出另一示例中的在图1的存储系统中使用的存储装置的框图;
图6是示出根据本发明构思的在存储系统中使用的RAID管理方法的框图;
图7是进一步示出一个示例中的图6的RAID管理方法的框图;
图8是示出根据本发明构思的实施例的操作存储控制器以处理RAID请求的方法的操作图;
图9是示出根据本发明构思的另一实施例的操作存储控制器以处理RAID请求的方法的操作图;
图10是示出根据本发明构思的另一实施例的存储控制器的框图;
图11和图12是示出根据本发明构思的各种实施例的存储系统的各框图;
图13、图14和图15是总结根据本发明构思的实施例的操作存储控制器以处理RAID请求的各种方法的示例的各流程图。
具体实施方式
现在将参照附图来更详细地描述本发明构思的特定实施例。然而,本发明构思可以以不同的形式来实施,并且不应该被解释为仅局限于示出的实施例。相反,提供这些实施例使得本公开将是彻底的和完整的,这些实施例将向本领域技术人员充分地传达本发明构思的范围。在整个书面描述和附图中,同样的附图标号和标记用于指示同样或类似的元件。
还将理解的是,当层被称为“在”另一层或基板“上”时,它可直接在所述另一层或基板上,或者还可存在中间层。相反,当元件被称为“直接在”另一元件“上”时,不存在中间元件。
为了便于描述,这里可使用诸如“在……之下”、“在……下面”、“下面的”、“在……上面”和“上面的”等的空间相对术语来描述如附图中所示的一个元件或特征与另一元件或特征的关系。将理解的是,除了在附图中描绘的方位之外,空间相对术语意图包括装置在使用或操作中的不同方位。例如,如果附图中的装置被翻转,则描述为“在”其他元件或特征“下面”或者“在”其他元件或特征“之下”的元件接着将被定位为“在”所述其他元件或特征“上面”。因此,示例性术语“在……下面”可包括“在……上面”和“在……下面”两种方位。装置可被另外定位(旋转90度或在其他方位),并相应地解释这里使用的空间相对描述符。
除非这里另外指出或通过上下文明显矛盾,否则在描述本发明构思的上下文中(特别在权利要求的上下文中)使用的单数形式的表达以及类似的指示物将被解释为既包括单数又包括复数。除非另有说明,否则术语“包含”、“具有”、“包括”和“含有”将被解释为开放式术语(即,表示“包括但不限于”)。
除非另有定义,否则这里使用的所有技术术语和科学术语具有与如本发明构思所属领域的普通技术人员所通常理解的意思相同的意思。注意的是,除非另外明确指出,否则这里提供的任何和所有示例或示例性术语的使用仅意图更好地阐明本发明构思,而不是对本发明构思的范围的限制。此外,除非另有定义,否则不可过度地解释在通用辞典中定义的所有术语。
图1是示出根据本发明构思的实施例的存储系统的框图。
参照图1,存储系统1包括主机100以及多个存储装置200、202、204和206。
主机100接收数据输入和数据输出请求(以下,共同地或个别地称为“数据I/O请求”或“RAID请求”),并执行针对多个存储装置200、202、204和206中的一个或更多个的相应的数据I/O操作。数据I/O请求可导致执行数据存储操作、数据更新操作和/或数据读取操作中的一个或更多个操作。下面的许多描述将针对以下情况,即,假定接收的数据I/O请求为导致数据存储操作的请求(即,数据存储请求)。然而,本发明构思的范围不仅限于这种类型的请求以及相应的操作。
主机100被假定为接收由对主机100执行应用而引起的数据I/O请求,但本发明构思涵盖其他请求起源和类型。响应于接收的数据I/O请求,主机100可使由数据I/O请求指示的RAID操作被分布到多个存储装置200、202、204和206中并被多个存储装置200、202、204和206共同处理。例如,假定接收的数据I/O请求为数据存储请求,则主机100可以使用RAID系统以分布式的方式将相应的“写入数据”写入到多个存储装置200、202、204和206中。
为了操作RAID系统,在图1中示出的主机100包括RAID主控制器110,将参照在图2和图3中示出的示例中更详细地描述RAID主控制器110。然而,在本发明构思的特定实施例中,可将主机100实施为诸如台式计算机的个人计算机、服务器计算机、诸如笔记本计算机的便携式计算机或诸如蜂窝电话、智能电话、平板电脑、MP3、便携式多媒体播放器(PMP)、个人数字助理(PDA)、数码相机、摄像机等的便携式装置。
多个存储装置200、202、204和206中的每个存储装置可响应于从主机100接收的数据I/O指令来分别执行数据I/O操作。例如,按照通过从主机100接收的数据读取指令的指示,存储装置200、202、204和206中的每个存储装置可以从构成的闪速存储器读取数据,并可接着将“读取数据”传送到主机100。可选择地或另外地,存储装置200、202、204和206中的每个存储装置可以按照从主机100接收的数据存储指令的指示将写入数据存储在构成的闪速存储器中。
在本发明构思的特定实施例中,存储装置200、202、204和206可分别为通过快速外设组件互连(PCI-E)接口与主机100通信的固态硬盘(SSD),但在本发明构思的实施例中可使用各种接口。如图1中所示,存储装置200、202、204和206中的每个存储装置可包括相应的RAID控制器210、212、214和216。RAID控制器被构造成连同RAID主控制器110一起来实现RAID系统,随后将参照在图4和图5中示出的实施例更详细地描述RAID控制器。
根据本发明构思的特定实施例,可在多个存储装置200、202、204和206中的两个或更多个存储装置之间建立“直接网络连接”。例如,存储装置200和存储装置202可按照一对一的关系来建立直接网络连接(或者可“直接连接”)。在该建立的关系内,存储装置200和存储装置202可用作对于指令和相应的数据两者而言的连接收发器。这里,直接网络连接可包括诸如局域网(LAN)、WIFI网络或蜂窝网络的硬接线的连接以及/或者无线连接。本领域技术人员将理解的是,两个或更多个存储装置之间的直接网络连接可使用诸如通用串行总线(USB)、小型计算机系统接口(SCSI)、快速外设组件互连(PCI-E)、ATA、并行ATA(PATA)、串行ATA(SATA)、串行SCSI(SAS)等的一种或更多种数据通信协议。
图2是进一步示出根据本发明构思的实施例的在一个示例中的图1的存储系统的主机100的框图。
参照图2,主机100包括处理器120、存储控制器124和I/O控制器128。
处理器120可实施为电路、逻辑块和/或软件代码。处理器120控制主机100的整体操作,分析从用户接收的数据I/O请求,并使各种数据I/O操作与连接到主机100的多个存储装置200、202、204和206相关地被执行。
存储控制器124控制设置在主机100中的存储器(未示出)。设置在主机100中的存储器可用于暂时存储与针对多个存储装置200、202、204和206的一个或更多个数据I/O请求有关的读取/写入数据。例如,设置在主机100中的存储器可包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或双倍数据速率同步DRAM(DDRSDRAM)。例如,存储控制器124可根据从处理器120接收的指令将存储在存储器中的数据发送到I/O控制器128。
I/O控制器128可用于控制将被写入到多个存储装置200、202、204和206的写入数据的通信,或者从多个存储装置200、202、204和206恢复的读取数据的通信。
处理器120、存储控制器124和I/O控制器128可通过系统总线126彼此电连接。在本发明构思的特定实施例中,I/O控制器128与多个存储装置200、202、204和206中的每个存储装置可通过I/O总线129彼此电连接。
在图1中示出的RAID主控制器110控制RAID系统的整体操作,并控制关于多个存储装置200、202、204和206的数据的分配的写入和/或读取。例如,RAID主控制器110可用于将数据“分条”,然后以分布式的方式将产生的“分条数据”存储到多个存储装置200、202、204和206中。另外,RAID主控制器110可以以分布式的方式将(例如)通过对分条数据执行XOR操作而获得的奇偶校验位(以下,个别地或共同地称为“奇偶校验数据”)存储在多个存储装置200、202、204和206中。因此,假设对于多个存储装置200、202、204和206中的任何一个存储装置来讲出现数据读取失败,那么可使用奇偶校验数据来恢复存储在出现失败的存储装置中的写入数据。这里,RAID主控制器110可使用软件和/或硬件来实施。
再次参照图2,在RAID主控制器110以软件实施的情况下,处理器120可通过执行实施RAID主控制器110的功能的软件来操作RAID系统。
图3是进一步示出根据本发明构思的另一实施例的在另一示例中的图1的主机100的框图。
参照图3,主机100包括RAID主控制器110、处理器120、存储控制器124和/或I/O控制器128。主机100与在图2中示出的主机不同,不同之处在于RAID主控制器110以硬件而不是软件来实施,并因此通过系统总线126电连接到处理器120、存储控制器124和I/O控制器128。
图4是进一步示出根据本发明构思的实施例的在一个示例中的图1的存储装置200的框图。
参照图4,存储装置200包括闪速存储控制器211和闪速存储器213,其中,闪速存储控制器211包括处理器220、存储控制器224、主机接口228和闪速存储器接口229。
处理器220可通过电路、逻辑块和/或软件代码来实施,并可用于控制存储装置200的整体操作。如果将电能施加到存储装置200,则处理器220可通过驱动存储在只读存储器(ROM)(未示出)中的用于操作存储装置200的固件来控制存储装置200。另外,处理器200可用于分析从主机接口228接收的指令,并根据分析结果控制闪速存储器213的整体操作。另外,处理器220可使用一个或更多个地址映射表来将由主机100提供的逻辑地址映射到闪速存储器213中的相应的物理地址上。
存储控制器224可用于控制设置在存储装置200中的本地存储器。本地存储器(未示出)可为只读存储器(ROM)或随机存取存储器(RAM)。在本发明构思的特定实施例中,ROM可存储用于驱动存储装置200的固件代码,RAM可用作存储从主机接口228接收的各种指令和/或参数的数据缓冲器。另外,RAM也可存储将被存储在闪速存储器213中的写入数据或从闪速存储器213恢复的读取数据。
主机接口226可用于执行存储装置200与主机100之间的各种接口功能,闪速存储器接口229可用于执行闪速存储控制器211与闪速存储器213之间的接口连接。
闪速存储器213可用于存储由闪速存储控制器211提供的写入数据。即,闪速存储器213可包括存储数据的多个单元阵列。单元阵列可包括多个平面,平面包括多个块,块包括多个页。在本发明构思的一些实施例中,闪速存储器213可为包括电可擦除可编程只读存储器(EEPROM)、铁电随机存取存储器(FRAM)、相变随机存取存储器(PRAM)和磁随机存取存储器(MRAM)的非易失性存储器。
在图1中示出的RAID控制器210与RAID主控制器110配合实现RAID系统。具体地,RAID控制器210可直接处理可通过RAID主控制器110来执行的数据I/O请求。例如,RAID控制器210可用于将数据分条,将得到的分条数据存储在存储装置200中,并且还可用于产生源于分条数据的奇偶校验数据并将奇偶校验数据存储在(例如)存储装置206中。结果,当存储装置200发生故障时,可使用存储在存储装置206中的奇偶校验数据来恢复存储在存储装置200中的数据。因此,RAID控制器210可在多个不同区域中分配上述操作。即,控制存储装置200的RAID控制器210可将用于处理一些RAID请求的请求发送到存储装置202、204和206。
再次参照图4,在使用软件来实施RAID控制器210的情况下,处理器220可通过执行实施RAID控制器的软件210来在存储装置200上执行RAID请求。
图5是进一步示出根据本发明构思的实施例的图1的存储装置200的框图。
参照图5,存储装置200再次包括闪速存储控制器211和闪速存储器213,然而,闪速存储控制器211还包括RAID控制器210以及处理器220、存储控制器224、主机接口228和闪速存储器接口229。这里,存储装置200与在图4中示出的存储装置不同,不同之处在于RAID控制器210被假定为以硬件实施。以硬件实施的RAID控制器210可通过内部总线226电连接到处理器220、存储控制器224、主机接口228和闪速存储器接口229。
图6是示出根据本发明构思的实施例的可结合存储系统来使用的RAID管理方法的框图。
参照图6,可将与写入数据请求有关的写入数据分条,然后以分布式的方式存储在多个数据存储区300、302、304和306中。这里,多个数据存储区300、302、304和306可为设置在多个存储装置200、202、204和206中的闪速存储器。例如,可将写入数据分条为数据A1310、数据A2312和数据A3314。数据A1310可存储在数据存储区300中,数据A2312可存储在数据存储区302中,数据A3314可存储在数据存储区304中。另外,源于数据A1310、数据A2312和数据A3314的奇偶校验数据AP316可存储在数据存储区306中。当相关存储装置发生故障时,如果需要,那么接下来可在恢复数据A1310、数据A2312和数据A3314中使用奇偶校验数据AP316。
因此,RAID主控制器110可将上述数据I/O请求分配到RAID控制器210、212、214和216。也就是说,RAID主控制器110可将需要数据存储、数据更新或数据读取的任何数据I/O请求分配到RAID控制器210、212、214和216中的一个或更多个RAID控制器,RAID控制器210、212、214和216中的一个或更多个RAID控制器然后将直接处理分配的数据I/O请求。RAID控制器210、212、214和216中的每个控制器可直接处理通过RAID主控制器110分配的数据I/O请求,或者它可使用直接网络连接将通过RAID主控制器110分配的数据I/O请求分配给另一RAID控制器。
例如,在RAID主控制器110将用于更新数据A1310的RAID请求分配到RAID控制器210的情况下,RAID控制器210可直接处理用于更新数据A1310的请求。如果数据A1310被更新,则奇偶校验数据AP316也应该被更新以适当地操作RAID系统。在这种情况下,RAID控制器210可将用于更新奇偶校验数据AP316的请求分配到RAID控制器216。然后,RAID控制器216可处理由RAID控制器210分配的数据I/O请求(即,用于更新奇偶校验数据AP316的请求),并可将执行结果发送到RAID控制器210。
图7是示出根据本发明构思的实施例的存储控制器的框图。
参照图7,RAID主控制器110包括RAID请求分配单元130和RAID恢复单元140。RAID请求分配单元130将用于操作RAID系统的RAID请求分配到RAID控制器210和212。RAID恢复单元140使存储在通过RAID控制器210和212控制的存储装置之中的具有故障的存储装置中的数据恢复。
RAID控制器210包括RAID请求处理单元230、RAID恢复单元240和RAID请求分配单元250。RAID请求处理单元230通过直接处理由RAID主控制器110分配的第一RAID请求来控制包括RAID控制器210的存储装置。当包括RAID控制器210的存储装置发生故障时,RAID恢复单元240使用存储在另一存储装置中的奇偶校验数据来恢复数据。
RAID请求分配单元250将与第一RAID请求有关的第二RAID请求分配到一个或更多个其他存储装置。例如,RAID控制器210的RAID请求分配单元250可将第二RAID请求分配到通过RAID控制210控制的另一存储装置,包括在RAID控制器210中的RAID请求处理单元230可处理分配的第二RAID请求。在本发明构思的特定实施例中,第二RAID请求可包括第一RAID请求的一些请求。例如,当第一RAID请求为针对存储在存储装置200、202和204中的数据的读取数据请求时,第二RAID请求可为用于读取存储在存储装置204中的数据的请求。这里,第二RAID请求可包括基于第一RAID请求产生的新请求。例如,当第一RAID请求为用于更新存储在存储装置200中的数据的请求时,第二RAID请求可为用于更新存储在存储装置206中的相应的奇偶校验数据的请求。
RAID控制器210还可包括对数据执行XOR操作的XOR单元260。
图8是示出根据本发明构思的实施例的操作用于处理RAID请求的存储控制器的方法的操作图。
参照图8,RAID主控制器110从用户接收数据写入请求(S600)。这里,假定RAID控制器210控制存储装置200并且RAID控制器212控制存储装置202。RAID主控制器110使用RAID请求分配单元130将第一RAID请求分配到RAID控制器210。第一RAID请求为用新数据更新存储在存储装置202中的旧数据的请求。为此,RAID主控制器110将数据逻辑块地址(“DataLBA”)、新数据(“NewData”)、奇偶校验逻辑块地址(“ParityLBA”)和用于识别奇偶校验存储(“ParityDisk”)的信息提供到RAID控制器210(S602)。
RAID控制器210的RAID请求处理单元230根据第一RAID请求将旧数据更新成新数据(S604)。即,RAID请求处理单元230将新数据(“NewData”)存储在新数据物理块地址(“NewPBA”)中,将数据逻辑块地址(“DataLBA”)映射到新数据物理块地址(“NewPBA”),并存储映射数据(S612)。RAID控制器210的RAID请求分配单元250将用于更新存储装置202的相应的奇偶校验数据的第二RAID请求与旧数据(“OldData”)和新数据(“NewData”)一起传送到存储装置202(S606)。假定存储装置200和存储装置202已经建立有直接网络连接,那么RAID控制器210可直接将第二RAID请求传送到存储装置202。也就是说,在不需要RAID主控制器110介入(和另外加载RAID主控制器110)的情况下,RAID控制器210可将第二RAID请求直接传送到存储装置202。
RAID控制器212可根据第二RAID请求使用旧数据(“OldData”)和新数据(“NewData”)来更新奇偶校验数据。即,RAID控制器212的XOR单元262可用于通过对存储在存储装置202中的旧数据(“OldData”)、新数据(“NewData”)和旧奇偶校验数据(“OldParity”)执行XOR操作来产生新奇偶校验数据(“NewParity”)。如果存储装置200发生故障,则RAID控制器210的RAID恢复单元240可使用来自存储装置202的更新的新奇偶校验数据(“NewParity”)来恢复存储装置200的数据。在本发明构思的特定实施例中,RAID恢复单元240可使用错误校正码(ECC)算法来恢复存储装置200的数据。
RAID控制器210可接收作为从RAID控制器212发送的第二RAID请求的执行结果的响应(S610)。在本发明构思的一些实施例中,RAID控制器210的RAID请求处理单元230可使用来自RAID控制器212的第二RAID请求的执行结果来控制存储装置200。在接收从RAID控制器212发送的第二RAID请求的执行结果之后,RAID控制器210收集RAID请求的执行结果,并将作为最终执行结果的响应传送到RAID主控制器110(S614)。然后,RAID主控制器110将响应输出到用户以表明数据写入请求已经完成(S616)。
图9是示出根据本发明构思的另一实施例的操作用于处理RAID请求的存储控制器的方法的操作图。
参照图9,操作用于处理RAID请求的存储控制器的方法与在图8中示出的方法不同,不同之处在于RAID控制器210通过对旧数据(“OldData”)和新数据(“NewData”)执行XOR操作来产生XOR数据(“XORData”)。也就是说,RAID控制器210的XOR单元260通过对旧数据(“OldData”)和新数据(“NewData”)执行XOR操作来得到XOR数据(“XORData”)(S605)。RAID控制器210的RAID请求分配单元250将用于更新存储装置202的奇偶校验的第二RAID请求和XOR数据(“XORData”)传送到存储装置202的RAID控制器212(S607)。在这种情况下,RAID控制器210可在不需要RAID主控制器110介入的情况下将第二RAID请求传送到存储装置202。
RAID控制器212根据第二RAID请求使用基于旧数据(“OldData”)和新数据(“NewData”)获得的XOR数据(“XORData”)来更新奇偶校验数据。即,RAID控制器212的XOR单元262可用于通过对存储在存储装置202中的XOR数据(“XORData”)和旧奇偶校验数据(“OldParity”)执行XOR操作来产生新奇偶校验数据(“NewParity”)(S608)。然后,如果存储装置200发生故障,则RAID控制器210的RAID恢复单元240可使用来自存储装置202的更新的新奇偶校验数据(“NewParity”)来恢复存储装置200的数据。
图10是示出根据本发明构思的另一实施例的存储控制器的框图。
参照图10,存储控制器与在图7中示出的存储控制器不同,不同之处在于RAID控制器212的RAID请求分配单元252将第三RAID请求分配到通过RAID控制器234控制的另一存储装置,其中,第三RAID请求与通过RAID控制器210的RAID请求分配单元250分配的第二RAID请求有关。包括在RAID控制器214中的RAID请求处理单元234可处理分配的第三RAID请求。在本发明构思的一些实施例中,第三RAID请求可包括第二RAID请求的一些请求,或者可包括基于第二RAID请求产生的新请求。
图11是示出根据本发明构思的另一实施例的存储系统的框图。
参照图11,在存储系统2中,RAID主控制器110可包含于存储装置400中,存储装置400可包括上述那样的构成的闪速存储控制器和闪速存储器。即,在本发明构思的特定实施例中,闪速存储控制器可提供前述的归因于能够执行实施RAID主控制器110的软件的处理器和/或相当的硬件的功能。
如图11中所示,RAID控制器210可用于通过接收并处理RAID请求并通过分配源于一个或更多个RAID请求的RAID子请求来控制(例如)存储装置200,其中,RAID子请求可针对不同的存储装置(例如,202和204)。这里,例如,存储装置200示出为已经与存储装置202和存储装置204建立有单独的直接网络连接。
图12是示出根据本发明构思的又一实施例的存储系统的框图。
参照图12,在存储系统3中,RAID主控制器110包括在存储系统500中,存储系统500还包括多个存储装置。同样地,RAID控制器210、212、214和216可分别在存储系统201、203、205和207中实施,存储系统201、203、205和207均包括多个存储装置。
图13是总结根据本发明构思的实施例的在一个示例中的操作用于处理RAID请求的存储控制器的方法的流程图。
参照图13,假定第一RAID控制器210从RAID主控制器110接收RAID请求(S800)。然后,第一RAID控制器210确定是否需要分配相关RAID请求(更确切地说,是否需要分配与接收的RAID请求相关的任何RAID子请求)(S802)。如果不需要(S802=否),则第一RAID控制器210直接(即,不需要求助于任何其他控制器)执行接收的RAID请求(S804),然后报告完成执行(S806)。
然而,如果认为需要分配与接收的RAID请求相关的一个或更多个RAID子请求(S802=是),则相应地分配一个或更多个RAID子请求(S808)。例如,第一RAID控制器212可确定需要将相关的RAID子请求发给第二RAID控制器212。此后,第一RAID控制器210将在最终的执行结果返回到RAID主控制器110之前接收(或收集)与RAID子请求有关的执行结果(S810)。
图14是总结根据本发明构思的实施例的在另一示例中的操作用于处理RAID请求的存储控制器的方法的流程图。
图14中示出的方法是针对图13描述的方法的更具体的应用。虽然在图14中以“9”代替在图13中的“8”开头,但类似的步骤被同样地编号。这里,RAID请求更具体地为需要更新存储数据和更新相应的奇偶校验数据的RAID请求(S900)。在响应该RAID请求之前,RAID控制器确定是否需要分配一个或更多个RAID子请求(S902)。在图14中示出的说明示例中,假定第一RAID控制器210直接执行RAID请求的数据更新部分,但也确定将RAID子请求发给与奇偶校验数据的更新相关的第二RAID控制器(例如,212)。因此,在第一RAID控制器210更新数据的同时(S904),可将更新相应的奇偶校验数据所需的必要的RAID子请求发给第二RAID控制器(S908)。响应RAID子请求,第二RAID控制器212可产生奇偶校验数据(S909),并将奇偶校验数据传送到第一RAID控制器210(S910)。
图15是总结根据本发明构思的实施例的在又一示例中的操作用于处理RAID请求的存储控制器的方法的流程图。虽然在图15中以“10”代替在图13中的“8”开头,但类似的步骤被同样地编号。
与图13的示例不同,假定第一RAID控制器210而不是主控制器110来接收RAID请求(S1000)。但如前面那样,在确定需要RAID子请求时(S1002),将子请求传送到第二RAID控制器212(S1008)。
在前述实施例中,术语“子请求”用于区分初始接收的RAID请求与源于初始接收的RAID请求的所有相关的RAID请求。形式上没有区别,在请求与一个或更多个子请求之间需要进行通信或执行。一个(即,初始接收的请求)在另一个(即,相关的子请求)之前。
根据本发明构思的各种实施例,在RAID5系统中更新数据的情况下,可通过减少I/O操作的数量来提高分布式存储系统的性能。即,替代对两个存储装置单独执行读取/写入操作,主控制器(或第一控制器)可分配一个或更多个相关的RAID子请求,能够使(例如)通过一个RAID控制器更新数据和通过另一RAID控制器更新相应的奇偶校验数据的至少一些处理平行地进行。因此,通常需要的2个读取操作和2个写入操作被仅仅2个写入操作所代替。因此,本发明构思的实施例使I/O操作的数量减少。
另外,根据本发明构思的各种实施例的构成每个存储系统的存储装置不是传统的无源器件而是有源器件,因此在其他存储装置中主动地分配和指派RAID请求,而不是被动地执行传统中央RAID控制器的指令。因此,根据本发明构思,由于便于数据分配和包括RAID请求的数据I/O操作的作用,所以可减小主机的操作负载。
尽管已参照本发明构思的示例性实施例具体示出和描述了本发明构思,但本领域技术人员将理解的是,在不脱离权利要求的范围的情况下,可在这里做出形式和细节上的各种改变。

Claims (20)

1.一种RAID存储系统,所述RAID存储系统包括接收RAID请求的RAID主控制器和第一存储装置,第一存储装置包括:
第一RAID处理单元,从RAID主控制器接收RAID请求并确定是否需要分配RAID子请求,其中,在确定不需要分配RAID子请求时,RAID处理单元直接处理RAID请求;以及
第一RAID请求分配单元,在确定需要分配RAID子请求时,通过第一存储装置与第二存储装置之间的直接网络连接将RAID子请求传送到第二存储装置。
2.如权利要求1所述的RAID存储系统,其中,RAID子请求包括基于通过第一RAID控制器直接处理第一RAID请求而产生的新请求。
3.如权利要求1所述的RAID存储系统,其中,RAID请求为用新数据来更新存储在第一存储装置中的旧数据的请求,RAID子请求为更新来源于旧数据并存储在第二存储装置中的奇偶校验数据的请求。
4.如权利要求3所述的RAID存储系统,其中,RAID处理单元响应RAID请求使用新数据来更新旧数据,RAID子请求分配单元将RAID子请求与旧数据和新数据一起传送到第二存储装置。
5.如权利要求4所述的RAID存储系统,其中,第二存储装置包括:
异或单元,对旧数据和新数据执行XOR操作以产生更新的奇偶校验数据;以及
第二RAID请求分配单元,将更新的奇偶校验数据从第二存储装置传送到第一存储装置。
6.如权利要求4所述的RAID存储系统,其中,第一存储装置还包括RAID恢复单元,RAID恢复单元使用存储在第二存储装置中的更新的奇偶校验数据来恢复新数据。
7.如权利要求6所述的RAID存储系统,其中,RAID恢复单元使用错误校正码算法来使用存储在第二存储装置中的更新的奇偶校验数据使存储在第一存储装置中的新数据恢复。
8.如权利要求1所述的RAID存储系统,其中,第一RAID处理单元在通过第二存储装置完成RAID子请求时从第二存储单元接收执行结果。
9.如权利要求8所述的RAID存储系统,其中,第一RAID处理单元使用从第二存储装置接收的第二RAID请求的执行结果来控制第一存储装置。
10.一种RAID存储系统,所述RAID存储系统包括:
主机,包括RAID主控制器,RAID主控制器接收RAID请求并被构造成将RAID请求选择地传送到包括第一存储装置和第二存储装置的多个存储装置中的一个存储装置,其中,第一存储装置和第二存储装置在包括主机的数据通信路径之外直接连接;并且
所述第一存储装置,被构造成在从RAID主控制器接收RAID请求时确定是否需要将RAID子请求分配到第二存储装置,使得在确定需要分配RAID子请求时,第一RAID控制器通过直接网络连接将RAID子请求传送到第二存储装置。
11.如权利要求10所述的RAID存储系统,其中,RAID子请求包括基于通过第一RAID控制器直接处理第一RAID请求而产生的新请求。
12.如权利要求10所述的RAID存储系统,其中,RAID请求为用新数据来更新存储在第一存储装置中的旧数据的请求,RAID子请求为更新来源于旧数据并存储在第二存储装置中的奇偶校验数据的请求。
13.如权利要求12所述的RAID存储系统,其中,第一存储装置的第一RAID控制器响应RAID请求使用新数据来更新旧数据,第一存储装置的第一RAID子请求分配单元将RAID子请求与旧数据和新数据一起传送到第二存储装置。
14.如权利要求13所述的RAID存储系统,其中,第二存储装置包括:
异或单元,对旧数据和新数据执行XOR操作以产生更新的奇偶校验数据;以及
第二RAID请求分配单元,将更新的奇偶校验数据从第二存储装置传送到第一存储装置。
15.如权利要求13所述的RAID存储系统,其中,第一存储装置还包括RAID恢复单元,RAID恢复单元被构造成使用存储在第二存储装置中的更新的奇偶校验数据来恢复新数据。
16.如权利要求10所述的RAID存储系统,其中,第一存储装置的第一RAID控制器在通过第二存储装置完成RAID子请求时从第二存储装置接收执行结果。
17.一种操作存储控制器的方法,所述方法包括以下步骤:
控制第一存储装置以直接处理从RAID主控制器分配的第一RAID请求;以及
将与第一RAID请求有关的第二RAID请求分配到包括第二存储装置的一个或更多个存储装置。
18.如权利要求17所述的方法,其中,将第二RAID请求分配到包括第二存储装置的一个或更多个存储装置的步骤包括通过网络将第二RAID请求发送到以一对一的关系连接到第一存储装置的存储装置。
19.如权利要求17所述的方法,其中,第一RAID请求包括用于将存储在第一存储装置中的旧数据更新成新数据的请求,第二RAID请求包括用于更新第二存储装置的奇偶校验的请求。
20.如权利要求19所述的方法,所述方法还包括利用更新的奇偶校验来从第二存储装置恢复第一存储装置的数据。
CN201510191037.1A 2014-04-21 2015-04-21 存储控制器、存储系统及操作存储控制器的方法 Active CN105045525B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0047443 2014-04-21
KR1020140047443A KR102318478B1 (ko) 2014-04-21 2014-04-21 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법

Publications (2)

Publication Number Publication Date
CN105045525A true CN105045525A (zh) 2015-11-11
CN105045525B CN105045525B (zh) 2020-03-06

Family

ID=53040361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510191037.1A Active CN105045525B (zh) 2014-04-21 2015-04-21 存储控制器、存储系统及操作存储控制器的方法

Country Status (5)

Country Link
US (1) US9836224B2 (zh)
EP (1) EP2937774B1 (zh)
JP (1) JP2015207289A (zh)
KR (1) KR102318478B1 (zh)
CN (1) CN105045525B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648473A (zh) * 2016-12-30 2017-05-10 郑州云海信息技术有限公司 一种双控raid同步方法及装置
CN109237601A (zh) * 2018-08-20 2019-01-18 西安建筑科技大学 一种基于群智能的高层集中供暖系统优化控制方法
CN109634771A (zh) * 2018-10-31 2019-04-16 华为技术有限公司 一种数据保护方法、装置及系统
CN110941575A (zh) * 2018-09-21 2020-03-31 爱思开海力士有限公司 包括通过内部通道联接的存储器系统的数据处理系统
CN112035381A (zh) * 2020-09-29 2020-12-04 深圳大普微电子科技有限公司 一种存储系统及存储数据处理方法
CN113448495A (zh) * 2020-03-27 2021-09-28 华为技术有限公司 一种扩展双倍速率内存位宽的装置
TWI746845B (zh) * 2017-08-10 2021-11-21 南韓商三星電子股份有限公司 用於儲存資料的系統以及方法
CN114896182A (zh) * 2022-05-11 2022-08-12 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652415B2 (en) 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9558125B2 (en) 2014-10-27 2017-01-31 Sandisk Technologies Llc Processing of un-map commands to enhance performance and endurance of a storage device
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9647697B2 (en) 2015-03-16 2017-05-09 Sandisk Technologies Llc Method and system for determining soft information offsets
US9645765B2 (en) * 2015-04-09 2017-05-09 Sandisk Technologies Llc Reading and writing data at multiple, individual non-volatile memory portions in response to data transfer sent to single relative memory address
US9753653B2 (en) 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management
US9864545B2 (en) 2015-04-14 2018-01-09 Sandisk Technologies Llc Open erase block read automation
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US9836427B2 (en) * 2015-05-28 2017-12-05 HGST Netherlands B.V. Library for seamless management of storage devices
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
KR20170024714A (ko) * 2015-08-26 2017-03-08 에스케이하이닉스 주식회사 반도체 시스템 및 그의 동작 방법
US10289507B1 (en) * 2015-10-27 2019-05-14 Pavilion Data Systems, Inc. Distributed rebuild of failed storage device
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
KR102527992B1 (ko) 2016-03-14 2023-05-03 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
US11151093B2 (en) * 2019-03-29 2021-10-19 International Business Machines Corporation Distributed system control for on-demand data access in complex, heterogenous data storage
US10990480B1 (en) * 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US11782616B2 (en) 2021-04-06 2023-10-10 SK Hynix Inc. Storage system and method of operating the same
KR102555800B1 (ko) * 2021-04-06 2023-07-17 에스케이하이닉스 주식회사 스토리지 시스템 및 그 동작 방법
CN113906513A (zh) * 2021-08-31 2022-01-07 长江存储科技有限责任公司 用于对抗编程故障的独立磁盘冗余阵列条带化的系统和设备
KR102403477B1 (ko) * 2021-11-12 2022-05-30 삼성전자주식회사 스토리지 장치와 이를 포함하는 호스트-스토리지 시스템
KR102651975B1 (ko) * 2023-11-10 2024-03-27 코싸인온 주식회사 상호작용형 dram 신호 분석기 및 이를 이용한 dram 신호 분석 및 보정 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787459A (en) * 1993-03-11 1998-07-28 Emc Corporation Distributed disk array architecture
US20110145452A1 (en) * 2009-12-16 2011-06-16 Lsi Corporation Methods and apparatus for distribution of raid storage management over a sas domain
CN102713827A (zh) * 2010-01-07 2012-10-03 国际商业机器公司 用于分层存储架构的区间迁移
US20130060989A1 (en) * 2011-09-07 2013-03-07 Fusion-Io, Inc. Apparatus, system, and method for referencing data block usage information by way of an interface
CN103067438A (zh) * 2011-10-18 2013-04-24 巴比禄股份有限公司 网络存储系统及其数据操作方法、存储装置
CN103226519A (zh) * 2012-01-31 2013-07-31 Lsi公司 冗余缓存数据的弹性缓存
CN103314361A (zh) * 2010-10-01 2013-09-18 净睿存储股份有限公司 具有动态几何的raid阵列中的重构读取
CN103502956A (zh) * 2011-04-29 2014-01-08 国际商业机器公司 运行时动态性能偏斜消除
CN103631534A (zh) * 2013-11-12 2014-03-12 上海兆芯集成电路有限公司 数据存储系统以及其管理方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261946A (ja) * 1994-03-22 1995-10-13 Hitachi Ltd アレイ型記憶装置
JPH10312246A (ja) * 1997-05-12 1998-11-24 Hitachi Ltd 記憶装置サブシステム
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
JP4054182B2 (ja) * 2001-09-25 2008-02-27 株式会社東芝 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ
JP2003158526A (ja) 2001-11-22 2003-05-30 Hitachi Ltd プロトコル制御装置ならびにディスクアレイシステム
US6976189B1 (en) * 2002-03-22 2005-12-13 Network Appliance, Inc. Persistent context-based behavior injection or testing of a computing system
US20030212859A1 (en) 2002-05-08 2003-11-13 Ellis Robert W. Arrayed data storage architecture with simultaneous command of multiple storage media
JP2003345513A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd 記憶装置および記憶装置サブシステム
KR100496872B1 (ko) 2002-12-23 2005-06-22 한국전자통신연구원 다중 레이드제어기 오류 복구 기능을 구비한 분산 공유레이드 시스템 및 그 오류 복구 방법
JP2005316762A (ja) 2004-04-28 2005-11-10 Toshiba Corp ディスク記憶装置及びraid構築方法
US20070214313A1 (en) * 2006-02-21 2007-09-13 Kalos Matthew J Apparatus, system, and method for concurrent RAID array relocation
WO2008070802A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for an in-server storage area network
US8935302B2 (en) * 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8358524B1 (en) 2007-06-29 2013-01-22 Netlogic Microsystems, Inc. Methods and circuits for limiting bit line leakage current in a content addressable memory (CAM) device
KR100986131B1 (ko) 2008-04-04 2010-10-08 주식회사 셀픽 레이드 기능을 지원하는 솔리드 스테이트 디스크
EP2645251A1 (en) * 2008-06-06 2013-10-02 Pivot3 Method and system for distributed RAID implementation
JP5999645B2 (ja) 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
WO2011031903A2 (en) 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
TW201124836A (en) * 2010-01-06 2011-07-16 Promise Technology Inc Raid system
JP5651962B2 (ja) 2010-02-03 2015-01-14 富士通株式会社 Raid装置、異常デバイス検出装置および異常デバイス検出方法
JP4940322B2 (ja) 2010-03-16 2012-05-30 株式会社東芝 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法
US8719495B2 (en) * 2010-03-30 2014-05-06 Lenovo (Singapore) Pte. Ltd. Concatenating a first raid with a second raid
CN104166441B (zh) * 2010-06-18 2018-05-11 希捷科技有限公司 可扩展存储装置
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US9229816B2 (en) * 2011-03-14 2016-01-05 Taejin Info Tech Co., Ltd. Hybrid system architecture for random access memory
US20120330729A1 (en) 2011-06-06 2012-12-27 Carter Michael M Engine, system and method of providing business valuation and database services using alternative payment arrangements
US8914706B2 (en) 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US20130344963A1 (en) 2012-06-22 2013-12-26 Diwakar Gupta Multiplayer synchronous gaming systems and methods
WO2014016860A1 (en) 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process
US9769062B2 (en) * 2013-06-12 2017-09-19 International Business Machines Corporation Load balancing input/output operations between two computers

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787459A (en) * 1993-03-11 1998-07-28 Emc Corporation Distributed disk array architecture
US20110145452A1 (en) * 2009-12-16 2011-06-16 Lsi Corporation Methods and apparatus for distribution of raid storage management over a sas domain
CN102713827A (zh) * 2010-01-07 2012-10-03 国际商业机器公司 用于分层存储架构的区间迁移
CN103314361A (zh) * 2010-10-01 2013-09-18 净睿存储股份有限公司 具有动态几何的raid阵列中的重构读取
CN103502956A (zh) * 2011-04-29 2014-01-08 国际商业机器公司 运行时动态性能偏斜消除
US20130060989A1 (en) * 2011-09-07 2013-03-07 Fusion-Io, Inc. Apparatus, system, and method for referencing data block usage information by way of an interface
CN103067438A (zh) * 2011-10-18 2013-04-24 巴比禄股份有限公司 网络存储系统及其数据操作方法、存储装置
CN103226519A (zh) * 2012-01-31 2013-07-31 Lsi公司 冗余缓存数据的弹性缓存
CN103631534A (zh) * 2013-11-12 2014-03-12 上海兆芯集成电路有限公司 数据存储系统以及其管理方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648473B (zh) * 2016-12-30 2019-09-24 郑州云海信息技术有限公司 一种双控raid同步方法及装置
CN106648473A (zh) * 2016-12-30 2017-05-10 郑州云海信息技术有限公司 一种双控raid同步方法及装置
TWI746845B (zh) * 2017-08-10 2021-11-21 南韓商三星電子股份有限公司 用於儲存資料的系統以及方法
CN109237601A (zh) * 2018-08-20 2019-01-18 西安建筑科技大学 一种基于群智能的高层集中供暖系统优化控制方法
CN110941575A (zh) * 2018-09-21 2020-03-31 爱思开海力士有限公司 包括通过内部通道联接的存储器系统的数据处理系统
CN110941575B (zh) * 2018-09-21 2023-03-17 爱思开海力士有限公司 包括通过内部通道联接的存储器系统的数据处理系统
CN109634771A (zh) * 2018-10-31 2019-04-16 华为技术有限公司 一种数据保护方法、装置及系统
CN113448495A (zh) * 2020-03-27 2021-09-28 华为技术有限公司 一种扩展双倍速率内存位宽的装置
WO2022068185A1 (zh) * 2020-09-29 2022-04-07 深圳大普微电子科技有限公司 一种存储系统及存储数据处理方法
CN112035381A (zh) * 2020-09-29 2020-12-04 深圳大普微电子科技有限公司 一种存储系统及存储数据处理方法
CN112035381B (zh) * 2020-09-29 2023-10-27 深圳大普微电子科技有限公司 一种存储系统及存储数据处理方法
CN114896182A (zh) * 2022-05-11 2022-08-12 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质
CN114896182B (zh) * 2022-05-11 2023-10-20 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质

Also Published As

Publication number Publication date
JP2015207289A (ja) 2015-11-19
US9836224B2 (en) 2017-12-05
KR20150121502A (ko) 2015-10-29
EP2937774B1 (en) 2020-07-22
KR102318478B1 (ko) 2021-10-27
US20150301749A1 (en) 2015-10-22
EP2937774A1 (en) 2015-10-28
CN105045525B (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN105045525A (zh) 存储控制器、存储系统及操作存储控制器的方法
CN111433732B (zh) 存储设备以及由存储设备执行的计算机实现的方法
US10216578B2 (en) Data storage device for increasing lifetime and RAID system including the same
US10073622B2 (en) Memory system and operation method thereof
US10353614B2 (en) Raid system and method based on solid-state storage medium
CN112597069A (zh) 存储系统、主机系统和存储系统的操作方法
CN101923441B (zh) 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统
KR102641107B1 (ko) 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법
CN103534688A (zh) 数据恢复方法、存储设备和存储系统
CN107562653B (zh) 存储器系统及其操作方法
US9678665B2 (en) Methods and systems for memory page allocation
US11487663B2 (en) Method of operating storage device, storage device performing the same and storage system including the same
CN108932202B (zh) 存储器系统及其操作方法
KR20180130140A (ko) 데이터 처리 시스템 및 데이터 처리 방법
CN110968522A (zh) 存储器系统及其操作方法、包括存储器系统的数据库系统
US11379326B2 (en) Data access method, apparatus and computer program product
CN110007851B (zh) 存储器系统及其操作方法
US10642531B2 (en) Atomic write method for multi-transaction
KR20200017664A (ko) 저장 장치의 데이터 액세스 방법, 데이터 관리 방법 및 이를 수행하는 저장 장치
CN110688061B (zh) 存储器系统及其操作方法
CN109710174B (zh) 数据处理系统及其操作方法
CN109753233B (zh) 存储器系统及其操作方法
CN100514271C (zh) 芯片组、北桥芯片以及磁盘数据存取方法
US11416163B2 (en) Systems and methods for dynamic logical block address distribution between multicores
US11093180B2 (en) RAID storage multi-operation command system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant