Dual NVM Bootcode Segmentation for Rapid System Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data processing systems experience lengthy boot times due to the slow read speed of traditional nonvolatile memory (NVM) used for bootcode, which leads to energy wastage and delays in critical applications, and there is a need for faster booting mechanisms to reduce these issues.

Innovation Solution

Implementing a dual NVM system with a high-speed NVM and a low-speed NVM, where the bootcode is split into modules, with the high-speed NVM supporting faster read speeds than the low-speed NVM, allowing for quicker loading of bootcode into RAM and reducing overall boot time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional low-speed NVM is used for bootcode storage, then hardware costs are reduced and system simplicity is maintained, but boot time increases significantly

Engineering Contradiction:
Improveboot timeVSAvoidNVM system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The bootcode is divided into two modules: a first bootcode module stored in low-speed NVM and a second bootcode module stored in high-speed NVM. The first module executes initially and loads the second module, enabling rapid booting while maintaining system simplicity through functional segmentation of the boot process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second bootcode module is pre-loaded into high-speed NVM during system configuration or manufacturing. This preliminary action ensures that when the system boots, the critical second module is already available in fast memory, significantly reducing boot time without requiring complex real-time loading mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If high-speed NVM is used for bootcode storage, then boot time is reduced, but hardware costs increase

Engineering Contradiction:
Improveboot timeVSAvoidhardware cost
Core Design Contradiction:
Loss of timeVSEase of manufacture

Solution Approach 1:

Instead of using high-speed NVM for the entire bootcode, only the critical second bootcode module that requires fast access is stored in high-speed NVM. The first bootcode module remains in low-speed NVM, optimizing performance for the most time-sensitive operations while minimizing the amount of expensive high-speed memory required.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses high-speed NVM partially - only for the second bootcode module - rather than fully replacing low-speed NVM. This partial application of high-speed memory provides sufficient boot time improvement while controlling hardware costs by limiting the quantity of expensive components.

Inventive Principle:
Principle #16Partial or excessive action

3Use of energy by moving object

If bootcode is executed from low-speed NVM, then system simplicity is maintained, but energy consumption increases due to prolonged boot process

Engineering Contradiction:
Improveenergy consumptionVSAvoidbootcode structure
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The bootcode is segmented into two modules executed in sequence: the first module from low-speed NVM and the second module from high-speed NVM. This segmentation reduces the total time the system spends in the high-energy boot state, thereby reducing overall energy consumption during initialization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The boot process maintains continuous useful action by having the first bootcode module immediately load and transfer control to the second module without idle waiting periods. This continuous execution minimizes the duration of power consumption during the critical boot phase.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10474473B2Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
Publication Date: 2019.11.12 INTEL NDTM US LLC
  • US10474473B2 patent drawing
  • US10474473B2 patent drawing
  • US10474473B2 patent drawing

AI summary

A method for booting a data processing system (DPS) involves, during a boot process of the DPS, using a preliminary bootcode module from a low-speed nonvolatile memory (NVM) in the DPS to load a main bootcode module from a high-speed NVM in the DPS into a volatile random access memory (RAM) in the DPS, wherein the high-speed NVM supports a read speed that is faster than a maximum read speed of the low-speed NVM. The method also involves, during the boot process, after loading the main bootcode module from the high-speed NVM into the RAM, using the main bootcode module to boot the DPS to an operating system (OS). The method may also involve using the preliminary bootcode module to automatically determine whether the main bootcode module from the high-speed NVM has good integrity. Other embodiments are described and claimed.