CN101118517A - 一种基于nor flash芯片的数据存储实现方法 - Google Patents
一种基于nor flash芯片的数据存储实现方法 Download PDFInfo
- Publication number
- CN101118517A CN101118517A CNA2007101202392A CN200710120239A CN101118517A CN 101118517 A CN101118517 A CN 101118517A CN A2007101202392 A CNA2007101202392 A CN A2007101202392A CN 200710120239 A CN200710120239 A CN 200710120239A CN 101118517 A CN101118517 A CN 101118517A
- Authority
- CN
- China
- Prior art keywords
- flash
- data
- write
- piece
- need
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了属于FLASH存储技术领域的一种基于NOR FLASH芯片的数据存储实现方法。该方法是通过建立FLASH块表和内存数据映射表,标记需要写入的FLASH块,定时将修改过的数据写入FLASH。本发明减少了NOR FLASH的擦除、写入操作次数,有效的提高了NOR FLASH芯片保存数据的效率;提高了数据存储的安全性和可靠性,也延长了NOR FLASH芯片的使用寿命。
Description
技术领域
本发明涉及FLASH存储技术领域,尤其涉及一种基于NORFLASH芯片的数据存储实现方法。
背景技术
随着电子技术的发展,NOR FLASH芯片作为一种存储器在嵌入式系统中得到了越来越广泛的应用。NOR FLASH芯片具有可靠性高、体积小、密度大、可擦除、可重写等优点。因此在嵌入式系统设备中,NOR FLASH主要用于存储系统的运行程序和保障程序可靠运行的配置数据。
NOR FLASH芯片可以进行读写和擦除操作,通常以字为单位写入,以块为单位擦除;在进行写入操作前,必须先进行擦除操作。
NOR FLASH芯片的缺点是擦除、写入的次数有限,因此频繁的进行擦除、写入操作,不利于NOR FLASH芯片的长期使用。
发明内容
鉴于上述NOR FLASH芯片的不足之处,本发明的目的是提供一种基于NOR FLASH芯片的数据存储实现方法,本发明的目的是这样实现的:通过建立FLASH块表和内存数据映射表,标记需要写入的FLASH块,定时将修改过的数据写入FLASH,实现步骤如下:
1)FLASH的初始化:建立FLASH块表和内存数据映射表;
①系统加电启动时,检测所使用的FLASH芯片类型;
②根据FLASH芯片的块大小和块数量,建立FLASH块表;
③设置FLASH块表中各项的值:设置块大小和起始地址,其中写入标志置为0-表示无需写入;坏块标志置为0-表示好块;
④根据需存储在FLASH中的数据的大小,在系统内存中建立FLASH数据映射区;
2)配置数据的修改过程:修改数据映射表中的数据,标记需要写入的FLASH块;
①系统修改配置数据时,将修改的数据保存在FLASH数据映射区;
②计算修改数据在FLASH数据映射区的偏移量;
③根据修改数据的偏移量和大小,计算需要写入的FLASH块;
④设置需要写入的FLASH块的写入标志为1-表示需要写入;
3)配置数据的写入过程:系统定时扫描需要写入的FLASH块,系统重新启动前强制写FLASH块;
①系统加电启动完毕后,启动FLASH写操作定时器;
②FLASH写操作定时到后,扫描FLASH块表;
③如果FLASH块的写入标志为1,根据FLASH块号,计算出需要写入数据的数据映射区地址;
④擦除需写入的FLASH块,根据块大小写入新的数据;
⑤设置已写入的FLASH块的写入标志为0;
⑥扫描完FLASH块表后,重新启动FLASH写操作定时器。
⑦当系统执行重启动操作前,强制扫描FLASH块表,将需要写入的数据写入FLASH;
4)出现FLASH写入错误或检测FLASH出错时,自动标记FLASH坏块:
在执行FLASH写入操作时,如果出现错误,或检测到FLASH出错,标记此FLASH块为坏块,将坏块标志设置为1。
所述FLASH块表包含块号、块大小、起始地址、写入标志和坏块标志。
所述内存数据映射表和FLASH中的数据有一一对应关系。
所述定时将修改过的数据写入FLASH是指系统定时对标记写入的FLASH块执行擦除、写入操作,并修改写入标志。
本发明的有益效果:由上述方案可以得知,本发明通过建立FLASH块表,标记需要写入的数据块,减少了NOR FLASH的擦除、写入操作次数,有效的提高了NOR FLASH芯片保存数据的效率;通过标记坏块和定时写入,提高了数据存储的安全性和可靠性,也延长了NOR FLASH芯片的使用寿命。
附图说明
图1为FLASH块表结构示意图;
图2为FLASH初始化流程图;
图3为数据修改流程图;
图4为数据定时写入流程图。
具体实施方式
本发明提供一种基于NOR FLASH芯片的数据存储实现方法。具体步骤结合图2、图3、图4叙述如下:
A)FLASH的初始化过程:(如图2所示)
(1)系统加电启动时,检测所使用的FLASH芯片类型;
(2)根据FLASH芯片的块大小和块数量,建立FLASH块表,如图1;
(3)设置FLASH块表中各项的值:设置块大小和起始地址,写入标志置为0(表示无需写入),坏块标志置为0(表示好块);
(4)根据需存储在FLASH中的数据的大小,在系统内存中建立FLASH数据映射区。
B)配置数据的修改过程:(如图3所示)
(1)系统修改配置数据时,将修改的数据保存在FLASH数据映射区;
(2)计算修改数据在FLASH数据映射区的偏移量;
(3)根据修改数据的偏移量和大小,计算需要写入的FLASH块;
(4)设置需要写入的FLASH块的写入标志为1(表示需要写入)。
C)配置数据的写入过程:(如图4所示)
(1)系统加电启动完毕后,启动FLASH写操作定时器(具体值可根据系统的使用情况设置);
(2)FLASH写操作定时到后,扫描FLASH块表;
(3)如果FLASH块的写入标志为1,根据FLASH块号,计算出需要写入数据的数据映射区地址;
(4)擦除需写入的FLASH块,根据块大小写入新的数据;
(5)设置已写入的FLASH块的写入标志为0;
(6)扫描完FLASH块表后,重新启动FLASH写操作定时器。
(8)当系统执行重启动操作前,强制扫描FLASH块表,将需要写入的数据写入FLASH。
D)在执行FLASH写入操作时,如果出现错误,或检测到FLASH出错,标记此FLASH块为坏块,将坏块标志设置为1。
通过上述实施例完整的说明了基于NOR FLASH芯片的数据存储的实现方法。以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于NOR FLASH芯片的数据存储实现方法,其特征在于,通过建立FLASH块表和内存数据映射表,标记需要写入的FLASH块,定时将修改过的数据写入FLASH,实现步骤如下:
1)FLASH的初始化:建立FLASH块表和内存数据映射表;
①系统加电启动时,检测所使用的FLASH芯片类型;
②根据FLASH芯片的块大小和块数量,建立FLASH块表;
③设置FLASH块表中各项的值:设置块大小和起始地址,其中写入标志置为0-表示无需写入;坏块标志置为0-表示好块;
④根据需存储在FLASH中的数据的大小,在系统内存中建立FLASH数据映射区;
2)配置数据的修改过程:修改数据映射表中的数据,标记需要写入的FLASH块;
①系统修改配置数据时,将修改的数据保存在FLASH数据映射区;
②计算修改数据在FLASH数据映射区的偏移量;
③根据修改数据的偏移量和大小,计算需要写入的FLASH块;
④设置需要写入的FLASH块的写入标志为1-表示需要写入;
3)配置数据的写入过程:系统定时扫描需要写入的FLASH块,系统重新启动前强制写FLASH块;
①系统加电启动完毕后,启动FLASH写操作定时器;
②FLASH写操作定时到后,扫描FLASH块表;
③如果FLASH块的写入标志为1,根据FLASH块号,计算出需要写入数据的数据映射区地址;
④擦除需写入的FLASH块,根据块大小写入新的数据;
⑤设置已写入的FLASH块的写入标志为0;
⑥扫描完FLASH块表后,重新启动FLASH写操作定时器。
⑦当系统执行重启动操作前,强制扫描FLASH块表,将需要写入的数据写入FLASH;
4)出现FLASH写入错误或检测FLASH出错时,自动标记FLASH坏块:
在执行FLASH写入操作时,如果出现错误,或检测到FLASH出错,标记此FLASH块为坏块,将坏块标志设置为1。
2.根据权利要求1所述的一种基于NOR FLASH芯片的数据存储实现方法,其特征在于:所述FLASH块表包含块号、块大小、起始地址、写入标志和坏块标志。
3.根据权利要求1所述的一种基于NOR FLASH芯片的数据存储实现方法,其特征在于:所述内存数据映射表和FLASH中的数据有一一对应关系。
4.根据权利要求1所述的一种基于NOR FLASH芯片的数据存储实现方法,其特征在于:所述定时将修改过的数据写入FLASH是指系统定时对标记写入的FLASH块执行擦除、写入操作,并修改写入标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101202392A CN100476758C (zh) | 2007-08-14 | 2007-08-14 | 一种基于nor flash芯片的数据存储实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101202392A CN100476758C (zh) | 2007-08-14 | 2007-08-14 | 一种基于nor flash芯片的数据存储实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101118517A true CN101118517A (zh) | 2008-02-06 |
CN100476758C CN100476758C (zh) | 2009-04-08 |
Family
ID=39054644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101202392A Expired - Fee Related CN100476758C (zh) | 2007-08-14 | 2007-08-14 | 一种基于nor flash芯片的数据存储实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100476758C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541777A (zh) * | 2010-12-13 | 2012-07-04 | 深圳市硅格半导体有限公司 | 基于DMA映射的Flash数据传输控制方法及装置 |
CN102609331A (zh) * | 2012-01-19 | 2012-07-25 | 苏州希图视鼎微电子有限公司 | Nand闪存的装载代码的文件格式 |
CN101710237B (zh) * | 2008-12-30 | 2012-10-24 | 深圳市江波龙电子有限公司 | 以闪存为存储介质的设备生产流程 |
CN104216791A (zh) * | 2013-05-30 | 2014-12-17 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN104598794A (zh) * | 2015-01-21 | 2015-05-06 | 北京天诚盛业科技有限公司 | 虹膜信息快速处理的方法、装置和系统 |
CN106415505A (zh) * | 2014-06-19 | 2017-02-15 | 株式会社电装 | 存储装置、闪存存储器控制装置以及程序 |
CN106844116A (zh) * | 2016-12-23 | 2017-06-13 | 惠州市蓝微电子有限公司 | 一种实现ic烧录校准校验测试的方法和设备 |
CN107077886A (zh) * | 2014-01-17 | 2017-08-18 | 加州理工学院 | 使用极性码的不对称纠错和闪速存储器重写 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063186B (zh) * | 2014-06-30 | 2016-04-06 | 成都万维图新信息技术有限公司 | 一种电子设备的数据访问方法 |
-
2007
- 2007-08-14 CN CNB2007101202392A patent/CN100476758C/zh not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710237B (zh) * | 2008-12-30 | 2012-10-24 | 深圳市江波龙电子有限公司 | 以闪存为存储介质的设备生产流程 |
CN102541777A (zh) * | 2010-12-13 | 2012-07-04 | 深圳市硅格半导体有限公司 | 基于DMA映射的Flash数据传输控制方法及装置 |
CN102541777B (zh) * | 2010-12-13 | 2015-08-19 | 深圳市硅格半导体有限公司 | 基于DMA映射的Flash数据传输控制方法及装置 |
CN102609331A (zh) * | 2012-01-19 | 2012-07-25 | 苏州希图视鼎微电子有限公司 | Nand闪存的装载代码的文件格式 |
CN104216791A (zh) * | 2013-05-30 | 2014-12-17 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN104216791B (zh) * | 2013-05-30 | 2018-05-01 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN107077886A (zh) * | 2014-01-17 | 2017-08-18 | 加州理工学院 | 使用极性码的不对称纠错和闪速存储器重写 |
CN106415505A (zh) * | 2014-06-19 | 2017-02-15 | 株式会社电装 | 存储装置、闪存存储器控制装置以及程序 |
CN106415505B (zh) * | 2014-06-19 | 2019-06-18 | 株式会社电装 | 存储装置和闪存存储器控制装置 |
CN104598794A (zh) * | 2015-01-21 | 2015-05-06 | 北京天诚盛业科技有限公司 | 虹膜信息快速处理的方法、装置和系统 |
CN104598794B (zh) * | 2015-01-21 | 2017-12-26 | 北京天诚盛业科技有限公司 | 虹膜信息快速处理的方法、装置和系统 |
CN106844116A (zh) * | 2016-12-23 | 2017-06-13 | 惠州市蓝微电子有限公司 | 一种实现ic烧录校准校验测试的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100476758C (zh) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100476758C (zh) | 一种基于nor flash芯片的数据存储实现方法 | |
CN101763295B (zh) | 一种数据备份、备份项擦除及数据恢复方法和装置 | |
CN105740157B (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN101300554B (zh) | 非易失性存储器故障的恢复 | |
CN101937319B (zh) | 存储器系统及其映射方法 | |
CN102737715B (zh) | 用于nor闪存的数据掉电保护方法 | |
US7797479B2 (en) | Technique to write to a non-volatile memory | |
CN100356347C (zh) | 闪存的安全写入方法 | |
US20150186261A1 (en) | Data storage device and flash memory control method | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件系统 | |
CN103577121A (zh) | 一种基于nand flash的高可靠线性文件存取方法 | |
CN104360958A (zh) | 基于块保留区替换的坏块管理系统及管理方法 | |
CN1936853B (zh) | 嵌入式设备的数据掉电保护和修复方法 | |
TWI331337B (zh) | ||
CN100501868C (zh) | 基于NAND Flash存储器文件系统的实现方法 | |
CN102306125A (zh) | 一种flash存储器的数据擦写方法 | |
CN101656106A (zh) | 一种向eeprom写入数据的方法及装置 | |
CN102890620A (zh) | 非易失性临时数据处理 | |
CN101699476B (zh) | 智能卡的数据处理方法及装置 | |
CN103617101A (zh) | 一种掉电保护方法及装置 | |
CN101901189A (zh) | 更新用户数据的方法以及恢复用户数据的方法 | |
TW201411343A (zh) | 資料儲存裝置與快閃記憶體控制方法 | |
JP2006350430A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
CN101419571A (zh) | 基于Hash算法的在NOR FLASH中存储配置参数的方法 | |
CN106598493A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20140814 |
|
EXPY | Termination of patent right or utility model |