IP Library Granted Patent US 10,761,766
Granted Patent B2
US 10,761,766 · App. 16/038,030 · Granted Sep 1, 2020

Memory management system and method

Inventor: Jon C. R. Bennett (Sufbury, MA)
Assignee: VIOLIN MEMORY LLC
G06F3/065G06F3/064G06F3/0608G06F3/0616G06F3/0619G06F3/0652G06F3/0653G06F3/0688G06F3/0689G06F11/108G06F11/1044G06F11/1068G06F11/1072G11B20/1833G11C16/10G11C16/16G11C16/26G11C29/28G11C29/52G06F11/1076G06F12/0246G06F12/0866G11B2220/60
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,761,766
App. No.
16/038,030
Granted
Sep 1, 2020
Kind
B2
Abstract

A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.

Claims (34)

1. A memory system, comprising:

a plurality of memory devices each having memory blocks; and

a controller configured to:

perform write operations that store data sequentially in strips across the memory blocks in the memory devices;

perform write operations that write redundant data for the strips of data into the memory blocks of the memory devices; and

perform read operations that reconstruct the data from the strips of data and the redundant data stored in the memory devices not being accessed by the write operations.

2. The memory system of claim 1 , wherein the redundant data is stored on a different one of the memory devices from the other strips of data.

3. The memory system of claim 1 , wherein the read operations use the redundant data to reproduce the data in the memory devices being accessed by the write operations.

4. The memory system of claim 1 , wherein redundant data is parity data.

5. The memory system of claim 1 , wherein the memory devices are FLASH memory.

6. The memory system of claim 1 , including an interface coupled to the controller configured to receive requests to read the data and to store the data.

7. The memory system of claim 1 , wherein the controller is further configured to reconstruct the data using an exclusive-OR (XOR) operation.

8. The memory system of claim 1 , wherein the controller is further configured to store the strips of data across the memory blocks during non-overlapping time periods.

9. A memory system, comprising:

a plurality of non-volatile semiconductor memory devices each having memory blocks for storing data; and

a controller configured to:

perform a write operation to store data in the memory blocks across a group of the memory devices, wherein the write operation is performed in a redundant format where the stored data can be reconstructed from less than the entire group of the memory devices; and perform a read operation to read the data stored in the memory blocks across the group of memory devices, wherein the data that cannot be read from the memory devices performing write operations or erase operations is reconstructed from the remainder of the memory devices in the group.

10. The memory system of claim 9 , wherein the redundant format is an error correcting code (ECC).

11. The memory system of claim 10 , wherein the ECC is a parity code.

12. The memory system of claim 9 , wherein the memory devices are FLASH semiconductor memory devices.

13. The memory system of claim 9 , wherein, the memory blocks are logical address ranges.

14. The memory system of claim 9 , wherein the controller is further configured to store the data into the memory blocks in non-fully overlapping time periods.

15. A method for operating memory devices, comprising:

writing pages of data in non-fully overlapping time intervals into a group of memory modules that extend across the memory devices, the pages of data including parity data;

reading the pages of data from the group of memory modules, other than the memory modules currently performing write operations or erase operations; and

reconstructing the data from the pages of data and parity data read from the memory modules.

16. The method of claim 15 , further comprising:

storing the pages of data including the parity data into L memory modules; and

reconstructing the data read from L-1 memory modules.

17. The method of claim 15 , further comprising storing the pages of data as a RAID stripe across the group of memory modules.

18. The method of claim 15 , further comprising writing the pages of data in non-fully overlapping time intervals do not overlap by more than half of a time period.

19. The method of claim 15 , further comprising reconstructing the data by computing an exclusive-OR (XOR) with the pages of data and the parity data.

20. The method of claim 15 , wherein the memory modules are logical address ranges.

21. The method of claim 15 , further comprising using additional time intervals to perform the write operations or erase operations when more than a predetermined number of write or erase operations are pending for the memory modules.

Assignments (6)
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 →
CHANGE OF NAME Recorded May 19, 2021
From: VIOLIN MEMORY, INC.
To: VIOLIN SYSTEMS LLC
Reel/Frame 056296/0257 →
CHANGE OF NAME Recorded Aug 23, 2018
From: VIOLIN MEMORY, INC.
To: VIOLIN MEMORY LLC
Reel/Frame 046918/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: BENNETT, JON C.R.
To: VIOLIN MEMORY INC.
Reel/Frame 046680/0155 →