CN110262980B - 基于有限寿命存储介质的高速存储系统 - Google Patents
基于有限寿命存储介质的高速存储系统 Download PDFInfo
- Publication number
- CN110262980B CN110262980B CN201910519496.6A CN201910519496A CN110262980B CN 110262980 B CN110262980 B CN 110262980B CN 201910519496 A CN201910519496 A CN 201910519496A CN 110262980 B CN110262980 B CN 110262980B
- Authority
- CN
- China
- Prior art keywords
- data
- life
- information table
- address information
- memory card
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种基于有限寿命存储介质的高速存储系统,该系统的存储卡包括0扇区、索引区和至少一个数据区;每次存储操作时,控制器首先读取0扇区内存储的索引区地址信息,然后跳转到索引区读取地址信息表存放的上一次存储操作的文件目录结束地址标志和数据结束地址标志;再跳转到本次存储操作的文件目录起始地址和数据起始地址,继续存储文件目录和数据;本次存储操作结束后更新文件目录结束地址标志数据结束地址标志;存储卡每写满一次存储卡寿命计数器的计数值加1,存储卡寿命计数器的计数值反馈到控制器。本发明能够避免索引区和数据区发生某块损坏导致数据无法正确存储。
Description
技术领域:
本发明属于高速存储技术领域,涉及一种基于有限寿命存储介质的高速存储系统。
背景技术:
便携式存储卡如Micro SD卡和TF卡是基于NAND Flash储存芯片实现高速大容量存储,因其功耗低体积小数据吞吐率高等特点近年来在数据存储领域得到了广泛的应用。但是NAND Flash存储单元天生存在坏块问题,且存在一定的读写生命周期,当数据写入比较频繁时(尤其是日志文件,磁盘缓存目录等),写入次数可能会超过存储卡的存储介质NAND FLASH某块的最大写入擦除次数即超过存储单元寿命次数限制,从而导致NAND FLASH某块损坏,进而导致整个存储文件的失效。所以对于应用NAND Flash存储介质的系统来说存储寿命不得不考虑在内。
现有的应用较广泛的存储方法是应用FATFS文件系统在微控制器平台进行数据存储操作,FATFS采用链式存储机制,写入数据前寻址每一个空数据簇,写入数据后继续寻址,并将该簇逻辑地址写入FAT表中。链式存储的优点在于方便数据插入及删除操作,缺点是容易频繁擦除某物理扇区,使其产生坏块。
发明内容:
本发明要解决的技术问题是提供一种基于有限寿命存储介质的高速存储系统,该系统可以连续存储,并且考量存储卡是否可以继续进行可靠存储。
为了解决上述技术问题,本发明的基于有限寿命存储介质的高速存储系统包括控制器和存储卡;所述的存储卡包括0扇区、索引区和至少一个数据区;0扇区内存储索引区地址信息;索引区存放有配置信息表、文件目录表、地址信息表和存储卡寿命计数器;配置信息表内存放各数据区的开始地址和结束地址;文件目录表内存放数据区内各文件目录及其地址信息;地址信息表存放上一次存储操作的文件目录结束地址标志和数据结束地址标志;每一次存储操作时,控制器首先读取0扇区内存储的索引区地址信息,然后跳转到索引区读取地址信息表存放的上一次存储操作的文件目录结束地址标志和数据结束地址标志;再跳转到本次存储操作的文件目录存储起始地址和数据存储起始地址,在文件目录表继续存储文件目录,同时在数据区继续存储数据;本次存储操作结束后,根据本次写入的文件目录的条数更新文件目录结束地址标志,同时根据写入的数据长度更新数据区本次存储操作的结束地址标志;存储卡每写满一次存储卡寿命计数器的计数值加1,存储卡寿命计数器的计数值反馈到控制器。
所述的索引区内还可以存储地址信息表擦除次数计数器,地址信息表每更新一次地址信息表擦除次数计数器的计数值加1,该计数值反馈到控制器。
所述的索引区还包括至少一个备份地址信息表;当地址信息表擦除次数计数器的计数值超过设定的寿命值时,通过进行地址转移操作,将上一次存储操作的文件目录结束地址标志和数据结束地址标志更新到备份地址信息表。
所述的数据区可以分为两个分区,即数据块和数据区寿命计数器;数据区每写满一次,数据区寿命计数器的计数值加一,该计数值反馈到控制器。
所述的存储卡还可以包括与数据区数量相应的备份数据区;当数据区的数据区寿命计数器的计数值超过设定的寿命值后,控制器将数据存储到对应的备份数据区。
所述的控制器采用STM32微控制器。
本发明通过控制器与存储卡基于SDIO接口建立底层链路,在存储卡中开辟一片空间作为索引区存放设定的配置信息表、文件目录表、地址信息表及存储卡寿命计数器等内容,索引区以外的空间作为数据区。控制器对数据进行按扇区直接存储操作,并且在存储过程中更新文件目录及地址信息表。文件目录和数据区按扇区方式连续写入数据,能够避免索引区和数据区发生某块损坏导致数据无法正确存储。
有益效果:
现有的文件系统存储方式在高速存储时存储卡最小记忆单元容易产生坏块,影响整体的存储效率,并且对于高可靠连续系统的存储,需要对存储单元的使用寿命进行初步的估量,故对比现有技术,本发明具有效率高,寿命可估计,存储方式灵活等优点。由于本发明应用在STM32平台搭建的数据接收机中,不需要数据插入删除操作,只进行数据写入操作,因此可以进行连续存储。
附图说明:
图1是本发明的结构框图。
图2是本发明中存储流程示意图。
具体实施方式:
下面结合附图对本发明作进一步详细说明。
如图1所示,本发明的基于有限寿命存储介质的高速存储系统包括控制器和存储卡。
所述的控制器采用STM32微控制器。
所述的存储卡采用TLC多层结构的NAND FLASH存储卡。通过在控制器内编写软件可以在存储卡内开辟0扇区、索引区、多个数据区及各数据区对应的备份数据区。
所述的0扇区内存储索引区地址信息。
所述的索引区存放有各数据区的配置信息表、文件目录表、地址信息表、至少一个备份地址信息表、地址信息表擦除次数计数器和存储卡寿命计数器;配置信息表内存放各数据区的开始地址和结束地址;文件目录表内存放数据区内各文件目录及其地址信息;地址信息表存储上一次存储操作的结束地址标志,其中包括上一次存储操作的文件目录结束地址标志和数据结束地址标志;地址信息表每更新一次地址信息表擦除次数计数器的计数值加1,存储卡每写满一次存储卡寿命计数器的计数值加1,地址信息表擦除次数计数器和存储卡寿命计数器的计数值反馈到控制器。
初始时,文件目录表内存储的所有数据区内各文件目录均为空目录,随着数据的写入,各空目录更新为与写入数据对应的文件目录。用户可根据索引区的配置信息表和文件目录表查看存储的任意数据段数据。
当地址信息表擦除次数计数器的计数值超过500后,可以通过地址转移操作,将上一次存储操作的文件目录结束地址标志和数据结束地址标志更新到备份地址信息表。
本发明采用连续扇区存储方式,当所有数据区存储满后,存储卡寿命计数值加1,代表所有数据区完成一次写操作,下一次写入操作用新数据覆盖上一次写操作写入的数据。
本发明可以通过上位机软件Winhex查看存储卡寿命计数值,当存储卡寿命计数值达到500以上,证明该卡易产生坏块,不适宜继续使用,特别不适于对数据要求精准的无人机电磁接收机使用,此时需要更换新存储卡。
外部数据通过控制器写入存储卡。每一次存储操作结束时,地址信息表记录本次存储操作的文件目录结束地址标志和数据结束地址标志。以一个数据区为例,本次存储操作的数据结束地址标志为0021,下一次存储操作时,控制器读取地址信息表的本次存储操作的数据结束地址标志,并自动将起始数据存放到地址0022,后面的数据依次存储到地址0023、0024……,这样可以保证每次执行完写数据后系统再次工作时可以找到本次起始写入位置,实现相对地址连续的写操作。
所述的数据区可以分为两个分区,即数据块和数据区寿命计数器;数据区寿命计数器用于对该数据区写入数据操作次数进行计数,该数据区存储满后,数据区寿命计数值加一;当该数据区寿命计数值达到500以上,证明该数据区易产生坏块,可以使用对应的备份数据区代替该数据区;例如当数据区I的数据区寿命计数值达到500以上后,采用备份数据区I代替数据区I;当数据区II的数据区寿命计数值达到500以上后,采用备份数据区II代替数据区II。
如图2所示,本发明具体的存储流程如下:
(1)系统上电,控制器将存储卡中0扇区存储的索引区地址信息读取到内存中;
(2)控制器读取地址信息表存储的上一次存储操作的文件目录结束地址标志和数据结束地址标志,并跳转到本次存储操作的文件目录存储起始地址和数据存储起始地址,然后开始更新文件目录和存储数据;待本次存储操作结束后,根据本次写入的文件目录的条数更新文件目录结束地址标志,根据写入的数据长度更新数据区本次存储操作的结束地址标志;
(3)判断存储卡是否写满,若写满执行步骤(4),若未写满重复执行步骤(2);
(5)更新存储卡寿命计数器,并从数据区起始处继续写入数据。
本发明根据索引区的文件目录表、地址信息表更新文件目录并向数据区按扇区方式连续写入数据;考虑到地址信息表擦除次数多,存在产生坏块的可能,当地址信息表擦除次数计数器的计数值超过500时,通过进行地址转移操作,将上一次存储操作的文件目录结束地址标志和数据结束地址标志更新到备份地址信息表。这样不会由于地址信息表区域损坏影响整体的存储效率。
Claims (6)
1.一种基于有限寿命存储介质的高速存储系统,其特征在于包括控制器和存储卡;所述的存储卡包括0扇区、索引区和至少一个数据区;0扇区内存储索引区地址信息;索引区存放有配置信息表、文件目录表、地址信息表和存储卡寿命计数器;配置信息表内存放各数据区的开始地址和结束地址;文件目录表内存放数据区内各文件目录及其地址信息;地址信息表存放上一次存储操作的文件目录结束地址标志和数据结束地址标志;每一次存储操作时,控制器首先读取0扇区内存储的索引区地址信息,然后跳转到索引区读取地址信息表存放的上一次存储操作的文件目录结束地址标志和数据结束地址标志;再跳转到本次存储操作的文件目录存储起始地址和数据存储起始地址,在文件目录表继续存储文件目录,同时在数据区继续存储数据;本次存储操作结束后,根据本次写入的文件目录的条数更新文件目录结束地址标志,同时根据写入的数据长度更新数据区本次存储操作的结束地址标志;存储卡每写满一次存储卡寿命计数器的计数值加1,存储卡寿命计数器的计数值反馈到控制器。
2.根据权利要求1所述的基于有限寿命存储介质的高速存储系统,其特征在于所述的索引区内还存储地址信息表擦除次数计数器,地址信息表每更新一次地址信息表擦除次数计数器的计数值加1,该计数值反馈到控制器。
3.根据权利要求2所述的基于有限寿命存储介质的高速存储系统,其特征在于所述的索引区还包括至少一个备份地址信息表;当地址信息表擦除次数计数器的计数值超过设定的寿命值时,通过进行地址转移操作,将上一次存储操作的文件目录结束地址标志和数据结束地址标志更新到备份地址信息表。
4.根据权利要求1所述的基于有限寿命存储介质的高速存储系统,其特征在于所述的数据区分为两个分区,即数据块和数据区寿命计数器;数据区每写满一次,数据区寿命计数器的计数值加一,该计数值反馈到控制器。
5.根据权利要求1所述的基于有限寿命存储介质的高速存储系统,其特征在于所述的存储卡还包括与数据区数量相应的备份数据区;当数据区的数据区寿命计数器的计数值超过设定的寿命值后,控制器将数据存储到对应的备份数据区。
6.根据权利要求1所述的基于有限寿命存储介质的高速存储系统,其特征在于所述的控制器采用STM32微控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910519496.6A CN110262980B (zh) | 2019-06-17 | 2019-06-17 | 基于有限寿命存储介质的高速存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910519496.6A CN110262980B (zh) | 2019-06-17 | 2019-06-17 | 基于有限寿命存储介质的高速存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110262980A CN110262980A (zh) | 2019-09-20 |
CN110262980B true CN110262980B (zh) | 2023-05-02 |
Family
ID=67918459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910519496.6A Active CN110262980B (zh) | 2019-06-17 | 2019-06-17 | 基于有限寿命存储介质的高速存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262980B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181311B (zh) * | 2020-10-21 | 2023-11-21 | 深圳市创维软件有限公司 | 一种循环录制方法、设备和存储介质 |
CN114296634B (zh) * | 2021-12-03 | 2024-01-30 | 珠海格力电器股份有限公司 | 存储器资源使用率检测及存储分配方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399075A (zh) * | 2007-09-28 | 2009-04-01 | 智多星电子科技有限公司 | 具多样闪存单元坏块管理的电子数据闪存卡 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1113666A1 (en) * | 1999-12-30 | 2001-07-04 | Nokia Corporation | Data processing apparatus |
US9069657B2 (en) * | 2011-12-12 | 2015-06-30 | Apple Inc. | LBA bitmap usage |
CN103488578B (zh) * | 2012-12-28 | 2016-05-25 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
US9355113B2 (en) * | 2013-01-17 | 2016-05-31 | Google Inc. | Encoding and decoding delta values |
CN105049405A (zh) * | 2015-05-27 | 2015-11-11 | 北京交通大学 | 基于组合指纹的密钥生成单元及方法、认证系统和设备 |
CN107247563A (zh) * | 2017-07-06 | 2017-10-13 | 济南浪潮高新科技投资发展有限公司 | 一种nand flash芯片的块信息标识实现方法 |
CN107479834A (zh) * | 2017-08-28 | 2017-12-15 | 北京智芯微电子科技有限公司 | 一种基于cos的文件存储方法及装置 |
CN108664577B (zh) * | 2018-05-03 | 2021-03-12 | 中北大学 | 一种基于flash空闲区的文件管理方法及系统 |
-
2019
- 2019-06-17 CN CN201910519496.6A patent/CN110262980B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399075A (zh) * | 2007-09-28 | 2009-04-01 | 智多星电子科技有限公司 | 具多样闪存单元坏块管理的电子数据闪存卡 |
Non-Patent Citations (1)
Title |
---|
Extending the lifetime of flash-based storage through reducing write amplification from file systems;Lu Y;《11th USENIX Conference on File and Storage Technologies》;257-270 * |
Also Published As
Publication number | Publication date |
---|---|
CN110262980A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
CN112486852B (zh) | 一种固态硬盘及其地址映射方法 | |
CN109977034B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
CN106469122B (zh) | 有效数据合并方法、存储器控制器与存储器储存装置 | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
JP2003308241A (ja) | データ記憶装置 | |
JP2003308240A (ja) | データ記憶装置 | |
KR20110107857A (ko) | 솔리드 스테이트 메모리 포멧팅 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN102043727A (zh) | 恢复固态硬盘映射表的方法及其装置 | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
US8392691B2 (en) | Data management method, memory controller and memory storage apparatus | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
CN102214143A (zh) | 一种多层单元闪存的管理方法、装置及存储设备 | |
US8812772B2 (en) | Data merging method for non-volatile memory and controller and storage apparatus using the same | |
CN101782875A (zh) | 存储设备和数据存储方法 | |
WO2023116346A1 (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
CN103365786A (zh) | 数据存储方法、装置和系统 | |
CN110262980B (zh) | 基于有限寿命存储介质的高速存储系统 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
CN109101437A (zh) | 一种数据存储方法与终端 | |
CN103309619A (zh) | 一种闪存数据存储方法 | |
CN111737162A (zh) | 一种快速恢复数据的固态硬盘使用方法及计算机可读存储介质 | |
CN109408416B (zh) | 一种地址映射表项页管理方法及装置 |
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 |