具有指定區域存儲器訪問調度的存儲器系統的制作方法
【專利說明】具有指定區域存儲器訪問調度的存儲器系統
[0001]發明背景發明領域
[0002]本公開大致涉及存儲器器件,并且更具體地涉及調度用于存儲器器件的存儲器訪問。
【背景技術】
[0003]存儲器延遲和帶寬是許多處理系統中的顯著性能瓶頸。這些性能因素通常受存儲器單元訪問時間和遍歷存儲器內各個互連件的信號的傳播延遲的影響。在常規的存儲器控制器具體實施中,采用調度訪問存儲器子系統的存儲器的最壞情況下的方法,存儲器控制器由此假設應用于整個存儲器子系統的固定的最壞情況下存儲器時序參數。
[0004]附圖簡述
[0005]通過參考附圖,將更好理解本公開,并且本公開的多個特征和優點對于本領域的技術人員來說是顯而易見的。在不同附圖中使用相同參考標號指示類似或相同的項。
[0006]圖1是示出根據一些實施例的采用具有指定區域存儲器訪問調度的存儲器的示例處理系統的示圖。
[0007]圖2是示出根據一些實施例的圖1的處理系統的示例垂直堆疊式裸片具體實施的分解透視圖的示圖。
[0008]圖3是示出根據一些實施例的圖1的處理系統的另一示例垂直堆疊式裸片實施的分解透視圖的示圖。
[0009]圖4是示出根據一些實施例的采用時序剖析器的示例存儲器控制器的示圖。
[0010]圖5是示出根據一些實施例用于剖析存儲器的存儲器時序參數的方法的流程圖。
[0011]圖6是示出根據一些實施例基于指定區域存儲器時序參數調度存儲器范圍的過程的時序圖。
[0012]圖7是示出根據一些實施例用于設計和制造集成電路(IC)器件的流程圖,所述IC器件實現基于指定區域存儲器時序參數調度存儲器訪問的存儲器控制器。
【具體實施方式】
[0013]圖1-7示出通過使用基于指定區域存儲器時序參數的存儲器訪問調度,減少延遲并提高處理系統或其他電子裝置的存儲器子系統的帶寬和功率效率的示例技術。各個因素,諸如半導體制造工藝、器件溫度和老化效應會致使存儲器訪問不同存儲器區域的存儲器單元訪問時間和信號傳播時間明顯改變,這在當為了降低功耗的目的電源電壓縮小至晶體管閾值電壓(Vth)電平時變得特別有害。在常規系統中,這些性能變化通常通過選擇基于最壞情形下的保守的時序參數并使用這些相同的用于每個存儲器訪問的保守時序參數來管理,不管該區域是否是存儲器訪問的目標。相反,在一些實施例中,存儲器控制器通過剖析用于存儲器的多個區域的每個區域的一個或多個存儲器時序參數、將測得的時序參數保存至時序數據存儲并隨后基于所剖析的與是存儲器訪問目標的區域相關聯的指定區域存儲器時序參數調度存儲器訪問來有效調度存儲器訪問。因此,存儲器控制器可以通過利用不同區域之間的性能變化來減少延遲并提高存儲器子系統的功率效率,使得存儲器訪問的時序和序列反映由不同存儲器區域展現的不同存儲器時序。所剖析存儲器的顆粒度可以包括例如一個或多個單元、行、組、級、芯片、存儲器模塊(例如,雙列直插內存模塊或“DMMS”)、溝道等的集合。
[0014]堆疊式裸片或三維(3D)、動態隨機存取存儲器(DRAM)類存儲器子系統往往被視為用作大型片上高速緩存。不過,由于DRAM架構的某些方面并且由于裸片到裸片的制造工藝差異以及由于堆疊式裸片存儲器中的存儲器裸片的堆疊式布置的互連構形,此類存儲器子系統往往展現出存儲器時序的顯著區域到區域的差異。結合以逐個區域為基礎局部儲存存儲器時序信息的能力,這使得堆疊式裸片存儲器很好適合基于區域的存儲器訪問調度。因此在本文中,示例基于區域的存儲器訪問調度技術在堆疊式裸片DRAM存儲器的示例語境下描述。不過,這些技術并不局限于這個示例語境,而是同樣適用于任何品種堆疊式或非堆疊式存儲器架構,所述存儲器架構包括但不限于靜態隨機存取存儲器(SRAM)、鐵電體RAM(F-RAM)、磁阻RAM(MRAM)、相變RAM、電阻RAM、閃存存儲器等。
[0015]圖1示出根據一些實施例實現基于區域的存儲器訪問調度的示例處理系統100。處理系統100可以包括各種處理系統中的任一種,所述處理系統包括筆記本或平板電腦、臺式計算機、服務器、網絡路由器、交換機或集線器、能計算的蜂窩手機、個人數字助理、游戲控制臺等。處理系統100可在單個裸片或多個裸片上實現,所述多個裸片包括如后面示例所示的多個堆疊式裸片。
[0016]在所述示例中,處理系統100包括一個或多個處理器101、一個或多個存儲器控制器102和存儲器陣列104。處理器101包括一個或多個處理器核116,諸如一個或多個中央處理單元(CPU)、圖形處理單元(GPU)、數字信號處理器(DSP)等。處理器101還包括集成北橋120、輸入/輸出(I/O)控制器122、一個或多個高速緩存器級118等。北橋120經由主總線126連接至存儲器控制器102。主總線126可以根據各種常規互連或總線架構中的任一種來實現,諸如外圍組件快速互連(PC1-E)架構、超傳輸架構、快速路徑互連(QPI)架構等。另選地,主總線126可以根據專用總線架構來實現。I/O控制器122可以連接至一個或多個外部裝置124,諸如至顯示部件、存儲裝置、輸入裝置(例如,鼠標或鍵盤)等的一個或多個外部接口。
[0017]系統100的處理組件耦合至存儲器子系統,所述存儲器子系統由存儲器控制器102和存儲器陣列104組成。存儲器陣列104可實現各種存儲器件,其包括但不限于諸如動態隨機存取存儲器(DRAM)、靜態隨機存取存儲器(SRAM)、鐵氧體RAM(F-RAM)j|^iRAM(MRAM)等的存儲器架構。為了本公開的目的,各個實施例在DRAM陣列和DRAM存儲器控制器的語境下描述。在該示例語境中,存儲器陣列104包括多個DRAM陣列106。如下面所詳述的,存儲器子系統可實現為堆疊式裸片存儲器器件,因此,DRAM陣列106可實施為例如堆疊式裸片存儲器內的單獨存儲器裸片。
[0018]在工作時,存儲器控制器102服務由處理系統100的處理元件發出的存儲器讀和存儲器寫請求。為此,存儲器控制器102實現用于訪問DRAM陣列106和用于與主總線126接口的控制器邏輯108。響應于存儲器訪問請求,控制器邏輯108向DRAM陣列106發出命令。響應于對應地址的讀請求,控制器邏輯108向DRAM陣列106傳送信號以在尋址位置讀取存儲的數據。響應于寫請求,控制器邏輯108向DRAM陣列106傳送信號以將數據寫至尋址位置。
[0019]每個存儲器業務的正確操作在遵循某些存儲器時序參數諸如RAS預充電或“tRP”時序參數的控制器邏輯108上判定,所述時序參數反映禁用對數據線的訪問和啟用對另一數據線的訪問之間所需的時間。在具體實施中,一些或全部存儲器時序參數可根據被訪問存儲器陣列104的區域來改變。因此,在一些實施例中,控制器邏輯108經配置基于指定區域存儲器時序參數來緩沖、重新排序或調度存儲器請求以便提高性能和效率。為此,存儲器控制器102也實現剖析邏輯110和時序數據存儲112以確定和存儲指定區域的存儲器時序信息。如下面參考圖4和6所詳述的,在一些實施例中,剖析邏輯110評估存儲器陣列104的一組一個或多個存儲器區域的每個存儲器區域,以確定專屬該區域的一個或多個存儲器時序參數。隨后用于該區域的存儲器時序信息可保持在時序數據存儲112中,時序數據存儲112可以包括各種存儲機構中的任一種,諸如存儲器陣列、一組寄存器或高速緩存器、布魯姆過濾器(bloom filter)、內容選址存儲器(CAM)等。如此分析的存儲器陣列104的區域的顆粒度可以包括但不限于基于單元的區域、基于組的區域、基于行的區域、基于溝道的區域、基于芯片的區域、基于存儲器模塊的區域等以及它們的組合。
[0020]響應于觸發事件,剖析邏輯110初始化測試進程以測量存儲器陣列104的可用區域的每個區域的對應存儲器時序參數。該觸發事件可以包括例如上電復位、定時器流逝、來自處理器101或其他控制器的命令、感測的超過閾值的溫度變化(并由此指示可能的時序參數中由溫度引起的變化)、在動態電壓和頻率調節(DVFS)操作期間初始化的觸發等等。測試進程可以包括例如,在改變可用存儲器時序參數的值時,重復寫入并隨后訪問對應區域的測試圖案。時序參數還可以通過執行至在不同溫度或服務時間下的延遲值的表格或存儲可用于使用作為輸入的溫度和服務時間計算延遲的公式的表示的查詢來更新。當可靠的最