Partial Write Error Recovery via Read-Modify-Write Retry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in error recovery during partial writes, as current methods do not effectively address corrupted data surrounding the desired write location, especially in read-modify-write operations.

Innovation Solution

The system updates partial write requests to full write requests by performing a read-modify-write operation, merging the write data with read data to ensure accurate burst size writes, and retries the updated request as a full write to correct errors without overwriting adjacent data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error recovery is performed by retrying the failed write request, then the write operation can be recovered, but corrupted data surrounding the desired write location is not addressed

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidcorrupted data surrounding write location
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs a preliminary read operation before retrying the write during error recovery. By reading the data surrounding the desired write location beforehand and storing it in a buffer, the system prepares corrected data in advance so that when the write is retried, the surrounding corrupted data is already available for proper writing, preventing data loss.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If partial writes are performed as read-modify-writes, then precise writing to specific locations is achieved, but error recovery does not address corrupted surrounding data

Engineering Contradiction:
Improvewrite location precisionVSAvoiderror recovery completeness
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The system merges the preliminary read operation with the error recovery retry process. The read data obtained during the read-modify-write operation is stored in a buffer and combined with the write operation during error recovery, ensuring that both the desired write location and surrounding data are properly handled in a single retry operation.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If the write request is retried without updating to full write, then error recovery is simple, but data integrity is compromised

Engineering Contradiction:
Improveerror recovery processVSAvoidsurrounding data integrity
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The system uses the buffer to store the surrounding read data, allowing the error recovery process to automatically retrieve and use this data when retrying the write operation. The buffer serves the dual purpose of supporting read-modify-write operations and enabling complete error recovery without requiring complex external intervention.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9423972B2Error recovery in a data processing system which implements partial writes
Publication Date: 2016.08.23 NXP USA INC
  • US9423972B2 patent drawing
  • US9423972B2 patent drawing
  • US9423972B2 patent drawing

AI summary

A data processing system includes a command buffer and control circuitry. The command buffer is configured to store pending write requests to a memory in which each pending write request has corresponding write data. The control circuitry is configured to select a pending write request from an entry of the command buffer and send the selected write request to the memory. The selected write request is a partial write request having first write data stored in the entry. Sending the selected write request includes performing a read-modify-write (RMW), wherein the control circuitry is configured to, after a read operation of the RMW, update the pending write request in the entry from a partial write request to a full write request.