Boot Program Read Command Selection for Memory Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information processing apparatuses face inefficiencies in boot program reading due to the use of generic read commands that are slow, leading to increased time needed to determine and execute the appropriate read command for different memory types, particularly when using memories that support high-speed data transfer.

Innovation Solution

The apparatus selects a read command supported by the connected memory type by utilizing a memory controller with an operation mode setting unit that sets the ROM access specification based on a stored ROM access pattern, allowing the CPU to read the boot program using the most suitable command without accessing the memory storing the boot program.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a generic read command that can be used for any memory type is used, then the boot program can be read regardless of the memory type connected, but the data transfer speed is slow and the time to read the boot program increases

Engineering Contradiction:
Improvecompatibility with different memory typesVSAvoidtime to read boot program
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The invention applies preliminary action by pre-storing ROM access patterns (including command codes, address formats, and data formats) in a storage unit before the boot program reading process. The CPU retrieves the appropriate access pattern based on the connected memory type and configures the memory controller accordingly, avoiding the need to use slow generic commands during the actual boot program reading phase.

Inventive Principle:
Principle #10Preliminary action

2Speed

If a high-speed read command specific to certain memory types is used, then the data transfer speed increases, but the command cannot be used with all memory types

Engineering Contradiction:
Improvedata transfer speedVSAvoidcompatibility with different memory types
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The invention implements dynamics by making the memory controller's operation mode configurable and adaptable. The controller dynamically switches between different ROM access patterns (single SPI, quad SPI, dual I/O) based on the type of memory connected. This allows the system to use high-speed commands when appropriate memory types are detected while maintaining compatibility with various memory configurations.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If the system determines the appropriate read command by accessing the memory storing the boot program, then the correct command can be selected, but additional memory access time is required

Engineering Contradiction:
Improvecommand selection accuracyVSAvoidtime to determine read command
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The invention applies copying by pre-storing multiple ROM access patterns (including command codes, address formats, and data formats for different memory types) in a separate storage unit. Instead of accessing the boot program memory to determine the correct command, the CPU copies the appropriate access pattern from the storage unit to configure the memory controller, thereby avoiding additional access to the boot program memory itself.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11372581B2Information processing apparatus and control method thereof and program regarding reading a boot program
Publication Date: 2022.06.28 CANON KK
  • US11372581B2 patent drawing
  • US11372581B2 patent drawing
  • US11372581B2 patent drawing

AI summary

An information processing apparatus includes a control unit to execute a program, a first storage unit, a second storage unit, and an output unit. The first storage unit stores a first program to be executed by the control unit. The second storage unit stores a second program to be executed by the control unit. The output unit receives, from the control unit, a read command for reading the second program from the second storage unit. The output unit output, to the second storage unit, a corresponding command corresponding to the received read command and corresponding to an operation mode having been set to the output unit. Before transmitting, to the output unit, the read command for reading the second program from the second storage unit, the control unit sets the operation mode of the output unit according to the first program stored in the first storage unit.