SSD NAND Block Allocation Across SLC, MLC, TLC, and QLC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Datacenters treat SSDs as a one-size-fits-all solution, leading to inefficient utilization and reduced lifespan due to identical treatment of computer operations despite varying memory and bit requirements, causing NAND flash devices to become highly saturated and quickly reach their program/erase cycles.

Innovation Solution

Program NAND blocks into different types (SLC, MLC, TLC, QLC) based on bit requirements and memory considerations, using a mapping table to allocate operations to appropriate blocks, allowing dynamic reprogramming to extend endurance and improve capacity and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If all NAND blocks are programmed as the same block type (one-size-fits-all approach), then device complexity is reduced and ease of operation is improved, but capacity utilization is inefficient and endurance is reduced

Engineering Contradiction:
Improveease of operationVSAvoidendurance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments NAND blocks into different block types (SLC, MLC, TLC, QLC) based on their program/erase cycle characteristics and performance needs. This segmentation allows the system to allocate different block types to different workloads, improving both endurance and capacity utilization while maintaining manageable complexity through automated mapping tables.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different block types to different operational contexts. High-endurance SLC blocks are used for frequently written data, while lower-endurance QLC blocks are used for less frequently accessed data. This localized optimization improves overall system endurance without requiring all blocks to be uniformly high-performance.

Inventive Principle:
Principle #3Local quality

2Reliability

If NAND blocks are programmed as different block types (SLC, MLC, TLC, QLC), then capacity utilization is improved and endurance is extended, but device complexity increases

Engineering Contradiction:
ImproveenduranceVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces mapping tables as an intermediary layer between the host system and the diverse NAND block types. The mapping tables translate logical block addresses to physical blocks of appropriate types, shielding the host from the complexity of multiple block types while enabling optimized allocation. This intermediary manages the complexity internally without exposing it to users or applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If all computer operations are treated identically, then ease of operation is improved, but productivity is reduced due to inefficient capacity utilization

Engineering Contradiction:
Improveease of operationVSAvoidproductivity
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic allocation of NAND blocks to computer operations based on workload characteristics, data access patterns, and block type availability. The mapping tables are dynamically updated to optimize capacity utilization and performance. This dynamic approach maintains ease of operation for users while significantly improving productivity through efficient resource allocation.

Inventive Principle:
Principle #15Dynamics

4Manufacturing precision

If NAND flash devices are highly saturated with identical block types, then manufacturing precision is simplified, but loss of time occurs due to quick saturation and reduced lifespan

Engineering Contradiction:
Improvemanufacturing precisionVSAvoidloss of time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary classification and allocation of NAND blocks to different types during manufacturing or initialization. The mapping tables are pre-configured with block type assignments, allowing the system to avoid the time loss of evaluating and reallocating blocks during operation. This preliminary action maintains manufacturing simplicity while preventing future time loss through proactive resource management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12474847B2Customizable solid-state drive for improved capacity and endurance
Publication Date: 2025.11.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12474847B2 patent drawing
  • US12474847B2 patent drawing
  • US12474847B2 patent drawing

AI summary

Embodiments generally relate to programming NAND blocks of a solid-state device (SSD) to any suitable block type and utilizing the programmed NAND blocks to efficiently process computer operations performed by a solid-state drive (SSD). Example block types include a single-level cell (SLC), a multi-level cell (MLC), a triple-level (TLC), or a quad-level cell (QLC). The block type are stored in a mapping table as an association designating the NAND block as being of a particular block type. For example, the mapping table includes entries indicating whether NAND blocks have been programmed as SLC, MLC, TLC, or QLC blocks. In this manner, the capacity, speed, and endurance is improved by allocating computer operations to target NAND blocks being of particular block types.