IP Library Granted Patent US 10,453,547
Granted Patent B2
US 10,453,547 · App. 15/625,313 · Granted Oct 22, 2019

Monitoring a memory for retirement

Inventors: Darshana H. Mehta (Shakopee, MN); Antoine Khoueir (Shakopee, MN); Ara Patapoutian (Shrewsbury, MA)
Assignee: Seagate Technologies LLC
G11C29/10G06F3/0653G06F3/0685G06F12/0253G11C29/30G11C29/42G11C29/44G11C29/52G06F2212/702G11C29/32
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 10,453,547
App. No.
15/625,313
Granted
Oct 22, 2019
Kind
B2
Abstract

Systems and methods presented herein provide for monitoring block, page, and/or stripe degradation. In one embodiment, a controller is operable to scan a first block of memory to identify a failure in a portion of the first block. The controller suspends input/output (I/O) operations to the failed portion of the first block, and tests the failed portion of the first block to determine if the failure is a transient failure. Testing includes loading the portion of the first block with data, and reading the data from the loaded portion of the first block. If the failure subsides after testing, the controller is further operable to determine that the failure is a transient failure, and to resume I/O operations to the portion of the first block.

Claims (58)

1. A method, comprising:

scanning a block of a storage device to identify a failure in a portion of the block;

suspending input/output (I/O) operations to the failed portion of the block;

performing garbage collection on the block in response to suspending the I/O operations to the failed portion of the block;

testing the failed portion of the block to determine if the failure is a transient failure, said testing comprising:

loading the portion of the block with data;

reading the data from the loaded portion of the block; and

determining if the failure remains based on said reading; and

if the failure subsides after testing, determining that the failure is a transient failure; and

resuming I/O operations to the portion of the block.

2. The method of claim 1 , further comprising:

retiring the portion of the block if the failure continues.

3. The method of claim 1 , wherein:

the data is test data, I/O data, or a combination thereof.

4. The method of claim 1 , further comprising:

increasing an error correction code (ECC) of the data; and

retesting the data in the failed portion of the block.

5. The method of claim 1 , further comprising:

determining that the failed portion of the block is a failed page, wherein the failed page is part of a stripe spread across a plurality of blocks of the storage device.

6. The method of claim 1 , further comprising:

determining that the stripe has failed; and

retiring the stripe in response to the determination that the stripe has failed.

7. A storage system, comprising:

a storage device comprising a plurality of blocks of memory; and

a controller operable to scan a first block of the memory to identify a failure in a portion of the first block, to suspend input/output (I/O) operations to the failed portion of the first block, to perform garbage collection on the first block in response to suspending the input/output (I/O) operations to the failed portion of the first block, and to test the failed portion of the first block to determine if the failure is a transient failure,

said testing comprising loading the portion of the first block with data, reading the data from the loaded portion of the first block, and determining if the failure remains based on said reading, and

if the failure subsides after testing, the controller is further operable to determine that the failure is a transient failure, and to resume I/O operations to the portion of the first block.

8. The system of claim 7 , wherein the controller is further operable to:

retire the portion of the first block if the failure continues.

9. The system of claim 7 , wherein:

the data is test data, I/O data, or a combination thereof.

10. The system of claim 7 , wherein the controller is further operable to:

increase an error correction code (ECC) of the data; and

retest the data in the failed portion of the first block.

11. The system of claim 7 , wherein the controller is further operable to:

determine that the failed portion of the first block is a failed page, wherein the failed page is part of a stripe spread across a plurality of blocks of the storage device.

12. The system of claim 7 , wherein the controller is further operable to:

determine that the stripe has failed; and

retire the stripe in response to the determination that the stripe has failed.

13. A method, comprising:

scanning a stripe configured across a plurality of storage devices to identify a failure in the stripe, the stripe comprising a plurality of pages of data spread across a plurality of blocks of data;

suspending input/output (I/O) operations to the stripe;

performing garbage collection on the stripe in response to suspending the I/O operations to the stripe;

testing the failed stripe to determine if the failure is within one or more pages of the stripe, said testing comprising:

XORing the pages of the stripe to determine which of the pages of the stripe have failed;

performing garbage collection on at least the failed one or more pages of the stripe;

loading data into the failed one or more pages;

reading the data from the failed one or more pages of the stripe; and

if the failure subsides after testing, resuming I/O operations to the stripe.

14. The method of claim 13 , further comprising:

retiring the stripe if the failure continues.

15. The method of claim 13 , wherein:

the data is test data, I/O data, or a combination thereof.

16. The method of claim 13 , further comprising:

increasing with an error correction code (ECC) of the data of the one or more failed pages; and

retesting the data in the one or more failed pages.

17. The method of claim 13 , wherein:

the one or more storage devices are solid state drives, hard disk drives, or combinations thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2017
From: KHOUEIR, ANTOINE; MEHTA, DARSHANA H.; PATAPOUTIAN, ARA
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 042734/0666 →
Continuity (1)
Related Publication 20180366209A1 · Dec 20, 2018
Cited By (4)
US 12,229,030 US 12,248,596 US 12,399,782 US 12,530,129