Secure applications in computational storage devices

US12254191B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12254191-B2
Application numberUS-202117492544-A
CountryUS
Kind codeB2
Filing dateOct 1, 2021
Priority dateMar 23, 2021
Publication dateMar 18, 2025
Grant dateMar 18, 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 method includes receiving, at a controller of a storage device, a command reserving a program slot of a processing device of the storage device to an application. The method further includes storing, by the controller of the storage device, an association between the program slot and the application. The method further includes receiving, at the controller of the storage device, a request to load the application into the execution slot. The method further includes loading, by the controller of the storage device, the application into the program slot based on the association and the request. The method further includes executing, at the processing device of the storage device, the application in the program slot.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, at a controller of a storage device, a first command reserving a first program slot of a processing device of the storage device to an application, wherein the processing device further comprises a second program slot, wherein the first program slot and the second program slot correspond to logical representations of the processing device, and wherein the first command is received from a first source; determining that the first source is authorized to reserve the first program slot based on access information associated with the first source; storing, by the controller of the storage device, an association between the first program slot and the application based on the access information; receiving, at the controller of the storage device, a first request to load the application into the first program slot; determining, by the controller of the storage device, that the application is permitted to execute in the first program slot based on the association and the first request; loading, by the controller of the storage device, the application into the first program slot based on the first request; and executing, at the processing device of the storage device, the application in the first program slot. 2. The method of claim 1 , further comprising: receiving, at the controller of the storage device, a second request to load a second application into the first program slot; and rejecting, by the controller of the storage device, the second request based on the access information associated with the first source. 3. The method of claim 1 , wherein the first request to load the application is received from a second application executing at the processing device. 4. The method of claim 1 , further comprising receiving, at the controller of the storage device, a second request to associate one or more permissions with the application and storing an indication of the one or more permissions to the access information. 5. The method of claim 4 , wherein the one or more permissions include a permission to load a second application into the processing device. 6. The method of claim 5 , wherein the one or more permissions further indicates one or more second permissions of the second application. 7. The method of claim 4 , wherein the one or more permissions identify a storage space accessible to the application. 8. The method of claim 7 , wherein the storage space comprises a namespace, a file, a logical block address range, or a combination thereof. 9. The method of claim 4 , wherein the one or more permissions identify a virtual address space of a memory accessible to the application. 10. The method of claim 1 , further comprising: receiving a second command to disable the first program slot; clearing the application from the first program slot; and rejecting a second request to load the application into the first program slot. 11. A computational storage device comprising: a processing device; a memory; and a controller configured to: receive a first command reserving a first program slot of the processing device to an application, wherein the processing device further comprises a second program slot, wherein the first program slot and the second program slot correspond to logical representations of the processing device, and wherein the first command is received from a first source; determine that the first source is authorized to reserve the first program slot based on access information; store an association between the first program slot and the application in the memory based on the access information associated with the first source; receive a first request to load the application into the first program slot; determine that the application is permitted to execute in the first program slot based on the association and the first request; load the application into the first program slot based on the first request; and initiate execution of the application in the first program slot at the processing device. 12. The computational storage device of claim 11 , wherein the controller is further configured to: receive a second request to load a second application into the first program slot; and reject the second request based on the access information associated with the first source. 13. The computational storage device of claim 11 , wherein the first request to load the application is received from a second application executing at the processing device. 14. The computational storage device of claim 11 , wherein the controller is further configured to receive a second request to associate one or more permissions with the application and to store an indication of the one or more permissions to the access information. 15. The computational storage device of claim 14 , wherein the one or more permissions include a permission to load a second application into the processing device. 16. The computational storage device of claim 15 , wherein the one or more permissions further indicate one or more second permissions of the second application. 17. The computational storage device of claim 14 , further comprising a storage medium, wherein the one or more permissions identify a storage space associated with the storage medium and accessible to the application. 18. A non-transitory computer readable storage device storing instructions executable by a controller to: receive a first command reserving a first program slot of a processing device to an application, wherein the processing device further comprises a second program slot, wherein the first program slot and the second program slot correspond to logical representations of the processing device, and wherein the first command is received from a first source; determine that the first source is authorized to reserve the first program slot based on access information associated with the first source; store an association between the first program slot and the application in a memory based on the access information; receive a first request to load the application into the first program slot; determine that the application is permitted to execute in the first program slot based on the association and the first request; load the application into the first program slot based on the first request; and initiate execution of the application in the first program slot at the processing device. 19. The non-transitory computer readable storage device of claim 18 , wherein the instructions are further executable by the controller to: receive a second request to load a second application into the first program slot; and reject the second request based on the access information associated with the first source. 20. The non-transitory computer readable storage device of claim 18 , wherein the first request to load the application is received from a second application executing at the processing device.

Assignees

Inventors

Classifications

  • Program initiating; Program switching, e.g. by interrupt · CPC title

  • Code layout in executable memory · CPC title

  • Single storage device · CPC title

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • to features or functions of an application · 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 US12254191B2 cover?
A method includes receiving, at a controller of a storage device, a command reserving a program slot of a processing device of the storage device to an application. The method further includes storing, by the controller of the storage device, an association between the program slot and the application. The method further includes receiving, at the controller of the storage device, a request to …
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0622. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 18 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).