Kernel Cache Controller Non-Volatile Memory Boot Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The retrieval of user space persistently stored data for kernel modules can be slow, leading to increased boot times and downtime, as this data is often stored on disk and must be re-replicated upon system reboot, and the cache is lost during power loss.

Innovation Solution

Storing kernel in-memory data caches in electronically addressed non-volatile memory, such as flash memory, allows for faster data access and retention during power loss, reducing the need for re-replication and improving boot times by using a kernel cache controller to populate this memory with user space persistently stored data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If user space persistently stored data is stored on disk storage, then data persistence is achieved, but data retrieval speed deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoiddata retrieval speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the storage system into multiple layers: disk storage for persistent data storage, non-volatile memory for fast retrieval, and volatile memory for active caching. This segmentation allows each layer to fulfill its specific function optimally - disk provides persistence, non-volatile memory provides fast retrieval, and volatile memory provides active caching for frequently accessed data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces non-volatile memory as an intermediary layer between disk storage and volatile memory. This intermediary solves the contradiction by providing both persistence (like disk) and fast retrieval (like volatile memory), eliminating the need to choose between reliability and speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If kernel cache is stored in volatile memory, then fast data access is achieved, but data loss occurs during power loss

Engineering Contradiction:
Improvedata access speedVSAvoiddata retention during power loss
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-loading user space persistently stored data into non-volatile memory during system boot or when data is first needed. This ensures that when the kernel needs to access this data, it is already available in fast non-volatile memory, eliminating the need for slow disk retrieval while maintaining persistence across power cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the memory parameter from volatile to non-volatile, fundamentally altering the data retention characteristics while maintaining fast access speeds. This parameter change allows the kernel cache to retain data during power loss while still providing fast access comparable to volatile memory.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If data is re-replicated to kernel space memory at each boot, then data availability is ensured, but boot time increases

Engineering Contradiction:
Improvedata availabilityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by loading essential user space data into non-volatile memory during the boot process before kernel modules need to access it. This preliminary loading ensures data availability when needed while minimizing the time spent on data retrieval during boot, as the data is already in fast non-volatile memory rather than requiring full disk retrieval and processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by selectively loading only the most frequently accessed user space data into non-volatile memory during boot, rather than replicating all user space data. This partial replication ensures data availability for critical kernel operations while reducing the overall boot time by avoiding unnecessary data transfer of less frequently accessed data.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8122182B2Electronically addressed non-volatile memory-based kernel data cache
Publication Date: 2012.02.21 NETAPP INC
  • US8122182B2 patent drawing
  • US8122182B2 patent drawing
  • US8122182B2 patent drawing

AI summary

An operating system on a computer system can comprise a user space, which can comprise a persistent data store, and a kernel space, which can be extended by loading kernel modules. As provided herein, the kernel space can utilize kernel designated electronically addressed non-volatile memory (e.g., flash memory) to cache data from the user space persistent store, for example, upon a boot event. The kernel space can further comprise a cache controller that can be used to populate the kernel electronically addressed non-volatile memory with kernel in-memory data caches that comprise user space persistently stored data. In one embodiment, the kernel space can further comprise kernel designated volatile main memory (e.g., RAM), which can be used in conjunction with the kernel electronically addressed non-volatile memory to cache user space persistently stored data. In this way, kernel modules may access user space persistent store data from the RAM and/or electronically addressed non-volatile kernel cache.