SPI Controller XIP Exit Sequence for Memory Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SPI memory devices face challenges in consistently exiting the XIP mode, especially during warm resets, due to implementation variations across vendors, leading to reboot failures and hardware contention issues, with existing solutions requiring firmware intervention or additional hardware.

Innovation Solution

A generic XIP exit sequence is implemented in the SPI controller, which works across various memory devices, using a specific data pattern on the Quad SPI interface to exit XIP mode without firmware intervention, and optionally followed by a soft reset sequence to bring the device to a default state, ensuring compatibility and avoiding IO contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a vendor-specific XIP exit sequence is used, then the memory device can exit XIP mode, but the solution requires firmware intervention or additional hardware and varies across vendors

Engineering Contradiction:
ImproveXIP mode exit consistencyVSAvoidfirmware intervention or additional hardware
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a single XIP exit sequence that works across multiple memory device vendors (Micron, Macronix, Winbond, Everspin) without requiring vendor-specific sequences or firmware intervention. The sequence uses standard SPI commands (0xEB for Quad I/O FR mode) that are universally recognized by these vendors to exit XIP mode consistently.

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

Solution Approach 2:

The solution implements self-service by using the memory device's own standard SPI interface and built-in command set to exit XIP mode. The controller simply sends the standardized 0xEB command followed by address and dummy cycles, leveraging the device's inherent capabilities without external firmware or additional hardware assistance.

Inventive Principle:
Principle #25Self-service

2Productivity

If XIP mode is used for high-speed reading, then read throughput is improved, but hardware contention issues and reboot failures occur during warm resets

Engineering Contradiction:
Improveread throughputVSAvoidboot reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing a standardized XIP exit sequence that is executed automatically during warm reset before the system attempts to reboot. This preliminary sequence ensures that the memory device is properly exited from XIP mode and placed in a safe state, preventing hardware contention and reboot failures that would otherwise occur.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If a standardized XIP exit sequence is implemented, then compatibility across vendors is improved, but the sequence must handle multiple memory device types (NOR flash and MRAM)

Engineering Contradiction:
Improvevendor compatibilityVSAvoidhandling multiple memory types
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent achieves universality by crafting an XIP exit sequence that is compatible with both NOR flash and MRAM devices from multiple vendors. The sequence uses the 0xEB command with address and dummy cycle patterns that are universally supported across these different memory types, allowing a single standardized sequence to handle diverse hardware without requiring type-specific handling.

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

Data Source

PatentUS9910676B1Hardware based XIP exit sequence to enable XIP mode operation on SPI boot interface
Publication Date: 2018.03.06 IP GEM GRP LLC
  • US9910676B1 patent drawing
  • US9910676B1 patent drawing
  • US9910676B1 patent drawing

AI summary

Methods and apparatus are provided for controlling one or more memory devices connected to an input output (IO) circuit through a serial peripheral interface (SPI), to make any device which is in execute in place (XIP) mode exit XIP mode. An example method comprises driving an initial signal from the IO circuit onto the data pins for a first plurality of clock cycles, the initial signal causing any memory device not in XIP mode to treat subsequent signals as a dummy read, disabling a driving function of the IO circuit prior to a negative edge of a last one of the first plurality of clock cycles, stopping generation of clock signals for a transition waiting period after the first plurality of clock cycles, and activating a weak pull-up of the IO circuit to apply logic high on all of the data pins for a second plurality of clock cycles.