Hierarchical Namespace Storage for Flash Memory Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As storage capacity increases, non-volatile memory devices like flash memory face interference issues due to simultaneous data access from different applications or users, leading to reduced Quality of Service (QoS) and Service Level Agreement (SLA) violations, necessitating effective data storage space allocation for isolation.

Innovation Solution

A hierarchical storage architecture is implemented using a controller to allocate non-volatile memory into namespace sets with varying tiers, where each tier provides different levels of input/output (I/O) isolation by using logical unit numbers (LUNs) and chip-enable signals, allowing specific access permissions between namespace sets to ensure isolated storage areas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If non-volatile memory is shared for multiple purposes to increase storage capacity utilization, then storage efficiency is improved, but data access interference between different applications increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata access interference
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent divides the non-volatile memory into multiple namespace sets (first namespace set, second namespace set, third namespace set) with different isolation levels. Each namespace set is further divided into storage units of different sizes (first storage units, second storage units), creating a hierarchical segmented structure that allows simultaneous access by different applications while maintaining appropriate isolation boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different namespace sets are assigned different I/O isolation characteristics. The first namespace set provides stronger isolation for applications requiring it, while the second and third namespace sets provide varying levels of isolation. This local differentiation of quality allows each application to receive the appropriate level of isolation without affecting others unnecessarily.

Inventive Principle:
Principle #3Local quality

2Object-affected harmful factors

If hierarchical namespace sets with different isolation levels are established, then data access interference is reduced, but device complexity increases

Engineering Contradiction:
Improvedata access interferenceVSAvoidcontroller complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The controller dynamically manages the hierarchical namespace structure, allowing flexible allocation and deallocation of storage units across different namespace sets. The isolation levels and access permissions can be adjusted based on application requirements, providing adaptive control that balances isolation needs with resource utilization without requiring fixed complex structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a nested hierarchical structure where namespace sets contain multiple storage units, and storage units can be further divided. This nested organization allows the controller to manage complexity at multiple levels simultaneously, where higher-level namespace sets provide coarse-grained isolation while lower-level storage units provide fine-grained control, reducing overall system complexity through structured nesting.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11635901B2Data storage device, and non-volatile memory control method
Publication Date: 2023.04.25 SHANNON SYST
  • US11635901B2 patent drawing
  • US11635901B2 patent drawing
  • US11635901B2 patent drawing

AI summary

Space allocation for non-volatile memory is shown. A controller establish a first namespace set by allocating the non-volatile memory in units of a first storage unit, and establishes a second namespace set by allocating the non-volatile memory in units of a second storage unit. The first storage unit is bigger than or equal to the second storage unit, and the first storage unit has better input and output isolation than the second storage unit. The first namespace set and the second namespace set are in the different tiers in a hierarchical storage architecture.