CN117349079A - 一种用于SPI NorFlash的ECC数据纠错方法 - Google Patents

一种用于SPI NorFlash的ECC数据纠错方法 Download PDF

Info

Publication number
CN117349079A
CN117349079A CN202311530807.1A CN202311530807A CN117349079A CN 117349079 A CN117349079 A CN 117349079A CN 202311530807 A CN202311530807 A CN 202311530807A CN 117349079 A CN117349079 A CN 117349079A
Authority
CN
China
Prior art keywords
target data
data
address
processing unit
central processing
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
Application number
CN202311530807.1A
Other languages
English (en)
Other versions
CN117349079B (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.)
Suzhou Menhai Microelectronics Technology Co ltd
Original Assignee
Suzhou Menhai Microelectronics Technology Co ltd
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 Suzhou Menhai Microelectronics Technology Co ltd filed Critical Suzhou Menhai Microelectronics Technology Co ltd
Priority to CN202311530807.1A priority Critical patent/CN117349079B/zh
Publication of CN117349079A publication Critical patent/CN117349079A/zh
Application granted granted Critical
Publication of CN117349079B publication Critical patent/CN117349079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

Abstract

本发明涉及Flash数据存取技术领域,尤其是指一种用于SPINorFlash的ECC数据纠错方法。所述方法使用Flash控制器在存入数据时将目标数据分组并生成对应的校验码,根据写地址通过地址映射计算出实际存储地址,将分组后的目标数据及其对应的校验码写入SPINorFlash;在读取数据时,通过地址映射根据读地址计算出目标数据的实际存储地址,根据目标数据的实际存储地址读出目标数据及其对应的校验码进行ECC运算,对目标数据进行纠错查错,剔除校验码后发送给中央处理器。本发明解决了SPINorFlash中因为位翻转导致数据出错的问题,不影响中央处理器读写数据的正常操作,提高了系统工作的可靠性。

Description

一种用于SPI NorFlash的ECC数据纠错方法
技术领域
本发明涉及Flash数据存取技术领域,尤其是指一种用于SPI NorFlash的ECC数据纠错方法及装置。
背景技术
Flash作为一种非易失性闪存技术,具有掉电数据不丢失、可擦写次数多等优点,在嵌入式芯片领域拥有广泛的应用。但在实际应用中发现,随着擦写次数的增多,以及部分芯片制造工艺的原因,Flash会偶有出现位翻转的情况导致数据读取错误。
但是,目前的SPI NorFlash本身不具有校验位,因此无法对数据进行ECC纠错,在出现读取错误时无法进行检查并纠正,导致使用SPI NorFlash的系统工作可靠性下降。
发明内容
为此,本发明所要解决的技术问题在于克服现有技术中SPI NorFlash不具有ECC纠错功能的问题。
为解决上述技术问题,本发明提供了一种用于SPI NorFlash的ECC数据纠错方法,Flash控制器分别与中央处理器和SPI NorFlash连接,具体包括:
S1、Flash控制器接收到中央处理器发送的写数据指令时,将目标数据分组后生成各组目标数据的校验码,并组成数据-校验码对;
S2、Flash控制器将中央处理器发送的写地址映射为目标数据在SPI NorFlash中的实际存储地址,将分组后的数据-校验码对,按照映射后的实际存储地址一同存储至SPINorFlash;
S3、Flash控制器接收到中央处理器发送的读数据指令时,将中央处理器发送的读地址映射为目标数据在SPI NorFlash中的实际存储地址,根据目标数据的实际存储地址从SPI NorFlash中读取目标数据-校验码对;
S4、Flash控制器对读取的目标数据及其对应的校验码采用ECC运算进行纠错查错;
S5、Flash控制器剔除校验码,将经过纠错查错的目标数据发送至中央处理器。
在本发明的一个实施例中,S1中,将目标数据以字节为单位进行分组,生成的校验码为5比特;组成数据-校验码对时,目标数据在前,校验码在后,其中校验码也占1个字节,高3位会补0。
在本发明的一个实施例中,S2中,所述Flash控制器将中央处理器发送的写地址映射为目标数据在SPI NorFlash中的实际存储地址,将分组后的数据-校验码对,按照映射后的实际存储地址一同存储至SPI NorFlash,包括:
中央处理器发送的写地址W_addr与目标数据在SPI NorFlash中的实际存储地址F_Addr的映射关系为F_Addr=W_addr*2,根据该映射关系和中央处理器发送的写地址W_addr得到分组后的目标数据在SPI NorFlash中的实际存储地址F_Addr;
根据数据-校验码对的组成,每组目标数据对应的校验码存储在该组目标数据的下一地址。
在本发明的一个实施例中,S3中,Flash控制器接收到中央处理器发送的读数据指令时,将中央处理器发送的读地址映射为目标数据在SPI NorFlash中的实际存储地址,根据目标数据的实际存储地址从SPI NorFlash中读取目标数据-校验码对,包括:
中央处理器发送的的读地址R_addr与SPI NorFlash中目标数据的实际存储地址F_Addr的映射关系为F_Addr=R_addr*2,根据该映射关系和中央处理器发送的的读地址R_addr得到SPI NorFlash中目标数据的实际存储地址F_Addr,并根据所述SPI NorFlash中目标数据的实际存储地址F_Addr从SPI NorFlash中读取目标数据及其下一地址的校验码。
在本发明的一个实施例中,S1中,生成各组目标数据的校验码的算法为ECC算法。
本发明还提供了一种用于SPI NorFlash的ECC数据纠错装置,包括:
中央处理器,用于发送写数据和读数据指令;
Flash控制器,与中央处理器和SPI NorFlash连接,包括:
ECC校验模块,与中央处理器、发送缓冲模块以及接收缓冲模块连接;ECC校验模块接收中央处理器发送的写数据指令时,将目标数据分组后生成各组目标数据的校验码,并组成数据-校验码对发送至发送缓冲模块;接收中央处理器发送的读数据指令时,对从SPINorFlash读出的目标数据-校验码对进行ECC运算以纠错查错,并剔除校验码,将经过纠错查错的目标数据发送至中央处理器;
发送缓冲模块,与ECC校验模块和接口协议转换模块连接,用于暂存经过ECC校验模块运算并添加了校验码后的目标数据-校验码对,并通过接口协议转换模块发送给SPINorFlash;
接收缓冲模块,与ECC校验模块和接口协议转换模块连接,用于暂存从SPINorFlash中读出的目标数据-校验码对,并发送至ECC校验模块;
地址映射模块,与中央处理器和接口协议转换模块连接,用于将中央处理器发送的写地址或读地址映射为目标数据的实际存储地址,并通过接口协议转换模块发送给SPINorFlash;
接口协议转换模块,与发送缓冲模块、接收缓冲模块、地址映射模块及SPINorFlash连接,用于实现中央处理器的总线协议接口信号与Flash协议接口信号的相互转换。
在本发明的一个实施例中,所述发送缓冲模块和所述接收缓冲模块为位宽64比特、深度128的缓存器。
本发明的上述技术方案相比现有技术具有以下优点:
本发明所述一种用于SPI NorFlash的ECC数据纠错方法,将SPI NorFlash一部分地址空间划分用于存储校验码,将数据与校验码交错存储,在读取数据时从SPI NorFlash中将目标数据-校验码对一同读出,利用校验码对目标数据进行纠错,解决了SPI NorFlash中因为位翻转导致数据出错的问题,提高了SPI NorFlash系统工作的可靠性。
本发明所述一种用于SPI NorFlash的ECC数据纠错方法,通过将目标数据按字节分组,使得在1字(32比特)的数据中最多能够实现4比特数据的纠正,8比特数据的查错,提高了SPI NorFlash系统对数据的纠错查错能力。
本发明所述一种用于SPI NorFlash的ECC数据纠错装置,使得纠错查错的过程通过Flash控制器在读取数据时实时地自动完成,中央处理器只需要正常发送数据的读取和写入指令,不需要产生其他额外操作,即这一纠错查错过程对于中央处理器是透明的,相比通过软件等方式来进行纠错查错的装置,在操作上更为简便且读写速度也更快,泛用性更高。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是本发明一种用于SPI NorFlash的ECC数据纠错方法的流程图;
图2是本发明实施例中SPI NorFlash地址空间数据存储分布示意图;
图3是本发明一种用于SPI NorFlash的ECC数据纠错装置的结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例一
参照图1所示,本实施例提供了一种用于SPI NorFlash的ECC数据纠错方法,搭载于Flash控制器,所述Flash控制器分别与中央处理器和SPI NorFlash连接。所述方法具体包括:
S1、Flash控制器接收到中央处理器发送的写数据指令时,将目标数据分组后生成各组目标数据的校验码,并组成数据-校验码对。
本实施例采用ECC校验算法生成校验码。目标数据分组后,每组数据的大小为1字节,即8比特,在使用ECC算法生成校验码时,每8比特数据对应生成5比特的校验码。例如,中央处理器向SPI NorFlash中写入1字(32比特)数据时,首先将目标数据分为8比特的4组数据,采用ECC算法分别生成4组5比特的ECC校验码,并将ECC校验码高3位补0扩展为8比特,将目标数据和对应的ECC校验码共组成4组数据-校验码对。
S2、Flash控制器将中央处理器发送的写地址映射为目标数据在SPI NorFlash中的实际存储地址,将分组后的数据-校验码对,按照映射后的实际存储地址一同存储至SPINorFlash。
参照图2所示,本实施例将SPI NorFlash中的存储空间划分为数据存储和校验码存储,其中偶地址存储目标数据,奇地址存储校验码,且校验码存储在其对应的目标数据的下一地址。
依照存储格式约定,中央处理器发送的写地址W_addr与目标数据在SPI NorFlash中的实际存储地址F_Addr的映射关系为F_Addr=W_addr*2,根据该映射关系和中央处理器发送的写地址W_addr得到分组后的目标数据在SPI NorFlash中的实际存储地址F_Addr。
将分组后的目标数据按照在SPI NorFlash中的实际存储地址F_Addr存储至SPINorFlash,并将每组目标数据对应的校验码存储在该组目标数据的下一地址。
具体而言,当中央处理器要向SPI NorFlash中地址0开始写入1字时,写地址为0地址存储第1个字节,1地址存储第2个字节,2地址存储第3个字节,3地址存储第4个字节。经过地址映射,在SPI NorFlash中的实际存储地址变为0地址存储第1个字节,1地址存储第1个字节对应的ECC校验码,2地址存储第2个字节,3地址存储第2个字节对应的ECC校验码,4地址存储第3个字节,5地址存储第3个字节对应的ECC校验码,6地址存储第4个字节,7地址存储第4个字节对应的ECC校验码。因此,当中央处理器向SPI NorFlash中写入1字时,实际存储到SPI NorFlash中的内容包括目标数据及其对应的校验码,共2字。
S3、Flash控制器接收到中央处理器发送的读数据指令时,将中央处理器发送的读地址映射为目标数据在SPI NorFlash中的实际存储地址,根据目标数据的实际存储地址从SPI NorFlash中读取目标数据-校验码对,具体包括:
中央处理器发送的的读地址R_addr与SPI NorFlash中目标数据的实际存储地址F_Addr的映射关系为F_Addr=R_addr*2,根据该映射关系和中央处理器发送的的读地址R_addr得到SPI NorFlash中目标数据的实际存储地址F_Addr,并根据所述SPI NorFlash中目标数据的实际存储地址F_Addr从SPI NorFlash中读取目标数据及其下一地址的校验码。
具体而言,当中央处理器要从SPI NorFlash中地址2开始读取1字时,中央处理器依旧按照从地址2读取第1个字节,地址3读取第2个字节,地址4读取第3个字节,地址5读取第4个字节。但经过地址映射,实际上从SPI NorFlash中读取数据的操作变为从地址4读取第1个字节,地址5读取第1个字节对应的ECC校验码,地址6读取第2个字节,地址7读取第2个字节对应的ECC校验码,地址8读取第3个字节,地址9读取第3个字节对应的ECC校验码,地址10读取第4个字节,地址11读取第4个字节对应的ECC校验码。因此,当中央处理器从SPINorFlash中读取1字时,实际从SPI NorFlash中读取的内容包括目标数据及其对应的校验码,共2字。
在写入和读取数据的过程中,通过地址映射,中央处理器只需要正常发起读写操作,不需要关注数据编解码和地址映射的过程。
S4、Flash控制器对目标数据及其对应的校验码采用ECC运算进行纠错查错。
本实施例采用ECC校验码,对目标数据的每个字节及其对应的校验码采用ECC运算进行纠错查错,具体包括:
对目标数据中每个字节数据及其对应的ECC校验码进行ECC运算,分别得到每个字节对应的5比特检查码;
若检查码中5个比特均等于0,则表示该字节目标数据无误;
若检查码的前4比特中不全等于0,且第5比特不等于0,则表示该字节目标数据及其校验码中有1比特出错,其中由前4比特组成的二进制数可知出错比特的位置,对所述出错比特取反,得到纠正后的该字节目标数据;
若检查码的前4比特中不全等于0,且第5比特等于0,则表示该字节目标数据及其校验码中有2比特出错。
由于ECC算法能对存在1比特错误的数据进行纠正,存在2比特错误的数据进行查错,本实施例通过将目标数据按字节分组,使得在1字的数据中最多能够实现4比特数据的纠正,8比特数据的查错,提高了系统的纠错查错能力。
S5、Flash控制器剔除校验码,将经过纠错查错的目标数据发送至中央处理器。
本实施例提供的一种用于SPI NorFlash的ECC数据纠错方法,将SPI NorFlash一部分地址空间划分用于存储校验码,将数据与校验码交错存储,在读取数据时从SPINorFlash中将目标数据-校验码对一同读出,利用校验码对目标数据进行纠错,解决了SPINorFlash中因为位翻转导致数据出错的问题,提高了SPI NorFlash系统工作的可靠性。
实施例二
参照图3所示,本实施例提供了一种用于SPI NorFlash的ECC数据纠错装置,包括:
中央处理器,用于发送写数据和读数据指令;
Flash控制器,与中央处理器和SPI NorFlash连接,包括:
ECC校验模块,与中央处理器、发送缓冲模块以及接收缓冲模块连接;ECC校验模块接收中央处理器发送的写数据指令时,将目标数据分组后生成各组目标数据的校验码,并组成数据-校验码对发送至发送缓冲模块;接收中央处理器发送的读数据指令时,对从SPINorFlash读出的目标数据-校验码对进行ECC运算以纠错查错,并剔除校验码,将经过纠错查错的目标数据发送至中央处理器;
发送缓冲模块,与ECC校验模块和接口协议转换模块连接,用于暂存经过ECC校验模块运算并添加了校验码后的目标数据-校验码对,并通过接口协议转换模块发送给SPINorFlash;
接收缓冲模块,与ECC校验模块和接口协议转换模块连接,用于暂存从SPINorFlash中读出的目标数据-校验码对,并发送至ECC校验模块;
地址映射模块,与中央处理器和接口协议转换模块连接,用于将中央处理器发送的写地址或读地址映射为目标数据的实际存储地址,并通过接口协议转换模块发送给SPINorFlash;
接口协议转换模块,与发送缓冲模块、接收缓冲模块、地址映射模块及SPINorFlash连接,用于实现中央处理器的总线协议接口信号与Flash协议接口信号的相互转换。
优选地,所述发送缓冲模块和所述接收缓冲模块为位宽64比特、深度128的缓存器。
本实施例提供的一种用于SPI NorFlash的ECC数据纠错装置,使得纠错查错的过程通过Flash控制器在读取数据时实时地自动完成,中央处理器只需要正常发送数据的读取和写入指令,不需要产生其他额外操作,即这一纠错查错过程对于中央处理器是透明的,相比通过软件等方式来进行纠错查错的装置,在操作上更为简便且读写速度也更快,泛用性更高。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (7)

1.一种用于SPI NorFlash的ECC数据纠错方法,其特征在于,Flash控制器分别与中央处理器和SPI NorFlash连接,具体包括:
S1、Flash控制器接收到中央处理器发送的写数据指令时,将目标数据分组后生成各组目标数据的校验码,并组成数据-校验码对;
S2、Flash控制器将中央处理器发送的写地址映射为目标数据在SPINorFlash中的实际存储地址,将分组后的数据-校验码对,按照映射后的实际存储地址一同存储至SPINorFlash;
S3、Flash控制器接收到中央处理器发送的读数据指令时,将中央处理器发送的读地址映射为目标数据在SPI NorFlash中的实际存储地址,根据目标数据的实际存储地址从SPINorFlash中读取目标数据-校验码对;
S4、Flash控制器对读取的目标数据及其对应的校验码采用ECC运算进行纠错查错;
S5、Flash控制器剔除校验码,将经过纠错查错的目标数据发送至中央处理器。
2.根据权利要求1所述的一种用于SPI NorFlash的ECC数据纠错方法,其特征在于,S1中,将目标数据以字节为单位进行分组,生成的校验码为5比特;组成数据-校验码对时,目标数据在前,校验码在后,其中校验码也占1个字节,高3位会补0。
3.根据权利要求1所述的一种用于SPI NorFlash的ECC数据纠错方法,其特征在于,S2中,所述Flash控制器将中央处理器发送的写地址映射为目标数据在SPINorFlash中的实际存储地址,将分组后的数据-校验码对,按照映射后的实际存储地址一同存储至SPINorFlash,包括:
中央处理器发送的写地址W_addr与目标数据在SPI NorFlash中的实际存储地址F_Addr的映射关系为F_Addr=W_addr*2,根据该映射关系和中央处理器发送的写地址W_addr得到分组后的目标数据在SPI NorFlash中的实际存储地址F_Addr;
根据数据-校验码对的组成,每组目标数据对应的校验码存储在该组目标数据的下一地址。
4.根据权利要求1所述的一种用于SPI NorFlash的ECC数据纠错方法,其特征在于,S3中,Flash控制器接收到中央处理器发送的读数据指令时,将中央处理器发送的读地址映射为目标数据在SPINorFlash中的实际存储地址,根据目标数据的实际存储地址从SPINorFlash中读取目标数据-校验码对,包括:
中央处理器发送的的读地址R_addr与SPI NorFlash中目标数据的实际存储地址F_Addr的映射关系为F_Addr=R_addr*2,根据该映射关系和中央处理器发送的的读地址R_addr得到SPI NorFlash中目标数据的实际存储地址F_Addr,并根据所述SPINorFlash中目标数据的实际存储地址F_Addr从SPI NorFlash中读取目标数据及其下一地址的校验码。
5.根据权利要求1所述的一种用于SPI NorFlash的ECC数据纠错方法,其特征在于,S1中,生成各组目标数据的校验码的算法为ECC算法。
6.一种用于SPI NorFlash的ECC数据纠错装置,其特征在于,包括:
中央处理器,用于发送写数据和读数据指令;
Flash控制器,与中央处理器和SPI NorFlash连接,包括:
ECC校验模块,与中央处理器、发送缓冲模块以及接收缓冲模块连接;
ECC校验模块接收中央处理器发送的写数据指令时,将目标数据分组后生成各组目标数据的校验码,并组成数据-校验码对发送至发送缓冲模块;接收中央处理器发送的读数据指令时,对从SPI NorFlash读出的目标数据-校验码对进行ECC运算以纠错查错,并剔除校验码,将经过纠错查错的目标数据发送至中央处理器;
发送缓冲模块,与ECC校验模块和接口协议转换模块连接,用于暂存经过ECC校验模块运算并添加了校验码后的目标数据-校验码对,并通过接口协议转换模块发送给SPINorFlash;
接收缓冲模块,与ECC校验模块和接口协议转换模块连接,用于暂存从SPI NorFlash中读出的目标数据-校验码对,并发送至ECC校验模块;
地址映射模块,与中央处理器和接口协议转换模块连接,用于将中央处理器发送的写地址或读地址映射为目标数据的实际存储地址,并通过接口协议转换模块发送给SPINorFlash;
接口协议转换模块,与发送缓冲模块、接收缓冲模块、地址映射模块及SPINorFlash连接,用于实现中央处理器的总线协议接口信号与Flash协议接口信号的相互转换。
7.根据权利要求6所述的一种用于SPI NorFlash的ECC数据纠错装置,其特征在于,所述发送缓冲模块和所述接收缓冲模块为位宽64比特、深度128的缓存器。
CN202311530807.1A 2023-11-16 2023-11-16 一种用于SPI NorFlash的ECC数据纠错方法 Active CN117349079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311530807.1A CN117349079B (zh) 2023-11-16 2023-11-16 一种用于SPI NorFlash的ECC数据纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311530807.1A CN117349079B (zh) 2023-11-16 2023-11-16 一种用于SPI NorFlash的ECC数据纠错方法

Publications (2)

Publication Number Publication Date
CN117349079A true CN117349079A (zh) 2024-01-05
CN117349079B CN117349079B (zh) 2024-05-24

Family

ID=89371152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311530807.1A Active CN117349079B (zh) 2023-11-16 2023-11-16 一种用于SPI NorFlash的ECC数据纠错方法

Country Status (1)

Country Link
CN (1) CN117349079B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123191A (ja) * 2007-11-15 2009-06-04 Genesys Logic Inc Norインターフェイスフラッシュメモリ装置及びそのアクセス方法
JP2010055673A (ja) * 2008-08-27 2010-03-11 Toshiba Corp 不揮発性半導体記憶装置
WO2017088507A1 (zh) * 2015-11-26 2017-06-01 华为技术有限公司 一种更新错误检测和纠正ecc码的方法及装置
CN112068985A (zh) * 2020-09-02 2020-12-11 中国航空工业集团公司西安飞行自动控制研究所 带编程指令识别的norflash存储器ecc检纠错方法及系统
US20220027237A1 (en) * 2020-07-21 2022-01-27 Robert Bosch Gmbh Method for the secured storing of a data element in an external memory and interface module
CN114721602A (zh) * 2022-06-09 2022-07-08 泉州华中科技大学智能制造研究院 一种基于FreeRTOS的Nor Flash滚动存储方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123191A (ja) * 2007-11-15 2009-06-04 Genesys Logic Inc Norインターフェイスフラッシュメモリ装置及びそのアクセス方法
JP2010055673A (ja) * 2008-08-27 2010-03-11 Toshiba Corp 不揮発性半導体記憶装置
WO2017088507A1 (zh) * 2015-11-26 2017-06-01 华为技术有限公司 一种更新错误检测和纠正ecc码的方法及装置
US20220027237A1 (en) * 2020-07-21 2022-01-27 Robert Bosch Gmbh Method for the secured storing of a data element in an external memory and interface module
CN112068985A (zh) * 2020-09-02 2020-12-11 中国航空工业集团公司西安飞行自动控制研究所 带编程指令识别的norflash存储器ecc检纠错方法及系统
CN114721602A (zh) * 2022-06-09 2022-07-08 泉州华中科技大学智能制造研究院 一种基于FreeRTOS的Nor Flash滚动存储方法及装置

Also Published As

Publication number Publication date
CN117349079B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
US20200218602A1 (en) Data Storage Devices and Methods for Rebuilding a Memory Address Mapping Table
TWI410979B (zh) 快閃記憶體控制器、其錯誤更正碼控制器及其方法和系統
TWI662410B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
JP5132687B2 (ja) メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置
CN107918571B (zh) 测试储存单元的方法以及使用该方法的装置
KR20090028507A (ko) 비휘발성 메모리 에러 보정 시스템 및 방법
CN110309013B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
JP5134569B2 (ja) メモリ装置
US20160117221A1 (en) Error detection and correction utilizing locally stored parity information
US20140337681A1 (en) Data writing method, memory storage device, and memory controller
US11372720B2 (en) Systems and methods for encoding metadata
US10992322B2 (en) Data storage system and associated method for saving storage space and eliminating data errors
CN106802837B (zh) 一种更新错误检测和纠正ecc码的方法及装置
CN111506452A (zh) 数据存储保护方法、装置、计算机设备及存储介质
CN103531246A (zh) 快速以读代写的存储器纠错方法
KR20200052842A (ko) 메모리 시스템, 메모리 모듈 및 메모리 시스템의 동작 방법
CN116431381B (zh) 平衡闪存ecc纠错能力方法、装置、设备及存储介质
CN117349079B (zh) 一种用于SPI NorFlash的ECC数据纠错方法
CN105575439B (zh) 一种存储单元失效纠错的方法及存储器
CN105354107A (zh) NOR Flash的数据传输方法及系统
CN108664350B (zh) 数据保护方法、存储器存储装置及存储器控制电路单元
KR20160050961A (ko) 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법
US9600363B2 (en) Data accessing method, memory controlling circuit unit and memory storage apparatus
CN108762975B (zh) 一种ecc数据存储方法、系统及存储介质
US20210019082A1 (en) Nonvolatile memory bad row management

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