CN101425334B - 一种实现nor flash坏块管理的方法及其控制电路 - Google Patents

一种实现nor flash坏块管理的方法及其控制电路 Download PDF

Info

Publication number
CN101425334B
CN101425334B CN2007101765072A CN200710176507A CN101425334B CN 101425334 B CN101425334 B CN 101425334B CN 2007101765072 A CN2007101765072 A CN 2007101765072A CN 200710176507 A CN200710176507 A CN 200710176507A CN 101425334 B CN101425334 B CN 101425334B
Authority
CN
China
Prior art keywords
flash
replacement
area
commonly
unit
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.)
Active
Application number
CN2007101765072A
Other languages
English (en)
Other versions
CN101425334A (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.)
Beijing Tongfang Microelectronics Co Ltd
Original Assignee
Beijing Tongfang Microelectronics 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 Beijing Tongfang Microelectronics Co Ltd filed Critical Beijing Tongfang Microelectronics Co Ltd
Priority to CN2007101765072A priority Critical patent/CN101425334B/zh
Publication of CN101425334A publication Critical patent/CN101425334A/zh
Application granted granted Critical
Publication of CN101425334B publication Critical patent/CN101425334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种实现NOR FLASH坏块管理的方法及其控制电路,涉及FLASH闪存技术领域。本发明控制电路包括分为普通区、常用区和替换区的FLASH。普通区和常用区为***总线可访问区域,普通区不可被替换。常用区可通过替换区对坏块的逻辑地址进行替换。替换区为常用区的替换备份区。本发明控制电路还包括控制FLASH擦替换的擦替换控制单元、***上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元。同现有技术相比,本发明通过对FLASH进行物理上的配置分区,对坏块进行记录和擦写替换以及上电纠错,实现***逻辑地址访问NOR FLASH时,有不同擦写耐力。

Description

一种实现NOR FLASH坏块管理的方法及其控制电路
技术领域
本发明涉及FLASH闪存技术领域,特别是一种用于嵌入式***或FLASH坏块进行管理的方法及其控制电路。
背景技术
FLASH又叫闪存,是非易失存储器,以页(SECTOR)或块(BLOCK)为单位对存储器单元进行擦写和再编程。任何FLASH器件的写入操作只能在空或已擦除的单元内进行,大多数情况下,在进行写入操作之前必须先执行擦除。
NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR FLASH技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND FLASH结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。
NOR的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在FLASH闪存内运行,不必再把代码读到***RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于FLASH的管理和需要特殊的***接口。
NOR FLASH主要应用在代码存储介质中,占据了容量为1~16MB闪存市场的大部分,而NAND FLASH主要用在更大容量的产品当中。NOR的擦写次数是十万次,应付一般的应用足以。但在很多应用中,往往有部分数据需要常常更新维护,这部分数据就需要频繁擦写,它要求比十万次更高的擦写耐力,而用软件来实现坏的数据块的管理和更新备份会很烦琐,也会占用大量***执行时间。
发明内容
针对上述现有技术中存在的不足,本发明的目的是提供一种实现NOR FLASH坏块管理的方法及其控制电路。它通过对FLASH进行物理上的配置分区,对坏块进行记录和擦写替换以及上电纠错,实现***逻辑地址访问NOR FLASH时,有不同擦写耐力。
为了实现上述发明的目的,本发明的技术方案以如下方式实现:
一种实现NOR FLASH坏块管理的方法,将FLASH分为普通区、常用区和替换区,其主要步骤为:
①***上电时,上电纠错单元检查索引存储单元信息,如有损坏,校验索引存储单元的错误信息并对其进行纠正;
②***访问NOR FLASH普通区时,如出现坏块不做替换;当***对常用区进行擦动作发现有坏块时,擦替换控制单元通过FLASH接口单元在索引存储单元的信息里找到替换区已被替换的地址索引的最大值,然后改写索引存储单元;
③***访问常用区坏块地址时,控制电路将通过索引存储单元自动找到替换区的替换数据块。
在上述实现NOR FLASH坏块管理的方法中,所述索引存储单元被分为Ax和Ay两个存储区域,存取同样的数据;***上电时依次扫描两个存储区域中对应单元的值,如果发现两者的值不相等,则记录此Ax和Ay单元的位置,待扫描完Ax和Ay,找到了当前已使用过的替换区的最大地址,再将该最大值加1的地址索引值改写入相应的Ax和Ay对应单元达到纠错的目的。
在上述实现NOR FLASH坏块管理的方法中,所述索引存储单元用一个或多个字节,对应一个常用区的数据块地址,每个字节存储对应常用区数据块是否已被替换的信息,以及对应的替换区的地址信息。
在上述实现NOR FLASH坏块管理的方法中,所述替换区的数据块逻辑地址对应于索引存储单元里的数据,替换区的物理地址为替换区基地址加上索引数据。
在上述实现NOR FLASH坏块管理的方法中,所述索引存储单元可以是FLASH的数据存储单元或一次编程区,也可以是其他在***无电源时仍能保持存储数据的非易失性存储器,如EEPROM。
对上述实现NOR FLASH坏块管理方法的控制电路,其结构特点是,它包括分为普通区、常用区和替换区的FLASH。普通区和常用区为***总线可访问区域,普通区不可被替换。常用区可通过替换区对坏块的逻辑地址进行替换。替换区为常用区的替换备份区。控制电路还包括控制FLASH擦替换的擦替换控制单元、***上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元。所述擦替换控制单元、上电纠错单元相互连接并分别与FLASH接口单元相互连接,FLASH接口单元和索引存储单元、FLASH相互连接。
在上述控制电路中,所述擦替换控制单元包括擦写单元和回读校验单元。擦写单元控制FLASH的写操作和擦操作,回读校验单元用于擦结束回读校验。
在上述控制电路中,所述索引存储单元可以是FLASH的数据存储单元或一次编程区,也可以是其他在***无电源时仍能保持存储数据的非易失性存储器,如EEPROM。
在上述控制电路中,所述索引存储单元被分为Ax和Ay两个存储区域,存取同样的数据。
本发明由于采用了上述的管理方法和与其适应的控制回路,通过对FLASH进行物理上的配置分区,实现FLASH在某一区域产生数据坏块情况下,***还能对该FLASH区域进行访问。也就是说,在***软件不做更改,也不对数据进行备份的情况下,本发明实现了坏块的数据备份,也就实现了***对FLASH访问的高擦写耐力。
下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1为本发明的控制电路结构示意图;
图2为本发明实施例中索引存储单元的分配示意图;
图3为本发明FLASH的擦操作以及替换程序流程图;
图4为本发明的在***中的应用示例图。
具体实施方式
参看图1,本发明包括分为普通区、常用区和替换区的FLASH。普通区和常用区为***总线可访问区域,普通区不可被替换。常用区可通过替换区对坏块的逻辑地址进行替换,替换区为常用区的替换备份区。本发明还包括控制FLASH擦替换的擦替换控制单元、***上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元。擦替换控制单元、上电纠错单元相互连接并分别与FLASH接口单元相互连接,FLASH接口单元和索引存储单元、FLASH相互连接。擦替换控制单元包括擦写单元和回读校验单元,擦写单元控制FLASH的写操作和擦操作,回读校验单元用于擦结束回读校验。索引存储单元可以是FLASH的数据存储单元或一次编程区,也可以是其他在***无电源时仍能保持存储数据的非易失性存储器,如EEPROM。索引存储单元被分为Ax和Ay两个存储区域,存取同样的数据。
参看图2,本发明使用时,假设常用区有128个数据块,并且常用区数据最多可被替换2次,则Ax区和Ay区分别为256字节,Ax就有Ax0~Ax127。每个Ax的位置就代表一个常用区地址,这个地址是相对于常用区的起始地址而言。每个Ax对应两个字节,每个字节的数据代表每一次替换的信息。每一个字节的定义为,bit[6:0]指的替换区数据块的索引地址,这个地址是相对于替换区的起始地址而言,实际访问替换区的地址是替换区起始地址加上此索引地址;bit[7]指的是常用区是否已经被替换,定义如果没被替换此位为1,已被替换此位为0。
参看图3,FLASH的擦操作及替换程序流程的方法步骤为:
***开始工作,当访问NOR FLASH普通区时,如出现坏块不做替换。***对常用区进行擦动作时,当常用区地址为0的数据块擦寿命第一次耗尽时,即经回读检查发现为坏块,会找到Ax区的Ax0位置。先查看第一个字节,第一个字节的内容为FF。擦替换控制单元通过FLASH接口单元在索引存储单元的信息里找到替换区已被替换的地址索引的最大值,然后将该最大值加1的地址索引值写入Ax0的第一个字节。此后,当***访问常用区第一个数据块时,***逻辑地址访问的还是常用区第一个数据块,但其物理地址将访问Ax0中第一个字节所指向的替换区的地址。
当常用区地址为0的数据块擦寿命第二次耗尽时,会找到Ax0位置。先查看第一个字节,第一个字节的内容已经改写,于是查看第二个字节。擦替换控制单元通过FLASH接口单元在索引存储单元的信息里找到替换区已被替换的地址索引的最大值,然后将该最大值加1的地址索引值写入Ax0的第二个字节。此后,当***访问常用区地址为0的数据块时,***逻辑地址访问的还是常用区地址为0的数据块,但其物理地址将访问Ax0中第二个字节所代表的替换区的地址。
这样就实现了常用区寿命结束被替换区所替换的功能,其他数据块以此类推。
图4为本发明在***中的应用示例图,***中的Cpu通过本发明控制电路访问NOR FLASH。Cpu将地址和控制信号经控制电路传达到NOR FLASH,并经控制电路与NOR FLASH进行数据交换。

Claims (9)

1.一种实现NOR FLASH坏块管理的方法,将FLASH分为普通区、常用区和替换区,其主要步骤为:
①***上电时,上电纠错单元检查索引存储单元信息,如有损坏,校验索引存储单元的错误信息并对其进行纠正;
②***访问NOR FLASH普通区时,如出现坏块不做替换;当***对常用区进行擦动作发现有坏块时,擦替换控制单元通过FLASH接口单元在索引存储单元的信息里找到替换区已被替换的地址索引的最大值,然后改写索引存储单元;
③***访问常用区坏块地址时,控制电路将通过索引存储单元自动找到替换区的替换数据块。
2.如权利要求1所述的实现NOR FLASH坏块管理的方法,其特征在于,所述索引存储单元被分为Ax和Ay两个存储区域,存取同样的数据;***上电时依次扫描两个存储区域中对应单元的值,如果发现两者的值不相等,则记录此Ax和Ay单元的位置,待扫描完Ax和Ay,找到了当前已使用过的替换区的最大地址,再将该最大值加1的地址索引值改写入相应的Ax和Ay对应单元达到纠错的目的。
3.如权利要求1或2所述的实现NOR FLASH坏块管理的方法,其特征在于,所述索引存储单元用一个或多个字节,对应一个常用区的数据块地址,每个字节存储对应常用区数据块是否已被替换的信息,以及对应的替换区的地址信息。
4.如权利要求3所述的实现NOR FLASH坏块管理的方法,其特征在于,所述替换区的数据块逻辑地址对应于索引存储单元里的数据,替换区的物理地址为替换区基地址加上索引数据。
5.如权利要求4所述的实现NOR FLASH芯片坏块管理的方法,其特征在于,所述索引存储单元可以是FLASH的数据存储单元或一次编程区,也可以是其他在***无电源时仍能保持存储数据的非易失性存储器EEPROM。
6.一种对如权利要求1所述的实现NOR FLASH坏块管理方法的控制电路,其特征在于,它包括分为普通区、常用区和替换区的FLASH,普通区和常用区为***总线可访问区域,普通区不可被替换,常用区可通过替换区对坏块的逻辑地址进行替换,替换区为常用区的替换备份区;控制电路还包括控制FLASH擦替换的擦替换控制单元、***上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元,所述擦替换控制单元、上电纠错单元相互连接并分别与FLASH接口单元相互连接,FLASH接口单元和索引存储单元、FLASH相互连接。
7.如权利要求6所述的控制电路,其特征在于,所述擦替换控制单元包括擦写单元和回读校验单元,擦写单元控制FLASH的写操作和擦操作,回读校验单元用于擦结束回读校验。
8.如权利要求6或7所述的控制电路,其特征在于,所述索引存储单元可以是FLASH的数据存储单元或一次编程区,也可以是其他在***无电源时仍能保持存储数据的非易失性存储器EEPROM。
9.如权利要求8所述的控制电路,其特征在于,所述索引存储单元被分为Ax和Ay两个存储区域,存取同样的数据。
CN2007101765072A 2007-10-30 2007-10-30 一种实现nor flash坏块管理的方法及其控制电路 Active CN101425334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101765072A CN101425334B (zh) 2007-10-30 2007-10-30 一种实现nor flash坏块管理的方法及其控制电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101765072A CN101425334B (zh) 2007-10-30 2007-10-30 一种实现nor flash坏块管理的方法及其控制电路

Publications (2)

Publication Number Publication Date
CN101425334A CN101425334A (zh) 2009-05-06
CN101425334B true CN101425334B (zh) 2012-02-15

Family

ID=40615876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101765072A Active CN101425334B (zh) 2007-10-30 2007-10-30 一种实现nor flash坏块管理的方法及其控制电路

Country Status (1)

Country Link
CN (1) CN101425334B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455979B (zh) * 2010-10-18 2014-08-20 英业达股份有限公司 受损存储单元的资料保护方法
CN102467422A (zh) * 2010-11-12 2012-05-23 英业达股份有限公司 受损存储单元的资料保护方法
CN102479119A (zh) * 2010-11-29 2012-05-30 英业达股份有限公司 动态切换存储器模式以保护受损记忆胞数据的方法
CN108170366A (zh) 2016-12-06 2018-06-15 华为技术有限公司 存储设备中的存储介质管理方法、装置和存储设备
CN112542203A (zh) * 2020-12-31 2021-03-23 深圳市芯天下技术有限公司 非易失性存储器的坏块修复方法、装置、存储介质和终端
CN113176970B (zh) * 2021-06-28 2021-10-22 中国核动力研究设计院 基于FPGA的nor flash坏块管理***及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716450A (zh) * 2004-06-30 2006-01-04 深圳市朗科科技有限公司 对闪存数据的存取进行管理的方法
CN1932778A (zh) * 2006-07-23 2007-03-21 海信集团有限公司 一种对nand flash存储器进行虚拟空间管理的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716450A (zh) * 2004-06-30 2006-01-04 深圳市朗科科技有限公司 对闪存数据的存取进行管理的方法
CN1932778A (zh) * 2006-07-23 2007-03-21 海信集团有限公司 一种对nand flash存储器进行虚拟空间管理的方法

Also Published As

Publication number Publication date
CN101425334A (zh) 2009-05-06

Similar Documents

Publication Publication Date Title
US8234466B2 (en) Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof
CN101425041B (zh) 在nand flash存储器上建立fat文件***的优化方法
US8250286B2 (en) Block management method, and storage system and controller using the same
CN100487672C (zh) 用于分割一逻辑块的方法及设备
US20060288153A1 (en) Storage system using flash memory
US20130311709A1 (en) Methods and apparatus for reallocating addressable spaces within memory devices
US20100161885A1 (en) Semiconductor storage device and storage controlling method
CN108932107B (zh) 数据存储装置及其操作方法
CN101625897B (zh) 用于快闪存储器的数据写入方法、储存***与控制器
CN101425334B (zh) 一种实现nor flash坏块管理的方法及其控制电路
US11086772B2 (en) Memory system performing garbage collection operation and operating method of memory system
JPWO2007119267A1 (ja) フラッシュメモリ用のメモリコントローラ
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
CN102073600B (zh) 数据备份方法、闪存控制器及闪存储存***
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN101556555A (zh) 用于闪存的区块管理方法、其控制器与储存***
US10877853B2 (en) Data storage device and operation method optimized for recovery performance, and storage system having the same
CN101727397B (zh) 区块管理与更换方法、闪存储存***及其控制器
US8966161B2 (en) Memory storage device and restoring method thereof
EP2264602A1 (en) Memory device for managing the recovery of a non volatile memory
CN201156432Y (zh) 一种实现nor flash坏块管理的控制电路
CN101957799B (zh) 用于闪速存储器的数据写入方法及其控制电路与存储***
CN101661432B (zh) 闪存区块管理方法、闪存储存***及控制器
CN103377132A (zh) 管理存储器空间的方法、存储器控制器与存储器储存装置
CN110633056B (zh) 在操作***层面的Flash芯片的页面管理方法及存储设备

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