CN101425334A - 一种实现nor flash坏块管理的方法及其控制电路 - Google Patents
一种实现nor flash坏块管理的方法及其控制电路 Download PDFInfo
- Publication number
- CN101425334A CN101425334A CNA2007101765072A CN200710176507A CN101425334A CN 101425334 A CN101425334 A CN 101425334A CN A2007101765072 A CNA2007101765072 A CN A2007101765072A CN 200710176507 A CN200710176507 A CN 200710176507A CN 101425334 A CN101425334 A CN 101425334A
- Authority
- CN
- China
- Prior art keywords
- flash
- area
- replacement
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000007726 management method Methods 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 16
- 238000012937 correction Methods 0.000 claims abstract description 13
- 238000013500 data storage Methods 0.000 claims description 6
- 210000000352 storage cell Anatomy 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 230000007547 defect Effects 0.000 claims description 2
- 238000013316 zoning Methods 0.000 abstract 1
- 210000004027 cell Anatomy 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 206010011906 Death Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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的数据存储单元或OTP区,也可以是其他在系统无电源时仍能保持存储数据的非易失性存储器,如EEPROM。
对上述实现NOR FLASH坏块管理方法的控制电路,其结构特点是,它包括分为普通区、常用区和替换区的FLASH。普通区和常用区为系统总线可访问区域,普通区不可被替换。常用区可通过替换区对坏块的逻辑地址进行替换。替换区为常用区的替换备份区。还包括控制FLASH擦替换的擦替换控制单元、系统上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元。所述擦替换控制单元、上电纠错单元相互连接并分别与FLASH接口单元相互连接,FLASH接口单元和索引存储单元、FLASH相互连接。
在上述控制电路中,所述擦替换控制单元包括擦写单元和回读校验单元。擦写单元控制FLASH的写操作和擦操作,回读校验单元用于擦结束回读校验。
在上述控制电路中,所述索引存储单元可以是FLASH的数据存储单元或OTP区,也可以是其他在系统无电源时仍能保持存储数据的非易失性存储器,如EEPROM。
在上述控制电路中,所述索引存储单元被分为Ax和Ay两个存储区域,存取同样的数据。
本发明由于采用了上述的管理方法和与其适应的控制回路,通过对FLASH进行物理上的配置分区,实现FLASH在某一区域产生数据坏块情况下,系统还能对该FLASH区域进行访问。也就是说,在系统软件不做更改,也不对数据进行备份的情况下,本发明实现了坏块的数据备份,也就实现了系统对FLASH访问的高擦写耐力。
下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1为本发明的控制电路结构示意图;
图2为本发明实施例中索引存储单元的分配示意图;
图3为本发明FLASH的擦操作以及替换程序流程图;
图4为本发明的在系统中的应用示例图。
具体实施方式
参看图1,本发明包括分为普通区、常用区和替换区的FLASH。普通区和常用区为系统总线可访问区域,普通区不可被替换。常用区可通过替换区对坏块的逻辑地址进行替换,替换区为常用区的替换备份区。本发明还包括控制FLASH擦替换的擦替换控制单元、系统上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元。擦替换控制单元、上电纠错单元相互连接并分别与FLASH接口单元相互连接,FLASH接口单元和索引存储单元、FLASH相互连接。擦替换控制单元包括擦写单元和回读校验单元,擦写单元控制FLASH的写操作和擦操作,回读校验单元用于擦结束回读校验。索引存储单元可以是FLASH的数据存储单元或OTP区,也可以是其他在系统无电源时仍能保持存储数据的非易失性存储器,如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的数据存储单元或OTP区,也可以是其他在系统无电源时仍能保持存储数据的非易失性存储器,如EEPROM。
6、一种对如权利要求1所述的实现NOR FLASH坏块管理方法的控制电路,其特征在于,它包括分为普通区、常用区和替换区的FLASH,普通区和常用区为系统总线可访问区域,普通区不可被替换,常用区可通过替换区对坏块的逻辑地址进行替换,替换区为常用区的替换备份区;还包括控制FLASH擦替换的擦替换控制单元、系统上电时用来检查并校验写错误的上电纠错单元、索引存储单元以及控制FLASH擦写时序的FLASH接口单元,所述擦替换控制单元、上电纠错单元相互连接并分别与FLASH接口单元相互连接,FLASH接口单元和索引存储单元、FLASH相互连接。
7、如权利要求6所述的控制电路,其特征在于,所述擦替换控制单元包括擦写单元和回读校验单元,擦写单元控制FLASH的写操作和擦操作,回读校验单元用于擦结束回读校验。
8、如权利要求6或7所述的控制电路,其特征在于,所述索引存储单元可以是FLASH的数据存储单元或OTP区,也可以是其他在系统无电源时仍能保持存储数据的非易失性存储器,如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 true CN101425334A (zh) | 2009-05-06 |
CN101425334B 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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455979A (zh) * | 2010-10-18 | 2012-05-16 | 英业达股份有限公司 | 受损存储单元的资料保护方法 |
CN102467422A (zh) * | 2010-11-12 | 2012-05-23 | 英业达股份有限公司 | 受损存储单元的资料保护方法 |
CN102479119A (zh) * | 2010-11-29 | 2012-05-30 | 英业达股份有限公司 | 动态切换存储器模式以保护受损记忆胞数据的方法 |
WO2018103592A1 (zh) * | 2016-12-06 | 2018-06-14 | 华为技术有限公司 | 存储设备中的存储介质管理方法、装置和存储设备 |
CN112542203A (zh) * | 2020-12-31 | 2021-03-23 | 深圳市芯天下技术有限公司 | 非易失性存储器的坏块修复方法、装置、存储介质和终端 |
CN113176970A (zh) * | 2021-06-28 | 2021-07-27 | 中国核动力研究设计院 | 基于FPGA的nor flash坏块管理系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100511478C (zh) * | 2004-06-30 | 2009-07-08 | 深圳市朗科科技股份有限公司 | 对闪存数据的存取进行管理的方法 |
CN1932778A (zh) * | 2006-07-23 | 2007-03-21 | 海信集团有限公司 | 一种对nand flash存储器进行虚拟空间管理的方法 |
-
2007
- 2007-10-30 CN CN2007101765072A patent/CN101425334B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455979A (zh) * | 2010-10-18 | 2012-05-16 | 英业达股份有限公司 | 受损存储单元的资料保护方法 |
CN102467422A (zh) * | 2010-11-12 | 2012-05-23 | 英业达股份有限公司 | 受损存储单元的资料保护方法 |
CN102479119A (zh) * | 2010-11-29 | 2012-05-30 | 英业达股份有限公司 | 动态切换存储器模式以保护受损记忆胞数据的方法 |
WO2018103592A1 (zh) * | 2016-12-06 | 2018-06-14 | 华为技术有限公司 | 存储设备中的存储介质管理方法、装置和存储设备 |
US10901629B2 (en) | 2016-12-06 | 2021-01-26 | Huawei Technologies Co., Ltd. | Method and apparatus for managing health of a storage medium in a storage device |
CN112542203A (zh) * | 2020-12-31 | 2021-03-23 | 深圳市芯天下技术有限公司 | 非易失性存储器的坏块修复方法、装置、存储介质和终端 |
CN113176970A (zh) * | 2021-06-28 | 2021-07-27 | 中国核动力研究设计院 | 基于FPGA的nor flash坏块管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101425334B (zh) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240233816A1 (en) | Lifetime mixed level non-volatile memory system | |
CN101425041B (zh) | 在nand flash存储器上建立fat文件系统的优化方法 | |
US8234466B2 (en) | Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof | |
US8230161B2 (en) | Data backup method for a flash memory and controller and storage system using the same | |
CN101483067B (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
US8086787B2 (en) | Wear leveling method, and storage system and controller using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
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 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN101656104B (zh) | 快闪存储器储存系统及其数据写入方法 | |
CN100533408C (zh) | 一种闪存的安全读写方法 | |
CN103270500A (zh) | 事务日志恢复 | |
JPWO2007119267A1 (ja) | フラッシュメモリ用のメモリコントローラ | |
CN102073600B (zh) | 数据备份方法、闪存控制器及闪存储存系统 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
CN101425334B (zh) | 一种实现nor flash坏块管理的方法及其控制电路 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存系统及其控制器 | |
EP2264602A1 (en) | Memory device for managing the recovery of a non volatile memory | |
US8966161B2 (en) | Memory storage device and restoring method thereof | |
CN113138720B (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN201156432Y (zh) | 一种实现nor 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 | ||
CP03 | Change of name, title or address |
Address after: 100000 106A, Floor 1, B-1, Zhongguancun Dongsheng Science Park, 66 Xixiaokou Road, Haidian District, Northern Territory, Beijing Patentee after: ZIGUANG TONGXIN MICROELECTRONICS CO.,LTD. Country or region after: China Address before: 100083 A, block 2901, Tongfang science and Technology Square, Beijing Patentee before: BEIJING TONGFANG MICROELECTRONICS Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |