IP Library Granted Patent US 8,977,813
Granted Patent B2
US 8,977,813 · App. 14/260,237 · Granted Mar 10, 2015

Implementing RAID in solid state memory

Inventor: Gregory Burd (San Jose, CA)
Assignee: Marvell World Trade Ltd.
G06F11/108G06F11/1008G06F11/1028G06F12/0246G06F11/1048G11C29/52G06F2212/1032G06F2212/7208
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 8,977,813
App. No.
14/260,237
Granted
Mar 10, 2015
Kind
B2
Abstract

The present disclosure includes systems and techniques relating to implementing fault tolerant data storage in solid state memory. In some implementations, a method includes receiving a data request for a solid state memory; identifying a logical block grouping corresponding to the data request, wherein the logical block grouping indicates physical data storage blocks spanning at least two distinct memory units of the solid state memory; reading stored data and parity information from at least a portion of the physical data storage blocks spanning the at least two distinct memory units; and recovering data of at least one block of the logical block grouping based on the stored data and the parity information.

Claims (29)

1. A method comprising:

receiving, at a storage controller, a data request for a solid state memory;

identifying a logical block grouping corresponding to the data request, wherein the logical block grouping indicates physical data storage blocks spanning at least two distinct memory units of the solid state memory;

reading, by the storage controller, stored data and parity information from at least a portion of the physical data storage blocks spanning the at least two distinct memory units; and

recovering data of at least one block of the logical block grouping based on the stored data and the parity information.

2. The method of claim 1 , wherein the at least two distinct memory units are device planes, and each of the device planes comprises individually addressable physical data storage blocks.

3. The method of claim 2 , wherein the solid state memory comprises at least two solid state memory devices, and the identifying comprises identifying the device planes, which span the at least two solid state memory devices.

4. The method of claim 3 , wherein each of the physical data storage blocks of the logical block grouping is in a different one of the at least two solid state memory devices.

5. The method of claim 1 , wherein the at least two distinct memory units are solid state memory devices including at least one dedicated parity device.

6. The method of claim 1 , wherein a physical data storage block is a smallest erasable unit in the solid state memory.

7. The method of claim 1 , wherein the identifying is an emulated function performed in accordance with a user selected RAIB (Redundant Array of Independent Blocks) coderate.

8. The method of claim 1 , comprising interleaving pages across different RAIB associations using different parity buffers.

9. The method of claim 1 , wherein a RAIB stripe coincides with a logical block grouping used for wear leveling in the solid state memory.

10. A solid state memory system comprising:

distinct memory units; and

a controller configured to identify a logical block grouping corresponding to a data request, wherein the logical block grouping indicates physical data storage blocks spanning the distinct memory units, and the controller configured to recover data of at least one block of the logical block grouping based on user data and parity information read from at least a portion of the physical data storage blocks spanning the distinct memory units.

11. The solid state memory system of claim 10 , wherein the distinct memory units are device planes, and each of the device planes comprises individually addressable physical data storage blocks.

12. The solid state memory system of claim 11 , comprising at least two solid state memory devices, wherein the device planes span the at least two solid state memory devices.

13. The solid state memory system of claim 12 , wherein each of the physical data storage blocks of the logical block grouping is in a different one of the at least two solid state memory devices.

14. The solid state memory system of claim 10 , wherein a physical data storage block is a smallest erasable unit in the solid state memory system.

15. The solid state memory system of claim 10 , wherein the controller comprises:

a processor;

a buffer; and

an error correcting code (ECC) module.

16. The solid state memory system of claim 15 , wherein the processor is programmed to identify the logical block grouping in accordance with a user selected RAIB (Redundant Array of Independent Blocks) coderate.

17. The solid state memory system of claim 15 , comprising more than one parity buffer.

18. The solid state memory system of claim 17 , wherein the processor is programmed to interleave pages across RAIB associations using the more than one parity buffer.

19. The solid state memory system of claim 17 , wherein each of the more than one parity buffer comprises a single port memory.

20. The solid state memory system of claim 15 , wherein a RAIB stripe coincides with a logical block grouping used for wear leveling in the solid state memory system.

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 (5)
Continuation 13844302 · Mar 15, 2013
Continuation 12881881 · Sep 14, 2010
Provisional Application 61242662 · Sep 15, 2009
Provisional Application 61254577 · Oct 23, 2009
Related Publication 20140237287A1 · Aug 21, 2014