IP Library Granted Patent US 7,219,267
Granted Patent B2
US 7,219,267 · App. 10/752,758 · Granted May 15, 2007

Method, system, and program for data corruption detection and fault isolation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,219,267
App. No.
10/752,758
Granted
May 15, 2007
Kind
B2
Abstract

Disclosed is a technique for fault isolation. A first error check is performed on a block of data in storage to determine whether the block of data was corrupted after the block of data was transferred from memory to the storage. When the first error check indicates that the block of data was corrupted, a second error check is performed using the block of data in the memory to determine whether the block of data was corrupted before being transferred from the memory. When the second error check indicates that the block of data was corrupted before being transferred from the memory, it is determined that the block of data was corrupted before being stored in the memory. When the second error check indicates that the block of data was corrupted after being transferred from the memory, it is determined that the block of data was corrupted by at least one of the memory or a formatter that performed the transfer. Additionally disclosed is a technique in which a block of data is transferred from a memory at a first control unit to a memory at a second control unit. At the first control unit, when a second error check at the second control unit indicates that the block of data was corrupted before being transferred from the memory, a third error check is performed on the block of data in memory at the first control unit. When the third error check indicates that the block of data was corrupted, it is determined that the block of data was corrupted at the first control unit. When the third error check indicates that the block of data was not corrupted, it is determined that the block of data was corrupted during transfer from the first control unit to the second control unit.

Claims (63)

1. A method for fault isolation, comprising:

performing a first error check on a block of data in storage to determine whether the block of data was corrupted after the block of data was transferred from memory to the storage;

when the first error check indicates that the block of data was corrupted, performing a second error check using the block of data in the memory to determine whether the block of data was corrupted before being transferred from the memory;

when the second error check indicates that the block of data was corrupted before being transferred from the memory, determining that the block of data was corrupted before being stored in the memory; and

when the second error check indicates that the block of data was corrupted after being transferred from the memory, determining that the block of data was corrupted by at least one of the memory or a formatter that performed the transfer.

2. The method of claim 1 , wherein the storage is at least one of cache and nonvolatile storage.

3. The method of claim 1 , wherein the block of data is transferred from a first control unit to the memory at a second control unit and further comprising:

when the first error check indicates that the block of data was not corrupted, determining that the block of data was transferred from the first control unit to the second control unit without being corrupted.

4. The method of claim 1 , wherein when the second error check indicates that the block of data was corrupted before being transferred from the memory, further comprising:

retrying the transfer of the block of data from the memory to the storage.

5. The method of claim 1 , wherein the block of data is transferred from a memory at a first control unit to the memory at a second control unit, further comprising:

when the second error check indicates that the block of data was corrupted,

failing the transfer of the block of data by sending sense data to the first control unit; and

creating a log entry for error analysis.

6. The method of claim 5 , further comprising:

at the first control unit,

when the second error check indicates that the block of data was corrupted before being transferred from the memory, performing a third error check on the block of data in memory at the first control unit;

when the third error check indicates that the block of data was corrupted, determining that the block of data was corrupted at the first control unit;

when the third error check indicates that the block of data was not corrupted, determining that the block of data was corrupted during transfer from the first control unit to the second control unit; and

creating a log entry for error analysis.

7. The method of claim 5 , further comprising:

at the first control unit, resending the block of data to the second control unit.

8. The method of claim 1 , wherein the first error check, the second error check, and the third error check are each made using a cyclic redundancy check.

9. An article of manufacture embodied as one of hardware logic and a computer readable storage medium including program logic for fault isolation, wherein the hardware logic or program logic when executed by a computer causes operations to be performed, the operations comprising:

performing a first error check on a block of data in storage to determine whether the block of data was corrupted after the block of data was transferred from memory to the storage;

when the first error check indicates that the block of data was corrupted, performing a second error check using the block of data in the memory to determine whether the block of data was corrupted before being transferred from the memory;

when the second error check indicates that the block of data was corrupted before being transferred from the memory, determining that the block of data was corrupted before being stored in the memory; and

when the second error check indicates that the block of data was corrupted after being transferred from the memory, determining that the block of data was corrupted by at least one of the memory or a formatter that performed the transfer.

10. The article of manufacture of claim 9 , wherein the storage is at least one of cache and nonvolatile storage.

11. The article of manufacture of claim 9 , wherein the block of data is transferred from a first control unit to the memory at a second control unit and wherein the operations further comprise:

when the first error check indicates that the block of data was not corrupted, determining that the block of data was transferred from the first control unit to the second control unit without being corrupted.

12. The article of manufacture of claim 9 , wherein when the second error check indicates that the block of data was corrupted before being transferred from the memory, and wherein the operations farther comprise:

retrying the transfer of the block of data from the memory to the storage.

13. The article of manufacture of claim 9 , wherein the block of data is transferred from a memory at a first control unit to the memory at a second control unit, and wherein the operations further comprise:

when the second error check indicates that the block of data was corrupted,

failing the transfer of the block of data by sending sense data to the first control unit; and

creating a log entry for error analysis.

14. The article of manufacture of claim 13 , and wherein the operations further comprise:

at the first control unit,

when the second error check indicates that the block of data was corrupted before being transferred from the memory, performing a third error check on the block of data in memory at the first control unit;

when the third error check indicates that the block of data was corrupted, determining that the block of data was corrupted at the first control unit;

when the third error check indicates that the block of data was not corrupted, determining that the block of data was corrupted during transfer from the first control unit to the second control unit; and

creating a log entry for error analysis.

15. The article of manufacture of claim 13 , and wherein the operations further comprise:

at the first control unit, resending the block of data to the second control unit.

16. The article of manufacture of claim 9 , wherein the first error check, the second error check, and the third error check are each made using a cyclic redundancy check.

17. A system for fault isolation, comprising:

means for performing a first error check on a block of data in storage to determine whether the block of data was corrupted after the block of data was transferred from memory to the storage;

means for, when the first error check indicates that the block of data was corrupted, performing a second error check using the block of data in the memory to determine whether the block of data was corrupted before being transferred from the memory;

means for, when the second error check indicates that the block of data was corrupted before being transferred from the memory, determining that the block of data was corrupted before being stored in the memory; and

means for, when the second error check indicates that the block of data was corrupted after being transferred from the memory, determining that the block of data was corrupted by at least one of the memory or a formatter that performed the transfer.

18. The system of claim 17 , wherein when the second error check indicates that the block of data was corrupted before being transferred from the memory, further comprising:

means for retrying the transfer of the block of data from the memory to the storage.

19. The system of claim 17 , wherein the block of data is transferred from a memory at a first control unit to the memory at a second control unit, further comprising:

when the second error check indicates that the block of data was corrupted,

means for failing the transfer of the block of data by sending sense data to the first control unit; and

means for creating a log entry for error analysis.

20. The system of claim 19 , further comprising:

at the first control unit,

means for, when the second error check indicates that the block of data was corrupted before being transferred from the memory, performing a third error check on the block of data in memory at the first control unit;

means for, when the third error check indicates that the block of data was corrupted, determining that the block of data was corrupted at the first control unit;

means for, when the third error check indicates that the block of data was not corrupted, determining that the block of data was corrupted during transfer from the first control unit to the second control unit; and

means for creating a log entry for error analysis.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded May 5, 2014
From: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
To: POWER-ONE, INC.
Reel/Frame 032826/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2004
From: GIBBLE, KEVIN LEE; CHEN, JAMES CHIEN-CHIUNG; BENHASE, MICHAEL THOMAS; HUYNH, MINH-NGOC LE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014898/0919 →