本發(fā)明涉及存儲(chǔ)領(lǐng)域,特別涉及一種存儲(chǔ)器及其異常定位方法。
背景技術(shù):
1、在現(xiàn)代存儲(chǔ)系統(tǒng)中,調(diào)試工具和日志記錄是診斷和解決存儲(chǔ)器異常的關(guān)鍵技術(shù)。這些調(diào)試方法能夠在存儲(chǔ)器發(fā)生致命異常時(shí)恢復(fù)和提供基本的狀態(tài)信息,包括源塊地址、目標(biāo)塊地址、出錯(cuò)文件、出錯(cuò)函數(shù)以及執(zhí)行序號(hào)等。
2、然而,現(xiàn)有的調(diào)試方法常常無法提供足夠的信息以完整地重構(gòu)異常發(fā)生前的邏輯流程和環(huán)境狀態(tài),從而限制了問題診斷和故障定位的效率和準(zhǔn)確性,對(duì)異常問題定位造成一定的困擾與阻礙。因此,存在待改進(jìn)之處。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種存儲(chǔ)器及其異常定位方法,能夠精確的對(duì)異常錯(cuò)誤進(jìn)行定位。
2、為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
3、本發(fā)明提供了一種存儲(chǔ)器,包括:
4、存儲(chǔ)單元,用以存儲(chǔ)主機(jī)數(shù)據(jù);
5、只讀存儲(chǔ)單元,其內(nèi)設(shè)定有數(shù)據(jù)區(qū)域,其中,所述數(shù)據(jù)區(qū)域包括讀數(shù)據(jù)區(qū)域與寫數(shù)據(jù)區(qū)域,所述讀數(shù)據(jù)區(qū)域包括多個(gè)信息節(jié)點(diǎn),所述寫數(shù)據(jù)區(qū)域包括多個(gè)信息節(jié)點(diǎn),所述信息節(jié)點(diǎn)包括多個(gè)運(yùn)行節(jié)點(diǎn)與多個(gè)位置節(jié)點(diǎn),所述信息節(jié)點(diǎn)中的運(yùn)行節(jié)點(diǎn)與位置節(jié)點(diǎn)相對(duì)應(yīng);以及
6、主控單元,用以響應(yīng)于主機(jī)的指令,執(zhí)行相應(yīng)的命令函數(shù),其中,所述指令包括讀指令與寫指令,所述命令函數(shù)包括讀命令函數(shù)與寫命令函數(shù);
7、其中,所述主控單元執(zhí)行到某一關(guān)鍵函數(shù)時(shí),將當(dāng)前運(yùn)行時(shí)間與某一關(guān)鍵函數(shù)的地址分別存儲(chǔ)于所述數(shù)據(jù)區(qū)域的某一信息節(jié)點(diǎn)的運(yùn)行節(jié)點(diǎn)與位置節(jié)點(diǎn)中,所述關(guān)鍵函數(shù)指的是預(yù)先標(biāo)記的命令函數(shù),所述關(guān)鍵函數(shù)被區(qū)分為關(guān)鍵讀函數(shù)與關(guān)鍵寫函數(shù);
8、在所述主控單元執(zhí)行命令函數(shù)遇到異常錯(cuò)誤時(shí),根據(jù)所述數(shù)據(jù)區(qū)域中的信息,以對(duì)異常錯(cuò)誤進(jìn)行定位。
9、在本發(fā)明一實(shí)施例中,在所述主控單元執(zhí)行的當(dāng)前命令函數(shù)不是關(guān)鍵函數(shù)時(shí),繼續(xù)執(zhí)行所述當(dāng)前命令函數(shù),直至執(zhí)行到所述關(guān)鍵函數(shù)時(shí)為止。
10、在本發(fā)明一實(shí)施例中,在所述主控單元確定某一命令函數(shù)是關(guān)鍵函數(shù)時(shí),所述主控單元還用以判斷所述某一命令函數(shù)與寫入到所述數(shù)據(jù)區(qū)域中的關(guān)鍵函數(shù)是否重復(fù);
11、所述主控單元確認(rèn)所述某一命令函數(shù)與寫入到所述數(shù)據(jù)區(qū)域中的關(guān)鍵函數(shù)重復(fù)時(shí),清空所述數(shù)據(jù)區(qū)域中對(duì)應(yīng)的信息節(jié)點(diǎn)的關(guān)鍵函數(shù)的相關(guān)信息,并將所述某一命令函數(shù)的相關(guān)信息存儲(chǔ)于所述數(shù)據(jù)區(qū)域中對(duì)應(yīng)的信息節(jié)點(diǎn)中;
12、所述主控單元確認(rèn)所述某一命令函數(shù)與寫入到所述數(shù)據(jù)區(qū)域中的關(guān)鍵函數(shù)不重復(fù)時(shí),將所述某一命令函數(shù)的相關(guān)信息存儲(chǔ)于所述數(shù)據(jù)區(qū)域中下一信息節(jié)點(diǎn)中。
13、在本發(fā)明一實(shí)施例中,所述主控單元在確定存在空閑的信息節(jié)點(diǎn)時(shí),依次將新的關(guān)鍵函數(shù)的相關(guān)信息存儲(chǔ)于不同的信息節(jié)點(diǎn)中。
14、在本發(fā)明一實(shí)施例中,所述主控單元在確定不存在空閑的信息節(jié)點(diǎn)時(shí),清空所述數(shù)據(jù)區(qū)域中的數(shù)據(jù),并將新的關(guān)鍵函數(shù)的相關(guān)信息存儲(chǔ)于所述數(shù)據(jù)區(qū)域的第一個(gè)信息節(jié)點(diǎn)中。
15、在本發(fā)明一實(shí)施例中,所述主控單元在清空所述數(shù)據(jù)區(qū)域中的數(shù)據(jù)時(shí),還用以將所述信息節(jié)點(diǎn)的標(biāo)識(shí)位進(jìn)行復(fù)位處理;
16、所述主控單元在將關(guān)鍵函數(shù)存儲(chǔ)于信息節(jié)點(diǎn)時(shí),還用以將所述信息節(jié)點(diǎn)的標(biāo)識(shí)位進(jìn)行置位處理。
17、在本發(fā)明一實(shí)施例中,所述主控單元在確定所述關(guān)鍵函數(shù)的某一子函數(shù)為關(guān)鍵子函數(shù)時(shí),將所述關(guān)鍵子函數(shù)的當(dāng)前運(yùn)行時(shí)間與地址分別存儲(chǔ)于運(yùn)行節(jié)點(diǎn)與位置節(jié)點(diǎn)中,其中,所述關(guān)鍵子函數(shù)指的是預(yù)先標(biāo)記的命令函數(shù)的子函數(shù),所述關(guān)鍵子函數(shù)被區(qū)分為關(guān)鍵讀子函數(shù)與關(guān)鍵寫子函數(shù)。
18、在本發(fā)明一實(shí)施例中,所述主控單元在確定所述關(guān)鍵函數(shù)的關(guān)鍵子函數(shù)的數(shù)量為多個(gè)時(shí),依次將所述關(guān)鍵子函數(shù)的當(dāng)前運(yùn)行時(shí)間存儲(chǔ)于不同的運(yùn)行節(jié)點(diǎn)中,依次將所述關(guān)鍵子函數(shù)的地址存儲(chǔ)于不同的位置節(jié)點(diǎn)中。
19、在本發(fā)明一實(shí)施例中,在所述主控單元遇到異常錯(cuò)誤時(shí),提取所述數(shù)據(jù)區(qū)域中的數(shù)據(jù),并將其寫入到所述存儲(chǔ)單元中;
20、所述主控單元還用以對(duì)寫入到所述存儲(chǔ)單元中的數(shù)據(jù)區(qū)域的數(shù)據(jù)進(jìn)行解析處理,以對(duì)異常錯(cuò)誤進(jìn)行定位。
21、本發(fā)明還提供了一種存儲(chǔ)器的異常定位方法,包括:
22、在只讀存儲(chǔ)單元中設(shè)定數(shù)據(jù)區(qū)域,其中,所述數(shù)據(jù)區(qū)域包括讀數(shù)據(jù)區(qū)域與寫數(shù)據(jù)區(qū)域,所述讀數(shù)據(jù)區(qū)域包括多個(gè)信息節(jié)點(diǎn),所述寫數(shù)據(jù)區(qū)域包括多個(gè)信息節(jié)點(diǎn),所述信息節(jié)點(diǎn)包括多個(gè)運(yùn)行節(jié)點(diǎn)與多個(gè)位置節(jié)點(diǎn),所述信息節(jié)點(diǎn)中的運(yùn)行節(jié)點(diǎn)與位置節(jié)點(diǎn)相對(duì)應(yīng);
23、響應(yīng)于主機(jī)的指令,主控單元執(zhí)行相應(yīng)的命令函數(shù),其中,所述指令包括讀指令與寫指令,所述命令函數(shù)包括讀命令函數(shù)與寫命令函數(shù);
24、當(dāng)所述主控單元執(zhí)行到某一關(guān)鍵函數(shù)后,將當(dāng)前運(yùn)行時(shí)間與某一關(guān)鍵函數(shù)的地址分別存儲(chǔ)于所述數(shù)據(jù)區(qū)域的某一信息節(jié)點(diǎn)的運(yùn)行節(jié)點(diǎn)與位置節(jié)點(diǎn)中,其中,所述關(guān)鍵函數(shù)指的是預(yù)先標(biāo)記的命令函數(shù),所述關(guān)鍵函數(shù)被區(qū)分為關(guān)鍵讀函數(shù)與關(guān)鍵寫函數(shù);
25、當(dāng)所述主控單元執(zhí)行命令函數(shù)遇到異常錯(cuò)誤時(shí),根據(jù)所述數(shù)據(jù)區(qū)域中的信息,以對(duì)異常錯(cuò)誤進(jìn)行定位。
26、如上所述,本發(fā)明提供一種存儲(chǔ)器及其異常定位方法,通過改進(jìn)存儲(chǔ)器在致命異常發(fā)生時(shí)的調(diào)試效率,可以顯著縮短存儲(chǔ)器的開發(fā)周期。改進(jìn)后可以更快速、準(zhǔn)確地識(shí)別和解決存儲(chǔ)器異常,實(shí)現(xiàn)更高效的故障診斷過程,減少開發(fā)時(shí)間。同時(shí),基于存儲(chǔ)器的運(yùn)行時(shí)間和存儲(chǔ)系統(tǒng)函數(shù)記錄點(diǎn)的信息,當(dāng)存儲(chǔ)器出現(xiàn)異常時(shí),能夠回溯存儲(chǔ)系統(tǒng)的運(yùn)行流程。這種能力使得調(diào)試工具可以更快速地追蹤到異常的根源,從而進(jìn)一步提高調(diào)試效率和問題定位的準(zhǔn)確性。這種方法能更全面地重構(gòu)異常發(fā)生前的邏輯流程和環(huán)境狀態(tài),為故障的快速診斷和解決提供了關(guān)鍵支持。
27、當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
1.一種存儲(chǔ)器,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器,其特征在于,在所述主控單元執(zhí)行的當(dāng)前命令函數(shù)不是關(guān)鍵函數(shù)時(shí),繼續(xù)執(zhí)行所述當(dāng)前命令函數(shù),直至執(zhí)行到所述關(guān)鍵函數(shù)時(shí)為止。
3.根據(jù)權(quán)利要求1所述的存儲(chǔ)器,其特征在于,在所述主控單元確定某一命令函數(shù)是關(guān)鍵函數(shù)時(shí),所述主控單元還用以判斷所述某一命令函數(shù)與寫入到所述數(shù)據(jù)區(qū)域中的關(guān)鍵函數(shù)是否重復(fù);
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)器,其特征在于,所述主控單元在確定存在空閑的信息節(jié)點(diǎn)時(shí),依次將新的關(guān)鍵函數(shù)的相關(guān)信息存儲(chǔ)于不同的信息節(jié)點(diǎn)中。
5.根據(jù)權(quán)利要求4所述的存儲(chǔ)器,其特征在于,所述主控單元在確定不存在空閑的信息節(jié)點(diǎn)時(shí),清空所述數(shù)據(jù)區(qū)域中的數(shù)據(jù),并將新的關(guān)鍵函數(shù)的相關(guān)信息存儲(chǔ)于所述數(shù)據(jù)區(qū)域的第一個(gè)信息節(jié)點(diǎn)中。
6.根據(jù)權(quán)利要求5所述的存儲(chǔ)器,其特征在于,所述主控單元在清空所述數(shù)據(jù)區(qū)域中的數(shù)據(jù)時(shí),還用以將所述信息節(jié)點(diǎn)的標(biāo)識(shí)位進(jìn)行復(fù)位處理;
7.根據(jù)權(quán)利要求1所述的存儲(chǔ)器,其特征在于,所述主控單元在確定所述關(guān)鍵函數(shù)的某一子函數(shù)為關(guān)鍵子函數(shù)時(shí),將所述關(guān)鍵子函數(shù)的當(dāng)前運(yùn)行時(shí)間與地址分別存儲(chǔ)于運(yùn)行節(jié)點(diǎn)與位置節(jié)點(diǎn)中,其中,所述關(guān)鍵子函數(shù)指的是預(yù)先標(biāo)記的命令函數(shù)的子函數(shù),所述關(guān)鍵子函數(shù)被區(qū)分為關(guān)鍵讀子函數(shù)與關(guān)鍵寫子函數(shù)。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器,其特征在于,所述主控單元在確定所述關(guān)鍵函數(shù)的關(guān)鍵子函數(shù)的數(shù)量為多個(gè)時(shí),依次將所述關(guān)鍵子函數(shù)的當(dāng)前運(yùn)行時(shí)間存儲(chǔ)于不同的運(yùn)行節(jié)點(diǎn)中,依次將所述關(guān)鍵子函數(shù)的地址存儲(chǔ)于不同的位置節(jié)點(diǎn)中。
9.根據(jù)權(quán)利要求1所述的存儲(chǔ)器,其特征在于,在所述主控單元遇到異常錯(cuò)誤時(shí),提取所述數(shù)據(jù)區(qū)域中的數(shù)據(jù),并將其寫入到所述存儲(chǔ)單元中;
10.一種存儲(chǔ)器的異常定位方法,其特征在于,包括: