Flash Memory as Main RAM via OS Kernel Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional DRAM technology is not suitable for high-speed applications due to bandwidth issues, making it difficult to directly substitute with existing DRAM applications, despite FLASH memory offering advantages like lower power consumption and higher density.

Innovation Solution

Operating system kernel enhancements are implemented to recognize FLASH memory as a main memory component, accounting for its nuances such as longer write times and segmented updates, by using a buffer to manage access between FLASH and DRAM, allowing for background updates and mitigating latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If FLASH memory is used to replace DRAM for main memory applications, then power consumption is reduced and storage density is increased, but write speed and access latency are worsened due to longer programming times and segmented update requirements

Engineering Contradiction:
Improvepower consumptionVSAvoidwrite speed
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The patent introduces a buffer component as an intermediary between the processor and FLASH memory. This buffer temporarily stores data during write operations, allowing the processor to continue executing instructions without waiting for the slow FLASH programming process to complete, thereby maintaining system speed while using energy-efficient FLASH memory

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-allocating buffer space and pre-processing data before writing to FLASH memory. The buffer is prepared in advance to accommodate incoming data, and data is staged in the buffer before the actual FLASH programming operation begins, reducing overall write latency

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If FLASH memory is used for main memory applications, then storage density is increased and cost is reduced, but system complexity increases due to the need for buffer management and timing coordination

Engineering Contradiction:
Improvestorage densityVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The buffer component serves multiple functions: it acts as temporary storage during write operations, masks the speed difference between processor and FLASH, manages data staging, and coordinates timing between different system components. This multi-functionality reduces the need for additional specialized components, thereby limiting the increase in system complexity

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

3Reliability

If FLASH memory programming operations are performed, then data is stored permanently with high density, but program operations may stall due to latency and sequential update requirements

Engineering Contradiction:
Improvedata retentionVSAvoidprogram operation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory system into two distinct parts: a fast buffer region for active data manipulation and a permanent FLASH region for reliable storage. This segmentation allows write operations to be divided into immediate buffer writes that don't stall execution and background FLASH programming that ensures data retention without impacting real-time operations

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8458393B2Flash memory and operating system kernel
Publication Date: 2013.06.04 INFINEON TECHNOLOGIES LLC
  • US8458393B2 patent drawing
  • US8458393B2 patent drawing
  • US8458393B2 patent drawing

AI summary

A memory system is provided. The system includes an operating system kernel that regulates read and write access to one or more FLASH memory devices that are employed for random access memory applications. A buffer component operates in conjunction with the kernel to regulate read and write access to the one or more FLASH devices.