IP Library Granted Patent US 11,442,665
Granted Patent B2
US 11,442,665 · App. 17/178,447 · Granted Sep 13, 2022

Storage system and method for dynamic selection of a host interface

Inventors: Rakesh Balakrishnan (Bengaluru, IN); Eldhose Peter (Bengaluru, IN); Shiva K (Bengaluru, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/064G06F3/0604G06F3/0658G06F3/0683
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,442,665
App. No.
17/178,447
Granted
Sep 13, 2022
Kind
B2
Abstract

A storage system and method for dynamic selection of a host interface are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to receive, from a host, a selection of a first host interface; in response to receiving the selection of the first host interface, implement the first host interface; after the first host interface has been implemented, receive, from the host, a selection of a second host interface; and in response to receiving the selection of the second host interface, implement the second host interface even though the first host interface was previously implemented. Other embodiments are provided.

Claims (45)

1. A storage system comprising:

a memory; and

a controller configured to:

implement a first host interface upon establishing communication with a host;

after the first host interface has been implemented, receive, from the host via the first host interface, a command to prepare for a switch from the first host interface to a second host interface;

in response to receiving the command to prepare for the switch load firmware to execute on the controller to implement the second host interface;

send an acknowledgement to the host that the storage system is prepared for the switch;

receive, from the host via the first host interface, a command to switch from the first host interface to the second host interface; and

in response to receiving the command to switch, implement the second host interface.

2. The storage system of claim 1 , further comprising a host interface module configured to receive, from the host, the commands to prepare and switch.

3. The storage system of claim 1 , wherein the controller is further configured to partition the memory into a first set of blocks allocated for the first host interface.

4. The storage system of claim 3 , wherein the controller is further configured to partition the memory into a second set of blocks allocated for the second host interface.

5. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.

6. The storage system of claim 1 , wherein the controller is further configured to complete an in-progress memory operation using the first host interface before implementing the second host interface.

7. The storage system of claim 1 , wherein:

one of the first and second host interfaces comprises a Secure Digital (SD) interface; and

the other of the first and second host interfaces comprises a peripheral component interconnect express (PCIe) interface.

8. The storage system of claim 1 , further comprising a connector compatible with the first and second host interfaces.

9. The storage system of claim 1 , wherein the controller is further configured to switch between the first and second host interfaces a plurality of times.

10. The storage system of claim 1 , wherein the command to prepare comprises a vendor-specific command.

11. The storage system of claim 1 , wherein the host comprises an application layer, a driver layer, and a physical layer.

12. The storage system of claim 11 , wherein the storage system comprises a physical layer, a command layer, and a controller back-end layer.

13. A method comprising:

performing the following in a host:

establishing communication with a storage system comprising a memory, wherein a first host interface is implemented by the storage system upon establishing communication;

sending, to the storage system via the first host interface, a command to prepare for a switch from the first host interface to a second host interface, wherein the storage system loads firmware to implement the second host interface in response to receiving the command to prepare for the switch;

receiving an acknowledgement from the storage system that the storage system is prepared for the switch;

sending, to the storage system via the first host interface, a command to switch from the first host interface to the second host interface; and

receiving an acknowledgement from the storage system that the storage system has implemented the second host interface.

14. The method of claim 13 , wherein:

one of the first and second host interfaces comprises a Secure Digital (SD) interface; and

the other comprises a peripheral component interconnect express (PCIe) interface.

15. The method of claim 13 , wherein the command to prepare comprises a vendor-specific command.

16. The method of claim 13 , wherein the host determines to send the command to prepare based on power usage.

17. The method of claim 13 , wherein the host determines to send the command to prepare based on bandwidth.

18. The method of claim 13 , further comprising sending commands to switch between the first and second host interfaces a plurality of times.

19. The method of claim 13 , wherein:

the host comprises an application layer, a driver layer, and a physical layer; and

the storage system comprises a physical layer, a command layer, and a controller back-end layer.

20. A storage system comprising:

a memory;

means for implementing a first host interface upon establishing communication with a host;

means for loading firmware to implement a second host interface in response to receiving, from the host, a command to prepare for a switch from the first host interface to the second host interface;

means for sending an acknowledgement to the host that the storage system is prepared for the switch; and

means for implementing the second host interface in response to receiving, from the host, a command to switch from the first host interface to the second host interface.

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 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2021
From: BALAKRISHNAN, RAKESH; PETER, ELDHOSE; K, SHIVA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055315/0052 →