×

Storage virtualization system and methods

  • US 7,577,817 B2
  • Filed: 01/05/2005
  • Issued: 08/18/2009
  • Est. Priority Date: 01/11/2001
  • Status: Expired due to Term
First Claim
Patent Images

1. A method of dynamically mapping addresses between a virtual disk address and one or more physical block addresses dynamically allocated from a storage system shared by one or more virtual disks in response to a write operation requested by a host system, the method comprising:

  • receiving a write request from a host, said write request including a virtual memory address and one of more blocks of data;

    determining whether memory space in the storage system has not been allocated for the one of more blocks of data based on the virtual memory address;

    if so, automatically and dynamically allocating memory space from a pool of available memory space in the storage system for the one or more blocks of data;

    wherein automatically and dynamically allocating memory space from the pool of available memory space in the storage system for the one or more blocks of data comprises;

    based upon detecting that storage has not been allocated for a physical block address and in response to receiving the write request, automatically and dynamically allocating physical block addresses from a pool of available physical block addresses in the storage system for the one or more blocks of data;

    wherein, upon detecting that storage has not been allocated for the physical block address;

    comparing the one or more blocks of data with a default formatted block value indicating a predefined data size associated with the storage system;

    when the one or more blocks of data matches the default formatted block, completing the write operation to the physical block addresses; and

    when the one or more blocks of data does not match the default formatted block detecting a region of continuous blocks associated with the storage system, dynamically allocating region of continuous blocks associated with the storage system for the one or more blocks of data, and completing the write operation to the dynamically allocated physical block addresses; and

    if the allocated memory space has been freed after the write operation, returning the memory space that has been freed to the pool of available memory space.

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