Virtual computational storage devices

US12223210B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12223210-B2
Application numberUS-202318229902-A
CountryUS
Kind codeB2
Filing dateAug 3, 2023
Priority dateJun 2, 2021
Publication dateFeb 11, 2025
Grant dateFeb 11, 2025

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 includes a virtual computational storage emulation module configured to provide a virtual computational storage device. The system further includes a storage element, where the virtual computational storage emulation module is configured to store data associated with the virtual computational storage device at the storage element. The system further includes a compute element. The virtual computational storage emulation module is configured to send a compute request associated with the virtual computational storage device to the compute element.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a first storage element configured to store first data; a first compute element; a second compute element; and a processor configured to execute instructions for providing a virtual computational storage device, the instructions further causing the processor to: receive a first compute request associated with the virtual computational storage device; determine that the first compute request is directed to the first data stored in the first storage element; based on the instructions that cause the processor to determine that the first compute request is directed to the first data, send the first compute request to the first compute element for generating a first output based on the first compute request, wherein the first compute request is associated with the first data; receive a second compute request associated with the virtual computational storage device; and send the second compute request to the second compute element for generating a second output based on the second compute request. 2. The system of claim 1 , wherein the first storage element comprises a solid state drive, and wherein the first storage element, the first compute element, and the second compute element correspond to components of a computational storage device. 3. The system of claim 1 , wherein the first storage element, the first compute element, and the second compute element correspond to components of a server device. 4. The system of claim 1 , wherein the first storage element corresponds to a component of a storage device, and wherein one of the first compute element or the second compute element corresponds to a component of a device distinct from the storage device. 5. The system of claim 1 , wherein the instructions further cause the processor to advertise availability of the virtual computational storage device. 6. The system of claim 1 , wherein the system further includes a second storage element, wherein the instructions further cause the processor to store second data associated with the virtual computational storage device at the second storage element. 7. The system of claim 6 , wherein a first address range of the virtual computational storage device is associated with the first storage element, wherein a second address range of the virtual computational storage device is associated with the second storage element, and wherein the instructions further cause the processor to: store the first data at the first storage element in response to a first request to store the first data for the first address range; and store the second data at the second storage element in response to a second request to store the second data for the second address range. 8. The system of claim 6 , wherein the instructions further cause the processor to select the second storage element to store the second data based on a load balancing algorithm. 9. The system of claim 1 , wherein the instructions further cause the processor to: translate the first compute request to generate a translated first compute request, wherein the translated first compute request is configured to be sent to the first compute element for generating the first output. 10. The system of claim 1 , wherein the instructions further cause the processor to select the second compute element for the second compute request based on an address of second data associated with the second compute request. 11. The system of claim 1 , wherein the instructions further cause the processor to select the second compute element for the second compute request based on a load balancing algorithm. 12. The system of claim 1 , wherein the instructions further cause the processor to provide a second virtual computational storage device. 13. The system of claim 12 , wherein the instructions further cause the processor to store second data associated with the second virtual computational storage device at the first storage element. 14. The system of claim 12 , wherein the instructions further cause the processor to send a third compute request associated with the second virtual computational storage device to the first compute element. 15. A method comprising: providing, by a processor, a virtual computational storage device, wherein first data associated with the virtual computational storage device is stored at a first storage element; receiving, by the processor, a first compute request associated with the virtual computational storage device; determining, by the processor, that the first compute request is directed to the first data stored in the first storage element; based on the determining that the first compute request is directed to the first data, sending the first compute request to a first compute element for generating a first output based on the first compute request, wherein the first compute request is associated with the first data; receiving, by the processor, a second compute request associated with the virtual computational storage device; and sending, by the processor, the second compute request to a second compute element for generating a second output based on the second compute request. 16. The method of claim 15 , wherein second data associated with the virtual computational storage device is stored at a second storage element. 17. The method of claim 16 , wherein a first address range of the virtual computational storage device is associated with the first storage element, wherein a second address range of the virtual computational storage device is associated with the second storage element, the method further comprising: storing the first data at the first storage element in response to a first request to store the first data for the first address range; and storing the second data at the second storage element in response to a second request to store the second data for the second address range. 18. The method of claim 15 , further comprising: receiving a storage request identifying a first address of the virtual computational storage device; and sending a translated storage request to the first storage element, the translated storage request identifying a translated address of the first storage element. 19. The method of claim 15 further comprising: translating, by the processor, the first compute request to generate a translated first compute request, wherein the translated first compute request is sent to the first compute element for generating the first output. 20. The method of claim 15 further comprising: selecting the second compute element for the second compute request based on an address of second data associated with the second compute request.

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • I/O management, e.g. providing access to device drivers or storage · 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 US12223210B2 cover?
A system includes a virtual computational storage emulation module configured to provide a virtual computational storage device. The system further includes a storage element, where the virtual computational storage emulation module is configured to store data associated with the virtual computational storage device at the storage element. The system further includes a compute element. The virt…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0664. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 11 2025 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).