Multi-Host Storage Controller for Real-Time Command Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-host storage systems face challenges in processing real-time commands in a timely manner due to issues with command prioritization and resource allocation among multiple hosts.
Innovation Solution
A storage system with a nonvolatile memory device and a storage controller that includes a real-time manager to control multiple physical functions, allowing for real-time command processing by obtaining and managing real-time information to prioritize and allocate resources effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single storage medium supports multiple hosts, then storage system versatility is improved, but real-time command processing speed deteriorates
Solution Approach 1:
The storage controller is divided into multiple independent command processing units, each dedicated to handling commands from specific hosts. This segmentation allows simultaneous processing of commands from multiple hosts without interference, maintaining real-time processing speed while supporting multiple hosts.
Solution Approach 2:
Command queues are pre-allocated and organized for each host before commands arrive. The storage controller prepares processing pathways in advance, so when real-time commands are received, they can be immediately routed to appropriate processing units without delay, ensuring timely processing while maintaining multi-host capability.
2Ease of operation
If commands are processed in FIFO order, then processing fairness is improved, but real-time command response time deteriorates
Solution Approach 1:
The command processing system dynamically adjusts priority levels based on command characteristics and host requirements. Real-time commands are automatically assigned higher priority and can preempt lower-priority commands, while maintaining overall system fairness through configurable priority schemes and quality-of-service parameters.
Solution Approach 2:
Different processing policies are applied to different command types and hosts. Real-time commands receive expedited processing with dedicated resources, while non-real-time commands follow standard FIFO processing. This localized quality differentiation ensures timely response for critical commands while maintaining fairness for general operations.
3Productivity
If storage resources are shared among multiple hosts, then resource utilization efficiency is improved, but real-time command processing reliability deteriorates
Solution Approach 1:
Storage resources are logically segmented into dedicated pools for real-time operations and general operations. Real-time command processing is assigned isolated resource pools including dedicated buffers, processing units, and I/O channels, ensuring that real-time commands can always access required resources without contention from other hosts, thereby guaranteeing processing reliability while maintaining overall resource efficiency.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A storage device 100 includes a nonvolatile memory device 120 and a storage controller 110 configured to control the nonvolatile memory device 120 under control of a plurality of hosts 11-1n. The storage controller 110 includes a plurality of physical functions, respectively corresponding to the plurality of hosts 11-1n, and a real-time manager 111 configured to control the plurality of physical functions based on real-time information of a real-time command when the real-time command is issued from at least one host 11 among the plurality of hosts 11-1n.