Patentable/Patents/US-9804782
US-9804782

Fully scalable command execution unit

PublishedOctober 31, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A setting associated with a number of command execution units to enable is received at a host controller. The host controller is used to configure a plurality of command execution units so that the number of command execution units specified by the setting are enabled. The enabled command execution units are used to process one or more commands associated with storage.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system, comprising: a storage; and a host controller configured to: receive a setting specifying a number of command execution units to enable, wherein the setting is generated in accordance with events of the system, and the events include on/off of channels of the storage, on/off of pathways in interface to a host, changes of speed of the interface, or combination thereof; configure a plurality of command execution units so that the number of command execution units specified by the setting are enabled; and process one or more commands associated with the storage using the enabled command execution units.

2

2. The system recited in claim 1 , wherein the system includes a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

3

3. The system recited in claim 1 , wherein the host controller includes a plurality of command buffers which is serviced by the enabled command execution units, wherein the number of command buffers is fixed.

4

4. The system recited in claim 1 , wherein the host controller configures the plurality of command execution units, including by enabling a gated clock to those command execution which are to be enabled.

5

5. The system recited in claim 1 , wherein the host controller includes a power management block which is configured to: determine if any NAND channel is off; and in the event it is determined that at least one NAND channel is off, automatically generate a setting which causes the number of command execution units which are enabled to decrease.

6

6. The system recited in claim 1 , wherein the host controller includes a power management block which is configured to: determine if the pathway in the interface with the host is down; and in the event it is determined that at least one pathway in the interface with the host is down, automatically generate a setting which causes the number of command execution units which are enabled to decrease.

7

7. The system recited in claim 1 , wherein the host controller includes a power management block which is configured to: determine if there is a decrease in the speed of the interface with the host; and in the event it is determined that there is a decrease in the speed of the interface with the host, automatically generate a setting which causes the number of command execution units which are enabled to decrease.

8

8. The system recited in claim 1 , wherein each command execution unit in the plurality of command execution units includes: a command retriever, a command decoder, a command completer, and an exception and error reporter which are implemented in firmware; and a data transfer control block and an interrupt control block which are implemented in hardware.

9

9. A method, comprising: receiving, at a host controller, a setting specifying a number of command execution units to enable, wherein the setting is generated in accordance with events of the system, and the events include on/off of channels of the storage, on/off of pathways in interface to a host, changes of speed of the interface, or combination thereof; using the host controller to configure a plurality of command execution units so that the number of command execution units specified by the setting are enabled; and using the enabled command execution units to process one or more commands associated with storage.

10

10. The method recited in claim 9 , wherein the method is performed by a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

11

11. The method recited in claim 9 , wherein the host controller includes a plurality of command buffers which is serviced by the enabled command execution units, wherein the number of command buffers is fixed.

12

12. The method recited in claim 9 , wherein configuring the plurality of command execution units includes enabling a gated clock to those command execution which are to be enabled.

13

13. The method recited in claim 9 further comprising: determining if any NAND channel is off; and in the event it is determined that at least one NAND channel is off, automatically generating a setting which causes the number of command execution units which are enabled to decrease.

14

14. The method recited in claim 9 further comprising: determining if the pathway in the interface with the host is down; and in the event it is determined that at least one pathway in the interface with the host is down, automatically generating a setting which causes the number of command execution units which are enabled to decrease.

15

15. The method recited in claim 9 further comprising: determining if there is a decrease in a speed of the interface with the host; and in the event it is determined that there is a decrease in the speed of the interface with the host, automatically generating a setting which causes the number of command execution units which are enabled to decrease.

16

16. The method recited in claim 9 , wherein each command execution unit in the plurality of command execution units includes: a command retriever, a command decoder, a command completer, and an exception and error reporter which are implemented in firmware; and a data transfer control block and an interrupt control block which are implemented in hardware.

17

17. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving, at a host controller, a setting specifying a number of command execution units to enable, wherein the setting is generated in accordance with events of the system, and the events include on/off of channels of the storage, on/off of pathways in interface to a host, changes of speed of the interface, or combination thereof; using the host controller to configure a plurality of command execution units so that the number of command execution units specified by the setting are enabled; and using the enabled command execution units to process one or more commands associated with storage.

18

18. The computer program product recited in claim 17 further comprising computer instructions for: determining if any NAND channel is off; and in the event it is determined that at least one NAND channel is off, automatically generating a setting which causes the number of command execution units which are enabled to decrease.

19

19. The computer program product recited in claim 17 further comprising computer instructions for: determining if the pathway in the interface with the host is down; and in the event it is determined that at least one pathway in the interface with the host is down, automatically generating a setting which causes the number of command execution units which are enabled to decrease.

20

20. The computer program product recited in claim 17 further comprising computer instructions for: determining if there is a decrease in a speed of the interface with the host; and in the event it is determined that there is a decrease in the speed of the interface with the host, automatically generating a setting which causes the number of command execution units which are enabled to decrease.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 9, 2015

Publication Date

October 31, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Fully scalable command execution unit” (US-9804782). https://patentable.app/patents/US-9804782

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.