IP Library Granted Patent US 9,354,816
Granted Patent B2
US 9,354,816 · App. 14/269,590 · Granted May 31, 2016

Read policy for system data of solid state drives

Inventors: Zhengang Chen (San Jose, CA); Gordon J. Coleman (Los Altos, CA); Earl T. Cohen (Cupertino, CA); Ivana Djurdjevic (San Jose, CA); Erich F. Haratsch (San Jose, CA)
Assignee: Seagate Technology LLC
G06F3/0617G06F3/0632G06F3/0679H03M13/1108
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 9,354,816
App. No.
14/269,590
Granted
May 31, 2016
Kind
B2
Abstract

An apparatus includes a plurality of memory dies and a controller. The controller may be communicatively coupled to the plurality of memory dies and configured to utilize multiple copies of a root record containing system data during a boot-up process. The multiple copies of the root record are stored using at least two of the plurality of memory dies.

Claims (28)

1. An apparatus comprising:

a plurality of memory dies; and

a controller communicatively coupled to the plurality of memory dies and configured to utilize multiple copies of a root record containing system data during a boot-up process, wherein the multiple copies of the root record are stored using at least two of the plurality of memory dies, during the boot-up process, the controller is enabled to decode root record data stored in a particular location in a particular memory die of the plurality of memory dies and if decoding the root record data fails, the controller is enabled to decode a copy of the root record data stored in a different location in the particular memory die or in a particular location in at least one other memory die of the plurality of memory dies.

2. The apparatus according to claim 1 , wherein the controller is configured to utilize three or more copies of the root record stored using two of the plurality of memory dies.

3. The apparatus according to claim 1 , wherein the controller is configured to utilize three or more copies of the root record stored using three of the plurality of memory dies.

4. The apparatus according to claim 1 , wherein the controller is configured to randomly select between the multiple copies of the root record for each boot-up.

5. The apparatus according to claim 4 , wherein the controller is configured to make a non-uniform random selection between the multiple copies of the root record for each boot-up.

6. The apparatus according to claim 5 , wherein the controller is configured to rotate the non-uniform random selection between the multiple copies of the root record.

7. The apparatus according to claim 6 , wherein the controller is configured to rotate the non-uniform random selection among all copies whenever a root record is re-written.

8. The apparatus according to claim 1 , wherein the controller is configured to maintain multiple copies of the root record using a pool of dedicated blocks in one of the plurality of dies.

9. The apparatus according to claim 8 , wherein the pool of dedicated blocks is defined by a number of predetermined address bits.

10. The apparatus according to claim 1 , wherein the controller is configured to minimize read disturb of the root record.

11. The apparatus according to claim 10 , wherein the controller is configured to collect and save statistics on the root record during boot-up to minimize read disturb of the root record.

12. The apparatus according to claim 1 , wherein the controller utilizes multiple copies of system data to mitigate an error floor of a hard-decision low density parity check code.

13. The apparatus according to claim 1 , wherein:

during the boot-up process, the controller is enabled to perform a hard-decision decoding of the root record data.

14. The apparatus according to claim 1 , wherein the controller comprises a read only memory (ROM) containing firmware for the boot-up process.

15. The apparatus according to claim 13 , wherein the controller is configured to enable soft-decision decoding after the root record data is successfully read.

16. The apparatus according to claim 1 , wherein the root record data comprises firmware specific to a type of the plurality of memory dies.

17. A method for implementing a system data read policy in a storage device comprising:

configuring a plurality of memory dies and a controller as a solid-state drive or disk (SSD);

storing multiple copies of a root record containing system data using at least two of the plurality of memory dies; and

configuring the controller to utilize the multiple copies of the root record during a boot-up process of the SSD, wherein, during the boot-up process, the controller is enabled to decode root record data stored in a particular location in a particular memory die of the plurality of memory dies and if decoding the root record data fails, the controller is enabled to decode a copy of the root record data stored in a different location in the particular memory die or in a particular location in at least one other memory die of the plurality of memory dies.

18. A storage controller comprising:

an interface circuit configured to communicatively couple the storage controller to a plurality of memory dies; and

a processor communicatively coupled to the interface circuit and configured to utilize multiple copies of a root record containing system data during a boot-up process, wherein the multiple copies of the root record are stored using at least two of the plurality of memory dies, during the boot-up process, the controller is enabled to decode root record data stored in a particular location in a particular memory die of the plurality of memory dies and if decoding the root record data fails, the controller is enabled to decode a copy of the root record data stored in a different location in the particular memory die or in a particular location in at least one other memory die of the plurality of memory dies.

19. The storage controller according to claim 18 , wherein the multiple copies of the root record are stored in a block 0 of each of the at least two of the plurality of memory dies and at least one of a pool of predetermined non-zero blocks in at least one of the plurality of memory dies.

20. The storage controller according to claim 18 , wherein during the boot-up process, the controller is enabled to perform a hard-decision decoding of the root record data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034774/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2014
From: CHEN, ZHENGANG; COLEMAN, GORDON J.; COHEN, EARL T.; DJURDJEVIC, IVANA; HARATSCH, ERICH F.
To: LSI CORPORATION
Reel/Frame 032821/0208 →
Continuity (2)
Provisional Application 61976854 · Apr 8, 2014
Related Publication 20150286421A1 · Oct 8, 2015