Flash file system and data management method therof

US2020034340A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020034340-A1
Application numberUS-201816483608-A
CountryUS
Kind codeA1
Filing dateFeb 6, 2018
Priority dateFeb 6, 2017
Publication dateJan 30, 2020
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A flash file system and a data management method thereof are provided, the system including: a creation module, configured to divide a flash memory into a file system region and a flash buffer region; a marking module configured to mark written data as dirty data in a memory buffer when the data are written and an amount of the written data is less than or equal to a preset marking threshold; a synchronization module, configured to merge the dirty data in the memory buffer and write the same into the flash buffer region when data synchronization is required, and notify a backfilling module when the flash buffer region is full; and the backfilling module, configured to read the dirty data in the flash buffer region, write the dirty data into the file system region, and erase the flash buffer region.

First claim

Opening claim text (preview).

1 . A flash file system, comprising: a creation module, a marking module, a synchronization module, and a backfilling module, wherein the creation module is configured to divide a flash memory into a file system region and a flash buffer region when a file system is created; the marking module is configured to mark written data as dirty data in a memory buffer when the data are written and an amount of the written data is less than or equal to a preset marking threshold, wherein the marking threshold being used to indicate an amount of data that are written into the memory buffer and need to be marked according to data granularity; the synchronization module is configured to write, when data synchronization is required, the dirty data into the flash buffer region after merging all the dirty data in the memory buffer or the dirty data of a file to be synchronized in the memory buffer, and notify the backfilling module when the flash buffer region is full; and the backfilling module is configured to read the dirty data in the flash buffer region when a notification is received from the synchronization module, write the dirty data into the file system region, and erase the flash buffer region. 2 . The flash file system according to claim 1 , wherein the flash buffer region comprises a first flash buffer region and a second flash buffer region, wherein the synchronization module is configured to: write the dirty data into the first flash buffer region after merging all the dirty data in the memory buffer or the dirty data of the file to be synchronized in the memory buffer when data synchronization is required; send a first notification to the backfilling module when the first flash buffer region is full, and write the dirty data into the second flash buffer region after merging all the dirty data in the memory buffer or the dirty data of the file to be synchronized in the memory buffer when data synchronization is required; and send a second notification to the backfilling module when the second flash buffer region is full, and write the dirty data into the first flash buffer region after merging all the dirty data in the memory buffer or the dirty data of the file to be synchronized in the memory buffer when data synchronization is required; and the backfilling module is configured to: read the dirty data in the first flash buffer region when the first notification is received from the synchronization module, write the dirty data into the file system region, and erase the first flash buffer region; and read the dirty data in the second flash buffer region when the second notification is received from the synchronization module, write the dirty data into the file system region, and erase the second flash buffer region. 3 . The flash file system according to claim 1 , wherein the marking module is configured to: encapsulate, when written data is present and an amount of the written data is less than or equal to the marking threshold, an inode number, and a page number of a data segment, a page offset, a length of the data segment and data of the data segment of a file corresponding to the written data as records, and add the records to a preset dirty data list; and increase a reference count of a memory buffer page corresponding to the written data by one. 4 . The flash file system according to claim 3 , wherein the synchronization module is configured to: search for all records of the file corresponding to the written data according to the inode number of the file, request a new memory page, sequentially copy contents of a plurality of records to the new memory page, and sequentially write the contents in the new memory page into the flash buffer region. 5 . The flash file system according to claim 1 , further comprising: a recovery module configured to detect whether dirty data is present in the flash buffer region when the flash file system is restarted; and read all the dirty data in the flash buffer region if dirty data is present in the flash buffer region, and update content of the memory buffer according to each piece of the dirty data. 6 . A data management method of a flash file system, comprising: dividing a flash memory into a file system region and a flash buffer region when a file system is created; marking written data as dirty data in a memory buffer when the data are written and an amount of the written data is less than or equal to a preset marking threshold, wherein the marking threshold being used to indicate an amount of data that are written into the memory buffer and need to be marked according to data granularity; writing, when data synchronization is required, the dirty data into the flash buffer region after merging all the dirty data or the dirty data of a file to be synchronized in the memory buffer; and reading the dirty data in the flash buffer region when the flash buffer region is full, writing the dirty data into the file system region, and erasing the flash buffer region. 7 . The data management method according to claim 6 , wherein: the flash buffer region comprises a first flash buffer region and a second flash buffer region, wherein the dirty data is written into the first flash buffer region after merging all the dirty data in the memory buffer or the dirty data of the file to be synchronized in the memory buffer when data synchronization is required; the second flash buffer region is configured, when the first flash buffer region is full, as a current buffer used for writing data when data synchronization is required, while the dirty data in the first flash buffer region is read and written into the file system region, and the first flash buffer region is erased; and the first flash buffer region is configured, when the second flash buffer region is full, as the current buffer used for writing data when data synchronization is required, while the dirty data in the second flash buffer region is read and written into the file system region, and the second flash buffer region is erased. 8 . The data management method according to claim 6 , wherein: marking the written data as dirty data in the memory buffer comprises: encapsulating an inode number, and a page number of a data segment, a page offset, a length of the data segment and data of the data segment of a file corresponding to the written data as records, and adding the records to a preset dirty data list; and increasing a reference count of a memory buffer page corresponding to the written data by one. 9 . The data management method according to claim 8 , wherein: writing the dirty data in the dirty data list into the flash buffer region after merging the dirty data comprises: searching for all records of the file corresponding to the written data according to the inode number of the file, requesting a new memory page, sequentially copying contents of a plurality of records to the new memory page, and sequentially writing the contents in the new memory page into the flash buffer region. 10 . The data management method according to claim 6 , further comprising: detecting whether dirty data is present in the flash buffer region when the flash file system is restarted; and reading all the dirty data in the flash buffer region if dirty data is present in the flash buffer region, and updating content of the memory buffer according to each piece of the dirty data. 11 . A computer readable storage medium storing computer executable instructions for implementing, when executed by a processor, the method according to claim 6 .

Assignees

Inventors

Classifications

  • Delete operations (erasing in storage systems G06F3/0652) · CPC title

  • Data buffering arrangements · CPC title

  • Management of files · CPC title

  • G06F3/0616Primary

    in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title

  • Techniques for file synchronisation in file systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2020034340A1 cover?
A flash file system and a data management method thereof are provided, the system including: a creation module, configured to divide a flash memory into a file system region and a flash buffer region; a marking module configured to mark written data as dirty data in a memory buffer when the data are written and an amount of the written data is less than or equal to a preset marking threshold; a…
Who is the assignee on this patent?
Zte Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0616. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 30 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).