Program Suspend Module for NAND Flash Memory Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing write and erase times in NAND flash memory devices cause latency issues, blocking read operations and leading to prolonged access times, as program operations lock access to the same chip, necessitating a method to suspend program operations to allow concurrent read or erase operations.

Innovation Solution

Implementing a program suspend module that temporarily suspends program operations based on a suspend threshold, allowing read or erase operations to proceed by storing the current programming state and resuming the program at the appropriate point, thereby reducing latency and optimizing read/write times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If program operations are performed on flash memory cells, then data can be written to storage, but read operations are blocked and access time increases significantly

Engineering Contradiction:
Improvewrite throughputVSAvoidread latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The flash memory device is divided into multiple independent memory arrays or pages that can be accessed concurrently. The system segments the memory space and operation scope so that program operations on one segment do not block read operations on other segments, enabling parallel execution of write and read tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory controller dynamically adjusts operation scheduling based on real-time status. When a program operation is detected, the system dynamically suspends it temporarily to allow concurrent read operations, then resumes the program operation after the read completes. This dynamic suspension-resume mechanism resolves the blocking issue while maintaining write integrity.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If program operations are suspended to allow read operations, then read latency is reduced, but program operation completion time increases

Engineering Contradiction:
Improveread access timeVSAvoidprogram operation duration
Core Design Contradiction:
Loss of timeVSDuration of action of moving object

Solution Approach 1:

The memory controller implements a feedback mechanism that monitors the status of program operations and read requests. When a read request is detected during a program operation, the controller suspends the program operation, processes the read request, and then resumes the program operation from its interrupted state. This feedback-driven suspension-resume approach ensures minimal impact on program completion while enabling concurrent read access.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If memory element size continues to decrease, then storage density increases, but write time increases at a faster rate than read time

Engineering Contradiction:
Improvestorage densityVSAvoidwrite time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by buffering data in the memory controller before writing to the flash memory cells. Small data buffers are prepared in advance and can be written to memory elements in parallel or in optimized sequences, reducing the overall write time impact as element sizes continue to shrink and write operations become more time-consuming.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9021158B2Program suspend/resume for memory
Publication Date: 2015.04.28 SANDISK TECHNOLOGIES LLC
  • US9021158B2 patent drawing
  • US9021158B2 patent drawing
  • US9021158B2 patent drawing

AI summary

A memory device includes a memory array with a plurality of memory elements. Each memory element is configured to store data. The device includes an input/output (I/O) buffer coupled to the memory array. The I/O buffer is configured to receive data from an I/O interface of a memory device controller and write the data to the memory array. The device includes a memory control manager coupled to the memory array. The memory control manager is configured to pause a program operation to the memory array in response to receiving a pause command. The memory control manager is also configured to resume the program operation in response to receiving a resume command.