CN101425342A - 针对NAND Flash冗余码的存取方法 - Google Patents

针对NAND Flash冗余码的存取方法 Download PDF

Info

Publication number
CN101425342A
CN101425342A CNA2008100464034A CN200810046403A CN101425342A CN 101425342 A CN101425342 A CN 101425342A CN A2008100464034 A CNA2008100464034 A CN A2008100464034A CN 200810046403 A CN200810046403 A CN 200810046403A CN 101425342 A CN101425342 A CN 101425342A
Authority
CN
China
Prior art keywords
data
page
nand flash
spare area
sector
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
CNA2008100464034A
Other languages
English (en)
Other versions
CN101425342B (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.)
Phicomm Shanghai Co Ltd
Original Assignee
IPGoal Microelectronics Sichuan 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 IPGoal Microelectronics Sichuan Co Ltd filed Critical IPGoal Microelectronics Sichuan Co Ltd
Priority to CN2008100464034A priority Critical patent/CN101425342B/zh
Publication of CN101425342A publication Critical patent/CN101425342A/zh
Priority to US12/501,388 priority patent/US8463982B2/en
Application granted granted Critical
Publication of CN101425342B publication Critical patent/CN101425342B/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/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

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

本发明公开了针对NAND Flash冗余码的存取方法,其特征在于:将NANDFlash中一个块的n个页面作为备用区的扩展空间,其中n≥1;写入数据时,数据存储在一个扇区的数据区中,当需要纠错能力大于16字节的空间来存放冗余码时,冗余码的前16字节放入该扇区自带的16字节备用区中,其余的字节存储在该扇区所对应的备用区的扩展空间中;开辟了新的冗余码存储空间,在次空间内冗余码按块顺序排放,在读取某块数据前,先将冗余码加载至系统内存,供解码单元使用。

Description

针对NAND Flash冗余码的存取方法
技术领域
本发明涉及NAND Flash技术领域,特别是针对NAND Flash冗余码的存取方法。
背景技术
NAND Flash是一种用于存储数据的存储介质。一个NAND Flash由很多块(BLOCK)组成,每个块又由一定数量的页面(PAGE)组成。一般来说,一个页面由2K字节数据区和64字节备用区组成,结构如图1所示。
在数据存储逻辑上,每个页面可以分解为4个扇区(SECTOR),其中每个扇区包括512字节数据区和16字节备用区。虽然NAND Flash的电荷能永久保存电晶体的状态,但由于这些电荷被氧化物层隔开(以维持一个稳定的状态),而这些氧化物层是会随着时间和使用多少而消失的,因此最终会导致Flash Memory失效。这也就导致了NAND Flash在生产和使用过程中会产生坏块。坏块是指该块所在其中一页或多页在存储数据时,发生数据存储错误。而且,随着使用寿命的增加,坏块出现的概率也在增大,在NAND Flash使用过程中,如果简单丢弃坏块会造成很大的资源浪费。
所以为了提高FLASH存储的稳定性和使用效率,必须采用一定的数据纠错算法。通过数据纠错算法后,会有一组冗余码附加在需要存储的数据后面。因此,NAND Flash制造商在设计NAND存储阵列时包含了一定的备用区用于存储这些冗余码。比如,每512字节的数据块分配16字节的备用区。
通常,我们以一个扇区为单位进行编码,这样,我们就只有最大16字节的空间存放冗余码。早期的NAND Flash工艺以SLC(Single-Cell)为主,单位数据块的出错概率较小,NAND存储阵列中的备用区足够存储数据纠错算法产生的冗余码。对于目前NAND Flash主流工艺MLC(Multi-Level-Cell),由于密度的增加导致单位数据块出错概率增大,单位数据块所需要的纠错能力远大于SLC工艺的要求。这就导致了16字节的备用区已经不能存储下所有的冗余码。目前解决这一问题的通常做法是采用不同的纠错算法或降低纠错能力,但是这些做法是以牺牲纠错能力为前提的,不能满足NAND Flash MLC主流工艺的发展。
发明内容
本发明的目的是提供针对NAND Flash冗余码的存取方法,通过采用将NANDFlash块中的数据区做为备用区的扩展空间来存储更多的冗余码,可以大大提高纠错能力。
本发明的技术方案如下:
针对NAND Flash冗余码的存取方法,其特征在于:将NAND Flash中一个块的n个页面作为备用区的扩展空间,其中n≥1;写入数据时,数据存储在一个扇区的数据区中,当需要纠错能力大于16字节的空间来存放冗余码时,冗余码的前16字节放入该扇区自带的16字节备用区中,其余的字节存储在该扇区所对应的备用区的扩展空间中。
所述页面被划分为等长的段,每一段作为NAND Flash的其余页面中每个扇区备用区的扩展空间,每一段的长度等于冗余码字节减去16字节后的字节长度。
所述一个块的n个页面为第1页—第n页,则1—n页为备用区的扩展空间,把1—n页划分为等长的m段,则从第n+1页开始为包含数据区和备用区的普通页;以S1表示第n+1页的第一个扇区,R1表示第n+1页的第一个扇区所对应的备用区的扩展空间,当R1为第1页的第一段时,则表示第1页的第一段为第n+1页的第一个扇区的备用区对应的扩展空间;当n个页面为其他范围的页面时,以此类推。
所述NAND Flash写入数据到数据区时,按该数据区的逻辑地址寻址。
所述NAND Flash写入数据到一个扇区的数据区时,该扇区的备用区对应的扩展空间所在的页数读入内部存储器RAM中。
所述NAND Flash在读取数据时,必须先读取数据区的数据、备用区的冗余码和备用区对应扩展空间的冗余码,再通过解码器解码才能得到。
所述NAND Flash在读取数据时的具体步骤为:首先,从RAM中提取页数Pn,再将所对应页数Pn中的每个扇区的数据区512字节数据、备用区16字节冗余码以及该扇区所对应的备用区扩展空间Rn中的冗余码一起通过解码器解码,就可以得到原来所存入的数据。
本发明的有益效果:
开辟了新的冗余码存储空间,在次空间内冗余码按块顺序排放,在读取某块数据前,先将冗余码加载至系统内存,供解码单元使用。
附图说明
图1为NAND Flash的结构示意图
图2为本发明页面中备用区和扩展空间对应关系示意图
图3为NAND Flash的一个扇区的组成结构示意图
图4为本发明NAND Flash的逻辑地址寻址示意图
图5为本发明存储数据的流程图
图6为本发明读取数据的流程图
图7为本发明实施例2的组成示意图
图8为本发明实施例3的组成示意图
具体实施例
实施例1
针对NAND Flash冗余码的存取方法,将NAND Flash中一个块的n个页面作为备用区的扩展空间,其中n≥1;写入数据时,数据存储在一个扇区的数据区中,当需要纠错能力大于16字节的空间来存放冗余码时,冗余码的前16字节放入该扇区自带的16字节备用区中,其余的字节存储在该扇区所对应的备用区的扩展空间中。
所述页面被划分为等长的段,每一段作为NAND Flash的其余页面中每个扇区备用区的扩展空间,每一段的长度等于冗余码字节减去16字节后的字节长度。
如图2所示,所述一个块的n个页面为第1页—第n页,则1—n页为备用区的扩展空间,把1—n页划分为等长的m段,则从第n+1页开始为包含数据区和备用区的普通页;以S1表示第n+1页的第一个扇区,S1由数据区和备用区组成(如图3所示),R1表示第n+1页的第一个扇区所对应的备用区的扩展空间,当R1为第1页的第一段时,则表示第1页的第一段为第n+1页的第一个扇区的备用区对应的扩展空间;当n个页面为其他范围的页面时,以此类推。
所述NAND Flash写入数据到数据区时,按该数据区的逻辑地址寻址,如图4所示。
如图2和图5所示,所述NAND Flash写入数据到一个扇区的数据区时,该扇区的备用区对应的扩展空间所在的页数读入内部存储器RAM中。
如图6所示,所述NAND Flash在读取数据时,必须先读取数据区的数据、备用区的冗余码和备用区对应扩展空间的冗余码,再通过解码器解码才能得到。
所述NAND Flash在读取数据时的具体步骤为:首先,从RAM中提取页数Pn,再将所对应页数Pn中的每个扇区的数据区512字节数据、备用区16字节冗余码以及该扇区所对应的备用区扩展空间Rn中的冗余码一起通过解码器解码,就可以得到原来所存入的数据。如图2所示,以Pn+1为例,从RAM中提取页数Pn+1,再将所对应页数Pn+1中的扇区S1—S4的数据区512字节数据、备用区16字节冗余码以及该4个扇区所对应的备用区扩展空间R1—S4中的冗余码一起通过解码器解码,就可以得到原来所存入的数据。
实施例2
将本方法运用到使用NAND Flash作为存储介质的存储器中,以提高存储器的纠错能力。
采用本方法存取冗余码的NAND Flash与固态硬盘控制器、固态硬盘接口单元一起组成固态硬盘。先将固态硬盘NAND Flash中一个块的其中一个页面或几个页面作为备用区的扩展空间;并在页面内把用户数据区划分为等长的小段,每一段作为页面中每个扇区的备用区的扩展空间;再将要操作的备用区的扩展空间所在的页数读入内部存储器RAM中。
存储数据时,数据通过固态硬盘接口单元发送到固态硬盘控制器,控制器通过数据纠错算法将需要存储的数据和冗余码发送到NAND Flash中存储,数据存储在数据区中。当固态硬盘的纠错能力大于8bit时,16字节冗余码仍存储在NANDFlash的备用区中,其余的冗余码则存储在备用区的扩展空间中。
读取数据时,将数据区需要读取的数据、备用区的冗余码及对应备用区扩展空间的冗余码一起传送到固态硬盘控制器中,控制器通过解码还原出原数据后再传送固态硬盘接口单元。
实施例3
采用本方法存取冗余码的NAND Flash与U盘控制器、U盘接口单元一起组成U盘。先将U盘NAND Flash中一个块的其中一个页面或几个页面作为备用区的扩展空间;并在页面内把用户数据区划分为等长的小段,每一段作为页面中每个扇区的备用区的扩展空间;再将要操作的备用区的扩展空间所在的页数读入内部存储器RAM中。
存储数据时,数据通过U盘接口单元发送到U盘控制器,控制器通过数据纠错算法将需要存储的数据和冗余码发送到NAND Flash中存储,数据存储在数据区中。当U盘的纠错能力大于8bit时,前16字节冗余码存储在NAND Flash的备用区中,其余的冗余码则存储在备用区的扩展空间中。
读取数据时,将数据区需要读取的数据、备用区的冗余码及对应备用区扩展空间的冗余码一起传送到U盘控制器中,控制器通过解码还原出原数据后再传送U盘接口单元。

Claims (7)

1、针对NAND Flash冗余码的存取方法,其特征在于:将NAND Flash中一个块的n个页面作为备用区的扩展空间,其中n≥1;写入数据时,数据存储在一个扇区的数据区中,当需要纠错能力大于16字节的空间来存放冗余码时,冗余码的前16字节放入该扇区自带的16字节备用区中,其余的字节存储在该扇区所对应的备用区的扩展空间中。
2、根据权利要求1所述针对NAND Flash冗余码的存取方法,其特征在于:所述页面被划分为等长的段,每一段作为NAND Flash的其余页面中每个扇区备用区的扩展空间,每一段的长度等于冗余码字节减去16字节后的字节长度。
3、根据权利要求1所述针对NAND Flash冗余码的存取方法,其特征在于:所述一个块的n个页面为第1页—第n页,则1—n页为备用区的扩展空间,把1—n页划分为等长的m段,则从第n+1页开始为包含数据区和备用区的普通页;以S1表示第n+1页的第一个扇区,R1表示第n+1页的第一个扇区所对应的备用区的扩展空间,当R1为第1页的第一段时,则表示第1页的第一段为第n+1页的第一个扇区的备用区对应的扩展空间;当n个页面为其他范围的页面时,以此类推。
4、根据权利要求1所述针对NAND Flash冗余码的存取方法,其特征在于:所述NAND Flash写入数据到数据区时,按该数据区的逻辑地址寻址。
5、根据权利要求1或3所述针对NAND Flash冗余码的存取方法,其特征在于:所述NAND Flash写入数据到一个扇区的数据区时,该扇区的备用区对应的扩展空间所在的页数读入内部存储器RAM中。
6、根据权利要求1所述针对NAND Flash冗余码的存取方法,其特征在于:所述NAND Flash在读取数据时,必须先读取数据区的数据、备用区的冗余码和备用区对应扩展空间的冗余码,再通过解码器解码才能得到。
7、根据权利要求6所述针对NAND Flash冗余码的存取方法,其特征在于:所述NAND Flash在读取数据时的具体步骤为:首先,从RAM中提取页数Pn,再将所对应页数Pn中的每个扇区的数据区512字节数据、备用区16字节冗余码以及该扇区所对应的备用区扩展空间Rn中的冗余码一起通过解码器解码,就可以得到原来所存入的数据。
CN2008100464034A 2008-10-29 2008-10-29 针对NAND Flash冗余码的存取方法 Active CN101425342B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008100464034A CN101425342B (zh) 2008-10-29 2008-10-29 针对NAND Flash冗余码的存取方法
US12/501,388 US8463982B2 (en) 2008-10-29 2009-07-10 Method of storing and accessing error correcting code in NAND flash

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100464034A CN101425342B (zh) 2008-10-29 2008-10-29 针对NAND Flash冗余码的存取方法

Publications (2)

Publication Number Publication Date
CN101425342A true CN101425342A (zh) 2009-05-06
CN101425342B CN101425342B (zh) 2010-12-08

Family

ID=40615883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100464034A Active CN101425342B (zh) 2008-10-29 2008-10-29 针对NAND Flash冗余码的存取方法

Country Status (2)

Country Link
US (1) US8463982B2 (zh)
CN (1) CN101425342B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360569A (zh) * 2011-08-24 2012-02-22 中兴通讯股份有限公司 非易失闪存芯片烧录方法、系统及装置
CN102981976A (zh) * 2012-12-05 2013-03-20 清华大学 用于数据存储的访问控制方法
CN109683803A (zh) * 2017-10-19 2019-04-26 中兴通讯股份有限公司 一种数据处理方法及装置
CN109840163A (zh) * 2018-12-27 2019-06-04 西安紫光国芯半导体有限公司 一种Nand-Flash错误数据冗余替换方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812798B2 (en) * 2011-08-18 2014-08-19 International Business Machines Corporation Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size
CN107562563B (zh) * 2016-07-01 2021-06-15 龙芯中科技术股份有限公司 Nand Flash控制方法和装置
CN110310693B (zh) * 2018-12-26 2021-01-08 上海忆芯实业有限公司 具有缓存的In-Line ECC模块

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100364013C (zh) * 2002-09-07 2008-01-23 鸿富锦精密工业(深圳)有限公司 在闪存中存放校验码的方法及装置
JP4936271B2 (ja) * 2006-01-20 2012-05-23 株式会社メガチップス 半導体記憶装置
EP1912121B1 (en) * 2006-09-13 2009-08-12 STMicroelectronics S.r.l. NAND flash memory device with ECC protected reserved area for non volatile storage of redundancy data
EP2092530B1 (en) * 2006-12-07 2012-10-31 Nxp B.V. Method and device for reconfiguration of reliability data in flash eeprom storage pages
US8555143B2 (en) * 2008-12-22 2013-10-08 Industrial Technology Research Institute Flash memory controller and the method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360569A (zh) * 2011-08-24 2012-02-22 中兴通讯股份有限公司 非易失闪存芯片烧录方法、系统及装置
CN102360569B (zh) * 2011-08-24 2017-04-12 中兴通讯股份有限公司 非易失闪存芯片烧录方法、系统及装置
CN102981976A (zh) * 2012-12-05 2013-03-20 清华大学 用于数据存储的访问控制方法
CN102981976B (zh) * 2012-12-05 2016-05-25 清华大学 用于数据存储的访问控制方法
CN109683803A (zh) * 2017-10-19 2019-04-26 中兴通讯股份有限公司 一种数据处理方法及装置
CN109840163A (zh) * 2018-12-27 2019-06-04 西安紫光国芯半导体有限公司 一种Nand-Flash错误数据冗余替换方法
CN109840163B (zh) * 2018-12-27 2022-05-24 西安紫光国芯半导体有限公司 一种Nand-Flash错误数据冗余替换方法

Also Published As

Publication number Publication date
CN101425342B (zh) 2010-12-08
US8463982B2 (en) 2013-06-11
US20100106894A1 (en) 2010-04-29

Similar Documents

Publication Publication Date Title
CN101425342B (zh) 针对NAND Flash冗余码的存取方法
US8468292B2 (en) Solid state drive data storage system and method
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
CN100458718C (zh) 一种闪存存储装置及其数据读取和写入方法
US20100042773A1 (en) Flash memory storage system and data writing method thereof
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
CN101923448A (zh) 一种nand闪存的转换层读写方法
US9141530B2 (en) Data writing method, memory controller and memory storage device
CN101556555B (zh) 用于闪存的区块管理方法、其控制器与储存系统
US20140328127A1 (en) Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same
CN102214143A (zh) 一种多层单元闪存的管理方法、装置及存储设备
CN104317753A (zh) 存储设备及其数据读写方法
CN101567220A (zh) 闪存的损坏区块辨识方法、储存系统及其控制器
CN101546294A (zh) 一种Flash存储器的数据存储方法
TW201705148A (zh) 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置
CN102279803A (zh) 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法
CN101308702B (zh) 适用于闪存的数据结构及其数据写入方法和数据读取方法
CN114036079B (zh) 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法
CN101930407B (zh) 闪速存储器控制电路及其存储系统与数据传输方法
CN104252317B (zh) 数据写入方法、存储器控制器与存储器存储装置
US8209474B1 (en) System and method for superblock data writes
TWI521346B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
CN104166558B (zh) 固件码载入方法、存储器控制器与存储器存储装置
CN101692211B (zh) 一种Flash数据管理方法
CN106406746A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHANGHAI FEIXUN DATA COMMUNICATION TECHNOLOGY CO.,

Free format text: FORMER OWNER: IPGOAL MICROELECTRONICS (SICHUAN) CO., LTD.

Effective date: 20121101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 610041 CHENGDU, SICHUAN PROVINCE TO: 201620 SONGJIANG, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20121101

Address after: 201620 Shanghai city Songjiang District Guangfulin Road No. 4855, No. 90 in the territory

Patentee after: PHICOMM (SHANGHAI) Co.,Ltd.

Address before: 409 room 7, building 610041, incubator Park, hi tech Zone, Sichuan, Chengdu

Patentee before: IPGoal Microelectronics (Sichuan) Co.,Ltd.

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20180313

Granted publication date: 20101208

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20210313

Granted publication date: 20101208

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20210313

Granted publication date: 20101208

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20240313

Granted publication date: 20101208