TW201106165A - Direct communication with a processor internal to a memory device - Google Patents
Direct communication with a processor internal to a memory device Download PDFInfo
- Publication number
- TW201106165A TW201106165A TW099118237A TW99118237A TW201106165A TW 201106165 A TW201106165 A TW 201106165A TW 099118237 A TW099118237 A TW 099118237A TW 99118237 A TW99118237 A TW 99118237A TW 201106165 A TW201106165 A TW 201106165A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- instructions
- processor
- sequencer
- buffer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Advance Control (AREA)
Description
201106165 六、發明說明: 【發明所屬之技術領域】 本發明之實施例一般而言係關於系統,且更特定而言係 關於具有一記憶體裝置内部之一個或多個處理器之系統。 【先前技術】 此章節旨在向讀者介紹可能與本發明之各種態樣有關的 技術之各種態樣,下文闡述及/或主張該等態樣。據信此 論述將有助於向讀者提供背景資訊以促進對本發明之各種 態樣之一更好理解。因此,應理解,應就此閱讀此等陳 述,而非作為對先前技術之認可。 電子系統通常包含一個或多個處理器’該一個或多個處 理器可擷取並執行指令,且將所執行指令之結果儲存至一 適合的輸出或位置。一處理器一般包含算術邏輯單元 (ALU)電路,該算術邏輯單元(ALU)電路能夠對一個或多 個運算元執行指令,例如算術及邏輯運算。舉例而言, ALU電路可使運算元彼此相加、相減、相乘或相除,或者 可使一個或多個運算元經歷邏輯運算’例如AND、OR、 XOR及NO 丁邏輯函數。各種算術及邏輯運算可具有不同的 複雜程度。舉例而言,可藉由在一個循環中透過ALU電路 輸入運算元來執行某些運算,而其他運算可能需要多個時 鐘循環。 在將一指令集指引至ALU以供執行中可涉及電子系統中 之多個組件。舉例而言,該等指令及任何對應資料(例 如,將對其執行運算之運算元)可由電子系統中之一控制 148527.doc 201106165 器或某一其他適合的處理器產生。由於執行-指令集所需 =時鐘循環的時間或數目可端視運算類型而變化,因此該 等指令及/或資料可在由ALU執行之前寫入至一記憶體裝 ^例如’-記憶體❹卜可在ALU開始對料資料錢 2之前操取並且定序及/或緩衝該等指令及資料。為改 良處理效能,寫入、讀取、定序、緩衝及執行指令及/或 貪料之步驟可對不同指令或一指令之不同部分大致同時發 生。此並行處理可稱為「管線化」。 子ΓΓΓ之過程及管線化指令中所涉及之步驟可消耗電 子系統中之功率。舉例而言,將指令及資料寫入 體陣列,並接著為一處理器擷取該等指令以實施運算^ :將:Γ在某些記憶體系統中,可能需要-外部匯流排 =自-記憶體陣列之指令及資料輸入至一 ALU,並將 的結果輸出回至該記憶體陣列或其他適合的輸出。 4外部貪枓輸入/輸出可增加系統中之功率消耗。 上在:些記憶體系統中’―處理器可嵌入於—記憶體裝置 :可稱為-記憶體中處理器(PIM)。舉例而言,一個 或夕個⑽可嵌人於-記憶體裝置上, 部匯流排之情形下窝入$ _〜 仕U外 進行讀取在該記心=並自-記憶體陣列 限制一電子系統中之處傳送指令及資料仍可 【實施方式】 =邏輯單元(則)電路—般而言用於在多個階段中處 々。處理指令可包含執行指令並錯存所執行指令之結
Γ SJ 148527.doc 201106165 具體而言’指令及將對其執行該等指令之資科可由 —控制n發送至則,且可首切存於將在彻電路可用 等指令時擁取之—記憶體裝置中。—旦已執行了 以心令,則便將運算之結果寫人至—記憶體 入至任—其他適合的輪出。 馬 ^當前技術之-個或多個實施例t,—個或多個處理器 (例如—個或多個ALU)可與一記憶體裝置封裝在一起或嵌 =一記憶體裝置上。此等處理器在下文中稱為「内部處 :」。舉例而言’該記憶體裝置可係一記憶體中處理器 ’且可包含若干個嵌入式ALU及一記憶體陣列,該 5己憶體陣列可儲存將由該等ALU處理之指令及資料以及來 指令之結果。此外,該記憶體裝置可包含若干個 、且(例如一定序器及緩衝器)以在ALU執行運算之前 組態並保持該等指令及/或資料。如所論述, =自-記憶體組件至一 ALU之輸入以及結果自該A』 二己件之輸出期間可消耗功率。當該_在該記憶 、且夕時,可採用一外部輸入/輸出(1/0)。然而,一 外:I/O可消耗來自記憶體系統之—顯著量的功率。舉例 而。’二外部I/O之高功率消耗可係一電池運行行動電子 裝:或罪-電源運作之任一電子裝置中之缺點。 山月』技術之一個實施例涉及具有包含一個或多個ALU之 a式處理$ (例如-計算引擎)之-記憶體裝置。由於 引擎係“於該記憶體裝置上’因此可不需要外部 ;π排來在4 S十算引擎與記憶體陣列之間通信(例如,傳 148527.doc 201106165 輸)資訊。更I栌而丄此人 …η 指令及/或資料可在不在該記憶體 即’外部)路由之情形下自該記憶體陣列傳輸 體:=擎。類似地’已完成運算之結果亦可在該記憶 4置内自該計算料傳輸至該記憶 及嵌入於同一纪情舻驶¥ L 丨拏 钿… 隐體裝置上之-記憶體陣列可消除對該兩 =間的—外精之需要,且可減少該電子系統之 ,ί某些电子系統中’ 一外部處理器(例如-積體或離散 ^ )將貧科及私令寫入至該記憶體裝置上之 吕己憶體陣列,且—定床 入,- 疋序姦可存取該記憶體陣列以擷取指 y同時-缓衝器存取該記憶體陣列以在則可用於對資 :執„指令之前臨時儲存該資料 '然❼,將資訊⑽ 次 及/或資料)寫入至記憶體陣列及自記憶體陣列讀 &可’肖耗功率。舉例而言,當外部處理器將資訊寫入 至記憶體陣列時,且此外’當為ALU擷取資訊以實施該等 才曰令時可消耗功率。 、技術中之一種或多種技術揭示將指令及/或資料直 =發送至一疋序器及/或緩衝器之系統及方法。在某些實 知例中’該等指令及/或資料可透過一介面在外部處理器 (例如-記憶體控制n)與記憶體裝置之若干個特定組件之 間幻妾傳輸。如本文中所使用,「直接」傳輸資訊可涉及 將才曰7直接傳輸至定序器,而不首先將該等指令寫入至一 =憶體陣列,且將資料直接傳輸至緩衝器,而不首先將該 貝料寫入至該記憶體陣列。藉由將指令及/或資料直接通 148527.doc 201106165 口(彳如各送)至該定序器或該緩衝器,可消除將指令及/ ^資料寫入至該記憶體陣列及自該記憶體陣列擷取指令及/ 之額外步驟。由於每次寫入至或讀取記憶體陣列時 "耗力率目此此等技術可進—步減少處理器之功率消 可在本發明之通篇中使用上文所使用之數個術語 供此等術語之定義以促進對當前技術之 處 。 a,7〜 又对域鮮。一屬 里盗可係一計算引擎,且 0 3個或多個ALU。如本$ 使用,-計算引擎可係嵌入於一記憶 個ALU。嗜堃λγττ« . 不且工 < 後罢 ° 一圮憶體組件(例如一記憶體陣列 位於同—記憶體裝 裝置上》_ 冲异引擎可由不嵌入於該記憶憩 裒罝上之一處理器(例如,一 台匕夕. 月文徑制克或與貫施其他功 器可稱為—「外部處理。„控制-)來控制’且此處理 令」,此❹」。該外部處理器可發送「指 算」。兴如p 莩執仃之任務,此亦可稱為「運 牛,J而S ,指令可包含算術或邏輯運首, ALU可適於實施之任 、輯運#,或者一 前,沪八女* 八務。在已完全執行指令之 引私々有時可能需要多於—個"之 一個或多個ALU。「運曾_ 衣」或夕於—次通過 連鼻凡」可係指將對1勃耔·軍μ 一 埒,且端視指令,—個 异之貧 调建异凡可同脖 路令。另外,在某些^⑽輸人至仙電 過一 ALU輪入,且被帶籬 、t 循长中透 AL U並帶回至今士 於額外循環之一運算元。一「八 ALU中作為用 ALU之-記憶體系 ’虚面」可係指具有—嵌入式 外錢理器(例如—外部記憶體 I48527.doc 201106165 控制器)之間的一可操作耗合,例如一電連接。如將閣 釋,可透過不同類型的介面在該記憶體系統與該外部處理 器之間傳輸指令、資料或其他資訊。 現轉向圖,圖1繪示一般由參考編號10表示之一基於處 理器之系統。如下文所闡釋,系統10可包含根據當前技術 之實施例製造之各種電子裝置。系統10可係諸如一電腦、 呼叫器、蜂巢式電話、個人記事薄、控制電路等各種類型 中之任一者。在一典型的基於處理器之系統中,諸如一微 處理器之一個或多個處理器12控制對系統10中之系統功能 及請求之處理。如下文所闡釋,系統1〇之處理器12及其他 子組件可包含根據當前技術之一個或多個實施例製造之電 阻式記憶體裝置。
攜式系統,則電源14可有利地包含一燃料電池、一電力提
1 〇可插入至(例如)一車載點煙器中。
一者或兩者形成一使用者介面。 。輸入裝置16及/或顯示器18可每 t介面。顯示器18可(例如)包含一 148527.doc 201106165 LCD、一 SED顯示器、一 CRT顯示器、一DLP顯示器、一 電漿顯示器、一 OLED顯示器、LED及/或一音訊顯示器。 此外’一RF子系統/基頻處理器20亦可耦合至處理器12。 RF子系統/基頻處理器20可包含耦合至一RF接收器並輕合 至一 RF發射器之一天線(未顯示)。一個或多個通信埠亦 可耦合至處理器12。通信埠22可經調適以耦合至諸如一數 據機、一列印機、一電腦等一個或多個週邊裝置24,或耦 合至(例如)諸如一區域網路、遠端區域網路、内部網路或 網際網路等一網路。 處理器12—般藉由執行儲存於記憶體中指令來控制系統 1〇以實施軟體程式。舉例而言,該等軟體程式可包含一作 業系統、資料庫軟體、繪圖軟體、字處理軟體及/或視 訊、圖片或聲音編輯軟體。該記憶體係以可操作方式耦合 至處理器12以儲存並促進各種程式之執行。舉例而言,處 理器12可耦合至系統記憶體26,㈣統記憶體可包含動態 隨機存取記憶體(DRAM)及/或同步動態隨機存取記憶= (SDRAM)。系統記憶體26可包含揮發性記憶體、非揮發性 記憶體或其-組合。系統記憶體26通常較大,以便其可動 態地儲存用於應用程式及資料之所載入之指令。 處理器12亦可輕合至非揮發性記憶體28,此並不暗示系 統記憶體26必需為揮發性的。非揮發性記憶體奶包含諸 如- EPROM、電阻式唯讀記憶體(rr〇m)等唯讀記憶體 (ROM)及/或將與系統記憶體%結合使用之快閃記憶體。 ROM之大小通常經選擇以恰好足夠大來儲存任何必需的作 148527.doc 201106165 業系統、應用程式及固定資料。另外,非揮發性記憶體28 可包含一高容量記憶體,諸如一磁帶或磁碟驅動記憶體, 諸如包含(例如)電阻式記憶體或其他類型之非揮發性固態 記憶體之一混合式硬碟。 當别技術之一個或多個實施例涉及處理器12與系統記憶 體26之組件之間的通信。更具體而言,處理器12可包含一 通用處理器、一中央處理單元、一處理器核心、一 ASIC、 一記憶體控制器及/或一 ALU,其(例如)能夠自與系統記憶 體26中之5己憶體襄置封褒在一起(例如喪入於系統記憶體 26。中之記憶體裝置上)之内部處理器發送及接收信號。處 理器12與系統記憶體26之組件之間的通信中所涉及之系統 1〇之組件可一般稱為一「記憶體系統」30,如在圖2之方 塊圖中所圖解說明。在某些實施例中,—記憶體系統辦 包含-記憶體裝置34,該記憶體裝置可係系統1〇之系統記 憶體26之一部分(如圖…且可具有一内部處理器。記憶體 系統3〇亦可包含一外部處理器32,其(例如)可與一附加通 用處理器-起位於一晶片上系統(s〇c)中以共同形成二 理器控制式系統H)之-處理器12(如圖外部處理器η 可與一記憶體裝置34之某些組件通信。 。 記憶體系統30可包含具有並不限於外部處理器32 體裝置34之間的通信之功能的組件。舉例而言,外部處: 器32可控制除記憶體裝置34以外的裝置。然而,外部二理 器32(如關於記憶體系統3()所闡釋)可係指與記憶 之某些組件通信及/或控制記憶體裝置34 <呆些組件之外 148527.doc 201106165 部處理器32的一個功能。同樣地’並非系統記憶㈣之所 ,部分皆可係、記憶體系統3〇之—部分。根據當前技術, 「記憶體裝置」34可係指與外部處理器32之通信中所涉及 之糸統記憶體2 6之組件。 ,外部處理器32及記憶體裝置34可由一標準記憶體介面44 以可操作方式輕合,此可允許外部處理器32與記憶體裝置 34之間的貝料傳送’且可允許外部處理器32將命令發送 (:列如,傳送)至記憶體裝置34。在—個或多個實施财, 標準記憶體介面44之類型可(例如)包含DDR、臟2、 、LPDDR或LPDDR2。此外,在某些實施财,額外 '面可經組態以允許在記憶體袭置34與外部處理器Μ之間 料資料且亦命令(例如,請求、准予、指令等)。舉例而 。外4處理斋32及記憶體裝置34亦可由一控制介面46以 可操作方式麵合’此可允許在外部處理器32與記憶體裝置 34之間傳运命令’包含將命令自記憶體裝置34傳送至外部 ^器^標準記憶體介面44及控制介面^兩者皆可包含 态45以允。午外部處理器32與記憶體裝置μ之不同組 件(例如,記情體陲;a — 坡㈣、 序器I計算引擎緩衝器區 塊42專)之間的通信(例如,資料、命令等)。 記憶體裝置34可包含一記憶體陣列36及-内部處理号, 例如一計算引擎38 0兮 。隐體陣列36可係指任一適合形式的 t 且可包含(例如)—麗轉列或-獄AM陣列。 :十= Γ32:存:記憶體陣列%,且可能能夠發送將由 38執仃之貢科或指令。計算引擎38可包含一個或 M8527.doc 12 201106165 夕個异術㈣早〜⑽)或可能能夠實施自另—處理器(例 如,一記憶體控舍丨哭n、¥ & , ° 送之指令之任一其他電路,該等 指令包含(例如)諸如加法、減法、乘法及除法等算術運算 以及,如AND、0R、x〇R及Ν〇τ函數等邏輯函數。 “引擎38可嵌人於記憶體裝置34上且能夠存取記憶體 Ρ歹J36 &3自§己憶體陣列3峨取資訊及將資訊儲存至記 憶體陣在某些實施例中’計算引擎38可經由一定序 40及#异;丨擎緩衝器區塊42自該記憶體陣列存取資訊。 疋序β 40可組織(例如,定序)由外部處理器”發送至記憶 體陣列36之指令並健存由計算引擎緩衝器區塊u中之記憶 體陣列36擷取之資料一旦計算引擎38已執行該等指令, 便可在將結果寫入至記憶體陣列36之前將其儲存於計算引 擎緩衝器區塊42中。此外’由於某些指令在計算引擎中可 能需要多於一個時鐘循環,因此中間結果亦可儲存於計算 引擎緩衝器區塊42中。在某些實施例中,計算引擎緩衝器 區塊42可包3多於—層绫衝器。舉例而言,緩衝器區塊a 可包含-計算緩衝器(其可儲存運算元)及/或一指令緩衝器 (其—可儲存指令)。緩衝器區塊42亦可包含額外緩衝器(例如 一資料緩衝器或-簡單緩衝器),其可提供較密集儲存, 並可儲存所執行指令之中間結果或最终結果。 在一典型汜憶體系統3〇中,一外部處理器32可將運算元 及指令寫入至記憶體裝置34上之記憶體陣列36 Q 一定序器 40可存取記憶體陣列36以擷取該等指令,且可將該等運算 元自記憶體陣列36複製至計算引擎緩衝器區塊42。舉例而 148527.doc •13- 201106165 言,在圖3之方塊圖中提供對資訊通常可怎樣寫入至—記 憶體陣列36之一繪示。外部處理器32可透過—標準記憶體 介面44將指令發送至記憶體陣列%,且一定序器4〇存取記 憶體陣列36以針對計算引擎38定序該等指令。然而,當外 部處理器32將該等指令寫入至記憶體陣列36時,且當定序 器40自記憶體陣列36讀取該等指令時消耗功率。 在當前技術之一個實施例中,可藉由消除將指令傳輸至 記憶體陣列36及自記憶體陣列36傳輸指令之步驟來保存功 率。在圖4中呈現繪示一個實施例之一方塊圖,其中外部 處理斋32可將指令直接傳輸至定序器。舉例而言,指令可 透過一標準記憶體介面44或透過一控制介面46傳輸。如所 論述,控制介面46亦可允許定序器4〇或計算引擎38直接與 外部處理器32通信。寫人至記憶體陣列%及自記憶體陣列 36進行讀取可減少,乃因定序器4〇可能不需要針對欲定序 之每一指令存取記憶體陣列36。而是,當直接自外部處理 器32接收指令時,定序器4〇可針對計算緩衝器38組態(亦 即,定序、組織、設立暫存器等)該等指令。如由計算引 擎38與記憶體陣列36之間的雙向箭頭所指示,由計算引擎 3 8凡成之運算之結果仍可發送至記憶體陣列%。在某些實 施例中,傳入及傳出記憶體裝置3 4之指令可首先發送至計 算引擎緩衝器區塊42(如圖2中)。此外,在其他實施例中, 該等指令可端視一應用或將執行之指令而發送至記憶體裝 置34之不同組件。指令可直接通信(例如,傳送、傳輸或 以其他方式發送)至定序器4〇、記憶體陣列36或計算引擎 148527.doc 201106165 緩衝器區塊42中之任一者,且攜載該等指令之信號亦可攜 载-識別符、若干個額外位元或用以指示該等指令係以記 憶=置34之一特定組件為目標之某一其他指示符。 虽剛技術令之一種或多種技術亦可包含將資料自一外部 處理器32直接發送至一計算引擎緩衝器區塊42之系統及方 法在一典型δ己憶體系統中,一處理器可在擷取資料以供 運算之前將該資料寫入至-記憶體陣列。在圖5之方塊圖 中提供自-外部處理器32至—記憶體陣⑽之—資料路徑 之圖解。資料50(顯示為資料Α及Β)可係將由計算引擎38 ^行(例如對其進行運算)之運算元。在計算引擎38可對 貝料50進打運算之前,一定序器4〇(如圖2中,在圖$中未 顯不)可將資料50自記憶體陣列36複製至計算引擎緩衝器 區塊42。可接著在緩衝器區塊42中操縱將由計算引擎u對 其進行運算之資料5 〇。 在—個實施例中,可減少寫入至記憶體陣列36之資料及 自。己憶體陣列36讀取之資料’此可保存寫入至記憶體陣列 36及自記憶體陣列36進行讀取所需之功率。如圖6之方塊 中所圖解說明’外部處理器32可經由標準記憶體介面44 將=料直接發送(例如,寫入)至計算引擎緩衝器區塊42。 d外4處理器32及緩衝器區塊42仍可存取記憶體陣列 36,但某些資料50可直接發送至緩衝器區塊42,(例如 減少窝入 ”'、至記憶體陣列36及自記憶體陣列36進行讀取中 所消杯> 1, 功率。因此,一定序器40(如圖2中,在圖6中未 顯示)可白士木曾 > 。卞鼻引擎緩衝器區塊42讀取將由計算引擎3 8對 148527.doc 15 201106165 其進行運算之資料。 如所淪述,在某些實施例中,資料5〇可端視一應用或將 對其進行運算之資料發送至記憶體裝置34之不同組件。資 料50可直接發达至記憶體陣列%、計算引擎緩衝器區塊^ 或记憶體裝置34上之某—其他組件,且資料信號亦可攜载 一識別符、若干個額外位元或用以指示資料50係以記憶體 裝置34之一特定組件為目標之某一其他指示符。 雖然可易於對本發明做出各種修改及替代形式,但已在 圖式中以貫例方式顯示了具體實施例且在本文中對該等耳 體實施例進行了詳細閣述。然而,應理解,並不意欲將本 發月限於所揭不之特定形式。而是,本發明將涵蓋歸屬於 由以下隨附申凊專利範圍界定之本發明之精神及範鳴内 之所有修改、等效形式及替代形式。 【圖式簡單說明】 參考該等圖式在以上實施方式中闡述某些實施例,在該 等圖式中: 圖1根據當前技術之一實施例繪示一基於處理器之系統 之一方塊圖; 圖2根據當前技術之一實施例繪示具有與具有—RAM控 制器之一晶片上系統(SOC)介接之若干個嵌入式算術邏輯 單疋之一隨機存取記憶體(RAM)系統之一方塊圖; 圖3繪示自80(:至1:)11八]^陣列之一命令路徑之一方塊圖; 圖4根據當前技術之一個或多個實施例綠示自s〇c至定 序器之一命令路徑之一方塊圖; 148527.doc -16- 201106165 圖5繪示自SOC至DRAM陣列之一資料路徑之一方塊 圖;且 圖6根據當前技術之一個或多個實施例繪示自S0C至計 算引擎緩衝器區塊或DRAM陣列之一資料路徑之一方塊 圖。 【主要元件符號說明】 10 系統 12 處理器 14 電源 16 輸入裝置 18 顯示器 20 RF子系統/基頻處理器 22 通信埠 24 週邊裝置 26 糸統記憶體 28 非揮發性記憶體 30 記憶體糸統 32 外部處理器 34 記憶體裝置 36 記憶體陣列 38 計算引擎 40 定序器 42 計算引擎緩衝器區塊 44 標準記憶體介面 148527.doc -17- 201106165 45 多工器 46 控制介面 48 動態隨機存取記憶體控制件 50 資料 148527.doc - 18-
Claims (1)
- 201106165 七、申請專利範圍: 1. % 2. 一種系統,其包括: 一記憶體装置,其包括: —緩衝器,其經組態以直接自一外卹由_ 设a外邛處理器接收資 料; -定序器,其經組態以直接自該外部處理器接收指 令;及 一内部處理器,其中 該内部處理器經組態以對由該緩衝器接收之該資 料處理由該定序器接收之該等指令;及 时一外部處理器,其經組態以直接與該緩衝器或該定序 益中之一者或多者通信。 如唄求項1之系統,其中該記憶體裝置包括經組態以自 該外部處理器接收資料之一記憶體陣列。 3. 如明求項1之系統,其中該系統包括經組態以使得該外 邛處理窃可將資料發送至該記憶體裝置中之該緩衝器及 一 5己憶體陣列兩者之一記憶體介面。 4. 如明求項3之系統,其中該記憶體介面包括經組態以使 V X外。卩處理益能夠將資料發送至該缓衝器及一記憶體 陣列中之-者或多者之-多工器。 5. 如請求項1 $ & & i 人 、^糸、先,其中該定序器經組態以經由一控制 )丨面直接自該外部處理器接收指令。 6. 如請求項1,备& _ , 人、 糸、、先,其中該定序器經組態以經由一記憶 直接自5玄外部處理器接收一信號,其中經由該記 148527.doc 201106165 隐體:I面接收之該信號包括若干個指令及經組態以指示 該信號係以該定序器為目標之一指示符。 7·如請求们之系統,其中該外部處理器經組態以經由一 控制介面與該緩衝器及該定序器兩者通信❶ 8·::求項i之系統,其中該外部處理器經組態以藉由經 ―厂己憶體介面發送—信號來與該緩衝器、該定序器及 5己憶體陣列中之每一者通信 ..IV 4t °其中该信號包括一指示 符U ^示該信號是以該緩衝器、 陣列為目標。 違…還是該記憶體 9·如請求項1之系統,其中該緩 哭a — 衝益包括—個或多個緩衝 窃續之~區塊。 1〇·如請求項丄之系統, 控制卜錢理器係-離散記憶體 裔或具有-積體記憶體控制器 11如社外工里器。 η·如靖未項1之系統,其中該内部 體裝置中 处里。〇係封裝於該記憶 月求項1之記憶體系統,其中該内部處理哭係… 該記憶體裝置上。 w理盗係饮入於 13. —種系统,其包括: —記憶體裝置,其包括: 料;:緩衝器’其經組態以直接自一外部處理器接收資 一内部處理器,其經組態以處 該資料;及 田緩衝斋接收之 4部處理n ’其經組態以直接與該緩衝器通信。 148527.doc 201106165 14. 如請求項l3 理器與該緩衝器:介其面包括以可操作方式轉合該外部處 15. 如請求項13之 憶體袈置上^ °A外部處理器經組態以與該記 通信。上之该内部處理器及—定序器令之一者或多者 16. 一種系统,其包括: ―:憶體裝置,其包括: 令,·及m mm直接自—外部處理器接收指 N部處理器,且經组能 該等指令;及 ’、、,二、,且態以處理由該定序器接收之 〆外邠處理器,其經έ能 17·如請求項16夕金 ,,.心以直接與該定序器通信。 #,〃統,其中該記憶體裝置包括一記憶體組 ,以該等經處理指令之結果係寫入至該記憶體組 件0 18·:::求項16之系統’其中該内部處理器包括一個或多個 脚r k輯單疋(ALU) ’且其中該等Α 於該記憶 體裝置上。 19. 一種操作—記憶體裝置之方法,其包括: 在5亥冗憶體裝置中之一定序器處接收指令,其中直接 自—外部處理器接收該等指令; 針對該記憶體裝置之-内部處理器組態該等指令,其 中由該定序器組態該等指令; 在5亥s己憶體裝置中之一緩衝器處接收資料,其中直接& 148527.doc 201106165 自該外部處理器接收該資料;及 對該資料處理該等指令’其中由該内部處理器處理該 專指令。 20. 21. 22. 23. 24. 25. 26. T切求項19之方法,其中組態該介面以使得能夠在該外 #處理4與該記憶體裝置中之該定序器、肖緩衝器或一 記憶體陣列中之一者或多者之間直接通信。 如::求項19之方法’其中組態該等指令包括為該内部處 理器設定暫存器及信號以完成該等指令。 如凊求項19之方法,其中執行該等指令包括實施算術及/ 或邏輯運算》 月长項19之方法’其包括將該等指令自該外部處理器 發送至該定序器。 求項19之方法,其包括將該資料自該外部處理器發 送至該緩衝器。 :吻求項19之方法’其中該内部處理器包括一個或多個 算術邏輯單元。 -種控制具有一嵌入式算術邏輯單元(alu)之一記憶體 裝置之方法,其包括: 將包括貝料之一信號發送至該記憶體裝置上之一計算 引擎緩衝器區塊; ^ 將該資料輸入至該ALU作為一個或多個運算元;及 將包括若干個指令之一信號直接自一記憶體控制器發 送至該記憶體裝置上之一定序器,以使得該alu使用該 k號來對該一個或多個運算元執行該等指令。 148527.doc 201106165 27:請方法’其中包括資料之該信號包括-指示 付以將§亥貧料指引至該計算弓I擎緩衝器區塊。 28. 如請求Γ之方法’其中包括若干個指令之該信號包括 一指示符以將該等指令指引至該定序器。 29. 如請求項26之方法,其包括: 中 基於由該ALU執行之該等指 將該等結果健存於該記憶 令產生結果;及 體裝置上之一記憶體陣列 30_如請求項26之方法,其包括: 基於由該ALU執行之該等指令產生結果;及 將該等結果儲存於該計算引擎緩衝H區塊中。 3 1 ·如請求項26之方法,其包括: 基於由該ALU執行之該等指令產生結果;及 自該記憶體裝置輸出該等結果。 32.如請求項26之方法,其中透過該記憶體控制器與該定序 器之間的一第一介面發送包括若干個指令之該信號,且 透過該第一介面或該記憶體控制器與該計算引擎缓衝器 區塊之間的一第二介面發送包括資料之該信號。 3 3. —種記憶體裝置,其包括: 一定序器,其經組態以直接自一外部處理器接收指 令;及 一内部處理器 等指令。 ’其經組態以執行由該定序器接收之該 3 4.如請求項33之記憶體裝置 其包括經組態以直接自該外 [ 148527.doc 201106165 部處理器接收資料之一緩衝器。 35.如請求項34之記憶體裝置,立 八中'•亥内邛處理器經組態以 對由該緩衝器接收之該資料執行該等指令。 36_如請求項34之記憶體裝置,其包括以可操作方式耦合至 該緩衝器及該定序器且經組態以自該外部處理器接收該 資料及該等指令之一外部輸入/輸出(I/O)。 148527.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/478,450 US9606807B2 (en) | 2009-06-04 | 2009-06-04 | Direct communication with a processor internal to a memory device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201106165A true TW201106165A (en) | 2011-02-16 |
| TWI427480B TWI427480B (zh) | 2014-02-21 |
Family
ID=42735464
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW099118237A TWI427480B (zh) | 2009-06-04 | 2010-06-04 | 與一記憶體裝置內部之一處理器的直接通信 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9606807B2 (zh) |
| TW (1) | TWI427480B (zh) |
| WO (1) | WO2010141224A1 (zh) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8234460B2 (en) | 2009-06-04 | 2012-07-31 | Micron Technology, Inc. | Communication between internal and external processors |
| US9535876B2 (en) | 2009-06-04 | 2017-01-03 | Micron Technology, Inc. | Conditional operation in an internal processor of a memory device |
| US8380916B2 (en) | 2009-06-04 | 2013-02-19 | Micron Technology, Inc. | Control of page access in memory |
| US8521958B2 (en) | 2009-06-04 | 2013-08-27 | Micron Technology, Inc. | Internal processor buffer |
| US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
| US8719516B2 (en) * | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
| KR101620349B1 (ko) * | 2009-12-30 | 2016-05-23 | 삼성전자주식회사 | 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법 |
| WO2016126478A1 (en) * | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for memory device as a store for program instructions |
| US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
| US10795815B2 (en) | 2016-05-27 | 2020-10-06 | Arm Limited | Method and apparatus for maintaining data coherence in a non-uniform compute device |
| US10552152B2 (en) * | 2016-05-27 | 2020-02-04 | Arm Limited | Method and apparatus for scheduling in a non-uniform compute device |
| US10445094B2 (en) | 2016-05-27 | 2019-10-15 | Arm Limited | Method and apparatus for reordering in a non-uniform compute device |
| KR20170136829A (ko) | 2016-06-02 | 2017-12-12 | 삼성전자주식회사 | 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법 |
| US10403352B2 (en) * | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
| US10776311B2 (en) * | 2017-03-14 | 2020-09-15 | Azurengine Technologies Zhuhai Inc. | Circular reconfiguration for a reconfigurable parallel processor using a plurality of chained memory ports |
| KR102453542B1 (ko) | 2018-02-21 | 2022-10-12 | 삼성전자주식회사 | 스킵 연산 모드를 지원하는 메모리 장치 및 그 동작 방법 |
| US11061751B2 (en) * | 2018-09-06 | 2021-07-13 | Micron Technology, Inc. | Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller |
| US10990524B2 (en) | 2018-10-11 | 2021-04-27 | Powerchip Semiconductor Manufacturing Corporation | Memory with processing in memory architecture and operating method thereof |
| DE102020105628A1 (de) | 2019-03-11 | 2020-09-17 | Samsung Electronics Co., Ltd. | Verfahren zur Durchführung interner Verarbeitungsvorgänge mit vordefinierter Protokollschnittstelle einer Speichervorrichtung |
| US11094371B2 (en) | 2019-03-11 | 2021-08-17 | Samsung Electronics Co., Ltd. | Memory device for processing operation and method of operating the same |
| CN111679785B (zh) * | 2019-03-11 | 2025-03-11 | 三星电子株式会社 | 用于处理操作的存储器装置及其操作方法、数据处理系统 |
| DE102020106357A1 (de) | 2019-03-11 | 2020-09-17 | Samsung Electronics Co., Ltd. | Speichereinrichtung und verfahren mit anweisungsringspeicherwarteschlange |
| US10884663B2 (en) * | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cells |
| US10884664B2 (en) | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cell |
| US11908541B2 (en) | 2020-01-07 | 2024-02-20 | SK Hynix Inc. | Processing-in-memory (PIM) systems |
| US12136470B2 (en) * | 2020-01-07 | 2024-11-05 | SK Hynix Inc. | Processing-in-memory (PIM) system that changes between multiplication/accumulation (MAC) and memory modes and operating methods of the PIM system |
| US12386777B2 (en) | 2020-01-07 | 2025-08-12 | SK Hynix Inc. | Processing-in-memory (PIM) device to perform a memory access operation and an arithmetic operation in response to a command from a PIM controller and a high speed interface, respectively |
| KR102785591B1 (ko) * | 2020-02-20 | 2025-03-26 | 삼성전자주식회사 | 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법 |
| KR20220007404A (ko) * | 2020-07-10 | 2022-01-18 | 한국전자기술연구원 | 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 |
| US11568907B2 (en) * | 2020-09-07 | 2023-01-31 | Samsung Electronics Co., Ltd. | Data bus and buffer management in memory device for performing in-memory data operations |
| US20220413849A1 (en) * | 2021-06-28 | 2022-12-29 | Advanced Micro Devices, Inc. | Providing atomicity for complex operations using near-memory computing |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546343A (en) * | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
| US5528550A (en) * | 1993-05-28 | 1996-06-18 | Texas Instruments Incorporated | Apparatus, systems and methods for implementing memory embedded search arithmetic logic unit |
| US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
| US7876638B2 (en) * | 2007-09-11 | 2011-01-25 | Micron Technology, Inc. | Storing operational information in an array of memory cells |
-
2009
- 2009-06-04 US US12/478,450 patent/US9606807B2/en active Active
-
2010
- 2010-05-19 WO PCT/US2010/035455 patent/WO2010141224A1/en not_active Ceased
- 2010-06-04 TW TW099118237A patent/TWI427480B/zh active
Also Published As
| Publication number | Publication date |
|---|---|
| US9606807B2 (en) | 2017-03-28 |
| TWI427480B (zh) | 2014-02-21 |
| WO2010141224A1 (en) | 2010-12-09 |
| US20100312998A1 (en) | 2010-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201106165A (en) | Direct communication with a processor internal to a memory device | |
| US12259829B2 (en) | Memory having internal processors and data communication methods in memory | |
| TWI462114B (zh) | 內部處理器緩衝器 | |
| CN102640226B (zh) | 具有内部处理器的存储器及控制存储器存取的方法 | |
| TWI529534B (zh) | 用於在內部及外部處理器之間通信之系統及方法 | |
| TWI453758B (zh) | 在一記憶體裝置之內部處理器中之條件式操作 |