IP Library › Granted Patent US 12,204,794
Granted Patent B1
US 12,204,794 · App. 17/739,007 · Granted Jan 21, 2025

Architecture for DRAM control optimization using simultaneous bidirectional memory interfaces

Inventor: Syrus Ziai (Los Altos, CA)
Assignee: Eliyan Corporation
G06F3/0659G06F3/0604G06F3/0673
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,204,794
App. No.
17/739,007
Granted
Jan 21, 2025
Kind
B1
Abstract

A computing device performs both read/write operations concurrently to a memory. Queues for read or write operations are maintained on the memory, allowing the computing device to issue concurrent read/write commands, without complex ordering/buffering circuitry. For a read operation, the memory receives the read command and buffers it in a priority order assigned thereto. The memory can perform the read command and respond with the requested response on a data bus disposed to communicate read data. For a write operation, the memory receives the write command and buffers it for processing in a priority order for that command, such as for relatively immediate processing. The memory can perform the write command using write data on a separate data bus disposed to communication write data.

Claims (46)

1. An apparatus including:

a memory device;

a computing device configured to issue a read command and a write command to the memory device via a non-transitory command/address link;

wherein the memory device comprises priority ordering circuitry to associate a priority to the read command and the write command, and configured to reorder execution of the read command and the write command in response to the priority associated with the read command and the write command;

a non-transitory read communication link coupled to the computing device and the memory device, the non-transitory read communication link being configured to transfer read data from the memory device to the computing device in response to the memory device executing the read command;

a non-transitory write communication link coupled to the computing device and the memory device, the non-transitory write communication link being configured to transfer write data associated with the write command from the computing device to the memory device at a same time as and concurrently with the non-transitory read communication link transferring at least a portion of the read data from the memory device to the computing device;

wherein the non-transitory read communication link and the non-transitory write communication link are each configured to operate simultaneously via a single communication path.

2. The apparatus as in claim 1 , wherein:

the non-transitory read communication link and the non-transitory write communication link are free from any latency timing constraint to communicate the read data and the write data between the memory device and the computing device.

3. The apparatus as in claim 1 , wherein:

the memory device comprises a dynamic random access memory (DRAM) device.

4. The apparatus as in claim 1 , wherein:

the memory device includes circuitry to receive the read command from the computing device, to associate a priority order with the read command, to buffer the read command in its associated priority order, and to execute the read command in its associated priority order.

5. The apparatus as in claim 1 , wherein:

the memory device includes circuitry, after receiving a set of read commands directed to a set of multiple memory banks from the computing device, to associate a priority order with those read commands so as to execute the set of read commands with respect to the set of multiple memory banks.

6. The apparatus as in claim 5 , wherein:

the memory device includes circuitry to operate without instruction by the computing device.

7. The apparatus as in claim 6 , wherein:

the memory device includes circuitry to reorder memory access operations directed to multiple memory banks based on a number of operations to be performed by each memory bank.

8. The apparatus as in claim 4 , wherein:

the memory device includes circuitry, after receiving a set of read commands from the computing device, to associate a priority order with the set of read commands based on the execution of the set of read commands to a multi-level memory.

9. The apparatus as in claim 4 , wherein:

the memory device includes circuitry, after performing the read command, to couple the read data to the non-transitory read communication link.

10. The apparatus as in claim 8 , wherein:

the memory device is configured to associate the priority order to a pending write command to be performed before a pending read command;

whereby the pending write command issued by the computing device is performed before the pending read command issued by the computing device.

11. The apparatus as in claim 1 , wherein:

the memory device is configured to receive the write command from the computing device, to associate a priority order with the write command, to buffer the write command in its associated priority order, and to execute the write command in its associated priority order.

12. The apparatus as in claim 1 , wherein:

the computing device includes one or more of:

an application-specific integrated circuit (ASIC), a processor, a system on a chip, or a field-programmable gate array (FPGA).

13. A method comprising:

by a computing device, coupling a read command and a write commands to a non-transitory command/address communication link, and receiving read data from a memory device on a non-transitory read communication link in response to the read command, and coupling write data associated with the write command to the memory device on a non-transitory write communication link;

by the non-transitory read communication link, communicating the read data from the memory device to the computing device;

by the non-transitory write communication link, communicating the write data from the computing device from the computing device to the memory device at a same time as and concurrently with the non-transitory read communication link communicating the read data from the memory device to the computing device;

operating the non-transitory read communication link and the non-transitory write communication link to communicate the read data and the write data concurrently and simultaneously via a single communication path; and

by a memory device, receiving a read command from the computing device, associating a priority order with the read command, buffering the read command in its associated priority order, and performing the read command in its associated priority order.

14. The method as in claim 13 , including:

by the memory device, after receiving a set of second read commands from the computing device, associating a priority order with the set of second read commands based on execution of the set of second read commands by a set of multiple memory banks.

15. The method as in claim 14 , including:

by the memory device, after receiving the set of second read commands from the computing device, associating a priority order with the set of second read commands based on execution of the set of second read commands by a multi-level memory.

16. The method as in claim 15 , including:

by the memory device, associating the priority order of a pending write command to be performed before a pending read command;

wherein the pending write command issued by the computing device is performed before the pending read command issued by the computing device.

17. The method as in claim 13 , including:

by the memory device, receiving a write command from the computing device, associating a priority order with the write command, buffering the write command in its associated priority order, and executing the write command in its associated priority order.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2023
From: ZIAI, SYRUS
To: ELIYAN CORPORATION
Reel/Frame 062575/0798 →
Continuity (1)
Provisional Application 63190170 · May 18, 2021
References Cited (216)
US 4334305A · Girardi · 1982 [cited by examiner]
US 5396581A · Mashiko · 1995 [cited by examiner]
US 5677569A · Choi · 1997 [cited by examiner]
US 5892287A · Hoffman · 1999 [cited by examiner]
US 5910010A · Nishizawa · 1999 [cited by examiner]
US 6031729A · Berkely · 2000 [cited by applicant]
US 6055235A · Blanc · 2000 [cited by examiner]
US 6417737B1 · Moloudi · 2002 [cited by applicant]
US 6492727B2 · Nishizawa · 2002 [cited by applicant]
US 6690742B2 · Chan · 2004 [cited by applicant]
US 6721313B1 · Van Duyne · 2004 [cited by applicant]
US 6932618B1 · Nelson · 2005 [cited by applicant]
US 7027529B1 · Ohishi · 2006 [cited by applicant]
US 7248890B1 · Raghavan · 2007 [cited by applicant]
US 7269212B1 · Chau · 2007 [cited by applicant]
US 7330930B1 · Nagshain · 2008 [cited by examiner]
US 7477615B2 · Oshita · 2009 [cited by applicant]
US 7535958B2 · Best · 2009 [cited by applicant]
US 7593271B2 · Ong · 2009 [cited by applicant]
US 7701957B1 · Bicknell · 2010 [cited by applicant]
US 7907469B2 · Sohn et al. · 2011 [cited by applicant]
US 7978754B2 · Yeung · 2011 [cited by applicant]
US 8004330B1 · Acimovic · 2011 [cited by applicant]
US 8024142B1 · Gagnon · 2011 [cited by applicant]
US 8121541B2 · Rofougaran · 2012 [cited by applicant]
US 8176238B2 · Yu et al. · 2012 [cited by applicant]
US 8468381B2 · Jones · 2013 [cited by applicant]
US 8483579B2 · Fukuda · 2013 [cited by applicant]
US 8546955B1 · Wu · 2013 [cited by applicant]
US 8704364B2 · Banijamali et al. · 2014 [cited by applicant]
US 8861573B2 · Chu · 2014 [cited by applicant]
US 8948203B1 · Nolan · 2015 [cited by applicant]
US 8982905B2 · Kamble · 2015 [cited by applicant]
US 9088334B2 · Chakraborty · 2015 [cited by applicant]
US 9106229B1 · Hutton · 2015 [cited by applicant]
US 9129935B1 · Chandrasekar · 2015 [cited by applicant]
US 9294313B2 · Prokop · 2016 [cited by applicant]
US 9349707B1 · Sun · 2016 [cited by applicant]
US 9379878B1 · Lugthart · 2016 [cited by applicant]
US 9432298B1 · Smith · 2016 [cited by examiner]
US 9558143B2 · Leidel · 2017 [cited by applicant]
US 9832006B1 · Bandi · 2017 [cited by applicant]
US 9843538B2 · Woodruff · 2017 [cited by applicant]
US 9886275B1 · Carlson · 2018 [cited by applicant]
US 9934842B2 · Mozak · 2018 [cited by applicant]
US 9961812B2 · Suorsa · 2018 [cited by applicant]
US 9977731B2 · Pyeon · 2018 [cited by applicant]
US 10171115B1 · Shirinfar · 2019 [cited by applicant]
US 10402363B2 · Long et al. · 2019 [cited by applicant]
US 10410694B1 · Arbel · 2019 [cited by applicant]
US 10439661B1 · Heydari · 2019 [cited by applicant]
US 10642767B1 · Farjadrad · 2020 [cited by applicant]
US 10678738B2 · Dai · 2020 [cited by applicant]
US 10735176B1 · Heydari · 2020 [cited by applicant]
US 10748852B1 · Sauter · 2020 [cited by applicant]
US 10769073B2 · Desai · 2020 [cited by applicant]
US 10803548B2 · Matam et al. · 2020 [cited by applicant]
US 10804204B2 · Rubin et al. · 2020 [cited by applicant]
US 10825496B2 · Murphy · 2020 [cited by applicant]
US 10826536B1 · Beukema · 2020 [cited by applicant]
US 10855498B1 · Farjadrad · 2020 [cited by applicant]
US 10935593B2 · Goyal · 2021 [cited by applicant]
US 11088876B1 · Farjadrad · 2021 [cited by applicant]
US 11100028B1 · Subramaniam · 2021 [cited by applicant]
US 11164817B2 · Rubin et al. · 2021 [cited by applicant]
US 11204863B2 · Sheffler · 2021 [cited by examiner]
US 11481116B2 · Tavallaei · 2022 [cited by examiner]
US 11782865B1 · Kochavi · 2023 [cited by applicant]
US 11789649B2 · Chatterjee et al. · 2023 [cited by applicant]
US 11841815B1 · Farjadrad · 2023 [cited by applicant]
US 11842986B1 · Farjadrad · 2023 [cited by applicant]
US 11855043B1 · Farjadrad · 2023 [cited by applicant]
US 11855056B1 · F.Rad · 2023 [cited by applicant]
US 11892242B2 · Mao · 2024 [cited by applicant]
US 11893242B1 · Farjadrad · 2024 [cited by applicant]
US 11983125B2 · Soni · 2024 [cited by applicant]
US 11989416B2 · Tavallaei · 2024 [cited by examiner]
US 12001355B1 · Dreier · 2024 [cited by applicant]
US 12001725B2 · Chatterjee · 2024 [cited by applicant]
US 20020122479A1 · Agazzi · 2002 [cited by applicant]
US 20020136315A1 · Chan · 2002 [cited by applicant]
US 20040088444A1 · Baumer · 2004 [cited by applicant]
US 20040113239A1 · Prokofiev · 2004 [cited by applicant]
US 20040130347A1 · Moll · 2004 [cited by applicant]
US 20040156461A1 · Agazzi · 2004 [cited by applicant]
US 20050041683A1 · Kizer · 2005 [cited by applicant]
US 20050134306A1 · Stojanovic · 2005 [cited by applicant]
US 20050157781A1 · Ho · 2005 [cited by applicant]
US 20050205983A1 · Origasa · 2005 [cited by applicant]
US 20060060376A1 · Yoon · 2006 [cited by applicant]
US 20060103011A1 · Andry · 2006 [cited by applicant]
US 20060158229A1 · Hsu · 2006 [cited by applicant]
US 20060181283A1 · Wajcer · 2006 [cited by applicant]
US 20060188043A1 · Zerbe · 2006 [cited by applicant]
US 20060250985A1 · Baumer · 2006 [cited by applicant]
US 20060251194A1 · Bublil · 2006 [cited by applicant]
US 20070281643A1 · Kawai · 2007 [cited by applicant]
US 20080063395A1 · Royle · 2008 [cited by applicant]
US 20080086282A1 · Artman · 2008 [cited by applicant]
US 20080143422A1 · Lalithambika · 2008 [cited by applicant]
US 20080186987A1 · Baumer · 2008 [cited by applicant]
US 20080222407A1 · Carpenter · 2008 [cited by applicant]
US 20090113158A1 · Schnell · 2009 [cited by applicant]
US 20090154365A1 · Diab · 2009 [cited by applicant]
US 20090174448A1 · Zabinski · 2009 [cited by applicant]
US 20090220240A1 · Abhari · 2009 [cited by applicant]
US 20090225900A1 · Yamaguchi · 2009 [cited by applicant]
US 20090304054A1 · Tonietto · 2009 [cited by applicant]
US 20100177841A1 · Yoon · 2010 [cited by applicant]
US 20100197231A1 · Kenington · 2010 [cited by applicant]
US 20100294547A1 · Hatanaka · 2010 [cited by applicant]
US 20110029803A1 · Redman-White · 2011 [cited by applicant]
US 20110038286A1 · Ta · 2011 [cited by applicant]
US 20110167297A1 · Su · 2011 [cited by applicant]
US 20110187430A1 · Tang · 2011 [cited by applicant]
US 20110204428A1 · Erickson · 2011 [cited by applicant]
US 20110267073A1 · Chengson · 2011 [cited by applicant]
US 20110293041A1 · Luo · 2011 [cited by applicant]
US 20120082194A1 · Tam · 2012 [cited by applicant]
US 20120182776A1 · Best · 2012 [cited by applicant]
US 20120192023A1 · Lee · 2012 [cited by applicant]
US 20120216084A1 · Chun · 2012 [cited by applicant]
US 20120327818A1 · Takatori · 2012 [cited by applicant]
US 20130222026A1 · Havens · 2013 [cited by applicant]
US 20130249290A1 · Buonpane · 2013 [cited by applicant]
US 20130285584A1 · Kim · 2013 [cited by applicant]
US 20140016524A1 · Choi · 2014 [cited by applicant]
US 20140048947A1 · Lee · 2014 [cited by applicant]
US 20140126613A1 · Zhang · 2014 [cited by applicant]
US 20140192583A1 · Rajan · 2014 [cited by examiner]
US 20140269860A1 · Brown · 2014 [cited by applicant]
US 20140269983A1 · Baeckler · 2014 [cited by applicant]
US 20150012677A1 · Nagarajan · 2015 [cited by applicant]
US 20150046612A1 · Gupta · 2015 [cited by applicant]
US 20150172040A1 · Pelekhaty · 2015 [cited by applicant]
US 20150180760A1 · Rickard · 2015 [cited by applicant]
US 20150206867A1 · Lim · 2015 [cited by applicant]
US 20150271074A1 · Hirth · 2015 [cited by applicant]
US 20150326348A1 · Shen · 2015 [cited by applicant]
US 20150358005A1 · Chen · 2015 [cited by applicant]
US 20160056125A1 · Pan · 2016 [cited by applicant]
US 20160071818A1 · Wang · 2016 [cited by applicant]
US 20160111406A1 · Mak · 2016 [cited by applicant]
US 20160217872A1 · Hossain · 2016 [cited by applicant]
US 20160294585A1 · Rahman · 2016 [cited by applicant]
US 20170255575A1 · Niu · 2017 [cited by applicant]
US 20170286340A1 · Ngo · 2017 [cited by applicant]
US 20170317859A1 · Hormati · 2017 [cited by applicant]
US 20170331651A1 · Suzuki · 2017 [cited by applicant]
US 20180010329A1 · Golding, Jr. · 2018 [cited by applicant]
US 20180082981A1 · Gowda · 2018 [cited by applicant]
US 20180137005A1 · Wu · 2018 [cited by applicant]
US 20180175001A1 · Pyo · 2018 [cited by applicant]
US 20180190635A1 · Choi · 2018 [cited by applicant]
US 20180196767A1 · Linstadt · 2018 [cited by applicant]
US 20180210830A1 · Malladi et al. · 2018 [cited by applicant]
US 20180315735A1 · Delacruz · 2018 [cited by applicant]
US 20190044764A1 · Hollis · 2019 [cited by applicant]
US 20190058457A1 · Ran · 2019 [cited by applicant]
US 20190108111A1 · Levin · 2019 [cited by applicant]
US 20190198489A1 · Kim · 2019 [cited by applicant]
US 20190267062A1 · Tan · 2019 [cited by applicant]
US 20190319626A1 · Dabral · 2019 [cited by applicant]
US 20200051961A1 · Rickard · 2020 [cited by applicant]
US 20200105718A1 · Collins et al. · 2020 [cited by applicant]
US 20200257619A1 · Sheffler · 2020 [cited by examiner]
US 20200320026A1 · Kabiry · 2020 [cited by applicant]
US 20200364142A1 · Lin · 2020 [cited by applicant]
US 20200373286A1 · Dennis · 2020 [cited by examiner]
US 20210056058A1 · Lee · 2021 [cited by applicant]
US 20210082875A1 · Nelson · 2021 [cited by applicant]
US 20210117102A1 · Grenier · 2021 [cited by applicant]
US 20210149763A1 · Ranganathan · 2021 [cited by applicant]
US 20210181974A1 · Ghosh · 2021 [cited by applicant]
US 20210183842A1 · Fay · 2021 [cited by applicant]
US 20210193567A1 · Cheah et al. · 2021 [cited by applicant]
US 20210225827A1 · Lanka · 2021 [cited by applicant]
US 20210258078A1 · Meade · 2021 [cited by applicant]
US 20210311900A1 · Malladi · 2021 [cited by applicant]
US 20210365203A1 · O · 2021 [cited by applicant]
US 20210405919A1 · K · 2021 [cited by applicant]
US 20220051989A1 · Agarwal · 2022 [cited by applicant]
US 20220159860A1 · Winzer · 2022 [cited by applicant]
US 20220189934A1 · Kim · 2022 [cited by applicant]
US 20220223522A1 · Scearce · 2022 [cited by applicant]
US 20220254390A1 · Gans · 2022 [cited by applicant]
US 20220350756A1 · Burstein · 2022 [cited by applicant]
US 20220391114A1 · Richter · 2022 [cited by applicant]
US 20230039033A1 · Zarkovsky · 2023 [cited by applicant]
US 20230068802A1 · Wang · 2023 [cited by applicant]
US 20230090061A1 · Zarkovsky · 2023 [cited by applicant]
US 20230092541A1 · Dugast · 2023 [cited by applicant]
US 20230161599A1 · Erickson · 2023 [cited by applicant]
US 20230289311A1 · Noguera Serra · 2023 [cited by applicant]
US 20240007234A1 · Harrington · 2024 [cited by applicant]
US 20240028208A1 · Kim · 2024 [cited by applicant]
US 20240241840A1 · Im · 2024 [cited by applicant]
Block Memory Generator v8.2 LogiCORE IP Product Guide Vivado Design Suite; Xilinx; Apr. 1, 2015; retrieved from https://docs.xilinx.com/v/u/8.2-English/pg058-blk-mem-gen on Jan. 25, 2024 (Year: 2015). [cited by examiner]
M. Palesi, E. Russo, A. Das and J. Jose, “Wireless enabled Inter-Chiplet Communication in DNN Hardware Accelerators,” 2023 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), St. Petersb… [cited by examiner]
K. Drucker et al., “The Open Domain-Specific Architecture,” 2020 IEEE Symposium on High-Performance Interconnects (HOTI), Piscataway, NJ, USA, 2020, pp. 25-32, doi: 10.1109/HOTI51249.2020.00019. (Year: 2020). [cited by examiner]
H. Sharma et al., “SWAP: A Server-Scale Communication-Aware Chiplet-Based Manycore PIM Accelerator,” in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 41, No. 11, pp. 4145-4156, Nov.… [cited by examiner]
X. Duan, M. Miao, Z. Zhang and L. Sun, “Research on Double-Layer Networks-on-Chip for Inter-Chiplet Data Switching on Active Interposers,” 2021 22nd International Conference on Electronic Packaging Technology (ICEPT), X… [cited by examiner]
U.S. Appl. No. 16/812,234; Mohsen F. Rad; filed Mar. 6, 2020. [cited by applicant]
Farjadrad et al., “A Bunch of Wires (B0W) Interface for Inter-Chiplet Communication”, 2019 IEEE Symposium on High-Performance Interconnects (HOTI), pp. 27-30, Oct. 2019. [cited by applicant]
“Hot Chips 2017: Intel Deep Dives Into EMIB”, TomsHardware.com; Aug. 25, 2017. [cited by applicant]
“Using Chiplet Encapsulation Technology to Achieve Processing-In-Memory Functions”; Micromachines 2022, 13, 1790; https://www.mdpi.com/journal/micromachines; Tian et al. [cited by applicant]
“Multiport memory for high-speed interprocessor communication in MultiCom;” Scientia Iranica, vol. 8, No. 4, pp. 322-331; Sharif University of Technology, Oct. 2001; Asgari et al. [cited by applicant]
Universal Chiplet Interconnect Express (UCIe) Specification, Revision 1.1, Version 1.0, Jul. 10, 2023. [cited by applicant]
Hybrid Memory Cube Specification 2.1, Hybrid Memory Cube Consortium, HMC-30G-VSR PHY, 2014. [cited by applicant]
Quartus II Handbook Version 9.0 vol. 4: SOPC Builder; “System Interconnect Fabric for Memory-Mapped Interfaces”; Mar. 2009. [cited by applicant]
Universal Chiplet Interconnect Express (UCIe) Specification Rev. 1.0, Feb. 24, 2022. [cited by applicant]
Brinda Ganesh et al., “Fully-Buffered DIMM Memory Architectures: Understanding Mechanisms, Overheads and Scaling”, 2007, IEEE, 2007 IEEE 13th International Symposium on High Performance Computer Architecture, pp. 1-12 (… [cited by applicant]
Anu Ramamurthy, “Chiplet Technology & Heterogeneous Integration” Jun. 2021, NASA, 2021 NEPP ETW, slides 1-17 (Year: 2021). [cited by applicant]
Wikipedia, “Printed circuit board”, Nov. 9, 2021, Wayback Machine, as preserved by the Internet Archive on Nov. 9, 2021, pp. 1-23 (Year: 2021). [cited by applicant]
Kurt Lender et al., “Questions from the Compute Express Link Exploring Coherent Memory and Innovative Cases Webinar”, Apr. 13, 2020, CXL consortium. [cited by applicant]
Planet Analog, “The basics of SerDes (serializers/deserializers) for interfacing”, Dec. 1, 2020, Planet Analog. [cited by applicant]
Cited By (3)
US 12,327,077 US 12,705,202 US 12,717,733