Method, system, program, and data structures for mapping logical blocks to physical blocks
First Claim
1. A method for mapping logical blocks to physical storage blocks in a storage controller in communication with at least one host system that views a logical storage space, comprising:
- defining, with the storage controller, the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
defining with the storage controller, a physical storage space as a sequence of physical chunks managed by the storage controller, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system;
associating, with the storage controller, each logical chunk in the sequence of logical chunks defining the logical storage space in the at least one host system with one physical chunk in the physical storage system, wherein continuous logical chunks are capable of being associated with non-contiguous physical chunks;
determining a number of logical chunks to add to the logical storage space to expand storage in the logical storage space;
determining one physical chunk not associated with a logical chunk in the physical storage space for each determined logical chunks to add; and
associating each determined physical chunk with each determined logical chunk to add to the logical storage space.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method, system, program, and data structure for a storage controller to map logical blocks to physical storage blocks. The storage controller is in communication with at least one host system that views a logical storage space. The storage controller defines the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space. The storage controller further defines a physical storage space as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical blocks in the physical storage system. The storage controller associates each logical chunk in the sequence of logical chunks defining the logical storage space with one physical chunk in the physical storage system. Further, the contiguous logical chunks are capable of being associated with non-contiguous physical chunks.
-
Citations
43 Claims
-
1. A method for mapping logical blocks to physical storage blocks in a storage controller in communication with at least one host system that views a logical storage space, comprising:
-
defining, with the storage controller, the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
defining with the storage controller, a physical storage space as a sequence of physical chunks managed by the storage controller, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system;
associating, with the storage controller, each logical chunk in the sequence of logical chunks defining the logical storage space in the at least one host system with one physical chunk in the physical storage system, wherein continuous logical chunks are capable of being associated with non-contiguous physical chunks;
determining a number of logical chunks to add to the logical storage space to expand storage in the logical storage space;
determining one physical chunk not associated with a logical chunk in the physical storage space for each determined logical chunks to add; and
associating each determined physical chunk with each determined logical chunk to add to the logical storage space. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for mapping logical blocks to physical storage blocks in a storage controller in communication with at least one host system that views a logical storage space, comprising:
-
defining, with the storage controller, the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
defining, with the storage controller, a physical storage space as a sequence of physical chunks managed by the storage controller, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system; and
associating, with the storage controller, each logical chunk in the sequence of logical chunks defining the logical storage space in the at least one host system with one physical chunk in the physical storage system, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks, wherein the logical chunk size is selected such that the logical storage space is a multiple of the logical chunk size. - View Dependent Claims (7, 8)
-
-
9. A method for mapping logical blocks to physical storage blocks in a storage controller in communication with at least one host system that views a logical storage space, comprising:
-
defining, with the storage controller, the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
defining, with the storage controller, a physical storage space as a sequence of physical chunks managed by the storage controller, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system;
associating, with the storage controller, each logical chunk in the sequence of logical chunks defining the logical storage space in the at least one host system with one physical chunk in the physical storage system, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks;
receiving an input/output (I/O) request with respect to one logical block from one host system;
determining one logical chunk including the requested logical block;
determining the physical chunk associated with the determined logical chunk; and
determining the physical storage block within the physical chunk including data for the requested logical block. - View Dependent Claims (10)
-
-
11. A method for mapping logical blocks to physical storage blocks in a storage controller in communication with at least one host system that views a logical storage space, comprising:
-
defining, with the storage controller, the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
defining, with the storage controller, a physical storage space as a sequence of logical chunks managed by the storage controller, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system;
associating, with the storage controller, each logical chunk in the sequence of logical chunks defining the logical storage space in the at least one host system with one physical chunk in the physical storage system, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks;
generating a logical storage table including one entry for each logical chunk in the logical storage space, wherein each entry includes;
(i) a logical chunk number indicating a location of the logical chunk for the entry in a sequence of logical chunks defining the logical storage space;
(ii) a physical chunk number indicating a location of the physical chunk associated with the logical chunk for the entry in the physical storage space; and
generating a physical storage table including one entry for each physical chunk in the physical storage space, wherein each entry includes;
(i) a physical chunk number indicating a location of the physical chunk for the entry in a sequence of physical chunks defining the logical storage space;
(ii) a logical chunk number indicating a location of the logical chunk associated with the physical chunk for the entry in the logical storage space, wherein associating one physical chunk to one logical chunk comprises indicating in the physical chunk number in the entry for the associated logical chunk in the logical storage table the physical chunk number in the physical storage table of the associated physical chunk and indicating in the logical chunk number in the entry for the physical chunk in the physical storage table the logical chunk number in the logical storage table of the associated logical chunk. - View Dependent Claims (12, 13, 14)
-
-
15. A storage controller system for mapping logical blocks defining a logical storage space to physical storage blocks in a physical storage system, wherein the storage controller is in communication with at least one host system that views a logical storage space, comprising:
-
means for defining the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
means for defining a physical storage space as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system;
means for associating each logical clunk in the sequence of logical chunks defining the logical storage space with one physical chunk in the physical storage system, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks;
means for determining a number of logical chunks to add to the logical storage space to expand storage in the logical storage space;
means for determining one physical chunk not associated with a logical chunk in the physical storage space for each detained logical chunks to add; and
means for associating each determined physical chunk with each determined logical chunk to add to the logical storage space. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A storage controller system for mapping logical blocks defining a logical storage space to physical storage blocks in a physical storage system, wherein the storage controller is in communication with at least one host system that views a logical storage space, comprising:
-
means for defining the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
means for defining a physical storage space as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical storage blocks in the physical storage system;
means for associating each logical chunk in the sequence of logical chunks defining the logical storage space with one physical chunk in the physical storage system, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks;
means for receiving an input/output (I/O) request with respect to one logical block;
means for determining one logical chunk including the requested logical block;
means for determining the physical chunk associated with the determined logical chunk; and
means for determining the physical storage block within the physical chunk including data for the requested logical block. - View Dependent Claims (21, 22, 23, 24)
-
-
25. An article of manufacture for mapping logical blocks to physical storage blocks, wherein at least one host system views a logical storage spaces the article of manufacture comprising computer readable storage media including at least one computer program embedded therein that is capable of causing a storage controller to perform;
-
defining the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space;
defining a physical storage space as a sequence of physical chunks, wherein each logical chunk comprises a plurality of physical storage blocks in the physical storage system;
associating each logical chunk in the sequence of logical chunks defining the logical storage space with one physical chunk in the physical storage system wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks;
determining a number of logical chunks to add to the logical storage space to expand storage in the logical storage space;
determining one physical chunk not associated with a logical chunk in the physical storage space for each determined logical chunks to add; and
associating each determined physical chunk with each determined logical chunk to add to the logical storage space.
-
-
26. An article of manufacture for mapping logical blocks to physical storage blocks, wherein at least one host system views a logical volume, the article of manufacture comprising computer readable storage media including at least one computer program embedded therein that is capable of causing a storage controller to perform;
-
defining the logical volume as a sequence of logical chunks wherein each logical chunk comprises a plurality of logical blocks in the logical volume, defining multiple RAID arrays as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical storage blocks in the RAID arrays;
associating each logical chunk in the sequence of logical chunks defining the logical volume with one physical chunk in the RAID arrays, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks, and wherein at least two logical chunks in the logical volume are located in separate RAID arrays. - View Dependent Claims (27, 28)
-
-
29. An article of manufacture for mapping logical blocks to physical storage blocks, wherein at least one host system views a logical volume, the article of manufacture comprising computer readable storage media including at least one computer program embedded therein that is capable of causing a storage controller to perform:
-
defining the logical volume as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical volume;
defining multiple RAID arrays as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical storage blocks in the RAID arrays;
associating each logical chunk in the sequence of logical chunks defining the logical volume with one physical chunk in the RAID arrays, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks, wherein the logical chunk size is selected such that the logical storage space is a multiple of the logical chunk size. - View Dependent Claims (30, 31)
-
-
32. An article of manufacture for mapping logical blocks to physical storage blocks, wherein at least one host system views a logical volume, the article of manufacture comprising computer readable storage media including at least one computer program embedded therein that is capable of causing a storage controller to perform:
-
defining the logical volume as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical volume;
defining multiple RAID arrays as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical storage blocks in the RAID arrays;
associating each logical chunk in the sequence of logical chunks defining the logical volume with one physical chunk in the RAID arrays, wherein contiguous logical chunk are capable of being associated with non-continuous physical chunks;
receiving an input/output (I/O) request with respect to one logical block;
determining one logical chunk including the requested logical block;
determining the physical chunk associated with the determined logical chunk; and
determining the physical storage block within the physical chunk including data for the requested logical block. - View Dependent Claims (33)
-
-
34. An article of manufacture for mapping logical blocks to physical storage blocks, wherein at least one host system views a logical volume, the article of manufacture comprising computer readable storage media including at least one computer program embedded therein that is capable of causing a storage controller to perform:
-
defining the logical volume as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical volume;
defining multiple RAID arrays as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical storage blocks in the RAID arrays;
associating each logical chunk in the sequence of logical chunks defining the logical volume with one physical chunk in the RAID arrays, wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks;
generating a logical storage table including one entry for each logical chunk in the logical storage space, wherein each entry includes;
(i) a logical chunk number indicating a location of the logical chunk for the entry in a sequence of logical chunks defining the logical storage space;
(ii) a physical chunk number indicating a location of the physical chunk associated with the logical chunk for the entry in the physical storage space; and
generating a physical storage table including one entry for each physical chunk in the physical storage space, wherein each entry includes;
(i) a physical chunk number indicating a location of the physical chunk for the entry in a sequence of physical chunks defining the logical storage space;
(ii) a logical chunk number indicating a location of the logical chunk associated with the physical chunk for the entry in the logical storage space, wherein associating one physical chunk to one logical chunk comprises indicating in the physical chunk number in the entry for the associated logical chunk in the logical storage table the physical chunk number in the physical storage table of the associated physical chunk and indicating in the logical chunk number in the entry for the physical chunk in the physical storage table the logical chunk number in the logical storage table of the associated logical chunk. - View Dependent Claims (35, 36, 37)
-
-
38. A computer useable data transmission medium including data structures for use by a storage controller for mapping logical blocks to physical storage blocks, comprising:
-
information on a sequence of logical chunks, wherein each logical chunk defines a plurality of contiguous logical blocks in a logical storage space;
information on a sequence of physical chunks that define a plurality of contiguous physical storage blocks in a RAID array;
information on an association of logical chunks to physical chunks, wherein each logical chunk in the sequence of logical chunks defining the logical storage space is associated with one physical chunk in the RAID array, and wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks, wherein at least two logical chunks in the logical volume are located in separate RAID arrays.
-
-
39. A computer useable data transmission medium including data structures for use by a storage controller for mapping logical blocks to physical storage blocks, comprising:
-
information on a sequence of logical chunks, wherein each logical chunk defines a plurality of contiguous logical blocks in a logical storage space;
information on a sequencing of physical chunks that define a plurality of contiguous physical storage blocks in a physical storage system;
information on an association of logical chunks to physical chunks, wherein each logical chunk in the sequence of logical chunks defining the logical storage space is associated with one physical chunk in the physical storage system, and wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks, wherein the physical chunk size is a multiple of a stripe size. - View Dependent Claims (40)
-
-
41. A computer useable data transmission medium including data structures for use by a storage controller for mapping logical blocks to physical storage blocks, comprising:
-
information on a sequence of logical chunks wherein each logical chunk defines a plurality of contiguous logical blocks in a logical storage space;
information on a sequence of physical chunks that define a plurality of contiguous physical storage blocks in a physical storage system;
information on an association of logical chunks to physical chunks, wherein each logical chunk in the sequence of logical chunks defining the logical storage space is associated with one physical chunk in the physical storage system, and wherein contiguous logical chunks are capable of being associated with non-contiguous physical chunks, wherein the logical chunk size is selected such that the logical storage space is a multiple of the logical chunk size. - View Dependent Claims (42, 43)
-
Specification