Data Processing Device Concurrent Write Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Key-Value Store (KVS) systems using HDD or SSD with log structured writing face limitations in random writing performance, leading to inefficient data writing and high memory buffer requirements, especially in large-scale data centers, due to the need for sequential writing and the risk of network failures, which increases storage costs and bandwidth utilization inefficiencies.

Innovation Solution

A data processing device with a request receiver, buffer, and circuitry that generates divided keys for partial data, allowing for concurrent writing of key-value pairs without waiting for complete data reception, using a KV storage device that associates data structures with divided keys, enabling efficient storage and reducing buffer size requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If log structured writing is used to improve sequential writing performance, then writing speed is improved, but random writing performance deteriorates

Engineering Contradiction:
Improvewriting speedVSAvoidrandom writing performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the writing process into multiple independent threads: a first thread handles sequential log structured writing while a second thread handles random key-value store processing. This segmentation allows both writing modes to operate concurrently without interfering with each other, thus improving random writing performance while maintaining sequential writing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic thread management where the second thread is activated only when random writing requests are received, and can be suspended when not needed. This dynamic approach allows the system to adapt to varying workloads, improving random writing performance when needed while avoiding overhead when not required.

Inventive Principle:
Principle #15Dynamics

2Reliability

If key-values are written after complete reception to ensure data integrity, then reliability is improved, but buffer size requirements increase

Engineering Contradiction:
Improvedata integrityVSAvoidbuffer size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the data writing process into two independent paths: complete key-value writes for reliability and incremental partial writes for buffer efficiency. By dividing the writing workload between these paths, the system maintains data integrity while reducing the required buffer size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial writing action by allowing the second thread to write key-value pairs incrementally as they are received, rather than waiting for complete data reception. This partial action approach reduces buffer requirements while maintaining acceptable reliability through the dual-thread architecture.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If a large receiving buffer is prepared to handle simultaneous writes from multiple clients, then productivity is improved, but memory consumption increases

Engineering Contradiction:
Improveconcurrent processing capabilityVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the concurrent processing capability across two threads, allowing each thread to handle a portion of the write requests independently. This segmentation enables the system to process multiple client writes simultaneously without requiring a single large buffer, thus improving productivity while reducing memory consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the capabilities of sequential writing and random writing into a unified dual-thread architecture. By combining these two writing modes in parallel, the system achieves high concurrent processing capability without needing to provision for the worst-case scenario of all requests arriving simultaneously, thereby reducing memory requirements.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If writing is performed sequentially to avoid network failure risks, then reliability is improved, but writing speed deteriorates

Engineering Contradiction:
Improvefailure handlingVSAvoidwriting speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the writing operations into two independent threads with different reliability approaches: the first thread uses sequential writing for reliability, while the second thread handles random writes with its own integrity mechanisms. This segmentation allows the system to achieve high overall writing speed while maintaining reliability through the first thread's sequential approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuity of useful action by having the second thread continuously process random writing requests as they arrive, without waiting for network conditions to be perfect. Combined with the first thread's continuous sequential writing, this maintains high writing speed while the dual-thread architecture provides failure handling capability.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10185783B2Data processing device, data processing method, and non-transitory computer readable medium
Publication Date: 2019.01.22 KIOXIA CORP
  • US10185783B2 patent drawing
  • US10185783B2 patent drawing
  • US10185783B2 patent drawing

AI summary

According to one embodiment, a data processing device, includes: a request receiver, a buffer, a first circuitry and a second circuitry. The request receiver receives a write request containing a first key and first data. The buffer temporarily buffers the first data contained in the write request. The first circuitry, according to a buffering status of the first data in the buffer, reads second data which is partial data of the first data that is not read yet out of the first data buffered in the buffer and generates a second key according to a position of the second data in the first data, based on the first key. The second circuitry associates a data structure containing the second data with the second key and adds the data structure into a data structure set whose elements are associated with second keys.