Concurrent Read-Write Data Processing via Storage Area Identifier

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing apparatuses, the delay in processing after data buffering occurs because write operations are not completed before read operations can commence, leading to inefficiencies in data handling.

Innovation Solution

A data processing apparatus is designed with a storage controller and processor that generate separate write-side and read-side processes, allowing the read-side process to receive a storage area identifier and initiate read operations independently of write operations, enabling sequential writing and reading of data blocks without waiting for write completion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written to storage sequentially before reading, then data integrity is ensured, but processing delay increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-allocating storage areas and providing their identifiers to the read-side process before the write operation completes. The read-side process can immediately start reading from the pre-designated storage location once data is written, eliminating the waiting time that would otherwise be required for write completion confirmation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the data processing into independent write-side and read-side processes that operate concurrently. By dividing the monolithic data handling into separate write and read threads with independent execution flows, the system allows read operations to proceed without being blocked by write operation completion status.

Inventive Principle:
Principle #1Segmentation

2Productivity

If separate write-side and read-side processes are implemented, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses an intermediary mechanism in the form of storage area identifiers that mediate between the write-side and read-side processes. These identifiers act as a communication bridge, allowing the read process to locate and read data without direct interaction with the write process, thereby simplifying the inter-process communication while maintaining concurrency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If read operations wait for write completion, then data consistency is maintained, but throughput decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by pre-designating and notifying the read-side process of the storage location before the write operation finishes. This allows the read operation to be prepared and immediately execute once data is available, maintaining data consistency through controlled access while maximizing throughput through non-blocking operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8661209B2Data processing apparatus, data processing method, and computer-readable recording medium for writing and reading data to and from a storage
Publication Date: 2014.02.25 KYOCERA DOCUMENT SOLUTIONS INC
  • US8661209B2 patent drawing
  • US8661209B2 patent drawing
  • US8661209B2 patent drawing

AI summary

A data processing apparatus includes a storage controller and a processor. The storage controller is configured to write a series of data blocks constituting a particular unit of data to a storage and read out the series of data blocks from the storage. The processor is further configured to generate a write-side process and a read-side process, notify the read-side process from the write-side process of an identifier of a storage area in the storage, cause the storage controller to sequentially write the series of data blocks to the storage area using the write-side process, and cause the storage controller to read the series of data blocks from the storage area corresponding to the identifier using the read-side process after the identifier is received in the read-side process.