SATA Host Controller Non-Standard Register Access via Unused Command Parameters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for reading and writing non-standard registers in SATA devices are limited by their reliance on UART or I2C interfaces and vendor-specific commands, which lack flexibility and can result in unintended changes to register values.

Innovation Solution

Utilizing a standard command with an unused input parameter as an executive parameter to drive SATA devices to read or write non-standard registers, ensuring confirmation parameters are set to prevent unintended changes, and converting these parameters into input and output frame information structures for safe execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If UART or I2C interfaces are used to access non-standard registers, then register access is enabled, but system complexity increases and flexibility is reduced

Engineering Contradiction:
ImproveflexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the existing SATA standard command interface universal by enabling it to access both standard and non-standard registers through a unified mechanism. The host controller detects register type and routes commands appropriately, eliminating the need for separate UART/I2C interfaces and improving system flexibility while reducing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the functionality of separate UART/I2C interfaces into the existing SATA command interface. By combining non-standard register access with standard SATA commands through a single unified interface, the system reduces the number of components needed and simplifies the overall architecture.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If vendor-specific commands are used to write non-standard registers, then register writing is enabled, but command availability is limited and flexibility is reduced

Engineering Contradiction:
Improvecommand flexibilityVSAvoidcommand set complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal command mechanism within the SATA standard interface that can access both standard and non-standard registers. This eliminates the limitation of vendor-specific commands by providing a standardized yet flexible approach that works across different devices and manufacturers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent utilizes unused input parameters in standard SATA commands to encode non-standard register addresses and control information. By changing how existing command parameters are interpreted and used, the system gains access to non-standard registers without requiring new command opcodes, thus maintaining command flexibility while avoiding complexity.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If non-standard registers are made accessible through standard interface, then accessibility is improved, but risk of unintended changes increases

Engineering Contradiction:
Improveregister accessibilityVSAvoidregister value stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a detection and confirmation mechanism where the host controller detects whether the target register is standard or non-standard, and the SATA device confirms the register type before executing write operations. This feedback loop ensures that non-standard registers are only modified when properly authorized, preventing unintended changes while maintaining accessibility.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary anti-action by implementing confirmation parameters that must be set correctly before allowing writes to non-standard registers. This preventive measure blocks unintended modifications before they can occur, while still allowing legitimate access when the proper conditions are met.

Inventive Principle:
Principle #9Preliminary anti-action

4Reliability

If confirmation parameters are added to prevent unintended changes, then reliability is improved, but command complexity increases

Engineering Contradiction:
Improveregister access safetyVSAvoidcommand structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent reuses existing unused parameters in standard SATA commands as confirmation parameters for non-standard register access. By changing the interpretation and usage of existing parameters rather than adding new ones, the system improves reliability while minimizing the increase in command structure complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7934024B2Method for reading and writing non-standard register of serial advanced technology attachment (SATA) device
Publication Date: 2011.04.26 VIA TECH INC
  • US7934024B2 patent drawing
  • US7934024B2 patent drawing
  • US7934024B2 patent drawing

AI summary

A method for reading non-standard register of Serial Advanced Technology Attachment (SATA) devices discloses an unused input parameter of standard command setting up as an executive parameter. While receiving the standard command, a SATA host controller converts the executive parameter and the standard command into input frame information structure (FIS) that is sent to the SATA devices for the SATA devices to detect the executive parameter for reading corresponding value of non-standard register and saving the value into an output register of the SATA devices. The value of the non-standard register is converted into output frame information structure for being sent to the SATA host controller and the value of the non-standard register is saved to the output register of the SATA host controller. Then by reading the value of the output register of the SATA host controller, the value of the non-standard register is learned.