Memory Buffer Error Correction for Write Cache Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face inefficiencies in error correction and detection during temporary buffering, leading to potential data loss and delays due to the limitations of error codes and memory buffer widths, especially when operating in Write Cache Enabled mode.

Innovation Solution

Generating and applying error detection and correction codes for data stored in memory buffers, allowing for error detection and correction of data before it is written to or read from storage media, using codes like CRC and Hamming codes to ensure data integrity and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error detection and correction codes are appended to data stored in memory buffer, then data integrity is improved, but memory buffer space efficiency deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidmemory buffer space efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the error correction approach by applying codes selectively only to data identified as being in the memory buffer, rather than to all data uniformly. This segmentation allows targeted protection where needed while preserving buffer space efficiency for other data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by differentiating the treatment of data based on its location and state. Data in the memory buffer receives error correction protection, while other data does not. This localized approach optimizes both reliability for buffered data and overall space efficiency.

Inventive Principle:
Principle #3Local quality

2Reliability

If stronger error detection and correction codes are used, then data reliability is improved, but code length and memory buffer requirements increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcode length
Core Design Contradiction:
ReliabilityVSLength of stationary object

Solution Approach 1:

The patent applies partial action by using error correction codes only for data that is currently stored in the memory buffer, rather than applying strong codes to all data. This partial application provides sufficient protection for the critical buffered data while avoiding the excessive code length that would result from universal application.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of code application by making it conditional on data location (in buffer vs. not in buffer). This parameter change allows the system to use stronger protection where needed while maintaining efficiency elsewhere, effectively adjusting the protection level based on operational context.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data is buffered before writing to media, then data transfer speed is improved, but risk of data corruption in buffer increases

Engineering Contradiction:
Improvedata transfer speedVSAvoiddata corruption risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing error correction coding for data before it is written from the memory buffer to the storage media. This preliminary protection ensures that even if corruption occurs during buffering, the data can be recovered before the final write operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent provides beforehand cushioning by preparing error correction codes in advance for data that will be buffered. This cushioning mechanism is ready to protect the data if corruption occurs during the buffering period, maintaining both speed and reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Reliability

If error correction is performed on buffered data, then data loss is reduced, but processing time increases

Engineering Contradiction:
Improvedata loss preventionVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs error correction preparation in advance by generating codes for buffered data before the actual write operation. This preliminary action ensures that correction is already in place, reducing the time penalty during critical operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a strategy where error correction is applied selectively to buffered data that is most at risk, while other data follows the conventional path. This selective approach recovers the time lost in processing by avoiding unnecessary correction operations on data that doesn't need protection.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS7984359B2Correction of data errors in a memory buffer
Publication Date: 2011.07.19 SEAGATE TECH LLC
  • US7984359B2 patent drawing
  • US7984359B2 patent drawing
  • US7984359B2 patent drawing

AI summary

Methods, circuits, and disk drive that correct errors in data that is temporarily stored in a memory buffer are disclosed. An error detection code and an error correction code are generated for data. The data, the error detection code, and the error correction code are stored in the memory buffer. The data is retrieved from the memory buffer and error detected using the error detection code. In response to detecting an error, the error correction code is applied to the retrieved data to generate corrected data.