Memory System Dynamic Region Size for Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing memory systems face challenges in balancing the size of the first data unit (region size) to minimize write amplification (WAF) and management table size, as increasing region size reduces WAF but increases management table size, while decreasing region size reduces WAF but increases management table size, leading to a trade-off.

Innovation Solution

The memory system dynamically adjusts the size of the first data unit (region size) based on the controller or host commands, allowing for variable region sizes across different address spaces to optimize WAF and management table efficiency based on access patterns, such as making region size smaller for frequently written namespaces and larger for rarely written ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the region size (first data unit) is increased, then write amplification is reduced, but management table size increases

Engineering Contradiction:
Improvewrite amplificationVSAvoidmanagement table size
Core Design Contradiction:
Loss of energyVSVolume of stationary object

Solution Approach 1:

The patent divides the address space into multiple namespaces, each with its own management table and configurable region size. This segmentation allows different region sizes to be used for different namespaces, enabling optimization of write amplification for frequently written namespaces with smaller region sizes while using larger region sizes for rarely written namespaces to reduce their management table sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic adjustability of region size for each namespace based on access patterns and write frequency. The controller can change the region size configuration for different namespaces at runtime, allowing the system to adapt to varying workload requirements and optimize the trade-off between write amplification and management table size dynamically.

Inventive Principle:
Principle #15Dynamics

2Volume of stationary object

If the region size (first data unit) is decreased, then management table size is reduced, but write amplification increases

Engineering Contradiction:
Improvemanagement table sizeVSAvoidwrite amplification
Core Design Contradiction:
Volume of stationary objectVSLoss of energy

Solution Approach 1:

The patent applies different region sizes to different namespaces based on their specific access patterns and write frequencies. Frequently written namespaces use smaller region sizes to minimize write amplification, while rarely written namespaces use larger region sizes to reduce management table sizes. This local optimization resolves the contradiction by making the solution context-dependent rather than uniform.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the region size parameter for different namespaces based on their characteristics. By allowing the region size parameter to vary across namespaces and to be dynamically adjusted within each namespace, the system can optimize both write amplification and management table size for different workloads simultaneously.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10095413B2Memory system with address translation between a logical address and a physical address
Publication Date: 2018.10.09 KIOXIA CORP
  • US10095413B2 patent drawing
  • US10095413B2 patent drawing
  • US10095413B2 patent drawing

AI summary

According to one embodiment, a memory system which is connectable to a host, the memory system includes a first memory as a nonvolatile memory storing information associated with an address translation between a logical address and a physical address, a second memory temporarily storing a part of the information at least, a first controller executing a read operation and a write operation of the information for the second memory in a first data unit, the first data unit being changeable and being a data size of one of regions obtained by dividing in a first address space, the part of the information at least stored in the first memory, and a second controller executing a read operation and a write operation of the information for the first memory in a second data unit different from the first data unit.