TWI553467B - 記憶體自檢修正系統及方法 - Google Patents

記憶體自檢修正系統及方法 Download PDF

Info

Publication number
TWI553467B
TWI553467B TW104127524A TW104127524A TWI553467B TW I553467 B TWI553467 B TW I553467B TW 104127524 A TW104127524 A TW 104127524A TW 104127524 A TW104127524 A TW 104127524A TW I553467 B TWI553467 B TW I553467B
Authority
TW
Taiwan
Prior art keywords
memory
parameter
value
adjusted
error
Prior art date
Application number
TW104127524A
Other languages
English (en)
Other versions
TW201709061A (zh
Inventor
黃益賢
Original Assignee
鴻海精密工業股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 鴻海精密工業股份有限公司 filed Critical 鴻海精密工業股份有限公司
Priority to TW104127524A priority Critical patent/TWI553467B/zh
Priority to US15/153,746 priority patent/US10019319B2/en
Application granted granted Critical
Publication of TWI553467B publication Critical patent/TWI553467B/zh
Publication of TW201709061A publication Critical patent/TW201709061A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems

Description

記憶體自檢修正系統及方法
本發明涉及一種記憶體自檢修正系統和方法。
在電腦開機的過程中,基本輸入輸出系統(Basic Input Output System,BIOS)會對電腦的各項硬體進行初始化,其中包括記憶體。若在對記憶體的初始化的過程中出現錯誤,則會導致電腦的作業系統無法啟動,此時BIOS透過預設的方式(例如透過蜂鳴器發出特定長短音組成的聲音)提示使用者出現錯誤。但使用者無法根據提示音瞭解出現的錯誤的具體內容,且使用者需要手動修正出現的錯誤。
鑒於以上內容,有必要提供一種記憶體自檢修正系統及方法,用於在記憶體初始化出錯時,自動調整記憶體的各項參數,以使記憶體的初始化成功。
一種記憶體自檢修正系統,運行於電子設備中,該系統包括:獲取模組,用於從記憶體的EEPROM中獲取配置串列檢測SPD,並根據SPD對記憶體的各項參數進行設置;第一判斷模組,用於對設置後的記憶體進行初始化,並判斷記憶體初始化是否出錯;調整模組,用於在記憶體初始化出錯時,以預設的規則調整與讀或寫相關的參數的值,並判斷調整後的與讀或寫相關的參數的值是否全是各參數的最大值;設置模組,用於在調整後的與讀或寫相關的參數的值不全是各參數的最大值時,以調整後的配置資訊對記憶體的各個參數進行設置,並重新初始化記憶體;第二判斷模組,用於在記憶體初始化未出錯時,試運行初始化後的記憶體,並判斷試運行是否出錯;及第一提醒模組,用於在試運行出錯時,以預設的方式提示電子設備的使用者記憶體初始化出錯。
一種記憶體自檢修正方法,應用於電子設備中,該方法包括:獲取步驟,從記憶體的EEPROM中獲取配置串列檢測SPD,並根據SPD對記憶體的各項參數進行設置;第一判斷步驟,對設置後的記憶體進行初始化,並判斷記憶體初始化是否出錯;調整步驟,在記憶體初始化出錯時,以預設的規則調整與讀或寫相關的參數的值,並判斷調整後的與讀或寫相關的參數的值是否全是各參數的最大值;設置步驟,在調整後的與讀或寫相關的參數的值不全是各參數的最大值時,以調整後的配置資訊對記憶體的各個參數進行設置,並重新初始化記憶體;第二判斷步驟,在記憶體初始化未出錯時,試運行初始化後的記憶體,並判斷試運行是否出錯;及第一提醒步驟,在試運行出錯時,以預設的方式提示電子設備的使用者記憶體初始化出錯。
相較於習知技術,本發明在記憶體初始化出錯的時候,以預設的規則自動調整記憶體的參數,以使記憶體初始化成功。在記憶體初始化出錯時,透過本發明可以避免使用者手動修正出現的錯誤,提高了使用者的體驗。
圖1是改進前的記憶體初始化的流程圖。
圖2是本發明記憶體自檢修正系統的較佳實施例的運行環境示意圖。
圖3是本發明記憶體自檢修正方法的較佳實施例的流程圖。
為便於理解,以下對本發明所涉及的術語做簡要說明:
配置串列檢測(Serial Presence Detect,SPD):一組關於記憶體的配置資訊,如頻率、電壓、行位址/列地址數量、位寬、各種主要操作時序參數的取值範圍等。所述SPD儲存於記憶體上的一個電可擦可程式設計唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)。SPD中的配置資訊可以被BIOS獲取,並用於初始化記憶體。
本發明主要涉及記憶體的頻率(下文以Freq表示)以及與讀寫相關的參數,與讀相關的參數為tRP、tRCD、tRAS以及tCL,與寫相關的參數為tRP、tRCD、tCWL以及tWR。所述SPD中包括Freq以及tCL的取值範圍,其中Freq的取值範圍是一個區間,而tCL的取值範圍是一個數集。例如100MHZ≤Freq≤120MHZ,tCl的取值範圍為數集{3,4,5,6,7,8},單位為一個時鐘週期的時間(下文以tCK表示)。所述SPD中還包括tRP、tRCD、tRAS、tCWL以及tWR的最小值tRP(min)、tRCD(min)、tRAS(min)、tCWL(min)以及tWR(min)。
參閱圖1所示,是改進前的的記憶體初始化的流程圖。
步驟S11,BIOS從記憶體上的EEPROM中獲取SPD,根據SPD中的配置資訊對記憶體的各個參數進行設置並進行初始化。
步驟S12,判斷記憶體初始化是否出錯。若記憶體初始化未出錯,則執行步驟S13;若記憶體初始化出錯,則執行步驟S14。BIOS主要透過讀測試和寫測試來判斷記憶體13的初始化是否出錯,若讀測試與寫測試均未出錯,則判斷記憶體初始化未出錯。
當記憶體初始化未出錯時,步驟S13,BIOS試運行初始化後的記憶體,判斷試運行是否出錯。若試運行出錯,則執行步驟S14;若試運行未出錯,則記憶體初始化結束。
步驟S14,BIOS以預設的方式提示使用者記憶體初始化出錯。所述預設的方式可以是透過蜂鳴器發出特定長短音組成的聲音。
參閱圖2所示,是本發明記憶體自檢修正系統的較佳實施例的運行環境示意圖。所述記憶體自檢修正系統10運行於電子設備1中,用於對電子設備的1的記憶體13進行初始化,並在記憶體13初始化出錯時,自動調整記憶體13的各項參數,以使記憶體13的初始化成功。所述記憶體自檢修正系統10是BIOS對電子設備1開機自檢的一部分,即BIOS對記憶體進行初始化的部分。
所述電子設備1還包括,但不限於,處理器11、儲存裝置12以及記憶體13。所述處理器11、儲存裝置12以及記憶體13透過系統匯流排相互連接。所述儲存裝置12用於儲存BIOS(包含記憶體自檢修正系統10)的程式碼及資料,是一個唯讀記憶體(Read-Only Memory,ROM)。所述記憶體13是一個包含EEPROM130的內記憶體,可以是同步動態隨機記憶體(Synchronous Dynamic Random Access Memory,SDRAM)。所述記憶體13的EEPROM130中包含SPD。所述電子設備1可以是電腦、智慧手機等設備。
在本實施例中,本發明所述的記憶體自檢修正系統10可以被分割成一個或多個模組,所述一個或多個模組均被儲存於儲存裝置12中,並由處理器11所執行,以完成本發明。參閱圖2所示,本發明所述的記憶體自檢修正系統10可以被分割成獲取模組100、第一判斷模組101、調整模組102、設置模組103、第二判斷模組104、第一提醒模組105以及第二提醒模組106。本發明所稱的模組是指能夠完成特定功能的一系列電腦程式段,比程式更適合於描述所述記憶體自檢修正系統10在所述電子設備1中的執行過程。以下將結合圖3的流程圖來描述各個模組的具體功能。
參閱圖3所示,是本發明記憶體自檢修正方法的較佳實施例的流程圖。在本實施例中,根據不同的需求,圖3所示的流程圖中的步驟的執行順序可以改變,某些步驟可以省略。
步驟S300,獲取模組100從記憶體13的EEPROM130中獲取SPD,並根據SPD對記憶體的各項參數進行設置。
在獲取EEPROM130中的SPD後,所述獲取模組100還根據SPD中的資訊確定記憶體的頻率以及與讀寫相關的各個參數的取值範圍。其中記憶體的頻率Freq以及tCL的取值範圍可由SPD中直接獲得,其他與讀寫相關的參數有如下關係式:
tRP(min)<tRP<tRP(max) = N*tRP(min);
tRCD(min)<tRCD<tRCD(max) = N*tRCD(min);
tRAS(min)<tRAS<tRAS(max) = N*tRAS(min);
tCWL(min)<tCWL<tCWL(max) = N*tCWL(min);
tWR(min)<tWR<tWR(max) = N*tWR(min)。
其中t(min)表示一個參數的最小值,以t(max)表示一個參數的最大值,例如tRP(min)表示tRP的最小值,tRP(max)表示tRP的最大值。所述N為一指定的不小於2的整數。所述SPD中包含tRP(min)、tRCD(min)、tRAS(min)、tCWL(min)以及tWR(min)。
步驟S301,第一判斷模組101對設置後的記憶體進行初始化,並判斷記憶體初始化是否出錯。若記憶體初始化出錯,則執行步驟S302;若記憶體初始化未出錯,則執行步驟S308。所述第一判斷模組101主要透過讀測試和寫測試來判斷記憶體13的初始化是否出錯。
具體的,第一判斷模組101先對記憶體13進行讀測試,當讀測試通過後,第一判斷模組101再對記憶體13進行寫測試。當讀測試與寫測試均通過時,第一判斷模組101判斷記憶體13初始化未出錯,執行步驟S307。當讀測試未通過或者讀測試通過但寫測試未通過時,所述第一判斷模組101判斷記憶體13初始化出錯,執行步驟S302。
當記憶體13初始化出錯時,步驟S302,所述調整模組102以預設的規則調整與讀或寫相關的各個參數的值。所述預設的規則是在調整與讀或寫相關的參數時,優先調整占整個讀或寫的總時間的較大權重的參數。
記憶體13初始化出錯包括兩種情況:讀測試未通過或者讀測試通過但寫測試未通過。
當記憶體13初始化出錯是讀測試未通過時,所述調整模組102調整與讀相關的參數,然後執行步驟S303。與讀相關的參數有如下關係式:
Freq(now) = 1/tCK(now);
tCL(Init) = Ceiling(tCL(min)/tCK(now));
tRP(Init) = Ceiling(tRP(min)/tCK(now));
tRCD(Init) = Ceiling(tRCD(min)/tCK(now));
tRAS(Init) = Ceiling(tRAS(min)/tCK(now));
△tR1 = tCL/(tCL+tRP+tRCD);
△tR2 = tRCD/(tCL+tRP+tRCD);
△tR3 = tCL/(tCL+tRP+tRCD);
△tR4 = △tR1 + △tR2 + △tR3;
tCL = tCL(Init) + Floor(Nr*△tR3);
tRP = tRP(Init) + Floor(Nr*△tR1);
tRCD = tRCD(Init) + Floor(Nr*△tR2);
tRAS = tRCD(Init) + △tR4。
其中tCK(now)指的是當前一個時鐘週期的時間,t(Init)表示該參數的預設值,△tR1、△tR2以及△tR3表示其對應參數占讀的總體時間的權重,Ceiling()函數是向上取整函數,Floor()函數是向下取整函數。Nr指的是讀測試失敗的次數。
當記憶體13初始化出錯是讀測試通過但寫測試未通過時,所述調整模組102調整與寫相關的參數,然後執行步驟S303。具體的,所述調整模組102先判斷當前的tCWL是否大於等於tCL。若tCWL大於等於tCL,則所述調整模組本次調整僅調整tCWL,然後執行步驟S303。tCWL有如下關係式:
Freq(now) = 1/tCK(now);
tCWL(Init) = Ceiling(tCWL(min)/tCK(now));
△tW3 = tCWL/(tRP+tRCD+tWR+tCWL);
tCWL = tCWL(Init) + Floor(Nw*△tW3)。
若tCWL不大於等於tCL,則所述調整模組102調整與寫相關的參數,然後執行步驟S303。與寫相關的參數有如下關係式:
Freq(now) = 1/tCK(now);
tRP(Init) = Ceiling(tRP(min)/tCK(now));
tRCD(Init) = Ceiling(tRCD(min)/tCK(now));
tCWL(Init) = Ceiling(tCWL(min)/tCK(now));
tWR(Init) = Ceiling(tWR(min)/tCK(now))。
△tW1 = tRP/(tRP+tRCD+tWR+tCWL);
△tW2 = tRCD/(tRP+tRCD+tWR+tCWL);
△tW3 = tCWL/(tRP+tRCD+tWR+tCWL);
△tW4 = tWR/(tRP+tRCD+tWR+tCWL);
tCWL = tCWL(Init) + Floor(Nw*△tW3);
tRP = tRP(Init) + Floor((Nw-(tCWL-tCWL(Init)))*△tW1);
tRCD = tRCD(Init) + Floor(Nw*△tW2);
tWR = tWR(Init) + Floor(Nw*△tW4)。
上述的t(Init)表示該參數的預設值,△tW1、△tW2、△tW3以及△tW4表示其對應參數占寫的總體時間的權重,tCK(now)指的是當前一個時鐘週期的時間,Ceiling()函數是向上取整函數,Floor()函數是向下取整函數。Nw指的是寫測試失敗的次數。
需要說明的是,所述調整模組102在調整讀或寫的參數時,若調整後的參數值高於該參數的最大值,則所述調整模組102將該參數設置為該參數的最大值。例如tRP的最大值是7,若調整模組102按照上述關係式計算得出的tRP大於7,則調整模組102將tRP設置為最大值7。同時所述調整模組102在調整讀與寫的參數時,還會記錄記憶體13讀測試與寫測試的失敗的次數,也即Nr與Nw。
當與讀或寫相關的各個參數被調整後,步驟S303,調整模組102判斷調整後的與讀或寫相關的各個參數的值是否全是各參數的最大值。若調整後的與讀或寫相關的各個參數的值全是各參數的最大值,則執行步驟S304;若調整後的與讀或寫相關的各個參數的值不全是各參數的最大值,則執行步驟S306。
需要說明的是,當與讀或寫相關的各個參數被調整後,所述調整模組102僅判斷調整後的與讀或寫相關的各個參數是否都是各參數的最大值。例如,調整模組102調整了與讀相關的參數,則調整模組102僅判斷與讀相關的參數是否全是各參數的最大值,若與讀相關的各個參數全是各參數的最大值,則無論與寫相關的參數是否都達到最大值,均執行步驟S304。
步驟S304,調整模組102判斷記憶體13的當前頻率是否小於最低值。若記憶體13的當前頻率不小於最低值,則執行步驟S305;若記憶體13的當前頻率小於最低值,則表示無法繼續調整記憶體13的參數,執行步驟S309。
步驟S305,調整模組102降低記憶體13的頻率,並將與讀及寫相關的各個參數都設置為預設值。在本實施例中,所述調整模組102每次將記憶體13的頻率降低一個固定值,例如每次降低1MHz。在其他實施例中,所述調整模組102也可按照其他規則降低記憶體13的頻率。
所述調整模組102將與讀及寫相關的各個參數都設置為預設值,也即有如下關係式:
tCL = tCL(Init) = Ceiling(tCL(min)/tCK(now));
tRP = tRP(Init) = Ceiling(tRP(min)/tCK(now));
tRP = tRCD(Init) = Ceiling(tRCD(min)/tCK(now));
tRAS = tRAS(Init) = Ceiling(tRAS(min)/tCK(now));
tCWL = tCWL(Init) = Ceiling(tCWL(min)/tCK(now));
tWR = tWR(Init) = Ceiling(tWR(min)/tCK(now))。
步驟S306,設置模組103以調整後的配置資訊對記憶體的各個參數進行設置,並返回步驟S300,重新初始化記憶體13。
在本實施例中,所述設置模組103還用於記錄調整模組102對記憶體13的參數的調整,以便在後續判斷所述記憶體自檢修正系統10是否調整過記憶體13的配置資訊,以及提醒電子設備1的使用者所進行的具體調整,例如修改頻率為100MHz、修改tRP等。
當記憶體初始化未出錯時,步驟S307,第二判斷模組104試運行初始化後的記憶體13,並判斷試運行是否出錯。若試運行出錯,則執行步驟S308;若試運行未出錯,則執行步驟S309。
所述第二判斷模組104對初始化後的記憶體13進行讀寫測試,並判斷是否出現錯誤。若出現錯誤,則判斷試運行出錯,執行步驟S308;若未出現錯誤,則判斷試運行未出錯,執行步驟S309。
步驟S308,第一提醒模組105以預設的方式提示使用者記憶體初始化過程出錯,流程結束。在本實施例中,所述預設的方式可以是透過蜂鳴器發出特定長短音組成的聲音。
步驟S309,第二提醒模組106判斷記憶體的配置資訊是否被調整過。若記憶體的配置資訊未被調整過,則流程結束;若記憶體的配置資訊被調整過,則執行步驟S310。
步驟S310,第二提醒模組106以預設的方式提醒使用者電子設備1的記憶體的配置資訊被調整過,流程結束。
需要說明的是,步驟S309~S310在一些實施例中可以省略,且在執行步驟S309之前可以執行其他操作,例如BIOS對顯卡進行初始化。在本實施例中,所述預設的方式可以是在電子設備1的顯卡被初始化後,在顯示裝置上顯示對記憶體13的調整,以提醒使用者電子設備1的記憶體13的配置資訊被調整過。在其他實施例中,所述預設的方式也可以是其他方式,例如在音效卡被初始化後,播放聲音以提醒使用者電子設備1的記憶體13的配置資訊被調整過。
最後所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和範圍。
1‧‧‧電子設備
10‧‧‧記憶體自檢修正系統
100‧‧‧獲取模組
101‧‧‧第一判斷模組
102‧‧‧調整模組
103‧‧‧設置模組
104‧‧‧第二判斷模組
105‧‧‧第一提醒模組
106‧‧‧第二提醒模組
11‧‧‧處理器
12‧‧‧儲存裝置
13‧‧‧記憶體
130‧‧‧EEPROM
1‧‧‧電子設備
10‧‧‧記憶體自檢修正系統
100‧‧‧獲取模組
101‧‧‧第一判斷模組
102‧‧‧調整模組
103‧‧‧設置模組
104‧‧‧第二判斷模組
105‧‧‧第一提醒模組
106‧‧‧第二提醒模組
11‧‧‧處理器
12‧‧‧儲存裝置
13‧‧‧記憶體
130‧‧‧EEPROM

Claims (10)

  1. 一種記憶體自檢修正系統,運行於電子設備中,該系統包括: 獲取模組,用於從記憶體的EEPROM中獲取配置串列檢測SPD,並根據SPD對記憶體的各項參數進行設置; 第一判斷模組,用於對設置後的記憶體進行初始化,並判斷記憶體初始化是否出錯; 調整模組,用於在記憶體初始化出錯時,以預設的規則調整與讀或寫相關的參數的值,並判斷調整後的與讀或寫相關的參數的值是否全是各參數的最大值; 設置模組,用於在調整後的與讀或寫相關的參數的值不全是各參數的最大值時,以調整後的配置資訊對記憶體的各個參數進行設置,並重新初始化記憶體; 第二判斷模組,用於在記憶體初始化未出錯時,試運行初始化後的記憶體,並判斷試運行是否出錯;及 第一提醒模組,用於在試運行出錯時,以預設的方式提示電子設備的使用者記憶體初始化出錯。
  2. 如申請專利範圍第1項所述的記憶體自檢修正系統,所述預設的規則是在調整與讀或寫相關的參數時,優先調整占整個讀或寫的總時間的較大權重的參數。
  3. 如申請專利範圍第1項所述的記憶體自檢修正系統,所述調整模組還用於在調整後的與讀或寫相關的參數的值全是各參數的最大值時,判斷記憶體的當前頻率是不是最低值,並在記憶體的當前頻率不是最低值時,降低記憶體的頻率並將與讀及寫相關的各個參數都設置為預設值。
  4. 如申請專利範圍第3項所述的記憶體自檢修正系統,所述設置模組還用於在降低記憶體的頻率後,以調整後的配置資訊對記憶體的各個參數進行設置,並重新初始化記憶體。
  5. 如申請專利範圍第1至4任一項所述的記憶體自檢修正系統,該系統還包括: 第二提醒模組,用於在試運行未出錯時,判斷記憶體的配置資訊是否被調整過,並在記憶體的配置資訊被調整過時,以預設的方式提示電子設備的使用者記憶體的配置資訊被調整過。
  6. 一種記憶體自檢修正方法,應用於電子設備中,該方法包括: 獲取步驟,從記憶體的EEPROM中獲取配置串列檢測SPD,並根據SPD對記憶體的各項參數進行設置; 第一判斷步驟,對設置後的記憶體進行初始化,並判斷記憶體初始化是否出錯; 調整步驟,在記憶體初始化出錯時,以預設的規則調整與讀或寫相關的參數的值,並判斷調整後的與讀或寫相關的參數的值是否全是各參數的最大值; 設置步驟,在調整後的與讀或寫相關的參數的值不全是各參數的最大值時,以調整後的配置資訊對記憶體的各個參數進行設置,並重新初始化記憶體; 第二判斷步驟,在記憶體初始化未出錯時,試運行初始化後的記憶體,並判斷試運行是否出錯;及 第一提醒步驟,在試運行出錯時,以預設的方式提示電子設備的使用者記憶體初始化出錯。
  7. 如申請專利範圍第6項所述的記憶體自檢修正方法,所述預設的規則是在調整與讀或寫相關的參數時,優先調整占整個讀或寫的總時間的較大權重的參數。
  8. 如申請專利範圍第6項所述的記憶體自檢修正方法,所述調整步驟還在調整後的與讀或寫相關的參數的值全是各參數的最大值時,判斷記憶體的當前頻率是不是最低值,並在記憶體的當前頻率不是最低值時,降低記憶體的頻率並將與讀及寫相關的各個參數都設置為預設值。
  9. 如申請專利範圍第8項所述的記憶體自檢修正方法,所述設置步驟還在降低記憶體的頻率後,以調整後的配置資訊對記憶體的各個參數進行設置,並重新初始化記憶體。
  10. 如申請專利範圍第6至9任一項所述的記憶體自檢修正方法,該方法還包括: 第二提醒步驟,在試運行未出錯時,判斷記憶體的配置資訊是否被調整過,並在記憶體的配置資訊被調整過時,以預設的方式提示電子設備的使用者記憶體的配置資訊被調整過。
TW104127524A 2015-08-24 2015-08-24 記憶體自檢修正系統及方法 TWI553467B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104127524A TWI553467B (zh) 2015-08-24 2015-08-24 記憶體自檢修正系統及方法
US15/153,746 US10019319B2 (en) 2015-08-24 2016-05-13 Electronic device and storage initialization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104127524A TWI553467B (zh) 2015-08-24 2015-08-24 記憶體自檢修正系統及方法

Publications (2)

Publication Number Publication Date
TWI553467B true TWI553467B (zh) 2016-10-11
TW201709061A TW201709061A (zh) 2017-03-01

Family

ID=57848256

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104127524A TWI553467B (zh) 2015-08-24 2015-08-24 記憶體自檢修正系統及方法

Country Status (2)

Country Link
US (1) US10019319B2 (zh)
TW (1) TWI553467B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI635383B (zh) * 2016-12-30 2018-09-11 技嘉科技股份有限公司 記憶體時脈頻率調整方法、主機板及計算機操作系統
CN111145699A (zh) * 2019-12-26 2020-05-12 深圳市华星光电半导体显示技术有限公司 代码读取方法、时序控制器和计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111443954A (zh) * 2020-03-31 2020-07-24 广东美的制冷设备有限公司 设备的初始化方法、装置、电子设备和计算机存储介质
CN112115097B (zh) * 2020-09-28 2023-08-29 合肥沛睿微电子股份有限公司 运行日志信息的访问方法及存储设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
US20060156171A1 (en) * 2004-12-15 2006-07-13 Seagate Technology Llc Combining spectral shaping with turbo coding in a channel coding system
US20080148129A1 (en) * 2006-12-14 2008-06-19 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
TW201511023A (zh) * 2013-07-31 2015-03-16 Hewlett Packard Development Co 記憶體模組外錯誤校正碼輔助記憶體系統

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019391A2 (en) * 2001-08-24 2003-03-06 Intel Corporation A general input/output architecture protocol and related methods to manage data integrity
US7096349B1 (en) * 2002-12-16 2006-08-22 Advanced Micro Devices, Inc. Firmware algorithm for initializing memory modules for optimum performance
JP2005116005A (ja) * 2003-10-03 2005-04-28 Mitsubishi Electric Corp ディスク再生装置
TWI245287B (en) * 2004-09-08 2005-12-11 Via Tech Inc Method for initialization drams
TW200643694A (en) * 2005-06-15 2006-12-16 Inventec Corp Data secured storage system and method thereof
KR100699406B1 (ko) * 2006-01-23 2007-03-23 삼성전자주식회사 기입 회복 시간 제어회로 및 그 제어방법
US20080159094A1 (en) * 2006-12-28 2008-07-03 Hon Hai Precision Industry Co., Ltd. Disc drive and method for determining write parameters
TWI359426B (en) * 2007-09-17 2012-03-01 Asustek Comp Inc Method for recording parameter of memory and metho
US8452917B2 (en) * 2008-09-15 2013-05-28 Diablo Technologies Inc. Load reduction dual in-line memory module (LRDIMM) and method for programming the same
TW201013686A (en) * 2008-09-26 2010-04-01 Asustek Comp Inc Method of detecting memory training result applied to a computer system
TWI400607B (zh) * 2009-06-11 2013-07-01 Asustek Comp Inc 調整記憶體內部參數的方法及使用其之電腦系統
US8595597B2 (en) * 2011-03-03 2013-11-26 Intel Corporation Adjustable programming speed for NAND memory devices
US9104646B2 (en) * 2012-12-12 2015-08-11 Rambus Inc. Memory disturbance recovery mechanism
US9349476B2 (en) * 2013-02-21 2016-05-24 Sandisk Technologies Inc. Methods, systems, and computer readable media for early detection of potential flash failures using an adaptive system level algorithm based on flash program verify
KR20150017526A (ko) * 2013-08-07 2015-02-17 삼성전자주식회사 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
JP6524618B2 (ja) * 2013-09-09 2019-06-05 株式会社リコー 電子機器、制御方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
US20060156171A1 (en) * 2004-12-15 2006-07-13 Seagate Technology Llc Combining spectral shaping with turbo coding in a channel coding system
US20080148129A1 (en) * 2006-12-14 2008-06-19 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
TW201511023A (zh) * 2013-07-31 2015-03-16 Hewlett Packard Development Co 記憶體模組外錯誤校正碼輔助記憶體系統

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI635383B (zh) * 2016-12-30 2018-09-11 技嘉科技股份有限公司 記憶體時脈頻率調整方法、主機板及計算機操作系統
US10922261B2 (en) 2016-12-30 2021-02-16 Giga-Byte Technology Co., Ltd. Memory clock frequency adjusting method, mainboard, and computer operating system
CN111145699A (zh) * 2019-12-26 2020-05-12 深圳市华星光电半导体显示技术有限公司 代码读取方法、时序控制器和计算机可读存储介质

Also Published As

Publication number Publication date
US20170060692A1 (en) 2017-03-02
TW201709061A (zh) 2017-03-01
US10019319B2 (en) 2018-07-10

Similar Documents

Publication Publication Date Title
TWI553467B (zh) 記憶體自檢修正系統及方法
US8537480B1 (en) Hard drive testing
US9971642B2 (en) System and method for recovering from a configuration error
CN108874686B (zh) 内存参数调节方法、装置及设备
CN111221582B (zh) 一种内存训练的方法及系统
WO2016101411A1 (zh) 一种服务器显示方法及装置
US8572444B2 (en) Memory apparatus and testing method thereof
EP1164589A1 (en) Storage device having an error correction function
KR20090118863A (ko) 오퍼레이팅 시스템 메모리 핫 애드를 시뮬레이션하여 파워온 시간을 감소시키는 방법
US8006144B2 (en) Memory testing
CN106484550B (zh) 内存自检修正系统及方法
CN113590511B (zh) 一种带宽降速修复方法、装置及电子设备
CN109684125B (zh) 一种修复ddr物理损坏的方法、装置、设备及存储介质
JP5293062B2 (ja) コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
CN103839592A (zh) 用于嵌入式快闪存储器的内建自测试方法及装置
US20160067598A1 (en) Electronic device and method for pausing video during playback
JP2000021193A (ja) メモリ試験方法及び装置並びに記憶媒体
JP2011163842A (ja) 半導体装置、及びその診断方法
JP2009252026A (ja) メモリ診断装置、及び情報処理装置
JP2002323993A (ja) シングルチップマイクロコンピュータ並びにその試験方法及び試験プログラム
TWI750849B (zh) 測試待測裝置的應用程式的自動測試系統和方法
TWI434174B (zh) 電腦系統及記憶體用途設定程式
CN109656509B (zh) 一种模组校正数据的校验方法、终端设备及存储介质
JP2009238359A (ja) 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置
TWI411976B (zh) 影像處理系統與取樣相位校正方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees