CN114116530A - 存储控制方法及装置、数据处理方法及装置以及存储介质 - Google Patents
存储控制方法及装置、数据处理方法及装置以及存储介质 Download PDFInfo
- Publication number
- CN114116530A CN114116530A CN202111474099.5A CN202111474099A CN114116530A CN 114116530 A CN114116530 A CN 114116530A CN 202111474099 A CN202111474099 A CN 202111474099A CN 114116530 A CN114116530 A CN 114116530A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- block
- flag
- partial
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/1044—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 with specific ECC/EDC distribution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Mobile Radio Communication Systems (AREA)
- Circuits Of Receivers In General (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种存储控制方法及装置、数据处理方法及装置以及存储介质。该存储控制方法包括:接收对于存储器的写请求,其中,写请求包括待写入至存储器的部分数据内容以及数据标志;基于数据标志确定写入模式;根据写入模式将部分数据内容写入至存储器的目标存储块,将数据标志写入至存储器中与目标存储块关联的ECC码段。该方法可以减少数据块传输次数,降低数据读写的传输延时、节省数据带宽,并降低***功耗。
Description
技术领域
本公开的实施例涉及存储控制方法及装置、数据处理方法及装置以及存储介质。
背景技术
如图1所示,当前的计算机处理器通常包含多个处理器核以及多个***存储器(主存),各个处理器核与主存之间还会包含多级高速缓存(例如L1缓存、L2缓存等)。多个处理器核以及主存通过互联总线彼此连接。每个主存(例如DRAM)由存储器控制器管理,存储器控制器的作用包括进行接口转换,将主设备(处理器核)发出的读、写等请求(命令)转换成主存能够识别的信号,完成主设备与存储器之间地址译码、数据格式的转换等。
发明内容
本公开的至少一个实施例提供了一种存储控制方法,包括:接收对于存储器的写请求,其中,所述写请求包括待写入至所述存储器的部分数据内容以及数据标志;基于所述数据标志确定写入模式;根据所述写入模式将所述部分数据内容写入至所述存储器的目标存储块,将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
例如,在本公开至少一实施例的存储控制方法中,所述部分数据内容为待写入至所述目标存储块的数据块的一部分,所述数据标志表示所述数据块基于所述部分数据内容的数据模式,所述写入模式对应所述数据模式,响应于根据所述写入模式将所述部分数据内容写入至所述存储器的目标存储块,在所述目标存储块恢复所述数据块。
本公开的至少一个实施例提供了另一种存储控制方法,包括:接收对于存储器的读请求;根据所述读请求从所述存储器的目标存储块读取部分数据内容,以及从与所述目标存储块关联的ECC码段获取数据标志;基于所述数据标志确定读出模式;根据所述读出模式将所述部分数据内容以及所述数据标志返回。
例如,在本公开至少一实施例的存储控制方法中,所述部分数据内容为待从所述目标存储块读出的数据块的一部分,所述数据标志表示所述数据块基于所述部分数据内容的数据模式,所述读出模式对应所述数据模式,响应于根据所述读出模式将所述部分数据内容以及所述数据标志返回,不再从存储器读取所述数据块除所述部分数据内容之外的部分。
例如,在本公开至少一实施例的存储控制方法中,所述数据模式包括如下模式之一:
所述数据块基于所述部分数据内容规律分布;
所述数据块除所述部分数据内容之外的部分为特定值。
例如,在本公开至少一实施例的存储控制方法中,所述部分数据内容对应于所述数据块低位的一半。
例如,在本公开至少一实施例的存储控制方法中,所述数据块基于***缓存的缓存行,所述缓存行的长度等于所述存储块的大小且大于用于所述存储器的***带宽。
例如,在本公开至少一实施例的存储控制方法中,所述数据标志包括至少一个位,所述ECC码段包括多个位,所述数据标志的长度小于所述ECC码段的长度。
本公开的至少一个实施例提供了一种存储控制装置,包括:接收单元,配置为接收对于存储器的写请求,其中,所述写请求包括待写入至所述存储器的部分数据内容以及数据标志;数据标志确定单元,配置为基于所述数据标志确定写入模式;写入单元,根据所述写入模式将所述部分数据内容写入至所述存储器的目标存储块,以及将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
本公开的至少一个实施例提供了另一种存储控制装置,包括:接收单元,配置为接收对于存储器的读请求;读取单元,配置为根据所述读请求从所述存储器的目标存储块读取部分数据内容,以及从与所述目标存储块关联的ECC码段获取数据标志;数据标志确定单元,配置为基于所述数据标志确定读出模式;数据返回单元,配置为根据所述读出模式将所述部分数据内容以及所述数据标志返回。
本公开的至少一个实施例提供了另一种存储控制装置,包括:存储器,用于非暂时性存储计算机可执行指令;以及处理单元,用于运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理单元运行时执行根据本公开任一实施例所述的存储控制方法。
本公开的至少一个实施例提供了一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由计算机执行时,执行根据本公开任一实施例所述的存储控制方法。
本公开的至少一个实施例提供了一种数据处理方法,包括:获取数据块的数据模式,产生对应于所述数据模式的数据标志;根据所述数据模式,从所述数据块得到部分数据内容;基于所述部分数据内容和数据标志产生将所述数据块写入至存储器的写请求;发送所述写请求,以将所述部分数据内容写入至所述存储器的目标存储块以及将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
本公开的至少一个实施例提供了另一种数据处理方法,包括:发送读请求;接收根据所述读请求从存储器的目标存储块读取的部分数据内容以及从与所述目标存储块关联的ECC码段读取的数据标志,其中,所述数据标志对应于获取所述数据块的数据模式;根据所述数据模式,从所述部分数据内容恢复所述数据块。
例如,在本公开至少一实施例的数据处理方法中,所述数据模式包括如下模式之一:
所述数据块基于所述部分数据内容规律分布;
所述数据块除所述部分数据内容之外的部分为特定值。
例如,在本公开至少一实施例的数据处理方法中,所述部分数据内容对应于所述数据块低位的一半。
例如,在本公开至少一实施例的数据处理方法中,所述数据块基于***缓存的缓存行,所述缓存行的长度等于所述存储块的大小且大于用于所述存储器的***带宽。
本公开的至少一个实施例提供了一种数据处理装置,包括:操作单元,配置为获取数据块的数据模式,产生对应于所述数据模式的数据标志,根据所述数据模式,从所述数据块得到部分数据内容;请求产生单元,配置为基于所述部分数据内容和数据标志产生将所述数据块写入至存储器的写请求;发送单元,配置为发送所述写请求,以将所述部分数据内容写入至所述存储器的目标存储块以及将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
本公开的至少一个实施例提供了另一种数据处理装置,包括:发送单元,配置为发送读请求;接收单元,配置为接收根据所述读请求从存储器的目标存储块读取的部分数据内容以及从与所述目标存储块关联的ECC码段读取的数据标志,其中,所述数据标志对应于获取所述数据块的数据模式;操作单元,配置为根据所述数据模式,从所述部分数据内容恢复所述数据块。
本公开的至少一个实施例提供了另一种数据处理装置,包括:存储器,用于非暂时性存储计算机可执行指令;以及处理单元,用于运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理单元运行时执行根据本公开任一实施例所述的数据处理方法。
本公开的至少一个实施例提供了一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由计算机执行时,执行根据本公开任一实施例所述的数据处理方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了一种多处理器(核)的计算机***;
图2示出了本公开实施例提供的一种示例性***架构;
图3示出了本公开实施例提供的一种存储控制方法;
图4示出了本公开实施例提供的另一种存储控制方法;
图5示出了本公开实施例提供的一种数据处理方法;
图6示出了本公开实施例提供的另一种数据处理方法;
图7A示出了在本公开一实施例中进行数据写入时的示例;
图7B示出了对图7A的示例写入的数据进行数据读取时的示例;
图8示出了本公开实施例提供的一种存储控制装置;
图9示出了本公开实施例提供的一种数据处理装置;
图10示出了本公开实施例提供的一种存储控制装置或数据处理装置的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1示出了一种多处理器(核)的计算机***。在图1所示的处理器中,处理器核以缓存行为单位从对应的某一级缓存中访问数据,若所访问的数据在该缓存中命中,则直接从该缓存中访问数据;若在该缓存未命中,则从下一级缓存或从主存(内存)中读取数据,如果在主存中仍然没有命中,则需要进一步从例如硬盘等外部存储装置中读取。
缓存(Cache)的容量通常很小,缓存保存的内容是主存内容的一个子集,且缓存与主存的数据交换是以缓存行(Cache Line)为单位的。为了把主存中的数据缓存到缓存中,可以应用某种函数把主存中的数据对应的地址定位到缓存中,这称为地址映射。在将主存中的数据按这种映射关系缓存到缓存中后,处理器(处理器核)执行程序时,会将程序中的主存地址变换成缓存地址。
当处理器核需要从主存从中读取一个缓存行的数据时,需要通过存储器控制器访问主存。以64字节(byte,包括8位)大小的缓存行为例,出于带宽性能考虑,存储器控制器与处理器核之间的接口通常设计为128位(bit)或者256bit,即读取64byte的数据需要4拍(传输次数)或者2拍读取完成。存储器控制器将读取的数据返回给发送请求的处理器核与对应的缓存。主存在读写缓存行的数据时需要对地址内所有数据进行读写,但是由于存储器控制器的接口位宽限制,通常需要多拍才能完成对于一个缓存行的读写,另一方面,增加存储存储器的位宽会带来额外的硬件和软件成本以及升高的设计难度。
动态随机存取存储器(Dynamic Random Access Memory,DRAM)是最常见的***内存,基本单位(存储位)包括一个晶体管和一个电容器,断电之后数据会丢失。内存常见的类型包括DDR4、DDR3、LPDDR4、LPDDR3、HBM、GDDR等。
主存就像任何电子***一样,也会因为设计故障/缺陷或任何部件中的电噪声而发生错误。这些错误分为硬错误(由设计故障引起)或软错误(由***噪音引起或者由alpha 射线引起的内存阵列位翻转等)。尽管从理论出发,大部分内存错误是由DRAM造成,但是执行从存储器控制器到DRAM的端到端保护,对于整体内存的稳定性是非常必要的。为了在运行时处理这些内存错误,内存子***必须具有先进的 RAS(可靠性、可用性和可维护性)功能,以在发生内存错误时进行修正,延长整个***的正常运行时间。如果没有 RAS 功能,***很可能会因为内存错误而崩溃。
内存子***中最常用的一种RAS方案是纠错码 (Error Correction Code,ECC)内存。ECC码例如可以是在内存中加入的奇偶校验位、SECDED(单位纠错和双位检错)校验位、DECTED(双位纠错和三位检错)校验位等。以SECDED方式为例,存储器控制器为实际数据生成SECDED校验位数据并存储到附加DRAM存储单元中,以对 DRAM处理的数据进行单位纠错和双位检错。ECC码数据由存储器控制器根据当前处理的写入数据生成。内存同时存储写命令针对的写入数据和对应产生的ECC码。在读取操作时,存储器控制器从内存读取数据和相应的ECC码。存储器控制器利用接收到的数据重新生成ECC码,并将其与接收到的ECC码进行比较。如果两者匹配,则不会发生错误。如果不匹配,SECDED算法允许存储器控制器纠正任何单位(bit)错误并检测双位错误。实现纠错功能,内存需要额外的ECC码段以存储ECC码,例如,对于数据位(待检测数据的总位数)为32位时,需要的SECDED校验位为至少7位,需要的DECTED校验位为至少13位;对于数据位为64位时,需要的SECDED校验位为至少8位,需要的DECTED校验位为至少15位。例如,对于DDR5内存(条)每个通道具有40位,其中32位用于数据而8位用于ECC码段。
本公开的发明人注意到,具有ECC功能的主存除了数据位之外还包括ECC位,例如DDR5内存每32bit对应地提供有8bit(ECC码段)用于存储ECC码,在某些ECC模式下,这8bit的ECC码段不会全部使用,因此如果使用这些未使用的冗余ECC位存储用于存储块(对应于缓存行)中的数据的额外信息,那么可以利用该额外信息以在一定程度上减少访问传输次数,提高***访存性能。
基于上述理解,本公开的实施例提出一种方法,其使用主存中的ECC位中除了用于ECC功能之外的冗余位,以记录存储的数据的某种分布规律,以减少在位宽限制情况下写入或读取例如一个缓存行所需要的传输次数。
本公开的至少一个实施例提供了一种存储控制方法,该方法包括:接收对于存储器的写请求,其中,写请求包括待写入至存储器的部分数据内容以及数据标志;基于数据标志确定写入模式;根据写入模式将部分数据内容写入至存储器的目标存储块,将数据标志写入至存储器中与目标存储块关联的ECC码段。
本公开的至少一个实施例还提供了一种存储控制方法,该方法包括:接收对于存储器的读请求;根据读请求从存储器的目标存储块读取部分数据内容,以及从与目标存储块关联的ECC码段获取数据标志;基于数据标志确定读出模式;根据读出模式将部分数据内容以及数据标志返回。
本公开的至少一个实施例还提供了对应于上述存储控制方法的存储控制装置(存储器控制器)和存储介质。
本公开的至少一个实施例提供了一种数据处理方法,该方法包括:获取数据块的数据模式,产生对应于数据模式的数据标志;根据数据模式,从数据块得到部分数据内容;基于部分数据内容和数据标志产生将数据块写入至存储器的写请求;发送写请求,以将部分数据内容写入至存储器的目标存储块以及将数据标志写入至存储器中与目标存储块关联的ECC码段。
本公开的至少一个实施例还提供了一种数据处理方法,该方法包括:发送读请求;接收根据读请求从存储器的目标存储块读取的部分数据内容以及从与目标存储块关联的ECC码段读取的数据标志,其中,数据标志对应于获取数据块的数据模式;根据数据模式,从部分数据内容恢复数据块。
本公开的至少一个实施例还提供了对应于上述数据处理方法的处理处理器和存储介质。
本公开的各个实施例提供的存储控制方法、数据处理方法,可以利用内存的ECC码段(例如冗余的bit)作为数据标志,存储操作的数据块中的数据模式(或分布规律),从而在读写(大小***带宽)数据块时,可以减少存储器控制器和内存之间的传输次数,或减少处理器与存储器控制器之间的传输次数,降低数据读写的传输延时、节省数据带宽,并降低***功耗。
下面结合具体示例对于本公开的各个实施例进行说明。
图2示出了本公开实施例提供的一种示例性***架构。如图2所示,计算机***包含一个或多个处理器(或处理器核)以及一个或多个***存储器(例如主存),处理器与***存储器之间还可以包含一级或多级高速缓存(例如L1缓存、L2缓存等)。处理器以及***存储器通过互联总线彼此连接。***存储器由存储器控制器管理,存储器控制器的作用包括进行接口转换,将主设备(例如处理器或处理器核)发出的读、写等请求(命令)转换成***存储器能够识别的信号,完成主设备与***存储器之间地址译码、数据格式的转换等。在存储器控制器和***存储器之间具有控制接口、数据接口以及ECC码段接口,以传递控制信息、数据信息以及ECC码,各个接口根据不同的规格具有不同的位数。在存储器控制器和处理器之间通过***互联(例如总线、片上网络等)连接,且具有控制接口和数据接口,以传递控制信息和数据信息。
本公开的至少一个实施例提供了一种存储控制方法100,例如用于存储器控制器在例如处理器请求下向所控制的***存储器(例如主存)中写入数据,如图3所示,该方法包括如下步骤101~103:
步骤101:接收对于存储器的写请求。该写请求例如来自处理器的主设备,请求将数据写入例如作为主存的存储器中的目标地址,该写请求包括待写入至存储器的部分数据内容以及数据标志。
步骤102:基于数据标志确定写入模式。
例如,存储器控制器基于数据标志确定写入模式,即,如何写入能得到实际要写入的数据块。
步骤103:根据写入模式将部分数据内容写入至存储器的目标存储块,将数据标志写入至存储器中与目标存储块关联的ECC码段。
例如,存储器控制器基于写入模式,将部分数据内容写入至存储器的目标存储块,并且将数据标志写入至存储器中与目标存储块关联的ECC码段。
例如,至少一个示例中,写入请求包括的部分数据内容为待写入至目标存储块的数据块的一部分,数据标志表示数据块基于部分数据内容的数据模式,上述写入模式对应数据块的数据模式。根据写入模式,存储器控制器将部分数据内容写入至存储器的目标存储块,并且补足数据块除该部分数据内容之外的部分,例如在目标存储块恢复该部分数据内容以得到完整的数据块,即在存储器中的目标地址处实际写入了数据块。
本公开的至少一个实施例提供了一种存储控制方法200,例如用于存储器控制器在例如处理器请求下从所控制的***存储器(例如主存)中读取数据,如图4所示,该方法包括如下步骤201~204:
步骤201:接收对于存储器的读请求。该读请求例如来自例如处理器的主设备,请求从存储器的目标地址读取数据。
步骤202:根据读请求从存储器的目标存储块读取部分数据内容,以及从与目标存储块关联的ECC码段获取数据标志。
例如,存储器控制器根据读请求从存储器读取到部分数据内容的同时还获得了对应的ECC码,对该ECC码进行解析得到数据标志。
步骤203:基于数据标志确定读出模式。
例如,存储器控制器基于数据标志确定读出模式,例如,确定是否继续从存储器读取其他数据部分。
步骤204:根据读出模式将部分数据内容以及数据标志返回。
例如,存储器控制器将读取的部分数据内容以及数据标志一并返回给发出读请求的主设备。
例如,至少一个示例中,上述部分数据内容为待从目标存储块读出的数据块的一部分,数据标志表示数据块基于部分数据内容的数据模式,读出模式对应数据模式,响应于根据读出模式将部分数据内容以及数据标志返回,不再从存储器读取数据块除部分数据内容之外的部分。
例如,对于上述方法100或200,被处理的数据块基于部分数据内容的数据模式包括如下模式之一:
数据块基于部分数据内容规律分布;
数据块除部分数据内容之外的部分为特定值。
对于数据块基于部分数据内容规律分布的情形,例如,数据块基于部分数据内容重复n个周期得到,n为大于等于2的正整数,例如2、4、8等。例如,对于n=2的情形,部分数据内容对应于数据块低位的一半,也即,先处理数据块的低位的一半,而其高位的一半由于与低位的一半相同,由此可以直接由低位的一半得到。
对于数据块除部分数据内容之外的部分为特定值的情形,例如,数据块除部分数据内容之外的部分为全0,或全1,或其他特定数据。例如,当部分数据内容对应于数据块低位的一半时,数据块高位的一半可以为全0,或全1,或例如101010……等。
例如,在至少一个示例中,例如作为设备的处理器,在针对缓存读写数据时,如果在缓存中没有命中,则需要进一步从主存中读写数据,此时数传输以缓存行为单位。也即,数据块基于***缓存的缓存行,例如,缓存行的长度可以是缓存器读写数据时的最小单位,例如,缓存行的长度还可以等于存储块的大小且大于用于存储器的***带宽,该***带宽例如是处理器和存储器控制器之间的带宽,该带宽例如由连接处理器和存储器控制器的互联带宽决定。
例如,数据标志包括至少一个位,ECC码段包括多个位,数据标志的长度小于ECC码段的长度。例如,当数据标志为一个位时,仅有0和1两种值,因此仅能表示两种数据模式;当数据标志为多个位(至少两个位)时,则可以使用该多个位来表示多种不同情况的数据模式。
在上述存储控制方法中,写请求或读请求由例如处理器(或处理器核)的主设备产生,并且对需要写入的数据块和读取的数据块进行处理,因此本公开的至少一个实施例还提供了如下的数据处理方法。
本公开的至少一个实施例还提供了一种数据处理方法300,例如用于例如处理器产生写请求并将该写请求发送到存储器控制器,如图5所示,该方法包括如下步骤301~304:
步骤301:获取数据块的数据模式,产生对应于数据模式的数据标志。
例如,处理器具有写数据的需要时,将该数据所在的缓存的数据块整体写入存储器中,对于该数据块的数据模式进行分析,基于分析结果产生对应于数据模式的数据标志。
步骤302:根据数据模式,从数据块得到部分数据内容。
例如,处理器将根据所获得的数据模式,选择在数据块中实际被传输的部分数据内容。
步骤303:基于部分数据内容和数据标志产生将数据块写入至存储器的写请求。
例如,在获得了部分数据内容和数据标志之后,处理器产生将数据块写入至存储器的写请求。
步骤304:发送写请求。
例如,处理器该写请求发送到存储器控制器,用于将部分数据内容写入至存储器的目标存储块以及将数据标志写入至存储器中与目标存储块关联的ECC码段。
本公开的至少一个实施例还提供了一种数据处理方法400,例如用于例如处理器产生请求读请求并将该读请求发送到存储器控制器,从存储器控制器接收基于该读请求读取的数据,如图6所示,该方法包括如下步骤401~403:
步骤401:发送读请求。
例如,处理器具有读数据的需要时,将该数据所在的存储器的存储块整体读出并写入缓存中。
步骤402:接收根据读请求从存储器的目标存储块读取的部分数据内容以及从与目标存储块关联的ECC码段读取的数据标志。
例如,当存储器控制器根据读请求从存储器的目标存储块读取的部分数据内容以及从与目标存储块关联的ECC码段读取的数据标志之后,这些信号返回给处理器,被处理器接收。这里,数据标志对应于获取数据块的数据模式。
步骤403:根据数据模式,从部分数据内容恢复数据块。
例如,处理器将根据数据标志表示的数据模式,结合接收的部分数据内容,补足数据块除该部分数据内容之外的部分,由此得到实际要读取的整个数据块。
同样地,对于上述方法300或400,被处理的数据块基于部分数据内容的数据模式包括如下模式之一:
数据块基于部分数据内容规律分布;
数据块除部分数据内容之外的部分为特定值。
对于数据块基于部分数据内容规律分布的情形,例如,数据块基于部分数据内容重复n个周期得到,n为大于等于2的正整数,例如2、4、8等。例如,对于n=2的情形,部分数据内容对应于数据块低位的一半,也即,先处理数据块的低位的一半,而其高位的一半由于与低位的一半相同,由此可以直接由低位的一半得到。
对于数据块除部分数据内容之外的部分为特定值的情形,例如,数据块除部分数据内容之外的部分为全0,或全1,或其他特定数据。例如,当部分数据内容对应于数据块低位的一半时,数据块高位的一半可以为全0,或全1,或例如101010……等。
例如,在至少一个示例中,处理器在针对缓存读写数据时,如果在缓存中没有命中,则需要进一步从主存中读写数据,此时数传输以缓存行为单位。也即,数据块基于***缓存的缓存行,例如,缓存行的长度等于存储块的大小且大于用于存储器的***带宽,该***带宽例如是处理器和存储器控制器之间的带宽,该带宽例如由连接处理器和存储器控制器的互联带宽决定。
例如,数据标志包括至少一个位,ECC码段包括多个位,数据标志的长度小于ECC码段的长度。当数据标志为一个位时,仅有0和1两种值,因此仅能表示两种数据模式;当数据标志为多个位(至少两个位)时,则可以使用该多个位来表示多种不同情况的数据模式。
需要指出的是,本公开的各个实施例对于处理器(或处理器核)的类型没有限制,例如,可以是CISC架构(例如X86架构)、RISC架构(例如ARM架构)等。本公开的实施例对于主存的类型没有限制,例如,可以是动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)或直接内存总线随机存取存储器(DRRAM)等。本公开的实施例对于缓存的类型没有限制,例如,可以是动态随机存取存储器(DRAM)等。本公开的实施例对于缓存行的大小、主存的存储块的大小没有限制,例如,下面可以缓存行的大小和存储块的大小为64字节为例进行说明。本公开的实施例对于处理器和存储器控制器之间的带宽大小没有限制,例如可以为1/8个缓存行大小、1/4个缓存行大小、半个缓存行大小等,例如,下面可以处理器和存储器控制器之间的带宽为256位(即32字节)为例进行说明。
图7A示出了在本公开一实施例中进行数据写入时的示例。在应用程序运行的过程中,需要将一个64字节的缓存行的数据从处理器写到主存中,该缓存行的高位一半的数据与低位一半的数据彼此相同。处理器和存储器控制器之间的带宽为32字节,因此64字节的缓存行的数据通常需要传输2次才能能完整地传输到存储器控制器。
首先,处理器基于该缓存行中的数据块的数据模式,产生数据标志(例如1bit的标志位),基于低位一半的数据和数据标志产生写请求(即该写请求内包含该1bit标志位),然后发送该写请求到存储器控制器。
其次,储存器控制器在接收到该写请求之后,查看到数据标志位,知道将要写入的数据块的高低一半的数据相同,所以后续不会再接收高位一半的数据,将其中半个数据块(即数据块低位一半)发送到主存中的目标地址并存储为存储块的低位一半,并在主存的ECC码段中的一个冗余位写入代表数据块的高位一半的数据和低位一半的数据一致的数据标志,之后再一次将半个数据块发送到主存中的目标地址(相对于存入低位一半时具有半个存储块长度的偏移)并存储为存储块的高位一半,由此在主存中恢复了完整的数据块。
在该示例中,处理器将对应于一个缓存行的数据块经存储器控制器写入主存时,仅需要传输一次(1拍)数据块低位一半,即可实现在主存中完整恢复整个缓存行的数据。
图7B示出了在本公开一实施例中进行数据读取时的示例,对应于图7A所示的示例。当之后在应用程序运行的过程中,处理器需要读取上述被写入到内存中的存储块的数据时,将读取请求发送到存储器控制器,存储器控制器从主存中读取相应地址的低半个数据块的数据、ECC码段,从ECC码段对应的数据中获得数据标志。根据该数据标志,存储器控制器获知该数据块的高位一半的数据和低位一半的数据相同,因此不需要再读取数据块高位一半的数据。存储器控制器将该数据块低位一半和数据标志返回给处理器。处理器接收到返回的该数据块低位一半和数据标志,根据该数据标志获知该数据块的高位一半的数据和低位一半的数据相同,由此直接获得完整的数据块,该完整的数据块可以存入缓存的一个缓存行中。
本公开至少一实施例提供的一种存储控制装置,对应于上述存储控制方法100,如图8所示,该存储控制装置800至少包括接收单元801、数据标志确定单元802以及写入单元803。该存储控制装置耦接在主设备(例如处理器)和存储器(例如主存)之间,控制针对存储器的写入操作。
在该存储控制装置中,接收单元801配置为接收对于存储器的写请求,写请求包括待写入至存储器的部分数据内容以及数据标志。数据标志确定单元802配置为基于数据标志确定写入模式。写入单元803根据写入模式将部分数据内容写入至存储器的目标存储块,以及将数据标志写入至存储器中与目标存储块关联的ECC码段。
例如,在该实施例的至少一个示例中,部分数据内容为待写入至目标存储块的数据块的一部分,数据标志表示数据块基于部分数据内容的数据模式,写入模式对应数据模式。该写入单元803还配置为,响应于根据写入模式将部分数据内容写入至存储器的目标存储块,在目标存储块恢复数据块。
本公开至少一实施例提供了一种存储控制装置,对应于上述存储控制方法200,如图8所示,该存储控制装置800至少包括接收单元801、读取单元804、数据标志确定单元802以及数据返回单元805。该存储控制装置耦接在主设备(例如处理器)和存储器(例如主存)之间,控制针对存储器的读取操作。
在该存储控制装置中,接收单元801配置为接收对于存储器的读请求。读取单元804配置为根据读请求从存储器的目标存储块读取部分数据内容,以及从与目标存储块关联的ECC码段获取数据标志。数据标志确定单元802配置为基于数据标志确定读出模式。数据返回单元805配置为根据读出模式将部分数据内容以及数据标志返回。
例如,在该实施例的至少一个示例中,部分数据内容为待从目标存储块读出的数据块的一部分,数据标志表示数据块基于部分数据内容的数据模式,读出模式对应数据模式。数据返回单元805还配置为,响应于根据读出模式将部分数据内容以及数据标志返回,不再从存储器读取数据块除部分数据内容之外的部分。
对于本公开的实施例的上述存储控制装置的其他方面可以参考对于存储控制方法100或200的具体示例的描述,这里不再赘述。
上述该存储控制装置的技术效果与上述存储控制方法100或200的技术效果相同,可以减少数据块的传输次数,降低了数据读写的传输延时、节省了数据带宽,并降低了***功耗,此处不再赘述。
本公开至少一实施例提供了一种数据处理装置,对应于上述数据处理方法300,用于向存储控制装置发送写请求,如图9所示,该数据处理装置900至少包括操作单元901、请求产生单元902和发送单元903。例如,该数据处理装置900为处理器或多核处理器的处理器核,例如,该处理器可以是中央处理器(CPU)。
在该数据处理装置中,操作单元901配置为获取数据块的数据模式,产生对应于数据模式的数据标志,根据数据模式,从数据块得到部分数据内容;请求产生单元902配置为基于部分数据内容和数据标志产生将数据块写入至存储器的写请求;发送单元903配置为发送写请求,以将部分数据内容写入至存储器的目标存储块以及将数据标志写入至存储器中与目标存储块关联的ECC码段。
本公开至少一实施例提供了一种数据处理装置,对应于上述数据处理方法400,用于向存储控制装置发送读请求以及接收读取的数据,如图9所示,该数据处理装置900至少包括发送单元903、接收单元904和操作单元901。同样地,例如,该数据处理装置为处理器或多核处理器的处理器核,例如,该处理器可以是中央处理器(CPU)。
在该数据处理装置900中,发送单元903配置为发送读请求。接收单元904配置为接收根据读请求从存储器的目标存储块读取的部分数据内容以及从与目标存储块关联的ECC码段读取的数据标志,数据标志对应于获取数据块的数据模式。操作单元901配置为根据数据模式,从部分数据内容恢复数据块。
上述数据处理装置900的技术效果与上述数据处理方法300或400的技术效果相同,可以减少数据块的传输次数,降低了数据读写的传输延时、节省了数据带宽,并降低了***功耗,此处不再赘述。
在上述装置,各个单元,例如接收单元、读取单元、数据标志确定单元、写入单元、数据返回单元、操作单元等可以分别采用硬件、软件、固件以及它们任意可行的组合实现,本公开对此不作限制。
本公开至少一实施例还提出了一种存储控制装置,包括:存储器,用于非暂时性存储计算机可执行指令;以及处理装置,用于运行计算机可执行指令,其中,计算机可执行指令被处理装置运行时执行本公开至少一实施例提出的存储控制方法。
本公开至少一实施例还提出了一种数据处理装置,包括:存储器,用于非暂时性存储计算机可执行指令;以及处理单元,用于运行计算机可执行指令,其中,计算机可执行指令被处理单元运行时执行本公开至少一实施例提出的数据处理方法。
图6示出了根据本公开实施例的存储控制装置或数据处理装置600的示意图。如图6所示,根据本公开实施例的数据处理设备600可以包括处理单元601以及存储单元602,其可以通过总线603进行互连。
处理单元601可以根据存储在存储单元602中的程序或代码执行各种动作和处理。具体地,处理单元601可以是一种集成电路芯片,具有信号的处理能力。例如,上述处理装置可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中公开的各种方法、步骤、流程及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储单元602存储有计算机可执行指令,其中,计算机可执行指令在被处理单元601执行时实现本公开至少一实施例提供的存储控制方法或数据处理方法。存储单元602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DRRAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机可读存储介质,用于非瞬时性地存储计算机可执行指令,该计算机可执行指令在被处理单元执行时实现本公开至少一实施例提供的存储控制方法或数据处理方法。
类似地,本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理单元执行该计算机指令,使得该计算机设备执行根据本公开实施例的存储控制方法或数据处理方法。
上述存储控制装置或数据处理装置以及存储介质的技术效果与上述存储控制方法100或200,或与数据处理方法300或400的技术效果相同,此处不再赘述。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
Claims (21)
1.一种存储控制方法,包括:
接收对于存储器的写请求,其中,所述写请求包括待写入至所述存储器的部分数据内容以及数据标志;
基于所述数据标志确定写入模式;
根据所述写入模式将所述部分数据内容写入至所述存储器的目标存储块,将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
2.根据权利要求1的存储控制方法,其中,所述部分数据内容为待写入至所述目标存储块的数据块的一部分,所述数据标志表示所述数据块基于所述部分数据内容的数据模式,所述写入模式对应所述数据模式,
响应于根据所述写入模式将所述部分数据内容写入至所述存储器的目标存储块,在所述目标存储块恢复所述数据块。
3.一种存储控制方法,包括:
接收对于存储器的读请求;
根据所述读请求从所述存储器的目标存储块读取部分数据内容,以及从与所述目标存储块关联的ECC码段获取数据标志;
基于所述数据标志确定读出模式;
根据所述读出模式将所述部分数据内容以及所述数据标志返回。
4.根据权利要求3的存储控制方法,其中,所述部分数据内容为待从所述目标存储块读出的数据块的一部分,所述数据标志表示所述数据块基于所述部分数据内容的数据模式,所述读出模式对应所述数据模式,
响应于根据所述读出模式将所述部分数据内容以及所述数据标志返回,不再从存储器读取所述数据块除所述部分数据内容之外的部分。
5.根据权利要求2或4所述的存储控制方法,其中,所述数据模式包括如下模式之一:
所述数据块基于所述部分数据内容规律分布;
所述数据块除所述部分数据内容之外的部分为特定值。
6.根据权利要求5的存储控制方法,其中,所述部分数据内容对应于所述数据块低位的一半。
7.根据权利要求2或4的存储控制方法,其中,所述数据块基于***缓存的缓存行,所述缓存行的长度等于所述存储块的大小且大于用于所述存储器的***带宽。
8.根据权利要求1-4任一的存储控制方法,其中,所述数据标志包括至少一个位,所述ECC码段包括多个位,所述数据标志的长度小于所述ECC码段的长度。
9.一种存储控制装置,包括:
接收单元,配置为接收对于存储器的写请求,其中,所述写请求包括待写入至所述存储器的部分数据内容以及数据标志;
数据标志确定单元,配置为基于所述数据标志确定写入模式;
写入单元,根据所述写入模式将所述部分数据内容写入至所述存储器的目标存储块,以及将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
10.一种存储控制装置,包括:
接收单元,配置为接收对于存储器的读请求;
读取单元,配置为根据所述读请求从所述存储器的目标存储块读取部分数据内容,以及从与所述目标存储块关联的ECC码段获取数据标志;
数据标志确定单元,配置为基于所述数据标志确定读出模式;
数据返回单元,配置为根据所述读出模式将所述部分数据内容以及所述数据标志返回。
11.一种存储控制装置,包括:
存储器,用于非暂时性存储计算机可执行指令;以及
处理单元,用于运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理单元运行时执行根据权利要求1-8任一所述的存储控制方法。
12.一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由计算机执行时,执行根据权利要求1-8任一所述的存储控制方法。
13.一种数据处理方法,包括:
获取数据块的数据模式,产生对应于所述数据模式的数据标志;
根据所述数据模式,从所述数据块得到部分数据内容;
基于所述部分数据内容和数据标志产生将所述数据块写入至存储器的写请求;
发送所述写请求,以将所述部分数据内容写入至所述存储器的目标存储块以及将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
14.一种数据处理方法,包括:
发送读请求;
接收根据所述读请求从存储器的目标存储块读取的部分数据内容以及从与所述目标存储块关联的ECC码段读取的数据标志,其中,所述数据标志对应于获取所述数据块的数据模式;
根据所述数据模式,从所述部分数据内容恢复所述数据块。
15.根据权利要求13或14述的数据处理方法,其中,所述数据模式包括如下模式之一:
所述数据块基于所述部分数据内容规律分布;
所述数据块除所述部分数据内容之外的部分为特定值。
16.根据权利要求15的数据处理方法,其中,所述部分数据内容对应于所述数据块低位的一半。
17.根据权利要求13或14的数据处理方法,其中,所述数据块基于***缓存的缓存行,所述缓存行的长度等于所述存储块的大小且大于用于所述存储器的***带宽。
18.一种数据处理装置,包括:
操作单元,配置为获取数据块的数据模式,产生对应于所述数据模式的数据标志,根据所述数据模式,从所述数据块得到部分数据内容;
请求产生单元,配置为基于所述部分数据内容和数据标志产生将所述数据块写入至存储器的写请求;
发送单元,配置为发送所述写请求,以将所述部分数据内容写入至所述存储器的目标存储块以及将所述数据标志写入至所述存储器中与所述目标存储块关联的ECC码段。
19.一种数据处理装置,包括:
发送单元,配置为发送读请求;
接收单元,配置为接收根据所述读请求从存储器的目标存储块读取的部分数据内容以及从与所述目标存储块关联的ECC码段读取的数据标志,其中,所述数据标志对应于获取所述数据块的数据模式;
操作单元,配置为根据所述数据模式,从所述部分数据内容恢复所述数据块。
20.一种数据处理装置,包括:
存储器,用于非暂时性存储计算机可执行指令;以及
处理单元,用于运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理单元运行时执行根据权利要求13-17任一所述的数据处理方法。
21.一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由计算机执行时,执行根据权利要求13-17任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111474099.5A CN114116530B (zh) | 2021-12-06 | 2021-12-06 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111474099.5A CN114116530B (zh) | 2021-12-06 | 2021-12-06 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114116530A true CN114116530A (zh) | 2022-03-01 |
CN114116530B CN114116530B (zh) | 2022-09-13 |
Family
ID=80366740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111474099.5A Active CN114116530B (zh) | 2021-12-06 | 2021-12-06 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116530B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397365B1 (en) * | 1999-05-18 | 2002-05-28 | Hewlett-Packard Company | Memory error correction using redundant sliced memory and standard ECC mechanisms |
CN1588552A (zh) * | 2004-09-16 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 有异步缓存的双倍速动态随机存取存储器控制装置及方法 |
US20100180084A1 (en) * | 2009-01-13 | 2010-07-15 | Sun Microsystems, Inc. | Cache-coherency protocol with held state |
CN103295634A (zh) * | 2012-02-22 | 2013-09-11 | 慧荣科技股份有限公司 | 读取快闪存储器中所储存的数据的方法、存储器控制器与*** |
CN104317525A (zh) * | 2014-09-23 | 2015-01-28 | 天津国芯科技有限公司 | 一种随机存储器的扩展方法及装置 |
CN105354153A (zh) * | 2015-11-23 | 2016-02-24 | 浙江大学城市学院 | 一种紧耦合异构多处理器数据交换缓存的实现方法 |
CN108847269A (zh) * | 2017-04-18 | 2018-11-20 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN110502452A (zh) * | 2019-07-12 | 2019-11-26 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN111857600A (zh) * | 2020-07-30 | 2020-10-30 | 江苏金恒信息科技股份有限公司 | 一种数据读写方法及装置 |
CN111897744A (zh) * | 2019-05-05 | 2020-11-06 | 北京兆易创新科技股份有限公司 | 一种数据写入方法、装置、电子设备及存储介质 |
CN113424160A (zh) * | 2019-03-30 | 2021-09-21 | 华为技术有限公司 | 一种处理方法、装置及相关设备 |
-
2021
- 2021-12-06 CN CN202111474099.5A patent/CN114116530B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397365B1 (en) * | 1999-05-18 | 2002-05-28 | Hewlett-Packard Company | Memory error correction using redundant sliced memory and standard ECC mechanisms |
CN1588552A (zh) * | 2004-09-16 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 有异步缓存的双倍速动态随机存取存储器控制装置及方法 |
US20100180084A1 (en) * | 2009-01-13 | 2010-07-15 | Sun Microsystems, Inc. | Cache-coherency protocol with held state |
CN103295634A (zh) * | 2012-02-22 | 2013-09-11 | 慧荣科技股份有限公司 | 读取快闪存储器中所储存的数据的方法、存储器控制器与*** |
CN104317525A (zh) * | 2014-09-23 | 2015-01-28 | 天津国芯科技有限公司 | 一种随机存储器的扩展方法及装置 |
CN105354153A (zh) * | 2015-11-23 | 2016-02-24 | 浙江大学城市学院 | 一种紧耦合异构多处理器数据交换缓存的实现方法 |
CN108847269A (zh) * | 2017-04-18 | 2018-11-20 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN113424160A (zh) * | 2019-03-30 | 2021-09-21 | 华为技术有限公司 | 一种处理方法、装置及相关设备 |
CN111897744A (zh) * | 2019-05-05 | 2020-11-06 | 北京兆易创新科技股份有限公司 | 一种数据写入方法、装置、电子设备及存储介质 |
CN110502452A (zh) * | 2019-07-12 | 2019-11-26 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN111857600A (zh) * | 2020-07-30 | 2020-10-30 | 江苏金恒信息科技股份有限公司 | 一种数据读写方法及装置 |
Non-Patent Citations (4)
Title |
---|
展旭升: "优化内存***能效的DRAM架构研究综述", 《高技术通讯》 * |
曾涛: "重复数据删除技术的研究与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
王慧丽等: "基于通用向量DSP的深度学习硬件加速技术", 《中国科学:信息科学》 * |
陈金忠等: "基于NAND闪存的高性能和可靠的PRAID-6", 《电子学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114116530B (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943609B (zh) | 存储器模块、存储器控制器和***及其相应操作方法 | |
US9817749B2 (en) | Apparatus and method of offloading processing from a data storage device to a host device | |
US11704204B2 (en) | High-reliability non-volatile memory using a voting mechanism | |
US6754858B2 (en) | SDRAM address error detection method and apparatus | |
US20200151055A1 (en) | Storage device using host memory and operating method thereof | |
KR102198611B1 (ko) | 메모리 내 에러 수정 방법 | |
KR101860809B1 (ko) | 메모리 시스템 및 메모리 에러 정정 방법 | |
US8140940B2 (en) | Method and apparatus for controlling memory | |
CN104347122B (zh) | 一种消息式内存模组的访存方法和装置 | |
KR20100082710A (ko) | 데이터 메모리 디바이스 및 인터페이스 에러 검출 및 처리 논리를 갖는 제어기 | |
US20150039968A1 (en) | Error code management in systems permitting partial writes | |
CN111566738B (zh) | 存储器***中的有效和选择性的备用位 | |
JP3851093B2 (ja) | データ転送方法及びデータ処理システム | |
US12007840B2 (en) | Storage controller, operation method thereof | |
EP3847550A1 (en) | Memory sub-system including an in-package sequencer to perform error correction and memory testing operations | |
US11698832B2 (en) | Selective sampling of a data unit during a program erase cycle based on error rate change patterns | |
US8489978B2 (en) | Error detection | |
US7392347B2 (en) | Systems and methods for buffering data between a coherency cache controller and memory | |
US10735030B2 (en) | Re-encoding data associated with failed memory devices | |
US11334433B2 (en) | Storing parity data mid stripe | |
CN114116530B (zh) | 存储控制方法及装置、数据处理方法及装置以及存储介质 | |
CN105023616A (zh) | 一种基于汉明码存取数据的方法及集成随机存取存储器 | |
JP5213061B2 (ja) | ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム | |
US9043655B2 (en) | Apparatus and control method | |
CN110764693B (zh) | 一种提高Nand flash数据稳定性的方法以及装置 |
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 |