Parallel Firmware Code Loading in Memory Storage Apparatus

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing firmware code loading methods for flash memory storage apparatuses are slow, particularly in electronic devices where quick boot-up times are essential, due to the need to read firmware code from flash memory modules during initialization.

Innovation Solution

A firmware code loading method that utilizes a memory controller with a rewritable non-volatile memory module comprising a first and second memory part, where the firmware code is split into segments and loaded in parallel or interleave mode from both memory parts into a buffer memory upon power-on, enhancing access speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If firmware code is stored in flash memory module and loaded during initialization, then storage apparatus size is reduced and manufacturing cost is lowered, but time required for initialization and boot-up increases

Engineering Contradiction:
Improveinitialization timeVSAvoidmemory structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The firmware code is divided into multiple segments and stored in different memory parts (first memory part and second memory part). This segmentation allows parallel loading of firmware segments from multiple memory locations simultaneously, significantly reducing the total initialization time while maintaining the benefit of storing firmware in flash memory rather than dedicated ROM.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If firmware code is stored in programmable read only memory, then firmware can be updated/modified easily, but storage apparatus size increases and manufacturing cost increases

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidstorage apparatus size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The flash memory module serves multiple functions: it stores both user data and firmware code, and can be updated to modify firmware. This eliminates the need for separate dedicated ROM components, reducing overall storage apparatus size and manufacturing cost while maintaining firmware update capability through the writable nature of flash memory.

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

3Speed

If firmware code is loaded sequentially from flash memory, then memory structure is simple, but loading speed is slow

Engineering Contradiction:
Improvefirmware loading speedVSAvoidmemory access complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent transitions from sequential (one-dimensional) firmware loading to parallel loading by utilizing multiple memory parts that can be accessed simultaneously. This dimensional change in the loading approach allows multiple firmware segments to be loaded concurrently, dramatically improving loading speed while adding manageable complexity through the use of independent data buses for each memory part.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9122498B2Firmware code loading method, memory controller and memory storage apparatus
Publication Date: 2015.09.01 PHISON ELECTRONICS
  • US9122498B2 patent drawing
  • US9122498B2 patent drawing
  • US9122498B2 patent drawing

AI summary

A firmware code loading method for loading a firmware code from a rewritable non-volatile memory module of a memory storage apparatus is provided. The method includes: obtaining a storage address for storing a first portion firmware code copy corresponding to a first portion of the firmware code in a first memory part; and obtaining a storage address for storing a second portion firmware code copy corresponding to a second portion of the firmware code in a second memory part. The method further includes: using a parallel mode or a interleave mode to load the first portion firmware code copy and the second portion firmware code copy respectively from the first memory part and the second memory part into a buffer memory. Accordingly, the method can effectively shorten the time of loading the firmware code.