IP Library Granted Patent US 10,785,154
Granted Patent B2
US 10,785,154 · App. 16/564,654 · Granted Sep 22, 2020

Managing phys of a data storage target device

Inventors: Darin Edward Gerhart (Oronoco, MN); Nicholas Edward Ortmeier (Rochester, MN); Xin Chen (Rochester, MN)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
H04L45/745G06F3/0604G06F3/0632G06F3/0658G06F3/0679G06F13/409G06F3/0614
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 10,785,154
App. No.
16/564,654
Granted
Sep 22, 2020
Kind
B2
Abstract

Embodiments of the present disclosure generally relate to managing phys of a data storage target device. In one embodiment, a method of managing phys of a data storage target device includes waiting to receive a host address on a target phy and transmitting a target phy address for the target phy after waiting to receive the host address on the target phy. In another embodiment, a method of managing phys of a data storage target device includes configuring a target port comprising a first target phy and reconfiguring the target port comprising a first target phy and a second target phy.

Claims (105)

1. A data storage device, comprising:

a controller;

a first phy;

a second phy;

a third phy;

a fourth phy; and

a non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

wait to receive a host phy SAS address on the first phy;

record the host phy SAS address in a lookup table;

transmit an identify frame using a target phy SAS address to a host device after receiving the host phy SAS address on the first phy to configure a narrow port with the first phy;

wait to receive a host phy SAS address on the second phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address;

transmit a first updated identify frame using the target phy SAS address to the host device after receiving the host phy SAS address on the second phy to re-configure a wide port with the first phy and the second phy;

wait to receive a host phy SAS address on the third phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address; and

transmit a second updated identify frame using the target phy SAS address to the host device after receiving the host phy SAS address on the third phy to re-configure the wide port with the first phy, the second phy, and the third phy.

2. The data storage device of claim 1 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

wait to receive a host phy SAS address on the fourth phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address; and

transmit a third updated identify frame using the target phy SAS address to the host device after receiving the host phy SAS address on the fourth phy to re-configure the wide port with the first phy, the second phy, the third phy, and the fourth phy.

3. A data storage device, comprising:

a controller;

a first phy;

a second phy;

a third phy;

a fourth phy; and

a non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

receive a host phy SAS address on the first phy;

record the host phy SAS address in a lookup table;

transmit an identify frame using a default target phy SAS address to a host device;

receive a host phy SAS address on the second phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address;

transmit an identify frame using the default target phy SAS address;

receive a host phy SAS address on the third phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address;

establish a wide port with the first phy and the third phy; and

transmit an updated identify frame to the host device;

receive a host phy SAS address on the fourth phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address;

determine whether grouping the first phy, the third phy, and the fourth phy would exceed a maximum phy auto wide port configuration mode setting;

establish a wide port with the first phy, the third phy, and the fourth phy; and

transmit an updated identify frame to the host device.

4. The data storage device of claim 3 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

determine that the host phy SAS address received on the third phy matches the host phy SAS address received on the first phy.

5. The data storage device of claim 4 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

determine that the host phy SAS address received on the fourth phy matches the host phy SAS address received on the first phy and the host phy SAS address received on the third phy.

6. A data storage device, comprising:

a controller;

a first phy;

a second phy;

a third phy;

a fourth phy; and

a non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

receive a host phy SAS address on the first phy;

record the host phy SAS address in a lookup table;

transmit an identify frame using a default target phy SAS address to a host device;

receive a host phy SAS address on the second phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address;

transmit an identify frame using the default target phy SAS address;

receive a host phy SAS address on the third phy;

record the host phy SAS address in the lookup table;

search for a matching SAS address;

determine whether grouping the first phy and the third phy would exceed a maximum phy auto wide port configuration mode setting;

establish a wide port with the first phy and the third phy; and

transmit an updated identify frame to the host device.

7. The data storage device of claim 1 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

determine that the host phy address received on the third phy matches the host phy address received on the first phy.

8. The data storage device of claim 1 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

complete a link reset on the first phy prior to receiving the host phy SAS address on the second phy.

9. The data storage device of claim 8 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

complete a link reset on the second phy prior to receiving the host phy SAS address on the third phy.

10. The data storage device of claim 1 , wherein the non-transitory computer readable storage medium contains instructions when executed by the controller cause the controller to:

receive a maximum phy auto wide port configuration mode setting.

11. A data storage device, comprising:

a controller configured to receive an identify frame from a host device, wherein the identify frame includes a SAS address and a phy identifier;

a first phy;

a second phy; and

a non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

search a phy SAS address lookup table for a matching received host SAS address;

determine whether grouping the first phy and the second phy would exceed a maximum phy auto wide port configuration mode setting;

configure the first phy and the second phy into a wide port; and

transmit target identify frame to the host device.

12. The data storage device of claim 11 , wherein the maximum phy auto wide port configuration mode setting is four phys for a wide port.

13. The data storage device of claim 11 , wherein the maximum phy auto wide port configuration mode setting is two phys for a wide port.

14. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

reconfigure phy port mappings.

15. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

store a last target phy SAS address persistently in non-volatile memory.

16. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

automatically reconfigure the first phy and the second phy into a wide port configuration the same SAS target addresses independent of an order that the first phy and the second phy complete SAS link reset sequences.

17. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

use a default phy SAS address to configure the first phy and the second phy if the maximum phy auto wide port configuration mode setting is reached.

18. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

store addresses used in identify frames in non-volatile memory.

19. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

wait to receive host identify frames.

20. The data storage device of claim 11 , wherein the non-transitory computer readable storage medium containing instructions when executed by the controller cause the controller to:

transmit a target identify frame to the host device if no host identify frame is received.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: GERHART, DARIN EDWARD; ORTMEIER, NICHOLAS EDWARD; CHEN, XIN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 050318/0449 →