IP Library Granted Patent US 9,348,758
Granted Patent B2
US 9,348,758 · App. 13/837,267 · Granted May 24, 2016

Virtual addressing with multiple lookup tables and RAID stripes

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,348,758
App. No.
13/837,267
Granted
May 24, 2016
Kind
B2
Abstract

A method of relating the user logical block address (LBA) of a page of user data to the physical block address (PBA) where the data is stored in a RAID architecture reduces to size of the tables by constraining the location to which data of a plurality of LBAs may be written. Chunks of data from a plurality of LBAs may be stored in a common page of memory and the common memory pages is described by a virtual block address (VBA) referencing the PBA, and each of the LBAs uses the same VBA to read the data.

Claims (28)

1. A method of managing a redundant array of inexpensive/independent disks (RAID) memory system, comprising:

configuring a processor for:

maintaining a first lookup table representing a mapping of a user logical block address (LBA) to a virtual block address (VBA), wherein a plurality of LBAs map to a common VBA;

mapping the VBA to a RAID stripe wherein a chunk of data of the LBA is stored on a memory device of a plurality of memory devices;

maintaining a second lookup table representing a mapping of the VBA to a physical block address (PBA) of a memory device of a plurality of memory devices;

selecting chunks from a plurality of LBAs to form a page of data having a VBA value; and

writing the data to the plurality of memory devices in a RAID stripe;

wherein each LBA of the plurality of LBAs forming the page of data map to the VBA value of the page.

2. The method of claim 1 , further comprising:

reading the data corresponding to a user LBA by performing a lookup of the corresponding VBA address in the first lookup table;

performing a lookup of the correspondence of the VBA and the PBA in the second lookup table; and

reading the data from the PBA.

3. The method of claim 1 , wherein the VBA metadata includes a mapping of the chunk location to one of the plurality of LBAs referencing the second table.

4. The method of claim 1 , wherein the first and the second lookup tables are maintained in volatile memory.

5. The method of claim 1 , wherein:

there is a third lookup table re-mapping the PBA address.

6. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

maintaining a first lookup table representing a mapping of a user logical block address (LBA) to a virtual block address (VBA), wherein a plurality of LBAs map to a common VBA;

mapping the VBA to a redundant array of inexpensive/independent disks (RAID) stripe wherein a chunk of data of the LBA is stored on a memory device of a plurality of memory devices

maintaining a second lookup table representing a mapping of the VBA to a physical block address (PBA) of a memory device of a plurality of memory devices;

selecting chunks from a plurality of LBAs to form a page of data having a VBA value; and

writing the data to the plurality of memory devices in a RAID stripe;

wherein each LBA of the plurality of LBAs forming the page of data map to the VBA value of the page.

7. The computer program product of claim 6 , further comprising computer instructions for:

operating the processor to:

read the data corresponding to a user LBA by performing a lookup of the corresponding VBA address in the first lookup table;

perform a lookup of the correspondence of the VBA and the PBA in the second lookup table; and

read the data from the PBA.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2014
From: VIOLIN MEMORY, INC.
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 033425/0248 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Jun 19, 2014
From: COMERICA BANK
To: VIOLIN MEMORY, INC.
Reel/Frame 033202/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2014
From: BENNETT, JON CR; PIGNATELLI, DAVID J.
To: VIOLIN MEMORY INC.
Reel/Frame 032746/0280 →