最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

存儲(chǔ)器內(nèi)輕量一致性的制作方法

文檔序號(hào):11142252閱讀:590來(lái)源:國(guó)知局
存儲(chǔ)器內(nèi)輕量一致性的制造方法與工藝

此美國(guó)專(zhuān)利申請(qǐng)案主張2014年5月8日提出申請(qǐng)的序列號(hào)為61/990,199的美國(guó)臨時(shí)申請(qǐng)案的優(yōu)先權(quán)權(quán)益,所述臨時(shí)申請(qǐng)案的內(nèi)容以全文引用的方式并入。



背景技術(shù):

多處理器系統(tǒng)可包含允許多個(gè)處理器對(duì)同一數(shù)據(jù)執(zhí)行操作的共享存儲(chǔ)器。對(duì)共享存儲(chǔ)器的存取可為緩慢的且可導(dǎo)致系統(tǒng)等待時(shí)間。為改善存儲(chǔ)器存取時(shí)間,多處理器共享存儲(chǔ)器系統(tǒng)可包含相對(duì)較小但較快的存取高速緩沖存儲(chǔ)器。高速緩沖存儲(chǔ)器存儲(chǔ)可由處理器頻繁存取的數(shù)據(jù)的副本。為維持經(jīng)高速緩存數(shù)據(jù)的正確性,后續(xù)接著高速緩沖存儲(chǔ)器一致性協(xié)議。高速緩沖存儲(chǔ)器一致性協(xié)議對(duì)通過(guò)處理器的對(duì)經(jīng)高速緩存數(shù)據(jù)的存取強(qiáng)加規(guī)則以確保盡管存在數(shù)據(jù)的多個(gè)副本,但數(shù)據(jù)跨越所有處理器是正確的。然而,高速緩沖存儲(chǔ)器一致性協(xié)議可消耗寶貴系統(tǒng)帶寬且產(chǎn)生數(shù)據(jù)存取的不均勻等待時(shí)間。本發(fā)明人已認(rèn)識(shí)到在多處理器共享存儲(chǔ)器系統(tǒng)中需要經(jīng)改善數(shù)據(jù)管理。

附圖說(shuō)明

圖1圖解說(shuō)明可用于實(shí)踐本發(fā)明的一些實(shí)施例的混合存儲(chǔ)器立方體的表示。

圖2是圖解說(shuō)明可用于實(shí)踐本發(fā)明的一些實(shí)施例的混合存儲(chǔ)器立方體的四分之一的框圖。

圖3展示可用于實(shí)踐本發(fā)明的一些實(shí)施例的混合存儲(chǔ)器立方體的四個(gè)可能裝置拓?fù)涞目驁D。

圖4展示可用于實(shí)踐本發(fā)明的一些實(shí)施例的一種一致性目錄存儲(chǔ)器格式的實(shí)例。

圖5展示可用于實(shí)踐本發(fā)明的一些實(shí)施例的用HMC裝置實(shí)施的計(jì)算機(jī)系統(tǒng)的實(shí)例的框圖。

圖6展示操作計(jì)算機(jī)系統(tǒng)的方法的實(shí)例的流程圖。

圖7展示操作計(jì)算機(jī)系統(tǒng)的方法的另一實(shí)例的流程圖。

具體實(shí)施方式

在本發(fā)明的實(shí)例性實(shí)施例的以下詳細(xì)描述中,通過(guò)圖式及圖解說(shuō)明方式而參考本發(fā)明的特定實(shí)例性實(shí)施例。充分詳細(xì)地描述這些實(shí)例以使得所屬領(lǐng)域的技術(shù)人員能夠?qū)嵺`本發(fā)明,且所述實(shí)例用于圖解說(shuō)明本發(fā)明可如何應(yīng)用于各種目的或?qū)嵤├?。存在本發(fā)明的其它實(shí)施例且所述實(shí)施例在本發(fā)明的范圍內(nèi),且可在不背離本發(fā)明的標(biāo)的或范圍的情況下做出邏輯、機(jī)械、電及其它改變。本文中所描述的本發(fā)明的各種實(shí)施例的特征或限制雖然對(duì)其中并入所述特征或限制的實(shí)例性實(shí)施例是必要的,但其并不限制本發(fā)明的其它實(shí)施例或作為整體的本發(fā)明,且對(duì)本發(fā)明的任何參考(其元件、操作及應(yīng)用)并不限制作為整體的本發(fā)明,而是僅用于定義這些實(shí)例性實(shí)施例。因此,以下詳細(xì)描述并不限制僅由所附權(quán)利要求書(shū)界定的本發(fā)明的各種實(shí)施例的范圍。

在常規(guī)計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器以二維方式組織成若干行及若干列。為改善存儲(chǔ)器存取等待時(shí)間做出的努力已包含開(kāi)發(fā)具有高帶寬接口的雙數(shù)據(jù)速率類(lèi)型三(DDR3)或DDR4。DDR3及DDR4使用傳統(tǒng)行/列方法。

圖1圖解說(shuō)明混合存儲(chǔ)器立方體105(HMC)的表示。HMC通過(guò)堆疊集成電路(IC)存儲(chǔ)器裸片110且使用實(shí)現(xiàn)在IC裸片的頂部及底部?jī)烧呱系拇嫒〉拇┕柰?TSV)結(jié)構(gòu)(未展示)來(lái)互連裸片而包含第三維度。TSV制造技術(shù)實(shí)現(xiàn)多個(gè)裸片層的互連,以便構(gòu)造三維裸片?;ミB多個(gè)裸片層的此能力準(zhǔn)許建造具有存儲(chǔ)器存儲(chǔ)層與一或多個(gè)邏輯層的組合的存儲(chǔ)器裝置。以此方式,所述裝置在單個(gè)電子裝置封裝中提供物理存儲(chǔ)器存儲(chǔ)及邏輯存儲(chǔ)器事務(wù)處理。圖1中所展示的布置是用以圖解說(shuō)明概念且未必表示實(shí)際裸片布局。

HMC(例如,如混合存儲(chǔ)器立方體規(guī)范版本1.0中所規(guī)定)可提供具有高達(dá)每裝置320GB/s的可用帶寬容量的極緊湊且功率高效封裝。HMC裝置能夠經(jīng)由階層式且并行設(shè)計(jì)方法而具有高帶寬。裝置階層跨越邏輯層而垂直地發(fā)生且硬件并行跨越給定裸片層而發(fā)生。在HMC內(nèi),存儲(chǔ)器組織成若干存儲(chǔ)庫(kù)。每一存儲(chǔ)庫(kù)120使用穿硅通孔在裸片內(nèi)垂直地橫跨存儲(chǔ)器層中的每一者。在圖1的經(jīng)簡(jiǎn)化實(shí)例中,HMC組織成16個(gè)存儲(chǔ)庫(kù),其中每一存儲(chǔ)庫(kù)具有邏輯庫(kù)裸片層115或邏輯庫(kù)。

圖2是圖解說(shuō)明HMC 205的四分之一的框圖。展示HMC的四個(gè)存儲(chǔ)庫(kù),其中每一存儲(chǔ)庫(kù)220包含多個(gè)存儲(chǔ)器層。邏輯庫(kù)層215包含多個(gè)組件。例如,每一存儲(chǔ)庫(kù)在邏輯庫(kù)中具有管理用于所述存儲(chǔ)庫(kù)的所有存儲(chǔ)器參考操作的存儲(chǔ)器控制器。存儲(chǔ)器控制器提供對(duì)3D存儲(chǔ)層的靈活存取。3D分層方法準(zhǔn)許存儲(chǔ)器事務(wù)不僅跨越目標(biāo)存儲(chǔ)陣列內(nèi)的存儲(chǔ)組,且還跨越并行存儲(chǔ)陣列并行地存在。邏輯庫(kù)層215可包含用以實(shí)施所描述功能的一或多個(gè)處理器,且HMC可為存儲(chǔ)器中處理器(PIM)裝置。

邏輯庫(kù)層215提供對(duì)HMC裝置的外部鏈路存取以及內(nèi)部路由及事務(wù)邏輯兩者。外部I/O鏈路由四個(gè)或八個(gè)邏輯鏈路提供。每一鏈路可包含十六個(gè)或八個(gè)串行I/O或SERDES雙向鏈路的群組。四鏈路裝置具有在10Gbps、12.5Gbps及15Gbps下操作的能力。八鏈路裝置具有在10Gbps下操作的能力。在內(nèi)部,鏈路附接到路由邏輯以便引導(dǎo)控制每一垂直存儲(chǔ)器存儲(chǔ)單元的邏輯裝置處的事務(wù)。在圖2的實(shí)例中,路由邏輯包含縱橫開(kāi)關(guān)邏輯。

HMC鏈路結(jié)構(gòu)支持將裝置附接到主機(jī)(處理器)或其它HMC裝置兩者的能力。鏈接(chaining)的此概念準(zhǔn)許構(gòu)造需要比單個(gè)裝置大的容量而不擾亂鏈路結(jié)構(gòu)及經(jīng)包化事務(wù)協(xié)議的存儲(chǔ)器子系統(tǒng)。鏈路可以眾多拓?fù)渑渲脼橹鳈C(jī)裝置鏈路或直通鏈路。

圖3展示基于庫(kù)四鏈路HMC配置的四個(gè)可能裝置拓?fù)涞目驁D。HMC存儲(chǔ)器裝置305可以傳統(tǒng)網(wǎng)絡(luò)拓?fù)?例如網(wǎng)狀、環(huán)面或縱橫狀)配置。將多個(gè)HMC裝置鏈接在一起增加可用于主機(jī)的總存儲(chǔ)器容量。

返回到圖2,針對(duì)每一獨(dú)立存儲(chǔ)庫(kù),存儲(chǔ)庫(kù)的邏輯庫(kù)層類(lèi)似于DIMM控制器單元。在圖2的實(shí)例中,存儲(chǔ)庫(kù)邏輯塊225及其相應(yīng)存儲(chǔ)庫(kù)存儲(chǔ)單元220可組織成四重單元。每一四重單元表示四個(gè)存儲(chǔ)庫(kù)單元。每一四重單元與最接近物理鏈路塊松散地相關(guān)聯(lián)。以此方式,主機(jī)裝置具有以下能力:通過(guò)邏輯上將請(qǐng)求包發(fā)送到其相關(guān)聯(lián)四重單元物理上最接近于所需存儲(chǔ)庫(kù)的鏈路而使HMC裝置的整個(gè)邏輯庫(kù)層的等待時(shí)間最小化。

一旦在目標(biāo)存儲(chǔ)器存儲(chǔ)庫(kù)內(nèi),存儲(chǔ)器存儲(chǔ)裝置便可分解成傳統(tǒng)概念的存儲(chǔ)組及動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。通過(guò)經(jīng)堆疊存儲(chǔ)器層的垂直存取類(lèi)似于選擇適當(dāng)存儲(chǔ)器存儲(chǔ)組。下部存儲(chǔ)組可經(jīng)配置于下部裸片層中,而垂直上升(vertical ascension)選擇后續(xù)存儲(chǔ)組。一旦在存儲(chǔ)組層內(nèi),便可使用行及列以傳統(tǒng)方式組織DRAM。存儲(chǔ)庫(kù)控制器將DRAM分解成各自尋址16個(gè)字節(jié)的一百萬(wàn)位(1Mb)塊。針對(duì)每一列提取,可以32個(gè)字節(jié)來(lái)執(zhí)行到目標(biāo)存儲(chǔ)組的讀取或?qū)懭胝?qǐng)求。

針對(duì)多主機(jī)多HMC系統(tǒng),使用經(jīng)包化格式來(lái)執(zhí)行主機(jī)裝置與HMC裝置之間的帶內(nèi)通信。此經(jīng)包化格式可包含三個(gè)主要包分類(lèi):請(qǐng)求包、響應(yīng)包及流控制包。包可經(jīng)配置為單個(gè)16字節(jié)流單位或FLIT的倍數(shù)。最大包大小含有9個(gè)FLIT或144個(gè)字節(jié)。最小16字節(jié)(一個(gè)FLIT)包含有包標(biāo)頭及包尾標(biāo)。用于所有存儲(chǔ)器有效負(fù)載大小的存儲(chǔ)器讀取請(qǐng)求包可僅需要包標(biāo)頭、包尾標(biāo)及相應(yīng)物理存儲(chǔ)器地址。因此,讀取請(qǐng)求可使用單個(gè)FLIT配置。然而,寫(xiě)入請(qǐng)求及原子請(qǐng)求包還含有分別用于寫(xiě)入及讀取-修改-寫(xiě)入操作的所需輸入數(shù)據(jù)。因此,這些請(qǐng)求類(lèi)型具有2個(gè)FLIT到9個(gè)FLIT的包寬度。

HMC系統(tǒng)實(shí)施方案可具有多個(gè)包重新排序點(diǎn)。目的地是輔助裝置的到達(dá)包可通過(guò)等待本地存儲(chǔ)庫(kù)存取的那些輔助裝置。本地存儲(chǔ)庫(kù)還可重新排序已排隊(duì)包以便最高效地利用去往及來(lái)自相應(yīng)存儲(chǔ)庫(kù)存儲(chǔ)組的帶寬。然而,存在于給定HMC實(shí)施方案中的重新排序點(diǎn)維持包流從特定鏈路到存儲(chǔ)庫(kù)內(nèi)的特定存儲(chǔ)組的次序。此確保后續(xù)接著存儲(chǔ)器讀取請(qǐng)求的存儲(chǔ)器寫(xiě)入請(qǐng)求遞送正確且確定性存儲(chǔ)器行為。

如先前所解釋?zhuān)琀MC提供高帶寬裝置。然而,本發(fā)明系統(tǒng)互連規(guī)范通常缺少維持系統(tǒng)(其主存儲(chǔ)器基于高帶寬裝置,例如HMC)中的適當(dāng)平衡必需的充分功能性、靈活性及性能。例如,系統(tǒng)架構(gòu)可包含用以維持系統(tǒng)單芯片(SoC)與本地存儲(chǔ)器之間的每秒數(shù)百十億字節(jié)帶寬的一或多個(gè)HMC,但所述系統(tǒng)架構(gòu)可提供僅具有此可用帶寬的一小部分(例如,十分之一)的系統(tǒng)互連。所述結(jié)果可為高度不平衡系統(tǒng)。

此外,如果附接到系統(tǒng)互連的處理器提供高速緩沖存儲(chǔ)器一致性機(jī)構(gòu),那么可必須將單獨(dú)邏輯塊添加到所述系統(tǒng)以提供充分帶寬及功能性以維持共享存儲(chǔ)器及高速緩沖存儲(chǔ)器子系統(tǒng)兩者中的并發(fā)性及正確性。此產(chǎn)生與一組復(fù)雜外圍邏輯塊的處理器互連、存儲(chǔ)器互連及系統(tǒng)互連及具有不同程度的等待時(shí)間的復(fù)雜協(xié)議規(guī)范。

低效高速緩沖存儲(chǔ)器一致性尤其在具有分布于多個(gè)SoC裝置或插座當(dāng)中的多個(gè)執(zhí)行線程(或任務(wù))的應(yīng)用中是一擔(dān)憂。如果核心SoC或處理器支持功能數(shù)據(jù)高速緩存,那么SoC插座之間的高速緩沖存儲(chǔ)器一致性機(jī)構(gòu)必須支持可為比可用于系統(tǒng)互連上的帶寬高的數(shù)量級(jí)的本地存儲(chǔ)器帶寬。再次,所述結(jié)果是高度不平衡系統(tǒng)。

用以改善系統(tǒng)層級(jí)等待時(shí)間的方法是提供具有大體上高帶寬存儲(chǔ)器裝置的帶寬的存儲(chǔ)器一致性子系統(tǒng)。用以提供此目的的一種方式是使用一或多個(gè)HMC裝置實(shí)施系統(tǒng)存儲(chǔ)器一致性。由于HMC具有執(zhí)行原位原子存儲(chǔ)器操作的能力,因此HMC可經(jīng)延伸以提供高帶寬及低等待時(shí)間存儲(chǔ)器一致性機(jī)構(gòu)。

在常規(guī)系統(tǒng)中,用于高速緩沖存儲(chǔ)器一致性的一種方法是使用基于目錄的高速緩沖存儲(chǔ)器一致性協(xié)議。一致性目錄充當(dāng)篩選器,處理器通過(guò)所述篩選器尋求許可以將條目從主要存儲(chǔ)器加載到其高速緩沖存儲(chǔ)器。當(dāng)條目改變時(shí),所述目錄更新具有所述條目的其它高速緩沖存儲(chǔ)器或使所述其它高速緩沖存儲(chǔ)器失效。基于目錄的高速緩沖存儲(chǔ)器一致性包含對(duì)將狀態(tài)指派到高速緩沖存儲(chǔ)器線的“目錄”的維持。每一高速緩沖存儲(chǔ)器線可被指派“家節(jié)點(diǎn)(home node)”作為高速緩沖存儲(chǔ)器線的狀態(tài)的最終仲裁者。家節(jié)點(diǎn)擁有地址空間且準(zhǔn)許修改高速緩沖存儲(chǔ)器線。目錄指派狀態(tài)且基于目錄的協(xié)議接著使用主機(jī)當(dāng)中的點(diǎn)對(duì)點(diǎn)通信來(lái)處理元數(shù)據(jù)。

處理器通常存儲(chǔ)目錄的顯著量的高速緩沖存儲(chǔ)器線狀態(tài)信息且依賴(lài)于快速高速緩沖存儲(chǔ)器存取以讀取高速緩沖存儲(chǔ)器元數(shù)據(jù)且確定高速緩沖存儲(chǔ)器線的狀態(tài)。高速緩沖存儲(chǔ)器控制器保持跟蹤哪一主機(jī)簽出高速緩沖存儲(chǔ)器線。在此配置中,高速緩沖存儲(chǔ)器目錄本身必須被高速緩存(通常完全相關(guān)聯(lián)地),從而形成維持于最后層級(jí)高速緩沖存儲(chǔ)器或存儲(chǔ)器控制器處的復(fù)雜且高耗電數(shù)據(jù)結(jié)構(gòu)。針對(duì)大的對(duì)稱(chēng)多處理器(SMP)配置,這些數(shù)據(jù)結(jié)構(gòu)通常不適合于芯片上且必須由DRAM支持。

由于HMC裝置的物理存儲(chǔ)器存儲(chǔ)裝置的階層式性質(zhì),因此HMC裝置相比于傳統(tǒng)分組DRAM裝置(例如,DDR3或DDR4裝置)具有不同物理尋址與交錯(cuò)模型。HMC裝置的物理地址編碼到含有存儲(chǔ)庫(kù)、存儲(chǔ)組及地址位的34位字段中。具有四鏈路裝置的實(shí)施方案利用所述字段的下部32個(gè)位,且具有八鏈路裝置的實(shí)施方案利用所述字段的下部33個(gè)位。

與DDR3或DDR4裝置相比,HMC裝置可廉價(jià)地實(shí)施抽象化存儲(chǔ)器存儲(chǔ)接口。例如針對(duì)DDR類(lèi)型裝置,當(dāng)處理器期望存取地址時(shí),真實(shí)或?qū)嶋H物理地址被置于總線上且被存取。在HMC協(xié)議中,物理地址可在其到達(dá)HMC處時(shí)重新映射到不同存儲(chǔ)器地址。因此,對(duì)于HMC,不存在對(duì)所寫(xiě)入的實(shí)際存儲(chǔ)器位置的保證。另外,不需要HMC在設(shè)置時(shí)間產(chǎn)生響應(yīng)。

可利用HMC的此地址重新映射能力以實(shí)施基于目錄的存儲(chǔ)器一致性。為提供對(duì)目錄存儲(chǔ)器一致性的支持,HMC的庫(kù)邏輯層可經(jīng)配置以將給定存儲(chǔ)器塊的位置抽象化成相關(guān)聯(lián)存儲(chǔ)器字或“高速緩沖存儲(chǔ)器線”。因此,可將存儲(chǔ)器一致性目錄存儲(chǔ)于HMC存儲(chǔ)裝置存儲(chǔ)庫(kù)內(nèi)。此提供使用相同HMC協(xié)議管理傳統(tǒng)存儲(chǔ)器業(yè)務(wù)及高速緩沖存儲(chǔ)器一致性業(yè)務(wù)兩者的方法;借此提供本地存儲(chǔ)器數(shù)據(jù)存取及系統(tǒng)存儲(chǔ)器數(shù)據(jù)存取的統(tǒng)一性。

圖4展示一種一致性目錄存儲(chǔ)器格式的實(shí)例??稍诎趲?kù)物理地址字段中的物理地址方面描述HMC的直接存儲(chǔ)器空間。在所展示的實(shí)例中,高達(dá)34個(gè)位的物理地址存儲(chǔ)是可用的。庫(kù)物理地址用作存儲(chǔ)器操作的目標(biāo)且可包含存儲(chǔ)庫(kù)、存儲(chǔ)組及DRAM地址位。地址擴(kuò)展立方體ID(CUB)字段指示支持存儲(chǔ)器字的存儲(chǔ)器駐存于其中的HMC裝置。目錄位字段提供存儲(chǔ)器一致性位以如同存儲(chǔ)器字是高速緩沖存儲(chǔ)器線一般地維持存儲(chǔ)器字的狀態(tài)信息。如果存儲(chǔ)器一致性目錄使用MESI一致性協(xié)議,那么目錄位包含經(jīng)修改位、專(zhuān)屬位、共享位及無(wú)效位。通過(guò)存取與庫(kù)物理地址相關(guān)聯(lián)的存儲(chǔ)器字加上CUB偏移而執(zhí)行將數(shù)據(jù)字作為高速緩沖存儲(chǔ)器線而存取。如果數(shù)據(jù)條目包含八個(gè)字節(jié),那么單個(gè)8GB HMC裝置可支持超過(guò)十億個(gè)并發(fā)目錄條目。

在存儲(chǔ)器一致性以此方式組織的情況下,可使用HMC原子存儲(chǔ)器操作對(duì)存儲(chǔ)器執(zhí)行查找及修改操作。在使用HMC原生的事務(wù)協(xié)議與目錄交互時(shí)維持目錄可變動(dòng)性。此使得存儲(chǔ)器存取的類(lèi)型較統(tǒng)一。

可使用原子請(qǐng)求執(zhí)行對(duì)目錄條目的存取。原子請(qǐng)求涉及:從DRAM讀取16個(gè)字節(jié)的數(shù)據(jù)(如由請(qǐng)求地址字段存取);通過(guò)使用16字節(jié)操作數(shù)(也包含于請(qǐng)求包中)而對(duì)數(shù)據(jù)執(zhí)行操作;及接著將結(jié)果寫(xiě)回到DRAM中的相同位置。讀取-更新-寫(xiě)入序列以原子方式發(fā)生,此意指直到原子請(qǐng)求的寫(xiě)入完成為止,無(wú)其它請(qǐng)求可存取相同存儲(chǔ)組。原子請(qǐng)求類(lèi)似于16字節(jié)寫(xiě)入請(qǐng)求,在于所述原子請(qǐng)求在請(qǐng)求包中具有16字節(jié)數(shù)據(jù)有效負(fù)載,且可或可不返回寫(xiě)入響應(yīng)(取決于所發(fā)出的請(qǐng)求是張貼(posted)請(qǐng)求還是非張貼請(qǐng)求)。由原子操作產(chǎn)生的數(shù)據(jù)在響應(yīng)命令中不被返回??墒褂迷哟鎯?chǔ)器操作(例如(舉例來(lái)說(shuō))HMC協(xié)議的ADD即時(shí)請(qǐng)求命令)執(zhí)行對(duì)目錄條目的修改。還可使用原子存儲(chǔ)器操作(例如(舉例來(lái)說(shuō))其中目標(biāo)即時(shí)值為零的ADD即時(shí)請(qǐng)求命令)執(zhí)行對(duì)目錄條目的查找。

圖5展示用HMC裝置實(shí)施以包含基于HMC的存儲(chǔ)器一致性目錄的計(jì)算機(jī)系統(tǒng)500的實(shí)例的框圖。所述系統(tǒng)包含多個(gè)主機(jī)處理器。所述處理器可實(shí)施為SoC,其中每一處理器由SoC插座502表示。所述實(shí)例展示四個(gè)處理器,但所述系統(tǒng)靈活地包含其它數(shù)目個(gè)處理器。

所述系統(tǒng)也包含經(jīng)配置為用于主機(jī)處理器的分布式共享存儲(chǔ)器的多個(gè)HMC裝置。所述HMC裝置中的一些HMC裝置用作端點(diǎn)裝置且一些HMC裝置用作集線器裝置。集線器裝置可提供直通通信能力以提供系統(tǒng)內(nèi)通信。

在給出用具有以三維方式布置的存儲(chǔ)器裸片的HMC裝置實(shí)施存儲(chǔ)器時(shí),共享存儲(chǔ)器經(jīng)配置以用于3D存儲(chǔ)器存取。HMC裝置505的存儲(chǔ)器裸片的存儲(chǔ)器的至少一部分經(jīng)映射以包含存儲(chǔ)器一致性目錄的至少一部分。此暗示常規(guī)高速緩沖存儲(chǔ)器一致性數(shù)據(jù)或元數(shù)據(jù)可存儲(chǔ)于存儲(chǔ)器字駐存于其中的存儲(chǔ)器中。HMC裝置的邏輯庫(kù)裸片包含管理至少一個(gè)第二裝置(例如(舉例來(lái)說(shuō))處理器或另一HMC裝置)對(duì)HMC裝置存儲(chǔ)器的三維(3D)存取的至少一個(gè)存儲(chǔ)器控制器。邏輯庫(kù)裸片還包含針對(duì)存儲(chǔ)于多個(gè)存儲(chǔ)器裸片的存儲(chǔ)器中的數(shù)據(jù)實(shí)施存儲(chǔ)器一致性協(xié)議的邏輯電路。

由于一致性目錄存儲(chǔ)于HMC裝置中,因此HMC裝置本身可用作用于其自身的數(shù)據(jù)的家節(jié)點(diǎn)。存儲(chǔ)器一致性狀態(tài)信息可與所述數(shù)據(jù)存儲(chǔ)在一起。邏輯庫(kù)層在不將所述數(shù)據(jù)存儲(chǔ)于單獨(dú)高速緩沖存儲(chǔ)器中的情況下允許存儲(chǔ)器一致性狀態(tài)信息在處理器當(dāng)中傳遞。存儲(chǔ)于共享存儲(chǔ)器中的數(shù)據(jù)基本上是高速緩沖存儲(chǔ)器線。另外,在給出由HMC裝置實(shí)施存儲(chǔ)器一致性的情況下,與維持存儲(chǔ)器一致性狀態(tài)信息相關(guān)聯(lián)的處理開(kāi)銷(xiāo)被從處理器移除。

如先前所解釋?zhuān)槍?duì)多主機(jī)多HMC系統(tǒng),使用經(jīng)包化協(xié)議來(lái)執(zhí)行主機(jī)裝置與HMC裝置之間的I/O通信。存儲(chǔ)器一致性協(xié)議可包含于此I/O協(xié)議中。經(jīng)包化信息可包含存儲(chǔ)器一致性狀態(tài)信息。在一些實(shí)例中,存儲(chǔ)器一致性狀態(tài)信息可如圖4的實(shí)例中一般與地址信息包含在一起。將存儲(chǔ)器一致性協(xié)議與I/O協(xié)議包含在一起將兩種功能組合到統(tǒng)一高效通信系統(tǒng)中。此使本地存儲(chǔ)器請(qǐng)求及系統(tǒng)存儲(chǔ)器請(qǐng)求兩者中的等待時(shí)間最小化且消除本地接口與系統(tǒng)接口之間的協(xié)議翻譯。

狀態(tài)信息確定處理器是否可安全地將數(shù)據(jù)寫(xiě)入到存儲(chǔ)器字、存儲(chǔ)器字當(dāng)前是否保持有效數(shù)據(jù)且確定可如何將存儲(chǔ)器字轉(zhuǎn)換為其中可能進(jìn)行對(duì)存儲(chǔ)器字的讀取或?qū)懭氲臓顟B(tài)。在一些實(shí)例中,HMC裝置的邏輯電路實(shí)施MSI高速緩沖存儲(chǔ)器一致性協(xié)議且確定存儲(chǔ)器裸片的存儲(chǔ)器字的“經(jīng)修改”狀態(tài)信息、“共享”狀態(tài)信息及“無(wú)效”狀態(tài)信息且與存儲(chǔ)器裸片的存儲(chǔ)器字相關(guān)聯(lián)地存儲(chǔ)狀態(tài)信息。在特定變化中,經(jīng)修改狀態(tài)信息、共享狀態(tài)信息及無(wú)效狀態(tài)信息分別包含經(jīng)修改位、共享位及無(wú)效位。在特定實(shí)例中,HMC裝置的邏輯電路實(shí)施確定專(zhuān)屬權(quán)狀態(tài)信息的MESI高速緩沖存儲(chǔ)器。在特定實(shí)例中,HMC裝置的邏輯電路實(shí)施確定存儲(chǔ)器裸片的存儲(chǔ)器字的所有權(quán)狀態(tài)信息的MOSI高速緩沖存儲(chǔ)器。邏輯電路與共享存儲(chǔ)器數(shù)據(jù)字相關(guān)聯(lián)地存儲(chǔ)專(zhuān)屬權(quán)狀態(tài)信息及所有權(quán)狀態(tài)中的一者或兩者。在一些實(shí)例中,集線器HMC裝置將路由信息添加到經(jīng)包化消息。路由信息可用于(例如,通過(guò)接收HMC裝置)確定存儲(chǔ)器一致性狀態(tài)信息。

根據(jù)一些實(shí)例,“簽出/簽入”機(jī)制由希望更新特定存儲(chǔ)器字的處理器使用。在此情形中,處理器請(qǐng)求對(duì)存儲(chǔ)器位置X的專(zhuān)屬存取。一旦所述存取由存儲(chǔ)器字駐存于其中的HMC裝置授予,存儲(chǔ)器字便可標(biāo)記為“經(jīng)簽出”(在裝置上的小相關(guān)聯(lián)表中或作為存儲(chǔ)器中的狀態(tài)的額外位)。當(dāng)數(shù)據(jù)由處理器往回簽入時(shí),HMC裝置推定所述數(shù)據(jù)被更新。因此,存儲(chǔ)器字本身將由處理器寫(xiě)回(或“清空”)且存儲(chǔ)器中的空間可經(jīng)重新使用于存儲(chǔ)額外狀態(tài)信息(例如,指示簽出存儲(chǔ)器字的裝置的狀態(tài)信息)。對(duì)存儲(chǔ)器字X的進(jìn)一步請(qǐng)求可從組合兩條信息(例如,高速緩沖存儲(chǔ)器線由處理器P簽出的狀態(tài)信息)的HMC裝置接收響應(yīng)?;谀夸浀囊恢滦詤f(xié)議接著通過(guò)使用存儲(chǔ)器一致性狀態(tài)更新(例如,可要求處理器P清空存儲(chǔ)器內(nèi)容等)而繼續(xù)進(jìn)行。當(dāng)處理器P將新數(shù)據(jù)清空回到家節(jié)點(diǎn)(存儲(chǔ)器字的HMC裝置)時(shí),可簽入存儲(chǔ)器字且清除狀態(tài)信息。

在一些實(shí)例中,HMC裝置響應(yīng)于對(duì)目標(biāo)存儲(chǔ)器字的特定狀態(tài)請(qǐng)求。例如,目標(biāo)HMC裝置可從處理器接收對(duì)對(duì)存儲(chǔ)器字的專(zhuān)屬存取的請(qǐng)求(例如,對(duì)專(zhuān)屬狀態(tài)的請(qǐng)求)。HMC裝置的邏輯電路可起始對(duì)存儲(chǔ)器字的狀態(tài)信息的讀取。如果狀態(tài)信息指示第二裝置已具有對(duì)存儲(chǔ)器字的專(zhuān)屬存取及所有權(quán),那么邏輯電路可使所述存儲(chǔ)器字無(wú)效且等待來(lái)自擁有的裝置的無(wú)效確認(rèn)。當(dāng)接收到確認(rèn)時(shí),HMC裝置可將專(zhuān)屬存取賦予原始請(qǐng)求裝置。

圖6展示操作計(jì)算機(jī)系統(tǒng)(例如圖5中所展示的實(shí)例性系統(tǒng))的方法600的實(shí)例的流程圖。在605處,例如通過(guò)HMC協(xié)議而管理對(duì)所述計(jì)算機(jī)系統(tǒng)的分布式共享存儲(chǔ)器的存取。所述共享存儲(chǔ)器經(jīng)配置以用于三維存取,且包含一或多個(gè)HMC裝置。

在610處,將存儲(chǔ)器一致性狀態(tài)信息作為存儲(chǔ)器一致性目錄存儲(chǔ)于分布式共享存儲(chǔ)器中。在一些實(shí)例中,存儲(chǔ)器一致性目錄分布于計(jì)算機(jī)系統(tǒng)的多個(gè)HMC裝置上。

在615處,在計(jì)算系統(tǒng)的多個(gè)處理器與共享存儲(chǔ)器之間傳遞傳遞經(jīng)包化信息,且在620處,將高速緩沖存儲(chǔ)器一致性狀態(tài)信息與所傳遞經(jīng)包化信息包含在一起。在一些實(shí)例中,620在計(jì)算機(jī)系統(tǒng)的處理器之間點(diǎn)對(duì)點(diǎn)地傳遞高速緩沖存儲(chǔ)器一致性狀態(tài)信息。

本文中所描述的實(shí)例性系統(tǒng)及方法提供優(yōu)于常規(guī)多處理器分布式共享存儲(chǔ)器系統(tǒng)的數(shù)個(gè)優(yōu)點(diǎn)。由HMC裝置提供的高帶寬產(chǎn)生高帶寬存儲(chǔ)器及高帶寬系統(tǒng)互連。HMC裝置在系統(tǒng)架構(gòu)中的分布使本地存儲(chǔ)器之間以及與HMC裝置互連的其它系統(tǒng)層級(jí)存儲(chǔ)器之間的帶寬及系統(tǒng)等待時(shí)間特性平衡。將存儲(chǔ)器一致性協(xié)議并入到系統(tǒng)I/O協(xié)議中提供維持本地存儲(chǔ)器與系統(tǒng)層級(jí)存儲(chǔ)器之間的存儲(chǔ)器請(qǐng)求的原子性的一個(gè)統(tǒng)一協(xié)議。所述統(tǒng)一協(xié)議通過(guò)減少或消除本地存儲(chǔ)器存取與系統(tǒng)層級(jí)存儲(chǔ)器存取之間的協(xié)議翻譯且通過(guò)使用用于本地存儲(chǔ)器存取及系統(tǒng)層級(jí)存儲(chǔ)器存取兩者的高效HMC包規(guī)范而使等待時(shí)間最小化。通過(guò)卸載存儲(chǔ)器一致性目錄的維持且通過(guò)由SoC簡(jiǎn)化一致性目錄查找而簡(jiǎn)化SoC設(shè)計(jì)。

用于高速緩沖存儲(chǔ)器一致性的另一方法是使用窺探協(xié)議。在窺探協(xié)議中,計(jì)算機(jī)系統(tǒng)的處理器監(jiān)視使用可提供處理器當(dāng)中的點(diǎn)對(duì)點(diǎn)通信的存儲(chǔ)器一致性接口發(fā)射的存儲(chǔ)器業(yè)務(wù)。與基于目錄的方法相比,處理器從經(jīng)由一致性接口的通信跟蹤狀態(tài)信息而非通過(guò)存取目錄來(lái)確定狀態(tài)信息。針對(duì)MSI窺探協(xié)議,存儲(chǔ)器一致性接口廣播特定高速緩沖存儲(chǔ)器線是否處于經(jīng)修改、共享或無(wú)效狀態(tài)中,從而允許高速緩沖存儲(chǔ)器及處理器相應(yīng)地更新共享副本的狀態(tài)。例如,當(dāng)修改高速緩沖存儲(chǔ)器線時(shí),必須使系統(tǒng)中的高速緩沖存儲(chǔ)器線的其它副本無(wú)效,使得可維持一致數(shù)據(jù)。

計(jì)算機(jī)系統(tǒng)的HMC裝置可經(jīng)配置以從處理器將窺探功能卸載(例如通過(guò)將存儲(chǔ)器一致性廣播協(xié)議并入到系統(tǒng)的I/O協(xié)議中)。保持跟蹤存儲(chǔ)器字的狀態(tài)(或窺探)的HMC裝置可響應(yīng)于對(duì)共享存儲(chǔ)器字的請(qǐng)求,猶如任何常規(guī)高速緩沖存儲(chǔ)器響應(yīng)于對(duì)共享高速緩沖存儲(chǔ)器線的請(qǐng)求一樣。

例如,HMC裝置的存儲(chǔ)庫(kù)的邏輯庫(kù)層可包含確定駐存于其裝置中的存儲(chǔ)器字的狀態(tài)信息的邏輯電路。當(dāng)對(duì)存儲(chǔ)器字進(jìn)行讀取存取時(shí),邏輯庫(kù)層的邏輯電路可將所述存儲(chǔ)器字的狀態(tài)信息設(shè)置為“專(zhuān)屬的”以將專(zhuān)屬存取賦予請(qǐng)求者。可借助對(duì)讀取存取的經(jīng)包化響應(yīng)而返回狀態(tài)信息。其它HMC裝置可跟蹤包含于經(jīng)包化通信中的狀態(tài)信息(例如,通過(guò)使用經(jīng)擴(kuò)展HMC協(xié)議)。計(jì)算機(jī)系統(tǒng)中的一些HMC裝置(例如,集線器HMC裝置)包含直通鏈路以促進(jìn)包路由。直通鏈路可用于跟蹤在響應(yīng)包中傳遞的狀態(tài)信息。端點(diǎn)(例如HMC主機(jī)鏈路或處理器)可通過(guò)將非修改請(qǐng)求發(fā)射到存儲(chǔ)器字而從存儲(chǔ)器字的擁有者查詢(xún)狀態(tài)信息??梢詫?duì)非修改請(qǐng)求的經(jīng)包化響應(yīng)通信來(lái)返回狀態(tài)信息且其它HMC裝置可從響應(yīng)包檢測(cè)狀態(tài)信息。

圖7展示操作計(jì)算機(jī)系統(tǒng)的方法700的另一實(shí)例的流程圖。所述計(jì)算機(jī)系統(tǒng)包含經(jīng)配置為共享存儲(chǔ)器的多個(gè)HMC裝置。在705處,管理對(duì)所述計(jì)算機(jī)系統(tǒng)的分布式共享存儲(chǔ)器的存取(例如,使用經(jīng)擴(kuò)展HMC協(xié)議)。在710處,分布式共享存儲(chǔ)器確定由存儲(chǔ)器存取產(chǎn)生的存儲(chǔ)器一致性狀態(tài)信息。在一些實(shí)例中,共享存儲(chǔ)器分布于多個(gè)HMC裝置上且使用HMC裝置來(lái)確定存儲(chǔ)器一致性狀態(tài)信息。

在715處,在計(jì)算系統(tǒng)的多個(gè)處理器及共享存儲(chǔ)器端點(diǎn)當(dāng)中傳遞經(jīng)包化信息。將存儲(chǔ)器一致性狀態(tài)信息與所傳遞經(jīng)包化信息包含在一起。在一些實(shí)例中,使用經(jīng)擴(kuò)展HMC協(xié)議來(lái)傳遞經(jīng)包化信息。在720處,使用共享存儲(chǔ)器端點(diǎn)來(lái)跟蹤或窺探所廣播存儲(chǔ)器一致性狀態(tài)信息。

經(jīng)窺探無(wú)效及寫(xiě)回將使數(shù)據(jù)的一致副本能夠維持于存儲(chǔ)器中且可產(chǎn)生系統(tǒng)協(xié)議的總體簡(jiǎn)化。將協(xié)議并入到存儲(chǔ)器接口的經(jīng)包化通信中可增加響應(yīng)代理(或響應(yīng)端點(diǎn))的數(shù)目,但HMC裝置的高帶寬還可能實(shí)現(xiàn)較快且較具可擴(kuò)縮性響應(yīng)。

雖然本文中已圖解說(shuō)明且描述了特定實(shí)施例,但所屬領(lǐng)域的技術(shù)人員將了解,實(shí)現(xiàn)相同目的、結(jié)構(gòu)或功能的任何布置可替代所展示的特定實(shí)施例。

舉例來(lái)說(shuō),以上描述特定來(lái)說(shuō)是指HMC裝置。然而,HMC裝置僅是實(shí)施計(jì)算機(jī)系統(tǒng)以利用所描述實(shí)施例的一個(gè)說(shuō)明性實(shí)例。所屬領(lǐng)域的技術(shù)人員將理解,在閱讀本說(shuō)明書(shū)后,所述實(shí)施例可應(yīng)用于利用其它裝置實(shí)施的計(jì)算機(jī)系統(tǒng)。例如,可利用存儲(chǔ)器中處理器(PIM)裝置及DRAM中的一者或兩者來(lái)實(shí)施所述實(shí)施例。PIM裝置是指緊密地耦合到存儲(chǔ)器的一或多個(gè)處理器。有時(shí),PIM裝置的一或多個(gè)處理器與存儲(chǔ)器裝置包含于同一IC中。PIM裝置也可包含邏輯電路,所述邏輯電路用以實(shí)施用于存儲(chǔ)于一或若干PIM裝置的存儲(chǔ)器中的數(shù)據(jù)的存儲(chǔ)器一致性協(xié)議。

在本文獻(xiàn)中,就像在專(zhuān)利文獻(xiàn)中常見(jiàn)的一樣,術(shù)語(yǔ)“一(a或an)”用來(lái)包含一或多個(gè),而不管“至少一個(gè)”或“一或多個(gè)”的任何其它實(shí)例或使用。在本文獻(xiàn)中,術(shù)語(yǔ)“或(or)”用來(lái)指代非排他性或,使得除非另有指示,否則“A或B”包含“A但非B”、“B但非A”以及“A及B”。在所附權(quán)利要求書(shū)中,術(shù)語(yǔ)“包含(including)”及“其中(in which)”用作相應(yīng)術(shù)語(yǔ)“包括(comprising)”及“其中(wherein)”的通俗英語(yǔ)等效物。并且,在所附權(quán)利要求書(shū)中,術(shù)語(yǔ)“包含”及“包括”為開(kāi)放式的,即,在一技術(shù)方案中除在此術(shù)語(yǔ)后列示的那些要素外還包含其它要素的系統(tǒng)、裝置、物品或過(guò)程仍視為屬于所述技術(shù)方案的范圍內(nèi)。此外,在所附權(quán)利要求書(shū)中,術(shù)語(yǔ)“第一”、“第二”及“第三”等僅用作標(biāo)簽,且不打算對(duì)其對(duì)象強(qiáng)加數(shù)值要求。

本申請(qǐng)案打算涵蓋對(duì)本文中所描述的本發(fā)明的實(shí)例性實(shí)施例的任何更改或變化形式。打算本發(fā)明僅由權(quán)利要求書(shū)及其等效物的完全范圍限制。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1