DDR Interface Initialization via Hardware State Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing boot-up processes in electronic devices require multiple components and interfaces for initializing communication with external memory modules, leading to increased costs and design complexities, especially when using non-volatile DDR interfaces that need implementation-specific initialization parameters.

Innovation Solution

Incorporating non-volatile parameter storage and a hardware state machine in the device controller to train the DDR interface without requiring initialization parameters or code from external devices, allowing direct booting from a DDR-attached non-volatile memory module, which eliminates the need for additional boot devices and interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional boot-up processes use multiple components and interfaces for initializing communication with external memory modules, then communication initialization can be achieved, but hardware complexity and design complexity increase

Engineering Contradiction:
Improvecommunication initializationVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines the initialization parameters storage and the state machine logic directly into the device controller, merging multiple previously separate components (external boot interface, parameter storage, initialization code) into a single integrated controller unit. This eliminates the need for separate external boot devices and reduces hardware complexity while maintaining reliable communication initialization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The device controller is designed to perform multiple functions: it stores initialization parameters in non-volatile memory, executes the state machine for interface training, and manages DDR communication. This multi-functional design eliminates the need for dedicated separate components for each function, reducing overall hardware complexity.

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

2Reliability

If traditional boot-up processes use external boot interfaces and code fetching, then communication interface training can be achieved, but component requirements and costs increase

Engineering Contradiction:
Improveinterface trainingVSAvoidcomponent requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the initialization parameters and state machine logic from external boot devices and embeds them directly into the device controller's non-volatile memory and hardware logic. This extraction eliminates the need for separate external boot interfaces and code fetching mechanisms, reducing component requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The device controller performs self-initialization by using its own integrated non-volatile memory to store parameters and its own hardware state machine to execute training sequences. This self-service capability eliminates the need for external boot devices to provide initialization code, further reducing component requirements.

Inventive Principle:
Principle #25Self-service

3Reliability

If processor-executed code is used for interface initialization, then initialization can be performed, but boot time and processing overhead increase

Engineering Contradiction:
ImproveinitializationVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the software-based processor-executed initialization code with a hardware-based state machine implemented in the device controller. This hardware state machine executes initialization sequences directly in hardware, eliminating the need for processor involvement during boot-up and significantly reducing boot time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The initialization parameters are pre-loaded into the device controller's non-volatile memory during manufacturing or system setup, and the state machine logic is pre-configured in hardware. This preliminary preparation allows the initialization process to execute immediately upon power-up without requiring the processor to fetch and execute code, reducing boot time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3222029B1Communication interface initialization
Publication Date: 2022.10.12 WESTERN DIGITAL TECHNOLOGIES INC
  • EP3222029B1 patent drawingFigure 1
  • EP3222029B1 patent drawingFigure 2~3
  • EP3222029B1 patent drawingFigure 4

AI summary

Systems and methods are disclosed for executing firmware in a computing device. A computing device comprises a controller comprising an interface and an interface state machine, non-volatile storage coupled to the interface state machine, the non-volatile storage storing initialization parameters, and a non-volatile memory module storing firmware for the device, the memory module coupled to the controller via the interface. The controller is configured to initialize the interface using the initialization parameters and the interface state machine, train the interface using the initialization parameters and the interface state machine, and execute the firmware from the non-volatile memory module.