TW201528123A - 編製跨裝置的記憶體資源之技術 - Google Patents
編製跨裝置的記憶體資源之技術 Download PDFInfo
- Publication number
- TW201528123A TW201528123A TW103132992A TW103132992A TW201528123A TW 201528123 A TW201528123 A TW 201528123A TW 103132992 A TW103132992 A TW 103132992A TW 103132992 A TW103132992 A TW 103132992A TW 201528123 A TW201528123 A TW 201528123A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- circuit
- far
- copy
- content
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 1121
- 238000000034 method Methods 0.000 title claims description 73
- 238000001514 detection method Methods 0.000 claims description 29
- 230000000717 retained effect Effects 0.000 claims description 9
- 239000000463 material Substances 0.000 claims description 5
- 239000010410 layer Substances 0.000 claims 5
- 239000002355 dual-layer Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 description 51
- 238000012545 processing Methods 0.000 description 27
- 230000004044 response Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000003032 molecular docking Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000001816 cooling Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920000642 polymer Polymers 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 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
- FMFKNGWZEQOWNK-UHFFFAOYSA-N 1-butoxypropan-2-yl 2-(2,4,5-trichlorophenoxy)propanoate Chemical compound CCCCOCC(C)OC(=O)C(C)OC1=CC(Cl)=C(Cl)C=C1Cl FMFKNGWZEQOWNK-UHFFFAOYSA-N 0.000 description 1
- 240000001436 Antirrhinum majus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/285—Redundant cache memory
- G06F2212/286—Mirrored cache 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
Abstract
揭露針對編製跨裝置的記憶體資源之實例。在一些實例中,關聯於在兩個分離裝置中藉由電路來執行一或更多應用程式的記憶體資源可能跨兩個裝置來編製。電路可能能夠使用包括一近記憶體和一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式。在一些實例中,近記憶體可能包括分別位於兩個裝置中的近記憶體及位於兩個裝置之其一者中的遠記憶體。遠記憶體可能用以以對用於第一或第二裝置之一作業系統通透的方式來在分開設置的近記憶體之間移動記憶體內容的一或更多副本。說明和主張其他實例。
Description
本文所述之實例一般關於聚集跨計算裝置的資源。
正在開發為各種形狀因子的計算裝置,其包括增加計算供電量、網路能力及記憶體/儲存器容量。一些形狀因子試圖小及/或輕到足以實際上被使用者配戴。例如,眼鏡、手腕帶、項鍊或其他類型的可配戴形狀因子被認為是用於計算裝置的可能形狀因子。此外,如智慧型手機或平板電腦的行動形狀因子已大為增加計算和網路能力且其使用在近幾年來已以指數方式成長。
100‧‧‧系統
105‧‧‧裝置
155‧‧‧裝置
144(a)‧‧‧應用程式
144(b)‧‧‧應用程式
110‧‧‧顯示器
150‧‧‧顯示器
102‧‧‧通訊介面
180‧‧‧通訊介面
104‧‧‧照相機
106‧‧‧音頻揚聲器
108‧‧‧輸入按鈕
109‧‧‧麥克風
107‧‧‧通訊連結
103‧‧‧網路介面
120‧‧‧電路
130‧‧‧電池
140‧‧‧記憶體
145‧‧‧儲存器
144‧‧‧App
142‧‧‧作業系統
160‧‧‧電路
175‧‧‧儲存器
170‧‧‧記憶體
165‧‧‧風扇
182‧‧‧整合元件
194‧‧‧電線
195‧‧‧電源插座
184‧‧‧通訊連結
185‧‧‧周邊裝置
200‧‧‧系統
205‧‧‧裝置
255‧‧‧裝置
201‧‧‧互連
220‧‧‧電路
222‧‧‧處理元件
224‧‧‧圖形引擎
260‧‧‧電路
262‧‧‧處理元件
264‧‧‧圖形引擎
240‧‧‧近記憶體
270‧‧‧近記憶體
245‧‧‧遠記憶體
210‧‧‧I/O
250‧‧‧I/O
300‧‧‧系統
305‧‧‧裝置
355‧‧‧裝置
320‧‧‧電路
360‧‧‧電路
322‧‧‧處理元件
362‧‧‧處理元件
324‧‧‧圖形引擎
364‧‧‧圖形引擎
330‧‧‧近記憶體
370‧‧‧近記憶體
340‧‧‧遠記憶體
310‧‧‧可組合記憶體
344‧‧‧遠記憶體通道
326‧‧‧整合記憶體控制器
376‧‧‧整合記憶體控制器
332‧‧‧近記憶體通道
372‧‧‧近記憶體通道
342‧‧‧遠記憶體通道
346‧‧‧MC
400‧‧‧狀態機
500‧‧‧程序
600‧‧‧程序
700‧‧‧邏輯流程
710-780‧‧‧方塊
800‧‧‧設備
820‧‧‧處理器電路
822-1‧‧‧偵測邏輯
822-2‧‧‧連接邏輯
822-3‧‧‧移動邏輯
824-a‧‧‧分頁策略
822-4‧‧‧請求邏輯
822-5‧‧‧電源邏輯
805‧‧‧偵測資訊
845‧‧‧記憶體內容
810‧‧‧中途分頁
815‧‧‧連接資訊
825‧‧‧記憶體內容
835‧‧‧記憶體請求
840‧‧‧遠記憶體回應
900‧‧‧邏輯流程
920-912‧‧‧方塊
1000‧‧‧儲存媒體
1100‧‧‧設備
1120‧‧‧處理器電路
1122-1‧‧‧偵測邏輯
1105‧‧‧偵測資訊
1122-2‧‧‧副本邏輯
1110‧‧‧記憶體內容
1122-3‧‧‧請求邏輯
1135‧‧‧遠記憶體請求
1140‧‧‧遠記憶體回應
1125‧‧‧中途分頁
1122-4‧‧‧寫回邏輯
1124-a‧‧‧寫回策略
1122-5‧‧‧移動邏輯
1145‧‧‧記憶體內容
1115‧‧‧連接資訊
1122-6‧‧‧電源邏輯
1200‧‧‧邏輯流程
1202-1216‧‧‧方塊
1300‧‧‧儲存媒體
1400‧‧‧裝置
1410‧‧‧無線電介面
1420‧‧‧基頻電路
1430‧‧‧計算平台
1470‧‧‧邏輯電路
1412‧‧‧接收器
1414‧‧‧頻率合成器
1416‧‧‧發射器
1418-f‧‧‧天線
1422‧‧‧類比至數位轉換器
1424‧‧‧數位至類比轉換器
1426‧‧‧實體層(PHY)處理電路
1428‧‧‧MAC處理電路
1432‧‧‧記憶體控制器
1434‧‧‧介面
1440‧‧‧處理元件
1450‧‧‧其他平台元件
1460‧‧‧網路介面
第1圖繪示第一系統之實例。
第2圖繪示第二系統之實例。
第3圖繪示第三系統之實例。
第4圖繪示示範狀態機。
第5圖繪示第一程序之實例。
第6圖繪示第二程序之實例。
第7圖繪示用於記憶體檢查點的示範邏輯流程。
第8圖繪示用於第一設備之示範方塊圖。
第9圖繪示第一邏輯流程之實例。
第10圖繪示第一儲存媒體之實例。
第11圖繪示用於第二設備之示範方塊圖。
第12圖繪示第二邏輯流程之實例。
第13圖繪示第二儲存媒體之實例。
第14圖繪示裝置之實例。
實例一般針對對聚集跨裝置之電腦、記憶體和輸入/輸出(I/O)資源的改進。跨如計算裝置之裝置的聚集可能因可能利用可能各具有不同功能及/或能力的多個計算裝置而受到影響。例如,一些計算裝置可能小到足以讓使用者實際上配戴計算裝置。其他類型的小形狀因子計算裝置可能包括智慧型手機或平板電腦,其中尺寸/重量和長電池壽命對於這些裝置的使用者而言係期望特質。因此,可配戴智慧型手機或平板計算裝置可能各為相對較輕的重量且可能使用低功率量以延長電池壽命。然而,使用者可能期望更大的計算能力,其在這些小形狀因子中可能是不可能的。
其他類型的計算裝置可能是稍微固定的且可能因此具有由固定電源或比可配戴智慧型手機或平板計算裝置較大的電池供電的較大形狀因子。這些其他計算裝置可能包括桌上型電腦、膝上型電腦、或具有整合、大格式(例如,大於15吋)顯示器的單體全備型電腦。這些其他裝置的大形狀因子和使用固定電源(例如,經由電源插座)或大電池電源可能允許顯著較多的計算、記憶體或I/O資源與這些形狀因子一起被包括或附接於這些形狀因子。尤其是,關聯於較大形狀因子的較高熱容量連同可能使用主動式冷卻(例如,經由一或更多風扇)相較於較小形狀因子可能允許顯著較多的計算、記憶體或I/O資源。
對照之下,如上所述之可配戴智慧型手機或平板計算裝置係為相對小的形狀因子,其取決於電池功率,且可能不具有主動式冷卻能力。而且,電源電路和使用電池可能減少這些類型之裝置的載流容量。減少的載流容量可能限制來自在這些較小形狀因子中實作之潛在強大的計算資源之類型。此外,較高成本及/或空間限制可能導致相對少量之一些類型的記憶體資源,如雙倍資料速率同步動態隨機存取記憶體(DDRSRAM)記憶體。
跨具有不同記憶體能力之計算裝置的記憶體資源之聚集可能是期望目標。聚集跨計算裝置的記憶體資源之目前嘗試已主要地依賴於軟體實作。這些類型的軟體實作通常導致高延遲時間和退化的使用者經驗。例如,當串流在聚集如智慧型手機和單體全備型電腦的裝置之間的
高解析度視頻或遊戲資訊時,可能導致關聯於軟體實作的使用者可感知延遲。使用者可感知延遲當在裝置之間聚集記憶體資源時可能導致不連貫或失速的視頻。因此,跨多個計算裝置的記憶體資源之無縫聚集當主要地依賴於用於聚集的軟體實作時可能是有問題。這是關於需要本文所述之實例的這些和其他挑戰。
根據一些實例,示範第一方法可能在具有第一電路(例如,處理元件及/或圖形引擎)的第一裝置(來源裝置)中實作。針對這些實例,第一電路可能能夠使用包括第一近和第二遠記憶體的雙層記憶體(2LM)架構來執行一或更多應用程式。針對這些實例,可能偵測到具有第二電路的第二裝置(目標裝置)。第二電路可能能夠使用也包括第二近記憶體的2LM架構來執行一或更多應用程式。在來源裝置中的邏輯及/或特徵可能使來源裝置連接至目標裝置(例如,經由有線或無線互連)。邏輯及/或特徵可能利用第一遠記憶體來將記憶體內容的副本從第一近記憶體移至第二近記憶體。根據這些第一示範方法,利用第一遠記憶體來將記憶體內容的副本移至第二近記憶體可能使邏輯及/或特徵能以對用於來源裝置或目標裝置之作業系統(OS)通透的方式來移動記憶體內容。
在一些其他實例中,示範第二方法可能在具有第一電路的第一裝置(目標裝置)中實作,第一電路能夠使用具有第一近和第一遠記憶體的2LM架構來執行一或更多應用程式。針對這些示範第二方法,具有能夠使用也
包括在來源裝置中之第二近記憶體的2LM架構來執行一或更多應用程式之第二電路的第二裝置(來源裝置)可能被偵測為連接至目標裝置。在目標裝置中的邏輯及/或特徵可能能夠從第一遠記憶體接收來自第二近記憶體之記憶體內容的副本。記憶體內容可能已被第二電路使用以執行一或更多應用程式。邏輯及/或特徵可能以對用於目標或來源裝置之OS通透的方式來將記憶體內容的副本儲存至第一近記憶體。儲存至第一近記憶體的記憶體內容可能接著被第一電路使用以執行一或更多應用程式。
第1圖繪示示範第一系統。在一些實例中,示範第一系統包括系統100。系統100(如第1圖所示)包括裝置105和裝置155。根據一些實例,裝置105和155可能表示用於計算裝置之不同形狀因子的兩個實例。如於下更加所述,裝置105可能是較小的形狀因子,其可能主要地以電池功率來運作,而裝置155可能是相對較大的形狀因子,其可能主要地以固定電源(如經由例如關聯於從發電站購買之電力的電源插座所接收的交流電(A/C))來運作。
在一些實例中,在第1圖中如從可能對應於裝置105之一側的前側觀看地顯示裝置105,其包括可能對裝置105之使用者呈現執行應用程式144(a)的視圖之觸控螢幕/顯示器110。同樣地,在第1圖中如從前側觀看地顯示裝置155,其包括可能對裝置155之使用者呈現執行應用程式144(b)的視圖之觸控螢幕/顯示器150。雖然在一
些實例中,顯示器可能也存在於裝置105或裝置155的後側上,但為了便於說明,第1圖不包括用於任一裝置的後側顯示器。
根據一些實例,裝置105和155的前側視圖包括當從前視圖觀看這些裝置時對使用者可能是至少部分可見的元件/特徵。而且,一些元件/特徵當從前側視圖觀看裝置105或155時對使用者可能是不可見的。針對這些實例,實線框可能表示可能是至少部分可見的那些特徵且虛線框可能表示對使用者可能是不可見(例如,在外殼或蓋子下)的那些元件/特徵。例如,收發器/通訊(comm.)介面102和180對使用者可能是不可見的,而照相機104、音頻揚聲器106、輸入按鈕108、麥克風109或觸控螢幕/顯示器110之至少一部分對使用者可能是可見的。
根據一些實例,如第1圖所示,通訊連結107可能經由網路介面103來無線地耦接裝置100。針對這些實例,網路介面103可能被配置及/或能夠依照一或更多無線通訊標準來操作以建立經由通訊連結107來與網路(未示出)連接的網路連線。網路連線可能使裝置105能接收/傳送資料及/或透過網路來致能語音通訊。
在一些實例中,裝置105的各種元件/特徵可能能夠提供關聯於偵測之輸入命令(例如,使用者手勢或音頻命令)的感測器資訊。例如,觸控螢幕/顯示器110可能偵測觸控手勢。照相機104可能偵測空間/空氣手勢或圖案/物件辨識。麥克風109可能偵測音頻命令。在一些
實例中,偵測之輸入命令可能用以影響執行應用程式144(a)且可能被解釋為自然UI輸入事件。雖然在第1圖中未示出,但實體鍵盤或小鍵盤可能也接收可能影響執行應用程式144(a)的輸入命令。
根據一些實例,如第1圖所示,裝置105可能包括電路120、電池130、記憶體140及儲存器145。電路120可能包括一或更多處理元件和圖形引擎,能夠執行至少暫時地保持在記憶體140中的App 144。而且,電路120可能能夠執行可能也至少暫時地保持在記憶體140中的作業系統(OS)142。
在一些實例中,如第1圖所示,裝置155可能包括電路160、儲存器175、記憶體170及收發器/通訊介面180。裝置155可能也包括風扇165,其可能對裝置155之元件提供主動式冷卻。而且,如第1圖所示,裝置155可能包括整合元件182。整合元件182可能包括各種I/O裝置,例如,但不限於可能與裝置155整合的照相機、麥克風、揚聲器或感測器。
根據一些實例,如第1圖所示,裝置155可能經由電線194來耦接至電源插座195。針對這些實例,裝置155可能透過經由電線194耦接至電源插座195來接收固定電源(例如,A/C電源)。
在一些實例中,如第1圖所示,裝置155可能經由通訊連結184來耦接至周邊裝置185。針對這些實例,周邊裝置185可能包括,但不限於監視器、顯示器、
外部儲存裝置、揚聲器、麥克風、遊戲控制器、照相機、如鍵盤、滑鼠、軌跡球或電筆的I/O輸入裝置。
根據一些實例,裝置105的邏輯及/或特徵可能能夠偵測裝置155。例如,收發器/通訊介面102和180可能各包括有線及/或無線介面,其可能使裝置105能建立經由互連101來與裝置155連接的有線/無線通訊通道。在一些實例中,裝置105可能實體連接至耦接至裝置155的有線介面(例如,在對接站或適配器中)。在其他實例中,裝置105可能到達一給定實體接近內,其可能使裝置105能建立無線連線(如與裝置155的無線對接)。回應於有線或無線連線,可能交換資訊,其可能使裝置105能偵測裝置155且也能決定裝置155的至少一些能力,如可用於執行App 144的電路。
在一些實例中,包括在收發器/通訊介面102和180中的有線及/或無線介面可能依照一或更多低延遲時間、高頻寬和有效互連技術來操作。有線互連技術可能包括,但不限於關聯於工業標準或規範(包括後代及變體)的那些以包括公佈於2010年11月的周邊元件互連(PCI)快捷基本規範(「PCI Express」或「PCIe」),修訂版3.0或類似於英特爾®快速路徑互連(「QPI」)之互連。無線互連技術可能包括,但不限於關聯於WiGigTM及/或Wi-FiTM的那些且可能包括透過各種頻帶來建立及/或維護無線通訊通道以包括Wi-Fi及/或WiGig頻帶,例如,2、4、5或60GHz。可能在美國電機電子工程師學會(IEEE)所頒佈的
各種標準中說明這些類型的無線互連技術。這些標準可能包括關聯於用於資訊技術之IEEE標準的乙太網路無線標準(包括後代及變體)-在系統之間的電信和資訊交換-區域和都會區域網路-具體要求第11部分;公佈於2012年3月的WLAN媒體存取控制(MAC)和實體層(PHY)規範)、及/或此標準(「IEEE 802.11」)的之後版本。與Wi-Fi和WiGig相關且也與無線對接相關的一個上述標準係IEEE 802.11ad。
根據一些實例,電路160可能包括一或更多處理元件和圖形引擎,能夠執行可能也暫時地保持在記憶體170中的OS 142。電路160可能也能夠執行也至少暫時地保持在記憶體170中的App 144。在一些實例中,關聯於如App 144或OS 142之執行應用程式的內文資訊和記憶體內容可能經由互連101從裝置105的邏輯及/或特徵被發送。內文資訊和記憶體內容可能使電路160能從電路120接管或回復執行App 144及/或OS 142。可能從被電路120用來執行App 144及/或OS 142的一或更多快取(例如,處理器快取)清除內文資訊。包括在記憶體140(例如,近記憶體)中的記憶體內容以及清除的內文資訊可能接著被發送至在裝置155中的第二近記憶體(例如,包括在記憶體170中)。現在具有清除之內文資訊和記憶體內容的第二近記憶體可能使電路160能執行App 144,其可能導致在顯示器150上呈現此執行作為執行應用程式144(b)。
在一些實例中,App 144可能包括裝置105的使用者可能期望利用增加之在裝置155中可用的計算、記憶體或I/O資源之應用程式的類型。例如,由於主動式冷卻、固定電源和較大的形狀因子,電路160可能包括比電路120顯著更大量的計算電力量及/或記憶體資源。就更高的計算電力而言,這可能至少部分是由於較高熱容量,用於經由使用風扇165來從電路160耗散熱,且也由於較大的表面積以經由如大散熱片或熱管的被動工具來耗散熱。因此,電路160能在顯著較高的熱範圍內操作。而且,就較高的記憶體資源而言,大形狀因子可能允許額外的記憶體模組。此外,經由電源插座195來接收電力可能允許裝置155對電路160及/或記憶體170提供顯著較高的載流容量。較高的載流容量可能使電路160及/或記憶體170能更迅速地回應於可能與一些類型的應用程式(如互動式遊戲或視頻編輯)一樣的快速計算需求量。
App 144可能也包括如將呈現於較大顯示器(如具有15吋以上之垂直顯示距離的顯示器)上的高解析度串流視頻應用程式(例如,具有至少4K解析度)之應用程式的類型。例如,電路120可能足夠用於在相對小的觸控螢幕/顯示器110上呈現高解析度視頻,但較大的觸控螢幕/顯示器150可能超過電路120的能力及/或裝置105的熱容量。由此,可能使用電路160來執行這些類型的應用程式以對較大的觸控螢幕/顯示器150或對可能包括在周邊裝置185中之更大的顯示器呈現高解析度串流。
App 144可能也包括能夠用於大型或小型顯示器的觸控螢幕應用程式。例如,觸控螢幕應用程式可能被電路160執行以對觸控螢幕/顯示器150呈現大尺寸及/或較高解析度的觸控螢幕影像。而且,觸控螢幕應用程式可能能夠在多個螢幕上鏡射觸控螢幕影像。例如,觸控螢幕應用程式的一部分可能被電路120實作以對觸控螢幕/顯示器110呈現執行應用程式144(a),且另一部分可能被電路160實作以對觸控螢幕/顯示器150呈現執行應用程式144(b)。針對此實例,可能經由互連101來在電路120與電路160之間交換相關性資訊以能共同執行觸控螢幕應用程式。
根據一些實例,在裝置105中的邏輯及/或特徵可能能夠將包括在記憶體140中之記憶體內容的一或更多副本移至記憶體170。一旦記憶體內容的副本被移至記憶體170,電路160就可能使用記憶體內容的副本以執行App 144。針對這些實例,記憶體內容的一或更多副本可能以對在裝置105或裝置155中的電路所執行之至少OS 142通透的方式來移動。如於下更詳細所述,使用雙層記憶體(2LM)架構可能允許對如OS 142之作業系統及/或App 144通透之這種類型的資訊交換。而且,如於下更詳細所述,2LM架構可能包括分開保持在兩個裝置中的近記憶體和保持在兩個裝置之其一者中的遠記憶體。可能編製兩個近記憶體和一個遠記憶體,使得如OS 142的OS或如App 144的應用程式可能不知道哪個裝置實際上正執行
OS或應用程式。於是,在分開保持的近記憶體之間移動記憶體內容的一或更多副本可能對OS或應用程式係通透的。
第2圖繪示示範第二系統。在一些實例中,示範第二系統包括系統200。如第2圖所示之系統200包括裝置205和裝置255的各種元件。根據一些實例,裝置205的元件可能經由互連201來耦接至裝置255的元件。類似於以上針對第1圖所述之裝置105和155,互連201可能經由透過依照各種互連技術及/或標準操作之有線及/或無線介面的有線或無線通訊通道來建立。因此,互連201可能表示低延遲時間、高頻寬和有效互連以允許計算、記憶體或I/O資源在裝置205與255的至少一些元件之間被聚集或編製。
在一些實例中,如第2圖所示,裝置205可能具有電路220,其包括處理元件222和圖形引擎224。電路220的這些元件可能能夠執行一或更多應用程式,類似於以上針對第1圖所述之App 144。而且,裝置255可能具有電路260,其包括處理元件262和圖形引擎264。相較於電路260或近記憶體270之如第2圖所示之電路220或近記憶體240的元件之相對尺寸可能表示相較於裝置205之用於裝置255之增加的計算能力或記憶體資源。這些增加的計算能力或記憶體資源當相較於裝置105時可能至少部分地歸因於以上針對裝置155所提出的各種實例(例如,固定電源、較高熱容量、高載流容量、較大形狀
因子、等等)。
根據一些實例,除了低延遲時間、高頻寬和有效互連之外,2LM架構也可能在裝置205和裝置255中實作以對由將被切換之電路220執行且接著以某種程度的無縫方式(例如,在幾分之一秒內發生)由電路260執行的應用程式促進快速和有效地交換內文資訊和記憶體內容。例如,在裝置205中的近記憶體240可能包括低延遲時間/較高效能類型的記憶體,如DDR SRAM。而且,在裝置255中的近記憶體270可能包括類似類型的記憶體。作為2LM架構的一部分,遠記憶體245可能包括較高延遲時間/較低效能類型的記憶體,例如但不限於3-D交叉點記憶體、NAND快閃記憶體、NOR快閃記憶體、鐵電記憶體、矽-氧化物-氮化物-氧化物-矽(SONOS)記憶體、如鐵電聚合物記憶體的聚合物記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)或FeRAM)或雙向記憶體之一或更多者。根據一些實例,將由電路220或260執行的用於裝置205或255之OS和應用程式可能將遠記憶體245識別為系統記憶體,且近記憶體240和270可能當作對遠記憶體245的快取以當執行應用程式時被電路220和260使用。
在一些實例中,在建立互連201之後,裝置205的邏輯及/或特徵可能判定由電路220執行的應用程式能由在裝置255中的電路260執行。針對這些實例,裝置205的邏輯及/或特徵可能經由互連201來將用於執行應用程式之記憶體內容的副本從近記憶體240移至近記憶體
270。一旦記憶體內容的副本移至近記憶體240,記憶體內容就可被電路260使用以回復執行應用程式。
根據一些實例,在裝置205中的邏輯及/或特徵可能接著路由關聯於現在執行應用程式之電路260的I/O資訊。針對這些實例,當作用於裝置205之2LM架構的一部分之至少部分的遠記憶體245可能促進此路由I/O資訊,使得用於裝置205及/或裝置255的OS可能不知道在裝置205或裝置255中的哪個近記憶體被使用。由此,路由在裝置205與裝置255之間的I/O資訊可能以對用於裝置205及/或裝置255之OS通透的方式來進行。
在一些實例中,一旦記憶體內容的副本被移至近記憶體270,在裝置205和裝置255兩者中實作的2LM架構就可能使裝置205能藉由不必保持用於近記憶體240的操作功率層級來使用實質上較低的功率。另外,遠記憶體245和近記憶體270可能是像2LM架構的OS且因此可能隱蔽或使在裝置205與255之間移動記憶體內容的副本和清除的內文資訊通透。由此,OS可能不會注意到已移動應用程式以在存在於分離裝置上的電路上執行。此外,額外功率可能被裝置205的邏輯及/或特徵節省,在從被電路220使用以執行應用程式的處理器快取(未示出)清除內文資訊之後,使電路220電源降至休眠或類似類型的較低電源狀態。裝置205的其他元件可能繼續對上述無線通訊230、I/O 210和遠記憶體245供電。但這些其他元件可能使用相當少量的電力且由此裝置205可能節省大量
的電池電力。
雖然在第2圖中未示出,但在一些實例中,遠記憶體可能也保持在裝置255中。針對這些實例,在裝置255中的遠記憶體可能當作一種快取以補償關聯於互連201的潛在延遲時間問題。而且,在裝置255中的遠記憶體可能允許裝置255的邏輯及/或特徵使用在裝置255中的近記憶體270和遠記憶體以支援將在與裝置205連接期間所配置的各種記憶體孔徑尺寸。因此,可能動態地調整近層級記憶體270的大小來符合容量以從近層級記憶體240接收清除的內文資訊。
根據一些實例,如第2圖所示,無線通訊230可能耦接至裝置205。針對這些實例,無線通訊230可能是裝置205經由此可能當作用於裝置255連接至無線網路或另一裝置之繫鏈的工具。這可能透過各種類型的無線通訊通道(如BluetoothTM、WiFi、WiGig或寬頻無線/4G無線通訊通道)而發生。可能經由這些類型的無線通訊通道來接收關聯於執行應用程式的I/O資訊。例如,可能透過關聯於用戶或使用者對使用裝置205而不是裝置255來存取4G無線網路作出解釋的4G無線通訊通道來串流高解析度視頻。針對這些實例,I/O 210可能能夠透過無線通訊230來接收串流視頻資訊且至少暫時地儲存在遠記憶體245中的串流視頻。在裝置205中的邏輯及/或特徵可能接著經由互連201來將此I/O資訊路由至近記憶體270以藉由電路260來執行視頻顯示應用程式。在裝置205中的邏
輯及/或特徵可能接著使高解析度視頻能透過I/O 250而呈現在耦接至裝置255的顯示器(未示出)。
在一些實例中,裝置205的邏輯及/或特徵可能接收經由互連201來連接至裝置255的連線要被終止的指示。例如,裝置255及/或205的使用者可能指示經由輸入命令(例如,經由鍵盤或自然UI輸入事件所偵測),裝置205即將從無線通訊通道實體斷開。另外,若互連201係透過無線通訊通道,則裝置205的邏輯及/或特徵可能以可能導致裝置205移動到裝置255的給定實體接近之外的方式來偵測裝置205之移動。給定接近可能是裝置205可能保持足夠的無線通訊通道以經由互連201來交換資訊的範圍。
根據一些實例,回應於接收互連201之未決終止的指示,裝置205的邏輯及/或特徵可能使電路220和近記憶體240電源提高回至操作電源狀態。如上所述,在將清除的內文資訊和記憶體內容移至近記憶體270之後可能已使裝置205的這些元件電源降低。針對這些實例,裝置255的邏輯及/或特徵可能使用於執行在電路260中的應用程式從快取(未示出)被清除且使保持在近記憶體270中之記憶體內容的第二副本經由互連201被發送至遠記憶體245。一旦在遠記憶體245中接收清除的內文資訊和記憶體內容的第二副本,清除的內文資訊和記憶體內容之第二副本的至少一部分就可能移動/儲存至近記憶體240。電路220可能接著使用清除的內文資訊和記憶體內
容之第二副本的至少一部分以回復執行應用程式。在一些實例中,在裝置255中的邏輯及/或特徵可能接著在經由互連201來對遠記憶體245發送內文資訊和記憶體內容的第二副本之後使電路260和近記憶體270電源降低。
第3圖繪示示範第三系統。在一些實例中,示範第三系統包括系統300。如第3圖所示之系統300包括裝置305和裝置355的各種元件。各種元件係類似於用於以上針對第2圖之系統200所述之裝置205和裝置255的上述元件。即,裝置305和355具有各別電路320和360,其包括各別處理元件322/362和圖形引擎324/364。而且,如第3圖所示,裝置305和355可能包括分離的近記憶體330和370且裝置305具有遠記憶體340。
根據一些實例,如第3圖所示,系統300可能包括具有遠記憶體340和近記憶體370的可組合記憶體310。針對這些實例,雖然未顯示於第3圖中,但低延遲時間、高頻寬、無線或有線互連可能將裝置305耦接至裝置355以使遠記憶體通道344能在保持在裝置305中的遠記憶體340與保持在裝置355中的近記憶體370之間建立。
如於下更詳細所述,可組合記憶體310以及近記憶體330可能是2LM架構或結構的一部分,其促進以可能對用於裝置305或355之OS通透的方式來在近記憶體330與近記憶體370之間移動記憶體內容的一或更多副本。換言之,當內文資訊和關聯於執行一或更多應用程
式之記憶體內容的副本在電路330所使用的近記憶體330至電路360所使用的近記憶體370之間移動時,OS可能不知道哪個裝置可能執行一或更多應用程式。通透性可能基於以一種方式實作的2LM架構,使得遠記憶體340可能被提出給OS作為系統主記憶體且近記憶體330和370可能當作對遠記憶體340的快取以當執行一或更多應用程式時被各別電路320和360使用。於是,OS可能僅知道遠記憶體340且不知道在兩個近記憶體之間移動內文資訊和記憶體內容的一或更多副本。
在一些實例中,近記憶體370可能包括第一記憶體容量,其係實質上大於用於近記憶體330的第二記憶體容量。例如,近記憶體320可能具有小於十億位元組的記憶體容量且近記憶體370可能具有數十億位元組的記憶體容量。記憶體容量差異可能由於裝置355的大形狀因子尺寸且也由於相較於電路320包括在電路360中的較多計算資源,其可能導致對更多記憶體容量的較高需要以符合較多計算資源。實例並不僅限於針對可能之記憶體容量差異的這兩個原因。
根據一些實例,由於電路320和電路360都能夠使用2LM架構來執行應用程式,因此可能藉由確保用於遠記憶體340的記憶體容量等於或大於近記憶體370的記憶體容量來調節在近記憶體330和370之間的尺寸差異。針對這些實例,遠記憶體340可能由可能比可能用於近記憶體330或370的記憶體類型具有較低存取延遲時間
但可能使用實質上較低的功率和實質上低於每十億位元組之記憶體容量的成本之非揮發性記憶體的類型組成。相較於近記憶體330,較低成本和較少功率使用可能對遠記憶體340致能實質上較大的記憶體容量。
在一些實例中,經由使用2LM架構,用於裝置305和355的OS可能配置以基於關聯於至少等於用於近記憶體370的記憶體容量之遠記憶體340的記憶體容量由電路320或360執行。針對這些實例,將應用程式之執行從裝置305移至裝置355可能藉由不必重調大小/轉換記憶體定址結構的OS來促進以說明關聯於近記憶體330和370之可能不同的記憶體容量。可能設計當由電路320執行時被OS使用的記憶體定址架構,使得其他電路所使用之顯著較大的近記憶體(如電路360所使用的近記憶體370)能更好地利用大記憶體容量。例如,若OS僅使用關聯於用於近記憶體330之記憶體容量的記憶體定址架構,則可能藉由使用關聯於近記憶體330之較低記憶體容量的記憶體定址架構來減少在近記憶體370中具有較大記憶體容量的益處。
在一些實例中,位於或具有電路360的整合記憶體控制器(iMC)376或位於或具有電路320的iMC 326可能使用各種記憶體通道來促進關聯於執行一或更多應用程式的記憶體內容資訊之移動。而且,位於或具有遠記憶體340的記憶體控制器(MC)可能經由各種記憶體通道來對iMC 376或iMC 326提供請求資料,例如,回應於在可能
在執行一或更多應用程式期間所導致之各別近記憶體中的分頁誤失。
在一些實例中,除了上述遠記憶體通道344之外,用以提取、發送、複製或移動記憶體內容資訊的第3圖所示之各種記憶體通道也可能包括在電路360與近記憶體370之間的近記憶體通道372。各種記憶體通道可能也包括在遠記憶體340與近記憶體330之間的遠記憶體通道或在電路320與近記憶體330之間的近記憶體通道332。如於上簡短所述和於下另外所述,在裝置305或裝置355中的邏輯及/或特徵可能利用2LM架構來執行一或更多應用程式,使得可能以可能對用於裝置305或裝置355之OS通透的方式經由這些各種記憶體通道來提取、發送、複製或移動保持在近記憶體330或370中的記憶體內容。
第4圖繪示示範狀態機400。在一些實例中,狀態機400描繪在兩個裝置中之電路和近記憶體的各種狀態及在裝置之間的內文資訊和記憶體內容的副本之移動。針對這些實例,包括以上針對第3圖所示和所述之用於裝置305和355的元件之系統300的元件係用以說明狀態機400。然而,示範狀態機400並不限於以上針對第3圖所示和所述之元件。
在一些實例中,如第4圖所示,裝置305可能當對接首次發生或被在裝置305中的邏輯及/或特徵偵測到時處於執行狀態。針對這些實例,電路320可能執行
一或更多應用程式。在偵測對接之後,在裝置305中的邏輯及/或特徵可能使關聯於執行一或更多應用程式的內文資訊從電路320所使用的快取被清除。邏輯及/或特徵可能接著靜止電路320。邏輯及/或特徵可能也將近記憶體330之記憶體內容的第一副本移至遠記憶體340,且接著使電路320和近記憶體330兩者電源降低至低/非操作電源狀態(例如,休眠電源狀態)。在裝置305中的邏輯及/或特徵可能接著使內文資訊和記憶體內容的第一副本經由透過互連所路由的記憶體通道來進一步移至在裝置355中的近記憶體370。
根據一些實例,在裝置355中的邏輯及/或特徵可能將電路260和近記憶體270喚醒至電源提高狀態,其可能是操作電源狀態。喚醒可能在偵測對接之後發生。邏輯及/或特徵可能接著將接收之記憶體內容的第一副本和內文資訊儲存至近記憶體270。電路260可能現在處於執行狀態以執行先前由在裝置305中的電路320執行的一或更多應用程式。
在一些實例中,在裝置355中的邏輯及/或特徵可能接收裝置355即將斷開裝置305的指示。針對這些實例,在裝置355中的邏輯及/或特徵可能使關聯於執行一或更多應用程式的內文資訊從電路360所使用的快取被清除。邏輯及/或特徵可能接著靜止電路360。邏輯及/或特徵可能也將近記憶體370之記憶體內容的第二副本移至遠記憶體340,且接著使電路360和近記憶體370兩者電
源降低至低/非操作電源狀態(例如,休眠狀態)。
根據一些實例,在裝置305中的邏輯及/或特徵可能將電路320和近記憶體330喚醒至電源提高狀態,其可能是操作電源狀態。喚醒可能在裝置305即將斷開裝置355的指示之後發生。邏輯及/或特徵可能接著將記憶體內容的第二副本和內文資訊從遠記憶體340傳送至近記憶體330。電路320可能現在處於執行狀態以執行先前由在裝置355中的電路360執行的一或更多應用程式。
在一些實例中,用於狀態機400之第4圖所示之狀態的轉換可能在裝置305或裝置355之使用者可能實質上難以覺察的速率下發生。例如,小於幾分之一秒(例如,1/10th秒)。如於下更加所述,在裝置305和355兩者中的邏輯及/或特徵可能能夠實作各種策略以確保近記憶體330及370之間的記憶體內容之副本的快速轉移以當兩個裝置以如使用者覺察之實質上難以覺察的方式分離時,使一或更多應用程式能切換於裝置305中的電路320至裝置355中的電路360之間。
第5圖繪示示範程序500。在一些實例中,程序500可能用於聚集或編製在裝置之間的記憶體資源。針對這些實例,如第3圖所示之系統300的元件可能用以繪示與程序500相關的示範操作。然而,示範程序或操作並不限於使用系統300之元件的實作。
開始於程序5.0(執行應用程式),裝置305的電路320可能執行一或更多應用程式。例如,一或更多應
用程式可能包括視頻串流應用程式以對在裝置305中的顯示器呈現串流視頻。
繼續進行至程序5.1(偵測裝置),在裝置305中的邏輯及/或特徵可能偵測具有能夠執行裝置355所執行之一或更多應用程式的至少一部分之電路360的裝置355。
繼續進行至程序5.2(經由互連來連接),在裝置305中的邏輯及/或特徵可能使裝置305經由互連來連接至裝置355。在一些實例中,用於互連的連線可能經由有線通訊通道。在其他實例中,用於互連的連線可能經由無線通訊通道。
繼續進行至程序5.3(清除內文資訊、靜止電路),在裝置305中的邏輯及/或特徵可能使用以執行至少部分之一或更多應用程式的內文資訊從近記憶體330被清除。例如,可能清除至少暫時地保持在近記憶體330中的視頻訊框資訊。
繼續進行至程序5.4(發送內文資訊、經由互連來複製記憶憶體內容),在裝置305中的邏輯及/或特徵可能使清除的內文資訊和近記憶體330之記憶體內容的副本經由有線/無線互連被發送至裝置355。在一些實例中,清除的內文資訊和記憶體內容的副本可能在經由有線/無線互連被發送至裝置355之前被首先發送至遠記憶體340。
繼續進行至程序5.5(將電路、近記憶體電源
降低),在裝置305中的邏輯及/或特徵在發送清除的內文資訊和記憶體內容的副本之後可能使電路320和近記憶體330電源降低。
繼續進行至程序5.6(將內文資訊、記憶體內容的副本接收至近記憶體),在裝置355中的邏輯及/或特徵可能將內文資訊和記憶體內容的副本接收至近記憶體370。
繼續進行至程序5.7(執行應用程式),電路360可能使用接收/儲存至近記憶體370之清除的內文資訊和記憶體內容的副本來執行一或更多應用程式。例如,用於執行視頻顯示應用程式的視頻訊框資訊可能用以對耦接至裝置355的顯示器呈現串流視頻。串流視頻可能是呈現給大型顯示器(例如,大於15吋)的高解析度視頻(例如,至少4K解析度)。
繼續進行至程序5.8(基於寫回策略或記憶體檢查點來發送中途分頁),在裝置355中的邏輯及/或特徵可能實作寫回策略或記憶體檢查點,其使在藉由電路360來執行一或更多應用程式期間所產生的一或更多中途分頁被發送至裝置305。在一些實例中,可能實作寫回策略或記憶體檢查點以最小化或減少當未對接時將需要移回至裝置305之近記憶體330的一些中途分頁。寫回策略或記憶體檢查點可能包括一或更多臨界值或時間限制,其一旦超過時,就導致對遠記憶體340發送中途分頁。由於基於週期性或臨界基礎來發送中途分頁,因此減少了在未對接時
所傳送的記憶體內容量。這種時間減少可能能以裝置305之使用者可能難以覺察的方式來將一或更多應用程式之執行移回至裝置305。
在一些實例中,包括週期性發送中途分頁的寫回策略可能基於一時間週期,其平衡需要迅速地分離且將記憶體內容從近記憶體370移至近記憶體340並試圖節省電力。例如,若時間週期短,則用以發送/接收中途分頁的有線/無線互連可能使用實質功率量。較長的時間週期會是更有效的能量,但若未對接事件在較長時間週期終止之前立刻發生,則記憶體內容之移動可能延遲且使用者可能覺察此延遲。
根據一些實例,包括基於臨界基礎來發送中途分頁的寫回策略可能包括基於用於近記憶體330之記憶體容量的第一臨界數量。例如,若近記憶體330比近記憶體370具有相對小的記憶體容量,則中途分頁的第一臨界數量應該夠低,使得近記憶體330的較小記憶體容量能接收所有中途分頁而不超過其記憶體容量。第一臨界數量可能也基於各別資料頻寬和延遲時間,用於經由有線/無線互連來在遠記憶體340與近記憶體370之間移動記憶體內容的副本以確保移動記憶體內容使電路320以及時方式而沒有可感知的中斷來回復執行一或更多應用程式。針對這些實例,資料頻寬愈低,則用於移動記憶體內容的延遲時間就愈高,中途分頁的第一臨界數量就愈低。
在一些實例中,寫回策略可能包括第二臨界
數量,其可能關聯於在偵測使用者啟動的未對接直到實際去耦或終止互連時為止之間的未對接回應時間。針對這些實例,第二臨界值可能基於資料頻寬能力,用於經由有線/無線互連來在遠記憶體340與近記憶體370之間移動記憶體內容的第二副本。第二臨界值可能也基於關聯於從裝置305斷開裝置355的時間限制(例如,1/10th秒)及關聯於在藉由電路360來執行一或更多應用程式期間所產生之中途分頁的尺寸。例如,較大尺寸的中途分頁將導致較低的第二臨界數量。而且,較低的資料頻寬和較高的延遲時間可能也導致較低的第二臨界數量。
在一些實例中,記憶體檢查點可能作為錯誤校正/復原技術,其中藉由在裝置355中的電路360所執行之一或更多應用程式係置於熟知狀態或復原點。針對這些實例,復原點可能使一或更多應用程式能被回復至在裝置305至裝置355之非預期/突然斷開之事件中的已知狀態。互連特性可能定義在近記憶體370中之記憶體內容的臨界數量,其可能安全地出現在任何瞬間,在之前記憶體內容資料需要被複製回至少遠記憶體340以在非預期斷開之後到達復原點或已知狀態。若在裝置305與355之間的互連係能夠在極短時間內(例如,小於1/100th秒)從近記憶體370複製記憶體內容的低延遲時間、高頻寬互連,則可能不需要任何記憶體檢查點。然而,若需要的話,記憶體檢查點可能基於如用於透過互連來在近記憶體370與至少遠記憶體340之間移動記憶體內容之可用資料頻寬、互連
上所觀察到的延遲時間、或指定功率使用限制的互連特性來建立中途分頁的一種動態臨界數量。
根據一些實例,關聯於記憶體檢查點之中途分頁的動態臨界數量可能也基於對遠記憶體340的MC 346的寫入延遲時間。若MC 346具有相對長的寫入延遲時間,則中途分頁的臨界數量會較低以適應其較長的寫入延遲時間。中途分頁的動態臨界數量中途分頁可能也基於iMC 376的讀取延遲時間以從近記憶體370讀取資料。例如,相對快的讀取延遲時間可能允許中途分頁的較高臨界數量。用於對記憶體檢查點設定中途分頁之臨界數量的上述準則只是一些示範準則,實例並不僅限於上述準則。
繼續進行至程序5.9(將中途分頁接收至遠記憶體),在裝置305中的邏輯及/或特徵可能將一或更多中途分頁接收至遠記憶體340。一或更多中途分頁可能表示保持在近記憶體370中之記憶體內容的至少一部分且可能已根據寫回策略來被發送或作為部分的記憶體檢查點。
繼續進行至程序5.10(對近記憶體的分頁誤失),電路360在執行一或更多應用程式期間可能請求未包括在移至近記憶體370之記憶體內容中的資料。在一些實例中,在近記憶體370中缺乏資料可能導致分頁誤失。針對這些實例,資料可能保持在遠記憶體340中。
繼續進行至程序5.11(對遠記憶體的記憶體存取請求),在如iMC 376之裝置355中的邏輯及/或特徵可能產生記憶體存取請求且對在遠記憶體340中的MC 346
發送記憶體存取請求。在一些實例中,記憶體存取請求可能用以回應於分頁誤失而獲得資料。
繼續進行至程序5.12(實現記憶體存取請求),在如MC 346之裝置305中的邏輯及/或特徵可能接收記憶體存取請求且實現請求以提供關聯於分頁誤失的資料。
在一些實例中,程序500的至少程序5.7至5.12可能繼續,直到斷開/終止將裝置355連接至裝置305的互連為止。如下更加所述,在一些實例中,另一系列的程序可能藉由在裝置305和355中的邏輯及/或特徵來實作以使用於執行一或更多應用程式的內文資訊和記憶體內容移回至近記憶體330。移動可能在終止互連之前發生。
第6圖繪示示範程序600。在一些實例中,程序600可能用於未對接或斷開在裝置之間之聚集或編製的記憶體資源。針對這些實例,如第3圖所示之系統300的元件可能用以繪示程序600相關的示範操作。而且,程序600可能是在如以上針對第5圖所述之聚集或編製記憶體資源之後的程序500之連續。然而,示範程序或操作並不限於使用系統300之元件的實作或程序500之連續。
開始於程序6.0(執行應用程式),裝置355的電路360可能執行先前在如以上針對程序500所述之對接之前由裝置305之電路320所執行的一或更多應用程式。
繼續進行至程序6.1(偵測未對接),在裝置355中的邏輯及/或特徵可能偵測或接收連接至裝置305的連線將要終止的指示。在一些實例中,若連線係經由有線
互連,則偵測可能基於使用者藉由輸入指示及/或從對接實體移除裝置或對有線互連去掉連接器(例如,適配器)來產生指示。在其他實例中,若連線係經由無線互連,則偵測可能基於使用者以指示無線互連即將被斷開或落在保持無線互連的可接受範圍外之方式來在遠離裝置355的方向上啟動裝置305之移動。
繼續進行至程序6.2(使電路、近記憶體電源提高),在裝置305中的邏輯及/或特徵可能在預期未對接下將電路320和近記憶體330電源提高。在一些實例中,如以上針對程序500所述,寫回策略可能使在電路360所執行之一或更多應用程式期間保持在近記憶體370中之記憶體內容的至少一部分被週期性地發送至裝置305且儲存在遠記憶體340中。針對這些實例,這些先前發送的中途分頁當初始電源提高時可能被複製至近記憶體330以降低總複製記憶體內容量,其可能需要被移動以使電路320能以更時間有效的方式來執行一或更多應用程式。
繼續進行至程序6.3(清除內文資訊,靜止電路),在裝置355中的邏輯及/或特徵可能使用以執行一或更多應用程式的內文資訊從近記憶體370被清除。邏輯及/或特徵可能接著靜止電路360。
繼續進行至程序6.4(經由互連來發送內文資訊、記憶體內容的第二副本),在裝置355中的邏輯及/或特徵可能使清除的內文資訊和記憶體內容的第二副本經由互連被發送至裝置305。在一些實例中,可能在遠記憶體
340中接收內文資訊和記憶體內容的第二副本。針對這些實例,如以上針對程序6.2所述,先前保持在近記憶體370中之記憶體內容的其他部分可能已被發送作為部分的寫回策略以促進在裝置355與裝置305之間及時地移動記憶體內容。未先前被發送作為部分的寫回策略之部分可能現在與記憶體內容的第二副本一起被發送以允許較少資料經由互連被傳送。
繼續進行至程序6.5(將電路、近記憶體電源降低),在裝置355中的邏輯及/或特徵可能接著將電路360和近記憶體370兩者電源降低。
繼續進行至程序6.5(將內文資訊、記憶體內容的第二副本接收至近記憶體),在裝置305中的邏輯及/或特徵可能將內文資訊和記憶體內容的第二副本接收至遠記憶體340。
繼續進行至程序6.6(將內文資訊、記憶體內容的第二副本儲存至近記憶體),在裝置305中的邏輯及/或特徵可能將接收之內文資訊和記憶體內容的第二副本儲存至近記憶體330。在一些實例中,近記憶體330可能具有比近記憶體370更小的記憶體容量。針對這些實例,記憶體內容之第二副本的至少一部分可能基於記憶體分頁策略來儲存至近記憶體330。記憶體分頁策略可能包括當執行一或更多應用程式時儲存主動被電路360使用的記憶體分頁。記憶體分頁策略可能也包括基於關聯於給定記憶體分頁之期限來儲存,例如,更近被寫入至記憶體分頁被首
先儲存或對有限近記憶體330容量具有優先序。記憶體分頁策略可能也包括基於關聯於記憶體分頁的一存取樣式來儲存,其可能關聯於優先序架構或指示哪些記憶體分頁是最近被存取的。實例並不限於上述記憶體分頁策略,設想出用以優先化來自記憶體內容之第二副本的哪些記憶體分頁被複製至近記憶體的其他策略。
繼續進行至程序6.7(執行應用程式),在裝置305中的電路320可能使用現在儲存於近記憶體330中的內文資訊和記憶體內容之第二副本的部分以回復執行一或更多應用程式。
繼續進行至程序6.8(完成未對接),在裝置305和355兩者中的邏輯及/或特徵可能藉由經由互連終止連線來完成未對接且程序600接著結束。
第7圖繪示用於記憶體檢查點的示範邏輯流程700。在一些實例中,邏輯流程700可能在對接至裝置305且將一或更多應用程式之執行移至裝置355的電路360之後藉由如以上針對第3圖所述之系統300的裝置355來實作。而且,系統300的其他組件或元件可能用以繪示與邏輯流程700相關的示範程序。然而,示範程序或操作並不限於使用系統300之元件的實作。
從開始移至決策方塊710(未對接事件?),在裝置355中的邏輯及/或特徵可能判斷是否已發生未對接事件。在一些實例中,未對接事件可能基於接收或偵測未對接即將發生的指示。若接收或偵測到未對接的指示,則
程序移至方塊740。否則,程序移至方塊720。
從決策方塊710移至方塊720(執行應用程式),電路360可能執行一或更多應用程式。在執行一或更多應用程式期間,程序可能移至決策方塊730或決策方塊750。
從方塊720繼續進行至決策方塊730(達到MT嗎?),在裝置355中的邏輯及/或特徵可能判斷是否已達到稱為「MT」之中途分頁的動態臨界數量。在一些實例中,MT可能基於用於經由將裝置355連接至裝置305的有線或無線互連來在至少遠記憶體340與近記憶體370之間移動記憶體內容之副本的可用資料頻寬、觀察到的延遲時間、或指定功率使用限制。MT可能也基於對遠記憶體340之MC 346的寫入延遲時間和從近記憶體370的iMC讀取延遲時間。針對這些實例,MT可能影響在藉由裝置355中的電路360來執行一或更多應用程式期間,中途分頁或資料需要被複製至裝置305所位於的頻率。由於MC 346的寫入延遲時間和iMC 376的讀取延遲時間可能是靜止或固定的,因此可能仍需要用於MT的動態臨界數量,因為互連特性(移動物件、干擾、雨、濕度、等等)可能改變。若達到或超過MT,則程序移至方塊740。否則,程序返回至決策方塊710。
從決策方塊710或決策方塊730移至方塊740(對裝置305發送檢查點內容),在裝置355中的邏輯及/或特徵可能對在裝置305中的至少遠記憶體340發送
可能包括一或更多中途分頁的記憶體檢查點內容。若程序從決策方塊710移動,則程序可能接著隨著執行一或更多應用程式移位或移回至裝置305且將電路360和近記憶體370電源降低而結束。若程序從決策方塊730移動,則程序接著移至決策方塊710。
從方塊720移至決策方塊750(分頁誤失嗎?),在裝置355中的邏輯及/或特徵可能判斷在藉由電路360來執行一或更多應用程式期間,是否已對近記憶體370發生分頁誤失。在一些實例中,iMC 376可能進行此判斷。若分頁誤失發生,則程序移至決策方塊760。否則,程序移至決策方塊710。
從決策方塊750移至決策方塊760(中途分頁存在嗎?),在裝置355中的邏輯及/或特徵可能判斷任何中途分頁是否可能存在及/或準備對在裝置305中的至少遠記憶體340發送。在一些實例中,複製如中途分頁的資料就對裝置355或裝置305的功率使用和可能效能耗損而言可能是昂貴操作。因此,為了減少複製中途分頁的頻率,可能實作一種技術為無論對近記憶體370的分頁誤失是否發生,存在於近記憶體370中的所有中途分頁都可能被複製至在裝置305中的至少遠記憶體340。即使尚未達到或超過如MT的其他臨界值,這都可能發生。因此,藉由當分頁誤失時適時地複製中途分頁,可能更好地利用互連頻寬且可能也降低功率消耗。在無線互連的情況下,中途分頁的適時複製可能是顯著的益處,因為可能更好地最佳化
無線電利用以相較於較頻繁地傳送小量資料而較少頻率地傳送較大量資料。若中途分頁存在,則程序移至方塊770。否則,程序移至780。
從決策方塊760移至方塊770(對裝置305發送記憶體請求和中途分頁),在裝置355中的邏輯及/或特徵可能使對分頁誤失的記憶體請求和任何中途分頁被發送至裝置305。在一些實例中,用於遠記憶體340的MC 346可能接收記憶體請求且也使中途分頁被保存至至少遠記憶體340。針對這些實例,MC 346可能也藉由使關聯於記憶體請求的資料從遠記憶體340獲得並發送至裝置355以及複製至近記憶體370來實現記憶體請求。程序接著移至決策方塊710。
從決策方塊760移至方塊780(對裝置305發送記憶體請求),在裝置355中的邏輯及/或特徵可能僅使對分頁誤失的記憶體請求被發送至裝置305。在一些實例中,如以上針對決策方塊770所述,用於遠記憶體340的MC 346可能接收記憶體請求且藉由使關聯於記憶體請求的資料從遠記憶體340獲得並發送至裝置355以及複製至近記憶體370來實現記憶體請求。程序接著移至決策方塊710。
第8圖繪示用於第一設備的方塊圖。如第8圖所示,第一設備包括設備800。雖然第8圖所示之設備800在特定拓撲或配置中具有有限數量的元件,但可能了解設備800可能在依據給定實作所期望的其他配置中包括
更多或更少元件。
設備800可能包括計算裝置的元件,其可能是所實作的韌體且具有配置以執行一或更多邏輯822-a的處理器電路820。值得注意的是如本文所使用之「a」和「b」和「c」及類似指定符預期是代表任何正整數的變數。由此,例如,若實作對a=5設定一值,則完整的一組邏輯822-a可能包括822-1、822-2、822-3、822-4或822-5。實例並不限於此內文。
根據一些實例,設備800可能是第一裝置(例如,裝置105、205或305)的一部分,第一裝置具有第一電路,能夠使用包括第一近記憶體和第二遠記憶體的2LM架構來執行一或更多應用程式。實例並不限於此內文。
在一些實例中,如第8圖所示,設備800包括處理器電路820。處理器電路820可能通常配置以執行一或更多邏輯822-a。處理器電路820可以是各種市售的處理器(包括但不限於AMD®Athlon®、Duron®和Opteron®處理器;ARM®應用程式、嵌入式和安全處理器;IBM®和Motorola®DragonBall®及PowerPC®處理器;IBM和Sony®Cell處理器;Qualcomm®Snapdragon®;Intel®Celeron®、Core(2)Duo®、Core i3、Core i5、Core i7、Itanium®、Pentium®、Xeon®、Atom®和XScale®處理器;及類似處理器)之任一者。雙微處理器、多核心處理器、及其他多處理器架構可能也作為處理器電路820。根據一些實例,處理器電路820可能也是專用積體電路(ASIC)且邏輯822-
a可能被實作成ASIC的硬體元件。
根據一些實例,設備800可能包括偵測邏輯822-1。偵測邏輯822-1可能由處理器電路820執行以偵測能夠使用也包括第二近記憶體的2LM架構來執行一或更多應用程式的第二電路。例如,偵測邏輯822-1可能接收偵測資訊805,其可能指示具有第二電路和第二近記憶體的第二裝置已經由有線或無線通訊通道來連接至第一裝置。
在一些實例中,設備800可能也包括連接邏輯822-2。連接邏輯822-2可能由處理器電路820執行以經由互連來在第一遠記憶體與第二近記憶體之間產生裝置連線。例如,連接邏輯822-2可能經由互連來連接,其可能依照一或更多低延遲時間、高頻寬和有效率互連技術(如PCIe、QPI、WiGig或WiFi)來操作。
根據一些實例,設備800可能也包括移動邏輯822-3。移動邏輯822-3可能由處理器電路820執行以利用第一遠記憶體來使記憶體內容825的副本從保持在第一裝置中的第一近記憶體移至第二近記憶體。可能以對用於第一裝置或第二裝置之OS通透的方式來移動記憶體內容825的副本。在一些實例中,移動邏輯822-3可能也促進在未對接的事件中儲存從第二裝置接收的記憶體內容845之副本的至少一部分。可能根據分頁策略824-a來儲存記憶體內容845之至少部分的副本。可能藉由在如查找表(LUT)之資料結構中的移動邏輯822-3來維護分頁策略
824-a。
在一些實例中,移動邏輯822-3可能從第二近記憶體接收至少部分的記憶體內容845。至少部分的記憶體內容845可能包括中途分頁810。可能已在藉由第二電路來執行一或更多應用程式期間產生中途分頁810。針對這些實例,移動邏輯822-3可能使中途分頁810被儲存至至少第一遠記憶體。
根據一些實例,設備800可能包括請求邏輯822-4。請求邏輯822-4可能由處理器電路執行以基於對第二近記憶體的分頁誤失來接收可能包括對第一遠記憶體之記憶體存取請求的記憶體請求835。針對這些實例,請求邏輯822-4可能使包括在記憶體請求835中的記憶體存取請求被實現以提供關聯於在遠記憶體回應840中之分頁誤失的資料。
根據一些實例,設備800可能包括電源邏輯822-5。電源邏輯822-5可能由處理器電路820執行以使第一電路和第一近記憶體電源降低或電源提高。例如,第一電路和第一近記憶體可能在對第二裝置發送內文資訊和記憶體內容825的副本之後電源降低至較低電源狀態。第一電路和第一近記憶體可能隨後在第一與第二裝置之間的互連即將要被終止的指示之後電源提高至較高電源狀態。指示可能包括在連接資訊815(例如,使用者輸入命令或無線範圍偵測)中。
本文所包括的是一組表示用於進行所揭露之
架構的新穎態樣之示範方法的邏輯流程。儘管為了簡單說明之目的,本文所示之一或更多方法被顯示和說明為一系列動作,但本領域之那些技術者將了解和理解方法並不限於動作的順序。依照於此,一些動作可能以與本文所示和所述之其他動作不同順序及/或同時地發生。例如,本領域之那些技術者將了解和理解方法能另外被表示為如在狀態圖中之一系列相互關聯的狀態或事件。再者,並非所有繪示在方法中的動作都可能需要用於新的實作。
邏輯流程可能在軟體、韌體、及/或硬體中實作。在軟體和韌體的實施例中,邏輯流程可能藉由儲存在至少一非暫態電腦可讀媒體或機器可讀媒體(如光學、磁性或半導體儲存器)上的電腦可執行指令來實作。實施例並不限於此內文。
第9圖繪示第一邏輯流程的實例。如第9圖所示,第一邏輯流程包括邏輯流程900。邏輯流程900可能表示由本文所述之一或更多邏輯、特徵、或裝置(如設備900)執行的一些或所有操作。尤其是,邏輯流程900可能藉由偵測邏輯822-1、連接邏輯822-2、移動邏輯822-3、請求邏輯822-4或電源邏輯822-5來實作。
在第9圖所示之顯示實例中,在方塊902中,邏輯流程900可能在第一電路上執行一或更多應用程式。第一電路可能能夠使用包括第一近記憶體和第一遠記憶體的2LM架構來執行一或更多應用程式。
根據一些實例,在方塊904中,邏輯流程900
可能偵測能夠使用也包括第二近記憶體的2LM架構來執行一或更多應用程式的第二電路。針對這些實例,偵測邏輯822-1可能偵測第二電路。
在一些實例中,在方塊906中,邏輯流程900可能將第一遠記憶體連接至第二近記憶體。針對這些實例,連接邏輯822-2可能使經由互連的連線變成透過有線或無線通訊通道來建立。
根據一些實例,在方塊908中,邏輯流程900可能利用第一遠記憶體來將記憶體內容的副本從第一近記憶體移至第二近記憶體。可能以對作業系統通透的方式來移動記憶體內容的副本。針對這些實例,移動邏輯822-3可能使記憶體內容的副本移至第二近記憶體。
在一些實例中,在方塊910中,邏輯流程900可能在將第一近記憶體中之記憶體內容的副本移至第二近記憶體之後將第一電路和第一近記憶體電源降低至較低電源狀態。針對這些實例,電源邏輯822-5可能使第一電路和第一近記憶體電源降低。
根據一些實例,在方塊912中,邏輯流程900可能繼續對第一遠記憶體供電。針對這些實例,電源邏輯822-5可能使給第一遠記憶體的電源繼續。
第10圖繪示第一儲存媒體的實施例。如第10圖所示,第一儲存媒體包括儲存媒體1000。儲存媒體1000可能包含製造物件。在一些實例中,儲存媒體1000可能包括任何非暫態電腦可讀媒體或機器可讀媒體,如光
學、磁性或半導體儲存器。儲存媒體1000可能儲存各種類型的電腦可執行指令,如用以實作邏輯流程900的指令。電腦可讀或機器可讀儲存媒體的實例可能包括能夠儲存電子資料的任何有形媒體,包括揮發性記憶體或非揮發性記憶體、可移除或不可移除記憶體、可抹除或不可抹除記憶體、可寫入或可再寫記憶體、等等。電腦可執行指令的實例可能包括任何適當類型的碼,如原始碼、編譯碼、解譯碼、可執行碼、靜態碼、動態碼、物件導向碼、虛擬碼、等等。實例並不限於此內文。
第11圖繪示用於第二設備的方塊圖。如第11圖所示,第二設備包括設備1100。雖然第11圖所示之設備1100在特定拓撲或配置中具有有限數量的元件,但可能了解設備1100可能在依據給定實作所期望的其他配置中包括更多或更少元件。
設備1100可能包括計算裝置的元件,其可能是所實作的韌體且具有配置以執行一或更多邏輯1122-a的處理器電路1120。類似於用於第8圖的設備800,「a」和「b」和「c」及類似指定符可能是代表任何正整數的變數。
根據一些實例,設備1100可能是第一裝置(例如,裝置155、255或355)的一部分,第一裝置具有第一電路,能夠使用包括近記憶體和遠記憶體的2LM架構來執行一或更多應用程式。實例並不限於此內文。
在一些實例中,如第11圖所示,設備1100
包括處理器電路1120。處理器電路1120可能通常配置以執行一或更多邏輯1122-a。處理器電路1120可以是各種市售的處理器(用以包括但不限於先前針對用於設備800的處理器電路820所述之那些)之任一者。雙微處理器、多核心處理器、及其他多處理器架構可能也作為處理器電路1120。根據一些實例,處理器電路1120可能也是專用積體電路(ASIC)且邏輯1122-a可能被實作成ASIC的硬體元件。
根據一些實例,設備1100可能包括偵測邏輯1122-1。偵測邏輯1122-1可能由處理器電路1120執行以偵測連接至包括在2LM架構中的第二近記憶體之連線的指示。第二近記憶體當由第二電路執行時可能能夠被一或更多應用程式使用。例如,偵測邏輯1122-1可能接收偵測資訊1105,其可能指示經由有線或無線通訊通道來連接至第二電路的連線。
在一些實例中,設備1100可能也包括副本邏輯1122-2。副本邏輯1122-2可能由處理器電路1120執行以從第一遠記憶體接收從被第二電路使用以執行一或更多應用程式的第二近記憶體發送之記憶體內容1110的副本。副本邏輯1122-2可能以對OS通透的方式來將記憶體內容1100的副本儲存至第一近記憶體。儲存至第一近記憶體之記憶體內容1110的副本被第一電路使用以執行一或更多應用程式。
在一些實例中,設備1100可能也包括請求邏
輯1122-3。請求邏輯1122-3可能由處理器電路1120執行以接收用於第一近記憶體的分頁誤失指示。分頁誤失可能關聯於保持在第一遠記憶體中的資料。回應於分頁誤失請求,邏輯1122-3可能對第一遠記憶體發送包括在遠記憶體請求1135中的記憶體存取請求以獲得資料。請求邏輯1122-3可能接著在包括在遠記憶體回應1140中之遠記憶體回應中從第一遠記憶體接收資料,且可能接著使接收之資料複製至第一近記憶體。
根據一些實例,設備1100可能也包括寫回邏輯1122-4。寫回邏輯1122-4可能由處理器電路1120執行以將至少部分的記憶體內容從第一近記憶體發送至第一遠記憶體。至少部分的記憶體內容可能包括中途分頁1125,其具有在藉由第一電路來執行一或更多應用程式期間所產生的一或更多中途分頁。針對這些實例,寫回邏輯1122-4可能將寫回策略1124-a保持在例如資料結構(如LUT)中。寫回策略1124-a可能引導寫回邏輯1122-4基於超過保持在第一近記憶體中之中途分頁的第一或第二臨界數量或超過中途分頁可能保持在第一近記憶體中所經過的臨界時間之一或更多者來對第一遠記憶體發送中途分頁1125。
在一些實例中,寫回邏輯1122-4可能也使至少部分的記憶體內容基於記憶體檢查點來寫回至至少第一遠記憶體。如上所述,記憶體檢查點可能關聯於中途分頁的動態臨界數量(例如,MT)。一旦超過中途分頁的動態臨
界數量,寫回邏輯1122-4就可能發送可能包括一或更多中途分頁的中途分頁1125。
在一些實例中,設備1100可能也包括移動邏輯1122-5。移動邏輯1122-5可能由處理器電路1120執行以將記憶體內容1145的副本從第一近記憶體發送至至少第一遠記憶體以使記憶體內容1145之副本的至少一部分能移至第二近記憶體。在一些實例中,可能回應於偵測未對接或連接至第二裝置的連線即將要被終止的指示而發送記憶體內容1145的副本。可能在連接資訊1115中接收此資訊。
在一些實例中,設備1100可能包括電源邏輯1122-6。電源邏輯1122-6可能由處理器電路1120執行以使在第一裝置中的第一電路和第一近記憶體電源降低或電源提高。例如,第一電路和第一近記憶體可能在將清除的內文資訊和記憶體內容1145的副本從第一近記憶體發送至第二裝置之後電源降低至較低電源狀態。
本文所包括的是一組表示用於進行所揭露之架構的新穎態樣之示範方法的邏輯流程。儘管為了簡單說明之目的,本文所示之一或更多方法被顯示和說明為一系列動作,但本領域之那些技術者將了解和理解方法並不限於動作的順序。依照於此,一些動作可能以與本文所示和所述之其他動作不同順序及/或同時地發生。例如,本領域之那些技術者將了解和理解方法能另外被表示為如在狀態圖中之一系列相互關聯的狀態或事件。再者,並非所有
繪示在方法中的動作都可能需要用於新的實作。
邏輯流程可能在軟體、韌體、及/或硬體中實作。在軟體和韌體的實施例中,邏輯流程可能藉由儲存在至少一非暫態電腦可讀媒體或機器可讀媒體(如光學、磁性或半導體儲存器)上的電腦可執行指令來實作。實施例並不限於此內文。
第12圖繪示第二邏輯流程的實例。如第12圖所示,第二邏輯流程包括邏輯流程1200。邏輯流程1200可能表示由本文所述之一或更多邏輯、特徵、或裝置(如設備1200)執行的一些或所有操作。尤其是,邏輯流程1200可能藉由偵測邏輯1122-1、副本邏輯1122-2、請求邏輯1122-3、寫回邏輯1122-4、移動邏輯1122-5或電源邏輯1122-6來實作。
在第12圖所示之所示實例中,在方塊1202中,邏輯流程1200可能在具有第一電路的第一裝置偵測具有第二電路的第二裝置已連接至第一裝置的指示。第一和第二電路可能各能夠執行配置以使用具有近記憶體和遠記憶體的2LM架構所執行的一或更多應用程式。例如,偵測邏輯1122-1可能偵測第二裝置。
在一些實例中,在方塊1204中,邏輯流程1200可能從位於第二裝置中的第一遠記憶體接收來自位於第二裝置中的第二近記憶體之記憶體內容的副本、被第二電路使用的記憶體內容以執行一或更多應用程式。針對這些實例,副本邏輯1122-2可能接收記憶體內容的副
本。
根據一些實例,在方塊1206中,邏輯流程1200可能以對用於第一或第二裝置之作業系統通透的方式來將記憶體內容的副本儲存至位於第一裝置中的第一近記憶體。記憶體內容之副本可能儲存至第一近記憶體以被第一電路使用以執行一或更多應用程式。針對這些實例,副本邏輯1122-2可能使記憶體內容的副本被儲存至第一近記憶體。
在一些實例中,在方塊1208中,邏輯流程1200可能將至少部分的記憶體內容從第一近記憶體發送至位於第二裝置中的第一遠記憶體。至少部分的記憶體內容可能包括在藉由第一電路來執行一或更多應用程式期間所產生的一或更多中途分頁。針對這些實例,寫回邏輯1122-4可能使至少部分的記憶體內容發送至至少第一遠記憶體。
在一些實例中,在方塊1210中,邏輯流程1200可能接收用於第一近記憶體的分頁誤失指示。分頁誤失關聯於保持在第一遠記憶體中的資料。在方塊1212中,邏輯流程可能接著對第二裝置發送記憶體存取請求以獲得保持在第一遠記憶體中的資料。在方塊1214中,邏輯流程可能接著從第一遠記憶體接收資料,且在方塊1216中,邏輯流程可能將資料儲存在第一近記憶體中。針對這些實例,請求邏輯1122-3可能能夠實作邏輯流程1200的方塊1210至1216。
第13圖繪示第二儲存媒體的實施例。如第13圖所示,第二儲存媒體包括儲存媒體1300。儲存媒體1300可能包含製造物件。在一些實例中,儲存媒體1300可能包括任何非暫態電腦可讀媒體或機器可讀媒體,如光學、磁性或半導體儲存器。儲存媒體1300可能儲存各種類型的電腦可執行指令,如用以實作邏輯流程1200的指令。電腦可讀或機器可讀儲存媒體的實例可能包括能夠儲存電子資料的任何有形媒體,包括揮發性記憶體或非揮發性記憶體、可移除或不可移除記憶體、可抹除或不可抹除記憶體、可寫入或可再寫記憶體、等等。電腦可執行指令的實例可能包括任何適當類型的碼,如原始碼、編譯碼、解譯碼、可執行碼、靜態碼、動態碼、物件導向碼、虛擬碼、等等。實例並不限於此內文。
第14圖繪示裝置1400的實施例。在一些實例中,裝置1400可能配置或佈置用於與另一裝置一起聚集電腦、記憶體和輸入/輸出(I/O)資源。裝置1400可能實作例如設備800/1100、儲存媒體1000/1300及/或邏輯電路1470。邏輯電路1470可能包括實體電路,用以進行針對設備800/1100所述之操作。如第14圖所示,裝置1400可能包括無線電介面1410、基頻電路1420、和計算平台1430,雖然實例並不限於此配置。
裝置1400可能在單一計算實體中(如完全在單一裝置內)實作用於設備800/1100、儲存媒體1000/1300及/或邏輯電路1470的一些或所有結構及/或操作。實施例
並不限於此內文。
無線電介面1410可能包括適用於傳送及/或接收單載體或多載體調變信號(例如,包括互補碼鍵控(CCK)及/或正交分頻多工(OFDM)符元及/或單載體分頻多工(SC-FDM符元)的元件或元件組合,雖然實施例並不限於任何特定空中介面或調變架構。無線電介面1410可能包括例如接收器1412、發射器1416及/或頻率合成器1414。無線電介面1410可能包括偏壓控制、晶體振盪器及/或一或更多天線1418-f。在另一實施例中,無線電介面1410可能依據期望來使用外部電壓控制振盪器(VCO)、表面聲波濾波器、中頻(IF)濾波器及/或RF濾波器。由於各種可能的RF介面設計,省略了其廣泛說明。
基頻電路1420可能與無線電介面1410通訊以處理接收及/或傳送信號且可能包括例如用於降頻轉換接收信號的類比至數位轉換器1422、用於升頻轉換信號以供傳輸的數位至類比轉換器1424。此外,基頻電路1420可能包括基頻或實體層(PHY)處理電路1426,用於PHY連結層處理各別接收/傳送信號。基頻電路1420可能包括例如用於媒體存取控制(MAC)/資料連結層處理的處理電路1428。基頻電路1420可能包括記憶體控制器1432,用於與MAC處理電路1428及/或計算平台1430通訊,例如,經由一或更多介面1434。
在一些實施例中,PHY處理電路1426可能包括訊框結構及/或偵測邏輯(結合如緩衝器記憶體的額外電
路)以建構及/或解析通訊訊框(例如,包含子訊框)。另外或此外,MAC處理電路1428可能對某些這些功能共享處理或獨立於PHY處理電路1426來進行這些程序。在一些實施例中,MAC和PHY處理可能整合至單一電路中。
計算平台1430可能對裝置1400提供計算功能。如圖所示,計算平台1430可能包括處理元件1440。此外或另外,裝置1400的基頻電路1420可能使用處理元件1430來執行用於設備800/100、儲存媒體1000/1300、及邏輯電路1470的處理操作或邏輯。處理元件1440(及/或PHY 1426及/或MAC 1428)可能包含各種硬體元件、軟體元件、或這兩者之組合。硬體元件的實例可能包括裝置、邏輯裝置、元件、處理器、微處理器、電路、處理器電路、電路元件(例如,電晶體、電阻器、電容器、電感器、等等)、積體電路、專用積體電路(ASIC)、可編程邏輯裝置(PLD)、數位信號處理器(DSP)、現場可編程閘陣列(FPGA)、記憶體單元、邏輯閘、暫存器、半導體裝置、晶片、微晶片、晶片組、等等。軟體元件的實例可能包括軟體元件、程式、應用、電腦程式、應用程式、系統程式、軟體開發程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、子常式、函數、方法、程序、軟體介面、應用程式介面(API)、指令集、計算碼、電腦碼、碼段、電腦碼段、字、值、符元、或以上之任何組合。判斷實例是否使用硬體元件及/或軟體元件來實作可能依據一些因素而變化,例如期望計算率、功率層級、耐熱性、
處理週期預算、輸入資料速率、輸出資料速率、記憶體資源、資料匯流排速度及其他設計或效能限制,如給定實例所期望的。
計算平台1430可能更包括其他平台元件1450。其他平台元件1450包括共同計算元件,例如一或更多處理器、多核心處理器、協處理器、記憶體單元、晶片組、控制器、周邊裝置、介面、振盪器、定時裝置、視頻卡、音頻卡、多媒體輸入/輸出(I/O)元件(例如,數位顯示器)、電源供應、等等。記憶體單元的實例可能包括,但不限於各種類型之以一或更多較高速度記憶體單元為形式的電腦可讀和機器可讀儲存媒體,例如唯讀記憶體(ROM)、隨機存取記憶體(RAM)、動態RAM(DRAM)、雙倍資料速率DRAM(DDRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)、可編程ROM(PROM)、可抹除可編程ROM(EPROM)、電子可抹除可編程ROM(EEPROM)、快閃記憶體、如鐵電聚合物記憶體的聚合物記憶體、雙向記憶體、相變或鐵電記憶體、矽-氧化物-氮化物-氧化物-矽(SONOS)記憶體、磁性或光學卡、裝置的陣列(如獨立磁碟機的冗餘陣列(RAID)、固態記憶體裝置(例如,USB記憶體、固態驅動器(SSD))及任何其他類型之適用於儲存資訊的儲存媒體)。
計算平台1430可能更包括網路介面1460。在一些實例中,網路介面1460可能包括用以支援依照一或更多無線或有線技術(如以上針對經由有線或無線通訊通
道來連接至另一裝置以在裝置之間建立互連所述之那些)所操作之網路介面的邏輯及/或特徵。
裝置1400可能是例如使用者設備、電腦、個人電腦(PC)、桌上型電腦、膝上型電腦、筆記型電腦、小筆電、平板電腦、纖薄型電腦、智慧型手機、可配戴計算裝置、嵌入式電子裝置、遊戲機、伺服器、伺服器陣列或伺服器場、網頁伺服器、網路伺服器、網際網路伺服器、工作站、小型電腦、大型電腦、超級電腦、網路應用平台、網路裝置、分散式計算系統、多處理器系統、處理器為基的系統、或以上之組合。因此,在裝置1400的各種實施例中可能包括或省略本文所述之裝置1400的功能及/或特定配置,如適當地所期望的。
裝置1400的實施例可能使用單輸入單輸出(SISO)架構來實作。然而,某些實作可能包括多個天線(例如,天線1418-f),用於使用用於成束或空間分多工存取(SDMA)之適應性天線技術及/或使用多輸入多輸出(MIMO)通訊技術的傳輸及/或接收。
裝置1400的元件和特徵可能使用分開電路、專用積體電路(ASIC)、邏輯閘及/或單晶片架構之任何組合來實作。此外,裝置1400的特徵可能使用微控制器、可編程邏輯陣列及/或微處理器或適當考慮的上述之任何組合來實作。應注意硬體、韌體及/或軟體元件在本文中可能統稱或單獨稱為「邏輯」或「電路」。
應了解第14圖之方塊圖所示之示範裝置1400
可能表示許多可能實作的一個功能說明性實例。藉此,劃分、省略或包括附圖所示之方塊功能並非推論出將必須在實施例中劃分、省略、或包括用於實作這些功能的硬體元件、電路、軟體及/或元件。
一些實例可能使用「在一實例中」或「一實例」之措辭以及其衍生詞來說明。這些詞意味著結合實例所述之特定特徵、結構、或特性係包括在至少一實例中。在本說明書的各處中出現「在一實例中」之說法不一定都指相同實施例。
一些實例可能使用「耦接」、「連接」、或「能夠耦接」之措辭以及其衍生詞來說明。這些詞不一定打算作為彼此的同義詞。例如,使用「連接」及/或「耦接」之詞的說明可能表示兩個或更多元件彼此直接實體或電性接觸。然而,「耦接」之詞亦可能表示兩個或更多元件並非彼此直接接觸,但仍然合作或彼此互動。
在一些實例中,一種示範第一設備可能包括。示範第一設備可能也包括第一電路,能夠使用包括一第一近記憶體和一第一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式。示範第一設備可能也包括一偵測邏輯,用以偵測第二電路,能夠使用也包括一第二近記憶體的2LM架構來執行一或更多應用程式。示範第一設備可能也包括一連接邏輯,用以產生在第一遠記憶體與第二近記憶體之間的連線。示範第一設備可能也包括一移動邏輯,用以利用第一遠記憶體來使記憶體內容的副本從
第一近記憶體移至第二近記憶體。記憶體內容可能以對一作業系統通透的方式來移動。
根據用於示範第一設備的一些實例,第一電路、第一近記憶體和第一遠記憶體可能位於一第一裝置中,且第二電路和第二近記憶體可能位於一第二裝置中。
在用於示範第一設備的一些實例中,第一近記憶體可能具有一第一記憶體容量,其係小於第二近記憶體的一第二記憶體容量。
根據一些實例,示範第一設備可能也包括一電源邏輯,用以在將第一近記憶體中之記憶體內容的副本移至第二近記憶體之後將第一電路和第一近記憶體電源降低至一較低電源狀態及產生給第一遠記憶體的連續電源。
在用於示範第一設備的一些實例中,連接邏輯可能接收在第一遠記憶體與第二近記憶體之間的連線要被終止的指示。電源邏輯可能接著使第一電路和第一近記憶體將第一電路和第一近記憶體電源提高至一較高電源狀態。移動邏輯可能接著從第二近記憶體接收記憶體內容的一第二副本且使記憶體內容的第二副本被儲存至第一遠記憶體且使記憶體內容之第二副本的至少一部分被儲存至第一近記憶體。
根據用於示範第一設備的一些實例,移動邏輯可能基於一記憶體分頁策略來使記憶體內容之第二副本的至少一部分被儲存至第一近記憶體以儲存先前儲存於第二近記憶體中且當由第二電路執行時被一或更多應用程式
使用的記憶體分頁。記憶體分頁策略可能包括儲存主動使用的記憶體分頁、基於關聯於記憶體分頁之期限來儲存或基於關聯於記憶體分頁的一存取樣式來儲存之至少一者。
在一些實例中,示範第一設備可能也包括一請求邏輯,用以基於對第二近記憶體的一分頁誤失來接收對第一遠記憶體的一記憶體存取請求且使對第一遠記憶體的記憶體存取請求被實現以對第二近記憶體提供關聯於分頁誤失的資料。
根據用於示範第一設備的一些實例,移動邏輯可能從第二近記憶體接收至少部分的記憶體內容。針對這些實例,至少部分的記憶體內容可能包括在藉由第二電路來執行一或更多應用程式期間所產生的一或更多中途分頁。移動邏輯可能使一或更多中途分頁被儲存至第一遠記憶體。
在用於示範第一設備的一些實例中,移動邏輯可能基於一寫回策略來接收至少部分的記憶體內容,寫回策略包括超過保持在第二近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在第二近記憶體中所經過的一臨界時間之一或更多者。
根據用於示範第一設備的一些實例,移動邏輯可能基於記憶體檢查點來接收至少部分的記憶體內容,其包括超過保持在第二近記憶體中之中途分頁的一動態臨界數量。針對這些實例,動態臨界數量可能基於可用資料頻寬、觀察到的延遲時間、或指定功率使用限制,用於經
由一有線互連或一無線互連來在第一遠記憶體與第二近記憶體之間移動記憶體內容的一第二副本,動態臨界數量也基於對第一遠記憶體的記憶體控制器寫入延遲時間及從第二近記憶體的記憶體控制器讀取延遲時間。
在用於示範第一設備的一些實例中,第一裝置可能包括相較於用於從在第二裝置中的第二電路耗散熱的一較高熱容量而具有用於從第一電路耗散熱的一較低熱容量的第一裝置、在電池功率上操作的第一裝置或相較於用於對在第二裝置中之第二電路供電的一較高載流容量而具有用於對第一電路供電之一較低載流容量的第一裝置之一或更多者。
在一些實例中,示範第一方法可能包括在第一電路上執行一或更多應用程式。第一電路可能能夠使用包括一第一近記憶體和一第一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式。示範第一方法可能也包括偵測一第二電路,其能夠使用也包括一第二近記憶體的2LM架構來執行一或更多應用程式。示範第一方法可能也包括將第一遠記憶體連接至第二近記憶體。示範第一方法可能也包括利用第一遠記憶體來將記憶體內容的副本從第一近記憶體移至第二近記憶體,記憶體內容的副本以對一作業系統通透的方式來移動。
根據用於示範第一方法的一些實例,第一電路、第一近記憶體和第一遠記憶體可能位於一第一裝置中,且第二電路和第二近記憶體可能位於一第二裝置中。
在用於示範第一方法的一些實例中,第一近記憶體可能具有一第一記憶體容量,其係小於第二近記憶體的一第二記憶體容量。
根據一些實例,示範第一方法可能也包括在將第一近記憶體中之記憶體內容的副本移至第二近記憶體之後將第一電路和第一近記憶體電源降低至一較低電源狀態。示範第一方法可能也包括繼續對第一遠記憶體供電。
根據一些實例,示範第一方法可能也包括基於對第二近記憶體的一分頁誤失來在第一遠記憶體中接收一記憶體存取請求;及實現記憶體存取請求以提供關聯於分頁誤失的資料。
在用於示範第一方法的一些實例中,第二裝置可能回應於第一裝置耦接至使第一裝置能建立一有線通訊通道以經由一有線互連來與第二裝置連接的一有線介面,或回應於第一裝置到達使第一裝置能建立一無線通訊通道以經由一無線互連來與第二裝置連接的一給定實體接近內而被偵測到。
根據一些實例,示範第一方法可能也包括在第一遠記憶體中從第二近記憶體接收至少部分的記憶體內容。針對這些實例,至少部分的記憶體內容可能包括在藉由第二電路來執行一或更多應用程式期間所產生的一或更多中途分頁。
在用於示範第一方法的一些實例中,接收至少部分的記憶體內容可能基於一寫回策略,其包括超過保
持在第二近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在第二近記憶體中所經過的一臨界時間之一或更多者。
根據用於示範第一方法的一些實例,第一臨界數量可能基於用於第一近記憶體的一記憶體容量或用於經由一有線互連或一無線互連來在第一遠記憶體與第二近記憶體之間移動記憶體內容的一第二副本的各別資料頻寬及延遲時間。
在用於示範第一方法的一些實例中,第二臨界數量可能基於用於經由一有線互連或一無線互連來在第一遠記憶體與第二近記憶體之間移動記憶體內容的第二副本的資料頻寬能力、關聯於從有線或無線互連斷開的時間限制、及關聯於在藉由第二電路來執行一或更多應用程式期間所產生之一或更多中途分頁的尺寸。
根據用於示範第一方法的一些實例,接收至少部分的記憶體內容可能基於記憶體檢查點,其包括超過保持在第二近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由一有線互連或一無線互連來在第一遠記憶體與第二近記憶體之間移動記憶體內容的第二副本,動態臨界數量也基於對第一遠記憶體的記憶體控制器寫入延遲時間及從第二近記憶體的記憶體控制器讀取延遲時間。
在一些實例中,示範第一方法可能也包括接
收連接至第二電路之連線要被終止的指示、將第一電路和第一遠記憶體電源提高至一較高電源狀態、在第一遠記憶體中,從第二近記憶體接收記憶體內容的一移動第二副本、將記憶體內容之移動第二副本的至少一部分從第二近記憶體儲存至第一近記憶體及回復在第一電路上執行一或更多應用程式。
根據用於示範第一方法的一些實例,儲存記憶體內容之第二副本的至少一部分可能基於一記憶體分頁策略以儲存先前儲存於第二近記憶體中且當由第二電路執行時被一或更多應用程式使用的記憶體分頁,記憶體分頁策略包括儲存主動使用的記憶體分頁、基於關聯於記憶體分頁之期限來儲存或基於關聯於記憶體分頁的一存取樣式來儲存之至少一者。
在用於示範第一方法的一些實例中,一或更多應用程式可能包括至少一4K解析度串流視頻應用程式、用以對顯示器呈現至少一4K解析度影像或圖形的應用程式、包括當對顯示器呈現時具有至少4K解析度的視頻或圖形的遊戲應用程式、用於使用者輸入至耦接至具有觸控輸入能力之第二電路的顯示器的視頻編輯應用程式或觸控螢幕應用程式之其一者。
在一些實例中,示範至少一種第一機器可讀媒體包含複數個指令,其回應於在具有第一電路的一第一裝置上執行而可能使第一裝置執行一或更多應用程式,第一電路能夠使用包括一第一近記憶體和一第二遠記憶體的
一雙層記憶體(2LM)架構來執行一或更多應用程式。指令可能也使第一裝置偵測一第二電路,其能夠使用也包括一第二近記憶體的2LM架構來執行一或更多應用程式。指令可能也使第一裝置將第一遠記憶體連接至第二近記憶體。指令可能也使第一裝置利用第一遠記憶體來將記憶體內容的副本從第一近記憶體移至第二近記憶體。記憶體內容的副本可能以對一作業系統通透的方式來移動。
根據用於至少一第一機器可讀媒體的一些實例,第一電路、第一近記憶體和第一遠記憶體位於第一裝置中,且第二電路和第二近記憶體位於一第二裝置中。
在用於至少一第一機器可讀媒體的一些實例中,第一近記憶體可能具有一第一記憶體容量,其係小於第二近記憶體的一第二記憶體容量。
根據用於至少一第一機器可讀媒體的一些實例,指令可能也使第一裝置在將第一近記憶體中之記憶體內容的副本移至第二近記憶體之後將第一電路和第一近記憶體電源降低至一較低電源狀態及繼續對第一遠記憶體供電。
在用於至少一第一機器可讀媒體的一些實例中,指令可能也使第一裝置基於對第二近記憶體的一分頁誤失來接收對第一遠記憶體的一記憶體存取請求且實現對第一遠記憶體的記憶體存取請求以提供關聯於分頁誤失的資料。
根據用於至少一第一機器可讀媒體的一些實
例,指令可能也使第一裝置回應於第一裝置耦接至使第一裝置能建立一有線通訊通道以經由一有線互連來與具有第二電路之一第二裝置連接的一有線介面,或回應於第一裝置到達使第一裝置能建立一無線通訊通道以經由一無線互連來與第二裝置連接的一給定實體接近內而偵測第二電路。
在用於至少一第一機器可讀媒體的一些實例中,指令可能也使第一裝置從第二近記憶體接收至少部分的記憶體內容,至少部分的記憶體內容包括在藉由第二電路來執行一或更多應用程式期間所產生的一或更多中途分頁,及使接收之至少部分的記憶體內容被儲存至第一遠記憶體。
根據用於至少一第一機器可讀媒體的一些實例,指令可能也使第一裝置基於一寫回策略來接收至少部分的記憶體內容,寫回策略包括超過保持在第二近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在第二近記憶體中所經過的一臨界時間之一或更多者。
在用於至少一第一機器可讀媒體的一些實例中,指令可能也使第一裝置基於記憶體檢查點來接收至少部分的記憶體內容,其包括超過保持在第二近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由一有線互連或一無線互連來在第一遠記憶體與第二近
記憶體之間移動記憶體內容的一第二副本,動態臨界數量也基於對第一遠記憶體的記憶體控制器寫入延遲時間及從第二近記憶體的記憶體控制器讀取延遲時間。
根據用於至少一第一機器可讀媒體的一些實例,指令也使第一裝置接收連接至第二電路之連線要被終止的指示、將第一電路和第一遠記憶體電源提高至一較高電源狀態、從第二近記憶體接收記憶體內容的一移動第二副本、使記憶體內容的移動第二副本被儲存至第一遠記憶體及將記憶體內容之移動第二副本的至少一部分儲存至第一近記憶體以回復在第一電路上執行一或更多應用程式。
在用於至少一第一機器可讀媒體的一些實例中,指令可能也使第一裝置基於一記憶體分頁策略來儲存記憶體內容之移動第二副本的至少一部分以儲存先前儲存於第二近記憶體中且當由第二電路執行時被一或更多應用程式使用的記憶體分頁,記憶體分頁策略包括儲存主動使用的記憶體分頁、基於關聯於記憶體分頁之期限來儲存或基於關聯於記憶體分頁的一存取樣式來儲存之至少一者。
在一些實例中,一種示範第二設備可能包括第一電路,能夠使用包括一第一近記憶體和一第一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式。示範第二設備可能也包括一偵測邏輯,用以偵測連接至包括在2LM架構中的一第二近記憶體之連線的指示。第二近記憶體當由第二電路執行時可能能夠被一或更多應用程式使用。示範第二設備可能也包括一副本邏輯,用以從第
一遠記憶體接收從第二電路所使用的第二近記憶體發送之記憶體內容的副本以執行一或更多應用程式。副本邏輯可能使記憶體內容的副本以對一作業系統通透的方式來儲存於第一近記憶體中。記憶體內容的副本可能被儲存至第一近記憶體以被第一電路使用以執行一或更多應用程式。
根據用於示範第二設備的一些實例,第一近記憶體可能具有一第一記憶體容量,其係大於第二近記憶體的一第二記憶體容量。
在一些實例中,示範第二設備可能也包括一請求邏輯,用以接收用於第一近記憶體的一分頁誤失指示,分頁誤失關聯於保持在第一遠記憶體中的資料。針對這些實例,請求邏輯可能對第一遠記憶體發送一記憶體存取請求以獲得資料,從第一遠記憶體接收資料,及使接收之資料複製至第一近記憶體。
根據用於示範第二設備的一些實例,第一電路和第一近記憶體可能位於一第一裝置中,且第二電路、第一遠記憶體和第二近記憶體可能位於一第二裝置中。
在用於示範第二設備的一些實例中,偵測邏輯可能回應於第一裝置耦接至使第一裝置能建立一有線通訊通道以經由一有線互連來與具有第二裝置連接的一有線介面,或回應於第一裝置到達使第一裝置能建立一無線通訊通道以經由一無線互連來與第二裝置連接的一給定實體接近內而偵測連接至第二近記憶體之連線的指示。
根據一些實例,示範第二設備可能也包括一
寫回邏輯,用以將至少部分的記憶體內容從第一近記憶體發送至第一遠記憶體,至少部分的記憶體內容包括在藉由第一電路來執行一或更多應用程式期間所產生的一或更多中途分頁。
在用於示範第二設備的一些實例中,寫回邏輯可能基於一寫回策略來發送至少部分的記憶體內容,寫回策略包括超過保持在第一近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在第一近記憶體中所經過的一臨界時間之一或更多者。
根據用於示範第二設備的一些實例,寫回邏輯可能基於記憶體檢查點來發送至少部分的記憶體內容,其包括超過保持在第一近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由一有線互連或一無線互連來在第一遠記憶體與第一近記憶體之間移動記憶體內容的一第二副本,動態臨界數量也基於對第一遠記憶體的記憶體控制器寫入延遲時間及從第一近記憶體的記憶體控制器讀取延遲時間。
在用於示範第二設備的一些實例中,偵測邏輯係用以接收連接至第二近記憶體之連線要被終止的指示。示範第二設備可能也包括一移動邏輯,用以將記憶體內容的一第二副本從第一近記憶體發送至第一遠記憶體以使記憶體內容之第二副本的至少一部分能移至第二近記憶體。示範第二設備可能也包括一電源邏輯,用以在對第一
遠記憶體發送記憶體內容的第二副本之後將第一電路和第一近記憶體電源降低至一較低電源狀態。
在一些實例中,示範第二方法可能包括在具有第一電路的一第一裝置中偵測具有第二電路的一第二裝置已連接至第一裝置的指示。針對這些實例,第一和第二電路可能各能夠使用具有一近記憶體和一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式。示範第二方法可能也包括從位於第二裝置中的一第一遠記憶體接收來自保持在第二裝置中的一第二近記憶體之記憶體內容的副本。記憶體內容可能被第二電路使用以執行一或更多應用程式。示範第二方法可能也包括以對用於第一或第二裝置之一作業系統通透的方式來將記憶體內容的副本儲存至位於第一裝置中的一第一近記憶體。記憶體內容的副本可能被儲存至第一近記憶體以被第一電路使用以執行一或更多應用程式。
根據用於示範第二方法的一些實例,第一近記憶體可能具有一第一記憶體容量,其係大於第二近記憶體的一第二記憶體容量。
在一些實例中,示範第二方法可能也包括接收用於第一近記憶體的一分頁誤失指示。針對這些實例,分頁誤失關聯於保持在第一遠記憶體中的資料。示範第二方法可能也包括對第二裝置發送一記憶體存取請求以獲得保持在第一遠記憶體中的資料,從第一遠記憶體接收資料及將資料儲存至第一近記憶體。
根據一些實例,示範第二方法可能也包括偵測到第二裝置已回應於第一裝置耦接至使第一裝置能建立一有線通訊通道以經由一有線互連來與第二裝置連接的一有線介面,或回應於第一裝置到達使第一裝置能建立一無線通訊通道以經由一無線互連來與第二裝置連接的一給定實體接近內而被連接的指示。
在一些實例中,示範第二方法可能也包括將至少部分的記憶體內容從第一近記憶體發送至保持在第二裝置中的第一遠記憶體。針對這些實例,至少部分的記憶體內容可能包括在藉由第一電路來執行一或更多應用程式期間所產生的一或更多中途分頁。
根據用於示範第二方法的一些實例,發送至少部分的記憶體內容可能基於一寫回策略,其包括超過保持在第一近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在第一近記憶體中所經過的一臨界時間之一或更多者。
在用於示範第二方法的一些實例中,第一臨界數量可能基於用於第二近記憶體的一記憶體容量或用於經由有線互連或無線互連來在第一遠記憶體與第一近記憶體之間移動記憶體內容的一第二副本的各別資料頻寬及延遲時間。
根據用於示範第二方法的一些實例,第二臨界數量可能基於用於經由有線互連或無線互連來在第一遠記憶體與第一近記憶體之間移動記憶體內容之一第二副本
的資料頻寬能力、關聯於從第二裝置斷開第一裝置的時間限制、及關聯於在藉由第一電路來執行一或更多應用程式期間所產生之一或更多中途分頁的尺寸。
在用於示範第二方法的一些實例中,發送至少部分的記憶體內容可能基於記憶體檢查點,其包括超過保持在第一近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由有線互連或無線互連來在第一遠記憶體與第一近記憶體之間移動記憶體內容的一第二副本,動態臨界數量也基於對保持在第二裝置中之第一遠記憶體的記憶體控制器寫入延遲時間及從保持在第一裝置中之第一近記憶體的記憶體控制器讀取延遲時間。
根據一些實例,示範第二方法可能也包括接收連接至第二裝置之連線要被終止的指示,將記憶體內容的一第二副本從第一近記憶體發送至第一遠記憶體以使記憶體內容之第二副本的至少一部分能移至第二近記憶體,及在對第一遠記憶體發送記憶體內容的第二副本之後將第一電路和第一近記憶體電源降低至一較低電源狀態。
在用於示範第二方法的一些實例中,執行至少部分的一或更多應用程式可能包括使至少一4K解析度串流視頻呈現在耦接至第一裝置的顯示器上、使至少一4K解析度影像或圖形呈現在耦接至第一裝置的顯示器上或使一觸控螢幕呈現在耦接至第一裝置的顯示器上之其一者,顯示器具有觸控輸入能力。
在一些實例中,示範至少一種第二機器可讀媒體包含複數個指令,其回應於在具有第一電路的一第一裝置上執行而可能使第一裝置偵測具有第二電路的一第二裝置已連接至第一裝置的指示。第一和第二電路可能各能夠使用具有一近記憶體和一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式。指令可能也使第一裝置從位於第二裝置中的一第一遠記憶體接收來自位於第二裝置中的一第二近記憶體之記憶體內容的副本。記憶體內容可能被第二電路使用以執行一或更多應用程式。指令可能也使第一裝置以對用於第一或第二裝置之一作業系統通透的方式來將記憶體內容的副本儲存至保持在第一裝置中的一第一近記憶體。儲存至第一近記憶體之記憶體內容的副本被第一電路使用以執行一或更多應用程式。
根據用於至少一第二機器可讀媒體的一些實例,第一近記憶體可能具有一第一記憶體容量,其係大於第二近記憶體的一第二記憶體容量。
在用於至少一第二機器可讀媒體的一些實例中,指令可能也使第一裝置接收用於第一近記憶體的一分頁誤失指示。分頁誤失可能關聯於保持在第一遠記憶體中的資料。指令可能也使第一裝置對第二裝置發送一記憶體存取請求以獲得保持在第一遠記憶體中的資料,從第一遠記憶體接收資料及使資料儲存在第一近記憶體中。
根據用於至少一第二機器可讀媒體的一些實例,可能回應於第一裝置耦接至使第一裝置能建立一有線
通訊通道以經由一有線互連來與第二裝置連接的一有線介面,或回應於第一裝置到達使第一裝置能建立一無線通訊通道以經由一無線互連來與第二裝置連接的一給定實體接近內而偵測到已連接第二裝置的指示。
在用於至少一第二機器可讀媒體的一些實例中,指令可能也使第一裝置將至少部分的記憶體內容從第一近記憶體發送至保持在第二裝置中的第一遠記憶體,至少部分的記憶體內容包括在藉由第一電路來執行一或更多應用程式期間所產生的一或更多中途分頁。
根據用於至少一第二機器可讀媒體的一些實例,指令可能也使第一裝置基於一寫回策略來發送至少部分的記憶體內容,寫回策略包括超過保持在第一近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在第一近記憶體中所經過的一臨界時間之一或更多者。
在用於至少一第二機器可讀媒體的一些實例中,指令可能也使第一裝置基於記憶體檢查點來發送至少部分的記憶體內容,其包括超過保持在第一近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由有線互連或無線互連來在第一遠記憶體與第一近記憶體之間移動記憶體內容的一第二副本,動態臨界數量也基於對保持在第二裝置中之第一遠記憶體的記憶體控制器寫入延遲時間及從保持在第一裝置中之第一近記憶體的記憶
體控制器讀取延遲時間。
根據用於至少一第二機器可讀媒體的一些實例,指令可能也使第一裝置接收連接至第二裝置之連線要被終止的指示,將記憶體內容之第二副本從第一近記憶體移至第一遠記憶體以使記憶體內容之第二副本的至少一部分能移至第二近記憶體,及在對第一遠記憶體發送記憶體內容的第二副本之後將第一電路和第一近記憶體電源降低至一較低電源狀態。
強調遵照37 C.F.R.章節1.72(b)而提出本揭露之摘要,需要將使讀者能快速地確定本技術揭露之本質的摘要。了解摘要將不用來解釋或限制申請專利範圍之範圍或含義。此外,在上述詳細說明中,能看出為了簡化本揭露之目的,各種特徵在單一實例中被組合在一起。此揭露的方法不應被解釋成反映出預期所主張的實例比每個申請專利範圍中所明確記載的需要更多特徵。反而,如下面的申請專利範圍所反映,本發明主題落在少於單一所揭露實施例的所有特徵。於是,下面的申請專利範圍特此被併入詳細說明中,其中主張其本身的每個申請專利範圍作為單獨的實例。在所附之申請專利範圍中,「包括」和「在其中」之詞係分別作為「包含」和「其中」之詞的純英文等效詞。再者,「第一」、「第二」、「第三」等之詞僅用來作為標記,而不打算對其物件強加數字要求。
雖然已經以結構特徵及/或方法行動專用的語言來說明主題,但將了解在所附之申請專利範圍中定義的
主題不一定限於上述特定特徵或行動。反而,上述特定特徵和行動被揭露為實作申請專利範圍的示範形式。
100‧‧‧系統
101‧‧‧互連
105‧‧‧裝置
155‧‧‧裝置
144(a)‧‧‧應用程式
144(b)‧‧‧應用程式
110‧‧‧顯示器
150‧‧‧顯示器
102‧‧‧通訊介面
180‧‧‧通訊介面
104‧‧‧照相機
106‧‧‧音頻揚聲器
108‧‧‧輸入按鈕
109‧‧‧麥克風
107‧‧‧通訊連結
103‧‧‧網路介面
120‧‧‧電路
130‧‧‧電池
140‧‧‧記憶體
145‧‧‧儲存器
144‧‧‧App
142‧‧‧作業系統
160‧‧‧電路
175‧‧‧儲存器
170‧‧‧記憶體
165‧‧‧風扇
182‧‧‧整合元件
194‧‧‧電線
195‧‧‧電源插座
184‧‧‧通訊連結
185‧‧‧周邊裝置
Claims (25)
- 一種設備,包含:第一電路,能夠使用包括一第一近記憶體和一第一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式;一偵測邏輯,用以偵測第二電路,能夠使用也包括一第二近記憶體的該2LM架構來執行該一或更多應用程式;一連接邏輯,用以產生在該第一遠記憶體與該第二近記憶體之間的一連線;及一移動邏輯,用以利用該第一遠記憶體來使記憶體內容的一副本從該第一近記憶體移至該第二近記憶體,該些記憶體內容以對一作業系統通透的方式來移動。
- 如申請專利範圍第1項所述之設備,包含位於一第一裝置中的該第一電路、第一近記憶體和第一遠記憶體、及位於一第二裝置中的該第二電路和第二近記憶體。
- 如申請專利範圍第1項所述之設備,包含該第一近記憶體,具有一第一記憶體容量,其係小於該第二近記憶體的一第二記憶體容量。
- 如申請專利範圍第1項所述之設備,包含:一電源邏輯,用以在將該第一近記憶體中之記憶體內容的該副本移至該第二近記憶體之後將該第一電路和該第一近記憶體電源降低至一較低電源狀態及產生給該第一遠記憶體的連續電源。
- 如申請專利範圍第4項所述之設備,包含:該連接邏輯,用以接收在該第一遠記憶體與該第二近記憶體之間的該連線要被終止的指示;該電源邏輯,用以使該第一電路和該第一近記憶體將該第一電路和該第一近記憶體電源提高至一較高電源狀態;及該移動邏輯,用以從該第二近記憶體接收記憶體內容的一第二副本且使記憶體內容的該第二副本被儲存至該第一遠記憶體且使記憶體內容之該第二副本的至少一部分被儲存至該第一近記憶體。
- 如申請專利範圍第5項所述之設備,包含該移動邏輯,用以基於一記憶體分頁策略來使記憶體內容之該第二副本的該至少一部分被儲存至該第一近記憶體以儲存先前儲存於該第二近記憶體中且當由該第二電路執行時被該一或更多應用程式使用的記憶體分頁,該記憶體分頁策略包括儲存主動使用的記憶體分頁、基於關聯於該些記憶體分頁之期限來儲存或基於關聯於該些記憶體分頁的一存取樣式來儲存之至少一者。
- 如申請專利範圍第1項所述之設備,包含:一請求邏輯,用以基於對該第二近記憶體的一分頁誤失來接收對該第一遠記憶體的一記憶體存取請求且使對該第一遠記憶體的該記憶體存取請求被實現以對該第二近記憶體提供關聯於該分頁誤失的資料。
- 如申請專利範圍第1項所述之設備,包含:該移動 邏輯,用以從該第二近記憶體接收至少部分的記憶體內容,該至少部分的記憶體內容包括在藉由該第二電路來執行該一或更多應用程式期間所產生的一或更多中途分頁,該移動邏輯係用以使該一或更多中途分頁被儲存至該第一遠記憶體。
- 如申請專利範圍第8項所述之設備,包含該移動邏輯,用以基於一寫回策略來接收該至少部分的記憶體內容,該寫回策略包括超過保持在該第二近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在該第二近記憶體中所經過的一臨界時間之一或更多者。
- 如申請專利範圍第8項所述之設備,包含該移動邏輯,用以基於記憶體檢查點來接收該至少部分的記憶體內容,其包括超過保持在該第二近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的該動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由一有線互連或一無線互連來在該第一遠記憶體與該第二近記憶體之間移動記憶體內容的一第二副本,該動態臨界數量也基於對該第一遠記憶體的記憶體控制器寫入延遲時間及從該第二近記憶體的記憶體控制器讀取延遲時間。
- 一種方法,包含:在第一電路上執行一或更多應用程式,該第一電路能夠使用包括一第一近記憶體和一第一遠記憶體的一雙層記憶體(2LM)架構來執行該一或更多應用程式;偵測一第二電路,其能夠使用也包括一第二近記憶體 的該2LM架構來執行該一或更多應用程式;將該第一遠記憶體連接至該第二近記憶體;利用該第一遠記憶體來將記憶體內容的一副本從該第一近記憶體移至該第二近記憶體,記憶體內容的該副本以對一作業系統通透的方式來移動;在將該第一近記憶體中之記憶體內容的該副本移至該第二近記憶體之後將該第一電路和該第一近記憶體電源降低至一較低電源狀態;及繼續對該第一遠記憶體供電。
- 如申請專利範圍第11項所述之方法,包含位於一第一裝置中的該第一電路、第一近記憶體和第一遠記憶體、及位於一第二裝置中的該第二電路和第二近記憶體。
- 至少一種機器可讀媒體,包含複數個指令,其回應於在具有第一電路的一第一裝置上執行而使該第一裝置:執行一或更多應用程式,該第一電路能夠使用包括一第一近記憶體和一第二遠記憶體的一雙層記憶體(2LM)架構來執行該一或更多應用程式;偵測一第二電路,其能夠使用也包括一第二近記憶體的該2LM架構來執行該一或更多應用程式;將該第一遠記憶體連接至該第二近記憶體;利用該第一遠記憶體來將記憶體內容的一副本從該第一近記憶體移至該第二近記憶體,記憶體內容的該副本以對一作業系統通透的方式來移動; 在將該第一近記憶體中之記憶體內容的該副本移至該第二近記憶體之後將該第一電路和該第一近記憶體電源降低至一較低電源狀態;及繼續對該第一遠記憶體供電。
- 如申請專利範圍第13項所述之至少一種機器可讀媒體,該些指令也用以使該第一裝置:從該第二近記憶體接收至少部分的記憶體內容,該至少部分的記憶體內容包括在藉由該第二電路來執行該一或更多應用程式期間所產生的一或更多中途分頁;使接收之該至少部分的記憶體內容被儲存至該第一遠記憶體。
- 如申請專利範圍第14項所述之至少一種機器可讀媒體,該些指令也用以使該第一裝置基於一寫回策略來接收該至少部分的記憶體內容,該寫回策略包括超過保持在該第二近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在該第二近記憶體中所經過的一臨界時間之一或更多者。
- 如申請專利範圍第14項所述之至少一種機器可讀媒體,該些指令也用以使該第一裝置基於記憶體檢查點來接收該至少部分的記憶體內容,其包括超過保持在該第二近記憶體中之中途分頁的一動態臨界數量、基於可用資料頻寬的該動態臨界數量、觀察到的延遲時間、或指定功率使用限制,用於經由一有線互連或一無線互連來在該第一遠記憶體與該第二近記憶體之間移動記憶體內容的一第二 副本,該動態臨界數量也基於對該第一遠記憶體的記憶體控制器寫入延遲時間及從該第二近記憶體的記憶體控制器讀取延遲時間。
- 一種設備,包含:第一電路,能夠使用包括一第一近記憶體和一第一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式;一偵測邏輯,用以偵測連接至包括在該2LM架構中的一第二近記憶體之一連線的指示,該第二近記憶體當由第二電路執行時能夠被該一或更多應用程式使用;一副本邏輯,用以從該第一遠記憶體接收從該第二電路所使用的該第二近記憶體發送之記憶體內容的一副本以執行該一或更多應用程式,該副本邏輯係用以使該副本以對一作業系統通透的方式來儲存於該第一近記憶體中,儲存之該副本被該第一電路使用以執行該一或更多應用程式。
- 如申請專利範圍第17項所述之設備,包含:一請求邏輯,用以接收用於該第一近記憶體的一分頁誤失指示、該分頁誤失關聯於保持在該第一遠記憶體中的資料,該請求邏輯係用以:對該第一遠記憶體發送一記憶體存取請求以獲得該資料;從該第一遠記憶體接收該資料;及使接收之該資料複製至該第一近記憶體。
- 如申請專利範圍第17項所述之設備,包含:一寫回邏輯,用以從該第一近記憶體對該第一遠記憶體發送至少部分的記憶體內容,該至少部分的記憶體內容包括在藉由該第一電路來執行該一或更多應用程式期間所產生的一或更多中途分頁,該寫回邏輯係用以基於一寫回策略來接收該至少部分的記憶體內容,該寫回策略包括超過保持在該第一近記憶體中之中途分頁的一第一或一第二臨界數量或超過中途分頁可能保持在該第一近記憶體中所經過的一臨界時間之一或更多者。
- 如申請專利範圍第17項所述之設備,包含:該偵測邏輯,用以接收連接至該第二近記憶體之該連線要被終止的指示;一移動邏輯,用以將記憶體內容的一第二副本從該第一近記憶體發送至該第一遠記憶體以使記憶體內容之該第二副本的至少一部分能移至該第二近記憶體;及一電源邏輯,用以在對該第一遠記憶體發送記憶體內容的該第二副本之後將該第一電路和該第一近記憶體電源降低至一較低電源狀態。
- 一種方法,包含:在具有第一電路的一第一裝置中偵測具有第二電路的一第二裝置已連接至該第一裝置的指示,該第一和該第二電路各能夠使用具有一近記憶體和一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式;從位於該第二裝置中的一第一遠記憶體接收來自位於 該第二裝置中的一第二近記憶體之記憶體內容的一副本,該些記憶體內容被該第二電路使用以執行該一或更多應用程式;以對用於該第一或該第二裝置之一作業系統通透的方式來將記憶體內容的該副本儲存至位於該第一裝置中的一第一近記憶體,儲存至該第一近記憶體之記憶體內容的該副本被該第一電路使用以執行該一或更多應用程式;及接收用於該第一近記憶體的一分頁誤失指示,該分頁誤失關聯於保持在該第一遠記憶體中的資料;對該第二裝置發送一記憶體存取請求以獲得保持在該第一遠記憶體中的該資料;從該第一遠記憶體接收該資料;及將該資料儲存至該第一近記憶體。
- 如申請專利範圍第21項所述之方法,包含:接收連接至該第二裝置之該連線要被終止的指示;將記憶體內容的一第二副本從該第一近記憶體發送至該第一遠記憶體以使記憶體內容之該第二副本的至少一部分能移至該第二近記憶體;及在對該第一遠記憶體發送記憶體內容的該第二副本之後將該第一電路和該第一近記憶體電源降低至一較低電源狀態。
- 至少一種機器可讀媒體,包含複數個指令,其回應於在具有第一電路的一第一裝置上執行而使該第一裝置: 偵測具有第二電路的一第二裝置已連接至該第一裝置的指示,該第一和該第二電路各能夠使用具有一近記憶體和一遠記憶體的一雙層記憶體(2LM)架構來執行一或更多應用程式;從位於該第二裝置中的一第一遠記憶體接收來自位於該第二裝置中的一第二近記憶體之記憶體內容的一副本,該些記憶體內容被該第二電路使用以執行該一或更多應用程式;以對用於該第一或該第二裝置之一作業系統通透的方式來將記憶體內容的該副本儲存至位於該第一裝置中的一第一近記憶體,儲存至該第一近記憶體之記憶體內容的該副本被該第一電路使用以執行該一或更多應用程式。
- 如申請專利範圍第23項所述之至少一種機器可讀媒體,包含也使該第一裝置進行下列的指令:接收用於該第一近記憶體的一分頁誤失指示,該分頁誤失關聯於保持在該第一遠記憶體中的資料;對該第二裝置發送一記憶體存取請求以獲得保持在該第一遠記憶體中的該資料;從該第一遠記憶體接收該資料;及使該資料儲存於該第一近記憶體中。
- 如申請專利範圍第23項所述之至少一種機器可讀媒體,包含也使該第一裝置進行下列的指令:接收連接至該第二裝置之該連線要被終止的指示;將記憶體內容的一第二副本從該第一近記憶體發送至 該第一遠記憶體以使記憶體內容之該第二副本的至少一部分能移至該第二近記憶體;及在對該第一遠記憶體發送記憶體內容的該第二副本之後將該第一電路和該第一近記憶體電源降低至一較低電源狀態。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/062310 WO2015047314A1 (en) | 2013-09-27 | 2013-09-27 | Techniques to compose memory resources across devices |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201528123A true TW201528123A (zh) | 2015-07-16 |
TWI506531B TWI506531B (zh) | 2015-11-01 |
Family
ID=52741325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103132992A TWI506531B (zh) | 2013-09-27 | 2014-09-24 | 編製跨裝置的記憶體資源之技術 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9798574B2 (zh) |
EP (1) | EP3049943B1 (zh) |
JP (1) | JP6366717B2 (zh) |
KR (1) | KR101785301B1 (zh) |
CN (1) | CN105556493B (zh) |
TW (1) | TWI506531B (zh) |
WO (1) | WO2015047314A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9268836B2 (en) | 2013-11-14 | 2016-02-23 | Vmware, Inc. | Intelligent data propagation in a highly distributed environment |
US9230001B2 (en) | 2013-11-14 | 2016-01-05 | Vmware, Inc. | Intelligent data propagation using performance monitoring |
EP3274814A4 (en) * | 2015-03-23 | 2019-04-03 | Intel Corporation | EMBODIMENT CONFORMITY METHOD AND APPARATUS |
US9971708B2 (en) * | 2015-12-02 | 2018-05-15 | Advanced Micro Devices, Inc. | System and method for application migration between docking station and dockable device |
US10437731B2 (en) * | 2015-12-24 | 2019-10-08 | Intel Corporation | Multi-level non-volatile cache with selective store |
US10248584B2 (en) * | 2016-04-01 | 2019-04-02 | Microsoft Technology Licensing, Llc | Data transfer between host and peripheral devices |
JP2018032256A (ja) * | 2016-08-25 | 2018-03-01 | 東芝メモリ株式会社 | メモリシステムおよびプロセッサシステム |
US10628367B2 (en) * | 2016-12-28 | 2020-04-21 | Intel Corporation | Techniques for dynamically modifying platform form factors of a mobile device |
US10901894B2 (en) * | 2017-03-10 | 2021-01-26 | Oracle International Corporation | Allocating and accessing memory pages with near and far memory blocks from heterogeneous memories |
KR102297512B1 (ko) | 2017-04-04 | 2021-09-03 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
US10339067B2 (en) | 2017-06-19 | 2019-07-02 | Advanced Micro Devices, Inc. | Mechanism for reducing page migration overhead in memory systems |
CN109324752B (zh) * | 2017-07-31 | 2023-11-03 | 伊姆西Ip控股有限责任公司 | 用于控制脏页生成的系统、介质和方法 |
KR102430209B1 (ko) * | 2017-09-07 | 2022-08-05 | 삼성전자주식회사 | 저장 장치 및 저장 장치에 포함된 컨트롤러들 |
US10698766B2 (en) * | 2018-04-18 | 2020-06-30 | EMC IP Holding Company LLC | Optimization of checkpoint operations for deep learning computing |
EP3695315A4 (en) | 2018-08-01 | 2020-12-02 | Huawei Technologies Co., Ltd. | MULTI-INSTANCE 2LM ARCHITECTURE FOR SCM APPLICATIONS |
KR102706419B1 (ko) * | 2019-11-07 | 2024-09-13 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11733902B2 (en) | 2021-04-30 | 2023-08-22 | International Business Machines Corporation | Integrating and increasing performance of disaggregated memory in operating systems |
WO2024155074A1 (ko) * | 2023-01-19 | 2024-07-25 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 메모리 관리 방법 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6981096B1 (en) | 1998-10-02 | 2005-12-27 | International Business Machines Corporation | Mapping and logic for combining L1 and L2 directories and/or arrays |
JP2002157212A (ja) * | 2000-11-17 | 2002-05-31 | Hitachi Ltd | 情報処理システム並びに携帯用電子機器および情報処理装置 |
US6922753B2 (en) * | 2002-09-26 | 2005-07-26 | International Business Machines Corporation | Cache prefetching |
TWI294569B (en) * | 2004-01-16 | 2008-03-11 | Ip First Llc | Apparatus and method for performing fast pop operation from random access cache memory and computer-readable storage medium |
JP2005241752A (ja) | 2004-02-24 | 2005-09-08 | Seiko Epson Corp | 情報表示装置および情報表示システム |
US7730335B2 (en) * | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
WO2006135999A1 (en) * | 2005-06-24 | 2006-12-28 | Research In Motion Limited | System and method for managing memory in a mobile device |
US7814279B2 (en) * | 2006-03-23 | 2010-10-12 | International Business Machines Corporation | Low-cost cache coherency for accelerators |
JP5083757B2 (ja) | 2007-04-19 | 2012-11-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをキャッシュする技術 |
US8527709B2 (en) * | 2007-07-20 | 2013-09-03 | Intel Corporation | Technique for preserving cached information during a low power mode |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
EP2374063B1 (en) * | 2009-01-05 | 2017-11-22 | SanDisk Technologies LLC | Non-volatile memory and method with write cache partitioning |
US8725953B2 (en) * | 2009-01-21 | 2014-05-13 | Arm Limited | Local cache power control within a multiprocessor system |
US20100228922A1 (en) * | 2009-03-09 | 2010-09-09 | Deepak Limaye | Method and system to perform background evictions of cache memory lines |
US8478945B2 (en) * | 2010-02-01 | 2013-07-02 | International Business Machines Corporation | Dynamic management of destage tasks in a storage controller |
US8533505B2 (en) | 2010-03-01 | 2013-09-10 | Arm Limited | Data processing apparatus and method for transferring workload between source and destination processing circuitry |
US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8612676B2 (en) * | 2010-12-22 | 2013-12-17 | Intel Corporation | Two-level system main memory |
US20130046935A1 (en) * | 2011-08-18 | 2013-02-21 | Microsoft Corporation | Shared copy cache across networked devices |
WO2013048493A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
CN107608910B (zh) * | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
US20130086298A1 (en) * | 2011-10-04 | 2013-04-04 | International Business Machines Corporation | Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion |
US20130219125A1 (en) * | 2012-02-21 | 2013-08-22 | Microsoft Corporation | Cache employing multiple page replacement algorithms |
US9218289B2 (en) * | 2012-08-06 | 2015-12-22 | Qualcomm Incorporated | Multi-core compute cache coherency with a release consistency memory ordering model |
-
2013
- 2013-09-27 KR KR1020167005047A patent/KR101785301B1/ko active IP Right Grant
- 2013-09-27 EP EP13894905.2A patent/EP3049943B1/en active Active
- 2013-09-27 CN CN201380079696.5A patent/CN105556493B/zh active Active
- 2013-09-27 WO PCT/US2013/062310 patent/WO2015047314A1/en active Application Filing
- 2013-09-27 US US14/129,530 patent/US9798574B2/en not_active Expired - Fee Related
- 2013-09-27 JP JP2016538904A patent/JP6366717B2/ja active Active
-
2014
- 2014-09-24 TW TW103132992A patent/TWI506531B/zh not_active IP Right Cessation
-
2017
- 2017-10-23 US US15/790,444 patent/US10545787B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP6366717B2 (ja) | 2018-08-01 |
JP2016529636A (ja) | 2016-09-23 |
CN105556493B (zh) | 2018-12-11 |
US20180267826A1 (en) | 2018-09-20 |
US9798574B2 (en) | 2017-10-24 |
EP3049943B1 (en) | 2018-10-24 |
CN105556493A (zh) | 2016-05-04 |
US20150095598A1 (en) | 2015-04-02 |
EP3049943A4 (en) | 2017-05-24 |
KR20160037987A (ko) | 2016-04-06 |
WO2015047314A1 (en) | 2015-04-02 |
TWI506531B (zh) | 2015-11-01 |
KR101785301B1 (ko) | 2017-11-15 |
US10545787B2 (en) | 2020-01-28 |
EP3049943A1 (en) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI506531B (zh) | 編製跨裝置的記憶體資源之技術 | |
US10083147B2 (en) | Apparatuses and methods for multilane universal serial bus (USB2) communication over embedded universal serial bus (eUSB2) | |
CN107409056B (zh) | 用于促进数据通信的装置、系统、方法和设备 | |
US11106474B2 (en) | System, method, and apparatus for DVSEC for efficient peripheral management | |
KR102074018B1 (ko) | 저전력 상태로의 포트 진입을 동기화하기 위한 시스템, 방법 및 장치 | |
EP2960785B1 (en) | Techniques to compose memory resources across devices and reduce transitional latency | |
KR101995623B1 (ko) | 고속 구성 메커니즘을 위한 장치, 방법, 및 시스템 | |
EP2778945B1 (en) | Systems, methods, and apparatuses for handling timeouts | |
US20150007190A1 (en) | Techniques to aggregate compute, memory and input/output resources across devices | |
JP2017527047A (ja) | Usb電力供給制御装置の共有 | |
WO2017205697A1 (en) | Method, apparatus, and system for signal equalization | |
CN106537285A (zh) | 处理器温度的平衡控制 | |
US20210318980A1 (en) | Peer-to-peer link sharing for upstream communications from xpus to a host processor | |
CN116368477A (zh) | 使用具有电路切换的增强型重定时器对计算设备的分解 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |