IP Library › Granted Patent US 10,838,885
Granted Patent B2
US 10,838,885 · App. 16/226,629 · Granted Nov 17, 2020

Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD

Inventors: Sompong Paul Olarig (Pleasanton, CA); Fred Worley (San Jose, CA); Oscar P. Pinto (San Jose, CA)
G06F13/1668G06F3/061G06F3/065G06F3/0683G06F13/4022G06F13/4282H03M13/154G06F2213/0026
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,838,885
App. No.
16/226,629
Granted
Nov 17, 2020
Kind
B2
Abstract

A topology is disclosed. The topology may include at least one Non-Volatile Memory Express (NVMe) Solid State Drive (SSD) and a Peripheral Component Interconnect Express (PCIe) switch. The PCIe switch may include an external connector to enable the PCIe switch to communicate with a processor, at least one connector to enable the PCIe switch to communicate with the NVMe SSD, a Power Processing Unit (PPU) to configure the PCIe switch, and an Erasure Coding controller including circuitry to apply an Erasure Coding scheme to data stored on the NVMe SSD.

Claims (46)

1. A system, comprising:

a Non-Volatile Memory Express (NVMe) Solid State Drive (SSD); and

a Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic, including:

an external connector to enable the PCIe switch to communicate with a processor;

at least one connector to enable the PCIe switch to communicate with the NVMe SSD;

a Power Processing Unit (PPU) to configure the PCIe switch; and

an Erasure Coding controller including circuitry to apply an Erasure Coding scheme to data stored on the NVMe SSD.

2. The system according to claim 1 , wherein:

the system further comprises:

a second NVMe SSD; and

a second PCIe switch including:

a second external connector to enable the second PCIe switch to communicate with the processor;

a second connector to enable the second PCIe switch to communicate with the second NVMe SSD; and

a third connector to enable the second PCIe switch to communicate with the PCIe switch with Erasure Coding logic; and

the PCIe switch with Erasure Coding logic includes a fourth connector to enable the PCIe switch with Erasure Coding logic to communicate with the second PCIe switch,

wherein the Erasure Coding scheme is applied to data stored on the NVMe SSD and the second NVMe SSD.

3. The system according to claim 1 , wherein the Erasure Coding logic is operative to return a response to a read request from a host based at least in part on a data requested in the read request is present in a cache.

4. The system according to claim 1 , wherein the Erasure Coding logic is operative to return a response to a write request to a host before completing the write request.

5. The system according to claim 1 , wherein the Erasure Coding logic is operative to intercept a data transmission received at the PCIe switch from a host and replace a host Logical Block Address (LBA) used by the host in the data transmission with a device LBA used by the NVMe SSD.

6. The system according to claim 1 , further comprising a second device connected to the PCIe switch with Erasure Coding logic.

7. The system according to claim 6 , wherein:

the second device comprises at least one of a non-storage device and a storage device with a native Erasure Coding logic; and

the PCIe switch with Erasure Coding logic is operative to disable the Erasure Coding logic based at least in part on the second device.

8. The system according to claim 6 , wherein:

the second device comprises at least one of a non-storage device and a storage device with a native Erasure Coding logic; and

the PCIe switch with Erasure Coding logic is operative to enable the Erasure Coding logic and to disable access to the second device.

9. The system according to claim 1 , wherein:

the system further comprises a second NVMe SSD; and

the PCIe switch with Erasure Coding logic includes a second connector to enable the PCIe switch with Erasure Coding logic to communicate with the second NVMe SSD.

10. The system according to claim 2 , wherein the second PCIe switch further includes a disabled second Erasure Coding logic.

11. The system according to claim 3 , wherein the Erasure Coding logic further includes the cache.

12. The system according to claim 3 , wherein:

the PCIe switch with Erasure Coding logic is located in a chassis; and

the chassis includes a memory used as the cache by the Erasure Coding logic.

13. The system according to claim 4 , wherein:

the PCIe switch with Erasure Coding logic further comprises a write buffer; and

the Erasure Coding controller is operative to store a data in the write request in the write buffer.

14. The system according to claim 1 , wherein the Erasure Coding logic includes a Look-Aside Erasure Coding logic, the Look-Aside Erasure Coding logic including a snooping logic.

15. The system according to claim 5 , wherein the Erasure Coding logic is further operative to direct the data transmission to the NVMe SSD.

16. The system according to claim 1 , wherein the Erasure Coding logic is operative to intercept a data transmission received at the PCIe switch from the NVMe SSD and replace a device LBA used by the NVMe SSD in the data transmission with a host LBA used by a host.

17. The system according to claim 1 , wherein the Erasure Coding logic defines a virtual storage device spanning the NVMe SSD and a second NVMe SSD.

18. The system according to claim 1 , wherein the PCIe switch with Erasure Coding logic is operative to enable the Erasure Coding logic based at least in part on the NVMe SSD being a storage device without a native Erasure Coding logic.

19. The system according to claim 6 , wherein the second device comprises at least one of a storage device, an SSD with Field Programmable Gate Array (FPGA), and a Graphics Processing Unit (GPU).

20. The system according to claim 6 , wherein:

the second device comprises at least one of a non-storage device and a storage device with a native Erasure Coding logic; and

the PCIe switch with Erasure Coding logic is operative to enable the Erasure Coding logic and to disable access to the second device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: OLARIG, SOMPONG PAUL; WORLEY, FRED; PINTO, OSCAR P.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 054014/0104 →
Continuity (4)
Continuation 16207080 · Nov 30, 2018
Provisional Application 62745261 · Oct 12, 2018
Provisional Application 62638040 · Mar 2, 2018
Related Publication 20190310953A1 · Oct 10, 2019
Cited By (1)
US 12,314,133