EP1594064A2

Non-volantile memory cache performance improvement

Abstract

In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.

EP1594064A2, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Projected expiry passed 3 May 2025, 1.4 years ago.

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

49 claims: 11 independent, 38 dependent

  1. 1
    A method of operating a computer system having a non-volatile memoy and a long-term storage medium, comprising:utilizing at least a portion of said non-volatile memory as a write buffer for intermediate storage of data from write operations to said long-term storage medium;and providing an interface for requesting that data written to said write buffer be transferred to said long-term storage medium.
  2. 20
    A method of performing an atomic write operation of certain data to a long-term storage medium in a computer system having a non-volatile memory and said long-term storage medium, comprising:attempting to write said certain data to said non-volatile memory;if said attempt is successful, transferring said certain data to said long-term storage medium.
  3. 23
    A method of operating a computer system having a non-volatile memory and a long-term storage medium, comprising:utilizing at least a portion of said non-volatile memory as a read buffer for storage of data from said long-term storage medium;and providing an interface for requesting that certain data be read from said long-term storage media into said portion of non-volatile memory.
  4. 30
    A method of operating a computer system having a non-volatile memory and a long-term storage medium, comprising:setting up a direct correspondence of at least one non-volatile memory storage element of said non-volatile memory with at least one long-term storage element of said long-term storage medium;reading data from said long-term storage element to said non-volatile storage element;performing any write operations directed at said long-term storage element in said non-volatile storage element;and responding to any read operations directed at said long-term storage element by reading data from said non-volatile storage element.
  5. 33
    A method of operating a computer system having persistent storage device comprising a non-volatile memory and a long-term storage medium, comprising:utilizing at least a portion of said non-volatile memory as storage for descriptive information concerning said persistent storage device;and providing a method for reading data from said portion.
  6. 39
    A method of defragmenting memory in a computer system having a non-volatile memory and a long-term storage medium, comprising:storing a first portion of data previously stored in said long-term memory in said non-volatile memory;changing memory locations of a second portion of data stored in a first set of memory locations in said long-term storage medium such that said second portion of data is stored in a second set of memory locations, wherein said second set of memory locations is more contiguous than said first set of memory locations;and writing said first portion of data to said long-term memory.
  7. 40
    A method of operating a computer system having a non-volatile memory and a long-term storage medium, comprising:storing boot data required for initializing said computer system in said non-volatile memory;utilizing said boot data in order to initialize said computer system;and performing a preparatory action on said long-term storage medium to prepare said long-term storage medium for activity.
  8. 43
    A method of operating a computer system having a non-volatile memory and a long-term storage medium, comprising:storing operational data regarding the operations of said computer system in said non-volatile memory;and using said operational data to analyze said operations of said computer system after a failure of said computer system.
  9. 45
    A method of storing data in a computer system having a non-volatile memory and a long-term storage medium, comprising:storing a first version of data;creating a second version of said data in said non-volatile memory;and updating said second version of said data with at least one data change.
  10. 48
    A computer-readable medium having computer-executable instructions to perform the method of one of claims 1 to 47.
  11. 49
    A computer system comprising logic to perform the method of one of claims 1 to 47.