Parallel Firmware Code Loading in Memory Storage Apparatus
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Speed
If firmware code is loaded sequentially from flash memory, then memory structure is simple, but loading speed is slow
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.
Data Source
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.


