CN108595269A - 一种数据处理方法、指令生成装置和数据读写装置 - Google Patents
一种数据处理方法、指令生成装置和数据读写装置 Download PDFInfo
- Publication number
- CN108595269A CN108595269A CN201810384588.3A CN201810384588A CN108595269A CN 108595269 A CN108595269 A CN 108595269A CN 201810384588 A CN201810384588 A CN 201810384588A CN 108595269 A CN108595269 A CN 108595269A
- Authority
- CN
- China
- Prior art keywords
- data
- storage unit
- target data
- control instruction
- object identifier
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供一种数据处理方法、指令生成装置和数据读写装置,执行在指令生成装置中的方法包括:确定目标数据所要占据的存储单元的数量;比较所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,数据条带为目标数据将要存储到的数据条带;将目标数据和控制指令发送给数据读写装置,在采用上述处理方式后,由于是由数据读写装置对目标数据进行异或运算的,因此可以降低CPU的数据处理量,从而有利于降低CPU的占用率,进而有利于提高CPU处理数据的速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、指令生成装置和数据读写装置。
背景技术
对于RAID(Redundant Arrays of independent Disks,独立冗余磁盘阵列),原理是将多个硬盘按照一定的形式和方案组织起来,通过这样的形式能够获取比单个硬盘更高的速度、更好的稳定性、更大的存储能力的存储解决方案,使用中整个阵列就如同一块硬盘一样。
现有的RAID实现技术包括软RAID,在软RAID中,是通过操作系统和CPU(CentralProcessing Unit,中央处理器)来完成写操作的,在进行写操作时,会对数据进行异或计算,而在进行异或计算时,会使CPU的占用率较高,从而使得CPU处理数据时的速度较慢。
发明内容
有鉴于此,本申请提供了一种数据处理方法、指令生成装置和数据读写装置,以提高CPU处理数据时的速度。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提供了一种数据处理方法,执行在指令生成装置,所述方法包括:
确定目标数据所要占据的存储单元的数量;
比较所述所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,所述数据条带为所述目标数据将要存储到的数据条带;
将所述目标数据和所述控制指令发送给数据读写装置。
可选地,所述比较所述所要占据的存储单元的数量与数据条带中包括的存储单元数量,以生成控制指令,包括:
当所述所要占据的存储单元的数量大于或等于所述数据条带中包括的存储单元的数量的一半,且所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量时,生成用于读取非目标存储单元数据的控制指令,其中,所述非目标存储单元为所述数据条带中不被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,所述校验值存储在所述数据条带对应的目标校验条带中,所述目标存储单元为所述数据条带中被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量等于所述数据条带中包括的存储单元的数量时,生成用于对所述目标数据进行异或运算的控制指令。
可选地,所述指令生成装置为中央处理器CPU。
第二方面,本申请提供了一种指令生成装置,所述指令生成装置包括:
确定单元,用于确定目标数据所要占据的存储单元的数量;
指令生成单元,用于比较所述所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,所述数据条带为所述目标数据将要存储到的数据条带;
发送单元,用于将将所述目标数据和所述控制指令发送给数据读写装置。
可选地,在所述指令生成单元用于比较所述所要占据的存储单元的数量与数据条带中包括的存储单元数量,以生成控制指令时,具体用于:
当所述所要占据的存储单元的数量大于或等于所述数据条带中包括的存储单元的数量的一半,且所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量时,生成用于读取非目标存储单元数据的控制指令,其中,所述非目标存储单元为所述数据条带中不被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,所述校验值存储在所述数据条带对应的目标校验条带中,所述目标存储单元为所述数据条带中被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量等于所述数据条带中包括的存储单元的数量时,生成用于对所述目标数据进行异或运算的控制指令。
第三方面,本申请提供了另一种数据处理方法,执行在数据读写装置,所述方法包括:
接收指令生成装置发送的目标数据和控制指令;
根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值;
使用所述目标数据对目标存储单元中的数据进行覆盖,以及使用所述目标校验值对目标校验条带中的校验值进行覆盖,所述目标校验条带为所述目标数据将要存储到的数据条带对应的校验条带,所述目标存储单元为所述目标数据将要存储到的数据条带中被所述目标数据所覆盖的存储单元。
可选地,所述根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值,包括:
当所述控制指令为用于读取非目标存储单元数据的控制指令时,读取所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于读取校验值和读取目标存储单元数据的控制指令时,读取所述目标校验条带中的校验值和所述目标存储单元中的数据;对所述目标校验条带中的校验值和所述目标存储单元中的数据进行异或运算,得到所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于对所述目标数据进行异或运算的控制指令时,对所述目标数据进行异或运算,得到所述目标校验值;
其中,所述非目标存储单元为所述目标数据将要存储到的数据条带中不被所述目标数据所覆盖的存储单元。
可选地,所述数据读写装置为现场可编程门阵列FPGA。
第四方面,本申请提供了一种数据读写装置,所述数据读写装置包括:
接收单元,用于接收指令生成装置发送的目标数据和控制指令;
计算单元,用于根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值;
存储单元,用于使用所述目标数据对目标存储单元中的数据进行覆盖,以及使用所述目标校验值对目标校验条带中的校验值进行覆盖,所述目标校验条带为所述目标数据将要存储到的数据条带对应的校验条带,所述目标存储单元为所述目标数据将要存储到的数据条带中被所述目标数据所覆盖的存储单元。
可选地,在所述计算单元用于根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值时,具体用于:
当所述控制指令为用于读取非目标存储单元数据的控制指令时,读取所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于读取校验值和读取目标存储单元数据的控制指令时,读取所述目标校验条带中的校验值和所述目标存储单元中的数据;对所述目标校验条带中的校验值和所述目标存储单元中的数据进行异或运算,得到所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于对所述目标数据进行异或运算的控制指令时,对所述目标数据进行异或运算,得到所述目标校验值;
其中,所述非目标存储单元为所述目标数据将要存储到的数据条带中不被所述目标数据所覆盖的存储单元。
上述技术方案中的任一个技术方案具有如下有益效果:
在本申请实施例中,指令生成装置用于生成控制指令,数据读写装置根据指令生成装置发送的控制指令,对目标数据进行异或运算,并由数据读写装置得到目标校验值,然后由数据读写装置使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖,在采用上述处理方式后,由于是由数据读写装置对目标数据进行异或运算的,因此可以降低CPU的数据处理量,从而有利于降低CPU的占用率,进而有利于提高CPU处理数据的速度,并且在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是由数据读写装置来处理的,从而可以进一步减少CPU的数据处理量,进而有利于进一步降低CPU的占用率,因此可以进一步提高CPU处理数据的速度。
附图说明
图1为本申请提供的一种数据处理方法的流程示意图;
图2为本申请提供的另一种数据处理方法的流程示意图;
图3为本申请提供的另一种数据处理方法的流程示意图;
图4为本申请提供的一种软RAID的结构示意图;
图5为本申请提供的一种指令生成装置的结构示意图;
图6为本申请提供的一种数据读写装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1为本申请提供的一种数据处理方法的流程示意图,该方法执行在指令生成装置中,如图1所示,该方法包括以下步骤:
101、确定目标数据所要占据的存储单元的数量。
具体的,在指令生成装置接收到目标数据后,以一个存储单元的数据存储量为基础,确定该目标数据需要被几个存储单元所承载,即确定目标数据所要占据的存储单元的数量。
软RAID包括多个硬盘,每个硬盘中包括多个存储单元,每个存储单元为存储数据的最小单位,且不同的存储单位的数据存储量是相同的,其中,位于同一硬盘中的各存储单元的地址偏移不同,在任意两个硬盘中,包括两个地址偏移相同的存储单元,例如:在第一硬盘中包括一个地址偏移为A的存储单元,在第二硬盘中同样也包括一个地址偏移为A的存储单元,并且在不同的硬盘中,地址偏移相同的存储单元构成数据条带,数据条带的数量与一个硬盘中包括的存储单元的数量相同,且不同的数据条带包括的存储单元的数量也是相同的。
在软RAID包括的多个硬盘中设置有一个用于存储校验值的硬盘,其中,该硬盘中包括多个校验条带,每个校验条带由该硬盘中的一个存储单元构成,该硬盘中的多个校验条带与各数据条带为一一对应的关系,相互对应的校验条带和数据条带中的存储单元的地址偏移相同,因此可以根据存储单元的地址偏移确定哪些存储单元位于同一个数据条带中,以及该数据条带对应的校验条带。校验条带中存储有校验值,该校验值是由对应的数据条带中数据经过异或运算得到的,因此,当一个硬盘下线后,可以利用相互对应的校验值和数据进行异或运算,得到该下线的硬盘中存储的数据,从而使得软RAID的容错性较高。
102、比较所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,数据条带为目标数据将要存储到的数据条带。
具体的,由于目标数据所要占据的存储单元的数量不同时,在读取软RAID中存储的数据时,读取的数据是不同的,因此需要比较所要占据的存储单元的数量与数据条带中包括的存储单元数量,以确定出将要读取的数据,从而生成对应的控制指令。
103、将目标数据和控制指令发送给数据读写装置。
具体的,在将目标数据和控制指令发送给数据读写装置后,可以由数据读写装置对目标数据进行异或运算,得到目标校验值,以及由数据读写装置使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖,即由数据读写装置对目标数据进行异或运算,以及由数据读写装置对数据覆盖进行控制的,因此可以降低CPU的数据处理量,从而有利于降低CPU的占用率,进而有利于提高CPU处理数据的速度。并且,由于指令生成装置和数据读写装置只需要进行一次指令交互就可以完成上述处理过程,从而有利于降低指令生成装置和数据读写装置之间的交互次数,进而有利于降低信令的开销。
在一个可行的实施方案中,需要提前说明的是,非目标存储单元是指目标数据将要存储到的数据条带中不被目标数据所覆盖的存储单元,目标存储单元是指目标数据将要存储到的数据条带中被目标数据所覆盖的存储单元,目标校验条带是指目标数据将要存储到的数据条带相对应校验条带。在比较所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令时,具体可以包括以下情况之一:
情况一:当所要占据的存储单元的数量大于或等于数据条带中包括的存储单元的数量的一半,且所要占据的存储单元的数量小于数据条带中包括的存储单元的数量时,生成用于读取非目标存储单元数据的控制指令,其中,非目标存储单元为数据条带中不被目标数据所覆盖的存储单元。
具体的,为了降低从软RAID中读取的数据量,在所要占据的存储单元的数量大于或等于数据条带中包括的存储单元数量的一半,且所要占据的存储单元的数量小于数据条带中包括的存储单元数量时,生成用于读取非目标存储单元数据的控制指令,在数据读写装置接收到该控制指令后,可以只读取非目标存储单元中的数据,然后对目标数据和非目标存储单元中存储的数据进行异或运算,从而得到目标校验值,然后使用目标数据对目标存储单元中的数据进行覆盖,使用目标校验值对目标校验条带中的校验值进行覆盖,在采用上述处理方式后,由于读取的数据量相对较少,因此有利于降低数据读写装置的数据处理工作量,并且,由于是由数据读写装置进行的异或运算,因此有利于降低CPU的占有率,从而有利于提高CPU处理数据的速度,同时,在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是有数据读写装置来处理的,从而可以进一步减少CPU的数据处理量,从而有利于进一步降低CPU的占用率,因此可以进一步提高CPU处理数据的速度。
情况二:当所要占据的存储单元的数量小于数据条带中包括的存储单元的数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,校验值存储在数据条带对应的目标校验条带中。
具体的,为了降低从软RAID中读取的数据量,当所要占据的存储单元的数量小于数据条带中包括的存储单元数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,在数据读写装置接收到该控制指令后,可以读取目标存储单元中存储的数据和对应的校验值,然后数据读写装置对该校验值和目标存储单元中存储的数据进行异或运算,以得到非目标存储单元中存储的数据,再对非目标存储单元中存储的数据和目标存储单元中存储的数据进行异或运算,从而得到目标校验值,数据读写装置可以使用目标数据对目标存储单元中的数据进行覆盖,使用目标校验值对目标校验条带中的校验值进行覆盖,相对于读取非目标存储单元中存储的数据,在采用上述处理方式后,由于在读取数据时,读取的数据量相对较少,因此有利于降低数据读写装置的数据处理工作量,并且,由于是由数据读写装置进行的异或运算,因此有利于降低CPU的占有率,同时,在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是有数据读写装置来控制的,从而可以进一步减少CPU的数据处理量,进而有利于进一步降低CPU的占用率。
情况三:当所要占据的存储单元的数量等于数据条带中包括的存储单元的数量时,生成用于对目标数据进行异或运算的控制指令。
具体的,由于所要占据的存储单元的数量等于数据条带中包括的存储单元数量,因此,该目标数据需要对对应的数据条带中的数据进行完全覆盖,因此可以直接对目标数据进行异或运算,从而得到目标校验值,并使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖,由于在进行异或运算时是由数据读写装置来处理的,因此有利于降低CPU的占有率,同时,在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是有数据读写装置来处理的,从而可以进一步减少CPU的数据处理量,进而有利于进一步降低CPU的占用率。同时,在采用上述处理方式后,数据读写装置不会对数据进行读取,因此可以降低数据读写装置的数据处理量,从而有利于提高数据读写装置的数据处理速度。
在一个可行的实施方案中,指令生成装置为中央处理器CPU。
图2为本申请提供的另一种数据处理方法的流程示意图,该方法执行在数据读写装置中,需要提前说明的是,目标校验条带为目标数据将要存储到的数据条带对应的校验条带,目标存储单元为目标数据将要存储到的数据条带中被目标数据所覆盖的存储单元,如图2所示,该方法包括以下步骤:
201、接收指令生成装置发送的目标数据和控制指令。
关于控制指令的生成原理可参考图1对应相关内容,在此不再详细赘述。
202、根据控制指令,对目标数据进行异或运算,得到目标校验值。
具体的,由于在目标数据对数据条带中的数据进行覆盖后,目标数据和该数据条带中未被覆盖的数据的异或运算值与当前目标校验条带中的校验值不同,因此,为了保证目标数据和该数据条带中未被覆盖的数据与目标校验条带中的校验值具有对应关系,需要根据控制指令,对目标数据进行异或运算,得到目标校验值,其中,该目标校验值在经过异或运算后可以得到该目标数据和该数据条带中未被覆盖的数据。
203、使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖。
具体的,目标存储单元为该目标数据将要存储到的数据条带中的存储单元,在经过上述步骤后,完成了对目标数据的存储,由于是由数据读写装置对目标数据进行异或运算的,因此可以降低CPU的数据处理量,从而有利于降低CPU的占用率,进而有利于提高CPU处理数据的速度,并且在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是由数据读写装置来处理的,从而可以进一步减少CPU的数据处理量,进而有利于进一步降低CPU的占用率,因此可以进一步提高CPU处理数据的速度。
在一个可行的实施方案中,需要提前进行说明的是,非目标存储单元为目标数据将要存储到的数据条带中不被目标数据所覆盖的存储单元,在根据控制指令,对目标数据进行异或运算,得到目标校验值时,包括以下情况之一:
情况一:当控制指令为用于读取非目标存储单元数据的控制指令时,读取非目标存储单元中的数据;对非目标存储单元中的数据和目标数据进行异或运算,得到目标校验值。
情况二:当控制指令为用于读取校验值和读取目标存储单元数据的控制指令时,读取目标校验条带中的校验值和目标存储单元中的数据;对目标校验条带中的校验值和目标存储单元中的数据进行异或运算,得到非目标存储单元中的数据;对非目标存储单元中的数据和目标数据进行异或运算,得到目标校验值。
情况三:当控制指令为用于对目标数据进行异或运算的控制指令时,对目标数据进行异或运算,得到目标校验值。
关于上述三种情况的详细说明可参考与图1相对应的介绍,在此不再详细赘述。
在一个可行的实施方案中,数据读写装置为FPGA(Field-Programmable GateArray,现场可编程门阵列)。
为了进一步阐述本申请的技术思想和实现方式,现结合具体的应用场景对本发明实施例进行详细说明,具体的,图3为本申请提供的另一种数据处理方法的流程示意图,该数据处理方法执行在数据处理系统中,该数据处理系统包括CPU和FPGA,如图3所示,该方法包括以下步骤:
301、CPU接收目标数据。
具体的,该目标数据为将要进行存储的数据。
302、CPU确定该目标数据所要占据的数据存储单元的数量。
具体的,图4为本申请提供的一种软RAID的结构示意图,如图4所示,软RAID中包括4个硬盘,其中,硬盘1、硬盘2和硬盘3用于存储数据,硬盘4用于存储校验值,硬盘1、硬盘2和硬盘3分别包括3个数据存储单元,硬盘4包括3个校验值存储单元,一个数据存储单元或一个校验值存储单元如图4中虚线框所示,如图4所示,被虚线段连接的数据存储单元和校验值存储单元具有相同的地址偏移,在硬盘1、硬盘2、硬盘3和硬盘4中,具有相同地址偏移的数据存储单元构成数据条带,与数据存储单元具有相同地址偏移的数据存储单元构成校验条带,因此数据条带和校验条带为一一对应的关系,每个校验条带中存储有校验值,该校验值为对应数据条带中的数据进行异或运算后得到的,当一个硬盘掉线之后,可以对具有相同地址偏移的数据存储单元中的数据和校验值存储单元中的校验值进行异或运算,得到掉线的硬盘中存储数据,因此软RAID的稳定性较高。需要注意的是,不同的数据条带中包括的数据存储单元的数量是相同的,且数据条带的数量可以与硬盘1包括的数据存储单元的数量相同,硬盘1、硬盘2和硬盘3包括的数据存储单元的数量相同。
如图4所示,在硬盘1、硬盘2和硬盘3中,不同的数据存储单元的数据存储量是相同的,因此在CPU接收到目标数据后,可以以一个数据存储单元的数据存储量为基础,计算该目标数据所要占据的数据存储单元的数量。
303、CPU比较该目标数据所要占据的数据存储单元的数量和数据条带包括的数据存储单元的数量,以生成控制指令。
在CPU比较该目标数据所要占据的数据存储单元的数量和数据条带包括的数据存储单元的数量,生成控制指令时,包括以下情况之一:
情况一:当该目标数据所要占据的数据存储单元的数量大于或等于数据条带中包括的数据存储单元的数量的一半,且该目标数据所要占据的数据存储单元的数量小于数据条带中包括的数据存储单元的数量时,生成用于读取非目标数据存储单元数据的控制指令,其中,非目标数据存储单元为该目标数据将要存储到的数据条带中不被该目标数据所覆盖的存储单元。
情况二:当该目标数据所要占据的数据存储单元的数量小于数据条带中包括的数据存储单元的数量的一半时,生成用于读取校验值和读取目标数据存储单元数据的控制指令,该校验值存储在该目标数据将要存储到的数据条带对应的校验条带中,目标数据存储单元为该目标数据将要存储到的数据条带中被目标数据所覆盖的数据存储单元。
情况三:当该目标数据所要占据的数据存储单元的数量等于数据条带中包括的数据存储单元的数量时,生成用于对目标数据进行异或运算的控制指令。
304、CPU将目标数据和控制指令发送给FPGA。
305、FPGA根据控制指令,对目标数据进行异或运算,得到目标校验值。
在FPGA根据控制指令,对目标数据进行异或运算,得到目标校验值,具体包括以下情况之一:
情况一:当控制指令为用于读取校验值和读取目标数据存储单元数据的控制指令时,FPGA读取软RAID的目标校验条带中的校验值和软RAID的目标数据存储单元中的数据;FPGA对目标校验条带中的校验值和目标数据存储单元中的数据进行异或运算,得到非目标数据存储单元中的数据;FPGA对非目标数据存储单元中的数据和目标数据进行异或运算,得到目标校验值,其中,目标校验条带为目标数据将要存储到的数据条带对应的校验条带。
情况二:当控制指令为用于读取校验值和读取目标数据存储单元数据的控制指令时,FPGA读取软RAID的目标校验条带中的校验值和软RAID的目标数据存储单元中的数据;FPGA对目标校验条带中的校验值和目标数据存储单元中的数据进行异或运算,得到非目标数据存储单元中的数据;FPGA对非目标数据存储单元中的数据和目标数据进行异或运算,得到目标校验值。
情况三:当控制指令为用于对目标数据进行异或运算的控制指令时,FPGA对目标数据进行异或运算,得到目标校验值。
306、FPGA使用目标数据对软RAID的目标数据存储单元中的数据进行覆盖,以及使用目标校验值对软RAID的目标校验条带中的校验值进行覆盖。
在经过步骤301至步骤306后,目标数据存储到了对应的数据存储单元中。
需要注意的是,当FPGA的任一执行步骤发生错误后,会向CPU发送报文,以使CPU终止命令。
在CPU将目标数据和控制指令发送给FPGA时,会将要写入和读出的数据所在的硬盘的信息、校验条带所在的硬盘的信息、硬盘的逻辑区块地址、CPU的内存地址等信息封装进约定好的命令帧中,将命令帧通过PCIE总线传输到FPGA。
在FPGA接收到命令帧后,首先判断读写方式(命令帧中有关于读写方式的信息),如果是读方式,要对每个将要读的数据硬盘发送一个读硬盘命令帧,当收到硬盘返回的数据后,将数据缓存在FPGA的内存DRAM(Dynamic Random Access Memory,动态随机存取存储器)中,当全部数据读出并且全部硬盘返回的状态都显示执行过程中没有出错时,将数据从FPGA的内存DRAM中通过DMA(Direct Memory Access,直接内存访问)方式写到CPU的内存中,写完成后要发送特定帧通知软RAID的控制器驱动这个读方式的RAID命令完成,如果有的硬盘在读操作时,返回的状态信息显示出错,则流程中止,并且通知软RAID的控制器驱动命令执行失败。
如果是整条写方式,首先要将数据从CPU的内存中通过DMA方式读取到FPGA的内存中,将数据写到DRAM的同时进行异或计算,当把要写的数据和异或计算得出的校验数据全部写入FPGA的内存后,数据读写控制模块对全部数据硬盘和校验硬盘发送写硬盘命令帧,当全部硬盘返回的状态都显示没有出错时,要通知RAID控制器驱动这个RAID命令成功完成,否则通知RAID控制器驱动这个RAID命令执行失败。
如果是读改写或者重构写方式(他们的执行流程是一样的),首先要把将要写的新数据从CPU的内存中通过DMA方式读取到FPGA的内存中,与之同时,FPGA要对将要读的数据硬盘发送读硬盘命令帧,当硬盘返回状态显示全部成功完成并且读CPU内存中的数据已全部完成,则FPGA中的数据读写控制模块通知FPGA中的数据存储模块进行异或计算。FPGA中的数据存储模块将从CPU内存中读出的数据和从硬盘中读出的数据进行异或计算,计算出的数据写入FPGA的内存中。FPGA中的数据存储模块通知FPGA中的数据读写控制模块已完成,FPGA中的数据读写控制模块对要写入的硬盘和校验盘发写硬盘命令帧。当全部硬盘返回的状态都显示没有出错时,FPGA中的数据读写控制模块要通知软RAID的控制器驱动这个RAID命令成功完成,否则通知软RAID的控制器驱动这个RAID命令执行失败。其中,数据读写控制模块的功能是给硬盘发送读写硬盘的命令、接收硬盘返回的状态、对流程进行控制调度、给数据存储模块发送指令和接收数据存储模块执行完成标志等。数据存储模块的功能读取CPU中内存的数据,发送数据给CPU中的内存,缓存从硬盘读出的数据和进行异或计算等。
数据在FPGA中的DRAM中的数据缓存情况是:不管硬盘在软RAID组里的排序,不像数据在CPU的内存是按中每个盘对应到内存中的一个地址来缓存的,这里将数据分为三个区域:从CPU的内存中读出的数据(即将要写入的新数据)区域;从硬盘中读出数据(不论是已存储在数据硬盘的数据还是不需要修改的数据,或者是已存储在校验硬盘的校验数据)区域;存放计算后的数据的校验区域。每个区域的大小是由命令帧中读和写硬盘的个数决定的,这样按区域划分内存能提高内存的读写性能,并且在读写时不用关心具体的硬盘编号,只要知道读和写的硬盘个数即可。
为了提高软RAID的性能,将从软RAID的控制器驱动下发的每个命令分配一个tagid值,范围是0-127。这里将tag id也作为DRAM地址的一部分,将不同tag id(即不同命令帧)的数据放置在不同地址中。在命令执行完成或失败后,数据读写控制模块在通知软RAID的控制器驱动命令执行情况时也要加tag id值,这样驱动就知道是哪个命令完成了。加了tag id可以让整个流程并行执行起来,不同命令有不同的tag id,最多可以让128个命令并行执行,提高RAID的执行速度。
图5为本申请提供的一种指令生成装置的结构示意图,如图5所示,该指令生成装置包括:
确定单元51,用于确定目标数据所要占据的存储单元的数量。
指令生成单元52,用于比较所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,数据条带为目标数据将要存储到的数据条带。
发送单元53,用于将将目标数据和控制指令发送给数据读写装置。
在一个可行的实施方案中,在指令生成单元52用于比较所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令时,具体用于:
当所要占据的存储单元的数量大于或等于数据条带中包括的存储单元的数量的一半,且所要占据的存储单元的数量小于数据条带中包括的存储单元的数量时,生成用于读取非目标存储单元数据的控制指令,其中,非目标存储单元为数据条带中不被目标数据所覆盖的存储单元;
当所要占据的存储单元的数量小于数据条带中包括的存储单元的数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,校验值存储在数据条带对应的目标校验条带中,目标存储单元为数据条带中被目标数据所覆盖的存储单元;
当所要占据的存储单元的数量等于数据条带中包括的存储单元的数量时,生成用于对目标数据进行异或运算的控制指令。
关于指令生成装置的工作原理和详细说明可参考图1对应的相关介绍,在此不再详细赘述。
在本申请实施例中,指令生成装置用于生成控制指令,数据读写装置根据指令生成装置发送的控制指令,对目标数据进行异或运算,并由数据读写装置得到目标校验值,然后由数据读写装置使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖,在采用上述处理方式后,由于是由数据读写装置对目标数据进行异或运算的,因此可以降低CPU的数据处理量,从而有利于降低CPU的占用率,进而有利于提高CPU处理数据的速度,并且在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是由数据读写装置来处理的,从而可以进一步减少CPU的数据处理量,进而有利于进一步降低CPU的占用率,因此可以进一步提高CPU处理数据的速度。
图6为本申请提供的一种数据读写装置的结构示意图,如图6所示,该数据读写装置包括:
接收单元61,用于接收指令生成装置发送的目标数据和控制指令。
计算单元62,用于根据控制指令,对目标数据进行异或运算,得到目标校验值。
存储单元63,用于使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖,目标校验条带为目标数据将要存储到的数据条带对应的校验条带,目标存储单元为目标数据将要存储到的数据条带中被目标数据所覆盖的存储单元。
在一个可行的实施方案中,在计算单元62用于根据控制指令,对目标数据进行异或运算,得到目标校验值时,具体用于:
当控制指令为用于读取非目标存储单元数据的控制指令时,读取非目标存储单元中的数据;对非目标存储单元中的数据和目标数据进行异或运算,得到目标校验值;
当控制指令为用于读取校验值和读取目标存储单元数据的控制指令时,读取目标校验条带中的校验值和目标存储单元中的数据;对目标校验条带中的校验值和目标存储单元中的数据进行异或运算,得到非目标存储单元中的数据;对非目标存储单元中的数据和目标数据进行异或运算,得到目标校验值;
当控制指令为用于对目标数据进行异或运算的控制指令时,对目标数据进行异或运算,得到目标校验值;
其中,非目标存储单元为目标数据将要存储到的数据条带中不被目标数据所覆盖的存储单元。
关于数据读写装置的工作原理和详细说明可参考图1对应的相关介绍,在此不再详细赘述。
在本申请实施例中,指令生成装置用于生成控制指令,数据读写装置根据指令生成装置发送的控制指令,对目标数据进行异或运算,并由数据读写装置得到目标校验值,然后由数据读写装置使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖,在采用上述处理方式后,由于是由数据读写装置对目标数据进行异或运算的,因此可以降低CPU的数据处理量,从而有利于降低CPU的占用率,进而有利于提高CPU处理数据的速度,并且在使用目标数据对目标存储单元中的数据进行覆盖,以及使用目标校验值对目标校验条带中的校验值进行覆盖时,也是由数据读写装置来处理的,从而可以进一步减少CPU的数据处理量,进而有利于进一步降低CPU的占用率,因此可以进一步提高CPU处理数据的速度。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,执行在指令生成装置,所述方法包括:
确定目标数据所要占据的存储单元的数量;
比较所述所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,所述数据条带为所述目标数据将要存储到的数据条带;
将所述目标数据和所述控制指令发送给数据读写装置。
2.如权利要求1所述的方法,其特征在于,所述比较所述所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,包括:
当所述所要占据的存储单元的数量大于或等于所述数据条带中包括的存储单元的数量的一半,且所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量时,生成用于读取非目标存储单元数据的控制指令,其中,所述非目标存储单元为所述数据条带中不被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,所述校验值存储在所述数据条带对应的目标校验条带中,所述目标存储单元为所述数据条带中被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量等于所述数据条带中包括的存储单元的数量时,生成用于对所述目标数据进行异或运算的控制指令。
3.如权利要求1所述的方法,其特征在于,所述指令生成装置为中央处理器CPU。
4.一种指令生成装置,其特征在于,所述指令生成装置包括:
确定单元,用于确定目标数据所要占据的存储单元的数量;
指令生成单元,用于比较所述所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令,其中,所述数据条带为所述目标数据将要存储到的数据条带;
发送单元,用于将将所述目标数据和所述控制指令发送给数据读写装置。
5.如权利要求4所述的指令生成装置,其特征在于,在所述指令生成单元用于比较所述所要占据的存储单元的数量与数据条带中包括的存储单元的数量,以生成控制指令时,具体用于:
当所述所要占据的存储单元的数量大于或等于所述数据条带中包括的存储单元的数量的一半,且所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量时,生成用于读取非目标存储单元数据的控制指令,其中,所述非目标存储单元为所述数据条带中不被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量小于所述数据条带中包括的存储单元的数量的一半时,生成用于读取校验值和读取目标存储单元数据的控制指令,所述校验值存储在所述数据条带对应的目标校验条带中,所述目标存储单元为所述数据条带中被所述目标数据所覆盖的存储单元;
当所述所要占据的存储单元的数量等于所述数据条带中包括的存储单元的数量时,生成用于对所述目标数据进行异或运算的控制指令。
6.一种数据处理方法,其特征在于,执行在数据读写装置,所述方法包括:
接收指令生成装置发送的目标数据和控制指令;
根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值;
使用所述目标数据对目标存储单元中的数据进行覆盖,以及使用所述目标校验值对目标校验条带中的校验值进行覆盖,所述目标校验条带为所述目标数据将要存储到的数据条带对应的校验条带,所述目标存储单元为所述目标数据将要存储到的数据条带中被所述目标数据所覆盖的存储单元。
7.如权利要求6所述的方法,其特征在于,所述根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值,包括:
当所述控制指令为用于读取非目标存储单元数据的控制指令时,读取所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于读取校验值和读取目标存储单元数据的控制指令时,读取所述目标校验条带中的校验值和所述目标存储单元中的数据;对所述目标校验条带中的校验值和所述目标存储单元中的数据进行异或运算,得到所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于对所述目标数据进行异或运算的控制指令时,对所述目标数据进行异或运算,得到所述目标校验值;
其中,所述非目标存储单元为所述目标数据将要存储到的数据条带中不被所述目标数据所覆盖的存储单元。
8.如权利要求6所述的方法,其特征在于,所述数据读写装置为现场可编程门阵列FPGA。
9.一种数据读写装置,其特征在于,所述数据读写装置包括:
接收单元,用于接收指令生成装置发送的目标数据和控制指令;
计算单元,用于根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值;
存储单元,用于使用所述目标数据对目标存储单元中的数据进行覆盖,以及使用所述目标校验值对目标校验条带中的校验值进行覆盖,所述目标校验条带为所述目标数据将要存储到的数据条带对应的校验条带,所述目标存储单元为所述目标数据将要存储到的数据条带中被所述目标数据所覆盖的存储单元。
10.如权利要求9所述的数据读写装置,其特征在于,在所述计算单元用于根据所述控制指令,对所述目标数据进行异或运算,得到目标校验值时,具体用于:
当所述控制指令为用于读取非目标存储单元数据的控制指令时,读取所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于读取校验值和读取目标存储单元数据的控制指令时,读取所述目标校验条带中的校验值和所述目标存储单元中的数据;对所述目标校验条带中的校验值和所述目标存储单元中的数据进行异或运算,得到所述非目标存储单元中的数据;对所述非目标存储单元中的数据和所述目标数据进行异或运算,得到所述目标校验值;
当所述控制指令为用于对所述目标数据进行异或运算的控制指令时,对所述目标数据进行异或运算,得到所述目标校验值;
其中,所述非目标存储单元为所述目标数据将要存储到的数据条带中不被所述目标数据所覆盖的存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810384588.3A CN108595269B (zh) | 2018-04-26 | 2018-04-26 | 一种数据处理方法、指令生成装置和数据读写装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810384588.3A CN108595269B (zh) | 2018-04-26 | 2018-04-26 | 一种数据处理方法、指令生成装置和数据读写装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108595269A true CN108595269A (zh) | 2018-09-28 |
CN108595269B CN108595269B (zh) | 2020-10-09 |
Family
ID=63609666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810384588.3A Active CN108595269B (zh) | 2018-04-26 | 2018-04-26 | 一种数据处理方法、指令生成装置和数据读写装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595269B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117193669A (zh) * | 2023-11-06 | 2023-12-08 | 格创通信(浙江)有限公司 | 一种报文描述符离散存储方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566924A (zh) * | 2008-04-23 | 2009-10-28 | 中兴通讯股份有限公司 | 一种磁盘阵列的数据读写方法 |
CN101916173A (zh) * | 2010-08-27 | 2010-12-15 | 杭州华三通信技术有限公司 | 一种基于raid的数据读写方法及其系统 |
CN103019893A (zh) * | 2012-11-16 | 2013-04-03 | 华中科技大学 | 一种多盘容错的二维混合盘raid4系统架构及其读写方法 |
CN104516679A (zh) * | 2013-09-30 | 2015-04-15 | 杭州宏杉科技有限公司 | 一种raid数据处理方法及装置 |
CN105138469A (zh) * | 2015-08-28 | 2015-12-09 | 北京腾凌科技有限公司 | 一种数据读写方法以及主板 |
CN105183374A (zh) * | 2015-08-28 | 2015-12-23 | 北京腾凌科技有限公司 | 一种数据读写方法以及主板 |
US20160110246A1 (en) * | 2014-10-20 | 2016-04-21 | Emc Corporation | Disk data management |
CN106354435A (zh) * | 2016-08-31 | 2017-01-25 | 北京腾凌科技有限公司 | Raid初始化的方法及装置 |
CN106708445A (zh) * | 2017-01-19 | 2017-05-24 | 北京腾凌科技有限公司 | 链路选择方法及装置 |
-
2018
- 2018-04-26 CN CN201810384588.3A patent/CN108595269B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566924A (zh) * | 2008-04-23 | 2009-10-28 | 中兴通讯股份有限公司 | 一种磁盘阵列的数据读写方法 |
CN101916173A (zh) * | 2010-08-27 | 2010-12-15 | 杭州华三通信技术有限公司 | 一种基于raid的数据读写方法及其系统 |
CN103019893A (zh) * | 2012-11-16 | 2013-04-03 | 华中科技大学 | 一种多盘容错的二维混合盘raid4系统架构及其读写方法 |
CN104516679A (zh) * | 2013-09-30 | 2015-04-15 | 杭州宏杉科技有限公司 | 一种raid数据处理方法及装置 |
US20160110246A1 (en) * | 2014-10-20 | 2016-04-21 | Emc Corporation | Disk data management |
CN105138469A (zh) * | 2015-08-28 | 2015-12-09 | 北京腾凌科技有限公司 | 一种数据读写方法以及主板 |
CN105183374A (zh) * | 2015-08-28 | 2015-12-23 | 北京腾凌科技有限公司 | 一种数据读写方法以及主板 |
CN106354435A (zh) * | 2016-08-31 | 2017-01-25 | 北京腾凌科技有限公司 | Raid初始化的方法及装置 |
CN106708445A (zh) * | 2017-01-19 | 2017-05-24 | 北京腾凌科技有限公司 | 链路选择方法及装置 |
Non-Patent Citations (2)
Title |
---|
刘鹏等: "基于PC的吉比特级数据采集快视系统", 《计算机工程》 * |
董春等: "基于FPGA的RAID6硬件加速器的实现", 《微型电脑应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117193669A (zh) * | 2023-11-06 | 2023-12-08 | 格创通信(浙江)有限公司 | 一种报文描述符离散存储方法、装置、设备及存储介质 |
CN117193669B (zh) * | 2023-11-06 | 2024-02-06 | 格创通信(浙江)有限公司 | 一种报文描述符离散存储方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108595269B (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8655815B2 (en) | Neural processing unit | |
US10380022B2 (en) | Hybrid memory module and system and method of operating the same | |
CN103890688B (zh) | 一种flash‑dram混合存储器模块 | |
JP2021168203A (ja) | 不揮発性メモリの複数区画の同時アクセスのための装置及び方法 | |
US11243886B2 (en) | Hybrid memory module and system and method of operating the same | |
US6993676B2 (en) | Method and apparatus for fast initialization of redundant arrays of storage devices | |
TW201203270A (en) | Error correction in a stacked memory | |
CN106462492A (zh) | 固态驱动器操作 | |
US11663121B2 (en) | Memory module having volatile and non-volatile memory subsystems and method of operation | |
CN111679783A (zh) | 存储器控制器 | |
CN107240421A (zh) | 存储器的测试方法及装置、存储介质和测试终端 | |
CN106873903A (zh) | 数据存储方法及装置 | |
CN104601711A (zh) | 用于云服务器的基于fpga的数据存储方法和系统 | |
CN106354435B (zh) | Raid初始化的方法及装置 | |
CN108595269A (zh) | 一种数据处理方法、指令生成装置和数据读写装置 | |
US20160034215A1 (en) | Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size | |
CN107526533A (zh) | 存储管理方法及设备 | |
CN112368686A (zh) | 一种异构计算系统及内存管理方法 | |
CN106990916B (zh) | 一种读写请求的处理方法及装置 | |
US10073633B2 (en) | Data storage system and method for a plurality of disk arrays | |
US20030014685A1 (en) | Accumulator memory for performing operations on block operands | |
CN106293491B (zh) | 写请求的处理方法和内存控制器 | |
CN106708445A (zh) | 链路选择方法及装置 | |
CN111694772A (zh) | 存储器控制器 | |
WO2021141699A1 (en) | Die level data redundancy in solid state storage devices |
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 |