Method to implement a redundant array of independent disks with high capacity solid state drives

US2025021232A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2025021232-A1
Application numberUS-202318349455-A
CountryUS
Kind codeA1
Filing dateJul 10, 2023
Priority dateJul 10, 2023
Publication dateJan 16, 2025
Grant date

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 system can include a host computer system and a host system bus coupled to the host computer system. One or more storage devices can be coupled to the host system bus and configured to store data. Additionally, a computational storage device (CSD) can be coupled to the host system bus and configured to receive a data write request comprising data from the host computer system. The CSD can further include a memory and an application processor. The application processor of the CSD can be configured to write the data of the data write request to the one or more storage devices in response to receiving the data write request.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system comprising: a host computer system; a host system bus coupled to the host computer system; one or more storage devices coupled to the host system bus and configured to store data; a computational storage device (CSD) coupled to the host system bus and configured to receive a data write request comprising data from the host computer system, the CSD comprising: a memory; and an application processor configured to write the data of the data write request to the one or more storage devices in response to receiving the data write request. 2 . The system of claim 1 , wherein the one or more storage devices are solid state drives (SSDs). 3 . The system of claim 2 , wherein the CSD stripes the data into one or more blocks of data in response to receiving the data write request. 4 . The system of claim 3 , wherein the CSD generates a parity block of data by calculating parity for the data of the data write request in response to receiving the data write request. 5 . The system of claim 4 , wherein data write request further comprises a determination of data placement by the host system that indicates a storage device of the one or more storage devices to store each of the one or more blocks of data and the parity block of data. 6 . The system of claim 4 , wherein the CSD determines data placement among the one or more storage devices, the data placement determination indicating a storage device of the one or more storage devices to store each of the one or more blocks of data and the parity block of data. 7 . The system of claim 6 , wherein the CSD stores the parity block of data in the memory of the CSD in response to generating the parity block of data and in compliance with the data placement determination. 8 . The system of claim 7 , wherein the CSD stores the parity block of data in a storage device of the one or more storage devices in response to generating the parity block of data in compliance with the data placement determination. 9 . The system of claim 8 , wherein the data write request is a first data write request and the CSD is a first CSD of a plurality of CSDs coupled to the host system bus, and the first CSD stores the parity block of data and blocks of data corresponding to the first data write request in a first storage volume that includes a partition of the one or more storage devices. 10 . The system of claim 9 , further comprising a second CSD of the plurality of CSDs that receives a second data write request, wherein the second CSD generates a second parity block for a second set of data, stripes the second set of data into a second set of blocks, and stores the second parity block and second set of blocks in the first storage volume in response to receiving the second write request. 11 . The system of claim 10 , further comprising a third CSD of the plurality of CSDs that receives a third data write request, such that the third CSD generates a third parity block for a third set of data, stripes the third set of data into a third set of blocks, and stores the third parity block and third set of blocks in a second storage volume in response to receiving the third data write request that comprises the third set of data, wherein the second storage volume is another partition of the one or more storage devices. 12 . The system of claim 11 , wherein the first CSD retrieves the first set of blocks and parity bit from the first storage volume in response to receiving a read request. 13 . The system of claim 12 , wherein the plurality of storage devices and plurality of CSDs communicate with Non-Volatile Memory express-over-Fabrics (NVMe-oF) using Remote Direct Memory Access (RDMA), Fibre Channel (FC), or (TCP/IP). 14 . A system comprising: a host computer system including a host system bus adaptor that allows the host computer system to communicate over a network; a host system bus coupled to the host computer system; one or more storage devices coupled to the host system bus to communicate with the host computer system over the network; one or more storage volumes, each storage volume having memory space partitioned in at least one of the one or more SSDs; and one or more computational storage devices (CSDs) configured to receive a data write request comprising data from the host computer system, each CSD corresponding to a storage volume of the one or more storage volumes and each CSD comprising: a memory; and an application processor configured to generate a parity block for the data, stripe the data into one or more blocks of data, and store the parity block and one or more blocks of data in the corresponding storage volume. 15 . The system of claim 14 , wherein the memory of a given CSD of the one or more CSDs contributes to a given storage volume of the one or more storage volumes corresponding to the given CSD. 16 . The system of claim 14 , wherein the one or more storage devices and one or more CSDs communicate with Non-Volatile Memory express-over-Fabrics (NVMe-oF) using Remote Direct Memory Access (RDMA), Fibre Channel (FC), or (TCP/IP). 17 . A method for storing data, the method comprising: generating, by a host computer system, a first data write request including a first set of data; providing, via a host system bus, the first data write request to a first computational storage device (CSD), the CSD comprising: an application processor; and a memory; generating, by the first CSD, a first parity block for the first set of data in response to receiving the first data write request; striping, by the first CSD, the first set of data into a first set of blocks in response to receiving the first data write request; and storing, by the first CSD, the first parity block and first set of blocks in a first storage volume in response to striping the first set of data, the first storage volume comprising one or more storage devices coupled to the host system bus. 18 . The method of claim 17 , wherein the host computer system includes a host bus adapter, such that the host system bus is over network. 19 . The method of claim 18 , further comprising determining, by the first CSD, data placement of the first parity block and first set of blocks in the plurality of SSDs of the corresponding first storage volume. 20 . The method of claim 19 , further comprising: generating, by the host system, a second data write request including a second set of data; providing, via the host system bus, the second data write request to a second CSD; calculating, by the second CSD, a parity block for the second set of data in response receiving the second data write request; striping, by the second CSD, the second set of data into a second set of blocks in response to receiving the second data write request; and storing, by the second CSD, the parity block for the second set of data and the second set of blocks in a second storage volume in response to striping the second set of data, the second storage volume comprising the one or more storage devices coupled to the host system bus. 21 . A computational storage device (CSD) comprising: an interface configured to couple the CSD to a host system bus, wherein the CSD receives a data write request via the interface; an application processor; and a memory configured to store an application program executable by the application processor for: calculating a parity block for data of the data write request in response to receiving the data write request; str

Assignees

Inventors

Classifications

  • Management of blocks · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • G06F3/0613Primary

    in relation to throughput · 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 US2025021232A1 cover?
A system can include a host computer system and a host system bus coupled to the host computer system. One or more storage devices can be coupled to the host system bus and configured to store data. Additionally, a computational storage device (CSD) can be coupled to the host system bus and configured to receive a data write request comprising data from the host computer system. The CSD can fur…
Who is the assignee on this patent?
Netlist Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0613. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 16 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).