Non-Volatile Memory Management With Segmented Over-Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management in non-volatile storage devices, such as Solid-State Disks (SSDs), faces inefficiencies in data storage and retrieval due to uneven wear and usage patterns, leading to reduced performance and lifespan, particularly in handling frequently changing data and sensitive files.

Innovation Solution

The implementation of separate memory regions with distinct over-provisioning ratios and automated data compaction processes, along with prioritization of memory access tasks and identification of unused memory regions, allows for optimized storage and retrieval by matching data storage strategies to data types and usage frequencies, and dynamically managing memory resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single over-provisioning ratio is used for all memory regions, then device complexity is reduced, but storage efficiency deteriorates due to inability to optimize for different data types

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory device is divided into multiple regions (first region and second region), each with its own over-provisioning ratio. This segmentation allows different parts of the memory to be optimized for different data types and access patterns, improving overall storage efficiency while maintaining manageable complexity through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different over-provisioning ratios are assigned to different memory regions based on local requirements. The first region uses a first over-provisioning ratio optimized for frequently-changing data, while the second region uses a second over-provisioning ratio for other data types. This local optimization enables each region to operate at peak efficiency for its specific workload.

Inventive Principle:
Principle #3Local quality

2Productivity

If memory compaction is performed globally across all regions, then storage efficiency is improved, but performance deteriorates due to interference with critical data access

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata access performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Memory compaction operations are segmented to occur independently within each memory region rather than globally. This allows compaction in the first region to proceed without interfering with data access operations in the second region, maintaining both storage efficiency and access performance through spatial separation of operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs compaction operations in advance during periods when critical data is not being accessed, and uses separate regions to isolate compaction activities from active data operations. This preliminary action approach ensures storage efficiency is maintained while preventing performance degradation during critical access periods.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If frequently-changing data is stored in the same region as rarely-changing data, then device complexity is reduced, but memory cell lifespan deteriorates due to uneven wear

Engineering Contradiction:
Improvememory management simplicityVSAvoidmemory cell lifespan
Core Design Contradiction:
Device complexityVSDuration of action of stationary object

Solution Approach 1:

The memory is segmented into distinct regions for frequently-changing data and rarely-changing data. This segmentation isolates high-wear operations to specific regions, preventing uneven wear from affecting the entire memory device and thereby extending overall memory cell lifespan while maintaining simple management within each region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions are assigned different characteristics: the first region is optimized for frequently-changing data with appropriate over-provisioning to handle wear, while the second region is optimized for rarely-changing data. This local quality assignment ensures each region's memory cells are stressed appropriately, extending overall device lifespan.

Inventive Principle:
Principle #3Local quality

4Productivity

If automated data compaction is implemented, then storage efficiency is improved, but device complexity increases due to additional management overhead

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmemory management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory system implements automated data compaction that operates independently within each region without requiring complex external management. The system self-manages the compaction process, copying data between blocks and maintaining optimal storage density automatically, which improves storage efficiency while keeping management overhead manageable through decentralized operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9280299B2Memory management schemes for non-volatile memory devices
Publication Date: 2016.03.08 APPLE INC
  • US9280299B2 patent drawing
  • US9280299B2 patent drawing
  • US9280299B2 patent drawing

AI summary

A method includes storing data in a non-volatile memory that includes multiple memory blocks. At least first and second regions are defined in the non-volatile memory. A definition is made of a first over-provisioning ratio between a first logical address space and a first physical memory space of the first region, and a second over-provisioning ratio, different from the first over-provisioning ratio, between a second logical address space and a second physical memory space of the second region. Portions of the data are compacted, individually within each of the first and second regions and independently of the other region, by copying the portions from one or more source memory blocks to one or more destination memory blocks using the first and second over-provisioning ratios, respectively.