Parallel Storage Block-Level Access Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise-level computing systems face challenges with traditional hierarchical architectures, which are rigid and not suited for block-level input/output operations, leading to high latency and performance constraints, unlike large data centers that have transitioned to flat architectures.
Innovation Solution
Implementing a parallel storage system that provides block-level access to stored data, allowing existing software programs to read/write data at rates comparable to or greater than local storage, by translating file-level addresses into block-level addresses and distributing data across multiple storage nodes for concurrent execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional hierarchical networking architectures are used for enterprise-level computing systems, then data is stored and transmitted through multi-layer infrastructure, but latency is high and performance is constrained
Solution Approach 1:
The patent segments the hierarchical storage architecture into multiple parallel storage nodes, each capable of independent block-level access. This segmentation eliminates the multi-layer hierarchical structure by distributing data across nodes that can be accessed concurrently, thereby reducing latency and improving data transfer rates while maintaining manageable system complexity through modular design.
Solution Approach 2:
The patent transitions from a vertical hierarchical architecture to a horizontal flat architecture by adding a parallel dimension to data access. Instead of accessing data through multiple hierarchical layers, the system provides direct block-level access across parallel storage nodes, effectively changing the dimensional approach from vertical (hierarchical) to horizontal (parallel), which reduces latency and improves performance.
2Productivity
If flat architectures are implemented for enterprise-level computing systems, then data access is parallelized, but native interfaces are not suitable for block-level input/output
Solution Approach 1:
The patent introduces a translation layer or intermediary interface that bridges the flat parallel storage architecture and existing software programs. This intermediary translates between the parallel block-level access mechanisms of the flat architecture and the file-level interfaces expected by existing software, thereby maintaining compatibility with legacy applications while enabling high-performance parallel data access.
Solution Approach 2:
The patent creates a universal interface layer that serves multiple functions: it provides block-level access for high-performance operations, maintains compatibility with file-level interfaces for existing software, and enables both parallel and sequential access patterns. This multi-functional interface ensures that the flat architecture can serve diverse workloads without sacrificing adaptability to existing software ecosystems.
3Productivity
If data is distributed across storage nodes in parallel, then throughput is enhanced, but latency may increase due to network transmission
Solution Approach 1:
The patent implements preliminary actions by pre-caching frequently accessed data blocks in local memory or buffer zones at each storage node before they are actually needed. This preliminary positioning of data reduces the latency associated with network transmission when data is requested, as the data is already prepared and positioned for immediate access, while still maintaining the benefits of distributed parallel storage for overall throughput.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
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.