IP Library Granted Patent US 11,500,559
Granted Patent B2
US 11,500,559 · App. 16/898,119 · Granted Nov 15, 2022

Systems and methods for configuring a data storage device

Inventors: Judah Gamliel Hahn (Ofra, IL); Shay Benisty (Beer Sheva, IL); Ariel Navon (Revava, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0632G06F3/0604G06F3/0673G06F16/22
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 11,500,559
App. No.
16/898,119
Granted
Nov 15, 2022
Kind
B2
Abstract

The present disclosure generally relates to systems and methods by which a data storage device may receive data about the host system in which it is installed, and the customer associated with that system. Based upon this received data, the data storage device may modify its native operating parameters and custom functions to enable more optimal operation with the host system.

Claims (77)

1. A data storage device, comprising:

a controller comprising a data storage device operating parameter configured to configure a native function of the data storage device, the controller configured to receive a host identifier from a host; and

a database comprising:

a plurality of host identifier data elements; and

a plurality of device configuration data elements, each of the plurality of device configuration data elements corresponding to a respective one of the plurality of host identifier data elements; and

wherein the controller is further configured to:

obtain the host identifier from the host;

match the host identifier to one of the plurality of host identifier data elements;

write a corresponding one of the plurality of device configuration data elements to the data storage device operating parameters;

modify the data storage device operating parameter to match a quirk and a persona corresponding to the host, wherein the quirk corresponds to the native function of the data storage device and the persona corresponds to a non-native function of the data storage device, and wherein the non-native function is at least one of an optional PCIe power loss notification feature, an optional NVMe log pages feature, a QoS feature, a thermal thresholds feature, a timeout values feature, and a low power timings feature;

update a first device configuration data element of the plurality of device configuration data elements based on the quirk and the persona corresponding to the host; and

operate the data storage device based on the modified data storage device operating parameter.

2. The data storage device of claim 1 , wherein the controller is further configured to obtain a second host identifier from a second host, match the second host identifier to one of the plurality of host identifier data elements, and write a corresponding one of the plurality of device configuration data elements to the data storage device operating parameter.

3. The data storage device of claim 1 , wherein the controller comprises a custom function memory configured to define a non-native function of the data storage device; wherein the database further comprises a plurality of customer identifier data elements and a plurality of custom configuration data elements, each of the plurality of custom configuration data elements corresponding to a respective one of the plurality of customer identifier data elements; and wherein the controller is further configured to obtain the customer identifier, match the customer identifier to one of the plurality of customer identifier data elements, and write the corresponding one of the custom configuration data elements to the custom function memory.

4. The data storage device of claim 3 , wherein the host identifier is comprised of the customer identifier.

5. The data storage device of claim 4 , wherein the controller is configured to refrain from obtaining the host identifier after a power down of the host.

6. A data storage device, comprising:

a controller comprising a data storage device operating parameter configured to configure a native function of the data storage device, and a custom function memory configured to define a non-native function of the data storage device, wherein the controller is configured is to receive a host identifier from a host;

a database comprising:

a plurality of host identifier data elements;

a plurality of device configuration data elements, each of the plurality of device configuration data elements corresponding to a respective one of the plurality of host identifier data elements; and

a plurality of customer identifier data elements and a plurality of custom configuration data elements, each of the plurality of custom configuration data elements corresponding to a respective one of the plurality of customer identifier data elements; and

wherein the controller is further configured to obtain the host identifier from the host, match the host identifier to one of the plurality of host identifier data elements, write a corresponding one of the plurality of device configuration data elements to the data storage device operating parameter, obtain the customer identifier, match the customer identifier to one of the plurality of customer identifier data elements, write the corresponding one of the custom configuration data elements to the custom function memory, and refrain from matching a second customer identifier to one of the plurality of custom configuration data elements if the second customer identifier is different from the customer identifier.

7. A data storage device, comprising:

a controller comprising a data storage device operating parameter configured to configure a native function of the data storage device, and a custom function memory configured to define a non-native function of the data storage device, wherein the controller is configured is to receive a host identifier from a host;

a database comprising:

a plurality of host identifier data elements;

a plurality of device configuration data elements, each of the plurality of device configuration data elements corresponding to a respective one of the plurality of host identifier data elements; and

a plurality of customer identifier data elements and a plurality of custom configuration data elements, each of the plurality of custom configuration data elements corresponding to a respective one of the plurality of customer identifier data elements; and

wherein the controller is further configured to obtain the host identifier from the host, match the host identifier to one of the plurality of host identifier data elements, write a corresponding one of the plurality of device configuration data elements to the data storage device operating parameter, obtain the customer identifier, match the customer identifier to one of the plurality of customer identifier data elements, write the corresponding one of the custom configuration data elements to the custom function memory, and match a second customer identifier to one of the plurality of custom configuration data elements if the second customer identifier is different from the customer identifier.

8. A data storage device, comprising:

a controller comprising a custom configuration memory configured to configure non-native functionality of the data storage device, the controller configured to receive a customer identifier from a host; and

a database comprising:

a plurality of customer identifier data elements; and

a plurality of custom configuration data elements defining non-native functionality of the data storage device, each of the plurality of custom configuration data elements corresponding to a respective one of the plurality of customer identifier data elements;

wherein the controller is further configured to:

obtain the customer identifier from the host, match the customer identifier to one of the plurality of customer identifier data elements;

write a corresponding one of the plurality of custom configuration data elements to the custom configuration memory;

modify the data storage device operating parameter to match a quirk and a persona corresponding to the host, wherein the quirk corresponds to the native function of the data storage device and the persona corresponds to a non-native function of the data storage device, and wherein the non-native function is at least one of an optional PCIe power loss notification feature, an optional NVMe log pages feature, a QoS feature, a thermal thresholds feature, a timeout values feature, and a low power timings feature;

update a first custom configuration data element of the plurality of custom configuration data elements based on the quirk and the persona corresponding to the host; and

operate the data storage device based on the modified data storage device operating parameter.

9. The data storage device of claim 8 , wherein the controller is further configured to obtain a second customer identifier from a second host, match the second customer identifier to one of the plurality of customer identifier data elements, and write a corresponding one of the plurality of custom configuration data elements to the custom configuration memory.

10. The data storage device of claim 8 , wherein the controller comprises a data storage device operating parameter configured to configure a native function of the data storage device, the controller further configured to receive a host identifier from the host; wherein the database further comprises a plurality of host identifier data elements and a plurality of device configuration data elements, each of the plurality of device configuration data elements corresponding to a respective one of the plurality of host identifier data elements; and wherein the controller is further configured to obtain the host identifier, match the host identifier to one of the plurality of host identifier data elements, and write the corresponding one of the device configuration data elements to the data storage device operating parameter.

11. The data storage device of claim 10 , wherein the host identifier is comprised of the customer identifier.

12. A data storage device, comprising:

a controller comprising a custom configuration memory configured to configure non-native functionality of the data storage device, the controller configured to receive a customer identifier from a host;

a database comprising:

a plurality of customer identifier data elements; and

a plurality of custom configuration data elements defining non-native functionality of the data storage device, each of the plurality of custom configuration data elements corresponding to a respective one of the plurality of customer identifier data elements; and

wherein the controller is further configured to obtain the customer identifier from the host, match the customer identifier to one of the plurality of customer identifier data elements, write a corresponding one of the plurality of custom configuration data elements to the custom configuration memory; and refrain from matching a second customer identifier to one of the plurality of custom configuration data elements if the second customer identifier is different from the customer identifier.

13. The data storage device of claim 12 , wherein the controller is further configured to write a default non-native configuration data element to the custom configuration memory if the second customer identifier is different from the customer identifier.

14. The data storage device of claim 13 , wherein the controller is configured to obtain the customer identifier after a power down of the host.

15. The data storage device of claim 12 , wherein the controller is further configured to match a second host identifier to one of a plurality of device configuration data elements if the second host identifier is different from the host identifier.

16. A data storage device, comprising:

a database means comprising:

a plurality of host identifier data elements;

a plurality of customer identifier data elements;

a plurality of custom configuration data elements, each of the plurality of custom configuration data elements corresponding to a respective one of the plurality of customer identifier data elements; and

a plurality of operating parameter configuration data elements, each of the plurality of operating parameter data elements corresponding to a respective one of the plurality of host identifier data elements;

a means for receiving a customer identifier from a host;

a means for matching the customer identifier to one of the plurality of customer identifier data elements;

a means for modifying a controller of the data storage device to match a quirk and persona corresponding to the host based on the custom configuration data element corresponding to the one of the plurality of customer identifier data elements, wherein the quirk corresponds to the native function of the data storage device and the persona corresponds to a non-native function of the data storage device, and wherein the non-native function is at least one of an optional PCIe power loss notification feature, an optional NVMe log pages feature, a QoS feature, a thermal thresholds feature, a timeout values feature, and a low power timings feature;

a means for updating a first custom configuration data element of the plurality of custom configuration data elements based on the quirk and the persona corresponding to the host; and

a means for operating the data storage device based on the means for modifying.

17. The data storage device of claim 16 , further comprising:

a means for receiving a host identifier from the host;

a means for matching the host identifier to one of the plurality of host identifier data elements; and

a means for modifying the controller based on the operating parameter configuration data element corresponding to the one of the plurality of host identifier data elements.

18. The data storage device of claim 17 , further comprising:

a means for receiving a second host identifier;

a means for matching the second host identifier to one of the plurality of host identifier data elements; and

a means for modifying the controller based on the operating parameter configuration data element corresponding to the one of the plurality of host identifier data elements.

19. The data storage device of claim 18 , further comprising:

a means for receiving a second customer identifier;

a means for matching the second customer identifier to one of the plurality of customer identifier data elements; and

a means for modifying the controller based on a second custom configuration data element corresponding to the one of the plurality of customer identifier data elements.

20. The data storage device of claim 19 , wherein one of the host identifier and the second host identifier comprises one of a processor model, a chipset driver version, a product name, a firmware version, and a display driver version.

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 - 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 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2020
From: HAHN, JUDAH GAMLIEL; BENISTY, SHAY; NAVON, ARIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052899/0657 →
Continuity (1)
Related Publication 20210389888A1 · Dec 16, 2021