Nonvolatile Storage Domain Scrambling for Even Write Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices using nonvolatile memory devices face reduced endurance and performance due to concentrated access in certain areas, leading to I/O skew and the need for additional features like global wear leveling.

Innovation Solution

The storage device is partitioned into domains, with a scramble function determined based on seed bits of logical addresses to generate scrambled domain values, distributing write operations across these domains to prevent overcrowding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If access is concentrated in a certain area of the storage device, then the storage device can operate with simpler control logic, but the endurance and performance of the storage device decrease

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidendurance and performance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The storage device is divided into multiple domains (first domain, second domain, etc.) based on physical address ranges. This segmentation allows write operations to be distributed across different domains using domain selection logic, preventing access concentration in a single area and thereby improving endurance and performance while maintaining relatively simple control logic.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the storage device is partitioned into multiple domains with scramble functions, then access distribution is improved and I/O skew is prevented, but the device complexity increases

Engineering Contradiction:
Improveaccess distribution and I/O skew preventionVSAvoiddomain partitioning and scramble circuitry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses seed values (derived from logical address bits) to dynamically select scramble functions that map logical addresses to physical domains. By changing the seed value based on the logical address, the system achieves effective access distribution across domains without requiring complex hardwired domain assignment logic, thus balancing reliability improvement with acceptable device complexity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a scramble function is used to generate scrambled domain values, then write operations are evenly distributed across domains, but the computational overhead increases

Engineering Contradiction:
Improvewrite operation distribution efficiencyVSAvoidcomputation time for scramble function
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of implementing a single complex scramble function, the system uses multiple simple scramble functions (first scramble function, second scramble function, etc.) selected based on seed values. Each scramble function is relatively simple to compute, and the selection mechanism allows efficient distribution of write operations across domains with minimal computational overhead per operation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12443523B2Storage devices and methods of operating the same
Publication Date: 2025.10.14 SAMSUNG ELECTRONICS CO LTD
  • US12443523B2 patent drawing
  • US12443523B2 patent drawing
  • US12443523B2 patent drawing

AI summary

A method of operating a storage device including a nonvolatile memory device and a storage controller that is configured to control the nonvolatile memory device, the method comprising: partitioning the nonvolatile memory device into a plurality of domains; determining a scramble function based on a seed value of seed bits that correspond to a first portion of a plurality of address bits of a logical address among a plurality of logical addresses that are provided from a host device; generating a scrambled domain value based on the scramble function and a domain value of domain bits that correspond to a second portion of the plurality of address bits of the logical address among the plurality of logical addresses; and assigning a write operation that corresponds to the logical address to a domain that corresponds to the scrambled domain value among the plurality of domains.