CN111737199B - 一种嵌入式抗掉电文件系统的操作方法 - Google Patents
一种嵌入式抗掉电文件系统的操作方法 Download PDFInfo
- Publication number
- CN111737199B CN111737199B CN202010774992.9A CN202010774992A CN111737199B CN 111737199 B CN111737199 B CN 111737199B CN 202010774992 A CN202010774992 A CN 202010774992A CN 111737199 B CN111737199 B CN 111737199B
- Authority
- CN
- China
- Prior art keywords
- file
- file system
- backup
- descriptor
- power
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种嵌入式抗掉电文件系统的操作方法,包括文件系统的初始化、文件系统的抗掉电方案、检查‑备份‑更改以及文件读/写,其特征在于,包括以下步骤:文件系统的初始化:把并列颗粒各取一个块顺序编号,当一列颗粒全部编号完毕,下一列的颗粒重复同样的过程,只是编号一直累加,直到整个M*N的颗粒阵列编号完毕,本发明的有益效果:本发明开发了一种嵌入式抗掉电文件系统的操作方法,通过该文件系统使得存储业务与存储介质管理分离,使用CPU进行文件管理,FPGA进行存储介质管理,解决了原来基于FPGA管理的NAND存储颗粒阵列的弊端,兼顾了高速数据存储和通用化,灵活化。
Description
技术领域
本发明属于嵌入式抗掉电文件系统技术领域,特别涉及一种嵌入式抗掉电文件系统的操作方法。
背景技术
随着工业和军用系统的功能越来越复杂,对于存储设备需求趋势如下:
1、存储读写带宽要求越来越高,通常达到GB/S级别。
2、容量要求越来越大,通常达到TB级别。前端的传感器越来越多,数据量越来越大,导致容量需求越来越大。
3、易用通用性需求。比如能使用标准FTP、NFS等工具远程访问存储设备,能在线分析数据等。
4、抗掉电要求。嵌入式存储设备随时掉电,没有给设备反应时间,这对存储策略和文件系统都提出了很高的要求,要能避免数据大量丢失或者文件系统崩溃
这种系统的工作步骤如下:
1、高速数据通过FPGA的高速接口GTX把数据送入FPGA,FPGA把数据缓存在DDR中。
2、FPGA在内存中整理数据,然后把数据分割,通过FPGA IO,使用NAND命令并行写入NAND颗粒阵列。
3、更新NVRAM中的简单文件存储记录信息和阵列颗粒使用信息(包括使用掉的块、空闲块、坏块等)。
4、与CPU交互,给外界反馈存储的信息,如文件、大小、空闲空间等。
这种系统架构能满足存储的读写高带宽、大存储量的需求,但灵活易用的需求就很难满足,它主要缺点如下:
1、FPGA实现简单的顺序文件系统,无法支撑易用通用性需求。要FPGA实现的简单文件系统支持FTP、NFS等,难度很大,难以实现。
2、FPGA存储系统在相同的FPGA片上实现颗粒管理、文件管理和业务流程等功能,功能间高度耦合,开发困难,稳定困难。
3、系统上的CPU只起到跟外部传递信息的作用,没有被充分利用。
发明内容
本发明的目的就在于为了解决上述问题而提供一种嵌入式抗掉电文件系统的操作方法。
为了解决上述问题,本发明提供了一种技术方案:
一种嵌入式抗掉电文件系统的操作方法,包括文件系统的初始化、文件系统的抗掉电方案、检查-备份-更改以及文件读/写,包括以下步骤:
S1、文件系统的初始化:把并列颗粒各取一个块顺序编号,当一列颗粒全部编号完毕,下一列的颗粒重复同样的过程,只是编号一直累加,直到整个M*N的颗粒阵列编号完毕,管理文件的描述符数据结构如下:
S2、文件系统的抗掉电方案:步骤S1执行的时候,文件描述符管理区分为两个,一个是操作区,一个是备份区,当文件描述符的操作,提供“检查-备份-更改”机制;
S3、检查-备份-更改:占用一个操作区空闲的文件描述符,根据提供文件名填写到操作区文件信息描述符中,然后把描述符记录拷贝到备份区,返回文件编号,如主操作区的描述符无效,则复制备份区的描述符。打开对应文件名称的文件,返回文件编号,最后进行关闭和删除;
S4、文件读/写:CPU把FPGA控制的DDR存储空间、CPU控制的DDR存储空间进行统一编址,FPGA根据地址,可以把这两个空间中的缓冲数据写入NAND FLASH颗粒阵列或者从阵列中把数据读到制定缓冲。
作为优选:所述步骤S2中的“检查-备份-更改”流程由起始块号开始至CRC结束。
作为优选:在所述步骤S2和步骤S3之间提供“提交”机制,之前操作都只在主操作区操作,直到应用程序主动调用“提交”函数,文件系统才把操作区的描述符备份到备份区。
作为优选:所述步骤S3中的关闭指对文件的清理工作,而删除指清除文件名。
作为优选:所述步骤S4中文件系统只支持顺序写,每次都使用“检查-备份-更改”机制,或“提交”机制,在多次写操作后,进行“提交”动作。
本发明的有益效果:
本发明的有益效果:本发明开发了一种嵌入式抗掉电文件系统的操作方法,通过该文件系统使得存储业务与存储介质管理分离,使用CPU进行文件管理,FPGA进行存储介质管理,解决了原来基于FPGA管理的NAND存储颗粒阵列的弊端,兼顾了高速数据存储和通用化,灵活化。
附图说明
为了易于说明,本发明由下述的具体实施及附图作以详细描述。
图1为本发明的FPGA控制NAND颗粒阵列系统;
图2为本发明的软件层次结构图;
图3为本发明的文件管理系统图。
具体实施方式
如图1-3所示,本具体实施方式采用以下技术方案:一种嵌入式抗掉电文件系统的操作方法,包括文件系统的初始化、文件系统的抗掉电方案、检查-备份-更改以及文件读/写,包括以下步骤:
S1、文件系统的初始化:把并列颗粒各取一个块顺序编号,当一列颗粒全部编号完毕,下一列的颗粒重复同样的过程,只是编号一直累加,直到整个M*N的颗粒阵列编号完毕,管理文件的描述符数据结构如下:
S2、文件系统的抗掉电方案:步骤S1执行的时候,文件描述符管理区分为两个,一个是操作区,一个是备份区,当文件描述符的操作,提供“检查-备份-更改”机制;
S3、检查-备份-更改:占用一个操作区空闲的文件描述符,根据提供文件名填写到操作区文件信息描述符中,然后把描述符记录拷贝到备份区,返回文件编号,如主操作区的描述符无效,则复制备份区的描述符。打开对应文件名称的文件,返回文件编号,最后进行关闭和删除;
S4、文件读/写:CPU把FPGA控制的DDR存储空间、CPU控制的DDR存储空间进行统一编址,FPGA根据地址,可以把这两个空间中的缓冲数据写入NAND FLASH颗粒阵列或者从阵列中把数据读到制定缓冲。
其中:所述步骤S2中的“检查-备份-更改”流程由起始块号开始至CRC结束,起始块号:统一编号的逻辑块号,表示这个文件存储空间从哪个逻辑块开始;结束块号:统一编号的逻辑块号,表示这个文件存储空间到哪个逻辑块结束;CRC:FILE_INFO结构数据校验和:用于检查数据是否完整正确;文件系统的初始化的主要根据NAND颗粒阵列的实际情况,对文件描述符管理区进行初始化,同时建立一个备份的文件描述符管理区,用于文件信息保护和掉电处理。
其中:在所述步骤S2和步骤S3之间提供“提交”机制,之前操作都只在主操作区操作,直到应用程序主动调用“提交”函数,文件系统才把操作区的描述符备份到备份区。
其中:所述步骤S3中的关闭指对文件的清理工作,而删除指清除文件名。
其中:所述步骤S4中文件系统只支持顺序写,每次都使用“检查-备份-更改”机制,或“提交”机制,在多次写操作后,进行“提交”动作,确保前面的多次写入不会因为掉电而丢失。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种嵌入式抗掉电文件系统的操作方法,包括文件系统的初始化、文件系统的抗掉电方案、检查-备份-更改以及文件读/写,其特征在于,包括以下步骤:
S1、文件系统的初始化:把并列颗粒各取一个块顺序编号,当一列颗粒全部编号完毕,下一列的颗粒重复同样的过程,只是编号一直累加,直到整个M*N的颗粒阵列编号完毕,管理文件的描述符数据结构如下:
S2、文件系统的抗掉电方案:步骤S1执行的时候,文件描述符管理区分为两个,一个是操作区,一个是备份区,当文件描述符的操作,提供“检查-备份-更改”机制;
S3、检查-备份-更改:占用一个操作区空闲的文件描述符,根据提供文件名填写到操作区文件信息描述符中,然后把描述符记录拷贝到备份区,返回文件编号,如主操作区的描述符无效,则复制备份区的描述符,打开对应文件名称的文件,返回文件编号,最后进行关闭和删除;
S4、文件读/写:CPU把FPGA控制的DDR存储空间、CPU控制的DDR存储空间进行统一编址,FPGA根据地址,可以把这两个空间中的缓冲数据写入NAND FLASH颗粒阵列或者从阵列中把数据读到制定缓冲。
2.根据权利要求1所述的一种嵌入式抗掉电文件系统的操作方法,其特征在于:所述步骤S2中的“检查-备份-更改”流程由起始块号开始至CRC结束。
3.根据权利要求1所述的一种嵌入式抗掉电文件系统的操作方法,其特征在于:在所述步骤S2和步骤S3之间提供“提交”机制,之前操作都只在主操作区操作,直到应用程序主动调用“提交”函数,文件系统才把操作区的描述符备份到备份区。
4.根据权利要求1所述的一种嵌入式抗掉电文件系统的操作方法,其特征在于:所述步骤S3中的关闭指对文件的清理工作,而删除指清除文件名。
5.根据权利要求1所述的一种嵌入式抗掉电文件系统的操作方法,其特征在于:所述步骤S4中文件系统只支持顺序写,每次都使用“检查-备份-更改”机制,或“提交”机制,在多次写操作后,进行“提交”动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010774992.9A CN111737199B (zh) | 2020-08-05 | 2020-08-05 | 一种嵌入式抗掉电文件系统的操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010774992.9A CN111737199B (zh) | 2020-08-05 | 2020-08-05 | 一种嵌入式抗掉电文件系统的操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737199A CN111737199A (zh) | 2020-10-02 |
CN111737199B true CN111737199B (zh) | 2020-11-20 |
Family
ID=72657080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010774992.9A Active CN111737199B (zh) | 2020-08-05 | 2020-08-05 | 一种嵌入式抗掉电文件系统的操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737199B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981783A (zh) * | 2012-11-29 | 2013-03-20 | 浪潮电子信息产业股份有限公司 | 一种基于Nand Flash的Cache加速方法 |
CN106155258A (zh) * | 2015-03-27 | 2016-11-23 | 华为技术有限公司 | 一种掉电保护的电路及相关方法 |
CN106557346A (zh) * | 2016-11-24 | 2017-04-05 | 中国科学院国家空间科学中心 | 一种抗单粒子翻转的星载数据处理系统及方法 |
CN108153487A (zh) * | 2017-11-30 | 2018-06-12 | 西安空间无线电技术研究所 | 一种基于nand flash的星载固存多源数据文件系统 |
CN108958800A (zh) * | 2018-06-15 | 2018-12-07 | 中国电子科技集团公司第五十二研究所 | 一种基于fpga硬件加速的ddr管理控制系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201289643Y (zh) * | 2008-10-21 | 2009-08-12 | 上海第二工业大学 | 基于fpga的嵌入式数据库系统 |
US9239768B2 (en) * | 2013-08-21 | 2016-01-19 | Advantest Corporation | Distributed pin map memory |
CN109783411B (zh) * | 2018-12-20 | 2022-05-17 | 成都旋极历通信息技术有限公司 | 一种基于fpga的flash阵列控制方法及控制器 |
-
2020
- 2020-08-05 CN CN202010774992.9A patent/CN111737199B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981783A (zh) * | 2012-11-29 | 2013-03-20 | 浪潮电子信息产业股份有限公司 | 一种基于Nand Flash的Cache加速方法 |
CN106155258A (zh) * | 2015-03-27 | 2016-11-23 | 华为技术有限公司 | 一种掉电保护的电路及相关方法 |
CN106557346A (zh) * | 2016-11-24 | 2017-04-05 | 中国科学院国家空间科学中心 | 一种抗单粒子翻转的星载数据处理系统及方法 |
CN108153487A (zh) * | 2017-11-30 | 2018-06-12 | 西安空间无线电技术研究所 | 一种基于nand flash的星载固存多源数据文件系统 |
CN108958800A (zh) * | 2018-06-15 | 2018-12-07 | 中国电子科技集团公司第五十二研究所 | 一种基于fpga硬件加速的ddr管理控制系统 |
Non-Patent Citations (2)
Title |
---|
基于FPGA的星载NANDFLASH控制器的设计;乔亚飞 等;《电子设计工程》;20180731;第26卷(第14期);158-161页 * |
基于NAND型闪存的嵌入式文件系统设计;李庆诚 等;《计算机应用研究》;20060430(第4期);231-233,239页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111737199A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8806111B2 (en) | Apparatus, system, and method for backing data of a non-volatile storage device using a backing store | |
US9075710B2 (en) | Non-volatile key-value store | |
KR101573591B1 (ko) | 메모리 시스템 제어기를 구비하는 장치 및 관련 방법 | |
US7856528B1 (en) | Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system | |
JP5619423B2 (ja) | 揮発性メモリおよび不揮発性メモリを有するハイブリッド固体メモリシステム | |
TWI385523B (zh) | 用於快閃記憶體的資料備份方法及其控制器與儲存系統 | |
TWI569139B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
US9053009B2 (en) | High throughput flash memory system | |
TWI479492B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US7475291B2 (en) | Apparatus and method to generate and save run time data | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20210279180A1 (en) | Apparatus and method for controlling map data in a memory system | |
TWI584189B (zh) | 記憶體控制器、記憶體儲存裝置與資料寫入方法 | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
CN115328389A (zh) | 用于可定制元数据的存储装置、系统和方法 | |
CN103970684A (zh) | 存储数据的方法和电子设备 | |
CN111737199B (zh) | 一种嵌入式抗掉电文件系统的操作方法 | |
CN114579040A (zh) | 用于保持在存储器系统中存储的数据的设备和方法 | |
CN102362263A (zh) | Ssd控制器与ssd控制器的操作方法 | |
CN111580757A (zh) | 数据写入方法、系统和固态硬盘 | |
CN106205707A (zh) | 存储器装置 | |
CN109521961B (zh) | 一种提升固态硬盘读写性能的方法及其系统 | |
CN103853666B (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 |