×

Method to efficiently track I/O access history using efficient memory data structures

  • US 9,798,754 B1
  • Filed: 06/12/2014
  • Issued: 10/24/2017
  • Est. Priority Date: 06/12/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for determining access patterns of data stored in a data processing system, the method comprising:

  • responsive to receiving a request to access a first data block, recording in a first memory device an access indicator that indicates a first identifier, of the first data block, in association with a time period at which the first data block was accessed, wherein the access indicator is a bloom filter, and a plurality of functions of an identifier of a particular data block are used to identify a corresponding plurality of bit positions in an access bitmap, a value of each bit at the plurality of bit positions together indicating access of the particular data block;

    generating a memory-efficient data structure (MEDS) based on a plurality of access indicators recorded in the first memory device, representing an access pattern corresponding to the time period during which the first data block was accessed;

    compressing access information from the plurality of access indicators, wherein the MEDS occupies less storage space on a second memory device as compared to an amount of storage space that the plurality of access indicators occupy on the first memory device;

    subsequently in response to a request for accessing a second data block, uncompressing the access information stored in the MEDS before applying a query function to a second identifier of the second data block, wherein the query function returns a value based on data stored in the MEDS to indicate whether the second data block is associated with an access pattern represented by the MEDS; and

    Performing a storage management action based on the value returned by the query function, the storage management action including pre-fetching a data block, caching a data block, or evicting a data block, depending on the value returned by the query function.

View all claims
  • 10 Assignments
Timeline View
Assignment View
    ×
    ×