IP Library Granted Patent US 12,287,985
Granted Patent B2
US 12,287,985 · App. 17/494,823 · Granted Apr 29, 2025

Systems, methods, and apparatus for memory access in storage devices

Inventors: Zongwang Li (Dublin, CA); Tong Zhang (Mountain View, CA); Rekha Pitchumani (Oak Hill, VA); Yang Seok Ki (Palo Alto, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/0604G06F3/0673G06F9/541G06F13/1668
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,287,985
App. No.
17/494,823
Granted
Apr 29, 2025
Kind
B2
Abstract

A method for memory access may include receiving, at a device, a first memory access request for a parallel workload, receiving, at the device, a second memory access request for the parallel workload, processing, by a first logical device of the device, the first memory access request, and processing, by a second logical device of the device, the second memory access request. Processing the first memory access request and processing the second memory access request may include parallel processing the first and second memory access requests. The first logical device may include one or more first resources. The method may further include configuring the first logical device based on one or more first parameters of the parallel workload. The method may further include allocating one or more first resources to the first logical device based on at least one of the one or more first parameters of the parallel workload.

Claims (45)

1. A method for memory access, the method comprising:

receiving, at a device, a first memory access request for a parallel workload;

receiving, at the device, a second memory access request for the parallel workload;

processing, by a first logical device of the device, with a first bandwidth, the first memory access request; and

processing, by a second logical device of the device, with a second bandwidth, the second memory access request, where the first bandwidth and second bandwidth are different and are assigned based on a number of lookups of a data structure that is part of a computational model.

2. The method of claim 1 , wherein processing the first memory access request and processing the second memory access request comprises parallel processing the first memory access request and the second memory access request.

3. The method of claim 1 , wherein the first logical device comprises one or more first resources.

4. The method of claim 3 , wherein the second logical device comprises one or more second resources.

5. The method of claim 3 , wherein:

the first logical device has a device physical address (DPA); and

the DPA is mapped to a physical block address (PBA) of the one or more first resources.

6. The method of claim 1 , wherein the first memory access request comprises a tag corresponding to the first logical device.

7. The method of claim 1 , further comprising configuring the first logical device based on one or more first parameters of the parallel workload.

8. The method of claim 7 , wherein configuring the first logical device is performed by a fabric manager.

9. The method of claim 7 , further comprising allocating one or more first resources to the first logical device based on at least one of the one or more first parameters of the parallel workload.

10. The method of claim 9 , further comprising mapping the one or more first resources to the first logical device.

11. The method of claim 7 , further comprising configuring the second logical device based on one or more second parameters of the parallel workload.

12. A device comprising:

a communication interface;

a first logical device having a first bandwidth, configured to:

receive, through the communication interface, a first memory access request; and

process, using one or more first resources, the first memory access request; and

a second logical device having a second bandwidth, configured to:

receive, through the communication interface, a second memory access request; and

process, using one or more second resources, the second memory access request, where the first bandwidth and second bandwidth are different and are assigned based on a number of lookups of a data structure that is part of a computational model.

13. The device of claim 12 , wherein the first logical device and the second logical device are configured to parallel process the first memory access request and the second memory access request.

14. The device of claim 12 , further comprising:

support logic configured to allocate the one or more first resources to a first logical device based on first configuration information received through the communication interface;

and mapping logic configured to map the one or more first resources to the first logical device.

15. The device of claim 14 , wherein:

the support logic is configured to allocate the one or more second resources to a second logical device based on second configuration information received through the communication interface; and

the mapping logic is configured to map the one or more second resources to the second logical device.

16. The device of claim 14 , wherein the support logic is configured to receive the first configuration information by an application programming interface.

17. The device of claim 12 , wherein the communication interface comprises a memory coherent interface.

18. A device comprising:

a communication interface;

one or more first memory resources;

one or more second memory resources;

support logic configured to allocate the one or more first memory resources to a first logical device based on first configuration information received through the communication interface, where the first logical device has a first bandwidth;

the support logic is configured to allocate the one or more second memory resources to a second logical device, where the second logical device has a second bandwidth and the first bandwidth and second bandwidth are different and the first and second bandwidth are assigned based on a number of lookups of a data structure that is part of a computational model; and

mapping logic configured to map the one or more first memory resources to the first logical device.

19. The device of claim 18 , wherein:

the support logic is configured to allocate the one or more second memory resources to the second logical device based on second configuration information received through the communication interface; and

the mapping logic is configured to map the one or more second memory resources to the second logical device.

20. The device of claim 18 , wherein the support logic is configured to receive the first configuration information by an application programming interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: LI, ZONGWANG; ZHANG, TONG; PITCHUMANI, REKHA; KI, YANG SEOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064442/0122 →
Continuity (2)
Provisional Application 63231706 · Aug 10, 2021
Related Publication 20230050808A1 · Feb 16, 2023
References Cited (33)
US 6389493B1 · Barkley · 2002 [cited by examiner]
US 8959298B2 · Chun et al. · 2015 [cited by applicant]
US 9098402B2 · Fanning et al. · 2015 [cited by applicant]
US 9626108B2 · Stabrawa et al. · 2017 [cited by applicant]
US 9940287B2 · Sharma · 2018 [cited by applicant]
US 10331600B1 · Rajadnya et al. · 2019 [cited by applicant]
US 10838865B2 · Leidel et al. · 2020 [cited by applicant]
US 10929291B2 · Jung et al. · 2021 [cited by applicant]
US 10949120B2 · Bahirat et al. · 2021 [cited by applicant]
US 11429300B2 · Pekney · 2022 [cited by examiner]
US 11995475B2 · Croxford · 2024 [cited by examiner]
US 20030088742A1 · Lee et al. · 2003 [cited by applicant]
US 20050125563A1 · Douglas · 2005 [cited by examiner]
US 20180199292A1 · Mula · 2018 [cited by examiner]
US 20200042246A1 · Maharana et al. · 2020 [cited by applicant]
US 20200125503A1 · Graniello et al. · 2020 [cited by applicant]
US 20200371700A1 · Stabrawa · 2020 [cited by examiner]
US 20210011755A1 · Shah · 2021 [cited by applicant]
US 20210011864A1 · Bernat et al. · 2021 [cited by applicant]
US 20210019069A1 · Sen et al. · 2021 [cited by applicant]
US 20210049116A1 · Ramesh et al. · 2021 [cited by applicant]
US 20210133123A1 · Feehrer et al. · 2021 [cited by applicant]
US 20210149763A1 · Ranganathan et al. · 2021 [cited by applicant]
US 20210173785A1 · Jin et al. · 2021 [cited by applicant]
GB 201914353 · 2019 [cited by applicant]
KR 102101622B1 · 2020 [cited by applicant]
Liu Ke et al; “RecNMP: Accelerating Personalized Recommendation with Near-Memory Processing”; 2019; arxiv.org; pp. 1-14 (Year: 2019). [cited by examiner]
European Extended Search Report for Application No. 22189413.2, mailed Jan. 30, 2023. [cited by applicant]
Ke, Liu et al., “RecNMP: Accelerating Personalized Recommendation with Near-Memory Processing,” arxiv.org, 2019, 14 pages. [cited by applicant]
Pinneterre, Sébastien et al., “vFPGAmanager: A Virtualization Framework for Orchestrated FPGA Accelerator Sharing in 5G Cloud Environments,” Virtual Open Systems, 2018 IEEE International Symposium on Broadband Multimedi… [cited by applicant]
Wilkening, Mark et al., “RecSSD: Near Data Processing for Solid State Drive Based Recommendation Inference,” Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Op… [cited by applicant]
Xue, Mochi et al., “Scalable GPU Virtualization with Dynamic Sharing of Graphics Memory Space,” IEEE Transactions on Parallel and Distributed Systems, vol. 29, No. 8, 2018, pp. 1823-1836. [cited by applicant]
Zhang, Jie et al., “ZnG: Architecting GPU Multi-Processors with New Flash for Scalable Data Analysis,” 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), 2020, 12 pages. [cited by applicant]
Cited By (1)
US 12,602,275