Nova Patents
EP2549385A1

Non-volatile temporary data handling

Abstract

Systems and methods are provided for handling temporary data that is stored in a non-volatile memory (114), such as NAND flash memory. The temporary data may include hibernation data or any other data needed for only one boot cycle of an electronic device (100). When storing the temporary data in one or more pages of the non-volatile memory (114), the electronic device (100) can store a temporary marker (T) as part of the metadata in at least one of the pages. This way, on the next bootup of the electronic device (100), the electronic device can use the temporary marker (T) to determine that the associated page contains unneeded data. The electronic device can therefore invalidate the page and omit the page from its metadata tables.

EP2549385A1, drawing sheet 1
Sheet 1 of 5

Term

5.8 yearsto projected expiry

Projected expiry 17 July 2032, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

15 claims: 8 independent, 7 dependent

  1. 1
    An electronic device (100) comprising:a volatile memory (114) for storing temporary data;a non-volatile ("NV") memory (120) comprising a plurality of pages;control circuitry (112) operative to store the temporary data in the non-volatile memory (120) as NV temporary data, wherein the control circuitry (112) stores a temporary marker (T) in at least one of the pages in which the NV temporary data is stored.
  2. 3
    The electronic device of any preceding claim, wherein the temporary marker (T) comprises a predetermined bit pattern.
  3. 4
    The electronic device of any preceding claim, wherein the plurality of pages are organized into blocks, and wherein the control circuitry (112) is further operative to:select one of the blocks for storing the NV temporary data;and store a temporary marker (T) in at least one page of the selected block, preferably and/or wherein the control circuitry (112) is further operative to store a temporary marker (T) in all of the pages of the selected block.
  4. 5
    The electronic device of any preceding claim, and wherein the control circuitry (112) is further operative to:identify that the volatile memory is in a low memory state;and store the temporary data in the non-volatile memory responsive to identifying the low memory state, and/or wherein the control circuitry (112) is further operative to select lower-performance pages for storing the temporary data.
  5. 6
    The electronic device of any preceding claim, wherein the control circuitry (112) is further operative to select a higher-speed programming technique for storing the temporary data.
  6. 7
    A method of storing data in a non-volatile memory, wherein the non-volatile memory comprises a plurality of pages, the method comprising:identifying the data as temporary data (406);preparing metadata for the data, wherein the metadata comprises a temporary marker (408);and storing the data and the metadata in at least one page of the non-volatile memory (416).
  7. 9
    The method of any of claims 7 to 8, wherein the preparing further comprises determining a logical-to-physical address mapping for the data.
  8. 10
    The method of any of claims 7 to 9, further comprising selecting the at least one page of the non-volatile memory based on the identifying.
  9. 11
    The method of any of claims 7 to 10, further comprising:identifying additional data for storage in the non-volatile memory, wherein the additional data is identified as not being temporary data;preparing additional metadata for the additional data, wherein the additional metadata does not include a temporary marker;and storing the additional data and the additional metadata in at least one other page of the non-volatile memory.
  10. 12
    The method of any of claims 7 to 11, wherein the identifying comprises identifying that the data comprises at least one of hardware-based hibernation data, application-generated data, application-based hibernation data, and data for a virtual memory scheme.
  11. 13
    An electronic device (100) comprising:a non-volatile memory (120);control circuitry (112) operative to create a metadata table for the non-volatile memory (120) at bootup of the electronic device (100), wherein creating the metadata table comprises: reading a plurality of pages of the non-volatile memory, wherein at least one of the pages includes a temporary marker (T);and omitting the at least one page from the metadata table.
  12. 15
    The electronic device of any of claims 13 to 14, wherein the metadata tables comprises a table indicating which logical addresses are currently allocated for use by a file system;and /or wherein metadata table comprises a logical-to-physical address mapping.