AHCI Controller Memory Sharing for Real Mode Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems face memory constraints in real mode operating environments, particularly when implementing Advanced Host Controller Interface (AHCI) controllers, which require substantial memory resources due to the need for separate data structures for each port, exacerbating the limited memory space in these environments.
Innovation Solution
A system and method that configures persistent mass storage device controllers to use a shared block of system memory as a data structure for multiple storage devices, reducing memory consumption by sharing command lists and Frame Information Structure blocks among ports, especially in real mode environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If AHCI controllers implement separate data structures for each port, then controller functionality and performance are improved, but memory consumption increases significantly
Solution Approach 1:
The patent merges the command list data structures of multiple AHCI controller ports into a single shared memory region. Instead of allocating separate command lists for each port, the system implements a unified command list structure that serves multiple ports simultaneously, thereby reducing overall memory consumption while maintaining controller functionality.
Solution Approach 2:
The patent makes the command list data structure universal by designing it to serve multiple ports rather than being dedicated to a single port. The shared command list structure can be dynamically allocated to different ports as needed, allowing one data structure to perform multiple functions across different controller ports.
2Adaptability or versatility
If AHCI controllers allocate substantial memory for port-specific data structures, then support for multiple storage devices is improved, but available system memory in real mode decreases
Solution Approach 1:
The patent combines the memory allocations for command lists of multiple ports into a single shared memory pool. This merging approach allows the system to support multiple storage devices connected to different AHCI ports while consuming less total memory than would be required if each port had its own dedicated command list.
3Productivity
If separate command lists are allocated for each AHCI port, then port-specific operations are optimized, but memory space efficiency deteriorates
Solution Approach 1:
The patent implements a dynamic memory allocation scheme where the shared command list structure can be flexibly assigned to different ports based on operational needs. Rather than static separate allocations, the system dynamically manages the shared command list resources to maintain port operation efficiency while optimizing memory space utilization.
Data Source
AI summary
An information handling system includes a processor and a system memory coupled to the processor. The system has a plurality of persistent mass storage devices including first and second storage devices. A device controller includes a first port operably connected to the first storage device and a second port operably connected to the second storage device. The controller transfers data between system memory and the storage devices. System firmware includes instructions to configure the controller to define a first command list and frame information structure (FIS) associated with the first port and a second command list and FIS associated with the second port where the first and second command lists share a common block of system memory.


