CN111143109A - 一种ecc内存管理器、方法及电子设备 - Google Patents
一种ecc内存管理器、方法及电子设备 Download PDFInfo
- Publication number
- CN111143109A CN111143109A CN201911293972.3A CN201911293972A CN111143109A CN 111143109 A CN111143109 A CN 111143109A CN 201911293972 A CN201911293972 A CN 201911293972A CN 111143109 A CN111143109 A CN 111143109A
- Authority
- CN
- China
- Prior art keywords
- ecc
- memory
- read
- memory area
- write
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 313
- 238000000034 method Methods 0.000 title claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 238000007726 management method Methods 0.000 claims description 40
- 238000001514 detection method Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 11
- 238000003860 storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008092 positive effect Effects 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明公开了一种ECC内存管理器、方法及电子设备,通过总线接口模块设置寄存器组,用以配置ECC内存管理器的配置信息,可自由将内存按地址空间进行划分为ECC内存区与普通内存区,以及自由开关内存的ECC纠错功能,当ECC内存区配置为0即ECC关闭状态时,两块内存区与常规使用方式一致,而当ECC开启状态并配置了有效的内存区范围时,对于写入ECC内存区的所有字节数据都通过ECC纠错计算模块在其对应的ECC区地址产生ECC校验值,对于读取的数据都经过ECC纠错计算模块精心检错纠错。因此,本发明具有内存利用率高、ECC功能可自由开关、ECC内存大小可调、读写速度快的技术特点。
Description
技术领域
本发明属于内存技术领域,尤其涉及一种ECC内存管理器、方法及电子设备。
背景技术
ECC是“Error Correcting Code”的简写,中文名称是“错误纠正码”。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,使整个系统在工作时更趋于安全稳定。ECC能纠正内存的单比特或多比特错误,计算速度很快。这使得在存储器中能够容许错误,并可以将错误更正,使系统得以持续正常地操作,不致因错误而中断。
对于flash等以块或者页的单位做擦除写入操作的存储器,可以对整个页(例如512字节)整体作一个ECC校验,生成少量的ECC校验码。但是对于SRAM内存这种以字或者字节快速访问的存储器,必须对每个字或者字节单独提供ECC校验。这使得每个字节数据都需要配以至少4位以上ECC码来确保该字节数据的安全性,这大幅度地增加了存储器的额外开销。尤其在嵌入式应用的片上系统中,SRAM资源本身已比较紧张,难以承受超过50%的额外开销。
部分片上系统中选择以32位整字进行ECC校验,纠两个比特需要7位的ECC码,即额外增加约22%的内存开销。但是这代表着数据必须以32位进行读写,当仅写一个字节数据时,也需要将32位数据先读回,修改字节数据,再对整个32位字做ECC校验再写回,这使得字节数据的读写速度较原来放慢了数倍。
综上所述,内存的安全性措施、内存的开销和内存的读写速度三者是相互制约的,片上系统的设计者只能选择折衷方案,损失其一或其二的性能。
发明内容
本发明的技术目的是提供一种ECC内存管理器、方法及电子设备,具有内存利用率高、ECC功能可自由开关、ECC内存大小可调、读写速度快的技术特点。
为解决上述问题,本发明的技术方案为:
一种ECC内存管理器,包括:与外部通信的总线接口模块、内存读写管理模块、ECC纠错计算模块、内存模块;
总线接口模块设有寄存器组,用以配置ECC内存管理器的配置信息,配置信息包括工作模式、ECC范围;
内存读写管理模块分别与总线接口模块、内存模块、ECC纠错计算模块电连接,用以根据配置信息进行内存的读写操作:
工作模式为ECC关闭状态或ECC范围无效,则内存读写管理模块对内存模块直接进行数据读写操作;
工作模式为ECC开启状态且ECC范围有效,则内存模块根据ECC范围划分为普通内存区、ECC内存区,并且内存读写管理模块根据内存的划分进行数据读写操作:读写的内存区域为普通内存区,则对普通内存区直接进行数据读写操作;读写的内存区域为ECC内存区,则在对ECC内存区进行数据读写操作的同时,调用ECC纠错计算模块对读写的数据进行ECC纠错操作。
进一步优选地,ECC内存区包括用于存储数据的安全内存区、用于存储ECC纠错操作的ECC校验值的ECC区;
内存读写管理模块具体被配置为对安全内存区进行数据的读写,并对ECC区进行ECC校验值的同步读写操作;
ECC纠错计算模块具体被配置为对写入安全内存区的数据进行ECC校验值计算,以及根据读取的数据对应的ECC校验值对读取的数据进行检错纠错。
进一步优选地,寄存器组还用于配置ECC内存管理器的ECC模式以及工作状态,ECC纠错计算模块具体被配置为根据ECC模式进行ECC校验值计算和检错纠错,ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级。
进一步优选地,寄存器组包括ECC管理控制寄存器、ECC地址区间起始寄存器、ECC地址区间结束寄存器、中断状态寄存器、中断控制寄存器、状态寄存器。
本发明还提供一种ECC内存管理方法,包括以下步骤:
S1:配置并读取配置信息,其中,配置信息包括ECC内存管理的工作模式、ECC范围;
S2:根据配置信息进行内存的读写操作:
若工作模式为ECC关闭状态或ECC范围无效,则对内存直接进行数据读写操作;
若工作模式为ECC开启状态且ECC范围有效,则根据ECC范围将内存划分为普通内存区、ECC内存区,并根据内存的划分进行数据读写操作:读写的内存区域为普通内存区,则对普通内存区直接进行数据读写操作;读写的内存区域为ECC内存区,则在对ECC内存区进行数据读写操作的同时,对读写的数据进行ECC纠错操作。
进一步优选地,ECC内存区包括安全内存区和ECC区,步骤S2中,对读写的数据进行ECC纠错操作具体包括以下步骤:
若对安全内存区进行写入操作,则对写入的数据进行ECC校验值计算并将ECC校验值写入对应的ECC区;
若对安全内存区进行读取操作,则根据读取的数据对应的ECC校验值对读取的数据进行检错纠错。
进一步优选地,配置信息还包括ECC模式,步骤S2中,根据ECC模式进行对读写的数据进行ECC纠错操作,ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级。
进一步优选地,步骤S1具体步骤为:根据当前内存的应用场景,配置并读取所配置信息。
本发明还提供一种电子设备,包括如上述任意一项所述的ECC内存管理器。
本发明与现有技术相比具有以下的优点和积极效果:
本发明通过在总线接口模块设置寄存器组,通过寄存器组配置ECC内存管理器的工作模式、ECC范围,其中,通过工作模式可自由实现ECC纠错功能的开关,ECC范围可灵活配置ECC内存区的范围大小,如此,不仅支持内存灵活分区,而且可选择ECC纠错功能开关状态,实现普通内存和ECC内存的复用,既能保证数据的安全性又能提高内存的利用率,内存利用率提高即减少了一些电子设备所需的内存容量,进而减少了芯片的面积和成本;
本发明可以根据不同的应用场景自由的配置ECC内存的大小,能够适用于更多的应用场景,提高了内存的适用范围;
本发明的关键数据使用ECC内存区,其他数据使用普通内存区,如此区分存储,普通数据的读写速度不受影响,提高了整体的读写速度;
本发明相对于全部数据使用ECC内存方案,可以节约内存用来存储更多的普通数据,如1/4的ECC内存加上3/4的普通内存容量与100%ECC内存相比,在内存容量一致的情况下,可用内存容量多出约了37%,且3/4的普通内存区读写速度不受ECC的影响。
附图说明
图1为本发明的一种ECC内存管理器的架构框图;
图2为本发明的一种ECC内存管理器的内存划分示意图;
图3为本发明的一种ECC内存管理器的一种内存划分方式;
图4为本发明的一种ECC内存管理方法的流程图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
以下结合附图和具体实施例对本发明提出的一种ECC内存管理器、方法及电子设备作进一步详细说明。
实施例1
参看图1,本申请提供了ECC内存管理器,包括:
与外部通信的总线接口模块、内存读写管理模块、ECC纠错计算模块、内存模块;总线接口模块设有寄存器组,用以配置ECC内存管理器的配置信息,配置信息包括工作模式、ECC范围;内存读写管理模块分别与总线接口模块、内存模块、ECC纠错计算模块电连接,用以根据配置信息进行内存的读写操作:
工作模式为ECC关闭状态或ECC范围无效,则内存读写管理模块对内存模块直接进行数据读写操作;
工作模式为ECC开启状态且ECC范围有效,则内存模块根据ECC范围划分为普通内存区、ECC内存区,并且内存读写管理模块根据内存的划分进行数据读写操作:读写的内存区域为普通内存区,则对普通内存区直接进行数据读写操作;读写的内存区域为ECC内存区,则在对ECC内存区进行数据读写操作的同时,调用ECC纠错计算模块对读写的数据进行ECC纠错操作。
现对本实施例进行详细说明:
参看图1,本实施例的ECC内存管理器,可用来进行片上系统(SoC)的内存管理,挂接在片上总线并受控于总线的主控制模块(如CPU)。
参看图1,本实施例的总线接口模块将总线上CPU或其它主模块的内存访问请求进行解析并反馈读数据。具体地,参看表1,总线接口模块提,寄存器组,用于配置ECC内存管理模块的工作模式、ECC范围、ECC模式,以及用于读取ECC内存管理器模块的工作状态。
表1寄存器组
具体地,参看表1,本实施例的寄存器组包括ECC管理控制寄存器、ECC地址区间起始寄存器、ECC地址区间结束寄存器、中断状态寄存器、中断控制寄存器、状态寄存器,其中,ECC管理控制寄存器用于配置ECC内存管理器的工作模式和ECC模式,工作模式包括ECC开启状态和ECC关闭状态,ECC模式为ECC纠错计算模块所的工作模式,ECC地址区间起始寄存器和ECC地址区间结束寄存器用于配置ECC内存管理器的ECC范围,状态寄存器用于存储ECC内存管理器的工作状态,如内存纠错次数等。
本实施例通过在总线接口模块设置寄存器组,通过寄存器组配置ECC内存管理器的工作模式、ECC范围,其中,通过工作模式可自由实现ECC纠错功能的开关,ECC范围可灵活配置ECC内存区的范围大小,如此,不仅支持内存灵活分区,而且可选择ECC纠错功能开关状态,实现普通内存和ECC内存的复用,既能保证数据的安全性又能提高内存的利用率,内存利用率提高即减少了一些电子设备所需的内存容量,进而减少了芯片的面积和成本。同时,本实施例可以根据不同的应用场景自由的配置ECC内存的大小,能够适用于更多的应用场景,提高了内存的适用范围。
在寄存器组的配置下,本实施例的ECC内存管理器支持两种模式:
1)EMM_CR的Bit0(ECC_On)设置为0,即ECC管理控制寄存器配置的工作模式为ECC关闭状态,也就说ECC纠错功能关闭。在此模式下,内存SRAM为常规模式,所有内存区域用来存储程序或数据,每个字节均可总线寻址。如对于16M的SRAM内存(16位地址),内存的寻址空间为0x00000000~0x00FFFFFF。
2)EMM_CR的Bit0(ECC_On)设置为1,即ECC管理控制寄存器配置的工作模式为ECC开启状态,也就说ECC纠错功能打开。参看图2,在此模式下,ECC地址区间内的SRAM变为带ECC内存区,内存分为普通内存区和ECC内存区,ECC内存区又分安全内存区、ECC区,安全内存区与ECC区呈对应关系,普通内存区用来存储程序或数据,安全内存区用来存储数据,ECC区用来存储ECC校验值,ECC区的ECC校验值与安全内存区的数据对应,并且ECC区不能通过总线寻址。
具体地,参考图3,对此模式下内存模块的内存划分进行举例说明:如原内存的的寻址空间为0x00000000~0x00FFFFFF。当ECC地址区间起始寄存器的EMM_RSR值为0x00010000,ECC地址区间结束寄存器的EMM_RER值为0x000FFFFF时,则安全内存区域为:0x00010000~0x000FFFFF;不可寻址使用的ECC区域为:0x00810000~0x008FFFFF,该区域用于存放ECC校验值,而其他的内存区域为普通内存区域。
参看图1,本实施例的ECC纠错算法子模块,该模块可根据寄存器组中的配置的ECC模式对ECC内存区域中的数据进行ECC检验值计算及检错纠错。具体地,本实施例的ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级,具体地,汉明码模式为采用汉明码实现单字节的ECC校验,一个字节需要4位的校验码,能够纠正1个比特的随机错误,BCH码模式为采用BCH码进行ECC校验,汉明码模式对应的纠错等级为1、BCH码模式对应的纠错等级分为1和2,纠错等级1可纠正1Bit的错误,纠错等级2可纠正2Bits的错误,本实施例中,通过ECC管理控制寄存器来配置ECC模式(ECC_MODE),当ECC_MODE为0时:ECC模式为汉明码(纠错等级1),当ECC_MODE为1时:ECC模式为BCH码(纠错等级1),当ECC_MODE为2时:ECC模式为BCH码(纠错等级2)。
参看图1,本实施例的内存读写管理子模块,该模块负责内存数据的读和写操作。当ECC功能关闭时,为常规读写操作;而当ECC功能打开时,不仅对ECC内存区数据的读写还同步完成对ECC校验值的读写操作。
现结合数据的读写过程对本实施例进行详细说明:
1)ECC关闭状态或ECC范围无效
内存模块的所有内存均可寻址,总线接口模块接收主模块或其他模块的读写指令,内存读写管理模块直接对内存模块的所有内存区域进行直接数据的读写操作。
2)ECC开启状态或ECC范围有效
总线接口模块接收主模块或其他模块的读写指令:读写的内存区域为普通内存区,则内存读写管理模块对普通内存区直接进行数据读写操作;读写的内存区域为ECC内存区,写指令则ECC纠错计算模块对写入安全内存区的数据进行ECC校验值计算,内存读写管理模块并将数据写入安全内存区、校验值写入对应的ECC区,读指令则内存读写管理模块根据地址从安全内存区读取数据并从ECC区读取相应的校验值,将读出的数据和校验值传递给ECC纠错计算模块进行检错纠错,并将ECC纠错计算模块纠错后的数据经总线接口模块反馈给主模块,即完成了内存区的读取。
本实施例相对于全部数据使用ECC内存方案,可以节约内存用来存储更多的普通数据,如1/4的ECC内存加上3/4的普通内存容量与100%ECC内存相比,在内存容量一致的情况下,可用内存容量多出约了37%,并且关键数据使用ECC内存区,其他数据使用普通内存区,如此区分存储,普通数据的读写速度不受影响,提高了整体的读写速度。
实施例2
参看图4,本申请提供了一种基于实施例1的ECC内存管理方法,包括以下步骤:
S1:配置并读取配置信息,其中,配置信息包括ECC内存管理的工作模式、ECC范围;
S2:根据配置信息进行内存的读写操作:
若工作模型为ECC关闭状态或ECC范围无效,则对内存直接进行数据读写操作;
若工作模式为ECC开启状态且ECC范围有效,则根据ECC范围将内存划分为普通内存区、ECC内存区,并根据内存的划分进行数据读写操作:读写的内存区域为普通内存区,则对普通内存区直接进行数据读写操作;读写的内存区域为ECC内存区,则在对ECC内存区进行数据读写操作的同时,对读写的数据进行ECC纠错操作。
现对本实施例进行详细说明:
本实施例的步骤S1中,根据当前内存的应用场景,通过外部的控制器进行配置本实施例中的配置信息,具体地,根据内存的应用场景的内存需求大小、需要ECC纠错的数据量、普通数据存储的数据量等信息进行配置。配置信息可存储于内存接口的寄存器当中,同样也可以存储至其他存储设备当中,优选地,本实施例采用内存接口的寄存器进行配置信息的存储。具体地,配置信息包括ECC内存管理的工作模式、ECC范围、ECC模式,以及工作状态,工作状态用于记录本实施例的执行信息,如ECC纠错的执行次数。
本实施例的步骤S2中,根据配置信息进行内存的读写操作:
若ECC关闭状态或ECC范围无效,所有内存均可寻址,接收外部发送的读写指令,直接对所有内存区域进行直接数据的读写操作。
若ECC开启状态或ECC范围有效,根据ECC范围将内存划分为普通内存区、ECC内存区,ECC内存区又分安全内存区与ECC区,接收外部发送的读写指令:读写的内存区域为普通内存区,则对普通内存区直接进行数据读写操作;读写的内存区域为ECC内存区,若对安全内存区进行写入操作,则根据ECC模式对写入的数据进行ECC校验值计算并将ECC校验值写入对应的ECC区;若对安全内存区进行读取操作,则根据读取的数据对应的ECC校验值及ECC模式对读取的数据进行检错纠错。具体地,ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级,汉明码模式为采用汉明码实现单字节的ECC校验,一个字节需要4位的校验码,能够纠正1个比特的随机错误,汉明码模式对应的纠错等级为1,BCH码模式为采用BCH码进行ECC校验,BCH码模式对应的纠错等级分为1和2,本实施例还可以通过ECC模式选择ECC的纠错等级,纠错等级1可纠正1Bit的错误,纠错等级2可纠正2Bits的错误。
本实施例通过配置及读取ECC内存管理器的工作模式、ECC范围,其中,通过工作模式可自由实现ECC纠错功能的开关,ECC范围可灵活配置ECC内存区的范围大小,如此,不仅支持内存灵活分区,而且可选择ECC纠错功能开关状态,实现普通内存和ECC内存的复用,既能保证数据的安全性又能提高内存的利用率,内存利用率提高即减少了一些电子设备所需的内存容量,进而减少了芯片的面积和成本,同时,本实施例还可以根据不同的应用场景自由的配置ECC内存的大小,能够适用于更多的应用场景,提高了内存的适用范围,并且本实施例的关键数据使用ECC内存区,其他数据使用普通内存区,如此区分存储,普通数据的读写速度不受影响,提高了整体的读写速度。
实施例3
本申请提供了一种基于实施例1的电子设备,包括如实施例1中的ECC内存管理器,该电子设备可以电脑、手机、汽车、工厂的生产设备、检测设备等任意一种具有内存的电子设备。
基于ECC内存管理器,本实施例的电子设备具有以下优势:
本实施例通过在总线接口模块设置寄存器组,通过寄存器组配置ECC内存管理器的工作模式、ECC范围,其中,通过工作模式可自由实现ECC纠错功能的开关,ECC范围可灵活配置ECC内存区的范围大小,如此,不仅支持内存灵活分区,而且可选择ECC纠错功能开关状态,实现普通内存和ECC内存的复用,既能保证数据的安全性又能提高内存的利用率,内存利用率提高即减少了一些电子设备所需的内存容量,进而减少了芯片的面积和成本;
本实施例可以根据不同的应用场景自由的配置ECC内存的大小,能够适用于更多的应用场景,提高了内存的适用范围;
本实施例的关键数据使用ECC内存区,其他数据使用普通内存区,如此区分存储,普通数据的读写速度不受影响,提高了整体的读写速度;
本实施例相对于全部数据使用ECC内存方案,可以节约内存用来存储更多的普通数据,如1/4的ECC内存加上3/4的普通内存容量与100%ECC内存相比,在内存容量一致的情况下,可用内存容量多出约了37%,且3/4的普通内存区读写速度不受ECC的影响。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (10)
1.一种ECC内存管理器,其特征在于,包括:与外部通信的总线接口模块、内存读写管理模块、ECC纠错计算模块、内存模块;
所述总线接口模块设有寄存器组,用以配置ECC内存管理器的配置信息,所述配置信息包括ECC内存管理器的工作模式、ECC范围;
所述内存读写管理模块分别与所述总线接口模块、所述内存模块、所述ECC纠错计算模块电连接,用以根据所述配置信息进行内存的读写操作:
所述工作模式为ECC关闭状态或所述ECC范围无效,则所述内存读写管理模块对所述内存模块直接进行数据读写操作;
所述工作模式为ECC开启状态且所述ECC范围有效,则所述内存模块根据所述ECC范围划分为普通内存区、ECC内存区,并且所述内存读写管理模块根据内存的划分进行数据读写操作:读写的内存区域为所述普通内存区,则对所述普通内存区直接进行数据读写操作;读写的内存区域为所述ECC内存区,则在对所述ECC内存区进行数据读写操作的同时,调用所述ECC纠错计算模块对读写的数据进行ECC纠错操作。
2.根据权利要求1所述的ECC内存管理器,其特征在于,所述ECC内存区包括用于存储数据的安全内存区、用于存储所述ECC纠错操作的ECC校验值的ECC区;
所述内存读写管理模块具体被配置为对所述安全内存区进行数据的读写,并对所述ECC区进行所述ECC校验值的同步读写操作;
所述ECC纠错计算模块具体被配置为对写入所述安全内存区的数据进行ECC校验值计算,以及根据读取的数据对应的所述ECC校验值对读取的数据进行检错纠错。
3.根据权利要求2所述的ECC内存管理器,其特征在于,所述寄存器组还用于配置ECC内存管理器的ECC模式以及工作状态,所述ECC纠错计算模块具体被配置为根据所述ECC模式进行所述ECC校验值计算和所述检错纠错。
4.根据权利要求3所述的ECC内存管理器,其特征在于,所述ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级。
5.根据权利要求1-4任意一项所述的ECC内存管理器,其特征在于,所述寄存器组包括ECC管理控制寄存器、ECC地址区间起始寄存器、ECC地址区间结束寄存器、中断状态寄存器、中断控制寄存器、状态寄存器。
6.一种ECC内存管理方法,其特征在于,包括以下步骤:
S1:配置并读取配置信息,其中,所述配置信息包括ECC内存管理的工作模式、ECC范围;
S2:根据所述配置信息进行内存的读写操作:
若所述工作模式为ECC关闭状态或所述ECC范围无效,则对内存直接进行数据读写操作;
若所述工作模式为ECC开启状态且所述ECC范围有效,则根据所述ECC范围将内存划分为普通内存区、ECC内存区,并根据内存的划分进行数据读写操作:读写的内存区域为所述普通内存区,则对所述普通内存区直接进行数据读写操作;读写的内存区域为所述ECC内存区,则在对所述ECC内存区进行数据读写操作的同时,对读写的数据进行ECC纠错操作。
7.根据权利要求6所述的ECC内存管理方法,其特征在于,所述ECC内存区包括安全内存区和ECC区,所述步骤S2中,对所述读写的数据进行ECC纠错操作具体包括以下步骤:
若对所述安全内存区进行写入操作,则对写入的数据进行ECC校验值计算并将所述ECC校验值写入对应的所述ECC区;
若对所述安全内存区进行读取操作,则根据读取的数据对应的所述ECC校验值对读取的数据进行检错纠错。
8.根据权利要求6所述的ECC内存管理方法,其特征在于,所述配置信息还包括ECC模式,所述步骤S2中,根据所述ECC模式进行对读写的数据进行ECC纠错操作,所述ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级。
9.根据权利要求6-8任意一项所述的ECC内存管理方法,其特征在于,所述步骤S1具体步骤为:根据当前内存的应用场景,配置并读取所述配置信息。
10.一种电子设备,其特征在于,包括如权利要求1-5任意一项所述的ECC内存管理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293972.3A CN111143109B (zh) | 2019-12-16 | 2019-12-16 | 一种ecc内存管理器、方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293972.3A CN111143109B (zh) | 2019-12-16 | 2019-12-16 | 一种ecc内存管理器、方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143109A true CN111143109A (zh) | 2020-05-12 |
CN111143109B CN111143109B (zh) | 2021-08-13 |
Family
ID=70518378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911293972.3A Active CN111143109B (zh) | 2019-12-16 | 2019-12-16 | 一种ecc内存管理器、方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143109B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880164A (zh) * | 2022-07-12 | 2022-08-09 | 合肥康芯威存储技术有限公司 | 一种管理存储页的方法和装置 |
US20230244396A1 (en) * | 2022-02-02 | 2023-08-03 | Texas Instruments Incorporated | Memory with extension mode |
CN118173155A (zh) * | 2024-03-26 | 2024-06-11 | 青芯科技(无锡)有限公司 | 一种系统芯片架构及其读取片外数据的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667837A (zh) * | 2009-08-21 | 2010-03-10 | 苏州国芯科技有限公司 | 一种基于理德-所罗门码的ecc控制器 |
CN102646453A (zh) * | 2011-02-18 | 2012-08-22 | 安凯(广州)微电子技术有限公司 | NandFlash控制器中错误校正码模块的测试方法及系统 |
CN103389923A (zh) * | 2013-07-25 | 2013-11-13 | 苏州国芯科技有限公司 | 随机存储器访问总线ecc校验装置 |
CN105556477A (zh) * | 2013-09-24 | 2016-05-04 | 国际商业机器公司 | 在多端口存储器配置中与主机处理器的存储器模块通信 |
CN106297895A (zh) * | 2015-06-29 | 2017-01-04 | 三星电子株式会社 | 纠错电路、半导体存储器装置及其控制方法 |
US20170255383A1 (en) * | 2016-03-03 | 2017-09-07 | Samsung Electronics Co., Ltd. | Coordinated in-module ras features for synchronous ddr compatible memory |
CN108255633A (zh) * | 2016-12-28 | 2018-07-06 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
-
2019
- 2019-12-16 CN CN201911293972.3A patent/CN111143109B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667837A (zh) * | 2009-08-21 | 2010-03-10 | 苏州国芯科技有限公司 | 一种基于理德-所罗门码的ecc控制器 |
CN102646453A (zh) * | 2011-02-18 | 2012-08-22 | 安凯(广州)微电子技术有限公司 | NandFlash控制器中错误校正码模块的测试方法及系统 |
CN103389923A (zh) * | 2013-07-25 | 2013-11-13 | 苏州国芯科技有限公司 | 随机存储器访问总线ecc校验装置 |
CN105556477A (zh) * | 2013-09-24 | 2016-05-04 | 国际商业机器公司 | 在多端口存储器配置中与主机处理器的存储器模块通信 |
CN106297895A (zh) * | 2015-06-29 | 2017-01-04 | 三星电子株式会社 | 纠错电路、半导体存储器装置及其控制方法 |
US20170255383A1 (en) * | 2016-03-03 | 2017-09-07 | Samsung Electronics Co., Ltd. | Coordinated in-module ras features for synchronous ddr compatible memory |
CN108255633A (zh) * | 2016-12-28 | 2018-07-06 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230244396A1 (en) * | 2022-02-02 | 2023-08-03 | Texas Instruments Incorporated | Memory with extension mode |
US11899954B2 (en) * | 2022-02-02 | 2024-02-13 | Texas Instruments Incorporated | Memory with extension mode |
CN114880164A (zh) * | 2022-07-12 | 2022-08-09 | 合肥康芯威存储技术有限公司 | 一种管理存储页的方法和装置 |
CN118173155A (zh) * | 2024-03-26 | 2024-06-11 | 青芯科技(无锡)有限公司 | 一种系统芯片架构及其读取片外数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111143109B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3149592B1 (en) | Systems and methods for improving efficiencies of a memory system | |
US11347444B2 (en) | Memory device for controlling operations according to different access units of memory | |
US8145985B2 (en) | Error detection schemes for a unified cache in a data processing system | |
CN101685381B (zh) | 固态大容量存储装置的数据串流 | |
CN111143109B (zh) | 一种ecc内存管理器、方法及电子设备 | |
US9223707B2 (en) | Mobile memory cache read optimization | |
CN106663045A (zh) | 在存储器与主机系统之间交换ecc元数据 | |
US8856427B2 (en) | Memory controller and non-volatile storage device | |
CN113760185B (zh) | 内存块回收方法和装置 | |
TWI695382B (zh) | 記憶體定址方法及相關聯的控制器 | |
US6523755B2 (en) | Semiconductor memory device | |
CN104346293A (zh) | 混合内存的数据访问方法、模块、处理器及终端设备 | |
CN105283856A (zh) | 能够在多个数据宽度下通信的存储器组件 | |
US10388396B2 (en) | Buffer circuit with adaptive repair capability | |
CN119166566A (zh) | 一种存储控制器及电子系统 | |
CN104636271A (zh) | 访问命令/地址寄存器装置中存储的数据 | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20200333984A1 (en) | Apparatus and method for controlling access to memory module | |
KR100743252B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 | |
KR100743253B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 | |
US20240272836A1 (en) | Control circuit, memory device including the same, and method | |
US20180276068A1 (en) | Error correction code in memory | |
JP2007317078A (ja) | 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
KR20050021686A (ko) | 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법 | |
KR100743258B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 |
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 |