CN111208950B - 一种基于单片机的提升norflash使用周期的方法 - Google Patents
一种基于单片机的提升norflash使用周期的方法 Download PDFInfo
- Publication number
- CN111208950B CN111208950B CN202010041721.2A CN202010041721A CN111208950B CN 111208950 B CN111208950 B CN 111208950B CN 202010041721 A CN202010041721 A CN 202010041721A CN 111208950 B CN111208950 B CN 111208950B
- Authority
- CN
- China
- Prior art keywords
- data
- area
- address
- norflash
- bytes
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种基于单片机的提升NORFLASH使用周期的方法,属于NORFLASH闪存读写技术领域。本发明为了克服现有的单片机读写NORFLASH时存在的空间利用率不高、可靠性不高的问题,将NORFLASH的空间划分为引导区和数据区,每次在数据区写入L字节的数据,均要在引导区记录一个比特位,通过引导区的比特位可以就算出在数据区读取和写入数据的位置,从而可以将NORFLASH的数据区几乎全部填满时再擦除。本发明增加了NORFLASH的空间利用率、提升NORFLASH使用寿命和可靠性。
Description
技术领域
本发明属于NORFLASH闪存技术领域,具体涉及一种基于单片机的提升NORFLASH使用周期的方法。
背景技术
由于单片机本身内存容量小,在实际电路设计中都会外挂一个FLASH芯片,进行数据存储与读取。NORFLASH是市面上主要的闪存之一,NORFLASH支持芯片内执行,应用程序可以直接在闪存上运行。NORFLASH读取速度也更快,所以NORFLASH被广泛使用。但是单片机资源少功能单一,没有文件系统,需要直接将一些固定长度的数据写入固定的地址,对该地址进行反复写入、读取、擦除,而其他地址数据未合理利用。
另外,NORFLASH一般只有10万次的擦写寿命,不适合频繁擦写的场景。对于需要使用NORFLASH且有频繁读写的工程项目,产品长时间运行后数据容易损坏,产品可靠性低。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于单片机的提升NORFLASH使用周期的方法,以克服现有的单片机读写NORFLASH时存在的空间利用率不高、可靠性不高的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种NORFLASH的使用方法,该方法包括将NORFLASH划分为引导区与数据区,通过引导区记录当前数据区待写入数据的地址;将所述引导区划分为3块地址区同时记录地址,所述3块地址区的各个比特位的原始值均为1;数据区每次写入数据均写入长度为L字节的数据,每在数据区写入L字节的数据,在3块地址区均按从左到右的顺序将第一个值为1的比特位设为0。
进一步地,所述引导区起始地址为DY,所述数据区起始地址为DS,所述3块地址区记为地址区A、地址区B和地址区C。
进一步地,所述数据区的总长度为L×N字节,则所述3块地址区中的每一个地址区均需要N比特的空间,假设M字节为包含N比特的最小长度,则所述地址区A地址为DY,所述地址区B地址为DY+M,所述地址区C的地址为DY+2×M。
一种采用NORFLASH的使用方法的基于单片机的提升NORFLASH使用周期的方法,其特征在于,该方法包括如下步骤:
步骤一:读取所述引导区内的所述3块地址区;
步骤二:比对所述3块地址区的数据,若数据相同则转入步骤三;
步骤三:计算得出地址区数据从左到右比特位有n位数据为0,剩余比特位为1;当n大于0时,当前数据区地址为所述数据区的起始地址DS+(n-1)×L,如果要读取数据则转入步骤四,如果要写入新数据则转入步骤五;
步骤四:从地址DS+(n-1)×L,读取长度为L字节的数据,结束流程;
步骤五:判断n是否等于N,如n小于N则转入步骤七,否则转入步骤六;
步骤六:擦除所述引导区与所述数据区的数据,此时n为0,转入步骤七;
步骤七:分别在所述3块地址区的第n+1比特位写入0;
步骤八:在地址为DS+n×L,写入L字节数据,结束流程。
进一步地,所述步骤二还包括:若所述3块地址区的数据不同则选取数据相同的2块地址区数据为正确数据转入步骤三。
进一步地,所述步骤三还包括:当n等于0时,如果要写入新数据则转入步骤七。
(三)有益效果
本发明提供一种基于单片机的提升NORFLASH使用周期的方法,将NORFLASH的空间划分为引导区和数据区,每次在数据区写入L字节的数据,均要在引导区记录一个比特位,通过引导区的比特位可以就算出在数据区读取和写入数据的位置,从而可以将NORFLASH的数据区几乎全部填满时再擦除。由于可以将NORFLASH的数据区几乎全部填满,所以增加了NORFLASH的空间利用率;由于NORFLASH的数据区几乎全部填满时才进行一次擦除,很大程度上减少了擦除的次数,提升NORFLASH使用寿命,可将NORFLASH使用寿命提升N倍,提高了NORFLASH的可靠性。另外,由于将引导区划分为3块地址区同时记录地址,可以对抗外界电磁干扰。
附图说明
图1为本发明的基于单片机的NORFLASH芯片读写方法流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的基于单片机的NORFLASH芯片读写方法,将NORFLASH划分为引导区与数据区,通过引导区记录当前数据区待写入数据的地址。假定引导区起始地址为DY,数据区起始地址为DS。
引导区划分为3块地址区(地址区A、地址区B、地址区C)同时记录地址,以应对外界电磁等干扰损坏地址区数据,地址区的各个比特位的原始值均为1。数据区每次写入数据均写入长度为L字节的数据,每当需要在数据区写入固定长度为L字节的数据时,则在地址区记录地址,每在数据区写入L字节的数据,在地址区记录1比特,记录方法为:在3块地址区(地址区A、地址区B、地址区C)均按从左到右的顺序将第一个值为1的比特位设为0。数据区的总长度为L×N字节,则3块地址区(地址区A、地址区B、地址区C)中的每一个地址区均需要N比特的空间。假设M字节为包含N比特的最小长度,则地址区A地址为DY,地址区B地址为DY+M,地址区C的地址为DY+2×M。
本发明技术方案的流程图如图1所示,本发明提出的FLASH读写方法包括下列步骤:
步骤一:读取引导区内3个地址区。
步骤二:比对地址区A、地址区B、地址区C的数据,若数据相同则继续步骤三。若数据不同则选取数据相同的2个地址区数据为正确数据转入步骤三。
步骤三:计算得出地址数据从左到右比特位有n位数据为0,剩余比特位为1。当n大于0时,当前数据区地址为DS+(n-1)×L,数据长度为L字节,如果要读取数据则转入步骤四,如要写入新数据则转入步骤五;当n等于0时,如要写入新数据则转入步骤五。
步骤四:从地址DS+(n-1)×L,读取长度为L字节的数据,结束流程。
步骤五:判断n是否等于N,如n小于N则转入步骤七,否则转入步骤六。
步骤六:擦除引导区与数据区数据,此时n为0,转入步骤七。
步骤七:分别在地址区A、地址区B、地址区C的第n+1比特位写入0。
步骤八:在地址为DS+n×L,写入L字节数据,结束流程。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (3)
1.一种基于单片机的提升NORFLASH使用周期的方法,其特征在于,
将NORFLASH划分为引导区与数据区,通过引导区记录当前数据区待写入数据的地址;将所述引导区划分为3块地址区同时记录地址,所述3块地址区的各个比特位的原始值均为1;数据区每次写入数据均写入长度为L字节的数据,每在数据区写入L字节的数据,在3块地址区均按从左到右的顺序将第一个值为1的比特位设为0;
所述引导区起始地址为DY,所述数据区起始地址为DS,所述3块地址区记为地址区A、地址区B和地址区C;
所述数据区的总长度为L×N字节,则所述3块地址区中的每一个地址区均需要N比特的空间,假设M字节为包含N比特的最小长度,则所述地址区A地址为DY,所述地址区B地址为DY+M,所述地址区C的地址为DY+2×M;
该方法包括如下步骤:
步骤一:读取所述引导区内的所述3块地址区;
步骤二:比对所述3块地址区的数据,若数据相同则转入步骤三;
步骤三:计算得出地址区数据从左到右比特位有n位数据为0,剩余比特位为1;当n大于0时,当前数据区地址为所述数据区的起始地址DS+(n-1)×L,如果要读取数据则转入步骤四,如果要写入新数据则转入步骤五;
步骤四:从地址DS+(n-1)×L,读取长度为L字节的数据,结束流程;
步骤五:判断n是否等于N,如n小于N则转入步骤七,否则转入步骤六;
步骤六:擦除所述引导区与所述数据区的数据,此时n为0,转入步骤七;
步骤七:分别在所述3块地址区的第n+1比特位写入0;
步骤八:在地址为DS+n×L,写入L字节数据,结束流程。
2.如权利要求1所述的基于单片机的提升NORFLASH使用周期的方法,其特征在于,所述步骤二还包括:若所述3块地址区的数据不同则选取数据相同的2块地址区数据为正确数据转入步骤三。
3.如权利要求1所述的基于单片机的提升NORFLASH使用周期的方法,其特征在于,所述步骤三还包括:当n等于0时,如果要写入新数据则转入步骤七。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010041721.2A CN111208950B (zh) | 2020-01-15 | 2020-01-15 | 一种基于单片机的提升norflash使用周期的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010041721.2A CN111208950B (zh) | 2020-01-15 | 2020-01-15 | 一种基于单片机的提升norflash使用周期的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111208950A CN111208950A (zh) | 2020-05-29 |
CN111208950B true CN111208950B (zh) | 2023-07-14 |
Family
ID=70785401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010041721.2A Active CN111208950B (zh) | 2020-01-15 | 2020-01-15 | 一种基于单片机的提升norflash使用周期的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111208950B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965661A (zh) * | 2021-03-01 | 2021-06-15 | 歌尔科技有限公司 | 数据存储方法、装置、设备及存储介质 |
CN114138177B (zh) * | 2021-09-29 | 2024-07-09 | 成都嘉程智宇信息技术有限公司 | 一种用于提高物联网设备闪存资源利用率的数据存储方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060711A (ko) * | 1999-03-18 | 2000-10-16 | 김영환 | 플래시 메모리의 라이트장치 및 방법 |
CN110658981A (zh) * | 2019-04-19 | 2020-01-07 | 石家庄科林电气股份有限公司 | 一种提高Flash使用寿命的方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0817192A (ja) * | 1994-06-27 | 1996-01-19 | Yaskawa Electric Corp | フラッシュメモリによる位置記憶方法 |
JP4666741B2 (ja) * | 1999-10-18 | 2011-04-06 | パナソニック株式会社 | 情報書換回数管理方法および情報書換回数管理装置ならびに使用回数管理方法および使用回数記憶装置 |
JP2004240660A (ja) * | 2003-02-05 | 2004-08-26 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ装置の制御方法 |
JP2004310268A (ja) * | 2003-04-03 | 2004-11-04 | Nec Micro Systems Ltd | フラッシュメモリ内蔵の半導体装置、フラッシュメモリの制御方法およびそのプログラム |
CN1492447A (zh) * | 2003-09-22 | 2004-04-28 | 中兴通讯股份有限公司 | 一种快闪存储设备的驱动方法 |
JP2005339450A (ja) * | 2004-05-31 | 2005-12-08 | Pentel Corp | フラッシュメモリのデータ管理方式 |
JP2007250101A (ja) * | 2006-03-16 | 2007-09-27 | Fujitsu Ltd | 不揮発性メモリ装置および不揮発性メモリ装置の制御方法 |
JP4785819B2 (ja) * | 2007-11-07 | 2011-10-05 | 株式会社コナミデジタルエンタテインメント | 記憶装置、記憶方法、ならびに、プログラム |
JP2008112455A (ja) * | 2007-11-12 | 2008-05-15 | Renesas Technology Corp | メモリカード |
CN102736981B (zh) * | 2011-04-08 | 2016-02-03 | 航天信息股份有限公司 | 提高nor flash擦写寿命的方法 |
CN102306125B (zh) * | 2011-08-17 | 2016-04-06 | 深圳市共进电子股份有限公司 | 一种flash存储器的数据擦写方法 |
WO2015096698A1 (zh) * | 2013-12-24 | 2015-07-02 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
CN103885889A (zh) * | 2014-03-19 | 2014-06-25 | 广州市泰斗软核信息科技有限公司 | 一种基于nor flash的数据存储方法及系统 |
CN103838526B (zh) * | 2014-03-31 | 2017-12-01 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
CN106502919B (zh) * | 2016-10-11 | 2019-05-31 | 上海东软载波微电子有限公司 | 一种Flash闪存的写操作方法及装置 |
CN107168647B (zh) * | 2017-04-17 | 2020-10-23 | 武汉永力科技股份有限公司 | Flash数据读写方法及系统 |
CN108279852A (zh) * | 2017-12-27 | 2018-07-13 | 浙江恒业电子有限公司 | 用于智能电能表中提高norflash使用寿命的方法 |
CN108319433B (zh) * | 2018-03-19 | 2021-02-02 | 艾体威尔电子技术(北京)有限公司 | 小内存单片机的NOR Flash的存储管理方法 |
CN109343790B (zh) * | 2018-08-06 | 2021-07-13 | 百富计算机技术(深圳)有限公司 | 一种基于nand flash的数据存储方法、终端设备及存储介质 |
-
2020
- 2020-01-15 CN CN202010041721.2A patent/CN111208950B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060711A (ko) * | 1999-03-18 | 2000-10-16 | 김영환 | 플래시 메모리의 라이트장치 및 방법 |
CN110658981A (zh) * | 2019-04-19 | 2020-01-07 | 石家庄科林电气股份有限公司 | 一种提高Flash使用寿命的方法 |
Non-Patent Citations (1)
Title |
---|
基于NORFLASH的大容量数据存储与传输;宋吉伟;常文革;黎向阳;;电子科技(第10期);40-43 * |
Also Published As
Publication number | Publication date |
---|---|
CN111208950A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
EP2306321B1 (en) | Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices | |
US7424593B2 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US6134151A (en) | Space management for managing high capacity nonvolatile memory | |
US6434658B1 (en) | Memory device operable with a small-capacity buffer memory and having a flash memory | |
CN101320594B (zh) | 一种闪存芯片的物理操作方法 | |
CN107423231B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
CN111208950B (zh) | 一种基于单片机的提升norflash使用周期的方法 | |
KR100282679B1 (ko) | 반도체메모리 및 정보기억장치 | |
CN111061649B (zh) | 一种存储器的存储空间自适应分配方法 | |
WO2010076600A1 (en) | Enhanced addressability for serial non-volatile memory | |
CN107861884B (zh) | 一种提高nand闪存中跨页存储地址映射效率的方法 | |
CN114546292A (zh) | 一种nand flash坏块管理方法及系统 | |
US10290346B2 (en) | Method and apparatus for low-latency read of flash storage devices using fractional bits per cell | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN117012266A (zh) | 基于emmc的性能测试方法、装置及其存储介质 | |
CN115878033A (zh) | 一种固态硬盘及其映射表管理方法 | |
JP2001250386A (ja) | 半導体メモリ | |
CN115525605A (zh) | 一种文件系统的传输系统、方法 | |
CN114328297A (zh) | 映射表管理方法、存储器控制电路单元与存储器存储装置 | |
CN113885791A (zh) | Flash存储器的数据写入方法、读取方法和装置 | |
CN109411000A (zh) | 一种固态存储器的控制方法、固态存储器及存储介质 | |
CN113655950A (zh) | 一种应用于电子远传水表的eeprom擦写平衡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |