本發(fā)明涉及存儲(chǔ)器的領(lǐng)域,并且更具體而言,涉及在存儲(chǔ)器中的高效的故障監(jiān)測(cè)及相關(guān)方法。
背景技術(shù):
在被突然地中斷之前,應(yīng)用可以容忍某種程度上的存儲(chǔ)器故障。在執(zhí)行應(yīng)用期間可能發(fā)生永久故障和瞬態(tài)故障。永久故障通常被定義為永久的并且當(dāng)應(yīng)用關(guān)閉時(shí)不消失的故障。永久故障通常是由存儲(chǔ)器的物理缺陷導(dǎo)致的。瞬態(tài)故障是在執(zhí)行應(yīng)用期間發(fā)生的并且當(dāng)應(yīng)用關(guān)閉時(shí)消失的故障。瞬態(tài)故障通常是在存儲(chǔ)器沒有物理缺陷的情況下由數(shù)據(jù)值的改變導(dǎo)致的,并且可以由于環(huán)境條件而發(fā)生。
通常,瞬態(tài)故障比永久故障發(fā)生得更加頻繁得多并且是存儲(chǔ)器在使用周期之上使故障顯現(xiàn)的結(jié)果。在存在糾錯(cuò)機(jī)制的情況下,應(yīng)用可能需要了解這類故障的范圍以評(píng)估存儲(chǔ)器的物理缺陷的嚴(yán)重性。例如,一個(gè)應(yīng)用可以用于在汽車上使用的存儲(chǔ)器。
技術(shù)實(shí)現(xiàn)要素:
一種電子設(shè)備可以包括具有經(jīng)受瞬態(tài)故障和永久故障的多個(gè)存儲(chǔ)器位置的存儲(chǔ)器以及耦接于該存儲(chǔ)器的故障檢測(cè)電路。該故障檢測(cè)電路可以被配置成用于:在第一時(shí)間讀取該多個(gè)存儲(chǔ)器位置,并且在該第一時(shí)間基于讀取該多個(gè)存儲(chǔ)器位置確定包括這些瞬態(tài)和永久故障的第一故障計(jì)數(shù)和故障映射簽名,并且存儲(chǔ)該第一故障計(jì)數(shù)和故障映射簽名。該故障檢測(cè)電路還可以:在第二時(shí)間讀取該多個(gè)存儲(chǔ)器位置,并且在該第二時(shí)間基于讀取該多個(gè)存儲(chǔ)器位置確定包括這些瞬態(tài)和永久故障的第二故障計(jì)數(shù)和故障映射簽名,并且將該存儲(chǔ)的第一故障計(jì)數(shù)和故障映射簽名與該第二故障計(jì)數(shù)和故障映射簽名進(jìn)行比較以確定永久故障計(jì)數(shù)。因此,該故障檢測(cè)電路可以在存儲(chǔ)器中檢測(cè)故障的范圍,如在故障達(dá)到應(yīng)用被突然地中斷的閾值點(diǎn)之前。
故障檢測(cè)設(shè)備還可以包括用于基于永久故障計(jì)數(shù)超過閾值而生成指示的指示器電路。此外,故障檢測(cè)電路可以包括被配置成用于讀取該多個(gè)存儲(chǔ)器位置的存儲(chǔ)器控制器以及耦接于存儲(chǔ)器控制器的存儲(chǔ)器錯(cuò)誤處置器。存儲(chǔ)器控制器可以包括循環(huán)冗余校驗(yàn)(CRC)電路和錯(cuò)誤計(jì)數(shù)器,該CRC電路被配置成用于檢測(cè)瞬態(tài)和永久故障,而該錯(cuò)誤計(jì)數(shù)器耦接于該CRC電路并且被配置成用于確定瞬態(tài)和永久故障的第一和第二計(jì)數(shù)。
故障檢測(cè)電路可以進(jìn)一步包括處理器,該處理器耦接于CRC電路和錯(cuò)誤計(jì)數(shù)器以將存儲(chǔ)的第一故障計(jì)數(shù)和故障映射簽名與第二故障計(jì)數(shù)和故障映射簽名進(jìn)行比較從而基于存儲(chǔ)的第一故障計(jì)數(shù)和故障映射簽名與第二故障計(jì)數(shù)和故障映射簽名之間的改變確定永久故障計(jì)數(shù)。存儲(chǔ)器控制器可以被配置成用于在存儲(chǔ)器內(nèi)的不同塊之上以三重復(fù)制存儲(chǔ)第一故障計(jì)數(shù)和故障映射簽名以及永久故障計(jì)數(shù)并且CRC電路可以被配置成用于從每個(gè)瞬態(tài)和永久故障計(jì)算故障映射簽名。
用于確定故障計(jì)數(shù)和故障映射簽名的第一時(shí)間可以對(duì)應(yīng)于存儲(chǔ)器的掉電事件而第二時(shí)間可以是存儲(chǔ)器的上電事件,其中,每個(gè)瞬態(tài)和永久故障可以具有與其相關(guān)聯(lián)的存儲(chǔ)器地址和校正子。此外,每個(gè)瞬態(tài)故障可以是單比特或雙比特可校正的錯(cuò)誤,而每個(gè)永久故障可以是三比特不可校正的錯(cuò)誤。存儲(chǔ)器可以是非易失性存儲(chǔ)器。
另一方面涉及一種監(jiān)測(cè)存儲(chǔ)器中的故障的方法,該方法可以包括:在第一時(shí)間讀取多個(gè)存儲(chǔ)器位置、在第一時(shí)間基于讀取該多個(gè)存儲(chǔ)器位置確定包括這些瞬態(tài)和永久故障的第一故障計(jì)數(shù)和故障映射簽名、并且存儲(chǔ)第一故障計(jì)數(shù)和故障映射簽名。該方法還可以包括:在第二時(shí)間讀取該多個(gè)存儲(chǔ)器位置、在第二時(shí)間基于讀取該多個(gè)存儲(chǔ)器位置確定包括這些瞬態(tài)和永久故障的第二故障計(jì)數(shù)和故障映射簽名、并且將存儲(chǔ)的第一故障計(jì)數(shù)和故障映射簽名與第二故障計(jì)數(shù)和故障映射簽名進(jìn)行比較以確定永久故障計(jì)數(shù)。此外,該方法可以包括基于永久故障計(jì)數(shù)超過閾值而生成指示并且可以在存儲(chǔ)器內(nèi)的不同塊之上以三重復(fù)制存儲(chǔ)第一和第二故障計(jì)數(shù)以及故障映射簽名。
附圖說明
圖1是根據(jù)本發(fā)明的實(shí)施例的電子設(shè)備的框圖;
圖2是圖1的電子設(shè)備的更詳細(xì)的框圖;并且
圖3是根據(jù)本發(fā)明的實(shí)施例的一種監(jiān)測(cè)故障的方法的流程圖。
具體實(shí)施方式
現(xiàn)在將參照附圖在下文中更為全面地描述本發(fā)明,在附圖中示出了本發(fā)明的優(yōu)選實(shí)施例。然而,本發(fā)明可以用許多不同的形式來體現(xiàn),并且不應(yīng)當(dāng)被解釋為限于在此所列出的實(shí)施例。相反,提供了這些實(shí)施例從而使得本披露將是全面和完整的,并且將向本領(lǐng)域技術(shù)人員完全傳達(dá)本發(fā)明的范圍。貫穿全文相似的數(shù)字指代相似的元件,并且上撇號(hào)符號(hào)用于指示在替代實(shí)施例中的類似元件。
首先參照?qǐng)D1,電子設(shè)備100被展示具有耦接于存儲(chǔ)器104的故障檢測(cè)電路102。存儲(chǔ)器104可以具有經(jīng)受瞬態(tài)故障和永久故障的多個(gè)存儲(chǔ)器位置。故障檢測(cè)電路102可以被配置成用于在第一時(shí)間(例如,掉電)處讀取存儲(chǔ)器104并且在該第一時(shí)間處基于讀取存儲(chǔ)器104確定包括這些瞬態(tài)和永久故障的第一故障計(jì)數(shù)和故障映射簽名。存儲(chǔ)第一故障計(jì)數(shù)和故障映射簽名。在具體實(shí)施例中,還可以在第二時(shí)間(例如,上電)處讀取存儲(chǔ)器104并且在該第二時(shí)間處基于讀取該多個(gè)存儲(chǔ)器位置確定包括這些瞬態(tài)和永久故障的第二故障計(jì)數(shù)和故障映射簽名。故障檢測(cè)電路102可以將對(duì)應(yīng)于掉電事件的存儲(chǔ)的第一故障計(jì)數(shù)和故障映射簽名與對(duì)應(yīng)于上電事件的第二故障計(jì)數(shù)和故障映射簽名進(jìn)行比較以確定永久故障計(jì)數(shù)。
電子設(shè)備100能夠在啟動(dòng)(例如,上電)時(shí)并且在關(guān)機(jī)(例如,掉電)之前管理并讀取存儲(chǔ)器102、將故障信息存儲(chǔ)在可檢索的位置中、對(duì)存儲(chǔ)的故障信息和最近的測(cè)試執(zhí)行評(píng)估、并且讀取結(jié)果從而評(píng)估永久和瞬態(tài)故障的范圍。
如以上所解釋的,讀取存儲(chǔ)器104(例如,閃存或其他非易失性存儲(chǔ)器)并且可以在測(cè)試期間檢測(cè)可校正的錯(cuò)誤。例如,可校正的錯(cuò)誤可以是單比特、雙比特或三比特的。對(duì)應(yīng)于每種類型的可校正的錯(cuò)誤的地址和校正子可以用于計(jì)算對(duì)應(yīng)的可校正的錯(cuò)誤的唯一簽名。
此外,在存儲(chǔ)器104中每種類型的可校正的錯(cuò)誤的數(shù)量由故障檢測(cè)電路102計(jì)數(shù)。此計(jì)數(shù)可以與上一次上電和掉電測(cè)試的存儲(chǔ)的計(jì)數(shù)結(jié)果進(jìn)行比較并且可以相應(yīng)地關(guān)于每種類型的永久和瞬態(tài)故障更新這些記錄。
例如,在上電時(shí)未被檢測(cè)到但在上一次掉電時(shí)被檢測(cè)到的可校正的錯(cuò)誤被認(rèn)為是瞬態(tài)故障,而在上電和掉電時(shí)都被檢測(cè)到的可校正的錯(cuò)誤被認(rèn)為是永久故障。每種類型的可校正的錯(cuò)誤的簽名和計(jì)數(shù)被存儲(chǔ)在存儲(chǔ)器104(例如,數(shù)據(jù)閃存)內(nèi)部并且可以由分布在不同的存儲(chǔ)塊之上的三重復(fù)制和糾錯(cuò)方案保護(hù)。
現(xiàn)在參照?qǐng)D2,故障檢測(cè)電路102可以包括存儲(chǔ)器控制器106。存儲(chǔ)器控制器可以被配置成用于讀取存儲(chǔ)器104的多個(gè)存儲(chǔ)器位置。存儲(chǔ)器控制器106耦接于系統(tǒng)/測(cè)試總線104。如將由本領(lǐng)域技術(shù)人員認(rèn)識(shí)到的是,存儲(chǔ)器控制器106還可以具有循環(huán)冗余校驗(yàn)(CRC)108,該CRC被配置成用于檢測(cè)瞬態(tài)和永久故障。CRC 108還可以針對(duì)每個(gè)瞬態(tài)和永久故障使用對(duì)應(yīng)可校正的錯(cuò)誤的地址和校正子計(jì)算簽名。
存儲(chǔ)器控制器106的錯(cuò)誤計(jì)數(shù)器110可以用于確定瞬態(tài)和永久故障的第一和第二計(jì)數(shù)。存儲(chǔ)器控制器106可以包括處理器112,該處理器可以用軟件編程或者可以是專用集成電路(ASIC)。例如,存儲(chǔ)器控制器106的處理器112可以被配置成用于將第一故障計(jì)數(shù)和故障映射簽名與第二故障計(jì)數(shù)和故障映射簽名進(jìn)行比較以基于對(duì)應(yīng)于掉電事件的第一故障計(jì)數(shù)和故障映射簽名與對(duì)應(yīng)于上電事件的第二故障計(jì)數(shù)和故障映射簽名之間的改變確定永久故障計(jì)數(shù)。在特定實(shí)施例中,每個(gè)瞬態(tài)故障可以例如被定義為單比特或雙比特可校正的錯(cuò)誤,而每個(gè)永久故障可以例如被定義為三比特不可校正的錯(cuò)誤??尚U腻e(cuò)誤比特計(jì)數(shù)基于糾錯(cuò)方案是可擴(kuò)展的。
故障檢測(cè)電路102的存儲(chǔ)器錯(cuò)誤處置器114可以耦接于存儲(chǔ)器104并且被配置成用于接收永久和瞬態(tài)故障。存儲(chǔ)器錯(cuò)誤處置器114可以被配置成用于存儲(chǔ)(n)個(gè)可校正的和(m)個(gè)不可校正的錯(cuò)誤。盡管安全和高保險(xiǎn)系統(tǒng)可以實(shí)現(xiàn)用于在電子設(shè)備100的壽命期間處置錯(cuò)誤的糾錯(cuò)方案,在故障達(dá)到應(yīng)用116被突然地中斷的臨界點(diǎn)之前故障在存儲(chǔ)器104中的范圍現(xiàn)在可以由故障檢測(cè)電路102指示。
例如,如將由本領(lǐng)域技術(shù)人員認(rèn)識(shí)到的是,糾錯(cuò)方案可以校正多達(dá)(x)個(gè)比特。存儲(chǔ)器錯(cuò)誤處置器114接收所有錯(cuò)誤指示,即,具有相應(yīng)的地址和校正子的可校正的和不可校正的錯(cuò)誤。存儲(chǔ)器錯(cuò)誤處置器114可以存儲(chǔ)最多(n)個(gè)可校正的和(m)個(gè)不可校正的錯(cuò)誤。將多達(dá)(x-1)個(gè)比特校正的可校正的錯(cuò)誤轉(zhuǎn)發(fā)至存儲(chǔ)器錯(cuò)誤處置器114可以由寄存器掩模,實(shí)現(xiàn)針對(duì)在存儲(chǔ)器控制器106內(nèi)部的隨機(jī)/瞬態(tài)故障的保護(hù)方案。例如,單比特錯(cuò)誤可以被掩模為不重要的。
在存儲(chǔ)器104的啟動(dòng)測(cè)試之后,將針對(duì)每種類型的可校正的錯(cuò)誤的由CRC 108計(jì)算的簽名和錯(cuò)誤計(jì)數(shù)器110的計(jì)數(shù)與之前存儲(chǔ)的記錄進(jìn)行比較以檢測(cè)每種類型的可校正的錯(cuò)誤的數(shù)量中的任何改變。針對(duì)每種類型的可校正的錯(cuò)誤的計(jì)數(shù)的增加可以指示應(yīng)用116可能更近乎被突然地中斷。故障檢測(cè)電路進(jìn)一步包括耦接于處理器112以基于永久故障計(jì)數(shù)超過閾值而生成指示的指示器電路或指示器118。
如以上所解釋的,在正常操作期間,可校正的錯(cuò)誤掩模(CE-MASK)可以活躍的并且阻止將特定的可校正的錯(cuò)誤(單比特)轉(zhuǎn)發(fā)至存儲(chǔ)器錯(cuò)誤處置器114。出于用于診斷失效的調(diào)試目的,CE-MASK可以被取消激活。
直到?jīng)]有(x)比特可校正的錯(cuò)誤被報(bào)告時(shí),針對(duì)(x-1)比特或更少比特的校正不被故障檢測(cè)電路102(可配置的)考慮在內(nèi)。在第一個(gè)(x)比特校正被報(bào)告后,在每次上電時(shí)執(zhí)行測(cè)試,其中,存儲(chǔ)器104的所有位置被讀取并且錯(cuò)誤的簽名由CRC 108計(jì)算連同由錯(cuò)誤計(jì)數(shù)器110執(zhí)行對(duì)每個(gè)可校正的錯(cuò)誤的計(jì)數(shù)。在運(yùn)行時(shí)期間,瞬態(tài)(x-1)比特可校正的錯(cuò)誤不被報(bào)告給存儲(chǔ)器控制器106。
在硬件/軟件控制之下在不同的閃存塊之上分布的存儲(chǔ)器104(例如,數(shù)據(jù)閃存)中以三重復(fù)制存儲(chǔ)針對(duì)每種類型的錯(cuò)誤的簽名和計(jì)數(shù)。
在每次測(cè)試之后,將針對(duì)每種類型的可校正的錯(cuò)誤(單比特、雙比特、三比特……)的計(jì)算的簽名和計(jì)數(shù)與之前存儲(chǔ)的計(jì)數(shù)(例如,來自上電或掉電)進(jìn)行比較以檢測(cè)每種類型的可校正的錯(cuò)誤的數(shù)量中的任何改變并且記錄因此針對(duì)瞬態(tài)和永久類型的故障被更新。在掉電時(shí),存儲(chǔ)器104被再次讀取并且每個(gè)可校正的錯(cuò)誤的簽名和錯(cuò)誤計(jì)數(shù)可以被存儲(chǔ)。因此,在從之前的上電事件到掉電事件處可校正的錯(cuò)誤沒有改變指示沒有附加的瞬態(tài)故障。如果在從上一次掉電事件到下一個(gè)上電事件處可校正的錯(cuò)誤的計(jì)數(shù)沒有改變,那么沒有附加的永久故障被檢測(cè)到。
在正常操作期間,單錯(cuò)誤校正掩模(SEC-MASK)可以是活躍的并且阻止將SEC事件轉(zhuǎn)發(fā)至存儲(chǔ)器錯(cuò)誤處置器114。出于用于診斷失效的調(diào)試目的,SEC-MASK可以被取消激活。
現(xiàn)在參照?qǐng)D3,現(xiàn)在描述并且總體上指定一種監(jiān)測(cè)存儲(chǔ)器中的故障的方法200的流程圖。以上所描述的故障檢測(cè)電路102可以實(shí)現(xiàn)方法200。例如,在202在第一時(shí)間讀取多個(gè)存儲(chǔ)器位置,并且在204在第一時(shí)間(例如,對(duì)應(yīng)于掉電事件)并且基于讀取該多個(gè)存儲(chǔ)器位置確定包括瞬態(tài)和永久故障的第一故障計(jì)數(shù)。移至206,在存儲(chǔ)器內(nèi)的不同存儲(chǔ)器塊之上以三重復(fù)制存儲(chǔ)永久和瞬態(tài)故障的第一故障計(jì)數(shù)和故障映射簽名。
在208在第二時(shí)間處讀取該多個(gè)存儲(chǔ)器位置并且在210在該第二時(shí)間(例如,對(duì)應(yīng)于上電事件)處基于讀取該多個(gè)存儲(chǔ)器位置確定包括這些瞬態(tài)和永久故障的第二故障計(jì)數(shù)和故障映射簽名。在212,將存儲(chǔ)的第一故障計(jì)數(shù)和故障映射簽名(例如,對(duì)應(yīng)于掉電事件)與第二故障計(jì)數(shù)和故障映射簽名(例如,對(duì)應(yīng)于上電事件)進(jìn)行比較以確定永久故障計(jì)數(shù)。在214,基于永久故障計(jì)數(shù)超過閾值而生成指示。在216,可以在存儲(chǔ)器中的不同塊之上以三重復(fù)制存儲(chǔ)第二故障計(jì)數(shù)和故障映射簽名。在204,該方法可以通過再次讀取存儲(chǔ)器位置并且重復(fù)以上所描述的處理而繼續(xù)監(jiān)測(cè)永久和瞬態(tài)故障。
本發(fā)明的許多修改和其他實(shí)施例對(duì)于受益于前面的描述和相關(guān)附圖中呈現(xiàn)的教導(dǎo)的本領(lǐng)域技術(shù)人員來說將是顯而易見的。因此,應(yīng)當(dāng)理解本發(fā)明不限于所披露的具體實(shí)施例,并且那些修改及實(shí)施例旨在被包括于所附權(quán)利要求書的范圍內(nèi)。