Block-level access to parallel storage
First Claim
Patent Images
1. In a computing environment, a system comprising:
- a translator component coupled to a plurality of storage nodes and operative to parallelize input/output operations associated with file data within a binary large object, the plurality of storage nodes being associated with parallel storage of portions of the binary large object and each storage node being operative to serve a portion of the portions within a processing cycle, the translator component further operative to partition the file data into a plurality of blocks of which each block size is equal to the portion size, translate file-level addresses corresponding to offsets in the plurality of blocks into block-level addresses corresponding to an offset in the portion being served by the each storage node, and using the block-level addresses to retrieve the plurality of blocks within the processing cycle 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.
-
Citations
18 Claims
-
1. In a computing environment, a system comprising:
a translator component coupled to a plurality of storage nodes and operative to parallelize input/output operations associated with file data within a binary large object, the plurality of storage nodes being associated with parallel storage of portions of the binary large object and each storage node being operative to serve a portion of the portions within a processing cycle, the translator component further operative to partition the file data into a plurality of blocks of which each block size is equal to the portion size, translate file-level addresses corresponding to offsets in the plurality of blocks into block-level addresses corresponding to an offset in the portion being served by the each storage node, and using the block-level addresses to retrieve the plurality of blocks within the processing cycle when handling the input/output operations. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. In a computing environment, a method comprising:
-
parallelizing input/output operations associated with file data within a binary large object, a plurality of storage nodes being associated with parallel storage of portions of the binary large object and each storage node being operative to serve a portion of the portions within a processing cycle; partitioning the file data into a plurality of blocks of which each block size is equal to the portion size; translating file-level addresses corresponding to offsets in the plurality of blocks into block-level addresses corresponding to an offset in the portion being served by the each storage node; and using the block-level addresses to retrieve the plurality of blocks within the processing cycle when handling the input/output operations. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable hardware media having computer-executable instructions stored thereon, which cause a computer to perform steps comprising:
-
parallelizing input/output operations associated with file data within a binary large object, a plurality of storage nodes being associated with parallel storage of portions of the binary large object and each storage node being operative to serve a portion of the portions within a processing cycle; partitioning the file data into a plurality of blocks of which each block size is equal to the portion size; translating file-level addresses corresponding to offsets in the plurality of blocks into block-level addresses corresponding to an offset in the portion being served by the each storage node; and using the block-level addresses to retrieve the plurality of blocks within the processing cycle when handling the input/output operations. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification