Filesystem-aware block storage system, apparatus, and method
First Claim
1. A method of supplementing functionality of a block-level storage system that is capable of storing fixed-size blocks of data under the control of a host filesystem, the host filesystem currently operating in a host computer, the method comprising:
- in response to receiving, from the currently operating file system, a client request having fixed-sized blocks of data, analyzing the received blocks of data to identify the host filesystem type from among a plurality of supported host filesystem types;
locating host filesystem data structures stored in the block-level storage system based on the identified host filesystem type;
analyzing the host filesystem data structures to determine usage, by the host filesystem, of the fixed-size blocks of data stored in the block-level storage system; and
managing storage of the fixed-size blocks of data in the block-level storage system based on the analysis;
the first analyzing, locating, second analyzing, and managing steps being performed, outside the control of the host computer, by a storage controller disposed in the block-level storage system.
15 Assignments
0 Petitions
Accused Products
Abstract
A filesystem-aware storage system locates and analyzes host filesystem data structures in order to determine storage usage of the host filesystem. To this end, the storage system might locate an operating system partition, parse the operating system partion to locate its data structures, and parse the operating system data structures to locate the host filesystem data structures. The storage system manages data storage based on the storage usage of the host file system. The storage system can use the storage usage information to identify storage areas that are no longer being used by the host filesystem and reclaim those areas for additional data storage capacity. Also, the storage system can identify the types of data stored by the host filesystem and manage data storage based on the data types, such as selecting a storage layout and/or an encoding scheme for the data based on the data type.
255 Citations
26 Claims
-
1. A method of supplementing functionality of a block-level storage system that is capable of storing fixed-size blocks of data under the control of a host filesystem, the host filesystem currently operating in a host computer, the method comprising:
-
in response to receiving, from the currently operating file system, a client request having fixed-sized blocks of data, analyzing the received blocks of data to identify the host filesystem type from among a plurality of supported host filesystem types; locating host filesystem data structures stored in the block-level storage system based on the identified host filesystem type; analyzing the host filesystem data structures to determine usage, by the host filesystem, of the fixed-size blocks of data stored in the block-level storage system; and managing storage of the fixed-size blocks of data in the block-level storage system based on the analysis; the first analyzing, locating, second analyzing, and managing steps being performed, outside the control of the host computer, by a storage controller disposed in the block-level storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A storage controller capable of storing and retrieving fixed-size blocks of data in a block-level storage system under the control of a host filesystem currently operating in a separate host computer, the data including host filesystem data structures, the storage controller comprising:
-
a parser configured to identify a host filesystem type from among a plurality of supported host filesystem types in response to receiving, from the currently-operating host filesystem, a client request having fixed-size blocks of data, and further configured to locate host filesystem data structures stored in the block-level storage system based on the identification; an analyzer configured to analyze the host filesystem data structures to determine usage, by the host filesystem, of the fixed-size blocks of data stored in the block-level storage system; and a storage manager configured to manage storage of the fixed-size blocks of data in the block-level storage system based on the analysis, the storage controller being configured to identify, locate, analyze, and manage outside the control of the host computer. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification