Flash Controller Boot Program Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing boot program loading process in computing systems is inefficient due to slow memory access times in nonvolatile storage, consuming processing resources and memory locations in main memory.

Innovation Solution

A flash storage system that includes a flash storage device, a random access memory, and a flash controller, which loads the boot program from flash storage into random access memory, allowing the processor to access it more quickly, thereby improving execution performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the boot program is stored in nonvolatile memory (flash storage), then the boot program is preserved when power is off, but the memory access time is slow

Engineering Contradiction:
Improveboot program preservationVSAvoidmemory access time
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system divides the boot program storage into two segments: flash storage for permanent preservation and random access memory for fast access. The flash controller manages this segmentation by loading the boot program from flash storage to random access memory when needed, allowing the processor to access it quickly while maintaining the reliability of persistent storage.

Inventive Principle:
Principle #1Segmentation

2Speed

If the boot program is loaded into main memory, then the access speed improves, but processing time and resources are consumed

Engineering Contradiction:
Improveboot program access speedVSAvoidprocessing time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The flash controller automatically performs the boot program loading operation without requiring intervention from the processor. When the processor requests the boot program, the flash controller autonomously loads it from flash storage to random access memory, eliminating the need for the processor to manually manage the loading process and reducing processing time consumption.

Inventive Principle:
Principle #25Self-service

3Speed

If the boot program is loaded into main memory, then the access speed improves, but memory locations are consumed that would otherwise be available for software programs

Engineering Contradiction:
Improveboot program access speedVSAvoidmemory locations
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system segments memory usage by dedicating random access memory specifically for fast boot program access, separate from the data memory used by software programs. This segmentation allows the boot program to reside in fast memory without consuming space from the software program memory, resolving the conflict between access speed and memory availability.

Inventive Principle:
Principle #1Segmentation

4Quantity of substance

If the processor accesses the boot program directly from flash storage, then memory locations are saved, but the access time is slow

Engineering Contradiction:
Improvememory locationsVSAvoidboot program access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The random access memory serves as an intermediary between flash storage and the processor. Instead of the processor accessing flash storage directly, the boot program is first loaded to random access memory, which then serves as a fast buffer for processor access. This intermediary approach saves memory locations in the processor's address space while significantly reducing access time.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8275981B2Flash storage system and method for accessing a boot program
Publication Date: 2012.09.25 WESTERN DIGITAL TECHNOLOGIES INC
  • US8275981B2 patent drawing
  • US8275981B2 patent drawing
  • US8275981B2 patent drawing

AI summary

A computing system includes a flash storage device that loads a boot program from a flash storage of the flash storage device to a random access memory of the flash storage device. A processor of the computing system then accesses the boot program from the random access memory and executes the boot program.