CN110955555A - 一种nand存储器的兼容方法 - Google Patents

一种nand存储器的兼容方法 Download PDF

Info

Publication number
CN110955555A
CN110955555A CN201911014595.5A CN201911014595A CN110955555A CN 110955555 A CN110955555 A CN 110955555A CN 201911014595 A CN201911014595 A CN 201911014595A CN 110955555 A CN110955555 A CN 110955555A
Authority
CN
China
Prior art keywords
bytes
compatible
error correction
chip
byte
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
CN201911014595.5A
Other languages
English (en)
Other versions
CN110955555B (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.)
Amlogic Shanghai Co Ltd
Original Assignee
Amlogic Shanghai 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 Amlogic Shanghai Co Ltd filed Critical Amlogic Shanghai Co Ltd
Priority to CN201911014595.5A priority Critical patent/CN110955555B/zh
Publication of CN110955555A publication Critical patent/CN110955555A/zh
Application granted granted Critical
Publication of CN110955555B publication Critical patent/CN110955555B/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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

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)
  • Read Only Memory (AREA)

Abstract

本发明提供一种RAW NAND启动的兼容方法,应用于片上系统中,片上系统兼容多种NAND存储器;兼容方法包括:获取片上系统能够兼容的每种NAND存储器的存储控制器支持的纠错能力对应的校验码字节数,以得到最大的校验码字节数;以及获取片上系统能够兼容的每种NAND存储器的每个页的字节数,并获取设置有最小的字节数的页;根据最大的校验码字节数和最小的字节数计算得到预设字节作为片上系统当前外接的存储控制器的规格所对应的字节数,预设字节小于最小的字节数;根据预设字节创建当前的存储控制器的纠错单元;片上系统的驱动程序通过纠错单元读取NAND存储器保存的规格参数并进行解析。本发明的有益效果为:兼容不同的NAND存储器,从而降低资源成本和减少调整次数。

Description

一种NAND存储器的兼容方法
技术领域
本发明涉及存储器技术领域,尤其涉及一种NAND存储器的兼容方法。
背景技术
目前的片上系统通常使用RAWNAND存储器来作为的主存储器用以存储代码以及用户数据。但是当前市面上常见的RAWNAND种类众多,其中包括且不限于SLCNAND,MLCNAND,TLCNAND,QLCNAND以及3D NAND,而且没有统一的规格,因此不同种类的RAWNAND对应的存储控制器的规格也不统一,其中存储控制器的规格中的页大小,块大小和ECC纠错能力要求等特性也会有差异。
正是由于RAWNAND的上述差异,因此如何在ROM中兼容这些不同规格的RAWNAND,是当前大家普遍面临的难题。
而现有技术中,通常采用下述两种方法实现ROM对其所使用的RAW NAND规格的ECC(ErrorCheckingandCorrection,一种用于NAND的差错检测和修正算法)纠正的兼容;
第一种,根据片上系统中所使用的RAWNAND对应的存储控制器的规格来调整GPIO的上下拉配置建立真值表;
第二种,根据片上系统中所使用的RAWNAND对应的存储控制器的规格对多种可能规格的组合逐一的尝试,以输出不报错的ECC校验。
然而上述第一种方法需要消耗GPIO资源,从而增加资源成本,上述第二种方法会增加时间成本。
发明内容
针对现有技术中存在的上述问题,现提供一种旨在对不同的NAND存储器进行兼容,并减少资源成本和时间成本的NAND存储器的兼容方法。
具体技术方案如下:
一种NAND存储器的兼容方法,其特征在于,应用于片上系统中,片上系统能够兼容多种NAND存储器;
兼容方法包括以下步骤:
步骤S1,预先获取片上系统能够兼容的每种NAND存储器的存储控制器支持的纠错能力对应的校验码字节数,以得到最大的校验码字节数;以及
预先获取片上系统能够兼容的每种NAND存储器的每个页的字节数,并获取设置有最小的字节数的页;
步骤S2,预先根据最大的校验码字节数和最小的字节数计算得到一预设字节作为片上系统当前外接的存储控制器的规格所对应的字节数,预设字节小于最小的字节数;
步骤S3,根据预设字节创建当前的存储控制器的纠错单元;
步骤S4,片上系统的驱动程序通过纠错单元读取NAND存储器保存的规格参数并进行解析,以用于对NAND存储器中保存的后续代码数据进行读取。
优选的,兼容方法,其中,步骤S1从NAND存储器的第0个页上保存的规格参数中预先获取最大的校验码字节数和设置有最小的字节数的页对应的字节数。
优选的,兼容方法,其中,步骤S2中的预设字节和最大的校验码字节数的和小于或等于最小的字节数。
优选的,兼容方法,其中,驱动程序的载体为片上系统的ROM存储器。
优选的,兼容方法,其中,纠错能力为ecc纠错能力。
优选的,兼容方法,其中,步骤S1中根据以下公式获取每种纠错能力对应的校验码字节数;
Figure BDA0002245284770000031
其中,a用于表示校验码字节数;
b用于表示纠错能力。
优选的,兼容方法,其中,纠错能力包括BCH8、BCH16、BCH24、BCH30、BCH40、BCH50、BCH60中的任意一种。
优选的,兼容方法,其中,最大的校验码字节数等于106。
优选的,兼容方法,其中,预设字节为406字节。
优选的,兼容方法,其中,最小的字节数为512。
上述技术方案具有如下优点或有益效果:通过NAND存储器对应的存储控制器的纠错能力中对应的最大的校验码字节数和NAND存储器的页的最小的字节数设置纠错单元的字节数,以兼容不同的NAND存储器,从而降低资源成本,并且减少调整次数,继而降低调整时间。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明NAND存储器的兼容方法的实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明包括一种NAND存储器的兼容方法,其中,应用于片上系统中,片上系统能够兼容多种NAND存储器;
如图1所示,兼容方法包括以下步骤:
兼容方法包括以下步骤:
步骤S1,预先获取片上系统能够兼容的每种NAND存储器的存储控制器支持的纠错能力对应的校验码字节数,以得到最大的校验码字节数;以及
预先获取片上系统能够兼容的每种NAND存储器的每个页的字节数,并获取设置有最小的字节数的页;
步骤S2,预先根据最大的校验码字节数和最小的字节数计算得到一预设字节作为片上系统当前外接的NAND存储器的规格所对应的字节数,预设字节小于最小的字节数;
步骤S3,根据预设字节创建当前的存储控制器的纠错单元;
步骤S4,片上系统的驱动程序通过纠错单元读取NAND存储器保存的规格参数并进行解析,以用于对NAND存储器中保存的后续代码数据进行读取。
在上述实施例中,需要获取片上系统能够兼容的所有NAND存储器的每个页的字节数,以及所有NAND存储器对应的存储控制器支持的纠错能力,从而设置有最小的字节数的页中的最小的字节数,以及得到纠错能力中最大的校验码字节数,然后通过最大的校验码字节数和最小的字节数计算得到满足所有NAND存储器的规则的预设字节,并将上述预设字节作为当前的NAND存储器的规格所对应的字节数,以根据预设字节创建纠错单元,片上系统的驱动程序可以通过纠错单元读取NAND存储器保存的规格参数并进行解析,以用于对NAND存储器中保存的后续代码数据进行读取,以通过该方法兼容不同规格的NAND存储器,以降低资源成本,并且减少调整次数,进而降低调整时间。
需要说明的是,最大的校验码字节数对应的纠错能力也是最大的,因此,只需要获取当前片上系统支持的NAND存储器的存储控制器对应的最大纠错能力对应的校验码字节数即可。
其中,NAND存储器为RAWNAND存储器。
进一步地,在上述实施例中,步骤S1从NAND存储器的第0个页上保存的规格参数中预先获取最大的校验码字节数和设置有最小的字节数的页对应的字节数。
进一步地,在上述实施例中,步骤S2中的预设字节需要满足以下条件:预设字节和最大的校验码字节数的和小于或等于最小的字节数(因此预设字节也会小于最小的字节数),以提高兼容性。
根据上述条件设置得到的预设字节创建合理大小的纠错单元,从而使得纠错单元中的数据可以存储在最小字节的页中,以实现兼容不同规格的NAND存储器。
需要说明的是,现有技术中的ECC纠错单元包括512字节、1024字节或2048字节,无法兼容不同规格的NAND存储器。
进一步地,在上述实施例中,驱动程序的载体为片上系统的ROM存储器。
进一步地,在上述实施例中,纠错能力为ECC纠错能力。
进一步地,在上述实施例中,ECC算法如下述公式(1)所示,其中ECC算法得到的校验码字节数与ECC纠错单元的大小是无关的,但是与纠错能力有关,因此步骤S1中可以根据以下公式(1)获取每种纠错能力对应的校验码字节数;
Figure BDA0002245284770000051
其中,a用于表示校验码字节数;
b用于表示纠错能力。
在上述公式(1)中校验码字节数=上取整(ECC纠错能力*14/8)。
进一步地,在上述实施例中,纠错能力包括BCH8、BCH16、BCH24、BCH30、BCH40、BCH50、BCH60中的任意一种,其中纠错能力不仅限于上述几种,还可以包括BCH70、BCH80等;
其中,BCH70、BCH80的纠错能力大于BCH60的纠错能力。
需要说明的是,BCH码是一类最重要的循环码,能纠正多个随机错误,它是1959年由Bose、Chaudhuri及Hocquenghem各自独立发现的二元线性循环码,人们用他们的名字字头命名为BCH码。
根据上述公式(1)可以得到上述纠错能力对应的校验码字节数,如下表所示:
序号 纠错能力 校验码字节数
1 BCH8 14
2 BCH16 28
3 BCH24 42
4 BCH30 54
5 BCH40 70
6 BCH50 88
7 BCH60 106
进一步地,作为优选的实施方式,当前用户所需的片上系统上的RAW NAND存储器的存储控制器支持的最大纠错能力为BCH60,并且最小字节数的页的最小的字节数为512;
因此根据上述表格中可以得到上述最大纠错能力对应的校验码字节数为106,随后根据预设字节需要满足的两个条件可以计算得到本实施方式中的预设字节为406(406=512-106)字节;
当ROM存储器中的驱动可以通过上述406字节的ecc纠错单元可以读取所有RAWNAND中的最小页的数据,从而可以实现兼容不同的RAWNAND存储器,从而降低资源成本,并且减少调整次数,继而降低调整时间。
进一步地,作为优选的实施方式,当前用户所需的片上系统上的RAW NAND存储器的存储控制器支持的最大纠错能力为BCH50,并且最小字节数的页的最小的字节数为512;
因此根据上述表格中可以得到上述最大纠错能力对应的校验码字节数为88,随后根据预设字节需要满足的两个条件可以计算得到本实施方式中的预设字节为424(424=512-88)字节;
当片上系统上的ROM存储器中的驱动程序可以通过上述424字节的ecc纠错单元可以读取所有RAWNAND存储器中的最小页的数据,从而可以实现兼容不同的RAWNAND存储器,从而降低资源成本,并且减少调整次数,继而降低调整时间。
其中,NAND存储器的规格在烧录BOOTLOADER的时候由烧录器或烧录工具代码填入,存储控制器的规格包括:NAND存储器的最小字节数的页对应的字节数以及NAND存储器对应的存储控制器支持的最大纠错能力。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (10)

1.一种NAND存储器的兼容方法,其特征在于,应用于片上系统中,所述片上系统能够兼容多种NAND存储器;
所述兼容方法包括以下步骤:
步骤S1,预先获取所述片上系统能够兼容的每种所述NAND存储器的存储控制器支持的纠错能力对应的校验码字节数,以得到最大的所述校验码字节数;以及
预先获取所述片上系统能够兼容的每种所述NAND存储器的每个页的字节数,并获取设置有最小的所述字节数的页;
步骤S2,预先根据最大的所述校验码字节数和最小的所述字节数计算得到一预设字节作为所述片上系统当前外接的所述NAND存储器的规格所对应的字节数,所述预设字节小于最小的所述字节数;
步骤S3,根据所述预设字节创建当前的所述存储控制器的纠错单元;
步骤S4,所述片上系统的驱动程序通过所述纠错单元读取所述NAND存储器保存的规格参数并进行解析,以用于对所述NAND存储器中保存的后续代码数据进行读取。
2.如权利要求1所述的兼容方法,其特征在于,所述步骤S1从所述NAND存储器的第0个页上保存的所述规格参数中预先获取最大的所述校验码字节数和设置有最小的所述字节数的页对应的字节数。
3.如权利要求1所述的兼容方法,其特征在于,所述步骤S2中的所述预设字节和最大的所述校验码字节数的和小于或等于最小的所述字节数。
4.如权利要求1所述的兼容方法,其特征在于,所述驱动程序的载体为所述片上系统的ROM存储器。
5.如权利要求1所述的兼容方法,其特征在于,所述纠错能力为ecc纠错能力。
6.如权利要求1所述的兼容方法,其特征在于,所述步骤S1中根据以下公式获取每种所述纠错能力对应的所述校验码字节数;
Figure FDA0002245284760000021
其中,a用于表示所述校验码字节数;
b用于表示所述纠错能力。
7.如权利要求6所述的兼容方法,其特征在于,所述纠错能力包括BCH8、BCH16、BCH24、BCH30、BCH40、BCH50、BCH60中的任意一种。
8.如权利要求7所述的兼容方法,其特征在于,最大的所述校验码字节数等于106。
9.如权利要求8所述的兼容方法,其特征在于,所述预设字节为406字节。
10.如权利要求1所述的兼容方法,其特征在于,最小的所述字节数为512。
CN201911014595.5A 2019-10-24 2019-10-24 一种nand存储器的兼容方法 Active CN110955555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911014595.5A CN110955555B (zh) 2019-10-24 2019-10-24 一种nand存储器的兼容方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911014595.5A CN110955555B (zh) 2019-10-24 2019-10-24 一种nand存储器的兼容方法

Publications (2)

Publication Number Publication Date
CN110955555A true CN110955555A (zh) 2020-04-03
CN110955555B CN110955555B (zh) 2024-03-29

Family

ID=69976438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911014595.5A Active CN110955555B (zh) 2019-10-24 2019-10-24 一种nand存储器的兼容方法

Country Status (1)

Country Link
CN (1) CN110955555B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626091A (zh) * 2021-08-19 2021-11-09 深圳忆联信息系统有限公司 固态硬盘的启动优化方法、装置、计算机设备及存储介质
WO2023273873A1 (zh) * 2021-06-30 2023-01-05 中兴通讯股份有限公司 访问存储器中数据的方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195900A1 (en) * 2007-02-12 2008-08-14 Phison Electronics Corp. Flash memory system and method for controlling the same
US20100005282A1 (en) * 2008-07-02 2010-01-07 Michael Smith Method and apparatus for booting from a flash memory
CN102142282A (zh) * 2011-02-21 2011-08-03 北京理工大学 一种NAND Flash存储芯片ECC校验算法的识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195900A1 (en) * 2007-02-12 2008-08-14 Phison Electronics Corp. Flash memory system and method for controlling the same
US20100005282A1 (en) * 2008-07-02 2010-01-07 Michael Smith Method and apparatus for booting from a flash memory
CN102142282A (zh) * 2011-02-21 2011-08-03 北京理工大学 一种NAND Flash存储芯片ECC校验算法的识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王轩;常亮;李杰;: "基于FPGA的NAND Flash ECC校验系统设计与实现" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023273873A1 (zh) * 2021-06-30 2023-01-05 中兴通讯股份有限公司 访问存储器中数据的方法、电子设备及存储介质
CN113626091A (zh) * 2021-08-19 2021-11-09 深圳忆联信息系统有限公司 固态硬盘的启动优化方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110955555B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US8205135B2 (en) Memory system and command handling method
CN102567134B (zh) 存储器模块的错误检查与校正系统以及方法
CN103187104B (zh) Dram存储器的纠错方法
TW201545167A (zh) 在非揮發性記憶體中處理錯誤更正碼的方法及其非揮發性儲存裝置
CN110955555A (zh) 一种nand存储器的兼容方法
CN101502001A (zh) 在多电平单元存储设备内安排数据的方法
KR101819152B1 (ko) 오류 정정 코드를 디코딩하기 위한 방법 및 이와 관련된 디코딩 회로
US9064606B2 (en) Memory interface supporting both ECC and per-byte data masking
CN106981308B (zh) 一种精准获取llr信息的应用方法
CN111143107A (zh) 一种fpga单粒子反转校验电路和方法
US8539289B2 (en) Memory testing system and method of computing device
US20110072333A1 (en) Control method for flash memory based on variable length ecc
CN105183579A (zh) 一种数据校验方法及装置、电子设备
CN104299637A (zh) 快闪存储器装置及其运作方法
US9431132B2 (en) Data managing method, memory control circuit unit and memory storage apparatus
CN110535476B (zh) Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质
CN114913900A (zh) 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质
US20240184665A1 (en) Data processing method and apparatus
US9003269B2 (en) Memory controller and semiconductor storage device
WO2019033647A1 (zh) 闪存的纠错方法、装置、设备以及计算机可读存储介质
KR20210156713A (ko) 개선된 ecc 메모리 칩 인코더 및 디코더
CN105354107A (zh) NOR Flash的数据传输方法及系统
WO2017166845A1 (zh) 数据处理装置及数据处理方法
CN101996688B (zh) 应用可变动错误更正码容量的快闪存储器控制方法
TWI537971B (zh) Storage device and access method thereof

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