Storage Device Prefetching Stream Data via Virtual Memory Buffer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face a decrease in bandwidth and transmission delay when handling stream data, particularly in systems that require efficient processing and storage of large data volumes, which affects the quality of service.
Innovation Solution
A system and method that utilize a storage device connected to a host via virtual memory space, allowing direct memory access by registering target devices to the virtual memory, where the storage device prefetches stream data and loads it onto a buffer in units of chunk size, enabling efficient streaming access and processing without additional commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the storage device handles stream data using traditional methods, then data storage and retrieval functions are maintained, but bandwidth decreases and transmission delay increases
Solution Approach 1:
The storage device performs preliminary actions by prefetching stream data from the nonvolatile memory device into the buffer before actual streaming operations. This advance preparation reduces transmission delay during data streaming, as the data is already positioned and ready for immediate access when needed.
Solution Approach 2:
The patent introduces a buffer as an intermediary component between the nonvolatile memory device and the streaming interface. This buffer acts as a mediator that temporarily holds prefetched data, enabling efficient data transfer and reducing the impact on bandwidth during stream data operations.
2Quantity of substance
If the storage device processes large amounts of stream data, then data volume handling capacity is maintained, but bandwidth decreases
Solution Approach 1:
The patent segments the stream data processing into two distinct phases: a prefetching phase where data is loaded from nonvolatile memory to buffer, and a streaming phase where data is transferred from buffer to destination. This segmentation allows large data volumes to be handled efficiently by preparing data in advance, thereby maintaining bandwidth during actual streaming operations.
Solution Approach 2:
By performing preliminary prefetching of large data volumes into the buffer before streaming operations, the system prepares data in advance. This preliminary action enables the storage device to handle large quantities of stream data without significantly impacting bandwidth during the actual data transfer phase.
3Ease of operation
If the storage device uses virtual memory space for direct memory access, then access efficiency is improved, but system complexity increases
Solution Approach 1:
The buffer is configured to serve multiple functions: it acts as a prefetching target for loading data from nonvolatile memory, serves as a source for streaming data to destinations, and is registered in the virtual memory space for direct memory access by multiple devices. This multi-functionality improves memory access efficiency while managing system complexity through a unified buffer structure.
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
A storage device which is connected to a host using a virtual memory includes a solid state drive that receives a streaming access command including a logical block address (LBA) list and a chunk size, and prefetches stream data requested according to the LBA list and the chunk size from a nonvolatile memory device without an additional command. The prefetched stream data is sequentially loaded onto a buffer, and an in-storage computing block accesses a streaming region registered on the virtual memory to sequentially read the stream data loaded onto the buffer in units of the chunk size. The buffer is mapped onto a virtual memory address of the streaming region.