CN113571121A - 嵌入式设备NAND Flash的ECC码存储方法 - Google Patents
嵌入式设备NAND Flash的ECC码存储方法 Download PDFInfo
- Publication number
- CN113571121A CN113571121A CN202110845156.XA CN202110845156A CN113571121A CN 113571121 A CN113571121 A CN 113571121A CN 202110845156 A CN202110845156 A CN 202110845156A CN 113571121 A CN113571121 A CN 113571121A
- Authority
- CN
- China
- Prior art keywords
- page
- image file
- ecc
- file data
- nand flash
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Abstract
本发明公开了嵌入式设备NAND Flash的ECC码存储方法。现有方法是将ECC码存储在OOB区域,系统兼容性差。本发明将每页NAND Flash页主数据区划分为镜像文件数据存储区和ECC数据存储区,其中主数据区前1KB为镜像文件数据存储区;将启动程序的镜像文件数据存储在镜像文件数据存储区;采用ECC算法计算存储在每页的部分启动程序镜像文件数据,得到对应的ECC码;将每页启动程序镜像文件数据对应的ECC码存储在该页的ECC数据存储区。当芯片读取启动程序时,将主数据区的镜像文件数据和ECC码同时读取出来,逐页进行检查或纠错。本发明方法不需要依赖OOB空间,提高了系统兼容性。
Description
技术领域
本发明属于嵌入式设备技术领域,具体涉及一种基于嵌入式设备启动程序的NANDFlash镜像文件ECC码存储方法。
背景技术
随着科技产业发展,嵌入式设备越来越多地使用NAND Flash芯片设计,以应对大容量存储需求,各种不同工艺的NAND Flash也被设计出来。ECC(Error Correcting Code),是一种能够实现“错误检查和纠正”的技术,可提高计算机运行的稳定性和增加可靠性。在实际应用中,嵌入式系统主控芯片在读取NAND Flash数据时,使用ECC纠错功能发现和纠正数据位跳变。不同型号NAND Flash发生位跳变几率不同,所要求的ECC纠错能力也会不一样,ECC纠错能力越强大,ECC码占用存储空间也越大。对于固化在主控芯片的ROM程序在读取用户启动程序时(S1),需要采用用一种通用的ECC码存储以兼容各种不同ECC纠错要求的NAND Flash。
NAND Flash的读写操作以页为单位,每页主数据区域大小为2KB的倍数,如2KB或4KB,绝大部分NAND Flash型号还会有带外空间(OOB),OOB也有不同大小。
发明内容
本发明的目的就是提供一种嵌入式设备NAND Flash的ECC码存储方法,解决主控芯片不能兼容不同ECC纠错要求的NAND Flash问题,有效的提高系统的兼容性。
本发明方法是将启动程序的镜像文件数据和对应的ECC码都写入NAND Flash页主数据区,具体写入方法是:
将每页NAND Flash页主数据区划分为镜像文件数据存储区和ECC数据存储区,其中镜像文件数据存储区为每页NAND Flash页主数据区的前1KB,其他为ECC数据存储区,每页划分方式相同;
将启动程序的镜像文件数据存储在NAND Flash的镜像文件数据存储区,存储方式采用按页码顺序依次填满的方式;
采用ECC算法计算存储在每页的部分启动程序镜像文件数据,得到对应的ECC码;
将每页的部分启动程序镜像文件数据对应的ECC码存储在该页的ECC数据存储区。
即,每页NAND Flash页主数据区存储部分启动程序镜像文件数据,以及对应的ECC码。
采用本发明方法,当芯片读取启动程序时,将主数据区的镜像文件数据和ECC码同时读取出来,逐页进行检查或纠错。相较于将ECC码存储在OOB区域,大大提高系统兼容性,而不需要依赖OOB空间。
附图说明
图1为本发明主数据区划分存储示意图。
具体实施方式
以下结合附图对本发明做进一步说明。
一种嵌入式设备NAND Flash的ECC码存储方法,是将启动程序的镜像文件数据和对应的ECC码都写入NAND Flash页主数据区。由于启动程序(S1)比较小,一般只有几十KB,对于大容量的NAND Flash,占用空间很小。具体写入方法是:
如图1所示,将每页NAND Flash页主数据区划分为镜像文件数据存储区和ECC数据存储区,其中镜像文件数据存储区为每页NAND Flash页主数据区的前1KB,其他为ECC数据存储区,每页划分方式相同。
将启动程序的镜像文件数据存储在NAND Flash的镜像文件数据存储区,存储方式采用按页码顺序依次填满的方式。
采用ECC算法计算存储在每页的部分启动程序镜像文件数据,得到对应的ECC码。
将每页的部分启动程序镜像文件数据对应的ECC码存储在该页的ECC数据存储区。
即,每页NAND Flash页主数据区存储部分启动程序镜像文件数据,以及对应的ECC码。
Claims (1)
1.嵌入式设备NAND Flash的ECC码存储方法,其特征在于:
将启动程序的镜像文件数据和对应的ECC码都写入NAND Flash页主数据区,具体写入方法是:
将每页NAND Flash页主数据区划分为镜像文件数据存储区和ECC数据存储区,其中镜像文件数据存储区为每页NAND Flash页主数据区的前1KB,其余为ECC数据存储区,每页划分方式相同;
将启动程序的镜像文件数据存储在NAND Flash的镜像文件数据存储区,存储方式采用按页码顺序依次填满的方式;
采用ECC算法计算存储在每页的部分启动程序镜像文件数据,得到对应的ECC码;
将每页的部分启动程序镜像文件数据对应的ECC码存储在该页的ECC数据存储区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845156.XA CN113571121A (zh) | 2021-07-26 | 2021-07-26 | 嵌入式设备NAND Flash的ECC码存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845156.XA CN113571121A (zh) | 2021-07-26 | 2021-07-26 | 嵌入式设备NAND Flash的ECC码存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113571121A true CN113571121A (zh) | 2021-10-29 |
Family
ID=78167501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110845156.XA Pending CN113571121A (zh) | 2021-07-26 | 2021-07-26 | 嵌入式设备NAND Flash的ECC码存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113571121A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200723A1 (en) * | 2005-03-03 | 2006-09-07 | International Business Machines Corporation | Method and apparatus for implementing enhanced vertical ECC storage in a dynamic random access memory |
CN101206618A (zh) * | 2006-09-08 | 2008-06-25 | 三星电子株式会社 | 融合式存储器设备及方法 |
CN101329916A (zh) * | 2007-01-08 | 2008-12-24 | 三星电子株式会社 | 闪存装置纠错码控制器以及相关方法和存储系统 |
US20100174967A1 (en) * | 2009-01-07 | 2010-07-08 | Hitachi, Ltd. | Control apparatus and control method |
CN102650949A (zh) * | 2012-04-24 | 2012-08-29 | 深圳创维数字技术股份有限公司 | 一种存储设备的固件升级的方法及装置 |
CN103593216A (zh) * | 2013-11-12 | 2014-02-19 | 上海斐讯数据通信技术有限公司 | 将ubi格式的系统文件制作成工厂烧录映像文件方法 |
CN104317622A (zh) * | 2014-10-30 | 2015-01-28 | 深圳市捷顺科技实业股份有限公司 | 一种嵌入式设备程序烧录处理方法和系统 |
CN107239358A (zh) * | 2017-06-01 | 2017-10-10 | 捷开通讯(深圳)有限公司 | 安卓系统的启动方法、移动终端及具有存储功能的装置 |
CN109785895A (zh) * | 2019-01-28 | 2019-05-21 | 西安紫光国芯半导体有限公司 | 纠正NAND Flash中多比特错误的ECC装置和方法 |
CN110457160A (zh) * | 2019-07-02 | 2019-11-15 | 深圳市金泰克半导体有限公司 | 一种纠错方法及装置 |
CN110502281A (zh) * | 2019-07-19 | 2019-11-26 | 浙江万胜智能科技股份有限公司 | 一种嵌入式设备启动Linux内核和文件系统的方法 |
CN112380171A (zh) * | 2020-12-01 | 2021-02-19 | 厦门市美亚柏科信息股份有限公司 | 一种yaffs文件系统oob识别方法、终端设备及存储介质 |
-
2021
- 2021-07-26 CN CN202110845156.XA patent/CN113571121A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200723A1 (en) * | 2005-03-03 | 2006-09-07 | International Business Machines Corporation | Method and apparatus for implementing enhanced vertical ECC storage in a dynamic random access memory |
CN101206618A (zh) * | 2006-09-08 | 2008-06-25 | 三星电子株式会社 | 融合式存储器设备及方法 |
CN101329916A (zh) * | 2007-01-08 | 2008-12-24 | 三星电子株式会社 | 闪存装置纠错码控制器以及相关方法和存储系统 |
US20100174967A1 (en) * | 2009-01-07 | 2010-07-08 | Hitachi, Ltd. | Control apparatus and control method |
CN102650949A (zh) * | 2012-04-24 | 2012-08-29 | 深圳创维数字技术股份有限公司 | 一种存储设备的固件升级的方法及装置 |
CN103593216A (zh) * | 2013-11-12 | 2014-02-19 | 上海斐讯数据通信技术有限公司 | 将ubi格式的系统文件制作成工厂烧录映像文件方法 |
CN104317622A (zh) * | 2014-10-30 | 2015-01-28 | 深圳市捷顺科技实业股份有限公司 | 一种嵌入式设备程序烧录处理方法和系统 |
CN107239358A (zh) * | 2017-06-01 | 2017-10-10 | 捷开通讯(深圳)有限公司 | 安卓系统的启动方法、移动终端及具有存储功能的装置 |
CN109785895A (zh) * | 2019-01-28 | 2019-05-21 | 西安紫光国芯半导体有限公司 | 纠正NAND Flash中多比特错误的ECC装置和方法 |
CN110457160A (zh) * | 2019-07-02 | 2019-11-15 | 深圳市金泰克半导体有限公司 | 一种纠错方法及装置 |
CN110502281A (zh) * | 2019-07-19 | 2019-11-26 | 浙江万胜智能科技股份有限公司 | 一种嵌入式设备启动Linux内核和文件系统的方法 |
CN112380171A (zh) * | 2020-12-01 | 2021-02-19 | 厦门市美亚柏科信息股份有限公司 | 一种yaffs文件系统oob识别方法、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US8074148B2 (en) | Memory management method and controller for non-volatile memory storage device | |
US8392797B2 (en) | Error correcting controller, flash memory chip system, and error correcting method thereof | |
US20110231713A1 (en) | Flash memory module | |
CN109117383B (zh) | 管理闪存模块的方法和闪存控制器 | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US9304900B2 (en) | Data reading method, memory controller, and memory storage device | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
US20110320689A1 (en) | Data Storage Devices and Data Management Methods for Processing Mapping Tables | |
US20150149702A1 (en) | Method for data management and memory storage device and memory control circuit unit | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US8301981B2 (en) | Data access method for flash memory and storage system and controller thereof | |
CN105308575A (zh) | 用于错误校正码(ecc)错误处理的方法和装置 | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102200946B (zh) | 资料存取方法、记忆体控制器与储存系统 | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
US10691352B2 (en) | Data storage device and method of operating the same | |
US8832358B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
CN111208932A (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 |