Multi-Processor Controller Command Mailbox Priority Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor systems, sudden power off events can lead to data loss due to improper handling of commands and priority management between processors, resulting in erroneous data output and increased response times for read commands.
Innovation Solution
A controller with multiple processors that manage commands by storing them in mailboxes based on type and priority, ensuring that commands with higher processing priority are served first, and temporarily buffering data for correct sequencing and storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If commands are stored in mailboxes based on type without priority management, then the device complexity is reduced, but the response time for read commands increases and data integrity is compromised during sudden power off events
Solution Approach 1:
The command management system is segmented by dividing commands into different types (read commands and non-read commands) and storing them in separate mailboxes. This segmentation allows the second processor to efficiently manage and prioritize commands without requiring complex global arbitration logic, thus improving response time while maintaining manageable complexity.
Solution Approach 2:
Commands are pre-categorized and stored in appropriate mailboxes based on their type before execution. The first processor performs preliminary sorting of incoming commands into read or non-read categories and places them in corresponding mailboxes, enabling the second processor to immediately execute high-priority read commands without delay.
2Reliability
If commands are processed in strict sequential order without priority differentiation, then the device complexity is minimized, but data integrity is compromised during sudden power off events
Solution Approach 1:
The system segments commands into different priority levels using separate mailboxes. Read commands, which have higher priority for data integrity, are stored in one mailbox while non-read commands are stored in another. This segmentation enables differential priority handling without requiring complex real-time scheduling algorithms.
Solution Approach 2:
The mailbox structure acts as an intermediary between command reception and execution. By introducing mailboxes as intermediate storage with inherent priority characteristics, the system resolves the conflict between sequential processing simplicity and priority-based reliability without adding complex scheduling logic to the processor itself.
3Productivity
If multiple processors collaborate without structured communication protocol, then the productivity is improved, but erroneous data output occurs due to improper command handling
Solution Approach 1:
Command types are segmented into distinct categories with dedicated mailboxes, ensuring that read commands and non-read commands are handled by the appropriate processor according to their priority. This segmentation prevents processor interference and ensures data accuracy while maintaining collaborative processing efficiency.
Solution Approach 2:
The mailbox structure enables self-service processing where the first processor automatically routes commands to appropriate mailboxes based on their type, and the second processor automatically executes high-priority read commands from its mailbox without requiring complex inter-processor coordination protocols, thus maintaining both productivity and reliability.
Data Source
AI summary
A controller may include a first processor suitable for sequentially storing commands provided from a host into one of first and second mailboxes of a memory according to types of the commands; and a second processor suitable for serving the commands stored in the first and second mailboxes, wherein, when provided from the host is a first command corresponding to the same logical address as a second command stored in the second mailbox, the first and second commands being of different types, the first processor stores the first command into the first mailbox and stores into the memory a priority information representing the second command having a higher processing priority to the first command, and wherein the second processor serves the commands stored in the first mailbox and the second mailbox by referring to the priority information.


