US11853758B2 - Techniques for decoupled access-execute near-memory processing - Google Patents
Techniques for decoupled access-execute near-memory processing Download PDFInfo
- Publication number
- US11853758B2 US11853758B2 US16/585,521 US201916585521A US11853758B2 US 11853758 B2 US11853758 B2 US 11853758B2 US 201916585521 A US201916585521 A US 201916585521A US 11853758 B2 US11853758 B2 US 11853758B2
- Authority
- US
- United States
- Prior art keywords
- memory
- circuitry
- access
- compute
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title abstract description 79
- 238000012545 processing Methods 0.000 title abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 409
- 230000004888 barrier function Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 description 30
- 238000003860 storage Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 9
- 230000005291 magnetic effect Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000012092 media component Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012705 nitroxide-mediated radical polymerization Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/585,521 US11853758B2 (en) | 2019-09-27 | 2019-09-27 | Techniques for decoupled access-execute near-memory processing |
EP20181133.8A EP3798828A3 (de) | 2019-09-27 | 2020-06-19 | Techniken für entkoppelte zugriffsausführung in der nahspeicherverarbeitung |
CN202010592587.5A CN112579487A (zh) | 2019-09-27 | 2020-06-24 | 用于去耦合的存取-执行近存储器处理的技术 |
US18/388,797 US20240078112A1 (en) | 2019-09-27 | 2023-11-10 | Techniques for decoupled access-execute near-memory processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/585,521 US11853758B2 (en) | 2019-09-27 | 2019-09-27 | Techniques for decoupled access-execute near-memory processing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/388,797 Continuation US20240078112A1 (en) | 2019-09-27 | 2023-11-10 | Techniques for decoupled access-execute near-memory processing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20200026513A1 US20200026513A1 (en) | 2020-01-23 |
US11853758B2 true US11853758B2 (en) | 2023-12-26 |
Family
ID=69161881
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/585,521 Active 2041-04-03 US11853758B2 (en) | 2019-09-27 | 2019-09-27 | Techniques for decoupled access-execute near-memory processing |
US18/388,797 Pending US20240078112A1 (en) | 2019-09-27 | 2023-11-10 | Techniques for decoupled access-execute near-memory processing |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/388,797 Pending US20240078112A1 (en) | 2019-09-27 | 2023-11-10 | Techniques for decoupled access-execute near-memory processing |
Country Status (3)
Country | Link |
---|---|
US (2) | US11853758B2 (de) |
EP (1) | EP3798828A3 (de) |
CN (1) | CN112579487A (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2594498B (en) * | 2020-04-30 | 2022-06-01 | Advanced Risc Mach Ltd | Instruction scheduling |
US11720360B2 (en) * | 2020-09-11 | 2023-08-08 | Apple Inc. | DSB operation with excluded region |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145073A (en) * | 1998-10-16 | 2000-11-07 | Quintessence Architectures, Inc. | Data flow integrated circuit architecture |
US6728873B1 (en) * | 2000-06-06 | 2004-04-27 | International Business Machines Corporation | System and method for providing multiprocessor speculation within a speculative branch path |
US7334110B1 (en) * | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
US7437521B1 (en) * | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization method and apparatus |
US20130305022A1 (en) * | 2012-05-14 | 2013-11-14 | International Business Machines Corporation | Speeding Up Younger Store Instruction Execution after a Sync Instruction |
US20150149718A1 (en) | 2009-07-21 | 2015-05-28 | Tadao Nakamura | A lower energy consumption and high speed computer system and a marching main memory adapted for the computer system, without the memory bottleneck |
US20160041906A1 (en) | 2013-09-21 | 2016-02-11 | Oracle International Corporation | Sharding of in-memory objects across numa nodes |
US9678673B2 (en) * | 2013-03-28 | 2017-06-13 | Hewlett Packard Enterprise Development Lp | Coordinating replication of data stored in a non-volatile memory-based system |
-
2019
- 2019-09-27 US US16/585,521 patent/US11853758B2/en active Active
-
2020
- 2020-06-19 EP EP20181133.8A patent/EP3798828A3/de active Pending
- 2020-06-24 CN CN202010592587.5A patent/CN112579487A/zh active Pending
-
2023
- 2023-11-10 US US18/388,797 patent/US20240078112A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145073A (en) * | 1998-10-16 | 2000-11-07 | Quintessence Architectures, Inc. | Data flow integrated circuit architecture |
US6728873B1 (en) * | 2000-06-06 | 2004-04-27 | International Business Machines Corporation | System and method for providing multiprocessor speculation within a speculative branch path |
US7334110B1 (en) * | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
US7437521B1 (en) * | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization method and apparatus |
US20150149718A1 (en) | 2009-07-21 | 2015-05-28 | Tadao Nakamura | A lower energy consumption and high speed computer system and a marching main memory adapted for the computer system, without the memory bottleneck |
US20130305022A1 (en) * | 2012-05-14 | 2013-11-14 | International Business Machines Corporation | Speeding Up Younger Store Instruction Execution after a Sync Instruction |
US9678673B2 (en) * | 2013-03-28 | 2017-06-13 | Hewlett Packard Enterprise Development Lp | Coordinating replication of data stored in a non-volatile memory-based system |
US20160041906A1 (en) | 2013-09-21 | 2016-02-11 | Oracle International Corporation | Sharding of in-memory objects across numa nodes |
Non-Patent Citations (4)
Title |
---|
European Office Action for Patent Application No. 20181133.8, dated Dec. 9, 2021, 7 pages. |
European Second Office Action for Patent Application No. 20181133.8, dated Apr. 5, 2023, 8 pages. |
Extended European Search Report for Patent Application No. 20181133.8, dated Mar. 12, 2021, 11 pages. |
Won W Ro et al., "Design and evaluation of a hierarchical decoupled architecture" , The Journal of Supercomputing, Kluwer Academic Publishers, BO, vol. 38, No. 3, Dec. 2, 2006, pp. 237-259. |
Also Published As
Publication number | Publication date |
---|---|
CN112579487A (zh) | 2021-03-30 |
EP3798828A2 (de) | 2021-03-31 |
US20200026513A1 (en) | 2020-01-23 |
EP3798828A3 (de) | 2021-04-14 |
US20240078112A1 (en) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240078112A1 (en) | Techniques for decoupled access-execute near-memory processing | |
US11604649B2 (en) | Techniques for efficiently transferring data to a processor | |
KR101720676B1 (ko) | 대용량 저장소 디바이스들을 관리하기 위한 장치 및 방법 | |
US20160098200A1 (en) | In-memory popcount support for real time analytics | |
CN107636618B (zh) | 在具有嵌入式可编程数据检查的非易失性系统存储器计算系统中的即时重启 | |
US20160283111A1 (en) | Read operations in memory devices | |
CN107301455A (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
US20200233803A1 (en) | Efficient hardware architecture for accelerating grouped convolutions | |
WO2020103058A1 (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
Chen et al. | Accelerator-rich CMPs: From concept to real hardware | |
KR101743409B1 (ko) | 메모리 관리 | |
EP3709159B1 (de) | Verarbeitung von anweisungen zur übersetzung von vektorisierten physikalischen gastadressen | |
JP2021072107A (ja) | ストレージ周辺の階層的ソート加速のためのストレージシステム及び方法 | |
US11625279B2 (en) | Read-write page replication for multiple compute units | |
CN103914333B (zh) | 基于片上网络互连的多核存储系统仿真器 | |
TWI609265B (zh) | 用於揮發性記憶體之以極性爲基的資料移轉功能 | |
CN109983443A (zh) | 实现分叉非易失性存储器快速驱动器的技术 | |
Lu et al. | A novel NVM memory file system for edge intelligence | |
US20240070107A1 (en) | Memory device with embedded deep learning accelerator in multi-client environment | |
US20230334750A1 (en) | Methods and hardware logic for loading ray tracing data into a shader processing unit of a graphics processing unit | |
CN114258534B (zh) | 阶层式存储器系统 | |
EP4187478A1 (de) | Punktwolken-nachbarschafts-map und hash-map-beschleuniger | |
US20240020248A1 (en) | Partial data handling hardware | |
WO2023225792A1 (en) | Techniques to multiply memory access bandwidth using a plurality of links | |
US20230267992A1 (en) | Keeper-free volatile memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AKIN, BERKIN;ALAMELDEEN, ALAA R.;SIGNING DATES FROM 20190930 TO 20191002;REEL/FRAME:050730/0454 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STCV | Information on status: appeal procedure |
Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER |
|
STCV | Information on status: appeal procedure |
Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |