Block Storage Device Memory-Mapped Interface Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to accessing non-volatile memory in electronic devices either rely on block access, which is efficient for larger data transfers but complex for user applications, or memory-mapped access, which is simpler but limited in bandwidth due to reduced parallelism.

Innovation Solution

A block-based storage device with both memory-mapped and block interfaces allows for a mixed hardware/software design, enabling direct memory-mapped access for smaller data and efficient DMA block transfers for larger data, while also supporting legacy block accesses and reducing RAM caching requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If memory-mapped access is used to simplify user application interfacing, then ease of operation is improved, but bandwidth is reduced due to reduced parallelism

Engineering Contradiction:
Improveease of operationVSAvoidbandwidth
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The storage device is equipped with both a memory-mapped interface and a block interface, allowing it to serve multiple access modes simultaneously. The system can selectively route requests to the appropriate interface based on workload characteristics, enabling the device to provide both simplified memory-mapped access for small data operations and high-performance block access for large data transfers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically selects between memory-mapped access and block access modes based on the specific operation requirements. For small data transfers, memory-mapped access provides simplicity and low latency. For large data transfers, the system switches to block access mode to maximize bandwidth and parallelism, thereby adapting the access method to match the operational needs.

Inventive Principle:
Principle #15Dynamics

2Productivity

If block access is used to improve bandwidth through parallelism, then productivity is improved, but device complexity increases for user applications

Engineering Contradiction:
ImprovebandwidthVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The block interface acts as an intermediary that handles complex parallel block operations, shielding user applications from the complexity of managing multiple parallel transfers. The block interface abstracts the parallelism management, allowing applications to benefit from high bandwidth without directly dealing with the complexity of coordinating multiple simultaneous operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage device segregates different access modes into separate interfaces: a memory-mapped interface for simple, low-latency small data operations and a block interface for high-performance parallel large data transfers. This segmentation allows each interface to be optimized for its specific purpose while preventing the complexity of block operations from affecting applications that only need simple access.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If memory-mapped access is used for direct access, then ease of operation is improved, but total bandwidth is reduced

Engineering Contradiction:
Improveease of operationVSAvoidtotal bandwidth
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The storage device merges both memory-mapped and block interfaces into a single unified device, allowing it to handle both types of operations simultaneously. This combination enables the system to achieve both the ease of memory-mapped access and the high bandwidth of block access within the same device, eliminating the need to choose one interface type over the other.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9116800B2Block-based storage device with a memory-mapped interface
Publication Date: 2015.08.25 MICRON TECHNOLOGY INC
  • US9116800B2 patent drawing
  • US9116800B2 patent drawing
  • US9116800B2 patent drawing

AI summary

Described herein are methods for accessing a block-based storage device having a memory-mapped interface and a block interface. In one embodiment, an apparatus (e.g., block-based storage device) includes a storage array to store data and a memory-mapped interface that is coupled to the storage array. The memory-mapped interface includes memory-mapped memory space. The memory-mapped interface receives direct access requests from a host to directly access memory-mapped files. The apparatus also includes a block interface that is coupled to the storage array. The block interface receives block requests from a storage driver to access the storage array.