[go: up one dir, main page]

CN105161137A - 一种MLC架构中Nand Flash控制器电路实现装置 - Google Patents

一种MLC架构中Nand Flash控制器电路实现装置 Download PDF

Info

Publication number
CN105161137A
CN105161137A CN201510536361.2A CN201510536361A CN105161137A CN 105161137 A CN105161137 A CN 105161137A CN 201510536361 A CN201510536361 A CN 201510536361A CN 105161137 A CN105161137 A CN 105161137A
Authority
CN
China
Prior art keywords
module
ecc
nandflash
data
nfc
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
CN201510536361.2A
Other languages
English (en)
Other versions
CN105161137B (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.)
Datang Microelectronics Technology Co Ltd
Leadcore Technology Co Ltd
Original Assignee
Datang Microelectronics Technology Co Ltd
Datang Semiconductor Design 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 Datang Microelectronics Technology Co Ltd, Datang Semiconductor Design Co Ltd filed Critical Datang Microelectronics Technology Co Ltd
Priority to CN201510536361.2A priority Critical patent/CN105161137B/zh
Publication of CN105161137A publication Critical patent/CN105161137A/zh
Application granted granted Critical
Publication of CN105161137B publication Critical patent/CN105161137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种MLC架构中Nand?Flash控制器NFC电路实现装置,所述NFC中内嵌纠错能力可配的错误检查和纠正ECC模块;所述ECC模块包括ECC_Enc_Sx模块、DeCodeBM模块、DeCodeChien模块、DeCodeCor模块和ECC_Flow_Ctrl模块,其中,ECC_Enc_Sx模块,用于对接收到的数据进行编码求得码字,并根据接收到的系统码计算校正子;DeCodeBM模块,用于根据校正子求解关键方程,并根据关键方程求得错误位置多项式;DeCodeChien模块,用于根据错误位置多项式,确定错误位置;DeCodeCor模块,用于根据错误位置,进行对应数据的纠错;ECC_Flow_Ctrl模块,用于控制其它模块。通过本发明,能够实现MLC架构中Nand?Flash控制器的高性能和高兼容性的ECC设计。

Description

一种MLC架构中Nand Flash控制器电路实现装置
技术领域
本发明涉及集成电路技术领域,尤指一种多层次分佣(MLC,MultiLevelCell)架构中大容量非易失性存储器(NandFlash)控制器电路实现装置。
背景技术
NandFlash以其具有非易失性、可擦除性、较小的芯片面积、更快的写入和擦除速度以及更低廉的每bit价格,在手机、移动存储卡等大容量存储设备中得到了广泛的使用。由于NandFlash结构的特点及其噪声干扰等因素,当数据存储到NandFlash上时,可能产生个别bits的反转,从而导致存储数据出错。MLC架构中NandFlash通过每Cell存储更多的bits来实现容量上的成倍跨越,是新一代NandFlash的趋势,但是由于相邻数据电压之间的空间变小,MLC架构NandFlash的出错几率更大,而且一旦出现错误,就会导致2倍及以上的数据损坏。因此为了保证数据读出时能进行误码检测和纠正,通常都是当数据写入存储单元时,需要按一定规则人为地写入一部分冗余数据,用纠错编码电路进行错误检查和纠正(ECC,ErrorCodeCorrection)差错控制。鉴于NandFlash的广泛应用,近年来国内外对NandFlash控制器的研究和设计都开展的如火如荼。
现有用于NandFlash控制器的编解码器,其纠错能力是固定的,一般为4bit或8bit,其优点在于专用性好,面积小,适用于现有的多余空间为16bytes/512bytes或128bytes/4Kbytes的NandFlash。由于工艺的进步,线宽的降低,NandFlash存储密度越来越高,错误概率也越来越大,因此新一代NandFlash中的多余空间提高到了218bytes/4Kbytes,这样就使得NandFlash控制器能够采用纠更多bits错误的纠错码,来降低NandFlash的错误率,而现有仅能纠正4bit或8bit错误的ECC是远远不能达到要求的;另一方面,现有能够纠15bit或者24bit以下的解码器,由于其不可配置性,使得校验bits长度固定并且大于16bytes,只能用于新一代MLC型的NandFlash,不能应用于普通的NandFlash,其向下兼容性不好。
此外,目前国内外关于NandFlash控制器电路的研究和设计存在以下几个缺陷:
第一,兼容性差,这是因为绝大多数的NandFlash控制器中的ECC电路都是基于某一个具体的应用系统或者某一款具体的NandFlash来设计的;
第二,数据传输速度慢,这主要是指那些采用软件为主和纯软件方法实现的ECC电路;
第三,数据可靠性差,有些NandFlash控制器没有数据校验功能,或者ECC校验能力较低;
第四,面积大,功耗高,这主要是因为很多ECC的设计为了追求功能而使用了大量的寄存器,同时又不注意降低功耗。
发明内容
为了解决上述技术问题,本发明提供了一种MLC架构中NandFlash控制器电路实现装置,能够实现MLC架构中NandFlash控制器的高性能和高兼容性的ECC设计。
为了达到本发明目的,本发明提供了一种MLC架构中NandFlash控制器电路实现装置,所述NandFlash控制器NFC与NandFlash和双向可编程存储器Dpram进行数据交换,NFC中内嵌纠错能力可配的错误检查和纠正ECC模块;所述ECC模块包括ECC_Enc_Sx模块、DeCodeBM模块、DeCodeChien模块、DeCodeCor模块和ECC_Flow_Ctrl模块,其中,
ECC_Enc_Sx模块,用于对接收到的数据进行编码求得码字,并根据接收到的系统码计算校正子;DeCodeBM模块,用于根据校正子求解关键方程,并根据关键方程求得错误位置多项式;DeCodeChien模块,用于根据错误位置多项式,确定错误位置;DeCodeCor模块,用于根据错误位置,进行对应数据的纠错;ECC_Flow_Ctrl模块,用于控制ECC_Enc_Sx模块、DeCodeBM模块、DeCodeChien模块和DeCodeCor模块。
与现有技术相比,本发明的ECC电路内嵌在NandFlash控制器中,实现了NandFlash数据传输中的校验控制,ECC纠错位数可配,对于512Byte数据块最多可支持纠12bit错误,1Kbyte数据块最多可纠40bit错误。由此,通过采用软硬件结合,以硬件为主的方案设计了一款传输速度快,兼容性强,可靠性高,纠错能力强的用于MLC架构NandFlash的带有ECC数据纠错功能的NandFlash控制器电路。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明的一种实施例中MLC架构中NandFlash的结构示意图。
图2是本发明的一种实施例中MLC架构中NandFlash控制器电路实现装置的示意图。
图3是本发明的一种实施例中ECC模块的示意图。
图4是图3中ECC模块中ECC_Enc_Sx模块的电路实现的示意图。
图5是图3中ECC模块中DeCodeBM模块的电路实现的示意图。
图6是图3中ECC模块中DeCodeChien模块和DeCodeCor模块的电路实现的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
不同厂商所能长期供货、工艺稳定的、并且量产的MLC架构的NandFlash所需ECC纠错的位数不尽相同,以三星和美光为例,表1描述了这两家产品的容量大小,纠错要求,页大小(Pagesize)以及冗余大小(Sparesize)。容量(Spare)区的空间中一部分给文件系统用,另一部分用于存储校验位。因此根据不同的NandFlash纠错能力的要求设计出可配置的ECC纠解码模块,具有重要的研究意义。
表1
针对当前NandFlash的多余空间的不同,本发明提出了兼容不同NandFlash的一种可配置的ECC电路实现方案。
图1是NandFlash接口示意图,其中AHBBUS为AdvancedHigh-performanceBus协议,在地址和控制信号与数据之间,有固定顺序的总线协议;DMA为直接存储器访问;Parctl为寄存器控制;Intctl为中断控制;P为端口控制;Fsm为状态机。
如图1所示,NandFlash控制器(NFC)与大容量非易失性存储器(NandFlash)和双向可编程存储器(Dpram)进行数据交换,纠错能力可配的ECC模块内嵌在NFC中。其中,由于要访问NandFlash需要一定的接口时序,NFC就是实现了能够访问NandFlash的控制器;NandFlash是大容量的数据存储器,要对其进行访问,主要是作大容量的数据传输;Dpram来作为缓存,存储需要写入Nandflash的数据,通过NFC接口把芯片需要写入nandflash的数据从dpram里搬出来,再根据nandflash要求的时序写入nandflash里。NFC与NandFlash和Dpram的数据交换方式根据不同芯片所使用的方式不同,例如使用buffer、单口ram、双口的ram等。本发明的具体实施例中,为了使效率更高,使用双口ram。
由于NandFlash写入数据有可能会出错,所以NFC需要有ECC纠错电路。当数据传到NandFlash数据线上时,同时也进入ECC模块进行数据编码,数据传输结束,同时ECC编码完成,此时在数据线上传送码字一起写入NandFlash中。读数据也类似,当数据写入Dpram,同时也传到ECC模块,进行解码运算。这些操作的控制是通过NFC模块状态机控制的。
图2是NandFlash控制器的结构示意图。如图2所示,NandFlash控制器包括:控制信号输出寄存器、系统接口电路、NFC模块工作寄存器组、NFC模块状态机、控制信号译码器、Dpram控制信号与数据输出/输入寄存器、NandFlash控制信号与数据输出/输入寄存器和ECC模块,其中,NandFlash控制器,用于负责解析来自总线端的数据和命令,并按照NandFlash的接口时序要求将命令和数据传送给目标NandFlash器件;寄存器配置模块实现对NandFlash控制器中各类寄存器的配置功能;输入输出缓存用于缓存来往NandFlash的数据,平衡ECC编译码器和总线的速率。
系统接口电路,用来完成系统总线对NFC模块工作寄存器的读写访问,并产生相应的ACK信号。
Dpram控制信号与数据输入输出寄存器,用于Dpram的控制信号和数据的输入和输出,该组信号的输出均为寄存器输出。
NandFlash控制信号与数据输入输出寄存器,用于输出NandFlash的控制信号以及给出要写入NandFlash的数据,该组的输出与控制信号均为寄存器输出,输入信号通过一个上升沿检测器输出给NFC模块状态机。
NFC模块状态机,用于检测NandFlash的BUSY/READY状态,以便决定是否继续相应的操作。具体地,NandFlash根据时序收到命令后,会作相应的擦,写读等操作,操作开始时会给出BUSY信号,操作结束后该信号变为READY,这个信号是通过BUSY/READY给入NFC,NFC会根据BUSY/READY信号来决定NFC状态机的跳转。
控制信号输出寄存器,用于解析实现NandFlash的时序信号,主要用于实现和NandFlash交互的端口信息的处理。
NFC模块工作寄存器组,用于配置NFC的启用,中断使能等信号。
控制信号译码器,用于在系统配置了NFC模块工作寄存器组后的信息解析后给ECC模块,并将ECC模块产生的状态等信息译码后给NFC模块工作寄存器组,用于CPU查询等。
ECC模块,是一个独立的模块。在本发明的具体实施例中,该ECC模块用于计算512bytes或者1Kbytes的ECC校验纠错,不做其他判断。ECC模块的启动和停止由软件设置,同时总线上数据是否有效同样需要NFC模块状态机来指示。该ECC模块最终生成的ECC编码通过控制信号译码器输出给NFC模块工作寄存器组,供CPU处理和访问。读数据时和NandFlash中取出的ECC比对实现纠错,写入的时候每输入完一个512bytes或者1Kbytes的数据,CPU读取一次ECC值并将其填入Dpram中对应在NandFlash的相应数据位置。
如图3所示,ECC模块包括ECC_Enc_Sx模块、DeCodeBM模块、DeCodeChien模块、DeCodeCor模块和ECC_Flow_Ctrl模块,其中,
ECC_Enc_Sx模块,用于对接收到的数据进行编码求得码字,并由接收到的系统码R(x)计算校正子,校正子又称伴随式S(x);
DeCodeBM模块,用于根据伴随式S(x)求解关键方程,并根据关键方程求得错误位置多项式σ(x)和错误值多项式ω(x);
DeCodeChien模块,用于根据错误位置多项式σ(x)和错误值多项式ω(x),采用钱搜索算法求得错误位置;
DeCodeCor模块,用于根据错误位置进行对应bit的纠错;
ECC_Flow_Ctrl模块,用于控制整个电路的工作状态。
具体地,ECC_Enc_Sx模块的电路实现如图4所示。
通过ECC_Enc_Sx模块对接收到的数据进行编码求得码字,如图4所示,初始值为全0,输入16位数据nfc_ecc_data[15:0],每来一组数据,寄存器里的值经过组合逻辑进行一次更新,数据写完后寄存器里的值即为求得的码字。
求解校正子过程分为两步:第一步,求余式(RCDivψi);第二步,代入求值(RCEval(αi)),把αi带到余式si(x)里,即可求得最终的校正子。详细求解过程为本领域技术人员所知,故不再赘述。综上,ECC_Enc_Sx模块的电路是由与门和异或门构成的,与门是模式选择所需要的,而异或则是域元素的加法运算。
具体地,DeCodeBM模块的电路实现如图5所示。
表2是BM迭代算法所需要的资源。
表2
根据表2,求解错误位置多项式部分采用简化的不求逆的BM迭代算法(SiBM)。根据面积和速度的折衷,在本发明的具体实施例中,选择9个处理单元(PE)和49个寄存器来实现。形成9个的SiBM处理单元阵列,每个PE包含三个有限域乘法和一个有限域加法,还有一个m位多路选择器。SiBM算法,在第r次迭代时,SiBM.1里第i个系数的更新可以和SiBM.2里的第i+1个系数的更新可以同时计算得到,SiBM算法结构均匀,不用求逆在硬件实现上资源复用率较高。
DeCodeChien模块电路实现如图6所示。
具体地,由BM迭代算法计算得到错误位置多项式σ(x)=1+σ1x+σ2x2+…+σtxt,然后可以利用钱氏搜索算法求出多项式的根X,根是错误位置的倒数。钱氏搜索算法本质是一种试根的方法。由于伽罗华域GF是一个有限域,其域内元素个数是有限的,为214-1(N),因此可以尝试将所有可能的根X=α123….αN代入式中,当对应i位带入多项式后其值为0,那么便找到了相应的错误位置214-1-i。
在本发明的具体实施例中,钱搜索电路采用四位并行搜根,该钱搜索电路的最高纠错能力t=40,故差错位置多项式为:
σ(x)=σ40x4039x39+...σ23x2322x2221x2120x2019x1918x1817x1716x1615x1514x1413x1312x1211x1110x109x98x87x76x65x54x43x32x21x+1。
将x=αi代入差错位置多项式σ(x):
σ(αi)=σ40i)4039i)39+...σ24i)2423i)2322i)2221i)2120i)2019i)1918i)1817i)1716i)1615i)1514i)1413i)1312i)1211i)1110i)109i)98i)87i)76i)65i)54i)43i)32i)21αi+1。
将x=αi+1代入差错位置多项式σ(x):
σ(αi+1)=σ40i)4039i)39+...σ24i+1)2423i+1)2322i+1)2221i+1)2120i+1)2019i+1)1918i+1)1817i+1)1716i+1)1615i+1)1514i+1)1413i+1)1312i+1)1211i+1)1110i+1)109i+1)98i+1)87i+1)76i+1)65i+1)54i+1)43i+1)32i+1)21αi+1+1;
=σ40i)40α4039i)39α39+...σ24i)24α2423i)23α2322i)22α2221i)21α2120i)20α2019i)19α1918i)18α1817i)17α1716i)16α1615i)15α1514i)14α1413i)13α1312i)12α1211i)11α1110i)10α109i)9α98i)8α87i)7α76i)6α65i)5α54i)4α43i)3α32i)2α21i)α+1。
由上述推导得出,σ(αi+1)的各项为σ(αi)的相应项乘以一个已知的特定元素,σ(αi+1)的第n项为σ(αi)的第n项乘以αn(n为整数),即:
σ(αi+1)的第四十项为σ(αi)的第四十项乘以α40
σ(αi+1)的第三十九项为σ(αi)的第三十九项乘以α39
……
σ(αi+1)的第二十四项为σ(αi)的第二十四项乘以α24
σ(αi+1)的第二十三项为σ(αi)的第二十三项乘以α23
……
σ(αi+1)的第二项为σ(αi)的第二项乘以α2
σ(αi+1)的第一项为σ(αi)的第一项乘以α。
因此,利用域元素乘法,差错位置多项式以及某一个域元素,就能计算出该域元素以后各个元素的搜索情况,以此将钱搜索分成若干组并行计算。
由于本发明采用的是BCH缩短码(ECC算法的一种),有一部分始终是0,是不会出错的,所以在进行钱搜索之前,要先进行预处理,即在BM迭代之后需要给错误位置多项式的系数乘以α(16381-14t-4096)*i(512bytes的数据),或者α(16381-14t-8192)*i(1kbytes的数据),如此可以省去搜0的时间。
这样,DeCodeChien模块首先对BM给出的错误位置多项式系数lambda进行初始化,本发明纠错模式可配置,主要包括如下2种模式:512byte纠12bit以内错误,1024byte纠40bit以内错误,通过寄存器配置设置ecc_mode值0或1来选择不同的模式,例如若ecc_mode=1,纠错t=12,即纠12bit以内错误,共需要搜索4264比特信息,需要1066个clk完成搜索。若ecc_mode=0,纠错t=40,,即纠40bit以内错误,共需要搜索8752个,需要2188个clk完成搜索。发现错误后,通过DeCodeCor模块进行纠正。由于是2进制数据,如果出错,直接对其取反即可完成纠错。
在本发明中,通过Matlab验证算法的正确性,利用ModelSim对波形仿真验证,保证算法和时序的正确性。本发明在测试过程中,通过ModelSim做了100万组测试,数据错误数由0-50遍历,错误位置随机,验证结果全部正确。
在本发明的具体实施例中,带BCH编解码器的NandFlash控制电路可以采用华虹0.13μm的工艺流片,先后经过FPGA及板级测试,采用Flash芯片为三星的K9GBG08U0B,K9G4G08X0B测试速度为10MB/s。经过实测,对于K9G4G08X0B,以512byte为数据单元,当错误在12bit内能够正常纠错,对于K9GBG08U0B,以1kbyte为数据单元,当错误在40bit内能够正常纠错,对于上述2款FLASH,在正常读写情况下可以保证数据正确通信。错误超过纠错能力,会通过寄存器报错。综上,本发明实现的控制器电路纠错能力可配,功能正确。
现有用于NandFlash控制器的编解码器,其纠错能力是固定的,一般为4bit或8bit,其优点在于专用性好,面积小,适用于现有的多余空间(sparearea)为16bytes/512bytes或128bytes/4Kbytes的NandFlash。另一方面,现有能够纠15bit或者24bit以下的解码器,由于其不可配置性,使得校验bits长度固定并且大于16bytes,只能用于新一代MLC型的NandFlash,不能应用于普通的NandFlash,其向下兼容性不好。相对于现有技术,本发明进行了至少下面三点的改进:
(1)纠错能力可配置,编码是实时的。
本发明提出的ECC电路具有纠错能力可配置的特点,纠错能力分别是纠正512bytes数据中随机分布的12bits错误以及1Kbytes数据中随机分布的40bits错误。本发明提出的编码和求校正子电路为16位并行的,无论是对于接口位宽为8位的NandFlash,还是接口位宽为16位的NandFlash,在将数据写入NandFlash时,同时对其进行编码,最终实现了随NandFlash的写操作进行实时的数据编码电路。
(2)优化钱搜索电路
求解差错位置时采用的钱搜索是一个全搜索的过程,大数据量校验解码时的计算量较大。钱搜索是校验速度的瓶颈,为了提高校验速度,本发明通过对钱搜索进行优化,在允许的面积范围内采用分组并行搜索,将搜索速度提高4倍。
(3)BM迭代模块采用SiBM算法,硬件资源复用,节约面积。
求解错误位置方程时,采用SiBM算法,该算法没有求逆运算,且电路结构均匀,硬件可以资源复用,从而节约电路面积,这是实现BCH算法的一个创新点,本发明采用了该SiBM算法,但对其进行了优化,并且能够和钱搜索电路模块的一些运算单元复用,可以节省芯片面积。
本发明中ECC电路内嵌在NandFlash控制器中,实现了NandFlash数据传输中的校验控制,ECC纠错位数可配,对于512Byte数据块最多可支持纠12bit错误,1Kbyte数据块最多可纠40bit错误。由此,通过采用软硬件结合,以硬件为主的方案设计了一款传输速度快,兼容性强,可靠性高,纠错能力强的用于MLC架构NandFlash的带有ECC数据纠错功能的NandFlash控制器电路。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种多层次分佣MLC架构中大容量非易失性存储器NandFlash控制器电路实现装置,其特征在于,所述NandFlash控制器NFC与NandFlash和双向可编程存储器Dpram进行数据交换,NFC中内嵌纠错能力可配的错误检查和纠正ECC模块;
所述ECC模块包括ECC_Enc_Sx模块、DeCodeBM模块、DeCodeChien模块、DeCodeCor模块和ECC_Flow_Ctrl模块,其中,
ECC_Enc_Sx模块,用于对接收到的数据进行编码求得码字,并根据接收到的系统码计算校正子;
DeCodeBM模块,用于根据校正子求解关键方程,并根据关键方程求得错误位置多项式;
DeCodeChien模块,用于根据错误位置多项式,确定错误位置;
DeCodeCor模块,用于根据错误位置,进行对应数据的纠错;
ECC_Flow_Ctrl模块,用于控制ECC_Enc_Sx模块、DeCodeBM模块、DeCodeChien模块和DeCodeCor模块。
2.根据权利要求1所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述ECC_Enc_Sx模块对接收到的数据进行编码求得码字,具体为:
初始值为全0,输入16位数据nfc_ecc_data[15:0];每来一组数据,寄存器里的值经过组合逻辑进行一次更新,数据写完后寄存器里的值即为求得的码字。
3.根据权利要求1所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述DeCodeBM模块包括9个处理单元PE和49个寄存器形成的SiBM处理单元阵列,其中每个PE包含3个有限域乘法、1个有限域加法,以及1个m位多路选择器。
4.根据权利要求3所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述DeCodeBM模块采用不求逆的BM迭代算法SiBM,根据校正子S(x)求解关键方程,并根据关键方程求得错误位置多项式σ(x)和错误值多项式ω(x);
所述SiBM算法,具体为:
在第r次迭代时,SiBM.N里第i个系数的更新和SiBM.N+1里的第i+1个系数的更新同时计算得到,1个SiBM处理单元中PE同时更新的第i个系数和的第i+1个系数。
5.根据权利要求1所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述DeCodeChien模块根据错误位置多项式,确定错误位置,具体为:
所述DeCodeChien模块利用钱氏搜索算法求出错误位置多项式σ(x)的根x,x是错误位置的倒数。
6.根据权利要求5所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,利用钱氏搜索算法求出错误位置多项式σ(x)的根x,具体为:
采用钱氏搜索算法对域内元素试根,域内元素的个数为214-1(N),将域内元素的根x=α123....αN代入钱氏搜索算法的错误位置多项式,当第i位根带入差错位置多项式后值为0,则确定相应的错误位置为214-1-i。
7.根据权利要求5所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述钱氏搜索算法的错误位置多项式为:
σ(x)=σ24x2423x2322x2221x2120x2019x1918x1817x1716x16
15x1514x1413x1312x1211x1110x109x98x87x7
6x65x54x43x32x21x+1。
8.根据权利要求7所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述域内元素的根为αi和αi+1时的错误位置多项式的关系为:
σ(αi+1)的第n项为σ(αi)的第n项乘以αn,n为整数;
所述DeCodeChien模块根据αi和αi+1时的错误位置多项式的关系,计算出域内元素第n项后的搜索情况,并将域内元素分组并行计算。
9.根据权利要求8所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述DeCodeChien模块在求解的错误位置多项式后,对于512bytes的数据,将错误位置多项式的系数乘以α(16381-14t-4096)*i;对于1kbytes的数据,将错误位置多项式的系数乘以α(16381-14t-8192)*i
10.根据权利要求1所述的MLC架构中NandFlash控制器电路实现装置,其特征在于,所述装置还包括:控制信号输出寄存器、系统接口电路、NFC模块工作寄存器组、NFC模块状态机、控制信号译码器、Dpram控制信号与数据输出/输入寄存器和NandFlash控制信号与数据输出/输入寄存器,其中,
系统接口电路,用来完成系统总线对NFC模块工作寄存器的读写访问,并产生相应的ACK信号;
Dpram控制信号与数据输入输出寄存器,用于Dpram的控制信号和数据的输入和输出;
NandFlash控制信号与数据输入输出寄存器,用于输出NandFlash的控制信号以及给出要写入NandFlash的数据,输入信号通过一个上升沿检测器输出给NFC模块状态机;
NFC模块状态机,用于检测NandFlash的BUSY/READY状态,并反馈给NFC;
控制信号输出寄存器,用于解析实现NandFlash的时序信号;
NFC模块工作寄存器组,用于配置NFC的启用,中断使能信号;
控制信号译码器,用于在系统配置了NFC模块工作寄存器组后的信息解析后给ECC模块,并将ECC模块产生的信息译码后给NFC模块工作寄存器组。
CN201510536361.2A 2015-08-27 2015-08-27 一种MLC架构中Nand Flash控制器电路实现装置 Active CN105161137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510536361.2A CN105161137B (zh) 2015-08-27 2015-08-27 一种MLC架构中Nand Flash控制器电路实现装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510536361.2A CN105161137B (zh) 2015-08-27 2015-08-27 一种MLC架构中Nand Flash控制器电路实现装置

Publications (2)

Publication Number Publication Date
CN105161137A true CN105161137A (zh) 2015-12-16
CN105161137B CN105161137B (zh) 2019-04-19

Family

ID=54801965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510536361.2A Active CN105161137B (zh) 2015-08-27 2015-08-27 一种MLC架构中Nand Flash控制器电路实现装置

Country Status (1)

Country Link
CN (1) CN105161137B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776104A (zh) * 2016-11-11 2017-05-31 大唐微电子技术有限公司 一种Nand Flash控制器和终端以及控制Nand Flash的方法
CN107102953A (zh) * 2016-12-14 2017-08-29 威盛电子股份有限公司 非易失性存储器装置及其迭代排序方法
CN110688249A (zh) * 2019-09-20 2020-01-14 上海励驰半导体有限公司 一种纠错码电路的注错检测电路
CN112199308A (zh) * 2020-11-26 2021-01-08 浙江大学 一种用于电力专用芯片的低功耗存储控制器及控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211667A (zh) * 2006-12-29 2008-07-02 三星电子株式会社 降低误纠概率的纠错电路和方法和包括该电路的存储设备
CN101483442A (zh) * 2009-02-11 2009-07-15 芯原微电子(上海)有限公司 根据Nand Flash多余空间来配置纠错能力的BCH解码器
US20110161774A1 (en) * 2009-12-24 2011-06-30 Hynix Semiconductor Inc. Semiconductor memory system having ecc circuit and method of controlling thereof
CN102969028A (zh) * 2012-10-18 2013-03-13 记忆科技(深圳)有限公司 一种ecc动态调整方法、系统及闪存

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211667A (zh) * 2006-12-29 2008-07-02 三星电子株式会社 降低误纠概率的纠错电路和方法和包括该电路的存储设备
CN101483442A (zh) * 2009-02-11 2009-07-15 芯原微电子(上海)有限公司 根据Nand Flash多余空间来配置纠错能力的BCH解码器
US20110161774A1 (en) * 2009-12-24 2011-06-30 Hynix Semiconductor Inc. Semiconductor memory system having ecc circuit and method of controlling thereof
CN102969028A (zh) * 2012-10-18 2013-03-13 记忆科技(深圳)有限公司 一种ecc动态调整方法、系统及闪存

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776104A (zh) * 2016-11-11 2017-05-31 大唐微电子技术有限公司 一种Nand Flash控制器和终端以及控制Nand Flash的方法
CN107102953A (zh) * 2016-12-14 2017-08-29 威盛电子股份有限公司 非易失性存储器装置及其迭代排序方法
US10824554B2 (en) 2016-12-14 2020-11-03 Via Technologies, Inc. Method and apparatus for efficiently sorting iteration with small sorting set
CN110688249A (zh) * 2019-09-20 2020-01-14 上海励驰半导体有限公司 一种纠错码电路的注错检测电路
CN110688249B (zh) * 2019-09-20 2023-04-07 上海励驰半导体有限公司 一种纠错码电路的注错检测电路
CN112199308A (zh) * 2020-11-26 2021-01-08 浙江大学 一种用于电力专用芯片的低功耗存储控制器及控制方法

Also Published As

Publication number Publication date
CN105161137B (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
US9128822B2 (en) On-chip bad block management for NAND flash memory
TWI384355B (zh) 記憶體陣列錯誤校正裝置,系統及方法
US8020068B2 (en) Memory system and command handling method
CN102543209B (zh) 多通道闪存控制器的纠错装置、方法及多通道闪存控制器
CN107590021B (zh) 一种降低闪存误码率的编、解码器和编、解码方法
US8015473B2 (en) Method, system, and apparatus for ECC protection of small data structures
KR102796991B1 (ko) 일측 소프트 판독들
CN107395214B (zh) 一种基于闪存页错误特性降低ldpc译码延迟的方法
US9231615B2 (en) Method to shorten hash chains in Lempel-Ziv compression of data with repetitive symbols
US10423484B2 (en) Memory controller, memory system, and control method
CN102394114A (zh) 具有自适应纠错能力的bch码纠错方法
CN103886916B (zh) 输入位宽可伸缩的编码/编解码存储系统
CN104409103A (zh) 一种新颖的宇航用存储器二维编码加固方法及电路装置
CN105161137A (zh) 一种MLC架构中Nand Flash控制器电路实现装置
CN105553485A (zh) 基于fpga的bch编解码装置及其编解码方法
US20250045156A1 (en) Correction matrix reset
CN101488369B (zh) Bch码控制器接口电路
CN107688506B (zh) 一种流水结构的bch译码系统
CN108845890A (zh) 基于Nand Flash存储器阵列的数据校验方法
US10579470B1 (en) Address failure detection for memory devices having inline storage configurations
CN102594334B (zh) 一种流水线型fpga回读帧ecc电路
EP4462434A1 (en) High throughput polar codeword decoding by decoding bch sub-code in polar code structure
CN116312723A (zh) 一种采用纠错码的闪存编程方法
CN101931415A (zh) 编码装置及方法、译码装置及方法和纠错系统
CN205540680U (zh) 一种具有纠错功能的大容量存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200730

Address after: 2505 COFCO Plaza, No.2, nanmenwai street, Nankai District, Tianjin

Patentee after: Xin Xin finance leasing (Tianjin) Co.,Ltd.

Address before: 100094 No. 6 Yongjia North Road, Beijing, Haidian District

Co-patentee before: DATANG SEMICONDUCTOR DESIGN Co.,Ltd.

Patentee before: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211103

Address after: 100094 No. 6 Yongjia North Road, Beijing, Haidian District

Patentee after: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Patentee after: DATANG SEMICONDUCTOR DESIGN Co.,Ltd.

Address before: 300110 2505 COFCO Plaza, No. 2, nanmenwai street, Nankai District, Tianjin

Patentee before: Xin Xin finance leasing (Tianjin) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20251126

Address after: 100094 Yongjia North Road, Beijing, No. 6, No.

Patentee after: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Country or region after: China

Patentee after: LEADCORE TECHNOLOGY Co.,Ltd.

Address before: 100094 Yongjia North Road, Beijing, No. 6, No.

Patentee before: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Country or region before: China

Patentee before: DATANG SEMICONDUCTOR DESIGN Co.,Ltd.

TR01 Transfer of patent right