CN101425334B - 一种实现nor flash坏块管理的方法及其控制电路 - Google Patents
一种实现nor flash坏块管理的方法及其控制电路 Download PDFInfo
- 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
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
技术领域
本发明涉及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两个存储区域,存取同样的数据。
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)
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)
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存储器进行虚拟空间管理的方法 |
-
2007
- 2007-10-30 CN CN2007101765072A patent/CN101425334B/zh active Active
Patent Citations (2)
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 |