IP Library Granted Patent US 10,930,315
Granted Patent B2
US 10,930,315 · App. 16/253,027 · Granted Feb 23, 2021

Error correction for storage devices

Inventors: Gregory Burd (San Jose, CA); Nedeljko Varnica (Sunnyvale, CA); Heng Tang (Sunnyvale, CA)
Assignee: Marvell Asia Pte., Ltd.
G11B20/1833G06F11/08G06F11/1076G11B20/1217G11B2020/1222G11B2020/1238
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,930,315
App. No.
16/253,027
Granted
Feb 23, 2021
Kind
B2
Abstract

A method for performing error recovery for data stored on a track of a storage device, in which the method includes: receiving a request to read the data from the storage device, identifying a plurality of sectors of the track to be read in response to the request, reading the data from the plurality of sectors of the track and parity data, based on the data read from the plurality of sectors, determining whether any of the plurality of sectors corresponds to a failed sector, and recovering a portion of the data from the failed sector using the parity data and portions of the data stored in remaining ones of the plurality of sectors.

Claims (26)

1. A method for performing error recovery for data stored on a first shingled magnetic recording (SMR) track of a storage device, the method comprising:

receiving a request to read the data from the first shingled magnetic recording (SMR) track of the storage device;

identifying a plurality of sectors of the first shingled magnetic recording (SMR) track to be read in response to the request;

reading (i) the data from the plurality of sectors of the first shingled magnetic recording (SMR track, and (ii) parity data;

based on the data read from the plurality of sectors, determining whether any of the plurality of sectors corresponds to a failed sector;

responsive to any of the plurality of sectors corresponding to a failed sector,

recovering a portion of the data from the failed sector of the first shingled magnetic recording (SMR) track using (i) the parity data and (ii) portions of the data stored in remaining ones of the plurality of sectors; and

while recovering the portion of the data from the failed sector of the first shingled magnetic recording (SMR) track, reading data from a second shingled magnetic recording (SMR) track of the storage device.

2. The method of claim 1 , wherein identifying the plurality of sectors of the first shingled magnetic recording (SMR) track includes identifying the plurality of sectors based on the request.

3. The method of claim 1 , wherein the request indicates the plurality of sectors.

4. The method of claim 1 , wherein reading the data from the plurality of sectors of the first shingled magnetic recording (SMR) track includes reading the data using at least one of an error detection code and a correction code.

5. The method of claim 1 , wherein recovering the portion of the data from the failed sector includes recovering the portion of the data in response to a determination that only one of the plurality of sectors corresponds to a failed sector.

6. The method of claim 5 , further comprising, in response to the determination that only one of the plurality of sectors corresponds to a failed sector, initiating processing of a command subsequent to the request to read the data.

7. The method of claim 6 , wherein the command subsequent to the request to read the data is a second request to read different data from the storage device while recovering the portion of the data from the failed sector.

8. A system for performing error recovery for data stored on a first shingled magnetic recording (SMR) track of a storage device, the system comprising:

decoder circuitry configured to, in response to a request to read the data from the first shingled magnetic recording (SMR) track of the storage device,

identify a plurality of sectors of the first shingled magnetic recording (SMR) track to be read in response to the request,

read the data from the plurality of sectors of the first shingled magnetic recording (SMR track, and

based on the data read from the plurality of sectors, determine whether any of the plurality of sectors corresponds to a failed sector; and

recovery circuitry configured to recover a portion of the data from the failed sector of the first shingled magnetic recording (SMR) track using (i) parity data and (ii) portions of the data stored in remaining ones of the plurality of sectors,

wherein the decoder circuitry is further configured to, while the recovery circuitry is recovering the portion of the data from the failed sector of the first shingled magnetic recording (SMR) track, read data from a second shingled magnetic recording (SMR) track of the storage device.

9. The system of claim 8 , wherein the request indicates the plurality of sectors.

10. The system of claim 8 , wherein, to read the data from the plurality of sectors of the first shingled magnetic recording (SMR) track, the decoder circuitry is further configured to read the data using at least one of an error detection code and a correction code.

11. The system of claim 8 , wherein, to recover the portion of the data from the failed sector, the recovery circuitry is further configured to recover the portion of the data in response to a determination that only one of the plurality of sectors corresponds to a failed sector.

12. The system of claim 11 , wherein the decoder circuitry is further configured to, in response to the determination that only one of the plurality of sectors corresponds to a failed sector, initiate processing of a command subsequent to the request to read the data.

13. The system of claim 12 , wherein the command subsequent to the request to read the data is a second request to read different data from the storage device while recovering the portion of the data from the failed sector.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
Continuity (11)
Continuation 15921610 · Mar 14, 2018
Continuation 14947833 · Nov 20, 2015
Continuation 14642526 · Mar 9, 2015
Continuation 14466881 · Aug 22, 2014
Continuation In Part 14260237 · Apr 23, 2014
Continuation 13844302 · Mar 15, 2013
Continuation 12881881 · Sep 14, 2010
Provisional Application 61876360 · Sep 11, 2013
Provisional Application 61254577 · Oct 23, 2009
Provisional Application 61242662 · Sep 15, 2009
Related Publication 20190172491A1 · Jun 6, 2019
Cited By (1)
US 12,548,596