IP Library Granted Patent US 11,061,825
Granted Patent B2
US 11,061,825 · App. 15/402,936 · Granted Jul 13, 2021

Apparatus, system, and method for managing commands of solid-state storage using bank interleave

Inventors: David Flynn (Sandy, UT); Bert Lagerstedt (Pleasant Grove, UT); John Strasser (Syracuse, UT); Jonathan Thatcher (Liberty Lake, WA); Michael Zappe (Arvada, CO)
Assignee: Unification Technologies LLC
G06F12/121G06F1/183G06F3/0604G06F3/065G06F3/0608G06F3/0613G06F3/0619G06F3/0643G06F3/0652G06F3/0656G06F3/0659G06F3/0679G06F3/0685G06F3/0688G06F9/52G06F9/54G06F11/108G06F12/0246G06F12/0804G06F12/0868G06F12/12G06F12/123G06F13/28G06F13/4022G06F13/426H04L67/02H05K7/1444H05K7/1487G06F2211/002G06F2211/103G06F2212/1044G06F2212/2022G06F2212/222G06F2212/70G06F2212/7205H04L67/1097Y02D10/00
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,061,825
App. No.
15/402,936
Granted
Jul 13, 2021
Kind
B2
Abstract

An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.

Claims (25)

1. A system comprising:

a first controller that directs at least one command to a plurality of queues, wherein the at least one command is separated into the plurality of queues based on a command type of each command of the at least one command, and the plurality of queues comprises a first queue configured to store management commands and a second queue configured to store other commands; and

a solid-state storage device comprising:

a second controller configured to receive the at least one command from the plurality of queues, generate subcommands based on the at least one command, and direct the subcommands to at least one bank of a solid state storage; and

the solid-state storage.

2. The system of claim 1 , wherein the first controller communicates with the second controller using a PCI-e bus.

3. The system of claim 1 , wherein the solid-state storage comprises NAND flash.

4. The system of claim 1 , wherein the solid-state storage device comprises a solid-state storage arranged in a plurality of banks, and each bank of the plurality of banks includes a plurality of solid-state storage elements.

5. The system of claim 4 , wherein a first type of command executes on a first bank of the plurality of banks while concurrently a second type of command executes on a second bank of the plurality of banks.

6. The system of claim 1 , wherein the management commands are executable in an order different from the order in which the command were received in the first queue.

7. The system of claim 1 , wherein the at least one command is executable in an order different from the order in which the at least one command was received by the plurality of queues.

8. An apparatus comprising:

one or more processors configured to provide storage-related data and commands to an interface;

a first controller coupled to the interface and configured to receive at least one command from the interface and direct the at least one command to a plurality of queues, wherein the at least one command is separated into the plurality of queues based on a command type of the at least one command, and the plurality of queues comprises a first queue configured to store management commands and a second queue configured to store other commands;

a second controller configured to receive the at least one command from the plurality of queues, generate subcommands based on the least one command, and direct the subcommands to at least one bank of a solid state storage; and

the solid-state storage.

9. The apparatus of claim 8 , wherein the at least one command is executable in an order different from the order in which the at least one command was received by the plurality of queues.

10. The apparatus of claim 8 , wherein the solid-state storage is arranged in a plurality of banks, and each bank of the plurality of banks includes a plurality of solid-state storage elements.

11. The apparatus of claim 10 , wherein a first type of command executes on a first bank of the plurality of banks while concurrently a second type of command executes on a second bank of the plurality of banks.

12. The apparatus of claim 8 , wherein the solid-state storage device comprises a plurality of storage devices arranged as a redundant array of independent drives.

13. The apparatus of claim 12 , wherein the redundant array of independent drives is connected using a PCI-e bus.

14. The apparatus of claim 8 , wherein the solid-state storage comprises a plurality of chips.

15. The apparatus of claim 8 , wherein the solid-state storage comprises NAND flash.

16. The apparatus of claim 8 , wherein the first controller is configured to communicate with the second controller using a PCI e bus.

17. The apparatus of claim 8 , wherein the management commands are executable in an order different from the order in which the commands were received in the first queue.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 053654 FRAME: 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 15, 2021
From: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
To: UNIFICATION TECHNOLOGIES LLC
Reel/Frame 058134/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Nov 15, 2021
From: UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 058223/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: ACACIA RESEARCH GROUP LLC
To: UNIFICATION TECHNOLOGIES LLC
Reel/Frame 052096/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
To: ACACIA RESEARCH GROUP LLC
Reel/Frame 052095/0903 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT DOCUMENT FILED PREVIOUSLY RECORDED ON REEL 047702 FRAME 0413. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 16, 2019
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
Reel/Frame 048918/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2018
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES LIMITED
Reel/Frame 047702/0413 →
Continuity (4)
Continuation 11952095 · Dec 6, 2007
Provisional Application 60873111 · Dec 6, 2006
Provisional Application 60974470 · Sep 22, 2007
Related Publication 20170147241A1 · May 25, 2017