存儲器單元失效檢測方法與系統的制作方法
【技術領域】
[0001]本發明涉及失效檢測技術領域,特別是涉及存儲器單元失效檢測方法與系統。
【背景技術】
[0002]存儲器單元用于存儲記錄數碼,其廣泛應用于各類控制設備。
[0003]在實際生產生活中,存儲器單元刷寫次數有限,且易受到強電干擾。當前,存儲器單元的主要失效模式包括:(I)固定故障:單元的邏輯值總為1、0和開路的情況。其中固定故障分為以下情況:單元的邏輯值恒定在O、單元的邏輯值恒定在I以及單元一直開路或者無法訪問,無法讀取數值;(2)轉換故障:轉換故障時SAF故障的一種特殊形式,當寫數碼時某一存儲器單元失效0—1轉換或者1—0轉換無法進行,表現為固定故障的形式;(3)耦合故障存儲器單元中某些位的跳變導致其他位的邏輯值發生非預期的變化,它既可以發生在不同單元之間,也可以發生在同一單元不同位之間。比如:當往一個存儲器單元寫值時,相鄰存儲單位的數值在沒有寫的情況下發生了改變;(4)相鄰單元矢量敏化故障:一個單元的活動導致其他單元的狀態不正常,一個單元的相鄰單元可以是5個,也可以是9個。
[0004]當前,存儲器單元最常見的自檢方法是方格存儲器單元測試。方格存儲器單元測試是交替地把O和I寫到存儲器單元。往存儲器單元交替寫入O和1(如01010101),然后再把寫入的數碼讀出檢查其準確性。前一步準確后輸入其互補樣式進行測試(如01010101的互補樣式是10101010),然后把寫入的數碼讀出檢查其準確性。然而該種檢測方式無法準確檢測存儲器單元是否失效,例如其不能檢測存儲器單元訪問讀寫間隔操作時,引發的存儲器單元轉換故障;不能檢測周邊存儲器單元數碼操作引發的單個存儲器單元的耦合故障。
【發明內容】
[0005]基于此,有必要針對一般存儲器單元失效檢測方式無法準確檢測存儲器單元是否失效的問題,提供一種能夠準確檢測存儲器單元是否失效的存儲器單元失效檢測方法與系統。
[0006]—種存儲器單元失效檢測方法,包括步驟:
[0007]將存儲器單元中每一位設為初始數碼,并讀出存儲器單元中每一位的內容;
[0008]將存儲器單元中每一位的內容從初始數碼修改為變反數碼;
[0009]檢測其他存儲器單元中每一位的內容是否發生改變,當發生改變時,表明存儲器單元已失效,當未發生改變時,讀出存儲器單元中每一位的內容;
[0010]檢測存儲器單元中每一位的內容是否修改準確,當修改不準確時,表明存儲器單元已經失效,當修改準確時,再次將存儲器單元中每一位的內容由變反數碼修改為初始數碼,再次檢測存儲器單元中每一位的內容是否修改準確,當修改不準確時,表明存儲器單元已經失效,當修改準確時,表明存儲器單元正常;
[0011]其中,初始數碼和變反數碼分別包括二進制中兩個不同的數碼。
[0012]—種存儲器單元失效檢測系統,包括:
[0013]設置模塊,用于將存儲器單元中每一位設為初始數碼,并讀出存儲器單元中每一位的內容;
[0014]修改模塊,用于將存儲器單元中每一位的內容從初始數碼修改為變反數碼;
[0015]第一檢測模塊,用于檢測其他存儲器單元中每一位的內容是否發生改變,當發生改變時,表明存儲器單元已失效,當未發生改變時,讀出存儲器單元中每一位的內容;
[0016]第二檢測模塊,用于檢測存儲器單元中每一位的內容是否修改準確,當修改不準確時,表明存儲器單元已經失效,當修改準確時,再次將存儲器單元中每一位的內容由變反數碼修改為初始數碼,再次檢測存儲器單元中每一位的內容是否修改準確,當修改不準確時,表明存儲器單元已經失效,當修改準確時,表明存儲器單元正常;
[0017]其中,初始數碼和變反數碼分別包括二進制中兩個不同的數碼。
[0018]本發明存儲器單元失效檢測方法與系統,將存儲器單元中每一位設為初始數碼,并讀出存儲器單元中每一位的內容,將存儲器單元中每一位的內容從初始數碼修改為變反數碼,當其他存儲器單元中每一位的內容未發生改變時,讀出存儲器單元中每一位的內容,檢測存儲器單元中每一位的內容是否修改準確,當修改準確時,再次將存儲器單元中每一位的內容修改,再次檢測存儲器單元中每一位的內容是否修改準確,當修改準確時,表明存儲器單元正常。整個過程,能夠檢測可能發生的存儲器單元轉換故障以及對周邊存儲器單元數據操作引發的單個存儲器單元的耦合故障,能夠準確檢測存儲器單元是否失效。
【附圖說明】
[0019]圖1為本發明存儲器單元失效檢測方法第一個實施例的流程示意圖;
[0020]圖2為本發明存儲器單元失效檢測系統第一個實施例的結構示意圖。
【具體實施方式】
[0021 ]如圖1所示,一種存儲器單元失效檢測方法,包括步驟:
[0022 ] SI 00:將存儲器單元中每一位設為初始數碼,并讀出存儲器單元中每一位的內容。
[0023]初始數碼與后續的變反數碼分別包括二進制中兩個不同的數碼,即初始數碼包括O和I,變反數碼包括O和I,在存儲器單元的相同位上的初始碼和變反碼是相互對立的,即在存儲器單元的相同位上,當初始碼為O時,其變反碼為I;當初始碼為I時,其變反碼為O。將存儲器單元中每一位設置為初始數碼(例如設置后為0110),并讀出存儲器單元中每一位的內容,若存儲器單元未失效,此時讀出的每一位的內容應均為初始數碼(存儲器單元存儲為0110),若出現某一位的內容不為初始數碼,則表明存儲器單元已經出現故障已經失效(例如讀取存儲器單元為0001)。
[0024]S200:將存儲器單元中每一位的內容從初始數碼修改為變反數碼。
[0025]將存儲器單元中每一位的內容從初始數碼修改為變反數碼,例如從0000修改為
Illlo
[0026]S300:檢測其他存儲器單元中每一位的內容是否發生改變,當發生改變時,表明存儲器單元已失效,當未發生改變時,讀出存儲器單元中每一位的內容。
[0027]其他存儲單元是指存儲單元周圍的存儲單元,檢測存儲單元中內容被修改后是否會引起其他存儲單元每一位的內容改變,當其他存儲單元中每一位的內容發生改變時,表明存儲單元引發了耦合故障,即表明存儲單元已經失效,當未發生改變時,表明存儲單元未引發耦合故障,讀出存儲器單元中每一位的內容。
[0028]S400:檢測存儲器單元中每一位的內容是否修改準確,當修改不準確時,表明存儲器單元已經失效,當修改準確時,再次將存儲器單元中每一位的內容由變反數碼修改為初始數碼,再次檢測存儲器單元中每一位的內容是否修改準確,當修改不準