Partial Write Error Recovery via Read-Modify-Write Retry
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Device complexity
If the write request is retried without updating to full write, then error recovery is simple, but data integrity is compromised
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.
Data Source
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.


