Storage Controller Pre-Allocating Physical Space for Write Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices face inefficiencies in write amplification due to the inability to overwrite existing data, leading to worse performance when data with the same life cycle is scattered across multiple memory blocks.

Innovation Solution

A storage device and method that allocates physical space to logical space before receiving a write request, using a storage controller to manage memory blocks and buffer memory, allowing for efficient data storage and reduction of write amplification by pre-allocating physical space group IDs to logical addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If physical address allocation is performed after write request receipt, then the storage device can dynamically manage memory blocks, but write amplification increases due to scattered data storage across multiple blocks

Engineering Contradiction:
Improvedynamic memory managementVSAvoidwrite amplification
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The storage device performs preliminary allocation of physical addresses to logical addresses before actual write operations occur. The storage controller pre-allocates memory blocks and creates the L2P mapping table in advance, so when write requests arrive, data is written directly to pre-assigned locations without requiring real-time allocation decisions that would scatter data across multiple blocks.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If data is scattered across multiple memory blocks, then storage capacity is efficiently utilized, but write amplification characteristic deteriorates due to frequent erase operations

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidwrite amplification characteristic
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The storage device segments memory management into two distinct phases: a preliminary allocation phase where physical blocks are assigned to logical addresses and recorded in the L2P mapping table, and a execution phase where write operations occur. This segmentation allows the system to maintain contiguous or concentrated data placement in the non-volatile memory while still achieving high storage capacity utilization, thereby reducing write amplification.

Inventive Principle:
Principle #1Segmentation

3Productivity

If physical space is allocated before write request, then write performance is improved by reducing erase operations, but additional management overhead is introduced

Engineering Contradiction:
Improvewrite performanceVSAvoidaddress management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The storage controller acts as an intermediary between the host and the non-volatile memory device. It maintains and manages the L2P (logical-to-physical) mapping table that records the correspondence between logical addresses and physical block addresses. This intermediary layer handles the complexity of pre-allocation and address translation transparently, improving write performance without exposing the complexity to the host system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11507318B2Storage device, for allocating physical space for logical address before receiving write request, operating method thereof, and storage system including the same
Publication Date: 2022.11.22 SAMSUNG ELECTRONICS CO LTD
  • US11507318B2 patent drawing
  • US11507318B2 patent drawing
  • US11507318B2 patent drawing

AI summary

Disclosed is a storage device, which include a non-volatile memory device including a plurality of memory blocks, a buffer memory, and a storage controller that receives a first allocation request and first logical address information from a host, allocates logical addresses of the first logical address information to a first physical group of the plurality of memory blocks in response to the first allocation request, receives a first write request and first write data associated with the first logical address information, stores the first write data in the buffer memory, and writes the first write data stored in the buffer memory in memory blocks of the first physical group in response to the first write request. The first allocation request precedes the first write request.