CN112783684A - 一种校验数据计算方法及装置 - Google Patents
一种校验数据计算方法及装置 Download PDFInfo
- Publication number
- CN112783684A CN112783684A CN201911076571.2A CN201911076571A CN112783684A CN 112783684 A CN112783684 A CN 112783684A CN 201911076571 A CN201911076571 A CN 201911076571A CN 112783684 A CN112783684 A CN 112783684A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- processed
- processor
- calculation unit
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, i.e. caches used in RAID system with parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种校验数据计算方法及装置,该方法应用于包括处理器和校验数据计算单元的校验数据计算装置,在该方法中,当处理器获取待处理数据后,则将该待处理数据存储到该校验数据计算单元的缓存空间,校验数据计算单元则从该缓存空间中获取该待处理数据,并对该待处理数据进行校验计算得到该待处理数据对应的校验数据。当处理器获取待处理器数据后,可以直接将该待处理数据存储到校验数据计算单元的缓存空间中,从而减少了将待处理数据存储到处理器的内存以及从内存将待处理数据搬移到校验数据计算单元的缓存空间的步骤,可以简化校验计算的流程,减小处理时延。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种校验数据计算方法及装置。
背景技术
在存储系统中,通常使用数据冗余技术来保证所存储的数据的可靠性,其主要原理是:把待存储数据拆分成多份数据分片,然后对该多份数据分片进行校验计算,得到一份或者多份的校验数据,将该多份数据分片和校验数据存储在不同的磁盘上。这样,当该多份数据分片和校验数据中的某份数据出现故障或者丢失时,可以通过其他的数据将该丢失的数据恢复出来,从而达到保护数据的目的。
数据冗余技术可以通过阵列控制器中的独立冗余磁盘阵列(redundant arraysof independent drives,RAID)模块来实现。请参考图1,为现有技术中的阵列控制器的一种示例的架构图,该阵列控制器中包括处理器以及多个RAID模块,处理器通过该多个RAID模块与多个磁盘组连接。当处理器接收到待存储数据后,首先将该待存储数据存储在内存中,然后根据控制策略或者待存储数据的类型等信息,确定将该待存储数据发送到其中一个RAID模块中进行校验计算,进而将该待存储数据和通过校验计算得到的校验数据存储到该RAID模块所管理的磁盘组中。
由上述过程可知,现有技术中对待存储数据进行校验计算的流程较为复杂,会造成存储系统的时延较大。
发明内容
本申请实施例提供一种校验数据计算方法及装置,用以简化校验计算的流程,减小存储系统的时延。
第一方面,提供一种校验数据计算方法,该方法应用于包括处理器和校验数据计算单元的校验数据计算装置,在该方法中,当处理器获取待处理数据后,则将该待处理数据存储到该校验数据计算单元的缓存空间,校验数据计算单元则从该缓存空间中获取该待处理数据,并对该待处理数据进行校验计算得到该待处理数据对应的校验数据。
在上述技术方案中,当处理器获取待处理器数据后,可以直接将该待处理数据存储到校验数据计算单元的缓存空间中,从而减少了将待处理数据存储到处理器的内存以及从内存将待处理数据搬移到校验数据计算单元的缓存空间的步骤,可以简化校验计算的流程,减小处理时延。
在一种可能的设计中,校验数据计算单元对该待处理数据进行校验计算得到该待处理数据对应的校验数据,可以包括但不限于如下两种方式:
第一种方式,校验数据计算单元根据预设的校验算法,对该待处理数据进行校验计算得到该待处理数据对应的校验数据。
上述方式实现较为简单,可以减少交互流程。
第二种方式,该处理器首先向该校验数据计算单元发送用于指示校验算法的第一信息,然后,校验数据计算单元则根据该第一信息指示的校验算法,对该待处理数据进行校验计算得到该校验数据。
上述方式中,处理器可以灵活地选择所使用的校验算法,可以增加该方法的灵活性。
在一种可能的设计中,该校验数据计算装置还包括存储装置,则当校验数据计算单元获取该校验数据后,处理器则将该待处理数据和该校验数据存储到该存储装置。
在一种可能的设计中,处理器可以通过运行预设的代码或者软件程序等,将该待处理数据和该校验数据存储到存储装置中,或者,处理器可以向该存储装置发送存储指令,存储装置在接收到该存储指令后,则由直接内存存取DMA引擎根据该存储指令,从缓存空间中获取该待处理数据和该校验数据,以存储在存储装置中。
在一种可能的设计中,处理器在确定该存储装置中存储的目标数据丢失时,可以将与该目标数据对应的剩余数据存储到该缓存空间,然后,由校验数据计算单元对该剩余数据进行检验计算,得到该目标数据,并将该目标数据存储在缓存空间中,并由处理器将该剩余数据和该目标数据存储到存储装置。
在上述技术方案中,当数据发生丢失时,也可以通过校验数据计算单元恢复该丢失的数据,且由于上述过程中只涉及将数据从存储装置迁移到缓存空间的过程,处理流程简单,从而可以减少处理时延,提高处理效率。
在一种可能的设计中,该缓存空间可以占用该处理器的部分内存。
也就是说,校验数据计算单元的缓存空间可以是占用内存实现的,或者,也可以是单独设置的缓存单元来实现的,在此不作限制。
在一种可能的设计中,该处理器和该校验数据计算单元通过数据一致性协议通信,以保证处理器能够访问校验数据计算单元的缓存空间。
在一种可能的设计中,存储装置可以包括一个或多个冗余单元,则当存储装置包括多个冗余单元时,该校验数据计算单元则为该存储装置中的多个冗余单元中的待处理数据计算校验数据,该多个冗余单元所使用的校验算法不同。
在上述技术方案中,存储装置中包括的冗余单元可以根据使用需求设置,而不用受限于校验数据计算单元,当存储装置只包括一个冗余单元时,则可以实现全局数据冗余。当存储装置包括多个冗余单元,则校验数据计算单元则根据每个冗余单元对应的校验算法,为该冗余单元计算校验数据。
第二方面,提供一种校验数据计算装置,该校验数据计算装置可以是存储节点或者阵列控制器,也可以是存储节点或者阵列控制器中的装置。该校验数据计算装置包括处理器,用于实现上述第一方面中处理器所执行的方法。该校验数据计算装置还可以包括存储器,用于存储程序指令和数据。该存储器与该处理器耦合,该处理器可以调用并执行该存储器中存储的程序指令,用于实现上述第一方面描述的方法中的任意一种方法。该校验数据计算装置还可以包括校验数据计算单元,用于计算校验数据。
在一种可能的设计中,该校验数据计算装置包括处理器和校验数据计算单元,其中:
所述处理器,用于获取待处理数据,并将所述待处理数据存储到所述校验数据计算单元的缓存空间;
所述校验数据计算单元,用于从所述缓存空间中获取所述待处理数据,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据。
在一种可能的设计中,所述校验数据计算单元具体用于:
根据预设的校验算法,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据;或,
所述处理器还用于:向所述校验数据计算单元发送第一信息,所述第一信息用于指示校验算法;
所述校验数据计算单元,用于根据所述第一信息指示的校验算法,对所述待处理数据进行校验计算得到所述校验数据。
在一种可能的设计中,所述校验数据计算装置还包括存储装置,所述处理器还用于:将所述待处理数据和所述校验数据存储到所述存储装置。
在一种可能的设计中,所述处理器具体用于:
向所述存储装置发送存储指令,所述存储装置的直接内存存取DMA引擎从所述缓存空间中获取所述待处理数据和所述校验数据。
在一种可能的设计中,所述处理器还用于:
在确定所述存储装置中存储的目标数据丢失时,将与所述目标数据对应的剩余数据存储到所述缓存空间;
所述校验数据计算单元还用于:对所述剩余数据进行检验计算,得到所述目标数据,并将所述目标数据存储在所述缓存空间;
所述处理器还用于:将所述剩余数据和所述目标数据存储到所述存储装置。
在一种可能的设计中,所述缓存空间占用所述处理器的部分内存。
在一种可能的设计中,所述处理器和所述校验数据计算单元通过数据一致性协议通信。
在一种可能的设计中,所述校验数据计算单元用于:
为所述存储装置中的多个冗余单元中的待处理数据计算校验数据;所述多个冗余单元所使用的校验算法不同。
第三方面,提供一种校验数据计算装置,该校验数据计算装置可以是存储节点或者阵列控制器,也可以是存储节点或者阵列控制器中的装置。该校验数据计算装置可以包括处理模块和校验数据计算模块,这些模块可以执行上述第一方面任一种设计示例中的所执行的相应功能,具体的:
所述处理模块,用于获取待处理数据,并将所述待处理数据存储到所述校验数据计算模块的缓存空间;
所述校验数据计算模块,用于从所述缓存空间中获取所述待处理数据,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现第一方面所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第七方面,本申请实施例提供了一种存储系统,该存储系统包括第二方面及第二方面任一种设计中所述的校验数据计算装置,或者,该存储系统包括第三方面及第三方面任一种设计中所述的校验数据计算装置。
上述第二方面至第七方面及其实现方式的有益效果可以参考对第一方面的方法及其实现方式的有益效果的描述。
附图说明
图1为现有技术中的阵列控制器的一种示例的架构图;
图2A为本申请实施例提供的存储系统的一种示例的架构图;
图2B为本申请实施例提供的存储系统的另一种示例的架构图;
图3为本申请实施例提供的校验数据计算方法的流程图;
图4为本申请实施例中用于存储数据的pt的一种示例的示意图;
图5为本申请实施例提供的校验数据计算装置的一种示例的结构示意图;
图6为本申请实施例提供的校验数据计算装置的另一种示例的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
本申请实施例中的方法可以应用于存储系统中,该存储系统可以是分布式存储系统,也可以是集中式存储系统。该存储系统可以是文件存储系统、块存储系统或者对象存储系统,或者上述存储系统的组合,在本申请实施例中不作限制。
请参考图2A,为本申请实施例提供的存储系统的一种示例的架构图。图2A所示的存储系统200包括阵列控制器210和存储装置220。其中,存储装置220包括至少一个存储设备,该存储设备,例如可以包括串行高级技术附件(serial advanced technologyattachment,SATA)硬盘、小型计算机系统接口(small computer system interface,SCSI)硬盘、串行连接SCSI接口(serial attached SCSI,SAS)硬盘、光纤通道接口(fibrechannel,FC)硬盘、机械硬盘(hard disk drive,HDD)以及固态硬盘(solid state drive,SSD)等,存储装置220根据阵列控制器210的指令在至少一个存储设备中存储数据。
阵列控制器210包括处理器2101,与处理器2101连接的校验数据计算单元2102,以及与校验计算单元2102连接的缓存单元2103。处理器2101用于接收与存储系统200连接的客户端发送的数据访问请求,该数据访问请求可以是读数据请求或者写数据请求等。缓存单元2103用于存储需要进行校验计算的数据,校验数据计算单元2102则用于对缓存单元2103中存储的数据进行校验计算,得到与该数据对应的校验数据,从而将该数据和根据该数据计算得到的校验数据存储在存储装置220中的存储设备中。其中,处理器2101可以是通用的中央处理器(central processing unit,CPU),特定应用集成电路(applicationspecific integrated circuit,ASIC),一个或多个用于控制程序执行的集成电路,使用现场可编程门阵列(field programmable gate array,FPGA)开发的硬件电路,或者基带处理器等。校验数据计算单元2102可以是RAID卡,或者能够实现数据冗余技术的其他模块等。缓存单元2103可以是非遗实行的存储器,例如,非易失性随机存取存储器(non-volatilerandom access memory,NVRAM)或者闪存(flash)存储器等。
在图2A所示的存储系统200中,对校验数据计算单元2102的连接位置进行了调整。校验数据计算单元2102只与处理器2101连接,而处理器2101则直接与存储装置220中的存储设备连接。作为一种示例,处理器2101和校验数据计算单元2102可以通过数据一致性协议通信,例如,处理器2101和校验数据计算单元2102可以通过快速通道互联(quick pathinterconnect,QPI)总线或者华为缓存一致性系统(huawei cache-coherent system,HCCS)总线或者其他高速总线连接等,在此不作限制。
在另一些示例中,缓存单元2103也可以通过处理器2101的内存实现,也就是说,将处理器2101的部分内存作为缓存单元2103的存储空间,在这种情况下,则不需要单独为校验数据计算单元2102设置缓存单元2103。为方便说明,下文中以单独设置缓存单元2103(如图2A所示)为例。
需要说明的是,在图2A所示的存储系统中,尽管示出了阵列控制器210和存储装置220,但存储系统的架构可以并不限于包括上述内容。例如,在图2B中,存储系统200还可以包括用于协议转换的SAS模块230以及SAS扩展器(SAS expander)240,该SAS模块230和SAS扩展器240连接在处理器2101和存储装置220之间,该SAS模块可以将高速串行计算机扩展(peripheral component interconnect express,PCIE)协议转换为SAS协议,SAS扩展器240可以使得处理器2101连接更多的存储设备。当然,存储系统中还可以包括其他内容,在此不一一详述。
下面以本申请实施例提供的校验数据计算方法应用在如图2A所示的存储系统为例进行说明,也就是说,该方法可由图2A所示的存储系统200中的阵列控制器210执行。则下文中,阵列控制器210即校验数据计算装置,阵列控制器210中的处理器2101即校验数据计算装置中的处理器,阵列控制器210中的校验数据计算单元2102即校验数据计算装置中的校验数据计算单元,校验数据计算单元的缓存空间即阵列控制器210中的缓存单元2103对应的存储空间。
请参考图3,为本申请实施例提供的校验数据计算方法的流程图,该流程图描述如下:
S31、处理器2101获取待处理数据。
该待处理数据可以是与存储系统200连接的客户端发送的写数据请求携带的,或者,也可以是处理器2101在存储系统200的运行过程中产生的,例如,对用户数据进行分析得到的分析结果等,在此不作限制。
S32、处理器2101将该待处理数据存储到缓存单元2103对应的存储空间。
在图2A所示的存储系统200中,缓存单元2103被设置为既可以被校验数据计算单元2102访问,也可以被处理器2101访问,因此,在本申请实施例中,当处理器2101获取待处理器数据后,则可以直接将该待处理数据存储到缓存单元2103对应的存储空间中,从而减少了将待处理数据存储到处理器2101的内存以及从内存将待处理数据搬移到缓存单元2103的步骤,可以简化校验计算的流程。
作为一种示例,待处理数据的大小为8千字节(kilobyte,kB),缓存单元2103对应的存储空间中每个单位存储单元存储的数据量为1kB,则处理器2101将待处理数据存储到缓存单元2103的8个单位存储单元,并获取该待处理数据在缓存单元2103的存储地址。该存储地址包括存储该待处理数据的起始地址与缓存单元2103的起始地址的偏移量和数据长度,其中数据长度可以是该待处理数据所占用的单位存储单元的数量。例如,存储该待处理数据的起始地址即缓存单元2103的起始地址,则偏移量为0,待处理数据占用8个单位存储单元,则数据长度为8。其中,起始单位存储单元可以标记为单位存储单元0。
S33、校验数据计算单元2102从缓存单元2103对应的缓存空间中获取该待处理数据,对该待处理数据进行校验计算得到该待处理数据对应的校验数据。
当处理器2101向缓存单元2103中存储待处理数据后,处理器2101可以向校验数据计算单元2102发送第二指令,该第二指令中可以携带待处理数据在缓存单元2103中的存储地址,以指示校验数据计算单元2102对该待处理数据进行校验计算,校验数据计算单元2102接收该第二指令后,则从该第二指令中指示的存储地址中获取该待处理数据。或者,缓存单元2103在检测到有新数据存储到其对应的存储空间后,可以主动将该新数据对应的存储地址上报给检验数据计算单元2102,则校验数据计算单元2102根据缓存单元2103上报的存储地址获取该待处理数据。当然,校验数据计算单元2102也可以通过其他方式获取该待处理数据,在此不作限制。
当检验数据计算单元2102获取该待处理数据后,则对该待处理数据进行校验计算,获取与该待处理数据对应的校验数据。首先,对本申请实施例中的校验算法进行说明。
由前述对数据冗余技术的介绍可知,数据冗余技术需要将数据进行拆分以及根据拆分后的数据计算校验数据,因此,校验算法可以理解为对数据进行拆分的算法以及计算校验数据的算法。具体来讲,RAID技术可以分为RAID0~RAID6这7个等级,不同的RAID等级对应不同的算法,在这种情况下,该校验算法可以是与不同的RAID等级对应的算法。或者,也可以使用纠删码(erasure coding,EC)进行校验计算,不同的EC配比(数据分片的个数和校验数据的个数之和)也对应不同的算法,EC配比可以包括EC4+2、EC3+3、EC8+2等等,则在这种情况下,该校验算法可以是与不同的EC配比对应的算法。在本申请实施例中,不对校验算法进行限制。
在本申请实施例中,检验数据计算单元2102对该待处理数据进行校验计算得到该待处理数据对应的校验数据,包括但不限于如下两种方式:
第一种计算方式:
校验数据计算单元2102根据预设的校验算法,对该待处理数据进行校验计算得到该待处理数据对应的校验数据。
作为一种示例,存储系统200在使用之前,可以由技术人员根据实际使用需求,配置该存储系统200的RAID等级,并在校验数据计算单元2102中烧写与RAID6对应的校验算法。这样,当校验数据计算单元2102获取待处理数据后,则根据该校验算法进行校验计算。
沿用上述例子,预设的校验算法为与RAID6对应的算法。校验数据计算单元2102获取该待处理数据(8kB的数据)后,根据预设的与RAID6对应的算法,将该待处理数据划分为4个数据分片,其中每个数据分片的大小为2kB,并根据该算法,对该4个数据分片进行计算,得到大小均为1kB校验数据1和校验数据2。
在第一种计算方式中,校验数据计算单元2102对任意一个待处理数据进行校验计算的所使用的校验算法相同,也就是说,整个存储装置只能实现一种RAID等级。为了增加存储系统200存储数据的灵活性,本申请实施例提供第二种计算方式,具体如下:
第二种计算方式:
在校验数据计算单元2102对待处理数据进行校验计算之前,处理器2101可以向校验数据计算单元2102发送用于指示校验算法的第一信息。校验数据计算单元2102中预先存储多种校验算法,校验数据计算单元2102在接收到该第一信息后,则根据该第一信息指示的校验算法,对该待处理数据进行校验计算得到对应的校验数据。
在这种方式中,处理器2101可以根据预设的规则确定与待处理数据对应的校验算法,该预设的规则可以根据待处理数据的属性信息,例如数据大小或者数据所述的业务类型等,确定该待处理数据所对应的校验算法。作为一种示例,该预设的规则可以是若待处理数据的数据大小大于5KB,则使用RAID6对应的校验算法,否则使用RAID3对应的校验算法。则处理器2101确定该待处理数据的数据大小为8kB>5kB,从而处理器2101确定该待处理数据的校验算法为与RAID6对应的算法,然后通过该第一信息将确定的校验算法指示给校验数据计算单元2102。该第一信息中可以携带校验算法的标识,该标识可以是RAID等级或者校验算法的编号等。校验数据计算单元2102在接收第一信息后,确定该第一信息中携带的校验算法的标识为RAID6对应的算法的标识,则根据与RAID6对应的算法对待处理数据进行校验计算,具体计算过程与第一种计算方式中相似,在此不再赘述。
需要说明的是,若校验数据计算单元2102是根据处理器2101发送第二指令,从缓存单元2103中获取待处理数据,则该第二指令和第一指令可以是同一条指令,或者,也可以是两个独立的指令,在此不作限制。
另外,需要说明的是,校验算法是与存储装置220中多个存储设备的冗余单元相关联的。该冗余单元可以理解为实现某一个RAID等级所需的一组存储设备,或者,也可以称为RAID组。例如,RAID3需要由两个存储设备分别存储两个数据分片以及一个存储设备存储校验数据,则该3个存储设备则为一个冗余单元(或RAID组)。若多个存储设备只包括一个冗余单元,则可以设置检验数据计算单元2102使用第一种计算方式计算待处理数据的校验数据;若多个存储设备包括多个冗余单元RAID组且该多个冗余单元所使用的校验算法不同,则可以设置检验数据计算单元2102使用第二种计算方式计算待处理数据的校验数据。在这种情况下,校验数据计算单元2102计算待处理数据的校验数据,可以理解为,校验数据计算单元2102为存储装置220中多个冗余单元中的待处理数据计算校验数据。
在图2A中,由于存储装置220的多个存储设备是直接与处理器2101连接的,因此,处理器2101可以根据使用需求,设置该多个存储设备所对应的冗余单元。例如,存储装置220中包括6个存储设备,则处理器2101可以设置该6个存储设备组成一个冗余单元,或者,可以设置该6个存储设备划分为多个RAID组,例如,将前两个存储设备划分为第一个RAID组,以及,将剩余四个存储设备划分为第二个RAID组。可见,在本申请实施例中,该多个存储设备的RAID组的划分,是由处理器2101根据使用需求进行统一管理,不依赖于校验数据计算单元2102,从而可以实现存储系统200的全局RAID功能。
S34、校验数据计算单元2102将校验数据存储在缓存单元2103中。
当校验数据计算单元2102计算得到该校验数据后,则可以将该校验数据依次存储在缓存单元2103中。例如,计算得到校验数据1和校验数据2,且每个校验数据的大小为1kB,则将校验数据1存储在缓存单元2103的第9个单位存储单元(标记为单位存储单元8),将校验数据2存储在缓存单元2103的第10个单位存储单元(标记为单位存储单元9)中。
在本申请实施例中,当校验数据计算单元2102计算得到该待处理数据的校验数据后,还可以包括如下步骤:
S35、处理器2101将待处理数据和该校验数据存储到存储装置220。
具体来讲,当校验数据计算单元2102将计算得到的校验数据存储到缓存单元2103之后,可以向处理器2101发送计算完成指令,该计算完成指令中可以携带该校验数据在缓存单元2103中的存储地址及数据长度,例如,包括存储地址的偏移量为9,数据长度为2。处理器2101在接收该计算完成指令后,则将待处理数据和该校验数据存储到存储装置220中。
作为一种示例,处理器2101可以根据存储装置220中的分区来存储数据。例如,处理器2101将存储装置220中的多个存储设备划分为一个冗余单元,例如,请参考图4,该6个存储设备组成一个冗余单元,且该冗余单元的RAID等级为RAID6,则处理器2101创建若干个分区(partition,pt),每个pt中包括6个列,一个列可以认为是一个逻辑存储区域,然后,根据存储系统的均衡策略,将该若干个pt打散到存储系统的该6个存储设备上。每个pt包含多个分条,每个分条包括多个分条单元,该多个分条单元的总量与该pt包括的列的数量相同。在前述示例中,以一个pt包括6个列,则该pt中的每个分条中包括6个分条单元,每个分条单元所占用的存储空间的相同,每个分条单元映射到其中一个列中,例如,每个分条的第一个分条单元映射在列1对应的存储设备(第一个存储设备)中,第二个分条单元映射到列2对应的存储设备(第二个存储设备)中,以此类推。
这样,当处理器2101存储该待处理数据和该校验数据时,则从该若干个分区中选择一个分区,从分区中获得分条,然后根据pt与存储设备之间的映射关系,将该数据分散存储在相应的存储设备上。
在本申请实施例中,处理器2101将待处理数据和校验数据分散存储在相应的存储设备上包括但不限于如下两种方式:
第一种存储方式,由处理器2101完成该数据存储过程:
处理器2101获取用于存储待处理数据和校验数据的分条,例如,第一个pt的第一个分条,确定将待处理数据依次存储在第一个分条的前4个列对应的存储设备,以及将校验数据分别存储在第5列对应的存储设备和第6列对应的存储设备,然后,处理器2101根据待处理数据和校验数据在缓存单元2103中的存储地址和数据长度,将对应的数据搬移到对应的存储设备中。
第二种存储方式,由直接内存存取(direct memory access,DMA)引擎完成该数据存储过程:
处理器2101在接收到校验数据计算单元2102发送计算完成指令后,则向存储装置220发送存储指令,该存储指令中包括待处理数据在缓存单元2103中的存储地址以及校验数据在缓存单元2103中的存储地址。存储装置220的直接内存存取DMA引擎在接收到存储指令后,则根据该存储指令中指示的存储地址对应的缓存空间中获取待处理数据和校验数据。
作为一种示例,每个存储设备可以包括一个DMA引擎,则处理器2101在接收该计算完成指令后,可以根据分条确定分别用于存储待处理数据和校验数据的存储设备,例如,处理器2101根据分条与存储设备之间的映射关系,确定将缓存单元2013中单位存储单元0~单位存储单元1中存储的待处理数据存储在第一个存储设备,将缓存单元2013中单位存储单元2~单位存储单元3中存储的待处理数据存储在第二个存储设备,以此类推,直至将所有的待处理数据分散存储在前4个存储设备中,以及,确定将单位存储单元8中存储的校验数据1存储在第五个存储设备,将单位存储单元9中存储的校验数据1存储在第五个存储设备。然后,处理器向每个存储设备的DMA引擎发送对应的存储指令,该存储指令中携带与该存储设备需要存储的数据所在的存储地址,例如,向第一个存储设备的DMA引擎发送的存储指令中包括的存储地址为偏移量0,长度为2,向第二个存储设备的DMA引擎发送的存储指令中包括的存储地址为偏移量为2,长度为2,以此类推,在此不一一说明。
S36、处理器2101向缓存单元2103发送释放指令。
当待处理数据和该校验数据存储到存储装置220包括的存储设备后,处理器可以向缓存单元2103发送释放指令,缓存单元2103则根据该释放指令,释放该待处理数据和该校验数据所对应的存储空间。步骤S36为可选步骤,在图3中以虚线表示。
在上述技术方案中,当处理器可以直接将该待处理数据存储到校验数据计算单元的缓存空间中,从而减少了将待处理数据存储到处理器的内存以及从内存将待处理数据搬移到该缓存空间的步骤,可以简化校验计算的流程,减少处理时延。
在一些实施例中,存储在存储装置220中的数据可能会由于存储设备发送故障或者其他原因,导致数据丢失,则本申请实施例中还可以对丢失的数据进行恢复,具体流程如下:
S37、处理器2101在确定存储装置220中存储的目标数据丢失时,将与该目标数据对应的剩余数据存储到缓存单元2103所对应的存储空间。
作为一种示例,处理器2101可以周期性向存储设备发送验证信息,该验证信息可以是一个空包或者具有特定报文头的数据包,通过该验证信息来确定存储设备是否发生故障,当处理器2101未在预设时间内接收到存储设备对该验证信息的反馈信息后,则可以确定该存储设备发生故障,发生故障的存储设备中存储的数据即目标数据。
例如,处理器2101确定第一个存储设备发生故障,则该第一个存储设备中存储的数据即目标数据。沿用前述例子,处理器2101占用第一个pt的第一个分条存储待处理数据和校验数据,从而,处理器2101则将每个其他存储设备(第二个存储设备~第六个存储设备)中存储的与第一个分条对应的数据存储到缓存单元2103的存储空间,每个其他存储设备中存储的与第一个分条对应的数据即该剩余数据。
其中,处理器2101将每个剩余存储设备中存储的与第一个分条对应的数据存储到缓存单元2103的存储空间的方式可以是由处理器2101完成,也可以由处理器2101向每个存储设备发送存储指令,由每个存储设备的DMA引擎将对应的数据存储到缓存单元2103的存储空间,具体方式与步骤S35中相似,在此不再赘述。
处理器2101可以获取该剩余数据在缓存单元2103中的存储地址,例如,该存储地址为:偏移量为0,长度为8。
S38、校验数据计算单元2102对该剩余数据进行检验计算,得到该目标数据,并将该目标数据存储在缓存单元2103对应的存储空间。
处理器2101将剩余数据存储到缓存单元2103对应的存储空间后,则可以向校验数据计算单元2102发送第三指令,以通知校验数据计算单元2102对剩余数据进行校验计算,该第三指令中可以包括该剩余数据在缓存单元2103中的存储地址,例如,该存储地址为:偏移量为0,长度为8。校验数据计算单元2102在接收该第三指令后,则根据第三指令中的存储地址获取该剩余数据。然后对该剩余数据进行校验计算,例如,采用与RAID6对应的校验算法对该剩余数据进行计算,从而得到该目标数据。然后将该目标数据存储在缓存单元2103的存储空间中,例如,将目标数据存储在单位存储单元8中。
S39、处理器2101将该剩余数据和该目标数据存储到存储装置220中。
当校验数据计算单元2102计算得到该目标数据后,则可以向处理器2101发送计算完成指令,该计算完成指令中包括该目标数据在缓存单元2103的存储地址。然后,处理器2101可以确定发生故障的第一个存储设备是否已经恢复正常,若恢复正常,则可以将由校验数据计算单元2102计算得到的目标数据存储到该第一个存储设备中;若第一个存储设备仍然处于故障状态,则处理器2101可以重新选择一个分条来存储该剩余数据和该目标数据,从而将该剩余数据和该目标数据存储到与新的分条对应的存储设备中。
在上述技术方案中,当数据发生丢失后,还可以通过上述方式恢复丢失的数据,且处理过程较简单,可以减少处理时延。
另外,在本申请实施例中,当处理器2101将数据存储到存储装置220包括的存储设备后,处理器2101也可以根据客户端发送的读数据请求,从存储设备中获取与该读数据请求对应的数据,并反馈给客户端。例如,处理器2101接收客户端发送的读数据请求,该读数据请求中包括待读取数据的标识(例如待读取数据的名称或者存储地址等),然后,处理器2101可以根据该待读取数据的数据大小,向内存或者缓存单元2103申请对应的存储空间,然后,根据待读取数据的存储地址,将待读取数据存储到在内存或者缓存单元2103中申请的存储空间,从而将待读取数据反馈给客户端。具体过程与现有技术中相似,在此不具体说明。与现有技术不同的地方在于,本申请实施例中,由于处理器2101可以直接访问缓存单元2103,因此,处理器2101获取的待读取数据除了可以存储在内存中,也可以存储到缓存单元2103中。
需要说明的是,图3所示的实施例,在存储阵列场景下该方法是由存储阵列的阵列控制器执行的,在分布式存储系统场景下可以是由分布式存储系统的存储节点或者客户端执行的,而当然,在其他场景下,则是由与存储节点或阵列控制器功能相同的设备或装置执行的,在此不一一说明。
上述本申请提供的实施例中,为了实现上述本申请实施例提供的方法中的各功能,存储系统可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图5示出了一种校验数据计算装置500的结构示意图。其中,校验数据计算装置500可以用于实现分布式存储系统的存储节点的功能,也可以用于实现存储阵列中的阵列控制器的功能。校验数据计算装置500可以是硬件结构、软件模块、或硬件结构加软件模块。校验数据计算装置500可以由芯片系统实现。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
校验数据计算装置500可以包括处理模块501和校验数据计算模块502。
处理模块501可以用于执行图3所示的实施例中的步骤S31、S32、S35~S37以及步骤S39,和/或用于支持本文所描述的技术的其它过程。
校验数据计算模块502可以用于执行图3所示的实施例中的步骤S33、S34以及步骤S38,和/或用于支持本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图5所示的实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图6所示为本申请实施例提供的校验数据计算装置600,其中,校验数据计算装置600可以用于实现分布式存储系统的存储节点的功能,也可以用于实现存储阵列中的阵列控制器的功能。其中,该校验数据计算装置600可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
校验数据计算装置600包括至少一个处理器620,用于实现或用于支持校验数据计算装置600实现本申请实施例提供的方法中处理器的功能。示例性地,处理器620可以确定将待处理数据存储到校验数据计算单元的缓存空间,具体参见方法示例中的详细描述,此处不做赘述。
校验数据计算装置600还可以包括至少一个存储器630,用于存储程序指令和/或数据。存储器630和处理器620耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器620可能和存储器630协同操作。处理器620可能执行存储器630中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
校验数据计算装置600还可以包括校验数据计算单元610,该校验数据计算单元610可以为RAID卡,用于计算校验数据。校验数据计算单元610也可以为图形处理单元(Graphics Processing Unit,GPU),专用芯片等,本发明实施例对此不作限定。
本申请实施例中不限定上述校验数据计算单元610、处理器620以及存储器630之间的具体连接介质。本申请实施例在图6中以存储器630、处理器620以及校验数据计算单元610之间通过总线640连接,该总线可以为使用数据一致性协议通信的总线,总线在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器620可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器630可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行图3所示的实施例中校验数据计算装置执行的方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行图3所示的实施例中校验数据计算装置执行的方法。
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中校验数据计算装置的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例提供了一种存储系统,该存储系统包括图3所示的实施例中校验数据计算装置。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。
Claims (18)
1.一种校验数据计算方法,其特征在于,应用于校验数据计算装置,所述校验数据计算装置包括处理器和校验数据计算单元,其中:
所述处理器获取待处理数据,并将所述待处理数据存储到所述校验数据计算单元的缓存空间;
所述校验数据计算单元从所述缓存空间中获取所述待处理数据,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据。
2.根据权利要求1所述的方法,其特征在于,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据,包括:
所述校验数据计算单元根据预设的校验算法,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据;或,
所述处理器向所述校验数据计算单元发送第一信息,所述第一信息用于指示校验算法;
所述校验数据计算单元根据所述第一信息指示的校验算法,对所述待处理数据进行校验计算得到所述校验数据。
3.根据权利要求1或2所述的方法,其特征在于,所述校验数据计算装置还包括存储装置,所述方法还包括:
所述处理器将所述待处理数据和所述校验数据存储到所述存储装置。
4.根据权利要求3所述的方法,其特征在于,所述处理器将所述待处理数据和所述校验数据存储到所述存储装置,包括:
所述处理器向所述存储装置发送存储指令,所述存储装置的直接内存存取DMA引擎从所述缓存空间中获取所述待处理数据和所述校验数据。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
所述处理器在确定所述存储装置中存储的目标数据丢失时,将与所述目标数据对应的剩余数据存储到所述缓存空间;
所述校验数据计算单元对所述剩余数据进行检验计算,得到所述目标数据,并将所述目标数据存储在所述缓存空间;
所述处理器将所述剩余数据和所述目标数据存储到所述存储装置。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述缓存空间占用所述处理器的部分内存。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述处理器和所述校验数据计算单元通过数据一致性协议通信。
8.根据权利要求1-6任一所述的方法,其特征在于,所述校验数据计算单元为所述存储装置中的多个冗余单元中的待处理数据计算校验数据;所述多个冗余单元所使用的校验算法不同。
9.一种校验数据计算装置,其特征在于,包括处理器和校验数据计算单元,其中:
所述处理器,用于获取待处理数据,并将所述待处理数据存储到所述校验数据计算单元的缓存空间;
所述校验数据计算单元,用于从所述缓存空间中获取所述待处理数据,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据。
10.根据权利要求9所述的装置,其特征在于,所述校验数据计算单元具体用于:
根据预设的校验算法,对所述待处理数据进行校验计算得到所述待处理数据对应的校验数据;或,
所述处理器还用于:向所述校验数据计算单元发送第一信息,所述第一信息用于指示校验算法;
所述校验数据计算单元,用于根据所述第一信息指示的校验算法,对所述待处理数据进行校验计算得到所述校验数据。
11.根据权利要求9或10所述的装置,其特征在于,所述校验数据计算装置还包括存储装置,所述处理器还用于:将所述待处理数据和所述校验数据存储到所述存储装置。
12.根据权利要求11所述的装置,其特征在于,所述处理器具体用于:
向所述存储装置发送存储指令,所述存储装置的直接内存存取DMA引擎从所述缓存空间中获取所述待处理数据和所述校验数据。
13.根据权利要求11或12所述的装置,其特征在于,所述处理器还用于:
在确定所述存储装置中存储的目标数据丢失时,将与所述目标数据对应的剩余数据存储到所述缓存空间;
所述校验数据计算单元还用于:对所述剩余数据进行检验计算,得到所述目标数据,并将所述目标数据存储在所述缓存空间;
所述处理器还用于:将所述剩余数据和所述目标数据存储到所述存储装置。
14.根据权利要求9-13中任一项所述的装置,其特征在于,所述缓存空间占用所述处理器的部分内存。
15.根据权利要求9-14中任一项所述的装置,其特征在于,所述处理器和所述校验数据计算单元通过数据一致性协议通信。
16.根据权利要求9-15任一所述的装置,其特征在于,所述校验数据计算单元用于:
为所述存储装置中的多个冗余单元中的待处理数据计算校验数据;所述多个冗余单元所使用的校验算法不同。
17.一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911076571.2A CN112783684A (zh) | 2019-11-06 | 2019-11-06 | 一种校验数据计算方法及装置 |
PCT/CN2020/121198 WO2021088615A1 (zh) | 2019-11-06 | 2020-10-15 | 一种校验数据计算方法及装置 |
EP20885090.9A EP4036732A4 (en) | 2019-11-06 | 2020-10-15 | METHOD AND DEVICE FOR CALCULATION OF VERIFICATION DATA |
US17/731,566 US12105591B2 (en) | 2019-11-06 | 2022-04-28 | Redundant data calculation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911076571.2A CN112783684A (zh) | 2019-11-06 | 2019-11-06 | 一种校验数据计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783684A true CN112783684A (zh) | 2021-05-11 |
Family
ID=75747592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911076571.2A Pending CN112783684A (zh) | 2019-11-06 | 2019-11-06 | 一种校验数据计算方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12105591B2 (zh) |
EP (1) | EP4036732A4 (zh) |
CN (1) | CN112783684A (zh) |
WO (1) | WO2021088615A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230851A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种新型软件硬件协同raid改进方法 |
CN112286447A (zh) * | 2020-10-14 | 2021-01-29 | 天津津航计算技术研究所 | 一种新型软件硬件协同raid改进系统 |
CN117806568A (zh) * | 2024-02-29 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据更新方法、装置、设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119967011A (zh) * | 2023-10-31 | 2025-05-09 | 杭州阿里云飞天信息技术有限公司 | 数据处理方法及其相关设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3581727B2 (ja) * | 1994-11-11 | 2004-10-27 | 株式会社日立製作所 | ディスクアレイコントローラ及びディスクアレイ装置 |
JP3011035B2 (ja) * | 1994-12-08 | 2000-02-21 | 株式会社日立製作所 | 計算機システム |
JP3674227B2 (ja) * | 1997-03-14 | 2005-07-20 | 株式会社日立製作所 | 可搬メディアを収納する記憶装置 |
US6912687B1 (en) * | 2000-05-11 | 2005-06-28 | Lsi Logic Corporation | Disk array storage subsystem with parity assist circuit that uses scatter-gather list |
US8321758B2 (en) * | 2008-08-05 | 2012-11-27 | Advanced Micro Devices, Inc. | Data error correction device and methods thereof |
CN102609221B (zh) * | 2012-02-07 | 2015-07-08 | 无锡众志和达数据计算股份有限公司 | 一种硬件raid5/6存储系统及数据处理方法 |
CN103049220B (zh) * | 2012-12-19 | 2016-05-25 | 华为技术有限公司 | 存储控制方法、存储控制装置和固态存储系统 |
CN103077095B (zh) * | 2012-12-28 | 2015-05-27 | 华为技术有限公司 | 内存数据的纠错方法及装置及计算机系统 |
US9842024B1 (en) * | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
CN104461373B (zh) * | 2013-09-16 | 2018-01-09 | 杭州宏杉科技股份有限公司 | 一种raid数据处理方法及装置 |
US20150089328A1 (en) * | 2013-09-23 | 2015-03-26 | Futurewei Technologies, Inc. | Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller |
US10613933B2 (en) * | 2014-12-09 | 2020-04-07 | Hitachi Vantara Llc | System and method for providing thin-provisioned block storage with multiple data protection classes |
WO2016090541A1 (zh) * | 2014-12-09 | 2016-06-16 | 清华大学 | 数据存储系统和数据存储方法 |
US11194753B2 (en) * | 2017-09-01 | 2021-12-07 | Intel Corporation | Platform interface layer and protocol for accelerators |
CN107885614A (zh) * | 2017-11-23 | 2018-04-06 | 昌微系统科技(上海)有限公司 | 一种基于存储器的数据处理方法及数据处理装置 |
TWI661307B (zh) * | 2017-12-06 | 2019-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置、主機裝置、以及資料寫入方法 |
US10528258B2 (en) * | 2018-02-28 | 2020-01-07 | International Business Machines Corporation | Determination of redundant array of independent disk level for storage of datasets |
CN109308288B (zh) * | 2018-09-26 | 2020-12-08 | 新华三云计算技术有限公司 | 数据处理方法及装置 |
CN109358809B (zh) * | 2018-09-28 | 2020-07-24 | 方一信息科技(上海)有限公司 | 一种raid数据存储系统及方法 |
-
2019
- 2019-11-06 CN CN201911076571.2A patent/CN112783684A/zh active Pending
-
2020
- 2020-10-15 WO PCT/CN2020/121198 patent/WO2021088615A1/zh unknown
- 2020-10-15 EP EP20885090.9A patent/EP4036732A4/en active Pending
-
2022
- 2022-04-28 US US17/731,566 patent/US12105591B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230851A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种新型软件硬件协同raid改进方法 |
CN112286447A (zh) * | 2020-10-14 | 2021-01-29 | 天津津航计算技术研究所 | 一种新型软件硬件协同raid改进系统 |
CN117806568A (zh) * | 2024-02-29 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据更新方法、装置、设备和存储介质 |
CN117806568B (zh) * | 2024-02-29 | 2024-06-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据更新方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021088615A1 (zh) | 2021-05-14 |
EP4036732A4 (en) | 2022-11-30 |
EP4036732A1 (en) | 2022-08-03 |
US20220253356A1 (en) | 2022-08-11 |
US12105591B2 (en) | 2024-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783684A (zh) | 一种校验数据计算方法及装置 | |
US9389808B2 (en) | Storage device and data processing method | |
CN110096220B (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
US9910599B2 (en) | Cache read-modify-write process control based on monitored criteria | |
US8694698B2 (en) | Storage system and method for prioritizing data transfer access | |
WO2021008197A1 (zh) | 资源分配方法、存储设备和存储系统 | |
CN109753225B (zh) | 一种数据存储方法及设备 | |
CN111095188A (zh) | 使用基于云的模组的动态数据重定位 | |
CN112527492A (zh) | 一种分布式存储系统中的数据存储方法及装置 | |
WO2014206078A1 (zh) | 内存访问方法、装置及系统 | |
CN110389710A (zh) | 分配存储资源的方法和装置 | |
US20210216231A1 (en) | Method, electronic device and computer program product for rebuilding disk array | |
US10860224B2 (en) | Method and system for delivering message in storage system | |
CN109840051B (zh) | 一种存储系统的数据存储方法及装置 | |
US11853163B2 (en) | Selective rebuild of interrupted devices in data storage device arrays | |
CN109783002B (zh) | 数据读写方法、管理设备、客户端和存储系统 | |
WO2023102784A1 (zh) | 数据存取方法、装置、磁盘控制器、磁盘和数据存储系统 | |
US6513098B2 (en) | Method and apparatus for scalable error correction code generation performance | |
US9430489B2 (en) | Computer, data storage method, and information processing system | |
CN111007988B (zh) | 一种raid内部磨损均衡方法、系统、终端及存储介质 | |
US20230244417A1 (en) | Storage node, storage device, and network chip | |
US11740804B1 (en) | System and method for performing data striping | |
US8966173B1 (en) | Managing accesses to storage objects | |
CN113342257B (zh) | 伺服器及相关的控制方法 | |
CN116594551A (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 |