IP Library Granted Patent US 10,430,333
Granted Patent B2
US 10,430,333 · App. 15/721,547 · Granted Oct 1, 2019

Storage system with interconnected solid state disks

Inventors: Peng Li (Beaverton, OR); Jawad B. Khan (Portland, OR); Sanjeev N. Trika (Portland, OR)
G06F12/0692G05B19/045G11C7/1006
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,430,333
App. No.
15/721,547
Granted
Oct 1, 2019
Kind
B2
Abstract

An embodiment of a semiconductor package apparatus may include technology to provide a first interface between a first storage device and a host device, and provide a second interface directly between the first storage device and a second storage device. Other embodiments are disclosed and claimed.

Claims (89)

1. An electronic processing system, comprising:

a host device having a chassis;

a first storage device communicatively coupled to the host device inside the chassis;

a second storage device communicatively coupled to the host device inside the chassis; and

logic communicatively coupled to the first storage device to:

provide a first interface between the first storage device and the host device,

provide a second interface directly between the first storage device and the second storage device,

identify a destination storage device that is to receive one or more of a data or a command,

determine a first path to the destination storage device, wherein the first path is to include at least one receiving storage device that is to forward the one or more of the data or the command to the destination storage device,

send the one or more of the data or the command along the first path,

identify that an acknowledgement has not been received from a non-responsive storage device of the at least one receiving storage device,

in response to the acknowledgement not being received, determine a second path to the destination storage device, wherein the second path is to omit the non-responsive storage device, and

send the one or more of the data or the command along the second path.

2. The system of claim 1 , wherein the logic is further to:

provide a peer-to-peer interface for the second interface.

3. The system of claim 2 , wherein the logic is further to:

provide a third peer-to-peer interface between the first storage device and a third storage device communicatively coupled to the host device inside the chassis.

4. The system of claim 1 , wherein the logic is further to:

discover interconnected storage devices interconnected with the first storage device,

update a local routing table for the first storage device based on the discovered interconnected storage devices,

modify the local routing table, based on the acknowledgement not being received from the non-responsive storage device, to remove data associated with the non-responsive storage device from the local routing table, and

send the modified local routing table along the second path.

5. The system of claim 4 , wherein the logic is further to:

process a data movement command to one or more of move and copy data between two or more of the interconnected storage devices.

6. The system of claim 1 , wherein one or more of the first storage device, the second storage device, the destination storage device or the at least one receiving storage device includes a solid-state disk device.

7. A semiconductor package apparatus, comprising:

a substrate; and

logic coupled to the substrate, wherein the logic is at least partly implemented in one or more of configurable logic and fixed-functionality logic hardware, the logic coupled to the substrate to:

provide a first interface between a first storage device and a host device,

provide a second interface directly between the first storage device and a second storage device,

identify a destination storage device that is to receive one or more of a data or a command,

determine a first path to the destination storage device, wherein the first path is to include at least one receiving storage device that is to forward the one or more of the data or the command to the destination storage device,

send the one or more of the data or the command along the first path,

identify that an acknowledgement has not been received from a non-responsive storage device of the at least one receiving storage device,

in response to the acknowledgement not being received, determine a second path to the destination storage device, wherein the second path is to omit the non-responsive storage device, and

send the one or more of the data or the command along the second path.

8. The apparatus of claim 7 , wherein the logic is further to:

provide a peer-to-peer interface for the second interface.

9. The apparatus of claim 8 , wherein the logic is further to:

provide a third peer-to-peer interface between the first storage device and a third storage device.

10. The apparatus of claim 7 , wherein the logic is further to:

discover interconnected storage devices interconnected with the first storage device,

update a local routing table for the first storage device based on the discovered interconnected storage devices,

modify the local routing table, based on the acknowledgement not being received from the non-responsive storage device, to remove data associated with the non-responsive storage device from the local routing table, and

send the modified local routing table along the second path.

11. The apparatus of claim 10 , wherein the logic is further to: process a data movement command to one or more of move and copy data between two or more of the interconnected storage devices.

12. The apparatus of claim 7 , wherein one or more of the first storage device, the second storage device, the destination storage device or the at least one receiving storage device includes a solid-state disk device.

13. A method of interconnecting storage devices, comprising:

providing a first interface between a first storage device and a host device;

providing a second interface directly between the first storage device and a second storage device;

identifying a destination storage device that is to receive one or more of a data or a command;

determining a first path to the destination storage device, wherein the first path is to include at least one receiving storage device that forwards the one or more of the data or the command to the destination storage device;

sending the one or more of the data or the command along the first path;

identifying that an acknowledgement has not been received from a non-responsive storage device of the at least one receiving storage device;

in response to the acknowledgement not being received, determining a second path to the destination storage device, wherein the second path is omits the non-responsive storage device; and

sending the one or more of the data or the command along the second path.

14. The method of claim 13 , further comprising:

providing a peer-to-peer interface for the second interface.

15. The method of claim 14 , further comprising:

providing a third peer-to-peer interface between the first storage device and a third storage device.

16. The method of claim 13 , further comprising:

discovering interconnected storage devices interconnected with the first storage device;

updating a local routing table for the first storage device based on the discovered interconnected storage devices;

modifying the local routing table, based on the acknowledgement not being received from the non-responsive storage device, to remove data associated with the non-responsive storage device from the local routing table; and

sending the modified local routing table along the second path.

17. The method of claim 16 , further comprising:

processing a data movement command to one or more of move and copy data between two or more of the interconnected storage devices.

18. The method of claim 13 , wherein one or more of the first storage device, the second storage device, the destination storage device or the at least one receiving storage device includes a solid-state disk device.

19. At least one non-transitory computer readable medium, comprising a set of instructions, which when executed by a computing device, cause the computing device to:

provide a first interface between a first storage device and a host device;

provide a second interface directly between the first storage device and a second storage device;

identify a destination storage device that is to receive one or more of a data or a command;

determine a first path to the destination storage device, wherein the first path is to include at least one receiving storage device that is to forward the one or more of the data or the command to the destination storage device;

send the one or more of the data or the command along the first path;

identify that an acknowledgement has not been received from a non-responsive storage device of the at least one receiving storage device;

in response to the acknowledgement not being received, determine a second path to the destination storage device, wherein the second path is to omit the non-responsive storage device; and

send the one or more of the data or the command along the second path.

20. The at least one non-transitory computer readable medium of claim 19 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to:

provide a peer-to-peer interface for the second interface.

21. The at least one non-transitory computer readable medium of claim 20 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to:

provide a third peer-to-peer interface between the first storage device and a third storage device.

22. The at least one non-transitory computer readable medium of claim 19 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to:

discover interconnected storage devices interconnected with the first storage device; and

update a local routing table for the first storage device based on the discovered interconnected storage devices;

modify the local routing table, based on the acknowledgement not being received from the non-responsive storage device, to remove data associated with the non-responsive storage device from the local routing table; and

send the modified local routing table along the second path.

23. The at least one non-transitory computer readable medium of claim 22 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to:

process a data movement command to one or more of move and copy data between two or more of the interconnected storage devices.

24. The at least one non-transitory computer readable medium of claim 19 , wherein one or more of the first storage device, the second storage device, the destination storage device or the at least one receiving storage device includes a solid-state disk device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072792/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2019
From: LI, PENG; KHAN, JAWAD B.; TRIKA, SANJEEV N.
To: INTEL CORPORATION
Reel/Frame 049904/0949 →
Continuity (1)
Related Publication 20190102293A1 · Apr 4, 2019