Data partitioning scheme for non-volatile memories
Abstract
Systems and methods are disclosed for partitioning data for storage in a non-volatile memory (“NVM”), such as flash memory. In some embodiments, a priority may be assigned to data being stored, and the data may be logically partitioned based on the priority. For example, a file system may identify a logical address within a first predetermined range for higher priority data and within a second predetermined range for lower priority data, such using a union file system. Using the logical address, a NVM driver can determine the priority of data being stored and can process (e.g., encode) the data based on the priority. The NVM driver can store an identifier in the NVM along with the data, and the identifier can indicate the processing techniques used on the associated data.
Claims
exact text as granted — not AI-modified1 .- 6 . (canceled)
7 . A memory system comprising: a user interface; a non-volatile memory; and a processor for storing data in the non-volatile memory, wherein the processor is configured to: receive, from the user interface, a user indication of a priority of the data; and direct the non-volatile memory to store the data based on the priority.
8 . The memory system of claim 7 , wherein the processor is further configured to prompt a user for the user indication of the priority.
9 . The memory system of claim 7 , wherein the processor is further configured to indirectly receive the user indication of the priority.
10 . The memory system of claim 9 , wherein the processor is further configured to: receive a user rating of the data; and interpret the user rating of the data as an indirect user indication of the priority of the data.
11 . The memory system of claim 9 , wherein the processor is further configured to: receive a user request to mark the data for deletion; and interpret the user request as an indirect user indication to lower the priority of the data.
12 . The memory system of claim 7 , wherein the processor is further configured to encode the data based on the priority of the data.
13 . The memory system of claim 7 , further comprising a non-volatile memory controller coupled to the non-volatile memory, wherein the processor is further configured to direct the non-volatile memory controller to encode the data based on the priority of the data.
14 . The memory system of claim 7 , wherein the non-volatile memory comprises flash memory.
15 . A memory system, comprising: a non-volatile memory; and a host processor for storing data in the non-volatile memory, wherein the host processor is configured with a file system and a memory driver, and wherein the file system is configured to: determine a priority associated with the data; identify, based on the priority, a logical address at which to store the data; and provide a write request to the memory driver to program the data in the non-volatile memory, wherein the write request includes the logical address.
16 . The memory system of claim 15 , wherein the file system is further configured to associate the data with a high priority by default.
17 . The memory system of claim 15 , wherein the host processor is further configured to execute an application, and wherein the file system is further configured to: receive, from the application, an indication of the priority associated with the data; and make the determination of the priority based on the indication.
18 . The memory system of claim 15 , wherein the file system is configured to determine the logical address by: identifying a logical address within a first predetermined range of logical addresses when the data is determined to be associated with a high priority; and identifying a logical address within a second predetermined range of logical addresses when the data is determined to be associated with a standard priority, wherein the first and second predetermined ranges are non-overlapping.
19 . The memory system of claim 15 , wherein the non-volatile memory comprises NAND flash memory.
20 .- 23 . (canceled)
24 . An electronic system comprising: a non-volatile memory; and a processor configured to execute a plurality of modules to store user data in the non-volatile memory, the plurality of modules comprising: a union file system comprising a first file system and a second file system, wherein the union file system provides the user data to the first file system to indicate that the user data has a higher priority or to a second file system to indicate that the user data has a lower priority; and a memory driver for receiving write requests from the union file system and directing the non-volatile memory to store the user data.
25 . The electronic system of claim 24 , wherein the first file system is configured to identify logical addresses within a first predetermined range; and the second file system is configured to identify logical addresses within a second predetermined range, wherein the first and second predetermined ranges do not overlap.
26 . The electronic system of claim 24 , wherein plurality of modules further comprises an application for: assigning the user data to one of the higher priority and the lower priority; and providing, to the file system, the user data and a request to store the user data.
27 . The electronic system of claim 26 , wherein the first file system comprises a read/write file system, and wherein the user data is provided from the application to the first file system by default.
28 . The electronic system of claim 24 , wherein the second file system comprises a read only file system, and wherein the user data is provided from the first file system to the second file system responsive to backing up the user data on another storage medium.
29 . The electronic system of claim 24 , wherein the at least one non-volatile memory device comprises flash memory.
30 .- 47 . (canceled)Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.