Microcontroller Serial Flash Interface Random Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microcontrollers face limitations in accessing and controlling serial flash memory, which is smaller and less expensive but harder to manage compared to parallel flash memory, especially when random data access is required.

Innovation Solution

Incorporating an integrated interface within microcontrollers that enables random data reading from external serial flash memory by generating instruction frames and using a serial flash memory interface to process these frames, allowing for sequential or non-sequential data access, and optimizing data access through cache integration and jump handling algorithms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If serial flash memory is used instead of parallel flash memory, then cost is reduced and memory size is decreased, but ease of operation deteriorates due to difficulty in controlling random data access

Engineering Contradiction:
ImprovecostVSAvoidcontrol difficulty
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

A serial flash interface is introduced as an intermediary component between the microprocessor and serial flash memory. This interface translates random read requests from the microprocessor into sequential read commands for the serial flash memory, managing the complexity of random access control while allowing the use of cost-effective serial flash memory instead of expensive parallel flash memory

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If serial flash memory is used instead of parallel flash memory, then cost is reduced, but productivity deteriorates due to limitations in random data reading capability

Engineering Contradiction:
ImprovecostVSAvoiddata access efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system pre-loads data from serial flash memory into internal RAM before the microprocessor needs to access it randomly. By anticipating data access needs and loading data in advance during idle periods, the system maintains high productivity for random data access while using cost-effective serial flash memory storage

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If data shadowing is implemented to enable random access from serial flash memory, then ease of operation improves, but device complexity increases

Engineering Contradiction:
Improverandom access capabilityVSAvoidinterface complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The serial flash interface functionality is merged directly into the microprocessor unit, combining the microprocessor core and serial flash interface into a single integrated device. This integration eliminates the need for separate data shadowing mechanisms and complex external interface circuits, providing random access capability while reducing overall system complexity

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10437516B2Microcontroller with integrated interface enabling reading data randomly from serial flash memory
Publication Date: 2019.10.08 ATMEL CORP
  • US10437516B2 patent drawing
  • US10437516B2 patent drawing
  • US10437516B2 patent drawing

AI summary

A microcontroller includes a microprocessor, a serial flash memory interface, and input/output (I/O) terminals for coupling the serial flash memory interface to external serial flash memory. The microprocessor is operable to generate instruction frames that trigger respective commands to read data from specified addresses in the external serial flash memory. The serial flash memory interface receives and processes the instruction frames, obtains the data contained in the specified addresses in the external serial flash memory regardless of whether the specified addresses are sequential or non-sequential, and provides the data for use by the microprocessor.