本發明涉及ddr內存,具體涉及一種通過外部非易失存儲器加快ddr初始化的方法、裝置及存儲介質。
背景技術:
1、在傳統的計算機系統中,ddr(double?data?rate)作為高速傳輸總線,對時序的要求非常嚴格,布線長度、溫度變化、元器件阻抗等外界因素都可能引起時序上的誤差。因此需要對ddr進行training,目的是基于當前環境,找到一系列偏移值,以補償由于外界因素引起的時序誤差,從而使時序達到良好狀態,通過初始化、內存校準、延遲控制、時序調整和信號訓練等步驟,ddr?training確保了ddr內存控制器和ddr內存芯片之間可以建立穩定的通信和數據傳輸,從而實現高速的內存讀寫操作。但是training執行的速度較慢,在對上電時間有要求的系統中,training可能會帶來額外的耗時,從而影響整個上電流程的進行,甚至會導致整個系統上電失敗。
技術實現思路
1、本發明為了克服以上技術的不足,提供了一種顯著減少ddr的初始化時間,提高系統的啟動速度和性能的ddr初始化的方法、裝置及存儲介質。
2、本發明克服其技術問題所采用的技術方案是:
3、一種通過外部非易失存儲器加快ddr初始化的方法,包括:
4、s1.系統啟動,并判斷是否為第一次上電,如果是則執行步驟s2;
5、s2.進行ddr?training;
6、s3.對dram進行讀寫數據校驗并判斷是否校驗成功,如果是則執行步驟s4,如果否則執行步驟s5;
7、s4.將training?result和當前dram顆粒溫度保存到spi?flash中直至系統啟動成功;
8、s5.系統判斷當前training?result是否為從spi?flash中加載的,如果是則返回執行步驟s2,如果否則判斷系統啟動失敗。
9、進一步的,步驟s1中如果不是第一次上電則通過溫度傳感器讀取當前dram顆粒和整個系統溫度,并判斷當前dram顆粒溫度和整個系統溫度是否與之前的dram顆粒溫度和整個系統溫度相同或相近,如果是則將training?result從spi?flash中讀取出來并配置到ddr中,如果否則執行步驟s2。
10、進一步的,如果當前dram顆粒溫度和整個系統溫度是否與之前的dram顆粒溫度和整個系統溫度差值的絕對值小于1度則判定為相近。
11、進一步的,將training?result從spi?flash中讀取出來并配置到ddr后執行步驟s3。
12、進一步的,如果當前dram顆粒溫度和整個系統溫度是否與之前的dram顆粒溫度和整個系統溫度不相同或相近執行步驟s2后執行步驟s3。
13、另一方面,本發明還涉及一種通過外部非易失存儲器加快ddr初始化的裝置,包括:處理器、通信接口、存儲器和通信總線,其中,所述處理器,所述通信接口,所述存儲器通過所述通信總線完成相互間的通信;其中:
14、所述存儲器,用于存放計算機程序;
15、所述處理器,用于通過運行所述存儲器上所存放的程序來執行:
16、s1.系統啟動,并判斷是否為第一次上電,如果是則執行步驟s2;
17、s2.進行ddr?training;
18、s3.對dram進行讀寫數據校驗并判斷是否校驗成功,如果是則執行步驟s4,如果否則執行步驟s5;
19、s4.將training?result和當前dram顆粒溫度保存到spi?flash中直至系統啟動成功;
20、s5.系統判斷當前training?result是否為從spi?flash中加載的,如果是則返回執行步驟s2,如果否則判斷系統啟動失敗。
21、另一方面,本發明還涉及一種存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現:
22、s1.系統啟動,并判斷是否為第一次上電,如果是則執行步驟s2;
23、s2.進行ddr?training;
24、s3.對dram進行讀寫數據校驗并判斷是否校驗成功,如果是則執行步驟s4,如果否則執行步驟s5;
25、s4.將training?result和當前dram顆粒溫度保存到spi?flash中直至系統啟動成功;
26、s5.系統判斷當前training?result是否為從spi?flash中加載的,如果是則返回執行步驟s2,如果否則判斷系統啟動失敗。
27、本發明的有益效果是:通過使用外部非易失存儲器存儲ddr的初始化信息,并在系統啟動時快速加載這些信息,顯著減少了ddr的初始化時間,提高了系統的啟動速度和性能。外部非易失存儲器具有掉電不丟失的數據保存特性,確保了ddr初始化信息的可靠性和穩定性。可以適用于不同型號的ddr和處理器,具有較強的通用性和可擴展性。
1.一種通過外部非易失存儲器加快ddr初始化的方法,其特征在于,包括:
2.根據權利要求1所述的通過外部非易失存儲器加快ddr初始化的方法,其特征在于:步驟s1中如果不是第一次上電則通過溫度傳感器讀取當前dram顆粒和整個系統溫度,并判斷當前dram顆粒溫度和整個系統溫度是否與之前的dram顆粒溫度和整個系統溫度相同或相近,如果是則將training?result從spi?flash中讀取出來并配置到ddr中,如果否則執行步驟s2。
3.根據權利要求2所述的通過外部非易失存儲器加快ddr初始化的方法,其特征在于:如果當前dram顆粒溫度和整個系統溫度是否與之前的dram顆粒溫度和整個系統溫度差值的絕對值小于1度則判定為相近。
4.根據權利要求2所述的通過外部非易失存儲器加快ddr初始化的方法,其特征在于:將training?result從spi?flash中讀取出來并配置到ddr后執行步驟s3。
5.根據權利要求2所述的通過外部非易失存儲器加快ddr初始化的方法,其特征在于:如果當前dram顆粒溫度和整個系統溫度是否與之前的dram顆粒溫度和整個系統溫度不相同或相近執行步驟s2后執行步驟s3。
6.一種通過外部非易失存儲器加快ddr初始化的裝置,其特征在于,包括:處理器、通信接口、存儲器和通信總線,其中,所述處理器,所述通信接口,所述存儲器通過所述通信總線完成相互間的通信;其中:
7.一種存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現: