專利名稱:多串行接口堆疊裸片存儲器架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本文所描述的各種實施例涉及與半導(dǎo)體存儲器(包含堆疊裸片存儲器架構(gòu))相關(guān)聯(lián)的設(shè)備、系統(tǒng)及方法。
背景技術(shù):
微處理器技術(shù)以比半導(dǎo)體存儲器技術(shù)快的速率演進。因此,通常在現(xiàn)代主機處理器與所述處理器與其配對以接收指令及數(shù)據(jù)的半導(dǎo)體存儲器子系統(tǒng)之間存在性能不匹配。 舉例來說,據(jù)估計,一些高端服務(wù)器閑置四個時鐘中的三個時鐘來等待響應(yīng)于存儲器請求。另外,軟件應(yīng)用及操作系統(tǒng)技術(shù)的演進隨著處理器核心及線程數(shù)目不斷增加而增加了對較高密度存儲器子系統(tǒng)的要求。然而,當前技術(shù)的存儲器子系統(tǒng)通常在性能與密度之間表現(xiàn)折衷。較高帶寬可限制可連接于系統(tǒng)中的存儲器卡或存儲器模塊的數(shù)目不超過電子裝置工程聯(lián)合委員會(JEDEC)電氣技術(shù)規(guī)范。雖然已提出對JEDEC接口標準(例如動態(tài)數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM))的擴展,但通??砂l(fā)現(xiàn)關(guān)于未來所預(yù)測的存儲器帶寬及密度的不足。缺點包含存儲器功率優(yōu)化的不足及主機處理器與存儲器子系統(tǒng)之間的接口的唯一性。后一缺點可導(dǎo)致當處理器及/或存儲器技術(shù)改變時需要重新設(shè)計接口。
圖1是根據(jù)本發(fā)明的各種實例性實施例的存儲器系統(tǒng)的框圖。圖2是根據(jù)各種實例性實施例的與邏輯裸片堆疊在一起的堆疊式裸片3D存儲器陣列的剖切概念性視圖。圖3及圖4是展示根據(jù)各種實例性實施例的與實例性包相關(guān)聯(lián)的字段的包圖。圖5是根據(jù)各種實例性實施例的存儲器庫控制器及相關(guān)聯(lián)模塊的框圖。圖6A及6B是圖解說明根據(jù)各種實例性實施例的方法的流程圖。圖7A及7B是圖解說明根據(jù)各種實例性實施例的方法的流程圖。
具體實施例方式圖1是根據(jù)本發(fā)明的各種實例性實施例的存儲器系統(tǒng)100的框圖。存儲器系統(tǒng) 100操作以在一個或一個以上發(fā)端裝置及/或目的地裝置(例如,一個或一個以上處理器)與堆疊式陣列存儲器“庫”集合之間大致同時傳送多個出站及/或入站命令、地址及/或數(shù)據(jù)流??僧a(chǎn)生增加的存儲器系統(tǒng)密度、帶寬、并行性及可縮放性。本文中的多裸片存儲器陣列實施例聚集在先前設(shè)計中通常位于每一個別存儲器陣列裸片上的控制邏輯。本文中稱為“存儲器庫”的堆疊式裸片群組的子區(qū)段分用共用控制邏輯。所述存儲器庫架構(gòu)策略性地分割存儲器控制邏輯以在提供較精細粒度的通電存儲器組時增加能量效率。本文中的實施例還實現(xiàn)標準化的主機處理器/存儲器系統(tǒng)接口。標準化接口可減少因存儲器技術(shù)演進所致的重新設(shè)計周期時間。圖2是根據(jù)各種實例性實施例的與邏輯裸片202堆疊在一起的堆疊式裸片3D存儲器陣列200的剖切概念性視圖。存儲器系統(tǒng)100并入有一個或一個以上平鋪存儲器陣列堆疊,例如,堆疊式裸片3D存儲器陣列200。多個存儲器陣列(例如,存儲器陣列203)制造于多個裸片(例如,裸片204)中的每一者上。然后,所述存儲器陣列裸片經(jīng)堆疊以形成堆疊式裸片3D存儲器陣列200。所述堆疊裸片中的每一者劃分成多個“瓦片”(例如,與堆疊裸片204相關(guān)聯(lián)的瓦片205A、205B及205C)。每一瓦片(例如,瓦片205C)可包含一個或一個以上存儲器陣列 203。在一些實施例中,每一存儲器陣列203可在存儲器系統(tǒng)100中配置為一個或一個以上獨立存儲器組。存儲器陣列203并不限于任一特定存儲器技術(shù)且可包含動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)、快閃存儲器等。堆疊式存儲器陣列瓦片集合208可包含來自所述堆疊裸片中的每一者的單個瓦片(例如,瓦片212B、212C及212D,其中圖1中看不出基底瓦片)。功率、地址及/或數(shù)據(jù)以及類似共用信號可沿“Z”維度220在本文中稱為“貫穿晶片互連件”(TWI)的導(dǎo)電路徑 (例如,導(dǎo)電路徑224)上穿越堆疊式瓦片集合208。注意,TWI不需一定要全部穿過特定晶片或裸片。因此,堆疊式裸片3D存儲器陣列200分割成存儲器“庫”(例如,存儲器庫230)集合。每一存儲器庫包含堆疊式瓦片集合(例如,瓦片集合208)(—個瓦片來自多個堆疊裸片中的每一者),以及使瓦片集合208電互連的TWI集合。所述庫中的每一瓦片包含一個或一個以上存儲器陣列(例如,存儲器陣列M0)。圖1中展示所得存儲器庫集合102。存儲器系統(tǒng)100還包含多個存儲器庫控制器 (MVC) 104(例如,MVC 106)。每一 MVC以一對一關(guān)系以通信方式耦合到對應(yīng)存儲器庫(例如,集合102的存儲器庫110)。因此,每一 MVC能夠獨立于其它MVC與其相應(yīng)存儲器庫之間的通信與對應(yīng)存儲器庫通信。存儲器系統(tǒng)100還包含多個可配置經(jīng)串行化通信鏈路接口(SCLI) 112。SCLI 112 劃分成出站SCLI群組113(例如,出站SCLI 114)及入站SCLI群組115。多個SCLI 112中的每一者能夠與其它SCLI 112同時操作。同時,SCLI 112以通信方式將多個MVC 104耦合到一個或一個以上主機處理器114。存儲器系統(tǒng)100將高度抽象的多鏈路高通量接口呈現(xiàn)給主機處理器114。存儲器系統(tǒng)100還可包含開關(guān)116。在一些實施例中,開關(guān)116可包括矩陣開關(guān)或交叉連接開關(guān)。開關(guān)116以通信方式耦合到多個SCLI 112且耦合到多個MVC 104。開關(guān) 116能夠?qū)⒚恳?SCLI交叉連接到選定MVC。因此,主機處理器114可跨越多個SCLI112以大致同時方式存取多個存儲器庫102。此架構(gòu)可提供現(xiàn)代處理器技術(shù)(包含多核技術(shù))所需要的處理器到存儲器帶寬。存儲器系統(tǒng)100還可包含耦合到開關(guān)116的存儲器組構(gòu)控制寄存器117。存儲器組構(gòu)控制寄存器117接受來自配置源的存儲器組構(gòu)配置參數(shù)且將存儲器系統(tǒng)100的一個或一個以上組件配置成根據(jù)可選擇模式操作。舉例來說,開關(guān)116以及多個存儲器庫102中的每一者及多個MVC 104通常可經(jīng)配置以響應(yīng)于單獨存儲器請求而彼此獨立地操作。此配置可由于SCLI 112與存儲器庫102之間的并行性而增強存儲器系統(tǒng)帶寬。另一選擇為,存儲器系統(tǒng)100可經(jīng)重新配置經(jīng)由存儲器組構(gòu)控制寄存器117以致使多個存儲器庫102中的兩者或兩者以上的子集及對應(yīng)MVC子集響應(yīng)于單個請求而同步操作。后一種配置可用于存取比與單個庫相關(guān)聯(lián)的數(shù)據(jù)字的寬度較寬的數(shù)據(jù)字。此技術(shù)可縮短等待時間,如下文進一步描述。可通過將選定位模式加載到存儲器組構(gòu)控制寄存器117 中來實現(xiàn)其它配置。圖3及圖4是展示根據(jù)各種實例性實施例分別與實例性包300及400相關(guān)聯(lián)的字段的包圖。結(jié)合圖3及圖4轉(zhuǎn)到圖1,存儲器系統(tǒng)100還可包含耦合到開關(guān)116的多個包解碼器118(例如,包解碼器120)。主機處理器114組裝出站包122,所述出站包在一些實施例中可在結(jié)構(gòu)上類似于實例性命令包300或數(shù)據(jù)包400。S卩,出站包122可含有命令字段 310、地址字段320及/或數(shù)據(jù)字段410。然后,主機處理器114跨越出站SCLI (例如,出站 SCLI 114)以下文進一步闡釋的方式將出站包122發(fā)送到包解碼器120。出站SCLI 114可包含多個出站差分對串行路徑(DPSP) 128。DPSP 1 以通信方式耦合到主機處理器114且可集體地輸送出站包122。S卩,多個出站DPSP 128中的每一 DPSP 可以第一數(shù)據(jù)速率輸送出站包122中的第一數(shù)據(jù)速率出站子包部分。出站SCLI 114還可包含耦合到多個出站DPSP 1 的解串行化器130。解串行化器130將出站包122中的每一第一數(shù)據(jù)速率出站子包部分轉(zhuǎn)換成多個第二數(shù)據(jù)速率出站子包??缭降谝欢鄠€出站單端數(shù)據(jù)路徑(SEDP) 134以第二數(shù)據(jù)速率發(fā)送多個第二數(shù)據(jù)速率出站子包。所述第二數(shù)據(jù)速率比所述第一數(shù)據(jù)速率慢。出站SCLI 114還可包含以通信方式耦合到解串行化器130的多路分用器138。多路分用器138將多個第二數(shù)據(jù)速率出站子包中的每一者轉(zhuǎn)換成多個第三數(shù)據(jù)速率出站子包??缭降诙鄠€出站SEDP 142以第三數(shù)據(jù)速率將所述多個第三數(shù)據(jù)速率出站子包發(fā)送到包解碼器120。所述第三數(shù)據(jù)速率比所述第二數(shù)據(jù)速率慢。包解碼器120接收出站包122且提取命令字段310 (例如,實例性包300的命令字段)、地址字段320 (例如,實例性包300的地址字段)及/或數(shù)據(jù)字段(例如,實例性包400 的數(shù)據(jù)字段)。在一些實施例中,包解碼器120將地址字段320解碼以確定對應(yīng)存儲器庫選擇信號集合。包解碼器120在接口 146上將所述存儲器庫選擇信號集合呈現(xiàn)給開關(guān)116。 所述庫選擇信號致使將輸入數(shù)據(jù)路徑148切換到對應(yīng)于出站包122的MVC106?,F(xiàn)在轉(zhuǎn)到對入站數(shù)據(jù)路徑的論述,存儲器系統(tǒng)100可包含耦合到開關(guān)116的多個包編碼器154(例如,包編碼器158)。包編碼器158可經(jīng)由開關(guān)116從多個MVC 104中的一者接收入站存儲器命令、入站存儲器地址及/或入站存儲器數(shù)據(jù)。包編碼器158將入站存儲器命令、地址及/或數(shù)據(jù)編碼成入站包160以供跨越入站SCLI 164傳輸?shù)街鳈C處理器 114。在一些實施例中,包編碼器158可將入站包158切分成多個第三數(shù)據(jù)速率入站子包。包編碼器158可跨越第一多個入站單端數(shù)據(jù)路徑(SEDP) 166以第三數(shù)據(jù)速率發(fā)送所述多個第三數(shù)據(jù)速率入站子包。存儲器系統(tǒng)100還可包含以通信方式耦合到包編碼器158的一多路復(fù)用器168。多路復(fù)用器168可將所述第三數(shù)據(jù)速率入站子包的多個子集多路復(fù)用成第二數(shù)據(jù)速率入站子包。多路復(fù)用器168跨越第二多個入站SEDP 170以比所述第三數(shù)據(jù)速率快的第二數(shù)據(jù)速率發(fā)送所述第二數(shù)據(jù)速率入站子包。存儲器系統(tǒng)100可進一步包含以通信方式耦合到多路復(fù)用器168的串行化器172。 串行化器172可將所述第二數(shù)據(jù)速率入站子包的多個子集中的每一者聚集成第一數(shù)據(jù)速率入站子包。跨越多個入站差分對串行路徑(DPSP) 174以比所述第二數(shù)據(jù)速率快的第一數(shù)據(jù)速率將所述第一數(shù)據(jù)速率入站子包發(fā)送到主機處理器114。因此,經(jīng)由開關(guān)116跨越SCLI 112在主機處理器114與MVC 104之間往復(fù)地傳送命令、地址及數(shù)據(jù)信息。MVC 104、SCLI 112及開關(guān)116制造于邏輯裸片202上。圖5是根據(jù)各種實例性實施例的MVC (例如,MVC 106)及相關(guān)聯(lián)模塊的框圖。MVC 106可包含可編程庫控制邏輯(PVCL)組件(例如,PVCL 510)。PVCL 510將MVC 106介接到對應(yīng)存儲器庫(例如,存儲器庫110)。PVCL 510產(chǎn)生與對應(yīng)存儲器庫110相關(guān)聯(lián)的一個或一個以上組控制信號及/或計時信號。PVCL 510可經(jīng)配置以使MVC 106適于選定配置或選定技術(shù)的存儲器庫110。因此, 舉例來說,存儲器系統(tǒng)100最初可經(jīng)配置使用當前可用的DDR2 DRAM0隨后,存儲器系統(tǒng)100 可經(jīng)調(diào)適以通過重新配置PVCL 510以包含DDR3組控制及計時邏輯而適應(yīng)基于DDR3的存儲器庫技術(shù)。MVC 106還可包含以通信方式耦合到PVCL 510的存儲器定序器514。存儲器定序器514基于用于實施相關(guān)聯(lián)存儲器庫110的技術(shù)而執(zhí)行存儲器技術(shù)相依操作集合。舉例來說,存儲器定序器514可執(zhí)行與對應(yīng)存儲器庫110相關(guān)聯(lián)的命令解碼操作、存儲器地址多路復(fù)用操作、存儲器地址多路分用操作、存儲器刷新操作、存儲器庫訓(xùn)練操作及/或存儲器庫預(yù)取操作。在一些實施例中,存儲器定序器514可包括DRAM定序器。在一些實施例中,存儲器刷新操作可源于刷新控制器515中。存儲器定序器514可經(jīng)配置以使存儲器系統(tǒng)100適于選定配置或技術(shù)的存儲器庫 110。舉例來說,存儲器定序器514可經(jīng)配置以與同存儲器系統(tǒng)100相關(guān)聯(lián)的其它存儲器定序器同步操作。此配置可用于響應(yīng)于單個高速緩沖存儲器線請求而將寬數(shù)據(jù)字從多個存儲器庫遞送到與主機處理器114相關(guān)聯(lián)的高速緩沖存儲器線(未展示)。MVC 106還可包含寫入緩沖器516。寫入緩沖器516可耦合到PVCL 510以緩沖從主機處理器114到達MVC 106的數(shù)據(jù)。MVC 106可進一步包含讀取緩沖器517。讀取緩沖器517可耦合到PVCL 510以緩沖從對應(yīng)存儲器庫110到達MVC 106的數(shù)據(jù)。MVC 106還可包含無序請求隊列518。無序請求隊列518確立有序序列的對包含于存儲器庫110中的多個存儲器組的讀取及/或?qū)懭氩僮鳌_x取有序序列以避免對任一單個存儲器組的序列操作以減少組沖突且縮短讀取到寫入周轉(zhuǎn)時間MVC 106還可包含存儲器庫修復(fù)邏輯(MVRL)組件524。MVRL 5 可使用陣列修復(fù)邏輯5 來執(zhí)行有缺陷存儲器陣列地址重映射操作。陣列修復(fù)邏輯5 可將請求重映射到位于存儲器庫裸片上(例如,圖2的堆疊裸片204上)及/或位于邏輯裸片202上的冗余單元或單元陣列(例如,備用陣列527)。MVRL 5M還可使用TWI修復(fù)邏輯5 來執(zhí)行與對應(yīng)存儲器庫110相關(guān)聯(lián)的TWI修復(fù)操作??梢园布?、軟件、固件或其組合的實施例的若干方式實施先前所描述的組件中的任一者。注意,在此上下文中“軟件”是指法定軟件結(jié)構(gòu)且不僅僅是指軟件列表。因此,在本文中存儲器系統(tǒng)100 ;存儲器陣列200、203、M0、527 ;裸片202、204 ; 瓦片 205A、205B、205C、208、212B、212C、212D ;"Ζ” 維度 220 ;路徑 224,148 ;存儲器庫 230、 102,110 ;MVC 104,106 ;SCLI 112、113、114、115、164 ;處理器 114 ;開關(guān) 116 ;寄存器 117 ;包 300、400、122、160 ;包解碼器 118、120 ;字段 310、320、410 ;DPSP 128、174 ;解串行化器 130 ; SEDP 134、142、166、170 ;多路分用器138 ;接口 146 ;包編碼器154、158 ;多路復(fù)用器168 ;串行化器172 ;PVCL 510 ;存儲器定序器514 ;刷新控制器515 ;緩沖器516、517 ;無序請求隊列 518 ;MVRL 524 ;陣列修復(fù)邏輯526 ;及TWI修復(fù)邏輯5 可全部表征為“模塊”。所述模塊可包含存儲器系統(tǒng)100的架構(gòu)所期望且適合于各種實施例的特定實施方案的硬件電路、光學組件、單處理器或多處理器電路、存儲器電路、軟件程序模塊及對象、 固件及其組合。各種實施例的設(shè)備及系統(tǒng)可在除高密度多鏈路高通量半導(dǎo)體存儲器子系統(tǒng)以外的應(yīng)用中有用。因此,本發(fā)明的各種實施例并不受此限制。對存儲器系統(tǒng)100的圖解說明意欲提供對各種實施例的結(jié)構(gòu)的一般理解。所述圖解說明并非意欲用作對可利用本文中所描述結(jié)構(gòu)的設(shè)備及系統(tǒng)的所有元件及特征的完全描述。各種實施例的新穎設(shè)備及系統(tǒng)可包括用于計算機、通信及信號處理電路、單處理器模塊或多處理器模塊、單個嵌入式處理器或多個嵌入式處理器、多核處理器、數(shù)據(jù)開關(guān)及包含多層多芯片模塊的專用模塊中的電子電路或并入到其中。此等設(shè)備及系統(tǒng)可作為子組件進一步包含于各種電子系統(tǒng)內(nèi),例如電視、蜂窩式電話、個人計算機(例如,膝上型計算機、桌上型計算機、手持式計算機、平板計算機等)、工作臺、無線電、視頻播放器、音頻播放器(例如,MP3(動畫專家群,音頻層幻播放器)、車輛、醫(yī)療裝置(例如,心臟監(jiān)測器、血壓監(jiān)測器等)、機頂盒及其它裝置。一些實施例可包含若干種方法。圖6A及圖6B是圖解說明根據(jù)各種實例性實施例的方法600的流程圖。方法600 包含將多個命令、地址及/或數(shù)據(jù)出站流從一個或一個以上發(fā)端裝置(例如,圖1的處理器 114)大致同時傳送到多個存儲器庫(例如,圖1的存儲器庫10 ??砂隽髑铱缭蕉鄠€出站SCLI (例如,圖1的出站SCLI 113)將其從發(fā)端裝置輸送到包解碼器(例如,圖1的包解碼器118)集合。然后,可將所述命令、地址及數(shù)據(jù)流切換到對應(yīng)MVC(例如,MVC 104) 以供執(zhí)行及/或?qū)懭氲剿龃鎯ζ鲙旎驈乃龃鎯ζ鲙熳x取。方法600可在框606處開始以在發(fā)端裝置處將出站包切分成第一數(shù)據(jù)速率子包部分集合。在一些實施例中,所述發(fā)端裝置可包含一個或一個以上處理器。在一些實施例中, 所述發(fā)端裝置可包含具有直接存儲器存取(DMA)能力的類別的裝置,例如,圖形控制器。所述包可攜載待寫入到一個或一個以上存儲器子系統(tǒng)位置的一個或一個以上出站存儲器子系統(tǒng)命令、地址或數(shù)據(jù)字段。方法600可在框610處繼續(xù)以將所述第一數(shù)據(jù)速率子包中的每一者從發(fā)端裝置 (例如,從選定處理器)發(fā)送到解串行化器(例如,圖1的解串行化器130)。可跨越對應(yīng)于選定出站SCLI (例如,圖1的出站SCLI 114)的多個DPSP (例如,圖1的DPSP 128)以第一數(shù)據(jù)速率發(fā)送所述第一數(shù)據(jù)速率子包。方法600還可在框612處包含在所述解串行化器處將所述第一數(shù)據(jù)速率子包中的每一者切分成多個第二數(shù)據(jù)速率子包。方法600可在框614處進一步包含以比第一數(shù)據(jù)速率慢的第二數(shù)據(jù)速率將所述第二數(shù)據(jù)速率子包中的每一者從解串行化器發(fā)送到多路分用器(例如,圖1的多路分用器 138)。在所述多路分用器處,可如框616處所繪示將第二數(shù)據(jù)速率子包中的每一者切分成第三數(shù)據(jù)速率子包集合。方法600還可在框618處包含以比第二數(shù)據(jù)速率慢的第三數(shù)據(jù)速率將第三數(shù)據(jù)速率子包發(fā)送到包解碼器。方法600可在框622處繼續(xù)以在包解碼器處從選定SCLI接收第三數(shù)據(jù)速率子包。 方法600可在框6 處包含將所述第三數(shù)據(jù)速率子包集合組裝成出站包。方法600還可在框擬8處包含從所述包提取出站命令、出站地址或出站數(shù)據(jù)中的至少一者。方法600還可在框632處包含將出站命令、地址或數(shù)據(jù)呈現(xiàn)給矩陣開關(guān)。方法600 可在框636處進一步包含在矩陣開關(guān)處同時切換與每一流相關(guān)聯(lián)的出站命令、地址及/或數(shù)據(jù)。將與每一流相關(guān)聯(lián)的出站命令、地址及/或數(shù)據(jù)切換到與對應(yīng)存儲器庫(例如,圖1 的存儲器庫110)相關(guān)聯(lián)的目的地MVC (例如,圖1的MVC 106)。方法600可在框640處繼續(xù)以在MVC的寫入緩沖器組件(例如,圖1的寫入緩沖器516)處緩沖出站命令、地址及/或數(shù)據(jù)。方法600可在框644處包含將出站命令、數(shù)據(jù)及/或數(shù)據(jù)呈現(xiàn)給存儲器定序器(例如,圖1的存儲器定序器514)以供處理。在一些實施例中,方法600可在框645處視情況包含確定存儲器子系統(tǒng)是否已配置成以同步并行模式操作。如果是,那么方法600可在框646處包含響應(yīng)于單個存儲器請求而操作同步存儲器庫子集。此操作可用于通過同步傳送寬度為單個存儲器庫字長度倍數(shù)
的寬數(shù)據(jù)字來縮短存取等待時間。所得寬數(shù)據(jù)字寬度對應(yīng)于同步庫子集中的存儲器庫的數(shù)目。方法600可在框648處視情況包含在存儲器定序器的無序請求隊列組件(例如, 圖5的無序請求隊列51 處排序與對應(yīng)存儲器庫相關(guān)聯(lián)的多個存儲器組的讀取及/或?qū)懭氩僮?。所述排序可操作以避免多次順序讀取任一單個存儲器組及/或?qū)懭氲饺我粏蝹€存儲器組,且可借此減少組沖突并縮短讀取到寫入周轉(zhuǎn)時間。方法600可在框650處結(jié)束以執(zhí)行用于將出站數(shù)據(jù)寫入到對應(yīng)存儲器庫的數(shù)據(jù)寫入操作、用于從對應(yīng)存儲器庫讀取數(shù)據(jù)的數(shù)據(jù)讀取操作、及/或存儲器庫內(nèi)務(wù)處理操作。所述數(shù)據(jù)寫入操作、數(shù)據(jù)讀取操作及/或內(nèi)務(wù)處理操作可是獨立于與耦合到其它存儲器庫的其它MVC相關(guān)聯(lián)的同時操作執(zhí)行的。圖7A及圖7B是圖解說明根據(jù)各種實例性實施例的方法700的流程圖。方法700 包含將多個經(jīng)包化命令、地址及/或數(shù)據(jù)入站流從多個存儲器庫(例如,圖1的存儲器庫 102)大致同時傳送到一個或一個以上目的地裝置(例如,圖1的處理器114)??捎膳c存儲器庫(例如,圖1的MVC 104)相關(guān)聯(lián)的MVC集合從存儲器庫讀取命令、地址及/或數(shù)據(jù)流, 及/或所述命令、地址及/或數(shù)據(jù)流可源于MVC處??赏ㄟ^開關(guān)(例如,圖1的開關(guān)116) 將所述流切換到包編碼器(例如,圖1的包編碼器154)集合。然后,可包化所述流且跨越多個入站SCLI (例如,圖1的入站SCLI 115)將其輸送到目的地裝置。方法700可在框706處開始以在對應(yīng)于選定存儲器庫(例如,圖1的存儲器庫110) 的MVC(例如,圖1的MVC 106)處從處理器接收讀取命令。注意,在一些實施例中,處理器及目的地裝置可為同一裝置;然而此情況不必如此。方法700可在框710處繼續(xù)以使用與MVC相關(guān)聯(lián)的存儲器定序器(例如,圖1的存儲器定序器514)從與存儲器庫相關(guān)聯(lián)的選定存儲器組存取入站數(shù)據(jù)字。方法700可在框714處包含將入站數(shù)據(jù)字呈現(xiàn)給開關(guān)。方法700還可在框718處包含使用開關(guān)將入站數(shù)據(jù)字切換到與選定SCLI (例如, 入站SCLI 164)相關(guān)聯(lián)的包編碼器(例如,圖1的包編碼器158)。方法700可在框722處進一步包含使用包編碼器將入站數(shù)據(jù)字包化成入站包。方法700可在框7 處繼續(xù)以將入站包切分成多個第三數(shù)據(jù)速率入站子包。方法 700可在框734處包含以第三數(shù)據(jù)速率將所述多個第三數(shù)據(jù)速率入站子包發(fā)送到多路復(fù)用器(例如,圖1的多路復(fù)用器168)。方法700還可在框738處包含使用多路復(fù)用器將第三數(shù)據(jù)速率入站子包的多個子集中的每一者多路復(fù)用成第二數(shù)據(jù)速率入站子包。方法700可在框742處進一步包含以第二數(shù)據(jù)速率將所述第二數(shù)據(jù)速率入站子包發(fā)送到串行化器(例如,圖1的串行化器172)。方法700可在框746處繼續(xù)以使用串行化器將第二數(shù)據(jù)速率入站子包的多個子集中的每一者聚集成第一數(shù)據(jù)速率入站子包。方法700可在框7M處包含將所述第一數(shù)據(jù)速率入站子包呈現(xiàn)給目的地裝置。方法700還可在框758處包含將所述第一數(shù)據(jù)速率入站子包組裝成入站包。方法700可結(jié)束以在框762處從入站包提取入站數(shù)據(jù)字且在框768處將所述入站數(shù)據(jù)字呈現(xiàn)給與目的地裝置相關(guān)聯(lián)的操作系統(tǒng)。注意,可以除所描述次序以外的次序執(zhí)行本文中所描述的活動。還可以重復(fù)、串行及/或并行方式執(zhí)行相對于本文中所識別的方法描述的各種活動。在基于計算機的系統(tǒng)中可從計算機可讀媒體發(fā)射軟件程序以執(zhí)行所述軟件程序中所定義的功能??刹捎酶鞣N編程語言來創(chuàng)建經(jīng)設(shè)計以實施及執(zhí)行本文中所揭示的方法的軟件程序??墒褂脤ο髮?dǎo)向語言(例如,Java語言或C++語言)將所述程序結(jié)構(gòu)化為對象導(dǎo)向格式。另一選擇為,可使用程序語言(例如,組裝語言或C語言)將所述程序結(jié)構(gòu)化為程序?qū)蚋袷?。軟件組件可尤其使用包含應(yīng)用程序接口、過程間通信技術(shù)及遠程程序呼叫等眾所周知的機制來進行通信。各種實施例的教示并不限于任一特定編程語言或環(huán)境。本文中所描述的設(shè)備、系統(tǒng)及方法可操作以在一個或一個以上發(fā)端裝置及/或目的地裝置(例如,一個或一個以上處理器)與堆疊式陣列存儲器庫集合之間大致同時傳送多個命令、地址及/或數(shù)據(jù)流??僧a(chǎn)生增加的存儲器系統(tǒng)密度、帶寬、并行性及可縮放性。借助圖解說明而非限制方式,附圖展示其中可實踐標的物的特定實施例。足夠詳細地描述了所圖解說明的實施例以使得所屬領(lǐng)域的技術(shù)人員能夠?qū)嵺`本文中所揭示的教示??墒褂闷渌鼘嵤├铱蓮谋景l(fā)明得出其它實施例,以使得可在不背離本發(fā)明范圍的情況下做出結(jié)構(gòu)及邏輯替代及改變。因此,不應(yīng)將此具體實施方式
視為具有限制意義。發(fā)明性標的物的此類實施例在本文中可個別地或集體地由術(shù)語“發(fā)明 (invention)”指示,此僅出于便利性且并非意欲在事實上已揭示多于一個發(fā)明或發(fā)明性概念的情況下將本申請案自發(fā)地限于任一單個發(fā)明或發(fā)明性概念。因此,雖然本文中已圖解說明且描述了特定實施例,但旨在實現(xiàn)相同目的的任一布置可替代所展示的特定實施例。 本發(fā)明意欲涵蓋各種實施例的任一及所有改動或變化形式。在審閱以上描述之后,所屬領(lǐng)域的技術(shù)人員將即刻明了上述實施例的組合及本文中未特定描述的其它實施例。提供本發(fā)明摘要以遵循37C. F. R. § 1. 72 (b),其需要將允許讀者快速弄清本技術(shù)性發(fā)明的性質(zhì)的摘要。提交本發(fā)明摘要是基于以下理解其并非用于解釋或限制所述權(quán)利要求書的范圍或含義。在前述具體實施方式
中,出于簡化本發(fā)明的目的將各種特征一起組合于單個實施例中。不應(yīng)將本發(fā)明方法解釋為需要比每一權(quán)利要求中所明確陳述更多的特征。而是,發(fā)明性標的物可處于少于單個所揭示實施例的所有特征中。因此,以上權(quán)利要求書借此并入到具體實施方式
中,其中每一權(quán)利要求本身作為單獨實施例。
權(quán)利要求
1.一種存儲器系統(tǒng),其包括多個存儲器庫,其包括多個堆疊式平鋪存儲器陣列,每一存儲器庫包括多個堆疊式存儲器陣列裸片區(qū)段;多個存儲器庫控制器(MVC),每一 MVC以一對一關(guān)系耦合到所述多個存儲器庫中的一對應(yīng)存儲器庫且能夠獨立于所述多個MVC中的其它MVC與對應(yīng)于所述多個MVC中的所述其它MVC的存儲器庫之間的通信來與所述對應(yīng)存儲器庫通信;及多個可配置經(jīng)串行化通信鏈路接口(SCLI),其能夠同時操作而以通信方式將所述多個 MVC耦合到發(fā)端裝置或目的地裝置中的至少一者。
2.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),其中所述多個堆疊式存儲器陣列裸片區(qū)段包括來自所述多個堆疊式平鋪存儲器陣列中的每一者的單個瓦片。
3.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),其中對應(yīng)于每一存儲器庫的所述多個存儲器陣列裸片區(qū)段是使用貫穿晶片互連件(TWI)互連。
4.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),其進一步包括開關(guān),其耦合到所述多個SCLI且耦合到所述多個MVC以將選定SCLI交叉連接到選定MVC。
5.根據(jù)權(quán)利要求4所述的存儲器系統(tǒng),其進一步包括包解碼器,其耦合到所述開關(guān)以接收跨越所述多個SCLI中的一出站SCLI從所述發(fā)端裝置發(fā)送的出站包以從所述出站包提取出站存儲器命令、出站存儲器地址或出站存儲器數(shù)據(jù)字段中的至少一者,且將存儲器庫選擇信號集合呈現(xiàn)給所述開關(guān);及包編碼器,其耦合到所述開關(guān)以從所述多個MVC中的一者接收入站存儲器命令、入站存儲器地址或入站存儲器數(shù)據(jù)中的至少一者,且將所述入站存儲器地址或所述入站存儲器數(shù)據(jù)編碼成入站包以供跨越所述多個SCLI中的一入站SCLI傳輸?shù)剿瞿康牡匮b置。
6.根據(jù)權(quán)利要求4所述的存儲器系統(tǒng),其進一步包括控制寄存器,其耦合到所述開關(guān)以接受來自配置源的配置參數(shù)且將所述開關(guān)配置成根據(jù)可選擇模式操作。
7.根據(jù)權(quán)利要求6所述的存儲器系統(tǒng),其中所述可選擇模式包含以下各項中的至少一者響應(yīng)于至少一個請求而同步地操作所述多個存儲器庫或響應(yīng)于至少一個請求而異步地操作所述多個存儲器庫。
8.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),所述多個SCLI中的一出站SCLI進一步包括 多個出站差分對串行路徑(DPSP),其耦合到所述發(fā)端裝置以跨越所述出站SCLI輸送含有命令信息、地址信息或數(shù)據(jù)中的至少一者的出站包,所述多個出站DPSP中的每一者用以以第一數(shù)據(jù)速率輸送所述出站包中的第一數(shù)據(jù)速率出站子包部分;解串行化器,其耦合到所述多個出站DPSP以將所述出站包中的每一第一數(shù)據(jù)速率出站子包部分轉(zhuǎn)換成多個第二數(shù)據(jù)速率出站子包以供跨越第一多個出站單端數(shù)據(jù)路徑 (SEDP)以第二數(shù)據(jù)速率傳輸,所述第二數(shù)據(jù)速率比所述第一數(shù)據(jù)速率慢;及多路分用器,其以通信方式耦合到所述解串行化器以將所述多個第二數(shù)據(jù)速率出站子包中的每一者轉(zhuǎn)換成多個第三數(shù)據(jù)速率出站子包以供跨越第二多個出站SEDP以第三數(shù)據(jù)速率傳輸?shù)桨獯a器,所述第三數(shù)據(jù)速率比所述第二數(shù)據(jù)速率慢。
9.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),其進一步包括包編碼器,其以通信方式耦合到所述開關(guān)以包化從與所述選定存儲器庫相關(guān)聯(lián)的MVC 所接收的命令信息、地址信息或數(shù)據(jù)中的至少一者以供跨越所述多個SCLI中的一入站 SCLI傳輸?shù)剿瞿康牡匮b置,以將所得入站包切分成多個第三數(shù)據(jù)速率入站子包,且跨越第一多個入站單端數(shù)據(jù)路徑(SEDP)以第三數(shù)據(jù)速率發(fā)送所述第三數(shù)據(jù)速率入站子包;多路復(fù)用器,其以通信方式耦合到所述包編碼器以將所述第三數(shù)據(jù)速率入站子包的多個子集中的每一者多路復(fù)用成第二數(shù)據(jù)速率入站子包,且跨越第二多個入站SEDP以比所述第三數(shù)據(jù)速率快的第二數(shù)據(jù)速率發(fā)送所述第二數(shù)據(jù)速率入站子包;及串行化器,其以通信方式耦合到所述多路復(fù)用器以將所述第二數(shù)據(jù)速率入站子包的多個子集中的每一者聚集成第一數(shù)據(jù)速率入站子包,且跨越多個入站差分對串行路徑(DPSP) 以比所述第二數(shù)據(jù)速率快的第一數(shù)據(jù)速率將所述第一數(shù)據(jù)速率入站子包發(fā)送到所述目的地裝置。
10.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),每一MVC進一步包括可編程庫控制邏輯(PVCL)組件,其用以將所述MVC介接到所述對應(yīng)存儲器庫,且產(chǎn)生與所述對應(yīng)存儲器庫相關(guān)聯(lián)的組控制信號或計時信號中的至少一者;存儲器定序器,其耦合到所述PVCL,所述存儲器定序器用以執(zhí)行與所述對應(yīng)存儲器庫相關(guān)聯(lián)的命令解碼操作、存儲器地址多路復(fù)用操作、存儲器地址多路分用操作、存儲器刷新操作、存儲器庫訓(xùn)練操作或存儲器庫預(yù)取操作中的至少一者;寫入緩沖器,其耦合到所述PVCL以緩沖從所述發(fā)端裝置到達所述MVC的數(shù)據(jù);及讀取緩沖器,其耦合到所述PVCL以緩沖從所述對應(yīng)存儲器庫到達所述MVC的數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的存儲器系統(tǒng),其中所述存儲器定序器包括動態(tài)隨機存取存儲器(DRAM)定序器。
12.根據(jù)權(quán)利要求10所述的存儲器系統(tǒng),其中所述PVCL經(jīng)配置以將所述MVC介接到所述對應(yīng)存儲器庫,且根據(jù)與選定配置或選定技術(shù)中的至少一者的存儲器庫相關(guān)聯(lián)的規(guī)范產(chǎn)生所述組控制信號或計時信號。
13.根據(jù)權(quán)利要求10所述的存儲器系統(tǒng),其中所述存儲器定序器經(jīng)配置以根據(jù)與選定配置或選定技術(shù)中的至少一者的存儲器庫相關(guān)聯(lián)的規(guī)范執(zhí)行所述命令解碼操作、存儲器地址多路復(fù)用操作、存儲器地址多路分用操作、存儲器刷新操作、存儲器庫訓(xùn)練操作或存儲器庫預(yù)取操作。
14.根據(jù)權(quán)利要求10所述的存儲器系統(tǒng),其進一步包括與每一 MVC相關(guān)聯(lián)的無序請求隊列,所述無序請求隊列用以將以下操作中的至少一者排序以避免對任一單個存儲器組的順序操作對多個存儲器組的讀取操作或?qū)λ龆鄠€存儲器組的寫入操作。
15.根據(jù)權(quán)利要求1所述的存儲器系統(tǒng),每一MVC進一步包括存儲器庫修復(fù)邏輯(MVRL)組件,其用以執(zhí)行與所述對應(yīng)存儲器庫相關(guān)聯(lián)的有缺陷存儲器陣列地址重映射操作或有缺陷貫穿晶片互連件(TWI)修復(fù)操作中的至少一者。
16.一種方法,其包括同時傳送多個命令、地址或數(shù)據(jù)流;將與每一流相關(guān)聯(lián)的命令、地址或數(shù)據(jù)中的至少一者同時切換到與對應(yīng)存儲器庫相關(guān)聯(lián)的對應(yīng)目的地存儲器庫控制器(MVC);及執(zhí)行用以將出站數(shù)據(jù)寫入到所述對應(yīng)存儲器庫的數(shù)據(jù)寫入操作、用以從所述對應(yīng)存儲器庫讀取數(shù)據(jù)的數(shù)據(jù)讀取操作或與所述對應(yīng)存儲器庫相關(guān)聯(lián)的存儲器庫內(nèi)務(wù)處理操作中的至少一者,所述數(shù)據(jù)寫入操作、數(shù)據(jù)讀取操作或內(nèi)務(wù)處理操作是獨立于與耦合到對應(yīng)多個存儲器庫的多個MVC中的其它MVC相關(guān)聯(lián)的同時操作執(zhí)行的。
17.根據(jù)權(quán)利要求16所述的方法,其進一步包括將包切分成所述包的多個第一數(shù)據(jù)速率子包部分,所述包含有待寫入到至少一個存儲器子系統(tǒng)位置或待從至少一個存儲器子系統(tǒng)位置讀取的至少一個存儲器子系統(tǒng)命令、至少一個存儲器子系統(tǒng)地址或數(shù)據(jù);以第一數(shù)據(jù)速率發(fā)送所述第一數(shù)據(jù)速率子包中的每一者;將所述第一數(shù)據(jù)速率子包中的每一者切分成多個第二數(shù)據(jù)速率子包;以比所述第一數(shù)據(jù)速率慢的第二數(shù)據(jù)速率發(fā)送所述第二數(shù)據(jù)速率子包中的每一者;將所述第二數(shù)據(jù)速率子包中的每一者切分成多個第三數(shù)據(jù)速率子包;及以比所述第二數(shù)據(jù)速率慢的第三數(shù)據(jù)速率將所述第三數(shù)據(jù)速率子包發(fā)送到包解碼器。
18.根據(jù)權(quán)利要求16所述的方法,其進一步包括 接收對應(yīng)于一包的子包集合;將所述子包集合組裝成所述包;從所述包提取出站命令、出站地址或出站數(shù)據(jù)中的至少一者;及呈現(xiàn)所述出站命令、所述出站地址或所述出站數(shù)據(jù)。
19.根據(jù)權(quán)利要求16所述的方法,其進一步包括緩沖所述出站命令、所述出站地址或所述出站數(shù)據(jù)中的至少一者;及呈現(xiàn)所述出站命令、所述出站地址或所述出站數(shù)據(jù)以供處理。
20.根據(jù)權(quán)利要求19所述的方法,其進一步包括將以下操作中的至少一者排序?qū)εc所述對應(yīng)存儲器庫相關(guān)聯(lián)的多個存儲器組的讀取操作或?qū)λ龆鄠€存儲器組的寫入操作。
21.根據(jù)權(quán)利要求16所述的方法,其進一步包括響應(yīng)于單個請求而操作所述對應(yīng)多個存儲器庫的同步子集以通過同步傳送寬度為單個存儲器庫字長度的倍數(shù)的寬數(shù)據(jù)字來縮短存取等待時間,所述倍數(shù)對應(yīng)于所述同步子集中的存儲器庫的數(shù)目。
22.一種方法,其包括依據(jù)從多個存儲器庫中的每一者讀取的命令、地址或數(shù)據(jù)形成多個入站數(shù)據(jù)流; 將所述多個入站數(shù)據(jù)流切換到對應(yīng)多個經(jīng)串行化通信鏈路接口(SCLI);及跨越所述多個SCLI將所述多個入站流同時傳送到至少一個目的地裝置。
23.根據(jù)權(quán)利要求22所述的方法,其進一步包括響應(yīng)于讀取命令而從與所述對應(yīng)存儲器庫相關(guān)聯(lián)的選定存儲器組存取入站數(shù)據(jù)字;及呈現(xiàn)所述入站數(shù)據(jù)字。
24.根據(jù)權(quán)利要求23所述的方法,其進一步包括將所述入站數(shù)據(jù)字切換到與所述多個SCLI中的一選定SCLI相關(guān)聯(lián)的包編碼器;將所述入站數(shù)據(jù)字包化成入站包;將所述入站包切分成多個第三數(shù)據(jù)速率入站子包;及以第三數(shù)據(jù)速率將所述多個第三數(shù)據(jù)速率入站子包發(fā)送到多路復(fù)用器。
25.根據(jù)權(quán)利要求M所述的方法,其進一步包括將所述第三數(shù)據(jù)速率入站子包的多個子集中的每一者多路復(fù)用成第二數(shù)據(jù)速率入站子包,以第二數(shù)據(jù)速率發(fā)送所述第二數(shù)據(jù)速率入站子包;將所述第二數(shù)據(jù)速率入站子包的多個子集中的每一者聚集成第一數(shù)據(jù)速率入站子包;呈現(xiàn)所述第一數(shù)據(jù)速率入站子包;將所述第一數(shù)據(jù)速率入站子包組裝成所述入站包;及從所述入站包提取所述入站數(shù)據(jù)字。
26.根據(jù)權(quán)利要求25所述的方法,其進一步包括將所述入站數(shù)據(jù)字呈現(xiàn)給與所述至少一個目的地裝置相關(guān)聯(lián)的操作系統(tǒng)。
全文摘要
本文所揭示的系統(tǒng)及方法跨越對應(yīng)多個經(jīng)串行化通信鏈路接口(SCLI)在一個或一個以上發(fā)端裝置或目的地裝置(例如,處理器及開關(guān))之間大致同時傳送多個命令、地址及/或數(shù)據(jù)流。在所述開關(guān)處,可將對應(yīng)于每一流的一個或一個以上命令、地址或數(shù)據(jù)傳送到與對應(yīng)存儲器庫相關(guān)聯(lián)的對應(yīng)目的地存儲器庫控制器(MVC)。所述目的地MVC可獨立于與耦合到對應(yīng)多個存儲器庫的其它MVC相關(guān)聯(lián)的同時操作來執(zhí)行寫入操作、讀取操作及/或存儲器庫內(nèi)務(wù)處理操作。
文檔編號G06F12/14GK102232215SQ200980148407
公開日2011年11月2日 申請日期2009年10月30日 優(yōu)先權(quán)日2008年10月30日
發(fā)明者喬·M·杰德羅, 保羅·A·拉伯奇 申請人:美光科技公司