IP Library Granted Patent US 11,010,076
Granted Patent B2
US 11,010,076 · App. 16/444,176 · Granted May 18, 2021

Memory system with multiple striping of raid groups and method for performing the same

Inventor: Jon C. R. Bennett (Sudbury, MA)
Assignee: VIOLIN SYSTEMS LLC
G06F3/064G06F3/0619G06F3/0689G06F11/108G06F11/1068G11B20/1833G11C29/52G06F3/0611G06F3/0659G06F12/0246G11B2220/60G11C7/1072
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 11,010,076
App. No.
16/444,176
Granted
May 18, 2021
Kind
B2
Abstract

A data memory system is described, where there may be an asymmetry in the time needed to write or erase data and the time needed to read data. The data may be stored using a RAID data storage arrangement and the reading, writing and erasing operations on the modules arranged such that the erasing and writing operations may be performed without significant latency for performing a read operation. Where a failure of a memory module in the memory system occurs, methods for recovering the data of the failed module are disclosed which may selected in accordance with policies that may relate to the minimizing the possibility of irretrievable data loss, or degradation of latency performance.

Claims (31)

1. A memory system, comprising:

a controller in communication with a plurality of memory modules, the controller configured to:

receive data for a write operation;

compute redundancy data for the data; and

store the data and the redundancy data in the memory modules so that when an erase operation prevents a read operation from at least some of the memory modules where the data for the read operation is stored, the data and redundancy data stored in some of the other memory modules can be read to provide the data for the read operation, with a time delay of less than a time period required to perform the erase operation in the memory modules.

2. The memory system of claim 1 , wherein the data for the read operation is provided to a user prior to completion of the erase operation.

3. The memory system of claim 1 , wherein the stored data and the redundancy data from the other memory modules are used to reconstruct the data for the read operation when the erase operation prevents the read operation for the data from being performed.

4. The memory system of claim 1 , wherein the redundancy data is single parity data and the data for the read operation is reconstructed using an exclusive-OR operation.

5. The memory system of claim 1 , wherein the redundancy data is dual parity data.

6. The memory system of claim 1 , wherein the memory modules are Solid State Disks (SSD).

7. The memory system of claim 6 , wherein the SSDs use an industry standard protocol.

8. The memory system of claim 7 , wherein the industry standard protocol is one of SATA, SCSI or Fibre Channel.

9. The memory system of claim 1 , wherein memory modules are NAND FLASH chips, or NAND FLASH dies.

10. The memory system of claim 1 , wherein the memory modules are comprised of NANO FLASH memory circuits.

11. The memory system of claim 1 , wherein the memory modules are configured as a RAID (Redundant Array of Independent Disks) group.

12. A non-transitory computer-readable media (NTCRM) comprising instructions for storing data in a memory system, wherein execution of the instructions by a controller in communication with a plurality of memory modules and a computing device is to cause the controller to:

receive a write operation from the computing device to write data in the memory system;

compute redundancy data for the data; and

store the data and the redundancy data in the memory modules so that when an erase operation or a write operation prevents a read operation from one or more memory modules where the data for the read operation is stored, the data for the read operation can be read and reconstructed from the data and redundancy data stored in the other memory modules.

13. The NTCRM of claim 12 , wherein execution of the instructions is to cause the controller to compute an exclusive-OR (X-OR) of the data and redundancy data read from the other memory modules to reconstruct the data.

14. The NTCRM of claim 12 , wherein execution of the instructions is to cause the controller to send a read command only to the modules that are not performing the erase operation or write operation.

15. The NTCRM of claim 12 , wherein the memory modules are configured as a Redundant Array of Independent Disks (RAID) group.

16. A memory system, comprising:

multiple memory modules;

a controller in communication with the memory modules, wherein the controller is operable to:

write data into the memory modules such that, responsive to a read operation for data stored in one or more memory modules,

when a write operation prevents the read operation from being performed on some of the memory modules where the requested data is stored, previously stored data and redundancy data from other memory modules is read to provide the data for the read operation, wherein a time delay to complete the read operation is less than a time period required to perform a write data operation in the memory modules.

17. The memory system of claim 16 , wherein the write operation is a plurality of write data operations performed to a plurality of the memory modules.

18. The memory system of claim 16 , wherein the data requested by the read operation is provided to a user prior to a completion of the write operation.

19. The memory system of claim 16 , wherein the memory modules are Solid State Disks (SSD).

20. The memory system of claim 16 , wherein the memory modules are configured as a Redundant Array of Independent Disks (RAID) group.

Assignments (5)
CORRECTIVE ASSIGNMENT TO REMOVE US PATENT NO. 9013874 PREVIOUSLY RECORDED UNDER REEL AND FRAME 064272/0249. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 17, 2024
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 068998/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 064272/0249 →
CHANGE OF NAME Recorded May 25, 2021
From: VIOLIN SYSTEMS LLC
To: VSIP HOLDINGS LLC
Reel/Frame 056366/0849 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: BENNETT, JON C.R.
To: VIOLIN MEMORY, INC.
Reel/Frame 055187/0118 →
CHANGE OF NAME Recorded Feb 8, 2021
From: VIOLIN MEMORY, INC.
To: VIOLIN SYSTEMS LLC
Reel/Frame 055261/0324 →
Cited By (1)
US 12,449,997