SPI Flash Command Modeling in Hardware for Faster Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-driven SPI flash memory controllers are often overloaded and slow, affecting system performance due to their configuration dependence and the impracticality of implementing decoder logic for 256 possible SPI commands, either in hardware or software.

Innovation Solution

A hardware-based SPI flash memory controller with a transmit FIFO circuit, an SPI interface, and a state machine logic that uses a control word with specific fields to set the behavior of the SPI interface, eliminating the need for a large hardware decoder and reducing software dependency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software is used to maintain complete logic information for each SPI command, then the memory controller can handle various commands flexibly, but the controller becomes slow and significantly affects system performance

Engineering Contradiction:
Improvecommand handling flexibilityVSAvoidcontroller processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent replaces the software-based command decoding mechanism with a hardware-based state machine and lookup table system. The state machine logic circuit receives SPI commands and uses lookup tables to directly generate control signals in hardware, eliminating the software processing overhead while maintaining the ability to handle all 256 possible SPI commands. This substitution of software with hardware logic resolves the contradiction by providing both flexibility (through comprehensive command support) and high speed (through parallel hardware execution).

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

2Speed

If a large hardware decoder is implemented to handle all 256 possible SPI commands, then command processing speed improves, but the device complexity and resource requirements increase significantly

Engineering Contradiction:
Improvecommand processing speedVSAvoidhardware decoder complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the command decoding function into multiple independent lookup tables, each handling specific aspects of command processing. Instead of one large complex decoder, the system uses separate lookup tables for different control parameters (e.g., one table for data direction, another for clock polarity, another for phase settings). This segmentation reduces the complexity of each individual lookup table while collectively handling all 256 SPI commands, thus resolving the contradiction between speed and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universal lookup tables that can serve multiple functions. Each lookup table is designed to provide control signals for various SPI command types simultaneously, rather than having dedicated logic for each command. The state machine orchestrates these universal lookup tables to handle any of the 256 SPI commands, reducing overall hardware complexity while maintaining high processing speed through efficient resource utilization.

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

3Adaptability or versatility

If software-driven control is used for SPI flash memory, then configuration flexibility is maintained, but the controller is frequently overloaded and slow

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces the software-driven control mechanism with a hardware-based state machine and lookup table system. The state machine logic circuit directly processes SPI commands in hardware and generates control signals without software intervention. This substitution maintains configuration flexibility through the programmable nature of the state machine and lookup tables while dramatically improving productivity by eliminating software processing bottlenecks and overhead.

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

Data Source

PatentUS10042808B1Modeling SPI flash memory commands in hardware
Publication Date: 2018.08.07 XILINX INC
  • US10042808B1 patent drawing
  • US10042808B1 patent drawing
  • US10042808B1 patent drawing

AI summary

In an example, a serial peripheral interface (SPI) flash memory controller includes a transmit first-in-first-out (FIFO) circuit and an SPI interface operable to provide an interface between the transmit FIFO and an SPI flash memory. The SPI flash memory controller further includes a random access memory (RAM) operable to store a memory interface file, an address interface of the RAM operable to receive a command from the transmit FIFO circuit, a data interface of the RAM operable to output a control word associated with the command. The SPI flash memory controller further includes state machine logic operable to set behavior of the SPI interface based on the control word output from the RAM, where the control word includes a data direction field, a data phase field, an addressing width field, an addressing phase field, and a command error field.