Bus Width Negotiation in Data Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data transfer methods for flash memory cards and similar devices are cumbersome and inefficient, requiring a series of decisions by the host system to switch from a default x1 data bus to a wider bus, which can lead to hot switching conditions and slow initialization processes.
Innovation Solution
A data storage controller that supports both standard and abbreviated initialization sequences, with dedicated pins or pin configurations to indicate supported bus widths, allowing for bus width determination prior to data communication, thereby eliminating the need for switching from a default x1 bus to a wider bus during active device operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the data bus width is increased from x1 to x4 or x8 to improve data transfer rate, then the data transfer speed is improved, but the device complexity and initialization complexity increase due to requiring multiple decision steps and separate handling of each bus configuration
Solution Approach 1:
The patent applies preliminary action by determining the bus width capability of the data storage device during the initialization sequence, before any data transfer operations begin. The host system queries the device to extract information about alternative bus configurations supported, and both host and device are re-configured to operate using the appropriate bus width before data transfer starts. This eliminates the need for hot switching during active operation.
Solution Approach 2:
The patent applies parameter changes by dynamically adjusting the bus width parameter from the default x1 configuration to wider configurations (x4 or x8) based on the capabilities of both the host system and the data storage device. This parameter change is performed during initialization, allowing the system to optimize data transfer rate while managing complexity through structured negotiation.
2Adaptability or versatility
If the host queries the data storage device over the x1 bus to extract bus configuration information, then the bus width negotiation is achieved, but the initialization process becomes slower and more cumbersome due to requiring a series of decisions and separate handling of each configuration
Solution Approach 1:
The bus width negotiation and configuration determination are performed as preliminary actions during the initialization sequence, before any data transfer operations begin. This structured approach consolidates the negotiation process into a defined initialization phase, reducing overall initialization time compared to potential iterative adjustments during operation.
Solution Approach 2:
The host system queries the data storage device to extract information about alternative bus configurations supported by the device. This feedback mechanism allows the host to make informed decisions about the appropriate bus width to use, streamlining the negotiation process and avoiding unnecessary trial-and-error adjustments.
3Duration of action of moving object
If switching from the default x1 bus to a wider bus occurs while the data storage device is active, then the bus width can be changed dynamically, but hot switching conditions may occur causing system instability
Solution Approach 1:
The patent explicitly prevents hot switching by performing all bus width changes during the initialization sequence, before the data storage device becomes active for data transfer operations. Both the host and the data storage device are re-configured to operate using the appropriate bus width before any operational commands are issued, ensuring system stability and eliminating hot switching conditions.
Data Source
AI summary
There is provided a method and apparatus for bus negotiation. One such method includes determining a configuration of a first bond pad, the first bond pad indicating whether a host is configured to communicate with a fixed data storage device or a removable data storage device. If the first bond pad indicates the host is configured to communicate with a fixed data storage device, then the method additionally includes determining the configuration of a second bond pad. The second bond pad indicates the supported bus width of the fixed data storage device.


