Storage Node Memory Controller for Distributed Erasure Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies in managing data chunks and coding chunks generated through erasure coding, leading to high CPU usage, frequent context switching, and network traffic, due to the need for frequent error correction and storage in shared memory blocks.

Innovation Solution

A memory controller is introduced that differentiates between data chunks and coding chunks, storing them in separate memory blocks with varying error correction codes, prioritizing coding chunks for higher reliability and data chunks for frequent read operations, and optimizing garbage collection and read reclaim operations based on chunk types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data chunks and coding chunks are stored in shared memory blocks, then storage space is optimized, but error correction overhead and CPU usage increase

Engineering Contradiction:
Improvestorage space utilizationVSAvoiderror correction overhead
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the storage system into distinct data chunk storage regions and coding chunk storage regions within the memory device. This segmentation allows different error correction strategies to be applied to each region, optimizing both storage efficiency and reliability by preventing error correction operations on coding chunks when only data chunk updates are needed.

Inventive Principle:
Principle #1Segmentation

2Reliability

If frequent error correction is performed on coding chunks, then data reliability is maintained, but system performance and productivity decrease

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts coding chunks from the error correction processing flow. When a write request contains only data chunks, the system performs error correction only on the data chunks and stores them in data chunk storage regions, completely bypassing error correction operations on coding chunks. This extraction principle eliminates unnecessary processing overhead while maintaining data reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If context switching is performed frequently to manage different chunk types, then data management flexibility improves, but CPU usage and operational complexity increase

Engineering Contradiction:
Improvedata management flexibilityVSAvoidcontext switching overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-classifying incoming write data into data chunks and coding chunks before storage operations. The memory controller identifies chunk types in advance and routes them to appropriate storage regions, eliminating the need for frequent context switching during write operations. This preliminary classification simplifies the management flow while maintaining flexibility.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If read reclaim operations are performed on all memory blocks, then storage efficiency improves, but operational overhead and time consumption increase

Engineering Contradiction:
Improvestorage efficiencyVSAvoidread reclaim operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies local quality by performing read reclaim operations selectively based on the storage region. Instead of uniformly processing all memory blocks, the system identifies and processes only data chunk storage regions that require read reclaim operations, while leaving coding chunk storage regions untouched. This localized approach reduces operational overhead and time consumption while maintaining storage efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11281381B2Storage node of distributed storage system and method of operating the same
Publication Date: 2022.03.22 SK HYNIX INC
  • US11281381B2 patent drawing
  • US11281381B2 patent drawing
  • US11281381B2 patent drawing

AI summary

Provided herein is a storage node of a distributed storage system and a method of operating the same. A memory controller may include a data controller configured to receive a write request and write data corresponding to the write request from a host, and configured to determine a physical address of a memory block in which the write data is to be stored based on chunk type information included in the write request, a memory control component configured to provide a program command for instructing the memory block to store the write data, the physical address, and the write data to the memory device, wherein the chunk type information is information about whether the write data indicates a type of data chunks or a type of coding chunks, the data chunks and the coding chunks being generated by the host performing an erasure coding operation on original data.