CN106557143B - 用于数据存储设备的装置和方法 - Google Patents

用于数据存储设备的装置和方法 Download PDF

Info

Publication number
CN106557143B
CN106557143B CN201510628051.3A CN201510628051A CN106557143B CN 106557143 B CN106557143 B CN 106557143B CN 201510628051 A CN201510628051 A CN 201510628051A CN 106557143 B CN106557143 B CN 106557143B
Authority
CN
China
Prior art keywords
data
storage device
data storage
volatile memory
power
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
CN201510628051.3A
Other languages
English (en)
Other versions
CN106557143A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201510628051.3A priority Critical patent/CN106557143B/zh
Priority to US15/277,131 priority patent/US10402104B2/en
Publication of CN106557143A publication Critical patent/CN106557143A/zh
Application granted granted Critical
Publication of CN106557143B publication Critical patent/CN106557143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开涉及一种用于数据存储设备的装置、适配器、阵列控制器、数据存储设备以及相关方法。用于数据存储设备的装置包括:电源管理模块,被配置为检测电源的断电以及在所述电源断电时切换至所述数据存储设备中的备用电池单元;其中,所述装置被配置为使得所述备用电池单元仅对所述数据存储设备中的易失性存储器供电。通过使用根据本公开的方案,可以例如延长断电时数据保存时间。

Description

用于数据存储设备的装置和方法
技术领域
本公开总体涉及电子领域,更具体而言,涉及数据存储设备,尤其是使用磁盘阵列的数据存储设备。
背景技术
随着信息技术的发展,电子设备的功能越来越强大,也越来越普及。电子设备的使用产生了海量数据,而这些数据都需要进行存储。对于企业或网络服务提供商而言,更是需要大容量的数据存储设备来记录相关数据或提供相关服务。
在企业数据存储领域,磁盘阵列是一种常用的选择。磁盘阵列是由很多磁盘组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用奇偶校验在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年,发表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,谈到了RAID这个词汇,而且定义了RAID的5层级。伯克利大学研究目的是反应当时CPU快速的性能。CPU效能每年大约成长30~50%,而硬磁机只能成长约7%。研究小组希望能找出一种新的技术,在短期内,立即提升效能来平衡计算机的运算能力。在当时,伯克利研究小组的主要研究目的是效能与成本。
另外,研究小组也设计出容错(fault-tolerance),逻辑数据备份(logical dataredundancy),而产生了RAID理论。
独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
RAID的优点在于提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。
通过数据校验提供容错功能。普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。
但是目前的数据存储设备仍存在一定的改进空间,例如数据在掉电情形下的安全性等。
发明内容
鉴于上述内容,本公开针对现有的数据存储设备做出改进。
根据本公开的第一方面,提供一种用于数据存储设备的装置,包括:电源管理模块,被配置为检测电源的断电以及在所述电源断电时切换至所述数据存储设备中的备用电池单元;其中,所述装置被配置为使得所述备用电池单元仅对所述数据存储设备中的易失性存储器供电。
根据本公开的第二方面,提供一种适配器,包括上述的装置和与所述装置耦合的易失性存储器。
根据本公开的第三方面,提供一种阵列控制器,包括根据上述的适配器、根联合体(Root Complex)PCI-Express桥、处理器以及系统存储器,其中所述适配器、所述系统存储器和所述处理器与所述根联合体PCI-Express桥耦合。
根据本公开的第四方面,提供一种数据存储设备,包括至少两个根据上述的阵列控制器,所述阵列控制器相互连接。
根据本公开的第五方面,提供一种在独立磁盘冗余阵列设备中使用的可编程装置,包括:计算模块,所述计算模块被配置为执行奇偶校验。
根据本公开的第六方面,提供一种适配器,包括根据上述的可编程装置和与所述可编程装置耦合的所述易失性存储器。
根据本公开的第七方面,提供一种阵列控制器,包括根据上述的适配器、根联合体PCI-Express桥、处理器以及系统存储器,其中所述适配器、所述系统存储器和所述处理器与所述根联合体PCI-Express桥耦合。
根据本公开的第八方面,提供一种数据存储设备,包括至少两个根据上述的阵列控制器,所述阵列控制器相互连接。
根据本公开的第九方面,提供一种用于在断电时保存数据存储设备中位于易失性存储器中的脏数据的方法,包括:检测电源的断电;响应于检测到的断电,使用备用电池单元仅对所述数据存储设备中的易失性存储器供电。
根据本公开的第十方面,提供一种用于计算数据存储设备中的奇偶校验的方法,包括:使用可编程装置中的计算模块以根据从数据存储设备中的系统存储器接收的数据和参数来计算奇偶校验;以及将所计算的结果存储在所述数据存储设备中。
通过使用根据本公开的实施例,可以获得用于数据存储设备的改进效果,例如,断电时延长数据保存时间或减少中央处理单元(CPU)的工作负荷等。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是常规磁盘阵列中的控制器结构的示例图;
图2是根据本公开的一个实施例的用于磁盘阵列的控制器结构的示例示意图;
图3是根据图2中所示的现场可编程门阵列(FPGA)装置及其周围装置的示例示意图;以及
图4是FPGA的一种实现结构的示意图。
具体实施方式
现在下文描述中阐述某些具体细节以便提供对本公开的主题内容的各种方面的透彻理解。然而在不具有这些具体细节的情形下仍然可以实现本公开的主题内容。
除非上下文另有要求,否则在说明书和所附权利要求书全文中,词语“包括”将解释成开放式包含意义,也就是说,解释为“包括但不限于”。
在本说明书全文中引用“一个实施例”或者“实施例”意味着结合该实施例描述的特定特征、结构或者特性包含于至少一个实施例中。因此,在本说明书全文中各处出现表达“在一个实施例中”或者“在实施例中”未必都是指相同方面。另外,可以在本公开内容的一个或者多个方面中以任何适当方式组合特定特征、结构或者特性。
在数据存储领域,如上所述,常用的存储设备之一是独立磁盘冗余阵列(RAID)。目前的RAID基本上可以划分为RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 6和RAID 7等。
RAID 0是最早出现的RAID模式,即数据分条(Data Stripping)技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加。RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。
从概念上讲,RAID 2同RAID 3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID 2使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。
RAID 3与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID 2,RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
RAID4和RAID3相像,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。它的特点和RAID3也相像,不过在失败恢复时,它的难度比RAID3大,控制器的设计难度也要大许多,而且访问数据的效率不佳。
RAID 5的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID 6是对RAID5的扩展,主要用于要求数据绝对不能出错的场合。由于RAID 6引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度较低,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。
RAID 7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和备用电源一起工作。但是出于系统小型化和成本考虑,备用电源例如是设备内的电容器或是电池,对于高性能的数据存储设备而言,这通常仅能维持例如300秒的时间,该时间对于大的高速缓冲存储器而言,可能不足以将高速缓冲存储器中的数据写入例如磁盘,这就容易导致数据丢失。
此外,如上所述,RAID系列的数据存储设备还存在CPU载荷较高的问题。
为了克服上述技术问题中的至少一些,本公开的一些实施例旨在解决上述技术问题中的至少一些。
现在参见附图1,附图1示出了常规磁盘阵列中的控制器结构的示例图。
对于数据存储设备,尤其是对于企业数据存储设备而言,数据的安全性和稳定性尤为重要,因此有必要将数据备份。图1中示出了在数据存储设备(例如磁盘阵列)中常用的磁盘阵列控制器结构的示意图。如图1所示,数据存储设备(未示出)通常包括至少两个对等的磁盘阵列控制器110和120,其中磁盘阵列控制器110包括中央处理单元(CPU)111、根联合体PCI-Express桥112、系统存储器113和PCI-Express端点114,并且磁盘阵列控制器120包括中央处理单元(CPU)121、根联合体PCI-Express桥122、系统存储器123和PCI-Express端点124。如本领域技术人员所理解的那样,CPU 111和121执行处理指令、执行操作、处理数据和控制等功能,系统存储器113和123用于存储数据和程序等。CPU 111或121通过根联合体PCI-Express桥112或122将数据写入系统存储器113或123,或者通过根联合体PCI-Express桥112或122给出指令,使得系统存储器113或123直接访问(DMA)磁盘(未示出),将脏数据(dirty data)写入磁盘或是从磁盘读取数据。本领域技术人员可以理解,脏数据是被存储在诸如CPU、系统存储器或易失性存储器等之中的、未被存储进磁盘之中的数据。换言之,脏数据容易在系统掉电之后丢失,而非像被存储在磁盘中的数据那样可以长久保存。
可以理解,对于数据存储而言,数据的安全性至关重要。因此产生了众多备份数据或是在数据损失或损坏情形下恢复数据的方法和设备。对于磁盘阵列而言,通常采用备份数据或镜像数据的方法来保持数据的一致性,使得即使一个磁盘阵列控制器损坏(例如图1中所示的磁盘阵列控制器110)时,也可以使用镜像的另一磁盘阵列控制器(例如图1中所示的磁盘阵列控制器120)。为了保持这两个磁盘阵列控制器中的数据一致,通常在系统存储器113接收到程序或数据时,也将该程序或数据通过PCI-Express端点114和124镜像到系统存储器123,使得磁盘阵列控制器A 110损坏或故障时,也可以使用镜像的另一磁盘阵列控制器B 120。
此外,持久存储器MCC(多核心高速缓存)用于存储存储器中的脏数据,当存储阵列断电或是临时失去供电时,MCC将使用备用电源将这些脏数据冲入系统硬盘(HDD),以确保没有数据丢失,并且当系统恢复供电时,这些数据将首先从HDD恢复至MCC持久存储器,使得数据不丢失。
CPU将通过一系列关于操作的信息记录操作进程。一旦从断电或崩溃中恢复,首先根据这些记录重做这些操作。
镜像存储器具有在持久存储器中的副本数据和相关联的控制结构。当高速缓存更新时,首先在一个磁盘阵列控制器上的持久存储器上进行操作,并且将这些操作复制到另一磁盘阵列控制器上的持久存储器。这些复制或传输通常通过两个节点之间的CMI接口进行。
此外,对于RAID 3-RAID 6而言,通常使用CPU 111和121中的至少一个进行奇偶校验计算,并且将计算结果经由根联合体PCI-Express桥112和122最终存储至磁盘。由于对于接收的所有数据都需要进行奇偶校验计算并且存储计算结果,因此这占据了CPU的较多资源,使得CPU负荷较重。以上针对RAID 3-RAID 6的说明仅是示例而非旨在限制,本领域技术人员可以理解,在其它类型的数据存储设备中,出于保持数据一致性或安全性的目的,也需要占用很多诸如CPU之类的计算单元的资源。
此外,在外接电源(例如市电或民用交流电)突然断电的情形下,数据存储设备内的备用电源(例如电容器或电池)对包括磁盘阵列控制器和磁盘在内的装置供电,受限于电容器或电池的容量,这通常仅能顶多维持300秒左右,在这300秒内,需要将CPU和系统存储器中的数据和程序写入到磁盘的特定区域,以便于在恢复供电后,将该数据和程序重新加载。在某些类型的存储设备中,该时间可能不足以将CPU和系统存储器中的所有数据和程序写入磁盘。
因此,诸如磁盘阵列之类的现有的数据存储设备存在进一步的改进空间。
现在参见图2,图2是根据本公开的一个实施例的用于磁盘阵列的控制器结构的示例示意图。在图2的示例中,总体架构与图1中所示的架构相似,相同的部件在此不再赘述。图2与图1的不同之处在于磁盘阵列控制器210和磁盘阵列控制器220分别包括根据本公开的一个实施例提供的适配器216和适配器226。适配器可以以多种方式提供,例如适配器卡。本领域技术人员可以理解,适配器卡仅是示例而非旨在限制,可以提供其它形式的适配器装置。
为了将CPU从较重的工作载荷中释放出来,本公开的一个实施例构思将一部分计算功能从CPU转移至其它设备,例如可编程装置,诸如可编程逻辑器件。图2中示出了可编程逻辑器件的一种形式,即,现场可编程逻辑门阵列(FPGA)。本领域技术人员可以理解,可以使用其他形式的可编程逻辑器件,诸如复杂可编程逻辑器件。对于针对RAID 3-RAID 6的奇偶校验运算而言,FPGA运算效率要高于CPU,因此本公开的一个实施例构思将之前由CPU执行的奇偶校验运算转移至新添加的适配器中的FPGA,诸如图2中所示的FPGA 2164和2264。在指示进行奇偶校验运算时,FPGA与CPU协作,FPGA(例如FPGA中的存储器控制模块,例如图3中的存储器控制器330)启动从系统存储器(例如,系统存储器213或223)的读取请求,获取计算奇偶校验所需的数据和参数,分配FPGA中的空闲的计算单元(例如图3中所示的计算模块320)进行奇偶校验计算,并且将计算结果按序返回磁盘。
如上所述,为了保持数据的一致性和安全性,需要将CPU的高速缓存和系统存储器中的数据备份至另一磁盘阵列中的对应单元,即高速缓存和系统存储器。在图2的示例中,通过使用FPGA和易失性存储器来实现相同的功能。当磁盘阵列控制器将数据写入易失性存储器2161或2162时,适配器216中的FPGA 2164复制数据并且将副本通过控制器210和220之间的串行连接(例如,SerDes)写入阵列控制器220中非易失性存储器2261或2262。所有的写入操作通过两个节点之间的高速串行总线传输。因此,副本的写入操作由FPGA(例如图3中的FPGA中的镜像模块330)执行,而无需CPU执行,从而缓解了CPU的负担。如上所述,高速缓存中的数据在两个磁盘阵列控制器之间镜像备份。镜像模块可以例如是存储器直接访问单元,所述存储器直接访问单元根据所述数据存储设备中的处理器的指令将所述系统存储器中的数据直接写入所述易失性存储器并且将所述数据经由所述互连模块(例如上述的SerDes)直接复制至另一易失性存储器。镜像模块还可以使得写入易失性存储器中的数据经由PCI-Express(例如PCI-Express 214和224)备份至另一阵列控制器中的易失性存储器。本领域技术人员可以理解,镜像模块可以有多种实现方式,存储器直接访问单元仅是示例而非旨在限制。通过使用例如存储器直接访问单元之类的镜像单元,在CPU和非易失性存储器之间并无存储器拷贝,高速缓存数据从系统存储器直接存储器访问(DMA)至非易失性存储器,并且经由高速串行通道直接镜像拷贝至另一阵列控制器中的非易失性存储器。
本领域技术人员可以理解,图2中的两个磁盘阵列控制器仅是示例,可以存在更多个磁盘阵列控制器,更多个磁盘阵列控制器之间可以通过各种拓扑结构连接。
参见图3,图3示出了根据图2中所示的现场可编程门阵列(FPGA)装置及其周围装置的示例示意图。FPGA 300是图2中的FPGA 2164或2264的一个具体示例,其包括互连逻辑或互连模块360、存储器控制器350、计算模块320、镜像模块330、PCI-E接口340和电源管理模块310。本领域技术人员可以理解,上述模块仅是示例,FPGA 300还可以具有其它功能模块,例如,在线升级模块(未示出),在线升级模块例如通过BootRom或是Flash 940技术实施。
互连逻辑360可以用于实现两个阵列控制器之间的诸如SerDes之类的用于传输、访问等的互连连接920。本领域技术人员可以理解,除了SerDes之外,互连连接还可以有其它形式,诸如Ethernet和Infiniband Link。
计算模块320可以例如用于实现如上所述的奇偶校验运算,从而减轻CPU的操作载荷。本领域技术人员可以理解,奇偶校验运算仅是针对RAID 3-RAID 6的示例,还可以有其它计算操作,诸如海明码运算,数据的加密和解密等。
镜像模块330可以例如用于实现如上所述的在两个阵列存储器之间的存储器和高速缓存的数据的相互备份。
PCI-E接口模块340可以连接件至FPGA外的PCI-E连接器910,以用于例如从CPU接收数据或指令。
存储器控制器350被配置为:发起对所述数据存储设备中的系统存储器(例如图2中的系统存储器213或223)的读取请求;接收用于计算奇偶校验的数据和参数;分配所述计算模块中的计算资源;以及将计算结果发送给所述数据存储设备中的处理器。更具体而言,存储器控制器350被配置为将所述计算模块中的空闲计算资源中的一些计算资源分配用于计算奇偶校验。
电源管理模块310耦合至存储设备中的备用电源930,诸如电容器或是电池。如之前针对图1所述,在现有的存储设备中,当存储设备断电时,磁盘阵列控制器110或120立即断电或仅由主板电容器支持例如2至5秒钟,这个时间太短,不足以将脏数据存入后端存储,例如硬盘。这容易导致存储器和CPU中高速缓存中的数据的丢失。
根据本公开的一个实施例,在图3的示例中,电源管理模块310可以检测AC电源,并且在检测到断电时,立即启用备用电源930。根据本公开的实施例,电源管理模块310被配置为仅对易失性存储器供电。由于备用电源930仅对易失性存储器供电,因此可以将易失性存储器中的数据维持较长时间,例如24至72个小时。只要在24至72个小时内,数据存储设备恢复供电,则可以不丢失易失性存储器中的数据。例如,当恢复供电时,磁盘阵列控制器将重启,并且检查易失性存储器中是否还有脏数据未被存入硬盘。如果存在,则将脏数据存入磁盘。优选地,可以在断电时,将CPU和系统存储器中的数据写入易失性存储器,并且保存较长的一段时间,例如24个小时。当在断电后24小时内恢复供电时,可以将相应数据重载入CPU和系统存储器。
参见图4,图4是用于实现图2和图3中的FPGA的一种实现方式。如图所示,FPGA例如包括功能块的二维阵列,这些功能块包括逻辑阵列块(LAB)和其它功能块,比如随机存取存储器(RAM)块和数字信号处理(DSP)块。FPGA也包括按照水平和竖直通道的形式的可编程互连,每个通道包括一个或者多个路由接线。此外,输入/输出元件(IOE)可以位于芯片的外围周围。可以通过IOE对诸如LAB之类的块编程以实现不同的功能,诸如图3中所示的互连逻辑或互连模块360、存储器控制器350、计算模块320、镜像模块330、PCI-E接口340和电源管理模块310。
概括而言,本公开涉及一种用于数据存储设备的装置,包括:电源管理模块,被配置为检测电源的断电以及在所述电源断电时切换至所述数据存储设备中的备用电池单元;其中,所述装置被配置为使得所述备用电池单元仅对所述数据存储设备中的易失性存储器供电。
可选地,装置还包括计算模块,所述计算模块被配置为执行奇偶校验。
可选地,所述计算模块还被配置为执行数据的加密和解密。
可选地,装置还包括镜像模块,所述镜像单元被配置为将所述易失性存储器接收的来自所述数据存储设备中的系统存储器的数据复制至另一易失性存储器。
可选地,装置还包括互连模块,其中所述镜像单元被配置为将所述易失性存储器中的数据通过所述互连模块直接复制至所述另一易失性存储器。
可选地,所述镜像模块是存储器直接访问单元,所述存储器直接访问单元根据所述数据存储设备中的处理器的指令将所述系统存储器中的数据直接写入所述易失性存储器并且将所述数据经由所述互连模块直接复制至另一易失性存储器。
可选地,装置还包括PCI-Express接口模块,所述PCI-Express接口模块被配置为经由PCI-Express链路交换数据和指令。
可选地,装置还包括更新模块,所述更新模块被配置为根据所接收的数据对所述装置进行软件更新。
可选地,装置还包括存储器控制器,所述存储器控制器被配置成:发起对所述数据存储设备中的系统存储器的读取请求;接收用于计算奇偶校验的数据和参数;分配所述计算模块中的计算资源;以及将计算结果发送给所述数据存储设备中的处理器。
可选地,所述控制器将所述计算模块中的空闲计算资源中的一些计算资源分配用于计算奇偶校验。
可选地,所述装置是现场可编程门阵列装置,所述数据存储设备是独立磁盘冗余阵列设备,以及所述易失性存储器是动态随机存取存储器。
本公开还涉及一种适配器,包括根据上述项中任一项所述的装置和与所述装置耦合的所述易失性存储器。
本公开还涉及一种阵列控制器,包括根据上述的适配器、根联合体PCI-Express桥、处理器以及系统存储器,其中所述适配器、所述系统存储器和所述处理器与所述根联合体PCI-Express桥耦合。
本公开还涉及一种数据存储设备,包括至少两个根据上述的阵列控制器,所述阵列控制器相互连接。
本公开还涉及一种在独立磁盘冗余阵列设备中使用的可编程装置,包括:计算模块,所述计算模块被配置为执行奇偶校验。
可选地,所述计算模块还被配置为执行数据的加密和解密。
可选地,装置还包括电源管理模块,被配置为检测电源的断电以及在所述电源断电时切换至所述数据存储设备中的备用电池单元;其中,所述装置被配置为使得所述备用电池单元仅对所述数据存储设备中的易失性存储器供电。
可选地,装置还包括镜像模块,所述镜像单元被配置为将所述易失性存储器接收的来自所述数据存储设备中的系统存储器的数据复制至另一易失性存储器。
可选地,装置还包括互连模块,其中所述镜像单元被配置为将所述易失性存储器中的数据通过所述互连模块直接复制至所述另一易失性存储器。
可选地,所述镜像模块是存储器直接访问单元,所述存储器直接访问单元根据所述数据存储设备中的处理器的指令将所述系统存储器中的数据直接写入所述易失性存储器并且将所述数据经由所述互连模块直接复制至另一易失性存储器。
可选地,装置还包括PCI-Express接口模块,所述PCI-Express接口模块被配置为经由PCI-Express链路交换数据和指令。
可选地,装置还包括更新模块,在线更新模块被配置为根据所接收的数据对所述装置进行软件更新。
可选地,装置还包括控制器,所述控制器被配置成:发起对所述数据存储设备中的系统存储器的读取请求;接收用于计算奇偶校验的数据和参数;分配所述计算模块中的计算资源;以及将计算结果发送给所述数据存储设备中的处理器。
可选地,所述控制器将所述计算模块中的空闲计算资源中的一些计算资源分配用于计算奇偶校验。
可选地,所述可编程装置是现场可编程门阵列装置,所述数据存储设备是独立磁盘冗余阵列设备,以及所述易失性存储器是动态随机存取存储器。
本公开还涉及一种适配器,包括根据上述项中任一项所述的可编程装置和与所述可编程装置耦合的所述易失性存储器。
本公开还涉及一种阵列控制器,包括根据上述的适配器、根联合体PCI-Express桥、处理器以及系统存储器,其中所述适配器、所述系统存储器和所述处理器与所述根联合体PCI-Express桥耦合。
本公开还涉及一种数据存储设备,包括至少两个根据上述的阵列控制器,所述阵列控制器相互连接。
本公开还涉及一种用于在断电时保存数据存储设备中位于易失性存储器中的脏数据的方法,包括:检测电源的断电;响应于检测到的断电,使用备用电池单元仅对所述数据存储设备中的易失性存储器供电。
可选地,所述数据存储设备是独立磁盘冗余阵列设备,以及所述易失性存储器是动态随机存取存储器。
本公开还涉及一种用于计算数据存储设备中的奇偶校验的方法,包括:使用可编程装置中的计算模块以根据从数据存储设备中的系统存储器接收的数据和参数来计算奇偶校验;以及将所计算的结果存储在所述数据存储设备中。
可选地,所述数据存储设备是独立磁盘冗余阵列设备,以及所述可编程装置是现场可编程门阵列。
应当注意,尽管在上文详细描述中提及了系统的若干单元或子单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (28)

1.一种用于数据存储设备的可编程装置,包括:
电源管理模块,包括现场可编程栅极阵列FPGA的一部分,所述现场可编程栅极阵列FPGA的一部分被配置为检测电源的断电以及在所述电源断电时切换至所述数据存储设备中的备用电池单元;
其中,所述可编程装置被配置为使得所述备用电池单元仅对所述数据存储设备中的易失性存储器供电;
其中所述可编程装置被实现为当CPU在所述电源断电之前由所述电源供电时,便于由与所述CPU分离的数据存储装置来处理数据;
其中所述CPU响应于所述电源的断电变得未被供电;以及
其中,响应于所述电源的断电并且切换至所述备用电池单元,所述数据存储设备中的所述易失性存储器消耗来自所述备用电池单元的电力,来维持之前被写入所述易失性存储器的数据。
2.根据权利要求1所述的装置,还包括计算模块,所述计算模块被配置为执行奇偶校验。
3.根据权利要求2所述的装置,所述计算模块还被配置为执行数据的加密和解密。
4.根据权利要求1所述的装置,还包括镜像模块,所述镜像模块被配置为将所述易失性存储器接收的来自所述数据存储设备中的系统存储器的数据复制至另一易失性存储器。
5.根据权利要求4所述的装置,还包括互连模块,其中所述镜像模块被配置为将所述易失性存储器中的数据通过所述装置的互连模块直接复制至所述另一易失性存储器。
6.根据权利要求5所述的装置,其中所述镜像模块是存储器直接访问单元,所述存储器直接访问单元根据所述数据存储设备中的处理器的指令将所述系统存储器中的数据直接写入所述易失性存储器并且将所述数据经由所述互连模块直接复制至另一易失性存储器。
7.根据权利要求1所述的装置,还包括PCI-Express接口模块,所述PCI-Express接口模块被配置为经由PCI-Express链路交换数据和指令。
8.根据权利要求1所述的装置,还包括更新模块,所述更新模块被配置为根据所接收的数据对所述装置进行更新。
9.根据权利要求2所述的装置,还包括存储器控制器,所述存储器控制器被配置成:
发起对所述数据存储设备中的系统存储器的读取请求;
接收用于计算奇偶校验的数据和参数;
分配所述计算模块中的计算资源;以及
将计算结果发送给所述数据存储设备中的处理器。
10.根据权利要求9所述的装置,其中所述控制器将所述计算模块中的空闲计算资源中的一些计算资源分配用于计算奇偶校验。
11.根据权利要求1所述的装置,其中所述数据存储设备的保持提交数据的非易失性存储器响应于所述电源的断电而变为未被供电;以及
其中所述可编程装置被配置为使得所述备用电池单元在所述数据存储设备的所述非易失性存储器保持未被供电时持续仅提供电力至所述易失性存储器,以保持所述易失性存储器中的、在所述电源断电之前为被提交至所述非易失性存储器的脏数据。
12.一种适配器,包括根据权利要求1-11中任一项所述的装置和与所述装置耦合的所述易失性存储器。
13.一种阵列控制器,包括根据权利要求12所述的适配器、根联合体PCI-Express桥、处理器以及系统存储器,其中所述适配器、所述系统存储器和所述处理器与所述根联合体PCI-Express桥耦合。
14.一种数据存储设备,包括至少两个根据权利要求13所述的阵列控制器,所述阵列控制器相互连接。
15.一种在独立磁盘冗余阵列设备中使用的可编程装置,包括:
计算模块,包括现场可编程栅极阵列FPGA的一部分,所述现场可编程栅极阵列FPGA的一部分被配置为执行奇偶校验;以及
电源管理模块,被配置为:
检测电源的断电;以及
响应于检测到所述电源的所述断电,切换至数据存储设备中的备用电池单元;
所述可编程装置被配置为使得所述备用电池单元仅通过电力至所述数据存储设备中的易失性存储器;其中所述可编程装置被实现为便于由与CPU分离的数据存储装置来处理数据
当所述CPU在所述电源的断电之前由所述电源供电;
其中所述CPU响应于所述电源的断电变得未被供电;以及
其中,响应于所述电源的断电并且切换至所述备用电池单元,所述数据存储设备中的所述易失性存储器消耗来自所述备用电池单元的电力,来维持之前被写入所述易失性存储器的数据。
16.根据权利要求15所述的可编程装置,所述计算模块还被配置为执行数据的加密和解密。
17.根据权利要求15所述的可编程装置,还包括镜像模块,所述镜像模块被配置为将所述易失性存储器接收的来自所述数据存储设备中的系统存储器的数据复制至另一易失性存储器。
18.根据权利要求17所述的可编程装置,还包括互连模块,其中所述镜像模块被配置为将所述易失性存储器中的数据通过所述互连模块直接复制至所述另一易失性存储器。
19.根据权利要求18所述的可编程装置,其中所述镜像模块是存储器直接访问单元,所述存储器直接访问单元根据所述数据存储设备中的处理器的指令将所述系统存储器中的数据直接写入所述易失性存储器并且将所述数据经由所述互连模块直接复制至另一易失性存储器。
20.根据权利要求15所述的可编程装置,还包括PCI-Express接口模块,所述PCI-Express接口模块被配置为经由PCI-Express链路交换数据和指令。
21.根据权利要求15所述的可编程装置,还包括更新模块,在线更新模块被配置为根据所接收的数据对所述装置进行更新。
22.根据权利要求15所述的可编程装置,还包括控制器,所述控制器被配置成:
发起对所述数据存储设备中的系统存储器的读取请求;
接收用于计算奇偶校验的数据和参数;
分配所述计算模块中的计算资源;以及
将计算结果发送给所述数据存储设备中的处理器。
23.根据权利要求22所述的可编程装置,其中所述控制器将所述计算模块中的空闲计算资源中的一些计算资源分配用于计算奇偶校验。
24.一种适配器,包括根据权利要求15-23中任一项所述的可编程装置和与所述可编程装置耦合的所述易失性存储器。
25.一种阵列控制器,包括根据权利要求24所述的适配器、根联合体PCI-Express桥、处理器以及系统存储器,其中所述适配器、所述系统存储器和所述处理器与所述根联合体PCI-Express桥耦合。
26.一种数据存储设备,包括至少两个根据权利要求25所述的阵列控制器,所述阵列控制器相互连接。
27.一种用于在断电时保存数据存储设备位于易失性存储器中的脏数据的方法,包括:
由现场可编程门阵列FPGA的一部分来检测电源的断电;
响应于检测到的断电,使用备用电池单元仅对所述数据存储设备中的易失性存储器供电;
其中所述可编程装置被实现为当CPU在所述电源断电之前由所述电源供电时,便于由与所述CPU分离的数据存储装置来处理数据;
其中所述CPU响应于所述电源的断电变得未被供电;以及
其中,响应于所述电源的断电并且切换至所述备用电池单元,所述数据存储设备中的所述易失性存储器消耗来自所述备用电池单元的电力,来维持之前被写入所述易失性存储器的数据。
28.一种用于计算数据存储设备中的奇偶校验的方法,包括:
使用可编程装置中的计算模块以根据从数据存储设备中的系统存储器接收的数据和参数来计算奇偶校验,所述计算模块包括现场可编程门阵列FPGA的一部分;以及
将所计算的结果存储在所述数据存储设备中;
其中所述可编程装置被实现为当CPU在电源断电之前由所述电源供电时,便于由与所述CPU分离的数据存储装置来处理数据;
其中所述CPU响应于所述电源的断电变得未被供电;以及
其中,响应于所述电源的断电并且切换至备用电池单元,所述数据存储设备中的易失性存储器消耗来自所述备用电池单元的电力,来维持之前被写入所述易失性存储器的数据。
CN201510628051.3A 2015-09-28 2015-09-28 用于数据存储设备的装置和方法 Active CN106557143B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510628051.3A CN106557143B (zh) 2015-09-28 2015-09-28 用于数据存储设备的装置和方法
US15/277,131 US10402104B2 (en) 2015-09-28 2016-09-27 Devices and methods for a data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510628051.3A CN106557143B (zh) 2015-09-28 2015-09-28 用于数据存储设备的装置和方法

Publications (2)

Publication Number Publication Date
CN106557143A CN106557143A (zh) 2017-04-05
CN106557143B true CN106557143B (zh) 2020-02-28

Family

ID=58409324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510628051.3A Active CN106557143B (zh) 2015-09-28 2015-09-28 用于数据存储设备的装置和方法

Country Status (2)

Country Link
US (1) US10402104B2 (zh)
CN (1) CN106557143B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870731B (zh) 2016-09-23 2021-07-27 伊姆西Ip控股有限责任公司 独立盘冗余阵列系统的管理方法和电子设备
CN107291207B (zh) * 2017-06-30 2020-03-06 郑州云海信息技术有限公司 一种电源切换方法及系统
CN109725696A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 存储处理器和存储系统
CN110413197B (zh) 2018-04-28 2023-06-27 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
CN109065085A (zh) * 2018-08-23 2018-12-21 郑州云海信息技术有限公司 一种存储设备的供电电路及方法
CN111198836B (zh) * 2018-11-20 2024-05-07 阿里巴巴集团控股有限公司 数据处理装置和计算设备
CN110780811B (zh) * 2019-09-19 2021-10-15 华为技术有限公司 数据保护方法、装置及存储介质
US11054998B1 (en) 2019-12-12 2021-07-06 Facebook, Inc. High bandwidth memory system with distributed request broadcasting masters
CN113138653B (zh) * 2021-04-14 2021-10-15 福州富昌维控电子科技有限公司 掉电数据保护方法及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991791A (zh) * 2005-12-27 2007-07-04 三星电子株式会社 使用非易失性存储器作为高速缓存的存储设备及运行方法
CN101446926A (zh) * 2008-11-10 2009-06-03 成都市华为赛门铁克科技有限公司 一种高速缓冲存储器掉电数据保存方法、设备和系统
JP2012517628A (ja) * 2009-02-09 2012-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 電力損失事象時にnvsデータを迅速に保護する方法、システム、及びコンピュータ・プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60238920A (ja) * 1984-05-11 1985-11-27 Fanuc Ltd メモリのデ−タ保持回路
US6527721B1 (en) * 2000-09-13 2003-03-04 Koninklijke Philips Electronics, N.V. Portable ultrasound system with battery backup for efficient shutdown and restart
WO2005076137A1 (en) * 2004-02-05 2005-08-18 Research In Motion Limited Memory controller interface
US8627117B2 (en) * 2009-06-26 2014-01-07 Seagate Technology Llc Device with power control feature involving backup power reservoir circuit
WO2011082362A1 (en) * 2009-12-30 2011-07-07 Texas Memory Systems, Inc. Flash-based memory system with robust backup and restart features and removable modules
US8688926B2 (en) * 2010-10-10 2014-04-01 Liqid Inc. Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
JP5742362B2 (ja) * 2011-03-28 2015-07-01 富士通株式会社 退避処理装置
US9823968B1 (en) * 2015-08-21 2017-11-21 Datadirect Networks, Inc. Data storage system employing a variable redundancy distributed RAID controller with embedded RAID logic and method for data migration between high-performance computing architectures and data storage devices using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991791A (zh) * 2005-12-27 2007-07-04 三星电子株式会社 使用非易失性存储器作为高速缓存的存储设备及运行方法
CN101446926A (zh) * 2008-11-10 2009-06-03 成都市华为赛门铁克科技有限公司 一种高速缓冲存储器掉电数据保存方法、设备和系统
JP2012517628A (ja) * 2009-02-09 2012-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 電力損失事象時にnvsデータを迅速に保護する方法、システム、及びコンピュータ・プログラム

Also Published As

Publication number Publication date
US10402104B2 (en) 2019-09-03
US20170090793A1 (en) 2017-03-30
CN106557143A (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
CN106557143B (zh) 用于数据存储设备的装置和方法
US10191676B2 (en) Scalable storage protection
US9811285B1 (en) Dynamic restriping in nonvolatile memory systems
US10613934B2 (en) Managing RAID parity stripe contention
US8560772B1 (en) System and method for data migration between high-performance computing architectures and data storage devices
US9734027B2 (en) Synchronous mirroring in non-volatile memory systems
US7904647B2 (en) System for optimizing the performance and reliability of a storage controller cache offload circuit
US9104790B2 (en) Arranging data handling in a computer-implemented system in accordance with reliability ratings based on reverse predictive failure analysis in response to changes
US8117376B2 (en) Storage system and control method thereof
US8832528B2 (en) Apparatus, system, and method to increase data integrity in a redundant storage system
US20140215147A1 (en) Raid storage rebuild processing
US20090113235A1 (en) Raid with redundant parity
US9223658B2 (en) Managing errors in a raid
CN102520890B (zh) 基于gpu的rs-draid系统及存储设备数据控制方法
US10338844B2 (en) Storage control apparatus, control method, and non-transitory computer-readable storage medium
US9063854B1 (en) Systems and methods for cluster raid data consistency
US8108580B1 (en) Low latency synchronous replication using an N-way router
WO2015073503A1 (en) Apparatus and method for routing information in a non-volatile memory-based storage device
JP2005209227A (ja) ディスクアレイ装置
CN104484252A (zh) 固态硬盘的备电检测方法、装置和系统
CN117616376A (zh) 数据存储设备阵列中被中断的设备的选择性重建
WO2004027626A1 (en) Redundant array of solid-state storage device modules

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200117

Address after: Massachusetts, USA

Applicant after: Yimuxi IP holding limited liability company

Address before: Ma Sazhusaizhou

Applicant before: Imsey Company

GR01 Patent grant
GR01 Patent grant