×

Distributing metadata across multiple different disruption regions within an asymmetric memory system

  • US 9,727,452 B2
  • Filed: 12/15/2008
  • Issued: 08/08/2017
  • Est. Priority Date: 12/14/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method of distributing metadata that corresponds to application data for a file system across multiple different physical disruption regions of asymmetric memory within a module of main memory of a computer system such that metadata is written in the same physical disruption region of the asymmetric memory as the application data to which the metadata corresponds, where individual physical disruption regions of the asymmetric memory include physical blocks and are configured such that writing to a physical disruption region of the asymmetric memory affects the availability of other physical blocks within the same physical disruption region of the asymmetric memory, the method comprising:

  • performing a first block write operation that writes a first block of application data to a first physical disruption region of the asymmetric memory within the module of main memory;

    during the first block write operation in which physical blocks within the first physical disruption region are unavailable, enabling random access read operations to a second physical disruption region of the asymmetric memory within the module of main memory that is different than the first physical disruption region of the asymmetric memory within the module of main memory;

    performing a second block write operation that writes a second block of application data that is different than the first block of application data to the second physical disruption region of the asymmetric memory within the module of main memory, the first and second blocks of application data corresponding to first and second logical blocks of the file system respectively;

    generating a first block of metadata that that maps logic blocks utilized by the file system to physical blocks of the first physical disruption region to which the first block of application data has been written and generating a second block of metadata that that maps logic blocks utilized by the file system to physical blocks of the second physical disruption region to which the second block of application data has been written;

    writing the first block of metadata to the first physical disruption region of the asymmetric memory as part of the first block write operation and writing the second block of metadata to the second physical disruption region of the asymmetric memory as part of the second block write operation such that the first and second blocks of metadata are written to the same physical disruption regions of the asymmetric memory as the blocks of application data to which they correspond, the first block of metadata and the first block of application data are written to different physical blocks in an interleaved manner such that the first block of metadata occupies both the first physical block and the last physical block within the first physical disruption region, the second block of metadata and the second block of application data are written to different physical blocks in an interleaved manner such that the second block of metadata occupies both the first physical block and the last physical block within the second physical disruption region;

    during the second block write operation in which physical blocks within the second physical disruption region are unavailable, enabling random access read operations to the first physical disruption region of the asymmetric memory within the module of main memory such that data from the first block of application data and the first block of metadata is available for random access reading while the second block write operation is being performed;

    receiving an instruction to update the first logical block of the file system with a third block of application data while the first physical disruption region is under random access read operations, the third block of application data being different than the first block of application data and the second block of application data;

    based on the instruction to update the first logical block of the file system with the third block of application data, determining to write the third block of application data to the second physical disruption region of the asymmetric memory within the module of main memory;

    based on the determination to write the third block of application data to the second physical disruption region of the asymmetric memory within the module of main memory, performing a third block write operation that writes the third block of application data to the second physical disruption region of the asymmetric memory within the module of main memory such that the third block write operation commences while the data from the first block of application data and the first block of metadata from different physical blocks within the first physical disruption region of the asymmetric memory is available for random access reading;

    generating a third block of metadata that corresponds to the third block of application data, that identifies the third block of application data-written to physical blocks of the second physical disruption region-as corresponding to the first logical block of the file system, and that indicates the third block of application data as being valid;

    writing the third block of metadata to physical blocks within the second physicaldisruption region of the asymmetric memory as part of the third block write operation such that the third block of metadata is written to the same physical disruption region of the asymmetric memory as the third block of application data to which it corresponds, the third block of metadata and the third block of application data are written to different physical blocks in an interleaved manner such that the third block of metadata occupies both the second physical block and the second-to-last physical block within the second physical disruption region; and

    updating the first block of metadata by updating the first physical block within the first physical disruption region to which the first block of metadata has been written to indicate the first block of application data as being invalid.

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