Multi-Stage Flash Programming via Host Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-Level Cell (MLC) flash memory devices require multiple stages of programming across adjacent word lines, necessitating temporary storage capacity in latches, which increases manufacturing costs and latency due to repeated data transfer during write operations.

Innovation Solution

The data storage device receives multiple copies of write commands from a host device, associating each copy with a stage of the multi-stage programming operation, allowing it to perform programming without needing temporary storage capacity between stages, by retrieving data directly from the host device at each stage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is stored in temporary storage capacity (RAM) to support multi-stage write operations, then the data storage device can perform programming operations, but the manufacturing cost increases

Engineering Contradiction:
Improvemanufacturing costVSAvoidtemporary storage capacity
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent extracts the temporary storage function from the flash memory die by moving data buffering to the host device. The host device's RAM serves as the temporary storage, allowing the flash memory die to eliminate or reduce its own temporary storage capacity while still supporting multi-stage write operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces the host device as an intermediary between the data to be written and the flash memory die. The host device buffers data in its RAM and transfers it to the flash memory die in stages, eliminating the need for large temporary storage capacity in the flash memory die itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is repeatedly transferred to latches during multiple write stages, then programming can be completed, but latency increases

Engineering Contradiction:
Improvewrite operation speedVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the host device prepare and buffer all necessary data in its RAM before the flash memory die begins programming operations. This allows the flash memory die to receive data continuously without repeated transfer delays, as the data is already staged and ready for programming.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The host device creates a copy of the data in its RAM that can be referenced throughout the multi-stage programming process. This copy serves as a local buffer that eliminates the need for repeated data transfers between the host and flash memory die, reducing latency while maintaining data availability for all programming stages.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If sufficient temporary storage capacity is provided in the flash memory die, then multi-stage write operations can proceed, but device complexity and cost increase

Engineering Contradiction:
Improvemulti-stage write capabilityVSAvoidstorage architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the temporary storage function from the flash memory die architecture and relocates it to the host device. This extraction simplifies the flash memory die design by removing the need for large latch arrays or intermediate buffers, while the host device's existing RAM provides the necessary temporary storage capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent leverages the host device's RAM for a dual purpose: general-purpose data buffering and specific temporary storage for flash memory programming operations. This multi-functionality eliminates the need for dedicated temporary storage structures in the flash memory die, reducing device complexity while maintaining multi-stage write capability.

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

Data Source

PatentUS9870174B2Multi-stage programming at a storage device using multiple instructions from a host
Publication Date: 2018.01.16 SANDISK TECHNOLOGIES LLC
  • US9870174B2 patent drawing
  • US9870174B2 patent drawing
  • US9870174B2 patent drawing

AI summary

An apparatus includes a memory storing a group of pages of data. An interface of the apparatus is configured to send, to a data storage device (DSD) from a first command queue, a first instruction of instructions to store the group of pages to the DSD using a logical address corresponding to the group of pages. The interface is further configured to send, to the DSD from a second command queue, a second instruction of the instructions to write the group of pages to the DSD using the logical address. Sending a first copy of the group of pages in association with the first instruction and sending a second copy of the group of pages in association with the second instruction enables a multi-stage programming operation to be performed at the DSD without storing the group of pages at the DSD between stages of the multi-stage programming operation.