TECHNIQUES FOR IMPLEMENTING HYBRID FLASH/HDD-BASED VIRTUAL DISK FILES
First Claim
1. A method for utilizing flash storage as an extension of hard disk (HDD) based storage, the method comprising:
- storing, by a computer system, a first subset of blocks of a logical file in a first physical file residing on a flash storage tier, the first physical file being associated with a first data structure that represents a filesystem object;
storing, by the computer system, a second subset of blocks of the logical file in a second physical file residing on an HDD storage tier, the second physical file being associated with a second data structure that represents a filesystem object distinct from the first data structure that represents a filesystem object, the second data structure that represents a filesystem object comprising tiering configuration information that includes an identifier of the first physical file;
receiving, by the computer system, an I/O request directed to one or more blocks of the logical file; and
processing, by the computer system, the I/O request by directing the I/O request to the first physical file on the flash storage tier or to the second physical file on the HDD storage tier, the directing comprising;
verifying that the tiering configuration information exists in the second data structure that represents a filesystem object; and
in response to the verifying, determining whether the one or more blocks are part of the first subset of blocks in the first physical file or the second subset of blocks in the second physical file.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for utilizing flash storage as an extension of hard disk (HDD) storage are provided. In one embodiment, a computer system stores a subset of blocks of a logical file in a first physical file, associated with a first data structure that represents a filesystem object, on flash storage and a subset of blocks, associated with a second data structure that represents a filesystem object comprising tiering configuration information that includes an identifier of the first physical file, in a second physical file on HDD storage. The computer system processes an I/O request directed to the logical file by directing it to either the physical file on the flash storage or the HDD storage by verifying that the tiering configuration information exists in the data structure and determining whether the one or more blocks are part of the first subset of blocks or the second subset of blocks.
-
Citations
21 Claims
-
1. A method for utilizing flash storage as an extension of hard disk (HDD) based storage, the method comprising:
-
storing, by a computer system, a first subset of blocks of a logical file in a first physical file residing on a flash storage tier, the first physical file being associated with a first data structure that represents a filesystem object; storing, by the computer system, a second subset of blocks of the logical file in a second physical file residing on an HDD storage tier, the second physical file being associated with a second data structure that represents a filesystem object distinct from the first data structure that represents a filesystem object, the second data structure that represents a filesystem object comprising tiering configuration information that includes an identifier of the first physical file; receiving, by the computer system, an I/O request directed to one or more blocks of the logical file; and processing, by the computer system, the I/O request by directing the I/O request to the first physical file on the flash storage tier or to the second physical file on the HDD storage tier, the directing comprising; verifying that the tiering configuration information exists in the second data structure that represents a filesystem object; and in response to the verifying, determining whether the one or more blocks are part of the first subset of blocks in the first physical file or the second subset of blocks in the second physical file. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium having stored thereon computer software executable by a processor, the computer software embodying a method for utilizing flash storage as an extension of HDD-based storage, the method comprising:
-
storing a first subset of blocks of a logical file in a first physical file residing on a flash storage tier, the first physical file being associated with a first data structure that represents a filesystem object; storing a second subset of blocks of the logical file in a second physical file residing on an HDD storage tier, the second physical file being associated with a second data structure that represents a filesystem object distinct from the first data structure that represents a filesystem object, the second data structure that represents a filesystem object comprising tiering configuration information that includes an identifier of the first physical file; receiving an I/O request directed to one or more blocks of the logical file; and processing the I/O request by directing the I/O request to the first physical file on the flash storage tier or to the second physical file on the HDD storage tier, the directing comprising; verifying that the tiering configuration information exists in the second data structure that represents a filesystem object; and in response to the verifying, determining whether the one or more blocks are part of the first subset of blocks in the first physical file or the second subset of blocks in the second physical file. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for utilizing flash storage as an extension of HDD-based storage, the system comprising:
-
a processor; and a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to; store a first subset of blocks of a logical file in a first physical file residing on a flash storage tier, the first physical file being associated with a first data structure that represents a filesystem object; store a second subset of blocks of the logical file in a second physical file residing on an HDD storage tier, the second physical file being associated with a second data structure that represents a filesystem object distinct from the first data structure that represents a filesystem object, the second data structure that represents a filesystem object comprising tiering configuration information that includes an identifier of the first physical file; receive an I/O request directed to one or more blocks of the logical file; and process the I/O request by directing the I/O request to the first physical file on the flash storage tier or to the second physical file on the HDD storage tier, the directing comprising; verifying that the tiering configuration information exists in the second data structure that represents a filesystem object; and in response to the verifying, determining whether the one or more blocks are part of the first subset of blocks in the first physical file or the second subset of blocks in the second physical file. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification