CN111143109B - 一种ecc内存管理器、方法及电子设备 - Google Patents

一种ecc内存管理器、方法及电子设备 Download PDF

Info

Publication number
CN111143109B
CN111143109B CN201911293972.3A CN201911293972A CN111143109B CN 111143109 B CN111143109 B CN 111143109B CN 201911293972 A CN201911293972 A CN 201911293972A CN 111143109 B CN111143109 B CN 111143109B
Authority
CN
China
Prior art keywords
ecc
memory
read
write
memory area
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.)
Active
Application number
CN201911293972.3A
Other languages
English (en)
Other versions
CN111143109A (zh
Inventor
杨大胜
潘再生
唐艳丽
李红波
曹焱
郑慧娴
来晓
刘勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Zhongkong Microelectronics Co ltd
Zhejiang University ZJU
Original Assignee
Ningbo Zhongkong Microelectronics Co ltd
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Zhongkong Microelectronics Co ltd, Zhejiang University ZJU filed Critical Ningbo Zhongkong Microelectronics Co ltd
Priority to CN201911293972.3A priority Critical patent/CN111143109B/zh
Publication of CN111143109A publication Critical patent/CN111143109A/zh
Application granted granted Critical
Publication of CN111143109B publication Critical patent/CN111143109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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内存管理器、方法及电子设备。
背景技术
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寄存器组
Figure BDA0002319966900000061
具体地,参看表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 (8)

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校验值计算,以及根据读取的数据对应的所述ECC校验值对读取的数据进行检错纠错。
2.根据权利要求1所述的ECC内存管理器,其特征在于,所述寄存器组还用于配置ECC内存管理器的ECC模式以及工作状态,所述ECC纠错计算模块具体被配置为根据所述ECC模式进行所述ECC校验值计算和所述检错纠错。
3.根据权利要求2所述的ECC内存管理器,其特征在于,所述ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级。
4.根据权利要求1-3任意一项所述的ECC内存管理器,其特征在于,所述寄存器组包括ECC管理控制寄存器、ECC地址区间起始寄存器、ECC地址区间结束寄存器、中断状态寄存器、中断控制寄存器、状态寄存器。
5.一种ECC内存管理方法,其特征在于,包括以下步骤:
S1:配置并读取配置信息,其中,所述配置信息包括ECC内存管理的工作模式、ECC范围;
S2:根据所述配置信息进行内存的读写操作:
若所述工作模式为ECC关闭状态或所述ECC范围无效,则对内存直接进行数据读写操作;
若所述工作模式为ECC开启状态且所述ECC范围有效,则根据所述ECC范围将内存划分为普通内存区、ECC内存区,并根据内存的划分进行数据读写操作:读写的内存区域为所述普通内存区,则对所述普通内存区直接进行数据读写操作;读写的内存区域为所述ECC内存区,则在对所述ECC内存区进行数据读写操作的同时,对读写的数据进行ECC纠错操作;
所述ECC内存区包括安全内存区和ECC区,所述步骤S2中,对所述读写的数据进行ECC纠错操作具体包括以下步骤:
若对所述安全内存区进行写入操作,则对写入的数据进行ECC校验值计算并将所述ECC校验值写入对应的所述ECC区;
若对所述安全内存区进行读取操作,则根据读取的数据对应的所述ECC校验值对读取的数据进行检错纠错。
6.根据权利要求5所述的ECC内存管理方法,其特征在于,所述配置信息还包括ECC模式,所述步骤S2中,根据所述ECC模式进行对读写的数据进行ECC纠错操作,所述ECC模式包括汉明码模式、BCH码模式以及模式对应的纠错等级。
7.根据权利要求5或6所述的ECC内存管理方法,其特征在于,所述步骤S1具体步骤为:根据当前内存的应用场景,配置并读取所述配置信息。
8.一种电子设备,其特征在于,包括如权利要求1-4任意一项所述的ECC内存管理器。
CN201911293972.3A 2019-12-16 2019-12-16 一种ecc内存管理器、方法及电子设备 Active CN111143109B (zh)

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 CN111143109A (zh) 2020-05-12
CN111143109B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899954B2 (en) * 2022-02-02 2024-02-13 Texas Instruments Incorporated Memory with extension mode
CN114880164B (zh) * 2022-07-12 2022-09-20 合肥康芯威存储技术有限公司 一种管理存储页的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 国际商业机器公司 在多端口存储器配置中与主机处理器的存储器模块通信
CN108255633A (zh) * 2016-12-28 2018-07-06 旺宏电子股份有限公司 存储控制方法、存储装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067026B (zh) * 2009-08-21 2016-03-02 苏州国芯科技有限公司 应用于理德-所罗门码的ecc控制器
KR102324769B1 (ko) * 2015-06-29 2021-11-10 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10592114B2 (en) * 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 国际商业机器公司 在多端口存储器配置中与主机处理器的存储器模块通信
CN108255633A (zh) * 2016-12-28 2018-07-06 旺宏电子股份有限公司 存储控制方法、存储装置

Also Published As

Publication number Publication date
CN111143109A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
US10120615B2 (en) Memory management method and storage controller using the same
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) 固态大容量存储装置的数据串流
CN106663045A (zh) 在存储器与主机系统之间交换ecc元数据
JP5364807B2 (ja) メモリコントローラ及び不揮発性記憶装置
JP2007522590A (ja) ブロック・アドレスの可能な大容量ストレージ・システムのためのインターフェイス
CN101281494A (zh) 使用动态随机存取存储器和闪存的系统和方法
CN104541249A (zh) 用于非易失性存储器的耐久性感知纠错码(ecc)保护
CN109165115B (zh) 一种增强flash存储器可靠性的方法
JP2013016149A (ja) メモリコントローラ及び不揮発性記憶装置
CN111143109B (zh) 一种ecc内存管理器、方法及电子设备
US6523755B2 (en) Semiconductor memory device
US20120173805A1 (en) Data accessing method for flash memory storage device having data perturbation module, and storage system and controller using the same
CN105283856A (zh) 能够在多个数据宽度下通信的存储器组件
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
US20060004950A1 (en) Flash memory file system having reduced headers
US8045405B2 (en) Memory system, memory device and command protocol
US10388396B2 (en) Buffer circuit with adaptive repair capability
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
EP1814037B1 (en) Semiconductor storage device
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
CN115016981A (zh) 存储区域的设置方法、数据读取、写入方法及相关装置
CN110633225A (zh) 实体存储对照表产生装置及方法
CN113555057A (zh) 一种扩大固态硬盘映射表单元的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant