IP Library Granted Patent US 9,965,193
Granted Patent B2
US 9,965,193 · App. 15/202,347 · Granted May 8, 2018

Apparatus, system, and method of sequencing, shadowing, and queuing operations in a non-volatile storage memory

Inventors: Mike Hossein Amidi (Lake Forest, CA); Vahab Alemzadeh (Mission Viejo, CA)
Assignee: XITORE, INC.
G06F3/061G06F3/0659G06F3/0688G06F13/18
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,965,193
App. No.
15/202,347
Granted
May 8, 2018
Kind
B2
Abstract

An improved way of communicating data operation commands within a non-volatile storage controller is presented. The non-volatile storage controller includes an internal processing unit that is communicatively coupled with an associated host system, a master controller, and a plurality of local controllers that are communicatively coupled with a non-volatile memory. Upon receiving a series of data operations commands from the host system, the internal processing unit is configured to apply address shadowing when communicating the series of commands to the master controller such that the internal processing unit does not need to repetitively send the same set memory addresses to the master controller when issuing the series of commands.

Claims (38)

1. A storage system communicatively coupled with a host system, the storage system comprising:

an internal processing unit communicatively coupled with the host system;

an array of non-volatile memories;

a plurality of local controllers, wherein each local controller in the plurality of controllers corresponds to one non-volatile memory from the array of non-volatile memories and comprises a plurality of ports to communicate with the one non-volatile memory;

a master controller communicatively coupled with the internal processing unit and the plurality of local controllers, and configured to:

receive a group of related operations from the internal processing unit,

derive, based on the related operations, a sequence of commands having an order, and

broadcast the sequence of commands to the plurality of local controllers one at a time in the derived order.

2. The storage system of claim 1 , wherein the sequence of commands comprises a first command and then a second command.

3. The storage system of claim 2 , wherein the master controller is configured to broadcast the sequence of commands by first broadcasting the first command to the plurality of local controllers.

4. The storage system of claim 3 , wherein the master controller is configured to broadcast the second command to the plurality of local controllers while the plurality of local controllers are executing the first command.

5. The storage system of claim 1 , wherein the each local controller in the plurality of the local controllers has a commands queue.

6. The storage system of claim 5 , wherein each local controller in the plurality of local controllers is configured to store the sequence of commands in the queue in the derived order.

7. The storage system of claim 6 , wherein each local controller in the plurality of local controllers is configured to retrieve a command from the commands queue one at a time and execute the retrieved command.

8. The storage system of claim 7 , wherein each local controller in the plurality of local controllers is configured to retrieve the commands from the commands queue in a first-in-first-out order.

9. The storage system of claim 1 , wherein the group of related operations includes a set of memory addresses for which the related operations are to be executed.

10. The storage system of claim 9 , wherein the master controller is configured to transmit the set of memory addresses to the plurality of local controllers before broadcasting the sequence of commands.

11. A storage system communicatively coupled with a host system, the storage system comprising:

an array of non-volatile memories;

a plurality of local controllers, wherein each local controller in the plurality of controllers corresponds to one non-volatile memory from the array of non-volatile memories and comprises a plurality of ports to communicate with the one non-volatile memory;

a master controller communicatively coupled with the plurality of local controllers;

an internal processing unit communicatively coupled with the host system and the master controller, and configured to:

receive operation requestts from the host system,

group related operation requests together as a first group of related operations and a second group of related operations,

transmit a set of memory addresses and the first group of related operations to the master controller,

set a shadow indicator to on, and

transmit the second group of related operations to the master controller without re-transmitting the set of memory addresses.

12. The storage system of claim 11 , wherein the internal processing unit is further configured to

receive a list of data operations from the host system; and

determine, from the list of data operations, the group of related data operations that share a common set of memory addresses.

13. The storage system of claim 11 , wherein the master controller has a command register, a set of address registers, and a shadow register.

14. The storage system of claim 13 , wherein the internal processing unit is further configured to transmit the set of memory addresses to the master controller by programming the set of address registers according to the set of memory addresses.

15. The storage system of claim 14 , wherein the internal processing unit is further configured to transmit the first group of related operations to the master controller by programming the command register according to the first group of related operations.

16. The storage system of claim 15 , wherein the master controller is configured to, upon receiving the set of memory addresses and the first group of related operations, transmit the set of memory addresses stored in the set of address registers to the plurality of local controllers and broadcast the first group of related operations stored in the command register to the plurality of local controllers.

17. The storage system of claim 15 , wherein the internal processing unit is further configured to transmit the second group of related operations to the master controller by re-programming the command register according to the second group of related operations without re-programming the set of address registers.

18. The storage system of claim 17 , wherein the master controller is further configured to, upon receiving the second group of related operations, transmit the set of memory addresses stored in the set of address registers to the plurality of local controllers and broadcast the second group of related operations stored in the command register to the plurality of local controllers.

19. The storage system of claim 13 , wherein the internal processing unit is further configured to set the shadow indicator to on by programming the shadow register.

20. The storage system of claim 11 , wherein the internal processing unit is further configured to set the shadow indicator to off after transmitting the second group of related operations to the master controller.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2022
From: XITORE, INC.
To: EXECUTIVE ADVISORY FIRM LLC
Reel/Frame 061165/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2016
From: AMIDI, MIKE HOSSEIN; ALEMZADEH, VAHAB
To: XITORE, INC.
Reel/Frame 039500/0035 →
Continuity (4)
Continuation In Part 15194248 · Jun 27, 2016
Provisional Application 62188159 · Jul 2, 2015
Provisional Application 62185466 · Jun 26, 2015
Related Publication 20160378340A1 · Dec 29, 2016