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

US10635609B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10635609-B2
Application numberUS-201816207080-A
CountryUS
Kind codeB2
Filing dateNov 30, 2018
Priority dateMar 2, 2018
Publication dateApr 28, 2020
Grant dateApr 28, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic is disclosed. The PCIe switch may include an external connector to enable the PCIe switch to communicate with a processor and at least one connector to enable the PCIe switch to communicate with at least one storage device. The PCIe switch may include a Power Processing Unit (PPU) to handle configuration of the PCIe switch. The Erasure Coding logic may include an Erasure Coding Controller with circuitry to apply an Erasure Coding scheme to data stored on the storage device, and a snooping logic including circuitry to intercept a data transmission received at the PCIe switch and modify the data transmission responsive to the Erasure Coding scheme.

First claim

Opening claim text (preview).

What is claimed is: 1. A Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic, comprising: 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 at least one storage device; a Power Processing Unit (PPU) to handle configuration of the PCIe switch; an Erasure Coding Controller including circuitry to apply an Erasure Coding scheme to data stored on the at least one storage device; and a snooping logic including circuitry to intercept a data transmission received at the PCIe switch and modify the data transmission responsive to the Erasure Coding scheme. 2. The PCIe switch with Erasure Coding logic according to claim 1 , wherein the Erasure Coding logic is drawn from a set including a Look-Aside Erasure Coding logic and a Look-Through Erasure Coding logic. 3. The PCIe switch with Erasure Coding logic according to claim 1 , wherein the at least one storage device include at least one Non-Volatile Memory Express (NVMe) Solid State Drive (SSD). 4. The PCIe switch with Erasure Coding logic according to claim 3 , further comprising a cache. 5. The PCIe switch with Erasure Coding logic according to claim 4 , wherein the snooping logic is operative to return a response to the data transmission from a host based at least in part on a data requested in the data transmission is present in the cache. 6. The PCIe switch with Erasure Coding logic according to claim 3 , wherein: the PCIe switch is operative to detect a failed NVMe SSD of the at least one NVMe SSD; and the Erasure Coding Controller is operative to handle the data transmission to account for the failed NVMe SSD. 7. The PCIe switch with Erasure Coding logic according to claim 3 , wherein: the PCIe switch is operative to detect a new NVMe SSD; and the Erasure Coding Controller is operative to use the new NVMe SSD as part of the Erasure Coding scheme. 8. The PCIe switch with Erasure Coding logic according to claim 3 , wherein the PCIe switch is operative to present itself as a single device to a host and to prevent downstream PCIe bus enumeration of the at least one NVMe SSD. 9. The PCIe switch with Erasure Coding logic according to claim 8 , wherein the PCIe switch is operative to virtualize the at least one NVMe SSD. 10. A method, comprising: receiving a transmission at a Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic; processing the transmission using a snooping logic in the Erasure Coding logic; and delivering the transmission to its destination by the PCIe switch. 11. The method according to claim 10 , wherein the Erasure Coding logic is drawn from a set including a Look-Aside Erasure Coding logic and a Look-Through Erasure Coding logic. 12. The method according to claim 10 , wherein processing the transmission using a snooping logic in the Erasure Coding logic includes processing the transmission using the snooping logic based at least in part on the Erasure Coding logic being active. 13. The method according to claim 10 , wherein: receiving a transmission at a Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic includes receiving a read request from a host; processing the transmission using a snooping logic in the Erasure Coding logic includes replacing a host Logical Block Address (LBA) with a device LBA in the read request; and delivering the transmission to its destination by the PCIe switch includes delivering the read request to a Non-Volatile Memory Express (NVMe) Solid State Drive (SSD). 14. The method according to claim 13 , wherein: processing the transmission using a snooping logic in the Erasure Coding logic further includes accessing a data requested by the host in the read request from a cache based at least in part on the data being resident in the cache; replacing a host Logical Block Address (LBA) with a device LBA in the read request includes replacing the host LBA with the device LBA in the read request based at least in part on the data not being resident in the cache; and delivering the transmission to its destination by the PCIe switch includes delivering the read request to an NVMe SSD based at least in part on the data not being resident in the cache. 15. The method according to claim 10 , wherein: receiving a transmission at a Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic includes receiving a write request from a host; processing the transmission using a snooping logic in the Erasure Coding logic includes replacing a host LBA with a device LBA in the write request; and delivering the transmission to its destination by the PCIe switch includes delivering the write request to an NVMe SSD. 16. The method according to claim 10 , wherein: receiving a transmission at a Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic includes receiving a response from an NVMe SSD; processing the transmission using a snooping logic in the Erasure Coding logic includes replacing a device LBA in the response with a host LBA; and delivering the transmission to its destination by the PCIe switch includes delivering the response to a host. 17. The method according to claim 10 , further comprising: detecting that a new NVMe SSD is connected to the PCIe switch; and adding the new NVMe SSD to the capacity of a virtual storage device. 18. The method according to claim 10 , further comprising: detecting a failed NVMe SSD connected to the PCIe switch; and performing Erasure Coding recovery of data stored on the failed NVMe SSD. 19. An article, comprising a non-transitory storage medium, the non-transitory storage medium having stored thereon instructions that, when executed by a machine, result in: receiving a transmission at a Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic; processing the transmission using a snooping logic in the Erasure Coding logic; and delivering the transmission to its destination by the PCIe switch. 20. The article according to claim 19 , wherein the Erasure Coding logic is drawn from a set including a Look-Aside Erasure Coding logic and a Look-Through Erasure Coding logic.

Assignees

Inventors

Classifications

  • Plurality of storage devices · CPC title

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title

  • Improving I/O performance · CPC title

  • Details of memory controller · CPC title

  • PCI express · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10635609B2 cover?
A Peripheral Component Interconnect Express (PCIe) switch with Erasure Coding logic is disclosed. The PCIe switch may include an external connector to enable the PCIe switch to communicate with a processor and at least one connector to enable the PCIe switch to communicate with at least one storage device. The PCIe switch may include a Power Processing Unit (PPU) to handle configuration of the …
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F13/1668. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 28 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).