Hybrid Memory Interface for Sub-Block I/O Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems lack flexibility in supporting various sizes of storage I/O access requests, leading to resource consumption and latency issues due to the need for aggregation of sub-block level requests to block level requests.
Innovation Solution
A hybrid memory system interface that provides an I/O access path supporting both block level and sub-block level storage I/O access requests, allowing direct access to storage systems without the need for aggregation through main memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If sub-block level storage I/O access requests are aggregated to block level requests through main memory, then compatibility with existing memory systems is maintained, but resource consumption increases and latency is introduced
Solution Approach 1:
The patent introduces a hybrid interface as an intermediary component between the processing resource and storage system. This hybrid interface includes a file system portion that can directly handle sub-block level storage I/O access requests without requiring aggregation through main memory, thereby reducing latency while maintaining compatibility with existing storage systems through standardized interfaces.
Solution Approach 2:
The patent segments the I/O access path into two distinct modes: block level access path for traditional storage operations and sub-block level access path for finer-grained operations. This segmentation allows the system to optimize for speed when sub-block access is needed while preserving compatibility for block-level operations through the same hybrid interface.
2Adaptability or versatility
If sub-block level storage I/O access requests are aggregated to block level requests, then storage system compatibility is maintained, but resource consumption increases
Solution Approach 1:
The hybrid interface acts as an intermediary that eliminates the need for aggregation through main memory. The file system portion directly manages sub-block level requests and translates them appropriately for storage system operations, reducing unnecessary data movement and resource consumption while maintaining storage system compatibility.
Solution Approach 2:
The patent extracts the aggregation function from main memory and relocates it to the hybrid interface's file system portion. This extraction prevents main memory from being unnecessarily involved in sub-block level request aggregation, thereby reducing resource consumption and freeing main memory for other critical operations.
3Device complexity
If a single I/O access path is used for storage operations, then system simplicity is maintained, but flexibility in supporting various request sizes is reduced
Solution Approach 1:
The patent implements a dynamic I/O access path within the hybrid interface that can adaptively switch between block level and sub-block level access modes based on the specific request requirements. This dynamic capability provides flexibility for various request sizes while maintaining a unified interface structure, balancing simplicity and adaptability.
Solution Approach 2:
The hybrid interface is designed as a universal component that handles both block level and sub-block level storage I/O access requests through a single unified interface. The file system portion provides multi-functional capabilities, supporting different request types and sizes without requiring separate dedicated paths, thereby maintaining simplicity while achieving versatility.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present disclosure includes apparatuses and methods related to a hybrid memory system interface. An example computing system includes a processing resource and a storage system coupled to the processing resource via a hybrid interface. The hybrid interface can provide an input/output (I/O) access path to the storage system that supports both block level storage I/O access requests and sub-block level storage I/O access requests.