Storage Memory Direct Access Offloading Transactional Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Consumer machines face resource constraints due to slow storage provider I/O request processing speeds, necessitating data caching and journaling, which can be resource-intensive, especially when using non-volatile or persistent memory as storage devices.
Innovation Solution
A Storage Memory Direct Access (SMDA) provider that pins a storage memory region to a consumer machine's memory address, allowing data access as if it were memory, and atomically commits data upon unpinning, offloading transactional integrity support and reducing computational load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data caching and journaling are implemented to handle slow storage I/O, then data access reliability is improved, but processor resource utilization increases
Solution Approach 1:
The patent extracts the caching and journaling functions from the consumer machine and relocates them to the storage provider. The storage provider now maintains its own cache and journal structures, allowing the consumer machine to access storage devices directly without burdening its processor with caching management overhead, thus maintaining reliability while reducing processor resource utilization
Solution Approach 2:
The storage provider acts as an intermediary between the consumer machine and the storage devices. It implements a storage provider interface that handles caching, journaling, and transaction management, allowing consumer machines to interact with storage as if it were local memory without directly managing the complexity of persistent storage operations
2Speed
If data caching is used to reduce access times, then data access speed is improved, but processor resource consumption increases
Solution Approach 1:
The caching functionality is extracted from the consumer machine's processor and implemented within the storage provider. The storage provider maintains cache structures in its own address space and manages cache operations independently, allowing fast data access without consuming consumer machine processor resources
Solution Approach 2:
The storage provider performs self-service by managing its own cache and journal structures. It automatically handles cache allocation, maintenance, and persistence without requiring the consumer machine's processor to intervene, thus achieving fast access speeds while eliminating the resource consumption burden
3Adaptability or versatility
If storage devices are accessed through traditional I/O channels, then compatibility is maintained, but access speed decreases
Solution Approach 1:
The storage provider serves as an intermediary layer between consumer machines and storage devices. It implements a memory-mapped interface that allows consumer machines to access storage devices through memory-like operations rather than traditional slow I/O channels, while the storage provider handles the actual I/O communication in the background
Solution Approach 2:
The patent replaces the mechanical I/O request processing system with a memory-mapped access system. Instead of using traditional I/O channels that require complex request construction and processing, the system uses direct memory-mapped access that leverages the processor's fast memory access pathways, dramatically improving access speed while maintaining compatibility through the storage provider interface
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Example implementations relate to a storage memory direct access (SMDA) provider. The SMDA provider may pin a storage memory region to a memory address of a consumer machine, the storage memory region corresponding to a storage range of a storage device requested by the consumer machine. The SMDA provider may atomically commit data in the storage memory region accessed by the consumer machine via the memory address.