SSD Controller Mode Switching for Storage and Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional SSD controllers are not optimized to leverage the low access latencies of newer non-volatile memories and interconnect communication protocols, limiting their ability to function effectively as both storage and system memory devices.
Innovation Solution
Configuring SSDs to operate in storage or memory modes through configuration commands, utilizing DMA capabilities and memory mapping to enable efficient data access and storage, aligning with PCIe and NVMe specifications, and dynamically partitioning non-volatile memory arrays to meet varying host system demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional SSD controllers are used with newer non-volatile memories, then access latency is reduced, but the controller cannot effectively function as both storage and system memory devices
Solution Approach 1:
The SSD controller dynamically switches between storage mode and memory mode based on operational requirements. The controller can reconfigure itself to provide either storage device functionality with DMA capabilities or system memory functionality with memory-mapped I/O, allowing it to adapt to different operational contexts and leverage low latency for both purposes
Solution Approach 2:
The SSD controller is designed to perform multiple functions by supporting both storage mode operations (with DMA for data transfer) and memory mode operations (with memory-mapped I/O for system memory access). This multi-functionality allows the same hardware to serve as either a storage device or system memory, maximizing resource utilization and adaptability
2Productivity
If SSD controllers are designed for storage operations with DMA capabilities, then data storage efficiency is improved, but memory access performance for system memory usage is limited
Solution Approach 1:
The controller dynamically reconfigures its operational mode based on the required function. When operating in storage mode, it optimizes for data storage efficiency using DMA capabilities. When operating in memory mode, it reconfigures to optimize for memory access performance using memory-mapped I/O, thus achieving high performance for both storage and memory access operations at different times
3Speed
If SSD controllers are designed for memory operations with memory-mapped I/O, then system memory access speed is improved, but storage operation capabilities are reduced
Solution Approach 1:
The controller dynamically switches between memory mode and storage mode based on operational requirements. In memory mode, it provides fast system memory access through memory-mapped I/O. In storage mode, it provides full storage operation capabilities through DMA capabilities and device programming interfaces, thus maintaining both high-speed memory access and storage operation capabilities through time-based reconfiguration
4Quantity of substance
If non-volatile memory arrays are dedicated to storage mode, then storage capacity is maximized, but availability for system memory expansion is reduced
Solution Approach 1:
The non-volatile memory arrays are dynamically allocated between storage mode and memory mode based on system requirements. When needed for storage, the arrays provide maximum storage capacity. When system memory expansion is required, the same arrays can be reconfigured to provide memory-mapped access, thus maximizing both storage capacity and system memory expansion availability at different times
Data Source
AI summary
Examples are disclosed for configuring a solid state drive (SSD) to operate in a storage mode or a memory mode. In some examples, one or more configuration commands may be received at a controller for an SSD having one or more non-volatile memory arrays. The SSD may be configured to operate in at least one of a storage mode, a memory mode or a combination of the storage mode or the memory mode based on the one or more configuration commands. Other examples are described and claimed.


