CN113687977A - 基于raid控制器以实现计算性能提升的数据处理装置 - Google Patents
基于raid控制器以实现计算性能提升的数据处理装置 Download PDFInfo
- Publication number
- CN113687977A CN113687977A CN202111043329.2A CN202111043329A CN113687977A CN 113687977 A CN113687977 A CN 113687977A CN 202111043329 A CN202111043329 A CN 202111043329A CN 113687977 A CN113687977 A CN 113687977A
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- raid
- host
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 100
- 238000004364 calculation method Methods 0.000 title claims abstract description 80
- 230000006872 improvement Effects 0.000 title claims description 7
- 230000005540 biological transmission Effects 0.000 claims abstract description 104
- 230000006870 function Effects 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000013500 data storage Methods 0.000 claims abstract description 10
- 238000004458 analytical method Methods 0.000 claims description 25
- 239000007787 solid Substances 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 5
- 241001522296 Erithacus rubecula Species 0.000 claims description 2
- 230000006798 recombination Effects 0.000 abstract description 2
- 238000005215 recombination Methods 0.000 abstract description 2
- 238000003672 processing method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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/0658—Controller construction arrangements
-
- 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据存储领域,具体涉及一种基于RAID控制器以实现计算性能提升的数据处理装置。所述数据处理装置包括:主机、RAID控制器、存储设备;其中,RAID控制器根据主机发送的数据存储访问指令,实现对存储设备的数据读取和写入操作,在访问操作过程中完成冗余校验数据计算和数据并行传输处理功能;所述方法能够实现独立的RAID控制功能,实现存储阵列的多介质并行访问和数据冗余保护功能。其主机数据传输采用专用接口单元进行处理和自动数据重组,提升数据传输能力。其各功能单元相互独立,适于硬件化实现。其各处理单元能够通过处理器调度,实现流水线处理,提升系统处理效率。
Description
技术领域
本发明属于数据存储领域,具体涉及一种基于RAID控制器以实现计算性能提升的数据处理装置。
背景技术
独立冗余存储阵列(Redundant Array of Independent Disks,RAID)能够将多个物理硬盘组合成一个逻辑硬盘,通过并行访问多个硬盘提供比单个硬盘更高的存储性能。另一方面,存储阵列能够提供数据冗余保护,通过RAID结构对数据进行编码,产生冗余校验信息,和原始数据一起保存在存储阵列中,以便在故障发生后进行数据恢复。存储阵列中使用不同的RAID级别,主要包括RAID0、RAID1、RAID5和RAID6等。
RAID控制器是采用专用设计实现存储阵列功能的设备,可以解放阵列存储控制操作对服务器系统CPU和操作系统的资源占用。随着主机计算存储需求的不断提高以及固态硬盘(solid state disk,SSD)读写速度的持续提升,RAID控制器的计算能力直接影响整个存储系统的处理能力和处理效率,容易成为影响存储系统处理效率的瓶颈。因此,如何设计实现更为有效的存储阵列数据处理方法成为了目前需要解决的技术问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种用于存储阵列控制器的数据处理方法与装置。
(二)技术方案
为解决上述技术问题,本发明提供一种基于RAID控制器以实现计算性能提升的数据处理装置,所述数据处理装置包括:主机、RAID控制器、存储设备;其中,主机为具有数据处理或计算能力的设备,其数据存储功能通过RAID控制器连接存储设备;RAID控制器包含处理器、主机传输接口、存储设备接口、存储器和RAID计算单元;存储器包括至少一个存储介质;
所述RAID控制器用于接收主机发起的数据访问指令并进行数据计算与处理,访问指令包括读取指令和写入指令;
如果访问指令是写入指令,所述数据处理装置的工作过程包括如下步骤:
步骤101:处理器调用主机传输接口将写入指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤102:处理器调用主机传输接口,根据解析后的指令内容将待写入的主机数据传输到已分配的存储器空间中;
步骤103:处理器完成RAID阵列数据空间的计算,确定RAID模式并配置RAID计算单元;
步骤104:RAID计算单元根据当前RAID模式配置,读取存储器中的主机数据;
步骤105:RAID计算单元对主机数据进行冗余校验数据的计算;
步骤106:RAID计算单元将冗余校验数据写入存储器中,在存储器中组合成全部存储阵列数据;
步骤107:处理器配置存储设备接口对全部存储阵列数据进行拆分,分别写入存储设备中的各存储介质中进行存储;
步骤108:处理器完成当前写入指令的处理;
如果访问指令是读出指令,所述数据处理装置的工作过程包括如下步骤:
步骤201:处理器调用主机传输接口将读取指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤202:处理器根据解析后的指令内容,得到对应的存储设备各存储介质中所需读取数据的位置;
步骤203:存储设备接口将存储介质中的数据分别读出到存储器空间中;
步骤204:处理器根据RAID阵列状态,判断下一步处理步骤,如果RAID阵列处于正常状态,则进入步骤208;当RAID阵列处于降级状态时,则进入步骤205;
步骤205:RAID计算单元读取存储器中已有的数据;
步骤206:RAID计算单元按照RAID算法进行计算,得到缺失数据;
步骤207:RAID计算单元将缺失数据写回存储器中,在存储器中组合成全部待读出数据;
步骤208:处理器按照读取指令要求,调用主机传输接口将所需数据传输到主机内存的对应位置;
步骤209:处理器完成当前指令处理。
其中,所述步骤204中,RAID阵列处于降级状态的情况包括:RAID 5模式下1个存储介质无法正常读取的情况。
其中,所述RAID控制器中各功能单元的功能相互独立,各单元在处理流程中采用流水线方式处理;对于主机发送多个访问指令的情况下,所述多个访问指令按时序分为指令1、指令2、指令3……;
其中,主机传输接口接收到指令1的指令,上报处理器完成指令解析,并根据指令内容将写入数据传输到控制器的存储空间中,而后启动RAID计算单元进行RAID计算,即所述步骤101、步骤102、步骤103;在所述步骤104、步骤105、步骤106的计算过程中,主机传输接口即可以接收指令2的指令,并进行所述步骤101、步骤102、步骤103的解析、传输处理操作;
在指令1的RAID冗余校验数据计算完成后,处理器启动存储设备的写入操作,即所述步骤107及步骤108;此时指令2对应的写入数据已经传输到存储空间中,从而启动指令2的RAID计算,即所述步骤104、步骤105、步骤106,而同时,主机传输接口也可以接受指令3的指令,并进行解析、传输处理操作,即所述步骤101、步骤102、步骤103;
由此,RAID控制器能够实现多条主机指令的同时处理,以提升控制器的整体处理效率。
其中,在实际应用中,数据在主机内存中的位置不一定是连续的,而是可能分散在内存不同位置;其中,步骤101所述的RAID控制器对应的指令按照链表的方式保存指令信息;
主机在内存中按照程序功能执行的顺序,会生成多个存储访问的指令,以指令1为例;指令1地址中的内容为指令1描述符的首地址,指令1描述符包括指令1的参数信息、数据块列表地址以及数据块总数量m的信息;指令1参数信息包含指令类型、逻辑硬盘中的逻辑地址LBA以及数据长度信息;数据块列表中分别包含m个数据块的地址和长度。
其中,RAID控制器接收到指令1后,在步骤102中,处理器调用主机传输接口,首先按照指令格式将指令列表的全部指令内容传输到RAID控制器的存储器的存储空间中,而后根据指令内容完成主机内存传输与RAID控制器的存储器之间的数据传输;
主机传输接口使用直接内存存取方式来读取数据;当RAID控制器发送写指令时,主机传输接口根据指令类型判断将数据应从主机内存传输到RAID控制器的存储器,根据数据总长度在存储器中分配对应的存储空间;首先获取到数据块1的地址和长度,将对应位置的数据传输到存储器;传输完成后,自动读取数据块2的地址和长度,将对应位置的数据继续传输到存储器;当遍历所有的数据块m后,完成全部的数据传输操作;此方法可以减少RAID控制器的计算负担,提升传输效率;读指令与上述操作方向相反,此处不再赘述。
其中,按照RAID阵列格式规定,连续的数据块被分割成多个条带进行存储,每个条带中按照RAID数据介质的数量分成多个数据单元;步骤104中RAID计算单元按照既定RAID格式读取数据单元内容,步骤105计算RAID冗余数据,然后步骤106将冗余数据1写回条带中的设定位置;条带2/3/4依次操作,最终完成全部冗余数据的生成操作;以RAID5格式为例,如果包含3个数据盘空间和1个冗余校验盘空间,则计算公式如下:
冗余数据1=数据单元1XOR数据单元2XOR数据单元3。
其中,当写入数据和冗余数据准备好后,根据RAID格式要求,冗余数据需要分散到不同的存储介质上,这样可以避免单个存储介质的访问量显著增大;继续以RAID5格式为例,步骤107中按照轮转循环的方式,将冗余数据1写入存储介质4中,冗余数据2写入存储介质3中,冗余数据3写入存储介质2中,冗余数据4写入存储介质1中,其他数据单元按照正常顺序放在各存储介质中;确定写入对应关系后,处理器调用存储设备接口,执行存储介质的数据写入操作,完成RAID控制器的写入指令。
其中,所述RAID控制器包括的各个单元具体由硬件实现;
RAID控制器的各单元的实现方式包括:通过专用集成电路实现,或通过可编程逻辑器件实现;
其中,所述PLD的实现方式包括复杂程序逻辑器件、现场可编程门阵列、通用阵列逻辑或其任意组合。
其中,所述存储器可能是高速缓存或者片外随机存储器;
所述存储介质是指存储数据的载体,其包括固态硬盘或机械硬盘;硬盘接口类型包括串行连接的小型计算机系统接口硬盘、串行高级技术附件硬盘。
其中,所述主机与RAID控制器之间采用高速传输接口协议实现通信,包括PCI、PCIe、NVMe、SATA、SAS、以太网或者无线传输接口。
(三)有益效果
本发明公开了一种用于存储阵列控制器的数据处理方法和装置,能够实现数据存储和RAID阵列管理功能,有效分担存储系统的主机计算压力,提升存储系统的整体计算性能。
第一方面,本发明提供一种数据处理方法,应用于包含存储阵列处理功能的RAID控制器。RAID控制器根据主机发送的数据存储访问指令,实现对存储设备的数据读取和写入操作,在访问操作过程中完成冗余校验数据计算和数据并行传输处理功能。
如果是数据写入指令,RAID控制器根据指令内容,接收并暂存写入数据,然后计算出写入数据的冗余校验数据信息,根据RAID阵列配置将写入数据和校验数据分别写入到对应的存储介质中的逻辑地址。
如果是数据读出指令,RAID控制器根据指令内容,计算需要读取的数据在各存储介质中的逻辑地址,获取到数据后重新组合成完整数据,发送给主机完成数据读取。
通过实施本发明,RAID控制器能够生成冗余校验数据,在存储设备或数据异常情况下实现对数据完整性的保护。另外通过将主机的数据访问指令按照确定规则拆分成多个数据访问子指令,将不同数据访问子指令同时发送给多个存储介质进行处理。
RAID控制器处理流程的各阶段可以实现流水化处理,以写入指令为例,当RAID控制器计算第一条写入指令的冗余校验数据信息时,可以同时启动第二条写入指令的数据接收操作,并将数据传输到独立的存储器空间中;而当第一条写入指令的数据启动存储介质的写入操作时,也就可以启动第二条写入指令的冗余校验数据信息计算操作。采用这种方法可以有效提升整体的RAID处理性能,宏观上达到多操作并行处理的效果。
RAID控制器可以按照链表形式调用DMA自动处理数据,并按照RAID格式要求无需处理器干预,此方法可以减少RAID控制器的计算负担,避免软硬件频繁调度导致性能消耗,提升传输效率。
第二方面,本发明提供了一种数据处理装置,所述装置包括用于执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法的功能模块或单元。
第三方面,本发明提供了一种用于RAID控制流程的计算机程序,当其在RAID控制器上运行时,使得控制器执行上述各方面所述的方法。
与现有技术相比较,本发明的有益效果在于:
(1)能够实现独立的RAID控制功能,实现存储阵列的多介质并行访问和数据冗余保护功能。
(2)主机数据传输采用专用接口单元进行处理和自动数据重组,提升数据传输能力。
(3)各功能单元相互独立,适于硬件化实现。
(4)各处理单元能够通过处理器调度,实现流水线处理,提升系统处理效率。
附图说明
图1为本发明RAID存储系统示意图。
图2为本发明RAID指令处理流程示意图。
图3为本发明指令内容示意图。
图4为本发明存储器中的RAID计算示意图。
图5为本发明RAID存储示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决上述技术问题,本发明提供一种基于RAID控制器以实现计算性能提升的数据处理装置,所述数据处理装置包括:主机、RAID控制器、存储设备;其中,主机为具有数据处理或计算能力的设备,其数据存储功能通过RAID控制器连接存储设备;RAID控制器包含处理器、主机传输接口、存储设备接口、存储器和RAID计算单元,如图1所示;存储器包括至少一个存储介质;
所述RAID控制器用于接收主机发起的数据访问指令并进行数据计算与处理,访问指令包括读取指令和写入指令;
如果访问指令是写入指令,所述数据处理装置的工作过程包括如下步骤:
步骤101:处理器调用主机传输接口将写入指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤102:处理器调用主机传输接口,根据解析后的指令内容将待写入的主机数据传输到已分配的存储器空间中;
步骤103:处理器完成RAID阵列数据空间的计算,确定RAID模式并配置RAID计算单元;
步骤104:RAID计算单元根据当前RAID模式配置,读取存储器中的主机数据;
步骤105:RAID计算单元对主机数据进行冗余校验数据的计算;
步骤106:RAID计算单元将冗余校验数据写入存储器中,在存储器中组合成全部存储阵列数据;
步骤107:处理器配置存储设备接口对全部存储阵列数据进行拆分,分别写入存储设备中的各存储介质中进行存储;
步骤108:处理器完成当前写入指令的处理;
如果访问指令是读出指令,所述数据处理装置的工作过程包括如下步骤:
步骤201:处理器调用主机传输接口将读取指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤202:处理器根据解析后的指令内容,得到对应的存储设备各存储介质中所需读取数据的位置;
步骤203:存储设备接口将存储介质中的数据分别读出到存储器空间中;
步骤204:处理器根据RAID阵列状态,判断下一步处理步骤,如果RAID阵列处于正常状态,则进入步骤208;当RAID阵列处于降级状态时,则进入步骤205;
步骤205:RAID计算单元读取存储器中已有的数据;
步骤206:RAID计算单元按照RAID算法进行计算,得到缺失数据;
步骤207:RAID计算单元将缺失数据写回存储器中,在存储器中组合成全部待读出数据;
步骤208:处理器按照读取指令要求,调用主机传输接口将所需数据传输到主机内存的对应位置;
步骤209:处理器完成当前指令处理。
其中,所述步骤204中,RAID阵列处于降级状态的情况包括:RAID 5模式下1个存储介质无法正常读取的情况。
其中,所述RAID控制器中各功能单元的功能相互独立,各单元在处理流程中采用流水线方式处理,如图2所示;对于主机发送多个访问指令的情况下,所述多个访问指令按时序分为指令1、指令2、指令3……;
其中,主机传输接口接收到指令1的指令,上报处理器完成指令解析,并根据指令内容将写入数据传输到控制器的存储空间中,而后启动RAID计算单元进行RAID计算,即所述步骤101、步骤102、步骤103;在所述步骤104、步骤105、步骤106的计算过程中,主机传输接口即可以接收指令2的指令,并进行所述步骤101、步骤102、步骤103的解析、传输处理操作;
在指令1的RAID冗余校验数据计算完成后,处理器启动存储设备的写入操作,即所述步骤107及步骤108;此时指令2对应的写入数据已经传输到存储空间中,从而启动指令2的RAID计算,即所述步骤104、步骤105、步骤106,而同时,主机传输接口也可以接受指令3的指令,并进行解析、传输处理操作,即所述步骤101、步骤102、步骤103;
由此,RAID控制器能够实现多条主机指令的同时处理,以提升控制器的整体处理效率。
其中,在实际应用中,数据在主机内存中的位置不一定是连续的,而是可能分散在内存不同位置;其中,一种可能的情况是步骤101所述的RAID控制器对应的指令按照链表的方式保存指令信息,如图3所示;
主机在内存中按照程序功能执行的顺序,会生成多个存储访问的指令,以指令1为例;指令1地址中的内容为指令1描述符的首地址,指令1描述符包括指令1的参数信息、数据块列表地址以及数据块总数量m的信息;指令1参数信息包含指令类型、逻辑硬盘中的逻辑地址LBA以及数据长度信息;数据块列表中分别包含m个数据块的地址和长度。
其中,RAID控制器接收到指令1后,在步骤102中,处理器调用主机传输接口,首先按照指令格式将指令列表的全部指令内容传输到RAID控制器的存储器的存储空间中,而后根据指令内容完成主机内存传输与RAID控制器的存储器之间的数据传输;
主机传输接口使用直接内存存取(direct memory access,DMA)方式来读取数据;例如,当RAID控制器发送写指令时,主机传输接口根据指令类型判断将数据应从主机内存传输到RAID控制器的存储器,根据数据总长度在存储器中分配对应的存储空间;首先获取到数据块1的地址和长度,将对应位置的数据传输到存储器;传输完成后,自动读取数据块2的地址和长度,将对应位置的数据继续传输到存储器;当遍历所有的数据块m后,完成全部的数据传输操作;此方法可以减少RAID控制器的计算负担,提升传输效率;读指令与上述操作方向相反,此处不再赘述。
其中,按照RAID阵列格式规定,连续的数据块被分割成多个条带进行存储,每个条带中按照RAID数据介质的数量分成多个数据单元,如图4所示;步骤104中RAID计算单元按照既定RAID格式读取数据单元内容,步骤105计算RAID冗余数据,然后步骤106将冗余数据1写回图中条带中的设定位置;条带2/3/4依次操作,最终完成全部冗余数据的生成操作;以RAID5格式为例,如果包含3个数据盘空间和1个冗余校验盘空间,则计算公式如下:
冗余数据1=数据单元1XOR数据单元2XOR数据单元3。
其中,当写入数据和冗余数据准备好后,根据RAID格式要求,冗余数据需要分散到不同的存储介质上,这样可以避免单个存储介质的访问量显著增大;继续以RAID5格式为例,步骤107中按照轮转循环的方式,将冗余数据1写入存储介质4中,冗余数据2写入存储介质3中,冗余数据3写入存储介质2中,冗余数据4写入存储介质1中,其他数据单元按照正常顺序放在各存储介质中,如下图5所示;确定写入对应关系后,处理器调用存储设备接口,执行存储介质的数据写入操作,完成RAID控制器的写入指令。
其中,在实际应用中,所述RAID控制器包括的各个单元具体可由硬件或软件代码实现;
例如,图示中RAID控制器的各单元的实现方式包括:通过专用集成电路(application specific integrated circuit,ASIC)实现,或通过可编程逻辑器件(programmable logic device,PLD)实现;
其中,所述PLD的实现方式包括复杂程序逻辑器件(complex programmablelogical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
同时,也可以通过软件实现RAID控制器的相关功能,该RAID控制器及其各个单元也可为软件单元。
其中,所述存储器可能是高速缓存或者片外随机存储器;
所述存储介质是指存储数据的载体,其包括固态硬盘或机械硬盘;硬盘接口类型包括串行连接的小型计算机系统接口(Serial Attached Small computer systeminterface,SAS)硬盘、串行高级技术附件(Serial Advanced Technology Attachment,SATA)硬盘。
其中,所述主机与RAID控制器之间采用高速传输接口协议实现通信,包括PCI、PCIe、NVMe、SATA、SAS、以太网或者无线传输接口。
此外,本发明还提供一种用于存储阵列控制器的数据处理方法所述数据处理方法基于数据处理装置来实施,所述数据处理装置包括:主机、RAID控制器、存储设备;其中,主机为具有数据处理或计算能力的设备,其数据存储功能通过RAID控制器连接存储设备;RAID控制器包含处理器、主机传输接口、存储设备接口、存储器和RAID计算单元,如图1所示;存储器包括至少一个存储介质;
所述RAID控制器用于接收主机发起的数据访问指令并进行数据计算与处理,访问指令包括读取指令和写入指令;
如果访问指令是写入指令,所述数据处理方法按照以下步骤进行处理:
步骤101:处理器调用主机传输接口将写入指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤102:处理器调用主机传输接口,根据解析后的指令内容将待写入的主机数据传输到已分配的存储器空间中;
步骤103:处理器完成RAID阵列数据空间的计算,确定RAID模式并配置RAID计算单元;
步骤104:RAID计算单元根据当前RAID模式配置,读取存储器中的主机数据;
步骤105:RAID计算单元对主机数据进行冗余校验数据的计算;
步骤106:RAID计算单元将冗余校验数据写入存储器中,在存储器中组合成全部存储阵列数据;
步骤107:处理器配置存储设备接口对全部存储阵列数据进行拆分,分别写入存储设备中的各存储介质中进行存储;
步骤108:处理器完成当前写入指令的处理;
如果访问指令是读出指令,所述数据处理方法按照以下步骤进行处理:
步骤201:处理器调用主机传输接口将读取指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤202:处理器根据解析后的指令内容,得到对应的存储设备各存储介质中所需读取数据的位置;
步骤203:存储设备接口将存储介质中的数据分别读出到存储器空间中;
步骤204:处理器根据RAID阵列状态,判断下一步处理步骤,如果RAID阵列处于正常状态,则进入步骤208;当RAID阵列处于降级状态时,则进入步骤205;
步骤205:RAID计算单元读取存储器中已有的数据;
步骤206:RAID计算单元按照RAID算法进行计算,得到缺失数据;
步骤207:RAID计算单元将缺失数据写回存储器中,在存储器中组合成全部待读出数据;
步骤208:处理器按照读取指令要求,调用主机传输接口将所需数据传输到主机内存的对应位置;
步骤209:处理器完成当前指令处理。
其中,所述步骤204中,RAID阵列处于降级状态的情况包括:RAID 5模式下1个存储介质无法正常读取的情况。
其中,所述RAID控制器中各功能单元的功能相互独立,各单元在处理流程中采用流水线方式处理,如图2所示;对于主机发送多个访问指令的情况下,所述多个访问指令按时序分为指令1、指令2、指令3……;
其中,主机传输接口接收到指令1的指令,上报处理器完成指令解析,并根据指令内容将写入数据传输到控制器的存储空间中,而后启动RAID计算单元进行RAID计算,即所述步骤101、步骤102、步骤103;在所述步骤104、步骤105、步骤106的计算过程中,主机传输接口即可以接收指令2的指令,并进行所述步骤101、步骤102、步骤103的解析、传输处理操作;
在指令1的RAID冗余校验数据计算完成后,处理器启动存储设备的写入操作,即所述步骤107及步骤108;此时指令2对应的写入数据已经传输到存储空间中,从而启动指令2的RAID计算,即所述步骤104、步骤105、步骤106,而同时,主机传输接口也可以接受指令3的指令,并进行解析、传输处理操作,即所述步骤101、步骤102、步骤103;
由此,RAID控制器能够实现多条主机指令的同时处理,以提升控制器的整体处理效率。
其中,在实际应用中,数据在主机内存中的位置不一定是连续的,而是可能分散在内存不同位置;一种可能的情况是步骤101所述的RAID控制器对应的指令按照链表的方式保存指令信息,如图3所示;
主机在内存中按照程序功能执行的顺序,会生成多个存储访问的指令,以指令1为例;指令1地址中的内容为指令1描述符的首地址,指令1描述符包括指令1的参数信息、数据块列表地址以及数据块总数量m的信息;指令1参数信息包含指令类型、逻辑硬盘中的逻辑地址LBA以及数据长度信息;数据块列表中分别包含m个数据块的地址和长度。
其中,RAID控制器接收到指令1后,在步骤102中,处理器调用主机传输接口,首先按照指令格式将指令列表的全部指令内容传输到RAID控制器的存储器的存储空间中,而后根据指令内容完成主机内存传输与RAID控制器的存储器之间的数据传输;
主机传输接口使用直接内存存取(direct memory access,DMA)方式来读取数据;例如,当RAID控制器发送写指令时,主机传输接口根据指令类型判断将数据应从主机内存传输到RAID控制器的存储器,根据数据总长度在存储器中分配对应的存储空间;首先获取到数据块1的地址和长度,将对应位置的数据传输到存储器;传输完成后,自动读取数据块2的地址和长度,将对应位置的数据继续传输到存储器;当遍历所有的数据块m后,完成全部的数据传输操作;此方法可以减少RAID控制器的计算负担,提升传输效率;读指令与上述操作方向相反,此处不再赘述。
其中,按照RAID阵列格式规定,连续的数据块被分割成多个条带进行存储,每个条带中按照RAID数据介质的数量分成多个数据单元,如图4所示;步骤104中RAID计算单元按照既定RAID格式读取数据单元内容,步骤105计算RAID冗余数据,然后步骤106将冗余数据1写回图中条带中的设定位置;条带2/3/4依次操作,最终完成全部冗余数据的生成操作;以RAID5格式为例,如果包含3个数据盘空间和1个冗余校验盘空间,则计算公式如下:
冗余数据1=数据单元1XOR数据单元2XOR数据单元3。
其中,当写入数据和冗余数据准备好后,根据RAID格式要求,冗余数据需要分散到不同的存储介质上,这样可以避免单个存储介质的访问量显著增大;继续以RAID5格式为例,步骤107中按照轮转循环的方式,将冗余数据1写入存储介质4中,冗余数据2写入存储介质3中,冗余数据3写入存储介质2中,冗余数据4写入存储介质1中,其他数据单元按照正常顺序放在各存储介质中,如下图5所示;确定写入对应关系后,处理器调用存储设备接口,执行存储介质的数据写入操作,完成RAID控制器的写入指令。
其中,在实际应用中,所述RAID控制器包括的各个单元具体可由硬件或软件代码实现;
例如,图示中RAID控制器的各单元的实现方式包括:通过专用集成电路(application specific integrated circuit,ASIC)实现,或通过可编程逻辑器件(programmable logic device,PLD)实现;
其中,所述PLD的实现方式包括复杂程序逻辑器件(complex programmablelogical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合;
同时,也可以通过软件实现RAID控制器的相关功能,该RAID控制器及其各个单元也可为软件单元。
其中,所述存储器可能是高速缓存或者片外随机存储器;
所述存储介质是指存储数据的载体,其包括固态硬盘或机械硬盘;硬盘接口类型包括串行连接的小型计算机系统接口(Serial Attached Small computer systeminterface,SAS)硬盘、串行高级技术附件(Serial Advanced Technology Attachment,SATA)硬盘。
其中,所述主机与RAID控制器之间采用高速传输接口协议实现通信,包括PCI、PCIe、NVMe、SATA、SAS、以太网或者无线传输接口。
实施例1
本实施例中,主机为具有数据处理或计算能力的设备,其数据存储功能通过RAID控制器连接存储设备。RAID控制器包含处理器、主机传输接口、存储设备接口、存储器和RAID计算单元,如图1所示。存储器可能是高速缓存或者片外随机存储器。
存储设备包括至少一个存储介质。存储介质是指存储数据的载体,其可包括但不限于固态硬盘或机械硬盘。硬盘接口类型包括串行连接的小型计算机系统接口(SerialAttached Small computer system interface,SAS)硬盘、串行高级技术附件(SerialAdvanced Technology Attachment,SATA)硬盘等。
主机与RAID控制器之间通常采用高速传输接口协议实现通信,包括PCI、PCIe、NVMe等,也不限于SATA、SAS、以太网或者无线传输接口等。
RAID控制器能够接收主机发起的数据访问指令并进行数据计算与处理,访问指令包括读取和写入指令。
如果是写入指令,按照以下步骤进行处理:
步骤101:处理器调用主机传输接口将写入指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤102:处理器调用主机传输接口,根据解析后的指令内容将待写入的主机数据传输到已分配的存储器空间中;
步骤103:处理器完成RAID阵列数据空间的计算,确定RAID模式并配置RAID计算单元;
步骤104:RAID计算单元根据当前RAID模式配置,读取存储器中的主机数据;
步骤105:RAID计算单元对主机数据进行冗余校验数据的计算;
步骤106:RAID计算单元将冗余校验数据写入存储器中,在存储器中组合成全部存储阵列数据;
步骤107:处理器配置存储设备接口对全部存储阵列数据进行拆分,分别写入存储设备中的各存储介质中进行存储;
步骤108:处理器完成当前写入指令的处理。
如果是读出指令,按照以下步骤进行处理:
步骤201:处理器调用主机传输接口将读取指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤202:处理器根据解析后的指令内容,得到对应的存储设备各存储介质中所需读取数据的位置;
步骤203:存储设备接口将存储介质中的数据分别读出到存储器空间中;
步骤204:处理器根据RAID阵列状态,判断下一步处理步骤,如果RAID阵列处于正常状态,则进入步骤208;当RAID阵列处于降级状态时,例如RAID 5模式下1个存储介质无法正常读取,则进入步骤205;
步骤205:RAID计算单元读取存储器中已有的数据;
步骤206:RAID计算单元按照RAID算法进行计算,得到缺失数据;
步骤207:RAID计算单元将缺失数据写回存储器中,在存储器中组合成全部待读出数据;
步骤208:处理器按照读取指令要求,调用主机传输接口将所需数据传输到主机内存的对应位置;
步骤209:处理器完成当前指令处理。
RAID控制器中各功能单元的功能相互独立,各单元在处理流程中采用流水线方式处理,如图2所示。主机传输接口接收到指令1的指令,上报处理器完成指令解析,并根据指令内容将写入数据传输到控制器的存储空间中,而后启动RAID计算单元进行RAID计算,即步骤101、步骤102、步骤103;在步骤104、步骤105、步骤106的计算过程中,主机传输接口即可以接收指令2的指令,并进行步骤101、步骤102、步骤103的解析、传输处理操作;
在指令1的RAID冗余校验数据计算完成后,处理器启动存储设备的写入操作,即步骤107及步骤108;此时指令2对应的写入数据已经传输到存储空间中,从而启动指令2的RAID计算,即步骤104、步骤105、步骤106,而主机传输接口也可以接受指令3的指令,并进行解析、传输处理操作,即步骤101、步骤102、步骤103;RAID控制器能够实现多条主机指令的同时处理,以提升控制器的整体处理效率;
在实际应用中,数据在主机内存中的位置不一定是连续的,而是可能分散在内存不同位置;一种可能的情况是步骤101所述的RAID控制器对应的指令按照链表的方式保存指令信息,如图3所示;
主机在内存中按照程序功能执行的顺序,会生成多个存储访问的指令,以指令1为例;指令1地址中的内容为指令1描述符的首地址,指令1描述符包括指令1的参数信息、数据块列表地址以及数据块总数量m的信息;指令1参数信息包含指令类型、逻辑硬盘中的逻辑地址LBA以及数据长度信息;数据块列表中分别包含m个数据块的地址和长度;
RAID控制器接收到指令1后,在步骤102中,处理器调用主机传输接口,首先按照指令格式将指令列表的全部指令内容传输到RAID控制器的存储器的存储空间中,而后根据指令内容完成主机内存传输与RAID控制器的存储器之间的数据传输;
主机传输接口使用直接内存存取(direct memory access,DMA)方式来读取数据。例如,当RAID控制器发送写指令时,主机传输接口根据指令类型判断将数据应从主机内存传输到RAID控制器的存储器,根据数据总长度在存储器中分配对应的存储空间。首先获取到数据块1的地址和长度,将对应位置的数据传输到存储器。传输完成后,自动读取数据块2的地址和长度,将对应位置的数据继续传输到存储器。当遍历所有的数据块m后,完成全部的数据传输操作。此方法可以减少RAID控制器的计算负担,提升传输效率。读指令与上述操作方向相反,此处不再赘述。
按照RAID阵列格式规定,连续的数据块被分割成多个条带进行存储,每个条带中按照RAID数据介质的数量分成多个数据单元,如图4所示。步骤104中RAID计算单元按照既定RAID格式读取数据单元内容,步骤105计算RAID冗余数据,然后步骤106将冗余数据1写回图中的位置。条带2/3/4依次操作,最终完成全部冗余数据的生成操作。以RAID5格式为例,如果包含3个数据盘空间和1个冗余校验盘空间,则计算公式如下:
冗余数据1=数据单元1XOR数据单元2XOR数据单元3
当写入数据和冗余数据准备好后,根据RAID格式要求,冗余数据需要分散到不同的存储介质上,这样可以避免单个存储介质的访问量显著增大。继续以上述为例,步骤107中按照轮转循环的方式,将冗余数据1写入存储介质4中,冗余数据2写入存储介质3中,冗余数据3写入存储介质2中,冗余数据4写入存储介质1中,其他数据单元按照正常顺序放在各存储介质中,如图5所示。确定写入对应关系后,处理器调用存储设备接口,执行存储介质的数据写入操作,完成RAID控制器的写入指令。
在实际应用中,RAID控制器包括的各个单元具体可由硬件或软件代码实现。例如,图示中RAID控制器的各单元可通过专用集成电路(application specific integratedcircuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现RAID控制器的相关功能,该RAID控制器及其各个单元也可为软件单元。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,所述数据处理装置包括:主机、RAID控制器、存储设备;其中,主机为具有数据处理或计算能力的设备,其数据存储功能通过RAID控制器连接存储设备;RAID控制器包含处理器、主机传输接口、存储设备接口、存储器和RAID计算单元;存储器包括至少一个存储介质;
所述RAID控制器用于接收主机发起的数据访问指令并进行数据计算与处理,访问指令包括读取指令和写入指令;
如果访问指令是写入指令,所述数据处理装置的工作过程包括如下步骤:
步骤101:处理器调用主机传输接口将写入指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤102:处理器调用主机传输接口,根据解析后的指令内容将待写入的主机数据传输到已分配的存储器空间中;
步骤103:处理器完成RAID阵列数据空间的计算,确定RAID模式并配置RAID计算单元;
步骤104:RAID计算单元根据当前RAID模式配置,读取存储器中的主机数据;
步骤105:RAID计算单元对主机数据进行冗余校验数据的计算;
步骤106:RAID计算单元将冗余校验数据写入存储器中,在存储器中组合成全部存储阵列数据;
步骤107:处理器配置存储设备接口对全部存储阵列数据进行拆分,分别写入存储设备中的各存储介质中进行存储;
步骤108:处理器完成当前写入指令的处理;
如果访问指令是读出指令,所述数据处理装置的工作过程包括如下步骤:
步骤201:处理器调用主机传输接口将读取指令内容传输到存储器中,并进行指令解析,获得解析后的指令;
步骤202:处理器根据解析后的指令内容,得到对应的存储设备各存储介质中所需读取数据的位置;
步骤203:存储设备接口将存储介质中的数据分别读出到存储器空间中;
步骤204:处理器根据RAID阵列状态,判断下一步处理步骤,如果RAID阵列处于正常状态,则进入步骤208;当RAID阵列处于降级状态时,则进入步骤205;
步骤205:RAID计算单元读取存储器中已有的数据;
步骤206:RAID计算单元按照RAID算法进行计算,得到缺失数据;
步骤207:RAID计算单元将缺失数据写回存储器中,在存储器中组合成全部待读出数据;
步骤208:处理器按照读取指令要求,调用主机传输接口将所需数据传输到主机内存的对应位置;
步骤209:处理器完成当前指令处理。
2.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,所述步骤204中,RAID阵列处于降级状态的情况包括:RAID 5模式下1个存储介质无法正常读取的情况。
3.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,所述RAID控制器中各功能单元的功能相互独立,各单元在处理流程中采用流水线方式处理;对于主机发送多个访问指令的情况下,所述多个访问指令按时序分为指令1、指令2、指令3……;
其中,主机传输接口接收到指令1的指令,上报处理器完成指令解析,并根据指令内容将写入数据传输到控制器的存储空间中,而后启动RAID计算单元进行RAID计算,即所述步骤101、步骤102、步骤103;在所述步骤104、步骤105、步骤106的计算过程中,主机传输接口即可以接收指令2的指令,并进行所述步骤101、步骤102、步骤103的解析、传输处理操作;
在指令1的RAID冗余校验数据计算完成后,处理器启动存储设备的写入操作,即所述步骤107及步骤108;此时指令2对应的写入数据已经传输到存储空间中,从而启动指令2的RAID计算,即所述步骤104、步骤105、步骤106,而同时,主机传输接口也可以接受指令3的指令,并进行解析、传输处理操作,即所述步骤101、步骤102、步骤103;
由此,RAID控制器能够实现多条主机指令的同时处理,以提升控制器的整体处理效率。
4.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,在实际应用中,数据在主机内存中的位置不一定是连续的,而是可能分散在内存不同位置;其中,步骤101所述的RAID控制器对应的指令按照链表的方式保存指令信息;
主机在内存中按照程序功能执行的顺序,会生成多个存储访问的指令,以指令1为例;指令1地址中的内容为指令1描述符的首地址,指令1描述符包括指令1的参数信息、数据块列表地址以及数据块总数量m的信息;指令1参数信息包含指令类型、逻辑硬盘中的逻辑地址LBA以及数据长度信息;数据块列表中分别包含m个数据块的地址和长度。
5.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,RAID控制器接收到指令1后,在步骤102中,处理器调用主机传输接口,首先按照指令格式将指令列表的全部指令内容传输到RAID控制器的存储器的存储空间中,而后根据指令内容完成主机内存传输与RAID控制器的存储器之间的数据传输;
主机传输接口使用直接内存存取方式来读取数据;当RAID控制器发送写指令时,主机传输接口根据指令类型判断将数据应从主机内存传输到RAID控制器的存储器,根据数据总长度在存储器中分配对应的存储空间;首先获取到数据块1的地址和长度,将对应位置的数据传输到存储器;传输完成后,自动读取数据块2的地址和长度,将对应位置的数据继续传输到存储器;当遍历所有的数据块m后,完成全部的数据传输操作;此方法可以减少RAID控制器的计算负担,提升传输效率;读指令与上述操作方向相反,此处不再赘述。
6.如权利要求5所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,按照RAID阵列格式规定,连续的数据块被分割成多个条带进行存储,每个条带中按照RAID数据介质的数量分成多个数据单元;步骤104中RAID计算单元按照既定RAID格式读取数据单元内容,步骤105计算RAID冗余数据,然后步骤106将冗余数据1写回条带中的设定位置;条带2/3/4依次操作,最终完成全部冗余数据的生成操作;以RAID5格式为例,如果包含3个数据盘空间和1个冗余校验盘空间,则计算公式如下:
冗余数据1=数据单元1XOR数据单元2XOR数据单元3。
7.如权利要求6所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,当写入数据和冗余数据准备好后,根据RAID格式要求,冗余数据需要分散到不同的存储介质上,这样可以避免单个存储介质的访问量显著增大;继续以RAID5格式为例,步骤107中按照轮转循环的方式,将冗余数据1写入存储介质4中,冗余数据2写入存储介质3中,冗余数据3写入存储介质2中,冗余数据4写入存储介质1中,其他数据单元按照正常顺序放在各存储介质中;确定写入对应关系后,处理器调用存储设备接口,执行存储介质的数据写入操作,完成RAID控制器的写入指令。
8.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,所述RAID控制器包括的各个单元具体由硬件实现;
RAID控制器的各单元的实现方式包括:通过专用集成电路实现,或通过可编程逻辑器件实现;
其中,所述PLD的实现方式包括复杂程序逻辑器件、现场可编程门阵列、通用阵列逻辑或其任意组合。
9.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,所述存储器可能是高速缓存或者片外随机存储器;
所述存储介质是指存储数据的载体,其包括固态硬盘或机械硬盘;硬盘接口类型包括串行连接的小型计算机系统接口硬盘、串行高级技术附件硬盘。
10.如权利要求1所述的基于RAID控制器以实现计算性能提升的数据处理装置,其特征在于,所述主机与RAID控制器之间采用高速传输接口协议实现通信,包括PCI、PCIe、NVMe、SATA、SAS、以太网或者无线传输接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043329.2A CN113687977B (zh) | 2021-09-07 | 2021-09-07 | 基于raid控制器以实现计算性能提升的数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043329.2A CN113687977B (zh) | 2021-09-07 | 2021-09-07 | 基于raid控制器以实现计算性能提升的数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113687977A true CN113687977A (zh) | 2021-11-23 |
CN113687977B CN113687977B (zh) | 2024-05-28 |
Family
ID=78585466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111043329.2A Active CN113687977B (zh) | 2021-09-07 | 2021-09-07 | 基于raid控制器以实现计算性能提升的数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113687977B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012349A1 (zh) * | 2022-07-15 | 2024-01-18 | 中兴通讯股份有限公司 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
US11995316B2 (en) | 2022-06-15 | 2024-05-28 | Samsung Electronics Co., Ltd. | Systems and methods for a redundant array of independent disks (RAID) using a decoder in cache coherent interconnect storage devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120836A1 (en) * | 2001-12-21 | 2003-06-26 | Gordon David Stuart | Memory system |
US20100031082A1 (en) * | 2008-07-31 | 2010-02-04 | Dan Olster | Prioritized Rebuilding of a Storage Device |
CN102693096A (zh) * | 2012-05-17 | 2012-09-26 | 山西达鑫核科技有限公司 | 基于位的串行传输云存储方法及装置 |
CN107250975A (zh) * | 2014-12-09 | 2017-10-13 | 清华大学 | 数据存储系统和数据存储方法 |
CN109800187A (zh) * | 2017-11-17 | 2019-05-24 | 三星电子株式会社 | 被配置为更新现场可编程门阵列的存储设备及其操作方法 |
US10318474B1 (en) * | 2015-06-30 | 2019-06-11 | EMC IP Holding Company LLC | Data storage system with heterogenous parallel processors |
WO2020173092A1 (zh) * | 2019-02-28 | 2020-09-03 | 华为技术有限公司 | 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统 |
-
2021
- 2021-09-07 CN CN202111043329.2A patent/CN113687977B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120836A1 (en) * | 2001-12-21 | 2003-06-26 | Gordon David Stuart | Memory system |
US20100031082A1 (en) * | 2008-07-31 | 2010-02-04 | Dan Olster | Prioritized Rebuilding of a Storage Device |
CN102693096A (zh) * | 2012-05-17 | 2012-09-26 | 山西达鑫核科技有限公司 | 基于位的串行传输云存储方法及装置 |
CN107250975A (zh) * | 2014-12-09 | 2017-10-13 | 清华大学 | 数据存储系统和数据存储方法 |
US10318474B1 (en) * | 2015-06-30 | 2019-06-11 | EMC IP Holding Company LLC | Data storage system with heterogenous parallel processors |
CN109800187A (zh) * | 2017-11-17 | 2019-05-24 | 三星电子株式会社 | 被配置为更新现场可编程门阵列的存储设备及其操作方法 |
WO2020173092A1 (zh) * | 2019-02-28 | 2020-09-03 | 华为技术有限公司 | 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统 |
CN111625181A (zh) * | 2019-02-28 | 2020-09-04 | 华为技术有限公司 | 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11995316B2 (en) | 2022-06-15 | 2024-05-28 | Samsung Electronics Co., Ltd. | Systems and methods for a redundant array of independent disks (RAID) using a decoder in cache coherent interconnect storage devices |
WO2024012349A1 (zh) * | 2022-07-15 | 2024-01-18 | 中兴通讯股份有限公司 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113687977B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11340794B2 (en) | Multiprocessor system with independent direct access to bulk solid state memory resources | |
US11243837B2 (en) | Data storage drive rebuild with parity generation offload using peer-to-peer data transfers | |
CN108363670B (zh) | 一种数据传输的方法、装置、设备和系统 | |
US7730257B2 (en) | Method and computer program product to increase I/O write performance in a redundant array | |
US10725859B2 (en) | Parity generation offload using peer-to-peer data transfers in data storage system | |
US7206899B2 (en) | Method, system, and program for managing data transfer and construction | |
US20180341547A1 (en) | Parity Offload for Multiple Data Storage Devices | |
CN102122235B (zh) | 一种raid4系统及其数据读写方法 | |
US7321955B2 (en) | Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices | |
CN101452373B (zh) | 输入输出处理器 | |
CN109358809B (zh) | 一种raid数据存储系统及方法 | |
WO2014169015A1 (en) | Multiprocessor system with independent direct access to bulk solid state memory resources | |
CN113687977B (zh) | 基于raid控制器以实现计算性能提升的数据处理装置 | |
CN113687978B (zh) | 用于存储阵列控制器的数据处理方法 | |
CN111104056B (zh) | 存储系统中数据恢复方法、系统及装置 | |
US9092152B1 (en) | Data storage system employing a distributed compute engine memory controller with embedded logic and arithmetic functionality and method for data migration between high-performance computing architectures and data storage devices using the same | |
CN103403667A (zh) | 数据处理方法和设备 | |
CN111538460A (zh) | Raid功能实现方法及相关装置 | |
CN109375868B (zh) | 一种数据存储方法、调度装置、系统、设备及存储介质 | |
CN108877862B (zh) | 页条带的数据组织以及向页条带写入数据的方法与装置 | |
CN115079936A (zh) | 一种数据写入方法及装置 | |
WO2023020136A1 (zh) | 存储系统中的数据存储方法及装置 | |
WO2020082888A1 (zh) | 存储系统中数据恢复方法、系统及装置 | |
CN101149946B (zh) | 一种处理流媒体数据的方法 | |
CN212341857U (zh) | 智能存储设备、系统和硬盘盒 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |