IP Library Granted Patent US 10,101,924
Granted Patent B2
US 10,101,924 · App. 14/629,404 · Granted Oct 16, 2018

Storage processor managing NVMe logically addressed solid state disk array

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,101,924
App. No.
14/629,404
Granted
Oct 16, 2018
Kind
B2
Abstract

A method of writing to one or more solid state disks (SSDs) employed by a storage processor includes receiving a command, creating sub-commands from the command based on a granularity, and assigning the sub-commands to the one or more SSDs and creating a NVMe command structure for each sub-command.

Claims (21)

1. A method for writing data to multiple solid state disks (SSDs) employed by a storage processor, the method comprising:

receiving one or more commands including one or more host logical block addresses (LBAs) from a host;

assigning a queue to each of the multiple SSDs with the queue having multiple entries, each of the multiple entries holding a group of unassigned SSD LBAs (SLBAs), one of the multiple entries from the queue of each of the multiple SSDs collectively forming a stripe having a plurality of entries therein;

creating sub-commands from the one or more host LBAs by the storage processor based on a granularity determined by a number of sectors in the group of unassigned SLBAs in each of the multiple entries from the queue;

continually assigning the group of unassigned SLBAs from one of the plurality of entries in the stripe to one of the sub-commands until all of the groups of unassigned SLBAs from the plurality of entries in the stripe are assigned before continuing assignment with one or more new stripes to the sub-commands or until each of the sub-commands has the group of unassigned SLBAs from one of the plurality of entries assigned thereto; and

creating a Non-Volatile Memory Express (NVMe) command structure for each of the sub-commands by the storage processor.

2. The method of claim 1 , wherein the groups of unassigned SLBAs from the plurality of entries in the stripe have no relationship to the one or more host LBAs.

3. The method of claim 1 , wherein the group of unassigned SLBAs from one of the plurality of entries in the stripe assigned to a sub-command is different from a previously-assigned group of SLBAs of the same sub-command.

4. The method of claim 1 , wherein the one or more host LBAs include at least a combination of a starting LBA and a sector count.

5. The method of claim 1 , wherein the one or more host LBAs are divided according to the granularity, with each division of the one or more host LBAs being associated with a sub-command.

6. The method of claim 5 , further comprising assigning each division of the one or more host LBAs to the multiple SSDs.

7. The method of claim 1 , wherein each of the multiple SSDs has one or more submission queues.

8. The method of claim 7 , wherein the sub-commands are saved in the one or more submission queues of the multiple SSDs.

9. The method of claim 8 , wherein sub-commands corresponding to different commands are saved in a same submission queue.

10. The method of claim 8 , wherein sub-commands corresponding to a same command are saved in different submission queues.

11. The method of claim 1 , wherein the one or more commands further include data associated with the one or more host LBAs.

12. The method of claim 11 , further including dividing the data into sub-data based on the granularity, with each sub-data being associated with one of the sub-commands.

13. The method of claim 1 , wherein the multiple SSDs are NVMe PCIe SSDs.

14. The method of claim 1 , wherein the storage processor is coupled to a non-volatile memory external to the multiple SSDs.

15. The method of claim 14 , wherein the non-volatile memory maintains the one or more submission queues of each of the multiple SSDs.

16. The method of claim 14 , wherein the non-volatile memory maintains data associated with the one or more host LBAs from the one or more commands.

Assignments (6)
SECURITY INTEREST Recorded Mar 18, 2022
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 059436/0203 →
SECURITY INTEREST Recorded Apr 19, 2021
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 057213/0050 →
SECURITY INTEREST Recorded Apr 19, 2021
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 057217/0674 →
SECURITY INTEREST Recorded Jul 8, 2020
From: AVALANCHE TECHNOLOGY, INC.
To: SILICON VALLEY BANK
Reel/Frame 053156/0223 →
SECURITY INTEREST Recorded Feb 13, 2020
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 051930/0396 →
SECURITY INTEREST Recorded Apr 18, 2017
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 042273/0813 →