×

Use of predefined block pointers to reduce duplicate storage of certain data in a storage subsystem of a storage server

  • US 8,671,082 B1
  • Filed: 02/26/2009
  • Issued: 03/11/2014
  • Est. Priority Date: 02/26/2009
  • Status: Active Grant
First Claim
Patent Images

1. A method in a computing system for specially allocating data within the computing system, comprising:

  • receiving, by an allocation component executing on a processor of the computing system, a request from a client to write a set of data blocks in a storage subsystem of the computing system, the storage subsystem including a non-volatile mass storage facility, the set of data blocks including a data block that includes data previously designated as special data, wherein the special data is pre-allocated in the non-volatile mass storage facility; and

    for each data block in the set of data blocks, comparing, by the allocation component executing on the processor of the computing system, the data block to the special data,when the data is determined to match the special data,assigning a special block pointer to the data block, the special block pointer pointing to a block address in the non-volatile mass storage facility, the special block pointer indicating that the corresponding data block was pre-allocated in the storage subsystem of the computing system, the special block pointer further indicating that an instance of the special data is stored in a memory of the computing system, wherein the memory is separate from the storage subsystem;

    preventing the data block from being written to the storage subsystem as a result of the received request;

    in response to receiving a request to read a data block from the non-volatile mass storage facility, the data block having a block pointer pointing to a block address in the non-volatile mass storage facility on which the data block is stored;

    comparing the block pointer to the special block pointer to determine whether the data block includes contents that match the contents of the pre-allocated data block; and

    when the block pointer matches the special block pointer, reading the contents of the pre-allocated data block from the memory of the computing system without issuing a request to read the contents of the pre-allocated data block from the non-volatile mass storage facility.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×