用于基于存儲器模塊中的選通信號來訓練控制信號的方法
【專利說明】
【背景技術】
[0001]個人計算機和服務器行業可要求跨許多工作負荷類型的性能增益以便具有競爭力。使用各種機制來提供這些性能增益水平,包括例如核計數增加和存儲器尺寸/帶寬/等待時間改善。存儲器改善可采取更快的動態隨機存取存儲器(DRAM)、更高的雙倍數據速率(DDR)總線頻率、更大容量的雙列直插存儲器模塊(DIMM)、每個通道更多的DIMM以及其他優化的形式。存在由JEDEC固態技術協會定義的許多DDR標準,諸如2012年9月公布的雙倍數據速率第四代(DDR4)同步隨機存取存儲器(SDRAM)標準JESD79-4。
[0002]更高的DDR速度要求謹慎地調整DRAM通道以實現最佳的信號質量和DDR總線時序。此調整由基本輸入/輸出系統(B1S)在啟動期間執行,并且通常被稱為“DDR訓練”。“DDR訓練”包括許多耗時的步驟,例如使各種選通信號居于中心、串擾消除和參考電壓校準。這些校準步驟被用來得出被應用于DRAM控制器和DHM的最佳DDR時序參數。此編程是在存儲器被訪問之前完成的,因為這些參數不能在操作期間在不干擾存儲器業務的情況下被更新。
[0003]非最佳參數導致更高的比特誤碼率,并且一般地使系統操作不穩定。這些復雜的校準步驟導致增加的啟動時間。某些DDR方案要求跨多個參數的每個DDR設備校準以實現更高的速度和更低的電壓。結果,可增加這些平臺中的存儲器訓練過程。
[0004]在計算機系統的典型存儲器系統中,存儲器控制器促進計算機系統中的存儲器模塊的訪問。存儲器模塊可包括一個或多個存儲器。這些一個或多個存儲器也稱為存儲器列(rank)。存儲器控制器向存儲器列傳送大量信號,包括地址信號、控制信號、時鐘信號等,以從存儲器列訪問數據或向存儲器列發送數據。為了向和從存儲器列發送和接收正確的數據,存儲器控制器相對于時鐘信號而訓練(修改)各種信號。
[0005]通常,存儲器控制器可通過向存儲器列傳送相對于時鐘信號的特定信號且然后分析來自每個存儲器列的響應以確定該存儲器列是否正確地接收到該特定信號來訓練信號。在有來自存儲器列的正確響應時,存儲器控制器相對于時鐘信號延遲該特定信號的相位,并且然后將具有延遲相位的延遲特定信號重新傳送到存儲器列。存儲器控制器然后分析來自存儲器列的響應以確定存儲器列是否正確地接收到延遲特定信號。如果未接收到從存儲器列到存儲器控制器的響應(或接收到不正確響應),則存儲器模塊轉變成未知狀態。
[0006]當前DDR接口實現較高的頻率,并且板路由飛行時間(flighttime)并未隨著這些頻率而縮放,其中,板路由時間是信號要沿著板上的特定信號路線傳播所花費的時間。結果,變得更加難以相對于時鐘信號針對DDR總線在控制信號之間建立緊密的匹配要求。
【附圖說明】
[0007]現在參考其中相同的附圖標記自始至終表示相應部分的圖:
圖1圖示出根據某些實施例的在計算設備中實現的基于DDR的系統的框圖;
圖2圖示出根據某些實施例的在計算設備中實現的基于DDR的另一系統的框圖;
圖3圖示出根據某些實施例示出示例性信號的框圖;
圖4圖示出根據某些實施例示出第一操作的流程圖; 圖5圖示出根據某些實施例示出第二操作的流程圖;以及圖6圖示出根據某些實施例的計算設備的框圖。
【具體實施方式】
[0008]在以下描述中,對形成其一部分并圖示出多個實施例的附圖進行參考。應理解的是可利用其他實施例,并且可進行結構和操作改變。
[0009]實施例涉及用于在基于DDR的系統中訓練控制信號的方法和裝置。在基于DDR的系統的某些實施例中,存儲器控制器被耦合到DDR DRAM設備。存儲器控制器可經由信號、諸如控制信號、時鐘信號、命令信號等與DDR DRAM設備通信。在某些實施例中,被耦合到DDRDRAM設備的存儲器控制器可操作用于通過迭代地分析由存儲器控制器從DDR DRAM設備接收到的選通信號來相對于時鐘信號訓練控制信號。在某些實施例中,基于DDR的系統可包括DDR DIMM。在替換實施例中可采用未被設計為DIMM的存儲器配置。在其他實施例中,可在并非基于DDR的系統的系統中訓練控制信號。
[0010]在基于DDR的系統中,使用控制信號來限定命令信號編碼何時應被存儲器設備鎖存。在命令信號時序相對于時鐘的任何訓練之前,其中時鐘由存儲器控制器生成并由存儲器設備接收,并且在數據總線時序和電壓的任何訓練之前,建立穩定的控制信號時序是重要的。在某些基于DDR的系統中,應提早訓練控制信號,并且不存在先前已被訓練的其他信號時序。可能期望建立反饋,其隨著控制信號時序相對于時鐘信號時序移動而提供通過或失敗響應。
[0011 ]其中由控制信號來限定命令總線的關于DDR接口的先前方法已包括使用松弛的命令時序來確保關于時鐘時序關系的命令不是限制因數。在這些情況下,已經通過發送讀命令并解釋該讀命令是否被DIMM接收到來訓練控制信號。解決控制信號訓練問題的另一方法是在DDR DMM本身中提供環回采樣能力,諸如用DDR4寄存DMM。這要求使用錯誤反饋信號來指示DDR DIMM的寄存器內的采樣值。在此環回模式中,寄存器接收命令和控制信號,以預定的間隔對值進行采樣,并且然后將采樣值發送回主機存儲器控制器。這種方法要求從存儲器控制器發送周期性控制信號的能力,這可能是不被支持的。
[0012]圖1示出了包括處理器52和基于DDR的存儲器系統100的計算設備50。計算設備50可以是包括本領域中當前已知的那些的任何適當設備,諸如個人計算機、工作站、服務器、主機、手持式計算機、掌上型計算機、電話設備、網絡設備、刀片計算機、存儲服務器等。
[0013]根據一個實施例,基于DDR的存儲器系統100包括可操作用于訓練控制信號104的存儲器控制器102和被耦合到存儲器控制器102的DRAM 106。
[0014]在一個實施例中,存儲器控制器102被集成在微處理器(CPU)內。在其他實施例中,存儲器控制器102是母版上的單獨集成電路(1C),并被耦合到處理器52和DRAM 106。可將DRAM 106包括在存儲器模塊或D頂M中,其中,存儲器模塊除DRAM之外還可包括寄存器設備、緩沖器設備等。在某些實施例中,DRAM 106包括DDR存儲器設備,并且在某些其他實施例中,DRAM 106包括非DRAM存儲器設備。
[0015]在一個實施例中,存儲器控制器102經由信號與DARM 106通信,該信號包括但不限于控制信號104(例如芯片選擇信號)、時鐘信號108、命令信號110(例如,讀命令)以及引起存儲器控制器102與DRAM 106之間的通信的任何其他信號。注意的是,在實施例的相應圖中,用線來表示信號。一些線可在一個或多個末端處具有箭頭,以指示主要信息流動方向。此類指示并不意圖是限制性的。相反地,該線與一個或多個示例性實施例相結合地被用來促進電路或邏輯單元的更容易理解。由設計需要或偏好規定的任何所表示信號實際上可包括一個或多個信號,其可在任一方向上行進,并且可用任何適當類型的信號方案來實現。
[0016]在一個實施例中,訓練應用程序114在計算設備50中執行,其中,可用硬件、軟件、固件或其任何組合來實現訓練應用程序114。訓練應用程序114允許存儲器控制器102通過解釋響應于從存儲器控制器102發送到DRAM 106的讀命令110由存儲器控制器102從DRAM106接收到的選通信號116來訓練芯片選擇信號104。
[0017]某些實施例提供了用以確定相對于時鐘信號的控制信號邊沿、同時不要求存儲器控制器102或DRAM 106中的任何附加硬件支持的方法。在某些實施例中,控制信號104可包括芯片選擇信號,而在其他實施例中,控制信號104可包括許可信號。某些實施例依賴于在向DRAM 106發送讀命令之后對讀返回選通進行采樣、以相對于時鐘信號108的時鐘周期使控制信號104居于中心的能力。
[0018]圖2圖示出根據某些實施例的在具有處理器62的計算設備60內實現的存儲器系統200的框圖。在圖2中,存儲器控制器202向存儲器控制緩沖器206傳送許可信號204(其為一種控制信號)、時鐘信號208、命令信號220(例如,讀命令)及其他控制信號222。在某些實施例中,存儲器控制器202可接收由存儲器控制緩沖器206返回的選通信號226。訓練應用程序214在計算設備60中執行以訓練基于DDR的系統200的許可信號204。在圖2中,許可信號204不限定任何命令編碼,并且是將與時鐘信號208正確地對準的獨立信號。除芯片選擇信號之外或者作為其替換,在某些實施例中,可實現此類獨立許可信號。
[0019]圖3圖示出根據某些實施例示出示例性信