TW202117551A - 連接單晶片系統與加速器晶片之記憶體晶片 - Google Patents

連接單晶片系統與加速器晶片之記憶體晶片 Download PDF

Info

Publication number
TW202117551A
TW202117551A TW109130611A TW109130611A TW202117551A TW 202117551 A TW202117551 A TW 202117551A TW 109130611 A TW109130611 A TW 109130611A TW 109130611 A TW109130611 A TW 109130611A TW 202117551 A TW202117551 A TW 202117551A
Authority
TW
Taiwan
Prior art keywords
memory
chip
soc
accelerator
cells
Prior art date
Application number
TW109130611A
Other languages
English (en)
Inventor
西恩 S 艾樂
肯尼斯 馬里安 柯維茲
賈斯汀 M 依諾
Original Assignee
美商美光科技公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 美商美光科技公司 filed Critical 美商美光科技公司
Publication of TW202117551A publication Critical patent/TW202117551A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Advance Control (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

本發明提供一種連接一SoC與一加速器晶片(例如,一AI加速器晶片)之記憶體晶片(例如,DRAM)。提供一種包括該記憶體晶片及該加速器晶片之系統。該系統可包括該SoC。該記憶體晶片可包括第一記憶體胞元以儲存且提供自該SoC接收到的計算輸入資料(例如,AI計算輸入資料),以由該加速器晶片用作計算輸入(例如,AI計算輸入)。該記憶體晶片可包括第二記憶體胞元以儲存且提供自該加速器晶片接收到的第一計算輸出資料(例如,AI計算輸出資料),以由該SoC擷取或由該加速器晶片重新用作計算輸入。該記憶體晶片亦可包括第三記憶體胞元以儲存自該SoC接收到的與非AI任務有關之第二計算輸出資料(例如,非AI計算輸出資料),以由該SoC擷取以用於非AI任務。

Description

連接單晶片系統與加速器晶片之記憶體晶片
本文所揭示之至少一些實施例係關於連接SoC與加速器晶片(例如,AI加速器晶片)之記憶體晶片。本文所揭示之至少一些實施例係關於使用記憶體階層及記憶體晶片串來形成記憶體。
記憶體(諸如主記憶體)為儲存電腦或計算裝置中立即使用之資訊的電腦硬體。記憶體通常以比電腦儲存裝置更高的速度操作。電腦儲存裝置提供用於存取資訊之較慢速度,但亦可提供較高容量及更佳資料可靠性。隨機存取記憶體(RAM)為可具有高操作速度的一類記憶體。
通常,記憶體由可定址的半導體記憶體單元或胞元構成。記憶體IC及其記憶體單元可至少部分地由基於矽之金屬氧化物半導體場效電晶體(MOSFET)實施。
存在兩種主要類型之記憶體,揮發性及非揮發性記憶體。非揮發性記憶體可包括快閃記憶體(其亦可用作儲存裝置)以及ROM、PROM、EPROM及EEPROM (其可用於儲存韌體)。另一類型之非揮發性記憶體為非揮發性隨機存取記憶體(NVRAM)。揮發性記憶體可包括主記憶體技術,諸如動態隨機存取記憶體(DRAM),及通常使用靜態隨機存取記憶體(SRAM)實施之快取記憶體。
AI加速器為經組態以使AI應用之計算加速的一類微處理器或電腦系統,該等AI應用包括諸如人工神經網路、機器視覺及機器學習之AI應用。AI加速器可為硬連線的以改良資料密集型或感測器驅動型任務之資料處理。AI加速器可包括一或多個核心,且針對低精度算術及記憶體內計算可為有線的。AI加速器可存在於多種裝置中,諸如智慧型電話、平板電腦及任何類型之電腦(尤其具有感測器及資料密集型任務(諸如圖形及光學處理)之電腦)。又,AI加速器可包括向量處理器或陣列處理器以改良數值模擬及AI應用中使用的其他類型之任務的執行。
SoC為將電腦組件整合在單個晶片中之積體電路(IC)。SoC中常見的電腦組件包括中央處理單元(CPU)、記憶體、輸入/輸出埠及輔助儲存裝置。SoC之所有組件可位於單個基板或微晶片上,且一些晶片可小於25美分硬幣。SoC可包括各種信號處理功能,且可包括特殊處理器或共處理器,諸如圖形處理單元(GPU)。藉由緊密整合,SoC與具有等效功能性之習知多晶片系統相比消耗的功率可少得多。此情形使得SoC有益於行動計算裝置之整合(諸如在智慧型電話及平板電腦中)。又,SoC可適用於嵌入式系統及物聯網中(尤其當智慧型裝置較小時)。
返回參看記憶體,計算系統之記憶體可為階層式的。在電腦架構中常常被稱作記憶體階層,記憶體階層可基於諸如回應時間、複雜度、容量、持久性及記憶體頻寬之某些因素將電腦記憶體分成階層。此等因素可相關且可常常為進一步強調記憶體階層之有用性的取捨。
一般而言,記憶體階層影響電腦系統中之效能。使記憶體頻寬及速度優先於其他因素可能需要考慮記憶體階層之限制,諸如回應時間、複雜度、容量及持久性。為了管理此優先化,可併入不同類型之記憶體晶片以平衡更快的晶片與更可靠或具有成本效益的晶片等。各種晶片中之每一者可被視為記憶體階層之部分。並且,例如為了減少較快晶片上之潛時,記憶體晶片組合中之其他晶片可藉由填充緩衝器且隨後傳信以啟動晶片之間的資料傳送來作出回應。
記憶體階層可由具有不同類型之記憶體單元或胞元的晶片構成。舉例而言,記憶體單元可為DRAM單元。DRAM為將資料之每一位元儲存在一記憶體胞元中的一類隨機存取半導體記憶體,該記憶體胞元通常包括電容器及MOSFET。該電容器可被充電或放電,其表示位元之兩個值,諸如「0」及「1」。在DRAM中,電容器上之電荷會洩漏,因此DRAM需要外部記憶體再新電路,該外部記憶體再新電路藉由恢復每電容器之原始電荷來週期性地重寫電容器中之資料。DRAM被視為揮發性記憶體,此係因為其在電力被移除時快速地失去其資料。此不同於快閃記憶體及其他類型之非揮發性記憶體,諸如NVRAM,其中資料儲存更持久。
一種類型之NVRAM為3D XPoint記憶體。在3D XPoint記憶體之情況下,記憶體單元結合可堆疊交叉柵格資料存取陣列而基於體電阻之改變來儲存位元。3D XPoint記憶體可比DRAM更具成本效益,但比快閃記憶體的成本效益更低。又,3D XPoint為非揮發性記憶體及隨機存取記憶體。
快閃記憶體為另一類型之非揮發性記憶體。快閃記憶體之優點為其可經電抹除及再程式化。快閃記憶體被視為具有兩個主要類型:NAND型快閃記憶體及NOR型快閃記憶體,該等記憶體以可實施快閃記憶體之記憶體單元的NAND及NOR邏輯閘命名。快閃記憶體單元或胞元展現類似於對應閘之特性的內部特性。NAND型快閃記憶體包括NAND閘。NOR型快閃記憶體包括NOR閘。NAND型快閃記憶體可在可小於整個裝置之區塊中寫入及讀取。NOR型快閃記憶體准許將單個位元組寫入至經抹除位置或獨立地讀取。因為NAND型快閃記憶體之優點,此類記憶體常常用於記憶卡、USB快閃驅動器及固態驅動機。然而,一般而言,使用快閃記憶體之主要取捨為相較於諸如DRAM及NVRAM之其他類型之記憶體,其僅能夠在特定區塊中進行相對較小數目個寫入循環。
在一實施例中,一種系統包含:一加速器晶片;以及一記憶體晶片,其包含:一接腳集合,其經組態以經由佈線連接至一單晶片系統(SoC);以及一第一複數個記憶體胞元,其經組態以儲存且提供經由該接腳集合自該SoC接收到的計算輸入資料,以由該加速器晶片用作計算輸入。
在另一實施例中,一種系統包含:一加速器晶片;一單晶片系統(SoC);以及一記憶體晶片,其包含:一接腳集合,其經組態以經由佈線連接至該SoC;以及一第一複數個記憶體胞元,其經組態以儲存且提供經由該接腳集合自該SoC接收到的計算輸入資料,以由該加速器晶片用作計算輸入。
在另一實施例中,一種記憶體晶片包含:一接腳集合,其經組態以經由佈線連接至一單晶片系統(SoC);以及一第一複數個記憶體胞元,其經組態以儲存且提供經由該接腳集合自該SoC接收到的AI計算輸入資料,以由一人工智慧(AI)加速器晶片用作AI計算輸入。
本文所揭示之至少一些實施例係關於連接SoC與加速器晶片(例如,AI加速器晶片)之記憶體晶片(例如,DRAM)。換言之,本文所揭示之至少一些實施例係關於經由記憶體晶片將加速器晶片(例如,AI加速器晶片)連接至SoC。加速器晶片經由記憶體晶片與SoC間接通信。解譯藉由記憶體晶片置於連接SoC與加速器晶片之記憶體晶片中之資料以向加速器晶片進行請求。又,SoC可視情況將連接SoC與加速器晶片之記憶體晶片用於其並不涉及加速器晶片之操作。因此,連接SoC與加速器晶片之記憶體晶片可具有兩個通用目的,用於SoC及用於加速器晶片。對於此等實施例之一些實例,參見圖4至圖7中所描繪之第一記憶體晶片402、加速器晶片404及SoC 406。又,參見圖8至圖9中所展示之SoC 806及特殊應用組件807。在裝置800及900之一些實施例中,特殊應用組件807可包括第一記憶體晶片402及加速器晶片404。
如圖4至圖7中所展示,連接SoC與加速器晶片之記憶體晶片可在邏輯上(且有時在實體上)位於SoC與加速器晶片中間。並且,位於SoC與加速器晶片中間的用於加速器之記憶體晶片可不需要具有兩個接腳集合。在一些實施例中,加速器晶片及記憶體晶片可在實體上位於同一匯流排上。然而,在使用中間記憶體晶片的任何情形下,SoC都不經由匯流排或佈線與加速器晶片直接通信。因此,連接SoC與加速器晶片之記憶體晶片至少在邏輯上位於加速器晶片與SoC之間。又,由記憶體晶片提供的SoC與加速器晶片之連接可僅為邏輯連接。
連接SoC與加速器晶片之記憶體晶片可具有兩個分離的接腳集合;一個集合用於經由佈線直接連接至加速器晶片(例如,參見圖4、圖5及圖7中所展示之接腳集合414及佈線424),且另一集合用於經由佈線直接連接至SoC (例如,參見圖4至圖5中所展示之接腳集合416及佈線426)。
加速器晶片經由記憶體晶片連接至SoC通常可為SoC,或更特定言之在一些實施例中為包括於SoC中之GPU (例如,參見圖4至圖7中所展示之GPU 408)提供特殊應用計算(諸如AI計算)之加速。在一些實施例中,SoC中之GPU及連接SoC與加速器晶片之記憶體晶片可直接連接。在一些實施例中,連接GPU與加速器晶片之記憶體晶片可包括接腳集合,且可經由接腳集合及佈線(例如,參見接腳集合414及佈線424)直接連接至加速器晶片。加速器晶片亦可具有對應接腳集合(例如,參見接腳集合415)。並且,連接SoC與加速器晶片之記憶體晶片可包括第二接腳集合,且可經由第二接腳集合及佈線(例如,參見接腳集合416及佈線426)直接連接至GPU。又,SOC中之GPU可包括接腳集合,且可經由接腳集合及佈線(例如,參見接腳集合417及佈線426)直接連接至記憶體晶片。
為了本發明之目的,應理解,本文所描述之加速器晶片中之任一者可為或包括專用加速器晶片之部分。專用加速器晶片之實例可包括人工智慧(AI)加速器晶片、虛擬實境加速器晶片、擴增實境加速器晶片、圖形加速器晶片、機器學習加速器晶片或可提供低潛時或高頻寬記憶體存取的任何其他類型之ASIC或FPGA。舉例而言,本文所描述之加速器晶片中之任一者可為或包括AI加速器晶片之部分。
加速器晶片可為自身經設計以用於AI應用之硬體加速的微處理器晶片或SoC,該等AI應用包括人工神經網路、機器視覺及機器學習。在一些實施例中,加速器晶片經組態以執行向量及矩陣之數值運算(例如,參見圖4中所展示之向量處理器412,其可經組態以執行向量及矩陣之數值運算)。加速器晶片可為或包括ASIC或FPGA。在加速器晶片之ASIC實施例的情況下,加速器晶片可經特定硬連線以用於特殊應用計算(諸如AI計算)之加速。在一些其他實施例中,加速器晶片可為超越未經修改FPGA或GPU的經修改以用於特殊應用計算之加速的經修改FPGA或GPU。在一些其他實施例中,加速器晶片可為未經修改FPGA或GPU。
為清楚起見,當描述整個系統之多個記憶體晶片時,直接連接至加速器晶片之記憶體晶片(例如,參見第一記憶體晶片402)在本文中亦被稱為特殊應用記憶體晶片。特殊應用記憶體晶片不一定經特定硬連線以用於特殊應用計算(例如,AI計算)。特殊應用記憶體晶片中之每一者可為DRAM晶片或NVRAM晶片。並且,特殊應用記憶體晶片中之每一者可直接連接至加速器晶片,且可具有在特殊應用記憶體晶片藉由SoC或加速器晶片組態之後藉由加速器特定用於特殊應用計算之加速的記憶體單元。
在一些實施例中,SoC可包括主處理器(例如,CPU)。舉例而言,參見圖4至圖7中所展示之主處理器110。在此等實施例中,SoC中之GPU可運行用於特殊應用任務及計算(例如,AI任務及計算)之指令,且主處理器可運行用於非特殊應用任務及計算(例如,非AI任務及計算)之指令。並且,在此等實施例中,加速器可提供特定用於GPU之特殊應用任務及計算之加速。SoC亦可包括其自身的用於將SoC之組件彼此連接(諸如連接主處理器與GPU)的匯流排。又,SoC之匯流排可經組態以將SoC連接至SoC外部的匯流排,使得SoC之組件可與SoC外部的晶片及裝置(諸如分離的記憶體晶片)耦接。
GPU之非特殊應用計算及任務(例如,非AI計算及任務)或不使用加速器晶片之此類計算及任務(其可並非由主處理器執行之習知任務)可使用分離的記憶體,諸如分離的記憶體晶片(其可為特殊應用記憶體)。並且,該記憶體可由DRAM、NVRAM、快閃記憶體或其任何組合實施。舉例而言,分離的記憶體或記憶體晶片可經由SoC外部的匯流排連接至SoC及主處理器(例如,參見圖5中描繪之記憶體204及匯流排202)。在此等實施例中,分離的記憶體或記憶體晶片可具有特定用於主處理器之記憶體單元。又,分離的記憶體或記憶體晶片可經由SoC外部的匯流排連接至SoC及GPU (例如,參見圖5至圖7中所描繪之第二記憶體晶片204及匯流排202)。在此等實施例中,分離的記憶體或記憶體晶片可具有用於主處理器或GPU之記憶體單元。
應理解,為了本發明之目的,特殊應用記憶體晶片及分離的記憶體晶片可各自由記憶體晶片組,諸如記憶體晶片串(例如,參見圖10及圖11中所展示之記憶體晶片串)替代。舉例而言,分離的記憶體晶片可由至少包括NVRAM晶片及該NVRAM晶片下游之快閃記憶體晶片的記憶體晶片串替代。又,分離的記憶體晶片可由至少兩個記憶體晶片替代,其中晶片中之一者用於主處理器(例如,CPU),且另一晶片用於GPU以用作用於非AI計算及/或任務之記憶體。
另外,本文所揭示之至少一些實施例係關於具有向量處理器(例如,參見圖4至圖7中所展示之向量處理器412)之加速器晶片(例如,AI加速器晶片)。並且,本文所揭示之至少一些實施例係關於使用記憶體階層及記憶體晶片串來形成記憶體(例如,參見圖10及圖11)。
為了本發明之目的,應理解,本文所描述之加速器晶片中之任一者可為或包括專用加速器晶片之部分。專用加速器晶片之實例可包括AI加速器晶片、虛擬實境加速器晶片、擴增實境加速器晶片、圖形加速器晶片、機器學習加速器晶片或可提供低潛時或高頻寬記憶體存取的任何其他類型之ASIC或FPGA。
圖1說明包括連接SoC與記憶體晶片之加速器晶片(例如,AI加速器晶片)的實例相關系統。
圖1說明實例系統100,其在一定程度上與系統400有關。系統100包括連接第一記憶體晶片104與SoC 106之加速器晶片102 (例如,AI加速器晶片)。如所展示,SoC 106包括GPU 108以及主處理器110。主處理器110可為或包括CPU。並且,加速器晶片102包括向量處理器112。
在系統100中,加速器晶片102包括第一接腳集合114及第二接腳集合116。第一接腳集合114經組態以經由佈線124連接至第一記憶體晶片104。第二接腳集合116經組態以經由佈線126連接至SoC 106。如所展示,第一記憶體晶片104包括經由佈線124將記憶體晶片連接至加速器晶片102的對應接腳集合115。SoC 106之GPU 108包括經由佈線126將SoC連接至加速器晶片102的對應接腳集合117。
加速器晶片102經組態以執行並加速用於SoC 106之特殊應用計算(例如,AI計算)。加速器晶片102亦經組態以使用第一記憶體晶片104作為用於特殊應用計算之記憶體。特殊應用計算之加速可由向量處理器112執行。加速器晶片102中之向量處理器112可經組態以執行用於SoC 106之向量及矩陣之數值運算。加速器晶片102可包括ASIC,該ASIC包括向量處理器112且經特定硬連線以經由向量處理器112使特殊應用計算(例如,AI計算)加速。替代地,加速器晶片102可包括FPGA,該FPGA包括向量處理器112且經特定硬連線以經由向量處理器112使特殊應用計算加速。在一些實施例中,加速器晶片102可包括GPU,該GPU包括向量處理器112且經特定硬連線以經由向量處理器112使特殊應用計算加速。在此等實施例中,GPU可經特定修改以經由向量處理器112使特殊應用計算加速。
如所展示,SoC 106包括GPU 108。並且,加速器晶片102可經組態以執行並加速用於GPU 108之特殊應用計算(例如,AI計算)。舉例而言,向量處理器112可經組態以執行用於GPU 108之向量及矩陣之數值運算。又,GPU 108可經組態以執行特殊應用任務及計算(例如,AI任務及計算)。
又,如所展示,SoC 106包括經組態以執行非AI任務及計算之主處理器110。
在一些實施例中,記憶體晶片104為DRAM晶片。在此等實例中,第一接腳集合114可經組態以經由佈線124連接至DRAM晶片。又,加速器晶片102可經組態以使用DRAM晶片中之DRAM胞元作為用於特殊應用計算(例如,AI計算)之記憶體。在一些其他實施例中,記憶體晶片104為NVRAM晶片。在此等實施例中,第一接腳集合114可經組態以經由佈線124連接至NVRAM晶片。又,加速器晶片102可經組態以使用NVRAM晶片中之NVRAM胞元作為用於特殊應用計算之記憶體。此外,NVRAM晶片可為或包括3D XPoint記憶體晶片。在此等實例中,第一接腳集合114可經組態以經由佈線124連接至3D XPoint記憶體晶片,且加速器晶片102可經組態以使用3D XPoint記憶體晶片中之3D XPoint記憶體胞元作為用於特殊應用計算之記憶體。
在一些實施例中,系統100包括加速器晶片102,該加速器晶片102經由佈線連接至第一記憶體晶片104,且第一記憶體晶片104可為特殊應用記憶體晶片。系統100亦包括SoC 106,該SoC 106包括GPU 108 (其可經組態以執行AI任務)及主處理器110 (其可經組態以執行非AI任務且將AI任務委派至GPU 108)。在此等實施例中,GPU 108包括經組態以經由佈線126連接至加速器晶片102的接腳集合117,且加速器晶片102經組態以執行並加速用於GPU 108之AI任務之AI計算。
在此等實施例中,加速器晶片102可包括向量處理器112,該向量處理器112經組態以執行用於GPU 108之向量及矩陣之數值運算。並且,加速器晶片102包括ASIC,該ASIC包括向量處理器112且經特定硬連線以經由向量處理器112使AI計算加速。或者,加速器晶片102包括FPGA,該FPGA包括向量處理器112且經特定硬連線以經由向量處理器112使AI計算加速。或者,加速器晶片102包括GPU,該GPU包括向量處理器112且經特定硬連線以經由向量處理器112使AI計算加速。
系統100亦包括記憶體晶片104,並且加速器晶片102可經由佈線124連接至記憶體晶片104且經組態以執行並加速AI任務之AI計算。記憶體晶片104可為或包括具有DRAM胞元之DRAM晶片,且DRAM胞元可由加速器晶片102組態以儲存用於使AI計算加速之資料。或者,記憶體晶片104可為或包括具有NVRAM胞元之NVRAM晶片,且NVRAM胞元可由加速器晶片102組態以儲存用於使AI計算加速之資料。NVRAM晶片可包括3D XPoint記憶體胞元,且該等3D XPoint記憶體胞元可由加速器晶片102組態以儲存用於使AI計算加速之資料。
圖2至圖3分別說明實例系統200及300,每一系統包括圖1中描繪之加速器晶片102以及分離的記憶體(例如,NVRAM)。
圖2中,匯流排202連接系統100 (包括加速器晶片102)與記憶體204。在一些實施例中可為NVRAM的記憶體204為與系統100之第一記憶體晶片104之記憶體分離的記憶體。並且,在一些實施例中,記憶體204可為主記憶體。
在系統200中,系統100之SoC 106經由匯流排202與記憶體204連接。並且,作為系統200之部分的系統100包括加速器晶片102、第一記憶體晶片104及SoC 106。系統100之此等部分經由匯流排202連接至記憶體204。又,圖2中所展示,包括於SoC 106中之記憶體控制器206控制系統100之SoC 106對記憶體204之資料存取。舉例而言,記憶體控制器206控制GPU 108及/或主處理器110對記憶體204之資料存取。在一些實施例中,記憶體控制器206可控制對系統200中之所有記憶體的資料存取(諸如,對第一記憶體晶片104及記憶體204之資料存取)。並且,記憶體控制器206可通信耦接至第一記憶體晶片104及/或記憶體204。
記憶體204為與系統100之第一記憶體晶片104所提供之記憶體分離的記憶體,且其可經由記憶體控制器206及匯流排202而用作用於SoC 106之GPU 108及主處理器110的記憶體。又,記憶體204可用作用於GPU 108及主處理器110之不由加速器晶片102執行之非特殊應用任務或特殊應用任務(諸如非AI任務或AI任務)的記憶體。此類任務之資料可經由記憶體控制器206及匯流排202自記憶體204存取及傳達至記憶體204。
在一些實施例中,記憶體204為裝置之主記憶體,該裝置諸如代管系統200之裝置。舉例而言,在系統200的情況下,記憶體204可為圖8中所展示之主記憶體808。
在圖3中,匯流排202連接系統100 (包括加速器晶片102)與記憶體204。又,在系統300中,匯流排202將加速器晶片102連接至SoC 106以及將加速器晶片102連接至記憶體204。亦展示,在系統300中,匯流排202代替了加速器晶片之第二接腳集合116以及SoC 106及GPU 108之佈線126及接腳集合117。類似於系統200,系統300中之加速器晶片102連接系統100之第一記憶體晶片104與SoC 106;然而,該連接係經由第一接腳集合114及匯流排202。
又,類似於系統200,在系統300中,記憶體204為與系統100之第一記憶體晶片104之記憶體分離的記憶體。在系統300中,系統100之SoC 106經由匯流排202與記憶體204連接。並且,在系統300中,作為系統300之部分的系統100包括加速器晶片102、第一記憶體晶片104及SoC 106。系統100之此等部分經由系統300中之匯流排202連接至記憶體204。又,類似地,如圖3中所展示,包括於SoC 106中之記憶體控制器206控制系統100之SoC 106對記憶體204之資料存取。在一些實施例中,記憶體控制器206可控制對系統300中之所有記憶體的資料存取(諸如,對第一記憶體晶片104及記憶體204之資料存取)。並且,記憶體控制器可連接至第一記憶體晶片104及/或記憶體204。並且,記憶體控制器206可通信耦接至第一記憶體晶片104及/或記憶體204。
又,在系統300中,記憶體204 (其在一些實施例中可為NVRAM)為與系統100之第一記憶體晶片104所提供之記憶體分離的記憶體,且其可經由記憶體控制器206及匯流排202而用作用於SoC 106之GPU 108及主處理器110的記憶體。此外,在一些實施例及情形中,加速器晶片102可經由匯流排202使用記憶體204。並且,記憶體204可用作用於GPU 108及主處理器110之不由加速器晶片102執行之非特殊應用任務或特殊應用任務(諸如非AI任務或AI任務)的記憶體。此類任務之資料可經由記憶體控制器206及/或匯流排202自記憶體204存取及傳達至記憶體204。
在一些實施例中,記憶體204為裝置之主記憶體,該裝置諸如代管系統300之裝置。舉例而言,在系統300的情況下,記憶體204可為圖9中所展示之主記憶體808。
圖4說明根據本發明之一些實施例的實例系統400,其包括連接加速器晶片404 (例如,AI加速器晶片)與SoC 406之第一記憶體晶片402。如所展示,SoC 406包括GPU 408以及主處理器110。主處理器110可為或包括系統400中之CPU。並且,加速器晶片404包括向量處理器412。
在系統400中,記憶體晶片402包括第一接腳集合414及第二接腳集合416。第一接腳集合414經組態以經由佈線424連接至加速器晶片404。第二接腳集合416經組態以經由佈線426連接至SoC 406。如所展示,加速器晶片404包括經由佈線424將第一記憶體晶片402連接至加速器晶片的對應接腳集合415。SoC 406之GPU 408包括經由佈線426將SoC連接至第一記憶體晶片402的對應接腳集合417。
第一記憶體晶片402包括第一複數個記憶體胞元,該第一複數個記憶體胞元經組態以儲存且提供經由第二接腳集合416自SoC 406接收到的計算輸入資料(例如,AI計算輸入資料),以由加速器晶片404用作計算輸入(例如,AI計算輸入)。計算輸入資料經由第一接腳集合414自第一複數個記憶體胞元存取且自第一記憶體晶片402傳輸,以由加速器晶片404接收及使用。第一複數個記憶體胞元可包括DRAM胞元及/或NVRAM胞元。在具有NVRAM胞元之實例中,NVRAM胞元可為或包括3D XPoint記憶體胞元。
第一記憶體晶片402亦包括第二複數個記憶體胞元,該第二複數個記憶體胞元經組態以儲存且提供經由第一接腳集合414自加速器晶片404接收到的計算輸出資料(例如,AI計算輸出資料),以由SoC 406擷取或由加速器晶片404重新用作計算輸入(例如,AI計算輸入)。計算輸出資料可經由第一接腳集合414自第二複數個記憶體胞元存取且自第一記憶體晶片402傳輸,以由加速器晶片404接收及使用。又,計算輸出資料可經由第二接腳集合416自第二複數個記憶體胞元存取且自SoC 406或SoC中之GPU 408傳輸,以由SoC或SoC中之GPU接收及使用。第二複數個記憶體胞元可包括DRAM胞元及/或NVRAM胞元。在具有NVRAM胞元之實例中,NVRAM胞元可為或包括3D XPoint記憶體胞元。
第一記憶體晶片402亦包括第三複數個記憶體胞元,該第三複數個記憶體胞元經組態以儲存經由接腳集合416自SoC 406接收到的與非AI任務有關之非AI資料,以由SoC 406擷取以用於非AI任務。非AI資料可經由第二接腳集合416自第三複數個記憶體胞元存取且自第一記憶體晶片402傳輸,以由SoC 406、SoC中之GPU 408或SoC中之主處理器110接收及使用。第三複數個記憶體胞元可包括DRAM胞元及/或NVRAM胞元。在具有NVRAM胞元之實例中,NVRAM胞元可為或包括3D XPoint記憶體胞元。
加速器晶片404經組態以執行並加速用於SoC 406之特殊應用計算(例如,AI計算)。加速器晶片404亦經組態以使用第一記憶體晶片402作為用於特殊應用計算之記憶體。特殊應用計算之加速可由向量處理器412執行。加速器晶片404中之向量處理器412可經組態以執行用於SoC 406之向量及矩陣之數值運算。舉例而言,向量處理器412可經組態以使用第一及第二複數個記憶體胞元作為記憶體來執行用於SoC 406之向量及矩陣之數值運算。
加速器晶片404可包括ASIC,該ASIC包括向量處理器412且經特定硬連線以經由向量處理器412使特殊應用計算(例如,AI計算)加速。替代地,加速器晶片404可包括FPGA,該FPGA包括向量處理器412且經特定硬連線以經由向量處理器412使特殊應用計算加速。在一些實施例中,加速器晶片404可包括GPU,該GPU包括向量處理器412且經特定硬連線以經由向量處理器412使特殊應用計算加速。在此等實施例中,GPU可經特定修改以經由向量處理器412使特殊應用計算加速。
如所展示,SoC 406包括GPU 408。並且,加速器晶片402可經組態以執行並加速用於GPU 408之特殊應用計算。舉例而言,向量處理器412可經組態以執行用於GPU 408之向量及矩陣之數值運算。又,GPU 408可經組態以執行特殊應用任務及計算。又,如所展示,SoC 406包括經組態以執行非AI任務及計算之主處理器110。
在一些實施例中,系統400包括記憶體晶片402、加速器晶片404及SoC 406,且記憶體晶片402至少包括經組態以經由佈線424連接至加速器晶片404的第一接腳集合414及經組態以經由佈線426連接至SoC 406的第二接腳集合416。並且,記憶體晶片402可包括:第一複數個記憶體胞元,其經組態以儲存且提供經由接腳集合416自SoC 406接收到的AI計算輸入資料,以由加速器晶片404用作AI計算輸入;以及第二複數個記憶體胞元,其經組態以儲存且提供經由另一接腳集合414自加速器晶片404接收到的AI計算輸出資料,以由SoC 406擷取或由加速器晶片404重新用作AI計算輸入。並且,記憶體晶片402可包括用於非AI計算之記憶體的第三複數個胞元。
又,SoC 406包括GPU 408,且加速器晶片404可經組態以使用第一及第二複數個記憶體胞元作為記憶體來執行並加速用於GPU 408之AI計算。並且,加速器晶片404包括向量處理器412,該向量處理器412可經組態以使用第一及第二複數個記憶體胞元作為記憶體來執行用於SoC 406之向量及矩陣之數值運算。
又,在系統400中,記憶體晶片402中之第一複數個記憶體胞元可經組態以儲存且提供經由接腳集合416自SoC 406接收到的AI計算輸入資料,以由加速器晶片404 (例如,AI加速器晶片)用作AI計算輸入。並且,記憶體晶片402中之第二複數個記憶體胞元可經組態以儲存且提供經由另一接腳集合414自加速器晶片404接收到的AI計算輸出資料,以由SoC 406擷取或由加速器晶片404重新用作AI計算輸入。並且,記憶體晶片402中之第三複數個記憶體胞元可經組態以儲存經由接腳集合416自SoC 406接收到的與非AI任務有關之非AI資料,以由SoC 406擷取以用於非AI任務。
記憶體晶片402中之第一、第二及第三複數個記憶體胞元各自可包括DRAM胞元及/或NVRAM胞元,且NVRAM胞元可包括3D XPoint記憶體胞元。
圖5至圖7分別說明實例系統500、600及700,每一系統包括圖4中描繪之記憶體晶片402以及分離的記憶體。
在圖5中,匯流排202連接系統400 (包括記憶體晶片402及加速器晶片404)與記憶體204。記憶體204 (例如,NVRAM)為與系統400之第一記憶體晶片402之記憶體分離的記憶體。並且,記憶體204可為主記憶體。
在系統500中,系統400之SoC 406經由匯流排202與記憶體204連接。並且,作為系統500之部分的系統400包括第一記憶體晶片402、加速器晶片404及SoC 406。系統400之此等部分經由匯流排202連接至記憶體204。又,圖5中所展示,包括於SoC 406中之記憶體控制器206控制系統400之SoC 406對記憶體204之資料存取。舉例而言,記憶體控制器206控制GPU 408及/或主處理器110對記憶體204之資料存取。在一些實施例中,記憶體控制器206可控制對系統500中之所有記憶體的資料存取(諸如,對第一記憶體晶片402及記憶體204之資料存取)。並且,記憶體控制器206可通信耦接至第一記憶體晶片402及/或記憶體204。
記憶體204為與系統400之第一記憶體晶片402所提供之記憶體分離的記憶體,且其可經由記憶體控制器206及匯流排202而用作用於SoC 406之GPU 408及主處理器110的記憶體。又,記憶體204可用作用於GPU 408及主處理器110之不由加速器晶片404執行之非特殊應用任務或特殊應用任務(諸如非AI任務或AI任務)的記憶體。此類任務之資料可經由記憶體控制器206及匯流排202自記憶體204存取及傳達至記憶體204。
在一些實施例中,記憶體204為裝置之主記憶體,該裝置諸如代管系統500之裝置。舉例而言,在系統500的情況下,記憶體204可為圖8中所展示之主記憶體808。
在圖6中,類似於在圖5中,匯流排202連接系統400 (包括記憶體晶片402及加速器晶片404)與記憶體204。系統600相對於系統500及700而言獨特的係,第一記憶體晶片402包括分別經由佈線614及616將第一記憶體晶片402直接連接至加速器晶片404及SoC 406兩者的單一接腳集合602。如所展示,在系統600中,加速器晶片404包括經由佈線614將加速器晶片404直接連接至第一記憶體晶片402的單一接腳集合604。此外,在系統600中,SoC之GPU包括經由佈線606將SoC 406直接連接至第一記憶體晶片402的接腳集合606。
在系統600中,系統400之SoC 406經由匯流排202與記憶體204連接。並且,作為系統600之部分的系統400包括第一記憶體晶片402、加速器晶片404及SoC 406。系統400之此等部分經由匯流排202連接至記憶體204 (例如,加速器晶片404及第一記憶體晶片402經由SoC 406及匯流排202間接連接至記憶體204,且SoC 406經由匯流排202直接連接至記憶體204)。又,圖6中所展示,包括於SoC 406中之記憶體控制器206控制系統400之SoC 406對記憶體204之資料存取。舉例而言,記憶體控制器206控制GPU 408及/或主處理器110對記憶體204之資料存取。在一些實施例中,記憶體控制器206可控制對系統600中之所有記憶體的資料存取(諸如,對第一記憶體晶片402及記憶體204之資料存取)。並且,記憶體控制器206可通信耦接至第一記憶體晶片402及/或記憶體204。
記憶體204為與系統400之第一記憶體晶片402所提供之記憶體分離的記憶體(例如,NVRAM),且其可經由記憶體控制器206及匯流排202而用作用於SoC 406之GPU 408及主處理器110的記憶體。又,記憶體204可用作用於GPU 408及主處理器110之不由加速器晶片404執行之非特殊應用任務或特殊應用任務(諸如非AI任務或AI任務)的記憶體。此類任務之資料可經由記憶體控制器206及匯流排202自記憶體204存取及傳達至記憶體204。
在一些實施例中,記憶體204為裝置之主記憶體,該裝置諸如代管系統600之裝置。舉例而言,在系統600的情況下,記憶體204可為圖8中所展示之主記憶體808。
在圖7中,匯流排202連接系統400 (包括記憶體晶片402及加速器晶片404)與記憶體204。又,在系統700中,匯流排202將第一記憶體晶片402連接至SoC 406以及將第一記憶體晶片402連接至記憶體204。亦展示,在系統700中,匯流排202代替了第一記憶體晶片402之第二接腳集合416以及SoC 406及GPU 408之佈線426及接腳集合417。類似於系統500及600,系統700中之第一記憶體晶片402連接系統400之加速器晶片404與SoC 406;然而,該連接係經由第一接腳集合414及匯流排202。
又,類似於系統500及600,在系統700中,記憶體204為與系統400之第一記憶體晶片402之記憶體分離的記憶體。在系統700中,系統400之SoC 406經由匯流排202與記憶體204連接。並且,在系統700中,作為系統700之部分的系統400包括第一記憶體晶片402、加速器晶片404及SoC 406。系統400之此等部分經由系統700中之匯流排202連接至記憶體204。又,類似地,如圖7中所展示,包括於SoC 406中之記憶體控制器206控制系統400之SoC 406對記憶體204之資料存取。在一些實施例中,記憶體控制器206可控制對系統700中之所有記憶體的資料存取(諸如,對第一記憶體晶片402及記憶體204之資料存取)。並且,記憶體控制器206可通信耦接至第一記憶體晶片402及/或記憶體204。
又,在系統700中,記憶體204為與系統400之第一記憶體晶片402所提供之記憶體分離的記憶體(例如,NVRAM),且其可經由記憶體控制器206及匯流排202而用作用於SoC 406之GPU 408及主處理器110的記憶體。此外,在一些實施例及情形中,加速器晶片404可經由第一記憶體晶片402及匯流排202來使用記憶體204。在此等實例中,第一記憶體晶片402可包括用於加速器晶片404及記憶體204之快取記憶體。並且,記憶體204可用作用於GPU 408及主處理器110之不由加速器晶片404執行之非特殊應用任務或特殊應用任務(諸如非AI任務或AI任務)的記憶體。此類任務之資料可經由記憶體控制器206及/或匯流排202自記憶體204存取及傳達至記憶體204。
在一些實施例中,記憶體204為裝置之主記憶體,該裝置諸如代管系統700之裝置。舉例而言,在系統700的情況下,記憶體204可為圖9中所展示之主記憶體808。
本文所揭示之加速器晶片之實施例(例如,參見圖1至圖3及圖4至圖7中分別所展示之加速器晶片102及加速器晶片404)可為微處理器晶片或SoC或其類似者。加速器晶片之實施例可經設計以用於AI應用之硬體加速,該等AI應用包括人工神經網路、機器視覺及機器學習。在一些實施例中,加速器晶片(例如,AI加速器晶片)可經組態以執行向量及矩陣之數值運算。在此等實施例中,加速器晶片可包括用以執行向量及矩陣之數值運算的向量處理器(例如,參見圖1至圖3及圖4至圖7中分別所展示之向量處理器112及412,其可經組態以執行向量及矩陣之數值運算)。
本文所揭示之加速器晶片之實施例可為或包括ASIC或FPGA。在加速器晶片之ASIC實施例的情況下,加速器晶片經特定硬連線以用於特殊應用計算(諸如AI計算)之加速。在一些其他實施例中,加速器晶片可為超越未經修改FPGA或GPU的經修改以用於特殊應用計算(諸如AI計算)之加速的經修改FPGA或GPU。在一些其他實施例中,加速器晶片可為未經修改FPGA或GPU。
本文所描述之ASIC可包括經定製以用於特定用途或應用,諸如用於特殊應用計算(諸如AI計算)之加速的IC。此不同於通常由CPU或另一類型之通用處理器(諸如通常用於處理圖形之GPU)實施的通用用途。
本文所描述之FPGA可包括於在製造IC及FPGA之後經設計及/或組態的IC中;因此,IC及FPGA為場可程式化的。FPGA組態可使用硬體描述語言(HDL)來加以指定。類似地,ASIC組態可使用HDL加以指定。
本文所描述之GPU可包括經組態以快速操縱及改變記憶體以使圖框緩衝器中之影像之產生及更新加速以輸出至顯示裝置的IC。並且,本文所描述之系統可包括連接至GPU之顯示裝置及連接至顯示裝置及GPU之圖框緩衝器。本文所描述之GPU可為嵌入式系統、行動裝置、個人電腦、工作站或遊戲控制台或連接至顯示裝置並使用顯示裝置的任何裝置的部分。
本文所描述之微處理器晶片之實施例各自為至少併有中央處理單元之功能性的一或多個積體電路。每一微處理器晶片可為多用途的,且至少包括時鐘及暫存器,其藉由接受二進位資料作為輸入且根據儲存於連接至微處理器晶片之記憶體中的指令使用暫存器及時鐘來處理該資料而實施晶片。在處理資料之後,微處理器晶片可提供輸入及指令之結果作為輸出。並且,該輸出可提供至連接至微處理器晶片之記憶體。
本文所描述之SoC之實施例各自為整合電腦或其他電子系統之組件的一或多個積體電路。在一些實施例中,SoC為單一IC。在其他實施例中,SoC可包括分離且經連接的積體電路。在一些實施例中,SoC可包括其自身的CPU、記憶體、輸入/輸出埠、輔助儲存裝置或其任何組合。此一或多個部分可在本文所描述之SoC中之單一基板或微處理器晶片上。在一些實施例中,SoC小於25美分硬幣、5美分硬幣或10美分硬幣。SoC之一些實施例可為行動裝置(諸如智慧型電話或平板電腦)、嵌入式系統或物聯網中之裝置之部分。一般而言,SoC不同於具有基於母板之架構的系統,該基於母板之架構基於功能分離組件且經由中央介接電路板連接該等組件。
為清楚起見,當描述整個系統之多個記憶體晶片時,本文所描述的直接連接至加速器晶片(例如,AI加速器晶片)的記憶體晶片之實施例,例如參見圖1至圖3中所展示之第一記憶體晶片104或圖4至圖7中展示之第一記憶體晶片402,在本文中亦被稱為特殊應用記憶體晶片。本文所描述之特殊應用記憶體晶片不一定經特定硬連線以用於特殊應用計算(諸如AI計算)。特殊應用記憶體晶片中之每一者可為DRAM晶片或NVRAM晶片,或與DRAM晶片或NVRAM晶片具有類似功能性的記憶體裝置。並且,特殊應用記憶體晶片中之每一者可直接連接至加速器晶片(例如,AI加速器晶片) (例如參見圖1至圖3中所展示之加速器晶片102及圖4至圖7中所展示之加速器晶片404),且可具有在特殊應用記憶體晶片藉由加速器晶片或分離的SoC或處理器(例如,參見圖1至圖3及圖4至圖7中分別所展示之SoC 106及406)組態之後藉由加速器晶片特定用於特殊應用計算(諸如AI計算)之加速的記憶體單元或胞元。
本文所描述之DRAM晶片可包括將資料之每一位元儲存在具有電容器及電晶體(諸如MOSFET)之記憶體胞元或單元中的隨機存取記憶體。本文所描述之DRAM晶片可採用IC晶片之形式,且包括數十億個DRAM記憶體單元或胞元。在每一單元或胞元中,電容器可充電或放電。此可提供用於表示位元之兩個值的兩個狀態。電容器上之電荷可自電容器緩慢洩漏,因此需要週期性地重寫電容器中之資料的外部記憶體再新電路來維持電容器及記憶體單元之狀態。DRAM亦為揮發性記憶體且不為非揮發性記憶體,諸如快閃記憶體或NVRAM,因為其在電力被移除時快速地失去其資料。DRAM晶片之益處為其可用於需要低成本及高容量電腦記憶體之數位電子裝置中。DRAM亦有益於用作主記憶體或特定用於GPU之記憶體。
本文所描述之NVRAM晶片可包括非揮發性的隨機存取記憶體,此係與DRAM之主要區別特徵。本文所描述之實施例中可使用的NVRAM單元或胞元之實例可包括3D XPoint單元或胞元。在3D XPoint單元或胞元中,位元儲存係基於與可堆疊交叉柵格資料存取陣列結合的體電阻之改變。
本文所描述之SoC之實施例可包括主處理器(諸如CPU或包括CPU之主處理器)。舉例而言,參見圖1至圖3中所描繪之SoC 106及圖4至圖7中所描繪之SoC 406以及圖1至圖7中所展示之主處理器110。在此等實施例中,SoC中之GPU (例如,參見圖1至圖3中所展示之GPU 108及圖4至圖7中所展示之GPU 408)可運行用於特殊應用任務及計算(諸如AI任務及計算)之指令,且主處理器可運行用於非特殊應用任務及計算(諸如非AI任務及計算)之指令。並且,在此等實施例中,連接至SoC之加速器晶片(例如,參見圖1至圖7中所展示之加速器晶片中之任一者)可提供特定用於GPU之特殊應用任務及計算(諸如AI任務及計算)之加速。本文所描述之SoC之實施例中之每一者可包括其自身的用於將SoC之組件彼此連接(諸如連接主處理器與GPU)的匯流排。又,SoC之匯流排可經組態以將SoC連接至SoC外部的匯流排,使得SoC之組件可與SoC外部的晶片及裝置耦接,該等晶片及裝置諸如分離的記憶體或記憶體晶片(例如,參見圖2至圖3及圖5至圖7中所描繪之記憶體204以及圖8至圖9中所描繪之主記憶體808)。
GPU之非特殊應用計算及任務(例如,非AI計算及任務)或不使用加速器晶片之特殊應用計算及任務(例如,AI計算及任務) (其可並非由主處理器執行之習知任務)可使用分離的記憶體,諸如分離的記憶體晶片(其可為特殊應用記憶體),且該記憶體可由DRAM、NVRAM、快閃記憶體或其任何組合實施。舉例而言,參見圖2至圖3及圖5至圖7中所描繪之記憶體204以及圖8至圖9中所描繪之主記憶體808。分離的記憶體或記憶體晶片可經由SoC外部的匯流排連接至SoC及主處理器(例如,CPU) (例如,參見圖2至圖3及圖5至圖7中所描繪之記憶體204以及圖8至圖9中所描繪之主記憶體808;且參見圖2至圖3及圖5至圖7中所描繪之匯流排202以及圖8至圖9中所描繪之匯流排804)。在此等實施例中,分離的記憶體或記憶體晶片可具有特定用於主處理器之記憶體單元。又,分離的記憶體或記憶體晶片可經由SoC外部的匯流排連接至SoC及GPU。在此等實施例中,分離的記憶體或記憶體晶片可具有用於主處理器或GPU之記憶體單元或胞元。
應理解,為了本發明之目的,本文所描述之特殊應用記憶體或記憶體晶片(例如,參見圖1至圖3中所展示之第一記憶體晶片104或圖4至圖7中所展示之第一記憶體晶片402)及本文所描述之分離的記憶體或記憶體晶片(例如,參見圖2至圖3及圖5至圖7中所描繪之記憶體204以及圖8至圖9中所描繪之主記憶體808)可各自由記憶體晶片組,諸如記憶體晶片串(例如,參見圖10及圖11中所展示之記憶體晶片串)替代。舉例而言,分離的記憶體或記憶體晶片可由至少包括NVRAM晶片及該NVRAM晶片下游之快閃記憶體晶片的記憶體晶片串替代。又,分離的記憶體晶片可由至少兩個記憶體晶片替代,其中晶片中之一者用於主處理器(例如,CPU),且另一晶片用於GPU以用作用於非AI計算及/或任務之記憶體。
本文所描述之記憶體晶片之實施例可為主記憶體之部分,及/或可為儲存在電腦中立即使用或由本文所描述之處理器中之任一者(例如,本文所描述之任一SoC或加速器晶片)立即使用的資訊的電腦硬體。本文所描述之記憶體晶片可以比電腦儲存裝置更高的速度操作。電腦儲存裝置提供用於存取資訊之較慢速度,但亦可提供較高容量及更佳資料可靠性。本文所描述之記憶體晶片可包括RAM,其為可具有高操作速度的一類記憶體。記憶體可由可定址的半導體記憶體單元或胞元構成,且其單元或胞元可至少部分地由MOSFET實施。
另外,本文所揭示之至少一些實施例係關於具有向量處理器(例如,參見圖1至圖3及圖4至圖7中分別所展示之向量處理器112及412)之加速器晶片(例如,AI加速器晶片)。並且,本文所揭示之至少一些實施例係關於使用記憶體階層及記憶體晶片串來形成記憶體(例如,參見圖10及圖11)。
本文所描述之向量處理器之實施例各自為可實施指令集之IC,該指令集含有對被稱為向量之一維資料陣列或被稱為矩陣之多維資料陣列進行操作的指令。向量處理器不同於純量處理器,該等純量處理器之指令對單一資料項進行操作。在一些實施例中,向量處理器可不僅僅用管線輸送指令且用管線輸送資料本身。用管線輸送可包括其中指令(或在向量處理器的情況下資料本身)依次傳遞通過多個子單元的處理程式。在一些實施例中,向向量處理器饋入指示同時對數值之向量或矩陣進行算術操作的指令。代替連續地解碼指令且接著提取所需資料來完成指令,向量處理器讀取來自記憶體之單一指令,且在指令本身之定義中簡單地暗示該指令將再次對比上一位址大一個增量的位址處的另一資料項進行操作。此情形允許顯著節省解碼時間。
圖8說明根據本發明之一些實施例的實例計算裝置800之實例部分配置。計算裝置800之實例部分配置可包括圖1中所展示之系統100、圖2中所展示之系統200、圖4中所展示之系統400、圖5中所展示之系統500及圖6中所展示之系統600。在計算裝置800中,可為AI組件的特殊應用組件(例如,參見圖8中之特殊應用組件807)可包括如圖1、圖2、圖4、圖5及圖6中分別所配置及展示之第一記憶體晶片104或402及加速器晶片102或404以及如圖1、圖2、圖4、圖5及圖6中分別所組態及展示之SoC 106或406。在計算裝置800中,佈線將特殊應用組件之組件直接彼此連接(例如,參見圖1至圖2及圖4至圖6中分別所展示之佈線124及424以及佈線614)。並且,在計算裝置800中,佈線將特殊應用組件直接連接至SoC (例如,參見將特殊應用組件直接連接至SoC 806的佈線817)。將特殊應用組件直接連接至SoC的佈線可包括如圖1及圖2中所展示之佈線126或如圖4及圖5中所展示之佈線426。又,將特殊應用組件直接連接至SoC的佈線可包括如圖6中所展示之佈線616。
計算裝置800可經由如圖8中所展示之電腦網路802通信耦接至其他計算裝置。計算裝置800至少包括匯流排804 (其可為一或多個匯流排,諸如記憶體匯流排與周邊裝置匯流排之組合)、SoC 806 (其可為或包括SoC 106或406)、特殊應用組件807 (其可為加速器晶片102及第一記憶體晶片104或第一記憶體晶片402及加速器晶片404)及主記憶體808 (其可為或包括記憶體204)以及網路介面810及資料儲存系統812。匯流排804通信耦接SoC 806、主記憶體808、網路介面810及資料儲存系統812。並且,匯流排804可包括匯流排202及/或點對點記憶體連接,諸如佈線126、426或616。計算裝置800包括電腦系統,該電腦系統至少包括經由匯流排804 (其可包括一或多個匯流排及佈線)彼此通信的SoC 806中之一或多個處理器、主記憶體808 (例如,唯讀記憶體(ROM)、快閃記憶體、諸如同步DRAM (SDRAM)或Rambus DRAM (RDRAM)之DRAM、NVRAM、SRAM等)及資料儲存系統812。
主記憶體808 (其可為記憶體204、包括記憶體204或包括於記憶體204中)可包括圖10中描繪之記憶體串1000。又,主記憶體808可包括圖11中描繪之記憶體串1100。在一些實施例中,資料儲存系統812可包括記憶體串1000或記憶體串1100。
SoC 806可包括一或多個通用處理裝置,諸如微處理器、CPU或其類似者。又,SoC 806可包括一或多個專用處理裝置,諸如GPU、ASIC、FPGA、數位信號處理器(DSP)、網路處理器、記憶體中處理器(PIM)或其類似者。SoC 806可包括一或多個處理器,其具有複雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令字(VLIW)微處理器,或實施其他指令集之處理器,或實施指令集之組合的處理器。SoC 806之處理器可經組態以執行用於執行本文中所論述之操作及步驟的指令。SoC 806可進一步包括諸如網路介面810之網路介面裝置以經由諸如網路802之一或多個通信網路通信。
資料儲存系統812可包括機器可讀儲存媒體(亦被稱為電腦可讀媒體),其上儲存有體現本文中所描述之方法或功能中之任何一或多者的一或多個指令集或軟體。指令在其藉由電腦系統執行期間亦可完全或至少部分地駐存在主記憶體808內及/或SoC 806之處理器中之一或多者內,主記憶體808及SoC 806之一或多個處理器亦構成機器可讀儲存媒體。
雖然記憶體、處理器及資料儲存部分在實例實施例中展示成各自為單個部分,但每一部分應被視為包括可儲存指令且執行其各別操作之單個部分或多個部分。術語「機器可讀儲存媒體」亦應被視為包括能夠儲存或編碼指令集以供機器執行且使機器執行本發明之方法中之任何一或多者的任何媒體。術語「機器可讀儲存媒體」將相應地被視為包括但不限於固態記憶體、光學媒體及磁性媒體。
圖9說明根據本發明之一些實施例的實例計算裝置900之另一實例部分配置。計算裝置900之實例部分配置可包括圖3中所展示之系統300以及圖7中所展示之系統700。在計算裝置900中,可為AI組件的特殊應用組件(例如,參見圖9中之特殊應用組件807)可包括如圖3及圖7中分別所配置及展示之第一記憶體晶片104或402及加速器晶片102或404以及如圖3及圖7中分別所組態及展示之SoC 106或406。在計算裝置900中,佈線將特殊應用組件之組件直接彼此連接(例如,參見圖3及圖7中分別所展示之佈線124及424)。然而,在計算裝置900中,佈線不將特殊應用組件直接連接至SoC。替代地,在計算裝置900中,一或多個匯流排將特殊應用組件連接至SoC (例如,參見如圖9中所組態及展示之匯流排804以及如圖3及圖7中所組態及展示之匯流排202)。
如圖8及圖9所展示,裝置800及900具有多個類似組件。計算裝置900可經由如圖9中所展示之電腦網路802通信耦接至其他計算裝置。類似地,如圖9中所展示,計算裝置900至少包括匯流排804 (其可為一或多個匯流排,諸如記憶體匯流排與周邊裝置匯流排之組合)、SoC 806 (其可為或包括SoC 106或406)、特殊應用組件807 (其可為加速器晶片102及第一記憶體晶片104或第一記憶體晶片402及加速器晶片404)及主記憶體808 (其可為或包括記憶體204)以及網路介面810及資料儲存系統812。類似地,匯流排804通信耦接SoC 806、主記憶體808、網路介面810及資料儲存系統812。並且,匯流排804可包括匯流排202及/或點對點記憶體連接,諸如佈線126、426或616。
如所提及,本文所揭示之至少一些實施例係關於使用記憶體階層及記憶體晶片串來形成記憶體。
圖10及圖11分別說明實例記憶體晶片串1000及1100,其可用於圖2至圖3及圖5至圖7中所描繪之分離的記憶體(亦即,記憶體204)中。
在圖10中,記憶體晶片串1000包括第一記憶體晶片1002及第二記憶體晶片1004。第一記憶體晶片1002直接連線至第二記憶體晶片1004 (例如,參見佈線1022)且經組態以與第二記憶體晶片直接互動。記憶體晶片串1000中之每一晶片可包括用於連接至該串中之上游晶片及/或下游晶片的一或多個接腳集合(例如,參見接腳集合1012及1014)。在一些實施例中,記憶體晶片串1000中之每一晶片可包括密封於IC封裝內之單個IC。
如圖10中所展示,接腳集合1012為第一記憶體晶片1002之部分,且經由佈線1022及接腳集合1014將第一記憶體晶片1002連接至第二記憶體晶片1004,該接腳集合1014為第二記憶體晶片1004之部分。佈線1022連接兩個接腳集合1012及1014。
在一些實施例中,第二記憶體晶片1004可具有串1000中之晶片之最低記憶體頻寬。在此等及其他實施例中,第一記憶體晶片1002可具有串1000中之晶片之最高記憶體頻寬。在一些實施例中,第一記憶體晶片1002為或包括DRAM晶片。在一些實施例中,第一記憶體晶片1002為或包括NVRAM晶片。在一些實施例中,第二記憶體晶片1004為或包括DRAM晶片。在一些實施例中,第二記憶體晶片1004為或包括NVRAM晶片。並且,在一些實施例中,第二記憶體晶片1004為或包括快閃記憶體晶片。
在圖11中,記憶體晶片串1100包括第一記憶體晶片1102、第二記憶體晶片1104及第三記憶體晶片1106。第一記憶體晶片1102直接連線至第二記憶體晶片1104 (例如,參見佈線1122)且經組態以與第二記憶體晶片直接互動。第二記憶體晶片1104直接連線至第三記憶體晶片1106 (例如,參見佈線1124)且經組態以與第三記憶體晶片直接互動。以此方式,第一記憶體晶片1102及第三記憶體晶片1106經由第二記憶體晶片1104而間接地彼此互動。
記憶體晶片串1100中之每一晶片可包括用於連接至該串中之上游晶片及/或下游晶片的一或多個接腳集合(例如,參見接腳集合1112、1114、1116及1118)。在一些實施例中,記憶體晶片串1100中之每一晶片可包括密封於IC封裝內之單個IC。
如圖11中所展示,接腳集合1112為第一記憶體晶片1102之部分,且經由佈線1122及接腳集合1114將第一記憶體晶片1102連接至第二記憶體晶片1104,該接腳集合1114為第二記憶體晶片1104之部分。佈線1122連接兩個接腳集合1112及1114。又,接腳集合1116為第二記憶體晶片1104之部分,且經由佈線1124及接腳集合1118將第二記憶體晶片1104連接至第三記憶體晶片1106,該接腳集合1118為第三記憶體晶片1106之部分。佈線1124連接兩個接腳集合1116及1118。
在一些實施例中,第三記憶體晶片1106可具有串1100中之晶片之最低記憶體頻寬。在此等及其他實施例中,第一記憶體晶片1102可具有串1100中之晶片之最高記憶體頻寬。又,在此等及其他實施例中,第二記憶體晶片1104可具有串1100中之晶片之第二高記憶體頻寬。在一些實施例中,第一記憶體晶片1102為或包括DRAM晶片。在一些實施例中,第一記憶體晶片1102為或包括NVRAM晶片。在一些實施例中,第二記憶體晶片1104為或包括DRAM晶片。在一些實施例中,第二記憶體晶片1104為或包括NVRAM晶片。在一些實施例中,第二記憶體晶片1104為或包括快閃記憶體晶片。在一些實施例中,第三記憶體晶片1106為或包括NVRAM晶片。並且,在一些實施例中,第三記憶體晶片1106為或包括快閃記憶體晶片。
在具有一或多個DRAM晶片之實施例中,DRAM晶片可包括用於命令及位址解碼之邏輯電路以及DRAM之記憶體單元的陣列。又,本文中所描述之DRAM晶片可包括用於傳入及/或傳出資料的快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的DRAM單元。舉例而言,在DRAM晶片上實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
在具有一或多個NVRAM晶片之實施例中,NVRAM晶片可包括用於命令及位址解碼之邏輯電路以及NVRAM之記憶體單元(諸如,3D XPoint記憶體之單元)的陣列。又,本文中所描述之NVRAM晶片可包括用於傳入及/或傳出資料的快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的NVRAM單元。舉例而言,在NVRAM晶片上實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
在一些實施例中,NVRAM晶片可包括非揮發性記憶體胞元之交叉點陣列。非揮發性記憶體之交叉點陣列可結合可堆疊交叉柵格資料存取陣列而基於體電阻之改變來執行位元儲存。另外,與許多基於快閃記憶體之記憶體相比,交叉點非揮發性記憶體可執行原地寫入操作,其中可在先前未抹除非揮發性記憶體胞元之情況下程式化該非揮發性記憶體胞元。
如本文中所提及,NVRAM晶片可為或包括交叉點儲存裝置及記憶體裝置(例如,3D XPoint記憶體)。交叉點記憶體裝置使用無電晶體記憶體元件,該等無電晶體記憶體元件中之每一者具有堆疊在一起作為行的記憶體胞元及選擇器。記憶體元件行經由兩個垂直導線分層連接,其中一個分層在記憶體元件行上方且另一分層在記憶體元件行下方。可在兩個層中之每一者上的一條導線之交叉點處獨立地選擇每一記憶體元件。交叉點記憶體裝置為較快且非揮發性的,並且可用作用於處理及儲存之統一記憶體池。
在具有一或多個快閃記憶體晶片之實施例中,快閃記憶體晶片可包括用於命令及位址解碼之邏輯電路以及快閃記憶體之記憶體單元(諸如,NAND型快閃記憶體之單元)的陣列。又,本文中所描述之快閃記憶體晶片可包括用於傳入及/或傳出資料的快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的快閃記憶體單元。舉例而言,在快閃記憶體晶片上實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
又,舉例而言,記憶體晶片串之實施例可包括DRAM至DRAM至NVRAM、或DRAM至NVRAM至NVRAM、或DRAM至快閃記憶體至快閃記憶體;然而,DRAM至NVRAM至快閃記憶體可提供將記憶體晶片串靈活設置為多層記憶體的更有效解決方案。
又,為了本發明之目的,應理解,DRAM、NVRAM、3D XPoint記憶體及快閃記憶體為用於個別記憶體單元之技術,且用於本文所描述之記憶體晶片中之任一者的記憶體晶片可包括用於命令及位址解碼之邏輯電路以及DRAM、NVRAM、3D XPoint記憶體或快閃記憶體之記憶體單元的陣列。舉例而言,本文中所描述之DRAM晶片包括用於命令及位址解碼之邏輯電路以及DRAM之記憶體單元的陣列。舉例而言,本文中所描述之NVRAM晶片包括用於命令及位址解碼之邏輯電路以及NVRAM之記憶體單元的陣列。舉例而言,本文中所描述之快閃記憶體晶片包括用於命令及位址解碼之邏輯電路以及快閃記憶體之記憶體單元的陣列。
又,用於本文中所描述之記憶體晶片中之任一者的記憶體晶片可包括用於傳入及/或傳出資料的快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的單元。舉例而言,實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
在前述說明書中,本發明之實施例已參考其特定實例實施例加以描述。將顯而易見的係,可在不脫離如以下申請專利範圍中所闡述的本發明之實施例的更廣泛精神及範疇的情況下對其進行各種修改。因此,應在說明性意義上而非限制性意義上看待說明書及圖式。
100:系統 102:加速器晶片 104:第一記憶體晶片 106:單晶片系統 108:圖形處理單元 110:主處理器 112:向量處理器 114:接腳集合 115:接腳集合 116:接腳集合 117:接腳集合 124:佈線 126:佈線 200:系統 202:匯流排 204:第二記憶體晶片 206:記憶體控制器 300:系統 400:系統 402:第一記憶體晶片 404:加速器晶片 406:單晶片系統 408:圖形處理單元 412:向量處理器 414:接腳集合 415:接腳集合 416:接腳集合 417:接腳集合 424:佈線 426:佈線 500:系統 600:系統 602:接腳集合 604:接腳集合 606:接腳集合 614:佈線 616:佈線 700:系統 800:計算裝置 802:電腦網路 804:匯流排 806:單晶片系統 807:特殊應用組件 808:主記憶體 810:網路介面 812:資料儲存系統 817:佈線 900:計算裝置 1000:記憶體晶片串 1002:第一記憶體晶片 1004:第二記憶體晶片 1012:接腳集合 1014:接腳集合 1022:佈線 1100:記憶體晶片串 1102:第一記憶體晶片 1104:第二記憶體晶片 1106:第三記憶體晶片 1112:接腳集合 1114:接腳集合 1116:接腳集合 1118:接腳集合 1122:佈線 1124:佈線
本發明將自下方給出之實施方式及本發明之各種實施例的隨附圖式而得到更充分地理解。
圖1說明包括連接SoC與記憶體晶片之加速器晶片(例如,AI加速器晶片)的實例相關系統。
圖2至圖3說明包括圖1中所描繪之加速器晶片以及分離的記憶體的實例相關系統。
圖4說明根據本發明之一些實施例的實例系統,其包括連接SoC與加速器晶片(例如,AI加速器晶片)之記憶體晶片。
圖5至圖7說明包括圖4中所描繪之記憶體晶片以及分離的記憶體的實例系統。
圖8說明根據本發明之一些實施例的實例計算裝置之實例部分配置。
圖9說明根據本發明之一些實施例的實例計算裝置之另一實例部分配置。
圖10及圖11說明可用於圖2至圖3及圖5至圖7中所描繪之分離的記憶體中的實例記憶體晶片串。
110:主處理器
400:系統
402:第一記憶體晶片
404:加速器晶片
406:單晶片系統
408:圖形處理單元
412:向量處理器
414:接腳集合
415:接腳集合
416:接腳集合
417:接腳集合
424:佈線
426:佈線

Claims (20)

  1. 一種系統,其包含: 一加速器晶片;以及 一記憶體晶片,其包含: 一接腳集合,其經組態以經由佈線連接至一單晶片系統(SoC);以及 一第一複數個記憶體胞元,其經組態以儲存且提供經由該接腳集合自該SoC接收到的計算輸入資料,以由該加速器晶片用作計算輸入。
  2. 如請求項1之系統,其中該加速器晶片為一人工智慧(AI)加速器晶片,且其中該第一複數個記憶體胞元經組態以儲存且提供經由該接腳集合自該SoC接收到的AI計算輸入資料,以由該AI加速器晶片用作AI計算輸入。
  3. 如請求項1之系統,其中該記憶體晶片包含: 另一接腳集合,其經組態以經由佈線連接至該加速器晶片;以及 一第二複數個記憶體胞元,其經組態以儲存且提供經由該另一接腳集合自該加速器晶片接收到的第一計算輸出資料,以由該SoC擷取或由該加速器晶片重新用作計算輸入。
  4. 如請求項3之系統,其中該記憶體晶片包含一第三複數個記憶體胞元,該第三複數個記憶體胞元經組態以儲存經由該接腳集合自該SoC接收到的第二計算輸出資料,以由該SoC擷取。
  5. 如請求項4之系統,其中該第一、第二及第三複數個記憶體胞元包含動態隨機存取記憶體(DRAM)胞元。
  6. 如請求項4之系統,其中該第一、第二及第三複數個記憶體胞元包含非揮發性隨機存取記憶體(NVRAM)胞元。
  7. 如請求項6之系統,其中該等NVRAM胞元包含3D XPoint記憶體胞元。
  8. 如請求項3之系統,其中該加速器晶片包含一向量處理器,該向量處理器經組態以使用該第一及第二複數個記憶體胞元作為記憶體來執行用於該SoC之向量及矩陣之數值計算。
  9. 如請求項8之系統,其中該加速器晶片包含一特殊應用積體電路(ASIC),該特殊應用積體電路包含該向量處理器且經特定硬連線以經由該向量處理器使AI計算加速。
  10. 如請求項8之系統,其中該加速器晶片包含場可程式化閘陣列(FPGA),該等場可程式化閘陣列包含該向量處理器且經特定硬連線以經由該向量處理器使AI計算加速。
  11. 一種系統,其包含: 一加速器晶片; 一單晶片系統(SoC);以及 一記憶體晶片,其包含: 一接腳集合,其經組態以經由佈線連接至該SoC;以及 一第一複數個記憶體胞元,其經組態以儲存且提供經由該接腳集合自該SoC接收到的計算輸入資料,以由該加速器晶片用作計算輸入。
  12. 如請求項11之系統,其中該記憶體晶片包含: 另一接腳集合,其經組態以經由佈線連接至該加速器晶片;以及 一第二複數個記憶體胞元,其經組態以儲存且提供經由該另一接腳集合自該加速器晶片接收到的第一計算輸出資料,以由該SoC擷取或由該加速器晶片重新用作第一計算輸入。
  13. 如請求項12之系統,其中該SoC包含一圖形處理單元(GPU),且其中該加速器晶片經組態以使用該第一及第二複數個記憶體胞元作為記憶體來執行並加速用於該GPU之計算。
  14. 如請求項13之系統,其中該加速器晶片包含一向量處理器,該向量處理器經組態以使用該第一及第二複數個記憶體胞元作為記憶體來執行用於該GPU之向量及矩陣之數值計算。
  15. 一種記憶體晶片,其包含: 一接腳集合,其經組態以經由佈線連接至一單晶片系統(SoC);以及 一第一複數個記憶體胞元,其經組態以儲存且提供經由該接腳集合自該SoC接收到的AI計算輸入資料,以由一人工智慧(AI)加速器晶片用作AI計算輸入。
  16. 如請求項15之記憶體晶片,其包含: 另一接腳集合,其經組態以經由佈線連接至該加速器晶片;以及 一第二複數個記憶體胞元,其經組態以儲存且提供經由該另一接腳集合自該AI加速器晶片接收到的AI計算輸出資料,以由該SoC擷取或由該AI加速器晶片重新用作計算輸入。
  17. 如請求項16之記憶體晶片,其包含一第三複數個記憶體胞元,該第三複數個記憶體胞元經組態以儲存經由該接腳集合自該SoC接收到的與非AI任務有關之非AI資料,以由該SoC擷取以用於非AI任務。
  18. 如請求項17之記憶體晶片,其中該第一、第二及第三複數個記憶體胞元包含動態隨機存取記憶體(DRAM)胞元。
  19. 如請求項17之記憶體晶片,其中該第一、第二及第三複數個記憶體胞元包含非揮發性隨機存取記憶體(NVRAM)胞元。
  20. 如請求項19之記憶體晶片,其中該等NVRAM胞元包含3D XPoint記憶體胞元。
TW109130611A 2019-09-17 2020-09-07 連接單晶片系統與加速器晶片之記憶體晶片 TW202117551A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/573,805 2019-09-17
US16/573,805 US11397694B2 (en) 2019-09-17 2019-09-17 Memory chip connecting a system on a chip and an accelerator chip

Publications (1)

Publication Number Publication Date
TW202117551A true TW202117551A (zh) 2021-05-01

Family

ID=74869510

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109130611A TW202117551A (zh) 2019-09-17 2020-09-07 連接單晶片系統與加速器晶片之記憶體晶片

Country Status (8)

Country Link
US (2) US11397694B2 (zh)
EP (1) EP4032032A4 (zh)
JP (1) JP2022548641A (zh)
KR (1) KR20220041226A (zh)
CN (1) CN114402308B (zh)
AU (1) AU2020349448A1 (zh)
TW (1) TW202117551A (zh)
WO (1) WO2021055280A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11789894B2 (en) 2022-01-27 2023-10-17 Wistron Corporation Acceleration system and dynamic configuration method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416422B2 (en) 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US20230051863A1 (en) * 2021-08-10 2023-02-16 Micron Technology, Inc. Memory device for wafer-on-wafer formed memory and logic

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6057091B2 (ja) * 1980-07-02 1985-12-13 パナフアコム株式会社 共通メモリの記憶保護方式
JPH01116861A (ja) * 1987-10-30 1989-05-09 Matsushita Graphic Commun Syst Inc データ転送システム
US20030112613A1 (en) 2002-10-22 2003-06-19 Hitachi, Ltd. IC card
JP2003006041A (ja) 2001-06-20 2003-01-10 Hitachi Ltd 半導体装置
US20030023958A1 (en) * 2001-07-17 2003-01-30 Patel Mukesh K. Intermediate language accelerator chip
US20030212845A1 (en) 2002-05-07 2003-11-13 Court John William Method for high-speed data transfer across LDT and PCI buses
US7739479B2 (en) 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US7895411B2 (en) 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US20050086040A1 (en) 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7185153B2 (en) 2003-12-18 2007-02-27 Intel Corporation Packet assembly
US7210008B2 (en) 2003-12-18 2007-04-24 Intel Corporation Memory controller for padding and stripping data in response to read and write commands
US7206915B2 (en) 2004-06-03 2007-04-17 Emc Corp Virtual space manager for computer having a physical address extension feature
US7406634B2 (en) 2004-12-02 2008-07-29 Cisco Technology, Inc. Method and apparatus for utilizing an exception handler to avoid hanging up a CPU when a peripheral device does not respond
JP2007011882A (ja) * 2005-07-01 2007-01-18 Teikoku Electric Mfg Co Ltd コントローラ
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US7600081B2 (en) * 2006-01-18 2009-10-06 Marvell World Trade Ltd. Processor architecture having multi-ported memory
JP5401444B2 (ja) 2007-03-30 2014-01-29 ラムバス・インコーポレーテッド 異なる種類の集積回路メモリ素子を有する階層メモリモジュールを含むシステム
US7627744B2 (en) 2007-05-10 2009-12-01 Nvidia Corporation External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level
US8077644B2 (en) 2007-07-20 2011-12-13 Infineon Technologies Ag Data transfer in a computing device
US20090063786A1 (en) 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
US7721010B2 (en) 2007-10-31 2010-05-18 Qimonda North America Corp. Method and apparatus for implementing memory enabled systems using master-slave architecture
US20100217977A1 (en) 2009-02-23 2010-08-26 William Preston Goodwill Systems and methods of security for an object based storage device
US8219746B2 (en) 2009-10-08 2012-07-10 International Business Machines Corporation Memory package utilizing at least two types of memories
US8463984B2 (en) 2009-12-31 2013-06-11 Seagate Technology Llc Dynamic data flow management in a multiple cache architecture
US8595429B2 (en) 2010-08-24 2013-11-26 Qualcomm Incorporated Wide input/output memory with low density, low latency and high density, high latency blocks
US8726107B2 (en) 2011-07-15 2014-05-13 Seagate Technology Llc Measurement of latency in data paths
WO2013048503A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
US9256915B2 (en) 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management
US9055069B2 (en) 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
US9304828B2 (en) 2012-09-27 2016-04-05 Hitachi, Ltd. Hierarchy memory management
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US9274951B2 (en) * 2013-05-31 2016-03-01 Altera Corporation Cache memory controller for accelerated data transfer
CN105814537B (zh) 2013-12-27 2019-07-09 英特尔公司 可扩展输入/输出系统和技术
WO2015101827A1 (en) 2013-12-31 2015-07-09 Mosys, Inc. Integrated main memory and coprocessor with low latency
US10445025B2 (en) 2014-03-18 2019-10-15 Micron Technology, Inc. Apparatuses and methods having memory tier structure and recursively searching between tiers for address in a translation table where information is only directly transferred between controllers
US10437479B2 (en) 2014-08-19 2019-10-08 Samsung Electronics Co., Ltd. Unified addressing and hierarchical heterogeneous storage and memory
KR102208072B1 (ko) 2014-09-01 2021-01-27 삼성전자주식회사 데이터 처리 시스템
US10212325B2 (en) * 2015-02-17 2019-02-19 Alpinereplay, Inc. Systems and methods to control camera operations
US20170017576A1 (en) 2015-07-16 2017-01-19 Qualcomm Incorporated Self-adaptive Cache Architecture Based on Run-time Hardware Counters and Offline Profiling of Applications
US10649672B1 (en) * 2016-03-31 2020-05-12 EMC IP Holding Company LLC Offloading device maintenance to an external processor in low-latency, non-volatile memory
US10237350B2 (en) * 2016-04-06 2019-03-19 Reniac, Inc. System and method for a database proxy
US10387303B2 (en) * 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
US10416896B2 (en) * 2016-10-14 2019-09-17 Samsung Electronics Co., Ltd. Memory module, memory device, and processing device having a processor mode, and memory system
JP6866605B2 (ja) * 2016-10-17 2021-04-28 富士電機株式会社 マルチプロセッサシステム
KR20180075913A (ko) 2016-12-27 2018-07-05 삼성전자주식회사 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치
US10261786B2 (en) 2017-03-09 2019-04-16 Google Llc Vector processing unit
KR102534917B1 (ko) 2017-08-16 2023-05-19 에스케이하이닉스 주식회사 신경망 처리 회로를 구비하는 메모리 장치 및 이를 포함하는 메모리 시스템
US10860924B2 (en) 2017-08-18 2020-12-08 Microsoft Technology Licensing, Llc Hardware node having a mixed-signal matrix vector unit
US10872290B2 (en) 2017-09-21 2020-12-22 Raytheon Company Neural network processor with direct memory access and hardware acceleration circuits
US11222256B2 (en) * 2017-10-17 2022-01-11 Xilinx, Inc. Neural network processing system having multiple processors and a neural network accelerator
KR102424962B1 (ko) 2017-11-15 2022-07-25 삼성전자주식회사 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈
US10860244B2 (en) 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
CN108228387B (zh) * 2017-12-27 2019-11-05 中兴通讯股份有限公司 一种启动控制方法、电子设备以及计算机可读存储介质
US11398453B2 (en) * 2018-01-09 2022-07-26 Samsung Electronics Co., Ltd. HBM silicon photonic TSV architecture for lookup computing AI accelerator
CN111656335B (zh) 2018-01-29 2023-11-17 美光科技公司 存储器控制器
KR20190106228A (ko) 2018-03-08 2019-09-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11562208B2 (en) 2018-05-17 2023-01-24 Qualcomm Incorporated Continuous relaxation of quantization for discretized deep neural networks
KR20200016116A (ko) * 2018-08-06 2020-02-14 삼성전자주식회사 메모리 장치 및 메모리 시스템
US11656775B2 (en) 2018-08-07 2023-05-23 Marvell Asia Pte, Ltd. Virtualizing isolation areas of solid-state storage media
US20190188386A1 (en) 2018-12-27 2019-06-20 Intel Corporation Protecting ai payloads running in gpu against main cpu residing adversaries
US10949356B2 (en) 2019-06-14 2021-03-16 Intel Corporation Fast page fault handling process implemented on persistent memory
US11416422B2 (en) 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US20210081353A1 (en) 2019-09-17 2021-03-18 Micron Technology, Inc. Accelerator chip connecting a system on a chip and a memory chip
US11163490B2 (en) 2019-09-17 2021-11-02 Micron Technology, Inc. Programmable engine for data movement
US20210081318A1 (en) 2019-09-17 2021-03-18 Micron Technology, Inc. Flexible provisioning of multi-tier memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11789894B2 (en) 2022-01-27 2023-10-17 Wistron Corporation Acceleration system and dynamic configuration method thereof
TWI819480B (zh) * 2022-01-27 2023-10-21 緯創資通股份有限公司 加速系統及其動態配置方法

Also Published As

Publication number Publication date
WO2021055280A1 (en) 2021-03-25
EP4032032A1 (en) 2022-07-27
CN114402308A (zh) 2022-04-26
US20210081337A1 (en) 2021-03-18
CN114402308B (zh) 2024-05-24
AU2020349448A1 (en) 2022-01-20
US11397694B2 (en) 2022-07-26
JP2022548641A (ja) 2022-11-21
KR20220041226A (ko) 2022-03-31
US20220300437A1 (en) 2022-09-22
EP4032032A4 (en) 2023-10-11

Similar Documents

Publication Publication Date Title
TW202115565A (zh) 連接單晶片系統與記憶體晶片之加速器晶片
US11915741B2 (en) Apparatuses and methods for logic/memory devices
US11468944B2 (en) Utilization of data stored in an edge section of an array
TW202117551A (zh) 連接單晶片系統與加速器晶片之記憶體晶片
US10452578B2 (en) Apparatus and methods for in data path compute operations
CN111433758A (zh) 可编程运算与控制芯片、设计方法及其装置
CN110176260A (zh) 支持跳跃计算模式的存储器器件及其操作方法
KR20220048020A (ko) 멀티-계층 메모리의 플랙서블 프로비저닝
CN114521250A (zh) 用于数据移动的可编程引擎
US20210117197A1 (en) Multi-buffered register files with shared access circuits
CN114402307A (zh) 具有集成数据移动器的存储器芯片
US11741043B2 (en) Multi-core processing and memory arrangement
TW202324147A (zh) 用以將操作的運算及資料儲存交疊之交錯式資料負載系統