CN106815355A - 一种用于NANDflash阵列的文件系统实现方法 - Google Patents
一种用于NANDflash阵列的文件系统实现方法 Download PDFInfo
- Publication number
- CN106815355A CN106815355A CN201710046813.8A CN201710046813A CN106815355A CN 106815355 A CN106815355 A CN 106815355A CN 201710046813 A CN201710046813 A CN 201710046813A CN 106815355 A CN106815355 A CN 106815355A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- minute
- hour
- write
- 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.)
- Pending
Links
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/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- 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/13—File access structures, e.g. distributed indices
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)
Abstract
本发明公开一种用于NANDflash阵列的文件系统实现方法,涉及文件存储领域;本发明对写入的文件创建时间节点索引,时间节点分为日根节点,小时节点,分钟节点;文件写入过程中,将文件时间节点的子节点与父节点进行连接,直至文件写入完成;本发明在不开发复杂的文件管理机制的前提下,可以完成超大数据文件的存储,同时支持根据文件的写入时间以分钟为时间精度进行文件的部分读取,并且实施简单方便,不用对NANDflash文件系统进行复杂再开发,加快项目进度。
Description
技术领域
本发明公开一种文件系统实现方法,涉及文件存储领域,具体地说是一种用于NANDflash阵列的文件系统实现方法。
背景技术
NANDflash内存是flash内存的一种,其内部采用非线性宏单元模式,可以实现进行固态大容量内存的存储。NANDflash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
然而当前NANDflash文件系统大多由专业存储厂商开发,具有复杂的文件管理机制,同时有单个写入文件最大尺寸限制,一般只适用于通用消费市场。但在一些大容量专用存储系统中,由于应用场景的限制,往往不需要上述复杂的文件管理机制,而且上述文件系统管理机制一方面需要占用较大的软硬件资源,对系统软硬件要求较高,另一方面对其再次开发难度较大,不利于产品快速研发更新,且对一些特殊应用的支持性也不好,比如基于存储时间查看文件某一部分的功能就不支持。
而本发明提供一种用于NANDflash阵列的文件系统实现方法,在不开发复杂的文件管理机制的前提下,可以完成超大数据文件的存储,同时支持根据文件的写入时间以分钟为时间精度进行文件的部分读取,并且实施简单方便,不用对NANDflash文件系统进行复杂再开发,加快项目进度。
发明内容
本发明针对现有技术中的问题,提供用于NANDflash阵列的文件系统实现方法,实施简单方便,不用对NANDflash文件系统进行复杂再开发,加快项目进度,具有广阔的应用前景。
本发明提出的具体方案是:
一种用于NANDflash阵列的文件系统实现方法:
对写入的文件创建时间节点索引,时间节点分为日根节点,小时节点,分钟节点;
文件写入过程中,将文件时间节点的子节点与父节点进行连接,直至文件写入完成。
创建文件时间节点索引前,搜索该文件是否已创建日根节点和小时节点。
文件写入过程中,在当前小时节点下,创建文件第一分钟节点,与当前小时节点进行链接,
第一分钟未写入完成文件,则创建文件第二分钟节点,并将第二分钟节点与第一分钟节点进行链接,如此重复子节点与父节点进行连接,直至文件在当前小时节点内写入完成。
所述文件写入过程中,当前小时节点内文件未写入完成,创建下一小时节点,创建下一小时第一分钟节点,该节点既链接上一小时的最后一分钟节点,又链接当前小时节点,继续进行文件写入。
具体步骤为:
根据NANDflash阵列规格,确定block逻辑地址和物理地址映射表,
CPU从Nor Flash中读取文件系统,
创建文件当前小时节点下第一分钟节点,与当前小时节点进行链接,将文件数据写入的block逻辑地址写入第一分钟节点,
第一分钟未写入完成文件,创建文件第二分钟节点,将第二分钟节点与第一分钟节点进行链接,将文件数据写入的block逻辑地址写入第二分钟节点,如此重复子节点与父节点进行连接,直至文件在当前小时节点内写入完成;
若当前小时节点内文件未写入完成,创建下一小时节点,创建下一小时第一分钟节点,该节点既链接上一小时的最后一分钟节点,又链接当前小时节点,继续将文件数据写入的block逻辑地址写入该节点,
如此重复子节点与父节点进行连接,直至文件写入完成。
一种用于NANDflash阵列的文件系统,所述的文件系统建立时间节点索引,包括日根节点,小时节点,分钟节点,文件写入时采用时间节点的子节点与父节点链接的存储结构进行存储。
所述文件系统的日根节点的数据结构包括父节点指针部分,日期部分,子节点部分。
所述文件系统的小时节点的数据结构包括父节点指针部分,小时部分,子节点部分。
所述文件系统的分钟节点的数据结构包括父节点部分,分钟部分,子节点部分。
本发明的有益之处是:
本发明提供一种用于NANDflash阵列的文件系统实现方法,对写入的文件创建时间节点索引,时间节点分为日根节点,小时节点,分钟节点;文件写入过程中,将文件时间节点的子节点与父节点进行连接,直至文件写入完成;本发明在不开发复杂的文件管理机制的前提下,可以完成超大数据文件的存储,同时支持根据文件的写入时间以分钟为时间精度进行文件的部分读取,并且实施简单方便,不用对NANDflash文件系统进行复杂再开发,加快项目进度。
附图说明
图1是本发明方法流程示意图。
具体实施方式
本发明提供一种用于NANDflash阵列的文件系统实现方法:
对写入的文件创建时间节点索引,时间节点分为日根节点,小时节点,分钟节点;
文件写入过程中,将文件时间节点的子节点与父节点进行连接,直至文件写入完成。
同时提供一种用于NANDflash阵列的文件系统,所述文件系统建立时间节点索引,包括日根节点,小时节点,分钟节点,文件写入时采用时间节点的子节点与父节点链接的存储结构进行存储。
所述文件系统的日根节点的数据结构包括父节点指针部分,日期部分,子节点部分。
所述文件系统的小时节点的数据结构包括父节点指针部分,小时部分,子节点部分。
所述文件系统的分钟节点的数据结构包括父节点部分,分钟部分,子节点部分。
结合附图及具体实施例来进一步解释本发明。
其中以NANDflash阵列规格为4x4为例,则NANDflash阵列为4片NANDflash芯片并行,4级流水的存储阵列,每片NANDflash芯片有32000个block。
利用本发明方法:
首先,根据NANDflash阵列规格,确定block逻辑地址和物理地址映射表,NANDflash控制器接收并解析上层命令,各芯片按照接收到的block地址查询对应的物理地址映射表,判断当前block是否可写入,
然后CPU从Nor Flash中读取文件系统,将文件写入可以写入的block前,搜索该文件是否已创建日根节点和小时节点;没有,则创建该文件日根节点和小时节点;
接着创建文件当前小时节点下第一分钟节点,与当前小时节点进行链接,将文件数据写入的block逻辑地址写入第一分钟节点的数据结构的分钟部分中,
第一分钟未写入完成文件,创建文件第二分钟节点,将第二分钟节点与第一分钟节点进行链接,将文件数据写入的block逻辑地址写入第二分钟节点的数据结构的分钟部分中,如此重复子节点与父节点进行连接,直至文件在当前小时节点内写入完成;
若当前小时节点内文件未写入完成,创建下一小时节点,创建下一小时第一分钟节点,该节点既链接上一小时的最后一分钟节点,又链接当前小时节点,继续将文件数据写入的block逻辑地址写入该节点的数据结构的分钟部分中,如此重复子节点与父节点进行连接,直至文件写入完成。
CPU定时将该文件系统数据写入Nor Flash中更新文件系统的数据,在关机前,CPU会将最新的文件系统数据写入Nor Flash中。
本发明提供一种用于NANDflash阵列的文件系统实现方法,在不开发复杂的文件管理机制的前提下,可以完成超大数据文件的存储,同时支持根据文件的写入时间以分钟为时间精度进行文件的部分读取,并且实施简单方便,不用对NANDflash文件系统进行复杂再开发,加快项目进度。
Claims (9)
1.一种用于NANDflash阵列的文件系统实现方法,其特征是
对写入的文件创建时间节点索引,时间节点分为日根节点,小时节点,分钟节点;
文件写入过程中,将文件时间节点的子节点与父节点进行连接,直至文件写入完成。
2.根据权利要求1所述的方法,其特征是创建文件时间节点索引前,搜索该文件是否已创建日根节点和小时节点。
3.根据权利要求1或2所述的方法,其特征是文件写入过程中,在当前小时节点下,创建文件第一分钟节点,与当前小时节点进行链接,
第一分钟未写入完成文件,则创建文件第二分钟节点,并将第二分钟节点与第一分钟节点进行链接,如此重复子节点与父节点进行连接,直至文件在当前小时节点内写入完成。
4.根据权利要求3所述的方法,其特征是所述文件写入过程中,当前小时节点内文件未写入完成,创建下一小时节点,创建下一小时第一分钟节点,该节点既链接上一小时的最后一分钟节点,又链接当前小时节点,继续进行文件写入。
5.根据权利要求4所述的方法,其特征是具体步骤为:
根据NANDflash阵列规格,确定block逻辑地址和物理地址映射表,
CPU从Nor Flash中读取文件系统,
创建文件当前小时节点下第一分钟节点,与当前小时节点进行链接,将文件数据写入的block逻辑地址写入第一分钟节点,
第一分钟未写入完成文件,创建文件第二分钟节点,将第二分钟节点与第一分钟节点进行链接,将文件数据写入的block逻辑地址写入第二分钟节点,如此重复子节点与父节点进行连接,直至文件在当前小时节点内写入完成;
若当前小时节点内文件未写入完成,创建下一小时节点,创建下一小时第一分钟节点,该节点既链接上一小时的最后一分钟节点,又链接当前小时节点,继续将文件数据写入的block逻辑地址写入该节点,
如此重复子节点与父节点进行连接,直至文件写入完成。
6.一种用于NANDflash阵列的文件系统,其特征是所述的文件系统建立时间节点索引,包括日根节点,小时节点,分钟节点,文件写入时采用时间节点的子节点与父节点链接的存储结构进行存储。
7.根据权利要求6所述的系统,其特征是所述文件系统的日根节点的数据结构包括父节点指针部分,日期部分,子节点部分。
8.根据权利要求6所述的系统,其特征是所述文件系统的小时节点的数据结构包括父节点指针部分,小时部分,子节点部分。
9.根据权利要求6所述的系统,其特征是所述文件系统的分钟节点的数据结构包括父节点部分,分钟部分,子节点部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710046813.8A CN106815355A (zh) | 2017-01-22 | 2017-01-22 | 一种用于NANDflash阵列的文件系统实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710046813.8A CN106815355A (zh) | 2017-01-22 | 2017-01-22 | 一种用于NANDflash阵列的文件系统实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106815355A true CN106815355A (zh) | 2017-06-09 |
Family
ID=59111361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710046813.8A Pending CN106815355A (zh) | 2017-01-22 | 2017-01-22 | 一种用于NANDflash阵列的文件系统实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815355A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110100243A (zh) * | 2017-10-23 | 2019-08-06 | 深圳市锐明技术股份有限公司 | 一种视频数据的存储方法、装置及终端设备 |
CN112579836A (zh) * | 2021-03-01 | 2021-03-30 | 深圳市土地公网络科技有限公司 | 一种多数据库数据处理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136005A (zh) * | 2011-03-29 | 2011-07-27 | 北京航空航天大学 | 数据查询方法和装置 |
CN104750708A (zh) * | 2013-12-27 | 2015-07-01 | 华为技术有限公司 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
-
2017
- 2017-01-22 CN CN201710046813.8A patent/CN106815355A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136005A (zh) * | 2011-03-29 | 2011-07-27 | 北京航空航天大学 | 数据查询方法和装置 |
CN104750708A (zh) * | 2013-12-27 | 2015-07-01 | 华为技术有限公司 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110100243A (zh) * | 2017-10-23 | 2019-08-06 | 深圳市锐明技术股份有限公司 | 一种视频数据的存储方法、装置及终端设备 |
CN112579836A (zh) * | 2021-03-01 | 2021-03-30 | 深圳市土地公网络科技有限公司 | 一种多数据库数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8225067B2 (en) | Multilevel cell NAND flash memory storage system, and controller and access method thereof | |
US9886378B2 (en) | Nonvolatile memory system using control signals to transmit varied signals via data pins | |
CN100550000C (zh) | 具有共享本地存储器的通信装置和方法 | |
CN100458697C (zh) | 用户程序引导方法及用户程序引导系统 | |
WO2020140354A1 (zh) | 一种支持超大标定数据量的全地址标定方法及系统 | |
CN104598161B (zh) | 数据读取、写入方法和装置及数据存储结构 | |
CN106815355A (zh) | 一种用于NANDflash阵列的文件系统实现方法 | |
CN105027067A (zh) | 用于存储系统中的基于对象的事务的方法和系统 | |
CN113190241B (zh) | 数据分区的容量扩充方法、装置、电子设备、存储介质 | |
CN105205012A (zh) | 一种数据读取方法和装置 | |
CN103150281A (zh) | 总线互联模块的集成方法、装置以及验证方法和装置 | |
CN102117245B (zh) | 嵌入式设备及其系统可执行文件分割加载和启动方法 | |
CN106445407A (zh) | 一种芯片处理方法及装置 | |
CN206975631U (zh) | 一种通用输入输出时序处理器 | |
CN102034543B (zh) | 在单任务中实现同时烧写多片nandflash的方法 | |
CN104021086A (zh) | 一种8位单片机读写16位存储单元ram的实现方法 | |
CN105955851B (zh) | 应用于移动终端的系统文件烧录方法及装置 | |
CN109920467B (zh) | 一种用于多存储芯片测试的方法 | |
CN209590838U (zh) | 一种SoC系统 | |
CN105260545B (zh) | 一种可编程电路系统的验证方法 | |
CN102110047B (zh) | 一种在开发系统中读写ram的方法 | |
CN103577205B (zh) | 基于mcs文件的arinc659芯片加载方法 | |
CN104992724A (zh) | 资料存储型闪存中写操作控制方法与装置 | |
US9613667B2 (en) | Data storage device and operating method thereof | |
CN105518790A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170609 |
|
RJ01 | Rejection of invention patent application after publication |