IP Library Patent Application 13546179
Patent Application
App. No. 13/546,179

FLASH DISK ARRAY AND CONTROLLER

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 None
App. No.
13/546,179
Abstract

A data storage array is described, having a plurality of solid state disks configured as a RAID group. User data is mapped and managed on a page size scale by the controller, and the data is mapped on a block size scale by the solid state disk. The writing of data to the solid state disks of the RAID group is such that reading of data sufficient to reconstruct a RAID stripe is not inhibited by the erase operation of a disk to which data is being written.

Claims (34)

1 . A data storage system, comprising:

a plurality of memory modules, each memory module having:

a plurality of memory blocks,

a first controller configured to execute a mapping between a logical address of data received from a second controller and a physical address of a selected memory block; and

the second controller configured to interface with the groups of memory modules of the plurality of memory modules, each group comprising a RAID group,

wherein the second controller is further configured execute a mapping between a logical address of user data and a logical address of each of each of the memory modules of the group of memory modules of the RAID such that user data is written to the selected memory block of each memory module.

2 . The system of claim 1 , wherein the data is written to the group of memory modules of the RAID group one page at a time.

3 . The system of claim 1 , wherein the data is written to the group of memory modules of the RAID group such that the number of pages of data written at one time is less than or equal to the number of pages of the selected memory block.

4 . The system of claim 1 , wherein the data is written to the group of memory modules of the RAID group such that the number of pages of data written at one time is equal to the number of pages of the memory block.

5 . The system of claim 1 , wherein a quantity of data written to a memory module of the RAID group fills a partially filled memory block.

6 . The system of claim 1 , wherein the first controller interprets a write operation to a previously written logical memory of the memory module location as an indication that the physical memory block that is currently mapped to logical memory location may be erased.

7 . The system of claim 1 , wherein the memory module reports a busy status when performing a write or an erase operation.

8 . The system of claim 7 , wherein a write operation to another memory module of the RAID group is inhibited until the memory module last written to does not report a busy status.

9 . The system of claim 1 , wherein the status of a module being written to is determined by polling the module.

10 . The system of claim 1 , wherein the status of a module being written to is determined by the response to a test message.

11 . The system of claim 10 , wherein the test message is a read request.

12 . A method of storing data the method comprising:

providing a memory system having a plurality of memory modules;

selecting a group of memory modules of the group of memory modules to comprise a RAID group; and

providing a RAID controller;

receiving data from a user and processing the data for storage in the RAID group by:

mapping a logical block address of a received page of user data to a logical address space of each of the memory modules of a RAID group;

selecting a block of memory of each of the memory modules that has previously been erased;

mapping the logical address space of each of the memory modules to a physical address space in the selected block of the memory module;

writing the mapped data to the selected block of each memory module until the block is filled before mapping data to another memory block of each memory module of the RAID group.

13 . The method of claim 12 , wherein the block is filled by writing a quantity of data that is less than the data capacity of the block a plurality of times.

14 . The method of claim 13 , wherein a same number of pages is written to each of the mapped blocks a first time, prior to any mapped block being written to a second time.

15 . The method of claim 12 , wherein when the number of pages written to each of the mapped blocks is equal to a maximum number of pages of a block, another block is for mapping.

16 . A computer program product stored on a non-transient computer readable medium comprises instructions to cause a controller to:

select a group of memory modules comprising a RAID group receive data from a user and process the data for storage in the RAID group by:

mapping a logical block address of a received page of user data to a logical address space of each of the memory modules of the RAID group;

selecting a block of memory of each of the memory modules that has previously been erased;

mapping the logical address space of each of the memory modules to a physical address space in the selected block of the memory module;

writing the mapped data to the selected block of each of the memory modules until the block is filled before mapping data to another memory block of each of the memory modules of the RAID group.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 16, 2021
From: SILICON VALLEY BANK
To: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC (F/K/A VIOLIN MEMORY, INC.))
Reel/Frame 056600/0186 →
RELEASE OF SECURITY INTEREST Recorded Jan 24, 2018
From: SILICON VALLEY BANK
To: VIOLIN SYSTEMS LLC
Reel/Frame 044710/0796 →
CHANGE OF NAME Recorded Dec 19, 2017
From: VIOLIN MEMORY, INC.
To: VIOLIN SYSTEMS LLC
Reel/Frame 044908/0680 →
SECURITY INTEREST Recorded Aug 27, 2014
From: VIOLIN MEMORY, INC.
To: SILICON VALLEY BANK
Reel/Frame 033645/0834 →
RELEASE OF SECURITY INTEREST Recorded Aug 26, 2014
From: COMERICA BANK
To: VIOLIN MEMORY, INC.
Reel/Frame 033617/0360 →
RELEASE OF SECURITY INTEREST Recorded Aug 22, 2014
From: TRIPLEPOINT CAPITAL LLC
To: VIOLIN MEMORY, INC.
Reel/Frame 033591/0759 →
SECURITY AGREEMENT Recorded Jul 19, 2013
From: VIOLIN MEMORY, INC.
To: COMERICA BANK, A TEXAS BANKING ASSOCIATION
Reel/Frame 030833/0440 →
SECURITY AGREEMENT Recorded May 16, 2013
From: VIOLIN MEMORY, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 030426/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2012
From: STEPHENS, DONPAUL C.
To: VIOLIN MEMORY, INC.
Reel/Frame 028829/0643 →