IP Library › Granted Patent US 12,307,087
Granted Patent B2
US 12,307,087 · App. 18/296,727 · Granted May 20, 2025

Polymorphic computing architecture for computational storage

Inventors: Yang Seok Ki (Palo Alto, CA); Yangwook Kang (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0604G06F3/0631G06F3/0685
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 12,307,087
App. No.
18/296,727
Granted
May 20, 2025
Kind
B2
Abstract

Provided is a method for data storage, the method including receiving, by a first storage device, information from a first group of resources for performing a first function on the first storage device using a first implementation, based on the first storage device including the first implementation and being associated with a second group of resources corresponding to the first group of resources.

Claims (35)

1. A method for data storage, the method comprising:

receiving, by a first storage device, information from a first group of resources for performing a first function on the first storage device using a first implementation, based on the first storage device comprising the first implementation and being associated with a second group of resources corresponding to the first group of resources,

the second group of resources being configured to manage second resources for performing the first function using the first implementation.

2. The method of claim 1 , wherein the first implementation is selected to perform the first function based on a performance or a power consumption associated with the first implementation.

3. The method of claim 1 , wherein:

the first group of resources is a group of resources for providing an interface to one or more applications, and is configured to manage first resources corresponding to the first function; and

the second group of resources is an instance group of resources different from the first resources.

4. The method of claim 1 , wherein the second group of resources is configured to receive, from the first group of resources, the information for performing the first function on the first storage device using the first implementation.

5. The method of claim 1 , wherein a third group of resources associated with the first group of resources is configured to receive, from the first group of resources, information for performing a second function using a second implementation that is different from the first implementation.

6. The method of claim 5 , wherein the first implementation comprises an application-specific processing circuit and the second implementation comprises a general-purpose processing circuit.

7. The method of claim 1 , wherein a third group of resources associated with the first group of resources is configured to receive, from the first group of resources, information for performing a second function using a second storage device that is different from the first storage device.

8. The method of claim 1 , wherein the first implementation comprises at least one of an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a neural processing unit (NPU), an advanced reduced instruction set computing machine (ARM), or a complex instruction set computer (CISC).

9. The method of claim 1 , further comprising:

determining that the first implementation is capable of performing the first function more efficiently than a first processor or a second implementation, based on a table indicating performance characteristics associated with the first implementation or the second implementation;

selecting the first implementation for performing the first function; and

creating the second group of resources, based on a file stored in a storage.

10. A system for data storage, the system comprising a first storage device, and being configured to receive, by the first storage device, information from a first group of resources for performing a first function on the first storage device using a first implementation, based on the first storage device comprising the first implementation and being associated with a second group of resources corresponding to the first group of resources,

the second group of resources being configured to manage second resources for performing the first function using the first implementation.

11. The system of claim 10 , wherein the first implementation is selected to perform the first function based on a performance or a power consumption associated with the first implementation.

12. The system of claim 10 , wherein:

the first group of resources is a group of resources for providing an interface to one or more applications, and is configured to manage first resources corresponding to the first function; and

the second group of resources is an instance group of resources different from the first resources.

13. The system of claim 10 , wherein the second group of resources is configured to receive, from the first group of resources, the information for performing the first function on the first storage device using the first implementation.

14. The system of claim 10 , wherein a third group of resources associated with the first group of resources is configured to receive, from the first group of resources, information for performing a second function using a second implementation that is different from the first implementation.

15. The system of claim 14 , wherein the first implementation comprises an application-specific processing circuit and the second implementation comprises a general-purpose processing circuit.

16. The system of claim 10 , wherein a third group of resources associated with the first group of resources is configured to receive, from the first group of resources, information for performing a second function using a second storage device that is different from the first storage device.

17. The system of claim 10 , wherein the first implementation comprises at least one of an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a neural processing unit (NPU), an advanced reduced instruction set computing machine (ARM), or a complex instruction set computer (CISC).

18. The system of claim 10 , configured to:

determine that the first implementation is capable of performing the first function more efficiently than a first processor or a second implementation, based on a table indicating performance characteristics associated with the first implementation or the second implementation;

select the first implementation for performing the first function; and

create the second group of resources, based on a file stored in a storage.

19. A storage device, comprising a compute module configured to perform a function on the storage device, based on information received at the storage device from a first group of resources,

wherein the information is sent to the storage device based on the storage device, the compute module, the first group of resources, and a second group of resources being associated with an implementation for performing the function,

the second group of resources being configured to manage second resources for performing the function using the implementation.

20. The storage device of claim 19 , comprising the second group of resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2023
From: KI, YANG SEOK; KANG, YANGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063389/0427 →
Continuity (2)
Provisional Application 63425954 · Nov 16, 2022
Related Publication 20240160347A1 · May 16, 2024
References Cited (19)
US 9886300B2 · Nakatsu · 2018 [cited by applicant]
US 10164835B2 · Ganesan et al. · 2018 [cited by applicant]
US 10282210B2 · Tan et al. · 2019 [cited by applicant]
US 10405182B2 · Lu et al. · 2019 [cited by applicant]
US 11016794B2 · Jain et al. · 2021 [cited by applicant]
US 11327856B2 · Fukuta et al. · 2022 [cited by applicant]
US 20150264139A1 · Son · 2015 [cited by examiner]
US 20190146827A1 · Yu et al. · 2019 [cited by applicant]
US 20200042366A1 · Ganesh et al. · 2020 [cited by applicant]
US 20210389890A1 · Trika · 2021 [cited by applicant]
US 20220035681A1 · Aoki et al. · 2022 [cited by applicant]
US 20220171648A1 · Rodriguez et al. · 2022 [cited by applicant]
US 20220206864A1 · Nadathur et al. · 2022 [cited by applicant]
US 20220342601A1 · Daoud et al. · 2022 [cited by applicant]
CN 107844539A · 2018 [cited by applicant]
CN 108228318A · 2018 [cited by applicant]
EP 4036725A1 · 2022 [cited by applicant]
EP 4086747A1 · 2022 [cited by applicant]
EPO Extended European Search Report dated Apr. 3, 2024, issued in European Patent Application No. 23210010.7, 10 pages. [cited by applicant]
Cited By (1)
US 12,547,567