CN110955555A - 一种nand存储器的兼容方法 - Google Patents
一种nand存储器的兼容方法 Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
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/1012—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 using codes or arrangements adapted for a specific type of error
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response 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存储器的兼容方法。
背景技术
目前的片上系统通常使用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中根据以下公式获取每种纠错能力对应的校验码字节数;
其中,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)获取每种纠错能力对应的校验码字节数;
其中,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纠错能力。
7.如权利要求6所述的兼容方法,其特征在于,所述纠错能力包括BCH8、BCH16、BCH24、BCH30、BCH40、BCH50、BCH60中的任意一种。
8.如权利要求7所述的兼容方法,其特征在于,最大的所述校验码字节数等于106。
9.如权利要求8所述的兼容方法,其特征在于,所述预设字节为406字节。
10.如权利要求1所述的兼容方法,其特征在于,最小的所述字节数为512。
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)
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)
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校验算法的识别方法 |
-
2019
- 2019-10-24 CN CN201911014595.5A patent/CN110955555B/zh active Active
Patent Citations (3)
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)
Title |
---|
王轩;常亮;李杰;: "基于FPGA的NAND Flash ECC校验系统设计与实现" * |
Cited By (2)
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 |