IP Library Granted Patent US 11,704,023
Granted Patent B2
US 11,704,023 · App. 17/700,362 · Granted Jul 18, 2023

Extensible storage system and method

Inventors: Rajesh Koul (San Jose, CA); Rodney N. Mullendore (San Jose, CA); James J. Walsh (Santa Clara, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0613G06F3/0607G06F3/0659G06F3/0664G06F3/0683G06F3/0688G06F13/102G06F13/4045Y02D10/00
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,704,023
App. No.
17/700,362
Granted
Jul 18, 2023
Kind
B2
Abstract

A storage system controller chip includes routing circuitry comprising a host interface for coupling to a host device and an extension interface for coupling to a secondary controller chip. A host controller is coupled to a logical interface of the routing circuitry for receiving a host data access command from the host device via the host interface and logical interface. The routing circuitry transfers the host data access command to the secondary controller chip via the extension interface. The storage system controller chip further includes processor circuitry coupled to the logical interface of the routing circuitry. The processor circuitry receives an indication from the secondary controller chip via the extension interface that execution of the host data access command has been completed by the secondary controller chip and instructs the host controller to notify the host device that execution of the host data access command has been completed.

Claims (70)

1. A data storage system, comprising:

a first controller and one or more second controllers,

wherein:

the first controller is visible to a host, and the one or more second controllers are invisible to the host;

visibility and invisibility of the first controller and the one or more second controllers are configurable;

the one or more second controllers comprise a second controller different from the first controller;

the first controller is configured to receive a first command from the host using a first port and configured to transmit some or all of the first command to the second controller using a second port; and

a bandwidth of the first port is configured to be split among the first controller and the one or more second controllers,

wherein each of the first controller and the second controller is configured to access and set the other controller's internal registers.

2. The data storage system of claim 1 , wherein:

the first controller comprises a routing circuitry; and

the routing circuitry of the first controller is configured to transfer data between the second controller and the host, without a direct involvement of other circuitry of the first controller completing a host data access command that is a responsibility of the first controller.

3. The data storage system of claim 1 , wherein the bandwidth of the first port is higher than a bandwidth of the second port.

4. The data storage system of claim 1 , wherein:

the first controller is configured to determine whether the first controller is responsible for a first portion of data associated with the first command and whether the second controller is responsible for a second portion of the data associated with the first command; and

the second controller is configured to skip determining whether the second controller is responsible for the second portion of the data.

5. The data storage system of claim 4 , wherein:

the first controller is configured to execute the first command for the first portion of the data associated with the first command; and

the second controller is configured to execute the first command for the second portion of the data associated with the first command.

6. The data storage system of claim 1 , wherein:

the first controller is configured to lock a first logical address referenced in the first command to prevent the first logical address from being referenced by a subsequent command while execution of the first command is not completed.

7. The data storage system of claim 1 , wherein:

the first controller is configured to perform a determination whether the first controller is responsible for any portion of data associated with the first command;

the determination is based on a division of a range of logical addresses; and

the division of the range of logical addresses is based on a modulo operation.

8. The data storage system of claim 1 , wherein each of the first controller and the second controller is configured to utilize less than an entirety of the bandwidth of the first port.

9. The data storage system of claim 1 , wherein the first controller is configured to cause:

determining that the second controller is responsible for at least a portion of data associated with the first command;

altering the first command based on a logical address range associated with the second controller; and

transmitting the altered first command to the second controller.

10. The data storage system of claim 1 , wherein:

the second controller is configured to cause:

receiving the first command using a third port of the second controller;

executing the first command for at least a portion of data associated with the first command; and

providing an indication that the first command is completed for the at least a portion of the data; and

the first controller is configured to cause providing a notification to the host in response to the indication received from the second controller.

11. A machine-implemented method for a data storage system comprising a first controller and one or more second controllers, the machine-implemented method comprising:

receiving, at the first controller, a first command from a host using a first port; and

transmitting some or all of the first command from the first controller to a second controller using a second port,

wherein:

the first controller is visible to the host, and the one or more second controllers are invisible to the host;

visibility and invisibility of the first controller and the one or more second controllers are configurable;

the one or more second controllers comprise the second controller different from the first controller; and

a bandwidth of the first port is split among the first controller and the one or more second controllers,

wherein each of the first controller and the second controller accesses and sets the other controller's internal registers.

12. The machine-implemented method of claim 11 , wherein:

the first controller comprises a routing circuitry; and

the routing circuitry of the first controller transfers data between the second controller and the host, without a direct involvement of other circuitry of the first controller completing a host data access command that is a responsibility of the first controller.

13. The machine-implemented method of claim 11 , comprising:

determining, at the first controller, whether the first controller is responsible for a first portion of data associated with the first command and whether the second controller is responsible for a second portion of the data associated with the first command,

wherein the second controller skips determining whether the second controller is responsible for the second portion of the data.

14. The machine-implemented method of claim 13 , comprising:

executing, at the first controller, the first command for the first portion of the data associated with the first command; and

executing, at the second controller, the first command for the second portion of the data associated with the first command.

15. The machine-implemented method of claim 11 , wherein the first controller locks a first logical address referenced in the first command to prevent the first logical address from being referenced by a subsequent command while execution of the first command is not completed.

16. An apparatus, comprising:

a first controller;

one or more second controllers;

means for receiving, at the first controller, a first command from a host using a first port;

means for transmitting some or all of the first command from the first controller to a second controller using a second port;

means for accessing and setting, by the first controller, internal registers of the second controller; and

means for accessing and setting, by the second controller, internal registers of the first controller,

wherein:

the first controller is visible to the host, and the one or more second controllers are invisible to the host;

visibility and invisibility of the first controller and the one or more second controllers are configurable;

the one or more second controllers comprise the second controller different from the first controller; and

a bandwidth of the first port is configured to be split among the first controller and the one or more second controllers.

17. The apparatus of claim 16 ,

wherein the first controller comprises a routing circuitry, and

wherein the apparatus comprises means for transferring, using the routing circuitry, data between the second controller and the host, without a direct involvement of other circuitry of the first controller completing a host data access command that is a responsibility of the first controller.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: KOUL, RAJESH; MULLENDORE, RODNEY N.; WALSH, JAMES J.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059677/0922 →