Fabric for modular solid-state storage systems
US-2017185554-A1 · Jun 29, 2017 · US
US12299295B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12299295-B2 |
| Application number | US-202217691470-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 10, 2022 |
| Priority date | Mar 9, 2018 |
| Publication date | May 13, 2025 |
| Grant date | May 13, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In one embodiment, a network of SSDs includes a switch with a plurality of powered ports configured to be communicatively coupled to a controller and a host client and a plurality of SSDs configured to be communicatively coupled to the plurality of powered ports. The switch is configured to deliver up to a predefined power level to each of the plurality of SSDs via the plurality of powered port. Each of the plurality of SSDs consumes power. The controller is configured to manage the predefined power level for each of the plurality of SSDs by identifying the power consumed by each of the plurality of SSDs and allocating a new power level to each of the plurality of SSDs based on the power consumed by each of the plurality of SSD. In one embodiment, the switch and the plurality of SSDs are configured to occupy a server rack space.
Opening claim text (preview).
What is claimed is: 1. A network of solid state drives (SSDs) comprising: a switch including a plurality of powered ports, the switch communicatively coupled to a controller external to the switch, the switch also being communicatively coupled to a host client; and a plurality of SSDs each consuming power and communicatively coupled to the powered ports of the switch, wherein each of the plurality of SSDs includes a queue of pending memory commands to be performed by the SSD, wherein the switch is configured to deliver up to a predefined power level to each of the plurality of SSDs via the plurality of powered ports; wherein the controller is configured to, for each of the plurality of powered ports of the switch: communicate with the switch to instruct the switch to allocate a power to be provided by each port, monitor the queues of pending memory commands in the plurality of SSDs, and modify the amount of power consumed by one or more of the plurality of SSDs based on the monitoring. 2. The network of SSDs of claim 1 , wherein the controller is further configured to: manage the predefined power level for each of the plurality of SSDs by identifying the power consumed by each of the plurality of SSDs and allocating a new power level to deliver to each of the plurality of SSDs based on the power consumed by each of the plurality of SSD. 3. The network of SSDs of claim 1 , wherein a total power is shared between the plurality of SSDs using an average allocation for each of the plurality of SSDs, and the allocation of power level is reduced by an amount for one of the plurality of SSDs, while the allocation of power level is increased by that amount for at least another of the plurality of SSDs. 4. The network of SSDs of claim 1 , wherein the controller is also configured to manage the total power shared by the plurality of SSDs by either limiting the performance of write commands by the SSDs, or adjusting the frequency of issuing write commands to the SSDs. 5. The network of SSDs of claim 1 , wherein the plurality of powered ports are comprised of Ethernet ports. 6. The network of SSDs of claim 1 , wherein the plurality of SSDs are communicatively coupled to the plurality of powered ports via an adapter. 7. The network of SSDs of claim 1 , wherein the power consumed by each of the plurality of SSDs is identified by calculating the power consumed by each of the plurality of SSDs during one or more predetermined time periods in real-time. 8. The network of SSDs of claim 7 , wherein a root-mean-square power consumption is calculated for each of the plurality of SSDs based on the power consumed during one or more predetermined time periods in real-time. 9. The network of SSDs of claim 1 , wherein the power consumed by each of the plurality of SSDs is identified by estimating the power consumed by each of the plurality of SSDs during one or more predetermined time periods according to a number of commands pending in the queues of each of the plurality of SSDs. 10. The network of SSDs of claim 1 , further comprising a server rack space, wherein the switch and the plurality of SSDs are configured to occupy the server rack space. 11. The network of SSDs of claim 1 , wherein the controller uses a connectivity standard and a protocol to manage the predefined power level for each of the plurality of SSDs. 12. The network of solid state drives (SSDs) of claim 1 , wherein the controller is configured to allocate the power to be provided by each port via an LLDP protocol. 13. The network of solid state drives (SSDs) of claim 1 , wherein the controller is configured to allocate the power to be provided by each port of the switch by instructing the switch to modify the amount of power allocated to at least one of the plurality of ports. 14. A network of solid state drives (SSDs) comprising: a switch including a plurality of powered ports, the switch being communicatively coupled to a host client; a plurality of SSDs each consuming power and configured to be communicatively coupled to the powered ports of the switch, wherein each of the plurality of SSDs includes a queue of pending memory commands to be performed by the SSD, wherein the switch is configured to deliver up to a predefined power level to each of the plurality of SSDs via the plurality of powered ports; a server rack space in which the switch and the plurality of SSDs are configured to occupy; and a controller communicatively coupled to the switch and external to the switch, the controller configured to, for each of the plurality of powered ports of the switch: communicate with the switch to instruct the switch to allocate a power to be provided by each port, monitor the queues of pending memory commands in the plurality of SSDs, and modify the amount of power consumed by one or more of the plurality of SSDs based on the monitoring. 15. The network of SSDs of claim 14 , wherein the controller is further configured to: manage a maximum power level allocated to each of the plurality of SSDs by identifying a power consumed by each of the plurality of SSDs and adjusting the maximum power level to deliver to each of the plurality of SSDs based on the power consumed by each of the plurality of SSDs. 16. The network of SSDs of claim 14 , wherein a total power is shared between the plurality of SSDs using an average allocation for each of the plurality of SSDs, and the allocation of power level is reduced by an amount for one of the plurality of SSDs, while the allocation of power level is increased by that amount for at least another of the plurality of SSDs. 17. The network of SSDs of claim 14 , wherein the controller is also configured to manage the total power shared by the plurality of SSDs by either limiting the performance of write commands by the SSDs, or adjusting the frequency of issuing write commands to the SSDs. 18. The network of SSDs of claim 14 , wherein the plurality of powered ports are comprised of Ethernet ports. 19. The network of solid state drives (SSDs) of claim 14 , wherein the controller is configured to allocate the power to be provided by each port via an LLDP protocol. 20. The network of solid state drives (SSDs) of claim 14 , wherein the controller is configured to allocate the power to be provided by each port of the switch by instructing the switch to modify the amount of power allocated to at least one of the plurality of ports. 21. A method of implementing a plurality of SSDs over a network, the method comprising: identifying a power consumed by each of a plurality of SSDs communicatively coupled to a plurality of powered ports of a switch, wherein each of the plurality of SSDs includes a queue of pending memory commands to be performed by the SSD, the switch being communicatively coupled to a host client; determining an allocated power level to deliver to each of the plurality of SSDs based on the power consumed by each of the plurality of SSDs, wherein the total of the allocated power levels does not exceed a total system power; communicating an instruction to the switch, by a controller communicatively coupled to the switch and external to the switch, the determined allocated power to be provided by each of the plurality of ports of the switch; monitoring, by the controller, the queues of pending memory commands in the plurality of SSDs; and modifying the amount of power consumed by one or more of the plurality of SSDs based on the monitoring. 22. The method of claim 21 , further co
Power management, i.e. event-based initiation of a power-saving mode · CPC title
of memory devices · CPC title
by changing the state or mode of one or more devices · CPC title
Non-volatile semiconductor memory arrays · CPC title
Power saving in hard disk drive · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.