Block-level Access to Parallel Storage
First Claim
1. In a computing environment, a method performed at least in part on at least one processor, comprising, parallelizing input/output operations associated with file data, including, partitioning the file data into a plurality of blocks, identifying a plurality of storage nodes for the plurality of blocks, the plurality of storage nodes associated with parallel storage, translating addresses corresponding to the plurality of blocks into block-level addresses corresponding to the plurality of storage nodes, and using the block-level addresses to access one or more block sequences of the plurality of blocks in parallel when handling the input/output operations.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject disclosure is directed towards one or more parallel storage components for parallelizing block-level input/output associated with remote file data. Based upon a mapping scheme, the file data is partitioned into a plurality of blocks in which each may be equal in size. A translator component of the parallel storage may determine a mapping between the plurality of blocks and a plurality of storage nodes such that at least a portion of the plurality of blocks is accessible in parallel. Such a mapping, for example, may place each block in a different storage node allowing the plurality of blocks to be retrieved simultaneously and in its entirety.
260 Citations
20 Claims
- 1. In a computing environment, a method performed at least in part on at least one processor, comprising, parallelizing input/output operations associated with file data, including, partitioning the file data into a plurality of blocks, identifying a plurality of storage nodes for the plurality of blocks, the plurality of storage nodes associated with parallel storage, translating addresses corresponding to the plurality of blocks into block-level addresses corresponding to the plurality of storage nodes, and using the block-level addresses to access one or more block sequences of the plurality of blocks in parallel when handling the input/output operations.
- 12. In a computing environment, a system comprising, one or more parallel storage components coupled to a storage node group, including, a translator component configured to map virtual storage extent portions to an address space associated with the storage node group, wherein adjacent portions map to non-adjacent block-level addresses within the address space, and to retrieve at least a portion of the adjacent portions concurrently.
-
18. One or more computer-readable media having computer-executable instructions stored thereon, which cause a computer to perform steps comprising:
-
accessing a file data representation comprising block-level addresses within a binary large object that corresponds to byte sequences comprising file data; processing file system input/output operations that are directed to file data associated with the byte sequences, including transforming the file-level input/output operations into parallelized, block-level input/output operations; and communicating the parallelized, block-level input/output operations to one or more storage nodes associated with the binary large object. - View Dependent Claims (19, 20)
-
Specification