IP Library Granted Patent US 9,959,068
Granted Patent B2
US 9,959,068 · App. 15/061,768 · Granted May 1, 2018

Intelligent wide port phy usage

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,959,068
App. No.
15/061,768
Granted
May 1, 2018
Kind
B2
Abstract

A controller of a storage device is described for handling communications with a host device. In some examples, the storage device includes a wide port comprising a plurality of phys. The wide port is configured to receive, via a first phy of the plurality of phys, a signal. The controller is configured to select, based on a respective power factor associated with each respective phy of the plurality of phys and a respective performance factor associated with each respective phy of the plurality of phys, a second phy of the plurality of phys to utilize for performing an operation associated with the received signal. In such examples, the wide port is further configured to perform, using the second phy, the operation associated with the received signal.

Claims (74)

1. A method comprising:

receiving, at a wide port of a storage device, via a first phy of a plurality of phys associated with the wide port, a signal;

selecting, by a controller of the storage device, based on a respective power factor associated with each respective phy of the plurality of phys and a respective performance factor associated with each respective phy of the plurality of phys, a second phy of the plurality of phys to utilize one of a wake up time factor associated with the received signal and a respective weight associated with the received signal; and

performing, by the wide port, using the second phy, the operation associated with the received signal.

2. The method of claim 1 , wherein the respective power factor indicates an inverse level of power consumption needed to perform the operation using the respective phy.

3. The method of claim 1 , wherein the respective performance factor indicates a relative amount of time needed to perform the operation using the respective phy.

4. The method of claim 1 , wherein the second phy is different than the first phy.

5. A method comprising:

receiving, at a wide port of a storage device, via a first phy of a plurality of phys associated with the wide port, a signal;

selecting, by a controller of the storage device, based on a respective power factor associated with each respective phy of the plurality of phys and a respective performance factor associated with each respective phy of the plurality of phys, a second phy of the plurality of phys to utilize for performing an operation associated with the received signal; and

performing, by the wide port, using the second phy, the operation associated with the received signal, wherein the respective power factor comprises a scaled percentage of a respective power value associated with each respective phy of the plurality of phys, and wherein the respective performance factor comprises a scaled percentage of a respective performance value associated with each respective phy of the plurality of phys.

6. The method of claim 5 , further comprising:

for each phy of the plurality of phys:

determining, by the controller, a power mode for the respective phy;

determining, by the controller and based on the power mode, the power value for the respective phy; and

multiplying, by the controller, the power value with the scaled percentage of the respective power value associated with the respective phy to determine the power factor associated with the respective phy; and

selecting, by the controller and based on the respective power factor associated with each of the respective phys, the second phy.

7. The method of claim 6 , wherein, when the scaled percentage of the power factor is equal to one hundred percent, the first phy comprises the same phy as the second phy, and only the second phy of the plurality of phys is active.

8. The method of claim 6 , wherein the second phy comprises the phy of the plurality of phys with the largest power factor.

9. The method of claim 6 , wherein the power mode is one of an active mode, a slumber mode, or a partial power mode, wherein the active mode indicates that the respective phy may receive signals from a host device and perform operations, wherein the slumber mode indicates that the respective phy may neither receive signals from the host device nor perform operations and that the respective phy requires a first wake-up time duration to be transitioned to the active mode, and wherein the partial power mode indicates that the respective phy may neither receive signals from the host device nor perform operations and that the respective phy requires a second wake-up time duration to be transitioned to the active mode, wherein the second wake-up time duration is less than the first wake-up time duration.

10. The method of claim 5 , further comprising:

for each phy of the plurality of phys:

determining, by the controller, an initiator response factor for the respective phy, wherein the initiator response factor indicates a level of an initiator turnaround time for the respective phy;

determining, by the controller, a phy availability time factor for the respective phy, wherein the phy availability time factor indicates a level of time for the respective phy to become available to process a new operation based on the expected processing times of pending operations in a queue to be processed by the respective phy;

determining, by the controller, a wake-up time factor for the respective phy, wherein the wake-up time factor indicates a level of time for the respective phy to switch to an active power mode;

determining, by the controller, based on the initiator response factor for the respective phy, the phy availability time factor for the respective phy, the wake-up time factor for the respective phy, and a respective weight for each of the initiator response factor, the phy availability time factor, and the wake-up time factor, the respective performance value for the respective phy; and

multiplying, by the controller, the respective performance value with the scaled percentage of the performance value to determine the performance factor; and

selecting, by the controller, based on the respective performance factors, the second phy.

11. The method of claim 10 , wherein, when the scaled percentage of the performance value is equal to one hundred percent, each phy of the plurality of phys is in an active power mode and executing in parallel.

12. The method of claim 10 , wherein the second phy comprises the phy of the plurality of phys with the largest performance factor.

13. The method of claim 10 , wherein a sum of the respective weights for each of the initiator response factor, the phy availability time factor, and the wake-up time factor is equal to one hundred percent.

14. The method of claim 5 , wherein a sum of the scaled percentage of the power factor and the scaled percentage of the performance value is equal to one hundred percent.

15. A storage device comprising:

a wide port comprising a plurality of phys, wherein the wide port is configured to:

receive, via a first phy of the plurality of phys, a signal; and a controller configured to:

select, based on a respective power factor associated with each respective phy of the plurality of phys and a respective performance factor associated with each respective phy of the plurality of phys, a second phy of the plurality of phys to utilize one of a wake up time factor associated with the received signal and a respective weight associated with the received signal,

wherein the wide port is further configured to perform, using the second phy, the operation associated with the received signal.

16. The storage device of claim 15 , wherein the respective power factor indicates an inverse level of power consumption needed to perform the operation using the respective phy, and wherein the respective performance factor indicates a relative amount of time needed to perform the operation using the respective phy.

17. A storage device comprising:

a wide port comprising a plurality of phys, wherein the wide port is configured to:

receive, via a first phy of the plurality of phys, a signal; and a controller configured to:

select, based on a respective power factor associated with each respective phy of the plurality of phys and a respective performance factor associated with each respective phy of the plurality of phys, a second phy of the plurality of phys to utilize for performing an operation associated with the received signal,

wherein the wide port is further configured to perform, using the second phy, the operation associated with the received signal, wherein the respective power factor comprises a scaled percentage of a respective power value associated with each respective phy of the plurality of phys, and wherein the respective performance factor comprises a scaled percentage of a respective performance value associated with each respective phy of the plurality of phys.

18. The storage device of claim 17 , wherein the controller is further configured to:

for each phy of the plurality of phys:

determining, by the controller, a power mode for the respective phy;

determining, by the controller and based on the power mode, the power value for the respective phy; and

multiplying, by the controller, the power value with the scaled percentage of the respective power value associated with the respective phy to determine the power factor associated with the respective phy; and

selecting, by the controller and based on the respective power factor associated with each of the respective phys, the second phy,

wherein the second phy comprises the phy of the plurality of phys with the largest power factor, and

wherein the power mode is one of an active mode, a slumber mode, or a partial power mode, wherein the active mode indicates that the respective phy may receive signals from a host device and perform operations, wherein the slumber mode indicates that the respective phy may neither receive signals from the host device nor perform operations and that the respective phy requires a first wake-up time duration to be transitioned to the active mode, and wherein the partial power mode indicates that the respective phy may neither receive signals from the host device nor perform operations and that the respective phy requires a second wake-up time duration to be transitioned to the active mode, wherein the second wake-up time duration is less than the first wake-up time duration.

19. The storage device of claim 17 , wherein the controller is further configured to:

for each phy of the plurality of phys:

determining, by the controller, an initiator response factor for the respective phy, wherein the initiator response factor indicates a level of an initiator turnaround time for the respective phy;

determining, by the controller, a phy availability time factor for the respective phy, wherein the phy availability time factor indicates a level of time for the respective phy to become available to process a new operation based on the expected processing times of pending operations in a queue to be processed by the respective phy;

determining, by the controller, a wake-up time factor for the respective phy, wherein the wake-up time factor indicates a level of time for the respective phy to switch to an active power mode;

determining, by the controller, based on the initiator response factor for the respective phy, the phy availability time factor for the respective phy, the wake-up time factor for the respective phy, and a respective weight for each of the initiator response factor, the phy availability time factor, and the wake-up time factor, the respective performance value for the respective phy; and

multiplying, by the controller, the respective performance value with the scaled percentage of the performance value to determine the performance factor associated with the respective phy; and

selecting, by the controller, based on the respective performance factors, the second phy,

wherein the second phy comprises the phy of the plurality of phys with the largest performance factor, and

wherein a sum of the respective weights for each of the initiator response factor, the phy availability time factor, and the wake-up time factor is equal to one hundred percent.

20. A non-transitory computer-readable medium containing instructions that, when executed, cause a controller of a storage device to:

responsive to receiving, at a wide port of a storage device, via a first phy of a plurality of phys associated with the wide port, a signal:

for each phy of the plurality of phys:

determine a power mode for the respective phy;

determine, based on the power mode, a power value for the respective phy;

multiply the power value with a scaled percentage of the respective power value associated with the respective phy to determine a power factor associated with the respective phy;

determining, by the controller, an initiator response factor for the respective phy, wherein the initiator response factor indicates a level of an initiator time turnaround for the respective phy;

determine a phy availability time factor for the respective phy, wherein the phy availability time factor indicates a level of time for the respective phy to become available to process a new operation based on the expected processing times of pending operations in a queue to be processed by the respective phy;

determine a wake-up time factor for the respective phy, wherein the wake-up time factor indicates a level of time for the respective phy to switch to an active power mode;

determine, based on the initiator response factor for the respective phy, the phy availability time factor for the respective phy, the wake-up time factor for the respective phy, and a respective weight for each of the initiator response factor, the phy availability time factor, and the wake-up time factor, a respective performance value for the respective phy; and

multiply the respective performance value with a scaled percentage of the performance value to determine a performance factor associated with the respective phy;

select, based on the respective power factor associated with each respective phy of the plurality of phys and the respective performance factor associated with each respective phy of the plurality of phys, a second phy of the plurality of phys to utilize for performing an operation associated with the received signal; and

perform, using the second phy, the operation associated with the received signal.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2016
From: GERHART, DARIN EDWARD; ORTMEIER, NICHOLAS EDWARD
To: HGST NETHERLANDS B.V.
Reel/Frame 037901/0150 →