DATA STORAGE SYSTEM, PROCESS AND COMPUTER PROGRAM FOR SUCH DATA STORAGE SYSTEM FOR REDUCING READ AND WRITE AMPLIFICATIONS
First Claim
1. A non-transitory computer readable storage medium storing a computer program including instructions to cause a computer to execute a method for managing a data storage system, the method comprising:
- managing a metadata tree structure for storing data to one or more storage devices of the data storage system in units of blocks, the metadata tree structure including a root node pointing directly and/or indirectly to blocks, and a leaf tree level having one or more direct nodes pointing to blocks, and including one or more intermediate tree levels having one or more indirect nodes pointing to indirect nodes and/or direct nodes of the metadata tree structure;
performing caching of nodes of the metadata structure on the basis of the tree level, wherein the caching on the basis of the tree level includes systematically maintaining the root node in a cache memory and further includes systematically maintaining nodes of at least one first tree level of the metadata structure in the cache memory, wherein other nodes of the metadata structure, including nodes of at least one second tree level of the metadata structure, are stored to the one or more storage devices to be temporarily loaded to the cache memory upon being required for managing I/O access to data based on the metadata structure; and
managing I/O access to data based on the metadata structure, including obtaining the root node and one or more nodes of the at least one first tree level of the metadata structure systematically maintained in the cache memory from the cache memory and obtaining one or more nodes of the at least one second tree level of the metadata structure from the cache memory or the one or more storage devices.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure relates to a data storage system, and processes and computer programs for such data storage system, for example including processing of: managing one or more metadata tree structures for storing data to one or more storage devices of the data storage system in units of blocks, each metadata tree structure including a root node pointing directly and/or indirectly to blocks, and a leaf tree level having one or more direct nodes pointing to blocks, and optionally including one or more intermediate tree levels having one or more indirect nodes pointing to indirect nodes and/or direct nodes of the respective metadata tree structure; maintaining the root node and/or nodes of at least one tree level of each of at least one metadata structure in a cache memory; and managing I/O access to data based on the one or more metadata structures.
13 Citations
30 Claims
-
1. A non-transitory computer readable storage medium storing a computer program including instructions to cause a computer to execute a method for managing a data storage system, the method comprising:
-
managing a metadata tree structure for storing data to one or more storage devices of the data storage system in units of blocks, the metadata tree structure including a root node pointing directly and/or indirectly to blocks, and a leaf tree level having one or more direct nodes pointing to blocks, and including one or more intermediate tree levels having one or more indirect nodes pointing to indirect nodes and/or direct nodes of the metadata tree structure; performing caching of nodes of the metadata structure on the basis of the tree level, wherein the caching on the basis of the tree level includes systematically maintaining the root node in a cache memory and further includes systematically maintaining nodes of at least one first tree level of the metadata structure in the cache memory, wherein other nodes of the metadata structure, including nodes of at least one second tree level of the metadata structure, are stored to the one or more storage devices to be temporarily loaded to the cache memory upon being required for managing I/O access to data based on the metadata structure; and managing I/O access to data based on the metadata structure, including obtaining the root node and one or more nodes of the at least one first tree level of the metadata structure systematically maintained in the cache memory from the cache memory and obtaining one or more nodes of the at least one second tree level of the metadata structure from the cache memory or the one or more storage devices. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
2. (canceled)
-
14. A method for managing a data storage system, comprising:
-
managing a metadata tree structure for storing data to one or more storage devices of the data storage system in units of blocks, the metadata tree structure including a root node pointing directly and/or indirectly to blocks, and a leaf tree level having one or more direct nodes pointing to blocks, and including one or more intermediate tree levels having one or more indirect nodes pointing to indirect nodes and/or direct nodes of the metadata tree structure; performing caching of nodes of the metadata structure on the basis of the tree level, wherein the caching includes maintaining the root node and nodes of at least one tree level of each of the metadata structure in a cache memory; and managing I/O access to data based on the metadata structure, including obtaining the root node and nodes of the at least one tree level of the metadata structure maintained in the cache memory from the cache memory and obtaining at least one node of another tree level of the metadata structure from the one or more storage devices. - View Dependent Claims (15, 16, 17)
-
-
18. A data storage system connectable to one or more client computers, comprising:
-
a processing unit including a processor and/or a programmable logic device; a cache memory; and one or more storage devices and/or an interface to communicably connect with one or more storage devices; the processing unit being adapted to execute; managing a metadata tree structure for storing data to the one or more storage devices in units of blocks, the metadata tree structure including a root node pointing directly and/or indirectly to blocks, and a leaf tree level having one or more direct nodes pointing to blocks, and including one or more intermediate tree levels having one or more indirect nodes pointing to indirect nodes and/or direct nodes of the metadata tree structure; performing caching of nodes of the metadata structure on the basis of the tree level, wherein the caching includes maintaining the root node and nodes of at least one tree level of each of the metadata structure in the cache memory; and managing I/O access to data based on the metadata structure, including obtaining the root node and nodes of the at least one tree level of the metadata structure maintained in the cache memory from the cache memory and obtaining at least one node of another tree level of the metadata structure from the one or more storage devices. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification