Flash Memory Access Scheduling via Priority Preemption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for prioritizing memory access requests in multi-processor systems fail to efficiently manage performance inefficiencies and do not account for the priority of requests such as real-time execution, interrupts, or critical requests.

Innovation Solution

A system that includes memory access circuitry and processing circuitry, configured to receive read requests for instructions stored in non-volatile memory, determine the priority of the requests, preempt current access if necessary, and supply the instructions to the processing circuitry for execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple flash memory instances are used to handle read and write requests simultaneously, then access speed and throughput are improved, but system cost and device complexity increase

Engineering Contradiction:
Improvememory access throughputVSAvoidnumber of flash memory instances
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic request prioritization and preemption mechanisms that allow the single flash memory to adaptively handle different types of access requests (program, erase, read) based on their urgency and type. The memory access controller dynamically adjusts request handling priorities, enabling high-priority read requests to preempt lower-priority program/erase operations, thereby achieving efficient concurrent access patterns without requiring multiple physical memory instances.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a single flash memory is used to reduce cost and complexity, then device complexity is reduced, but access latency increases due to request prioritization overhead

Engineering Contradiction:
Improvenumber of flash memory instancesVSAvoidmemory access latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent employs preliminary classification and prioritization of memory access requests at the controller level. Read requests are identified and flagged as high-priority before conflict occurs, enabling the system to proactively schedule and execute read operations before they would interfere with program or erase operations. This preliminary action minimizes latency by preventing conflicts rather than resolving them after they occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory access controller acts as an intermediary between processing cores and the single flash memory instance. It receives, prioritizes, and schedules all access requests, making intelligent decisions about which requests to grant access to the flash memory and when. This intermediary mechanism efficiently manages the single flash memory resource while minimizing access latency through smart request arbitration and preemption.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If traditional prioritization mechanisms are used for single flash memory access, then device complexity is reduced, but performance efficiency deteriorates due to inability to handle multiple processor requests effectively

Engineering Contradiction:
Improveflash memory configurationVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the flash memory address space into distinct regions (e.g., code storage, data storage, configuration areas) and implements region-specific access policies. Different processing cores or software modules can be assigned to access specific regions, enabling parallel access patterns where multiple processors can simultaneously access different flash memory regions without conflict. This segmentation strategy maintains a single flash memory instance while achieving multi-processor throughput efficiency.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12321642B2Flash memory access scheduling
Publication Date: 2025.06.03 TEXAS INSTRUMENTS INC
  • US12321642B2 patent drawing
  • US12321642B2 patent drawing
  • US12321642B2 patent drawing

AI summary

Various examples disclosed herein relate to trimming of system elements to prepare the elements for execution of boot code and application code. In an example embodiment, a system is provided. The system includes memory access circuitry and processing circuitry coupled to the memory access circuitry. The memory access circuitry is configured to receive a read request corresponding to a set of instructions for execution by processing circuitry stored in non-volatile memory, determine whether to preempt current access to the non-volatile memory corresponding to one or more access requests in favor of the read request based on a priority of the read request relative to the one or more access requests, obtain the set of instructions from the non-volatile memory, and supply the set of instructions to the processing circuitry. The processing circuitry executes the set of instructions.