TWI410978B - 用於整合之資料之完整性查證之系統與其方法 - Google Patents

用於整合之資料之完整性查證之系統與其方法 Download PDF

Info

Publication number
TWI410978B
TWI410978B TW095107026A TW95107026A TWI410978B TW I410978 B TWI410978 B TW I410978B TW 095107026 A TW095107026 A TW 095107026A TW 95107026 A TW95107026 A TW 95107026A TW I410978 B TWI410978 B TW I410978B
Authority
TW
Taiwan
Prior art keywords
value
accumulator
processor
cumulative
data
Prior art date
Application number
TW095107026A
Other languages
English (en)
Other versions
TW200703351A (en
Inventor
William C Moyer
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of TW200703351A publication Critical patent/TW200703351A/zh
Application granted granted Critical
Publication of TWI410978B publication Critical patent/TWI410978B/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Detection And Correction Of Errors (AREA)

Description

用於整合之資料之完整性查證之系統與其方法
本發明一般係關於資料之完整性查證且更特定言之係關於以硬體為基礎的資料之完整性查證。
資料完整性為即時及關鍵系統中共同關注的問題。系統之一或多個組件的資料惡化或操作不當可能導致此類系統的災難性故障。因此,已開發出技術來查證所儲存的資料之完整性以及儲存並處理此類資料的組件。然而,該等傳統技術趨向於軟體密集或趨向於需要相當的額外硬體,從而增加實施該等傳統資料之完整性查證技術的成本與複雜性,並且引入相當的延遲或額外負擔,因而使此類即時或關鍵系統負擔過重。因此,整合之資料之完整性查證技術將是有利的。
下列說明係預計藉由提供涉及多層槽天線以及將此類天線嵌入其中的積體電路封裝之若干特定具體實施例及細節,傳達對本發明的全面瞭解。然而應瞭解本發明並非限於僅為示範性的該等特定具體實施例及細節。應進一步瞭解:按照已知系統及方法,熟習技術人士會瞭解根據特定設計及其他需要將本發明用於其預計目的及任何數量之替代具體實施例中的利益。
圖1至12說明用於處理系統中的整合之資料之完整性查證的示範性技術。在至少一項具體實施例中,一累積器(例如多輸入特性記號暫存器(MISR))係由一處理器用於在將該處理器與一記憶體耦合的一匯流排上累積從該記憶體接收並提供給該記憶體的數值。所獲得的累積數值可與預期累積數值比較以查證該記憶體之內容及/或該系統之一或多個組件之操作係有效的。此外,在一項具體實施例中,累積器可用於二種模式:一種模式為資料之完整性查證組件,而另一種模式為虛擬亂數產生器。
現在參考圖1,依據本發明之至少一項具體實施例說明利用一整合之資料查證技術的示範性處理系統。在所說明的範例中,系統100包含一處理器102、一記憶體104及連接該處理器102至該記憶體104的一或多個匯流排106。處理器102可包含任何各種處理裝置,例如具有一中央處理單元(CPU)之一微處理器或一微控制器、一數位信號處理器、一專用演算法處理器、或任何其他類型的資料處理裝置。記憶體104可包括任何各種記憶體結構,其係用於儲存由處理器102使用的資料。例如,記憶體104可用於儲存指令資料108,其可包含表示由處理器102執行的一或多個指令之資料;恆定數值110,其可表示由處理器102所執行的一或多個程式使用的常數;以及操作資料112,其表示由處理器102所執行的一或多個程式利用的資料。為了便於說明,對術語資料的參考可適用於所有類型的資料,包含指令資料、常數及操作資料,除非本文另有說明。
如以上所說明的處理器102包含一匯流排介面單元(BIU)114,其連接處理器102至一或多個匯流排106;以及一並聯特性記號單元(PSU)116,如參考圖2至12更詳細地說明,該單元可由資料之完整性查證程序118用於累積經由一或多個匯流排106所發送、作為經由匯流排介面單元114提供的數值。由PSU 116產生的累積數值可由資料之完整性查證程序118用於查證儲存在記憶體104中的資料之完整性,以及查證處理器102、記憶體104、與匯流排106之一或多個組件的正確操作。資料之完整性查證程序118可實施為由處理器102基於資料之完整性查證目的而執行的獨立程式,或程序118可實施為另一程式的子程序或功能。
為了說明PSU 116及資料之完整性查證程序118之示範性操作,假定在即時或關鍵系統(例如自動組件或航空組件之部分)中使用系統100。在此類實例中,指令資料之惡化、由處理器102所執行的一或多個程式使用的操作資料或常數很可能會導致系統100之不當操作及可能的故障。此類故障通常暗示實質的安全及成本。因此,資料之完整性查證程序118可藉由引導處理器102採用已知順序從記憶體104存取資料來查證儲存在記憶體104中的資料之完整性(及因此查證儲存在記憶體104中的程式之完整性)。因為經由匯流排106從記憶體提供資料給處理器102,所以BIU 114接收資料並將其提供給PSU 116,因此將資料累積成資料特性記號數值,其表示累積的資料數值及該等數值之累積的順序。在採用所說明的順序存取資料之某些或全部之後,資料之完整性查證程序118可從PSU 116獲得累積數值並將累積數值與預期累積數值比較,其中預期累積數值係根據(例如)使用相同序列累積中的相同資料數值之模擬加以預定。若實際累積數值與預期累積數值係相同的,則資料之完整性查證程序118可假定儲存在記憶體104中的資料係有效的並且組件係如預期進行操作。然而,若實際累積數值與預期累積數值不匹配,則資料之完整性查證程序118可發信號表示記憶體104或系統100的其他部分之錯誤操作,因此處理器102或利用資料之完整性查證程序118的系統100之其他程式或部分可中止操作或採取校正行動來嘗試克服系統100中的資料完整性之損失。
在另一操作模式中,PSU 116可藉由為其提供種子數值並使其可累積從BIU 114接收的使用數值來用作虛擬亂數產生器以回應匯流排106上的資料傳輸操作。所獲得的累積數值可由處理器102所執行的一或多個程式用作虛擬亂數。或者,要加以累積的資料數值可藉由執行處理器102的軟體直接供應給PSU 116。
現在參考圖2,依據本發明之至少一項具體實施例說明處理器102之更詳細的實施方案。如圖所說明,處理器102可包含一或多個執行單元202、一或多個載入/儲存單元204、一除錯模組206、PSU 116及BIU 114。處理器102之組件可經由一或多個內部匯流排210連接。亦如圖所說明,載入/儲存單元204可經由一或多個匯流排(例如位址匯流排212、資料匯流排214及控制匯流排216)耦合至BIU 114。處理器102可進一步包括一或多組通用暫存器208並且PSU 116可實施或保持一或多個裝置暫存器,例如專用暫存器218及220。
在操作中,一或多個執行單元202執行涉及經由一或多個匯流排106傳輸資料至記憶體104(圖1)並從該記憶體中傳輸資料的指令。在實施該等指令中,載入/儲存單元204經由位址匯流排212提供位址資料給BIU 114並經由控制匯流排216提供控制資料給BIU 114。此外,載入/儲存單元204經由資料匯流排214提供資料給BIU 114並經由資料匯流排214從該BIU接收資料。從記憶體104接收的資料可包含表示要由執行單元202執行的指令之指令資料或其可表示在其執行一或多個指令期間由執行單元202利用的操作資料或常數。在至少一項具體實施例中,BIU 114提供從匯流排106輸入及/或輸出至該匯流排的數值給PSU 116。PSU 116依次累積選擇的數值並且所獲得的累積數值可藉由存取專用暫存器(例如由PSU 116保持的專用暫存器218)來獲取。在處理器102上執行的軟體可藉由執行一序列的載入及儲存指令來決定包含要加以累積的資料數值及該等數值之累積的順序之記憶體中的特定位置,每個載入或儲存指令定址包含需要加以累積的資料數值之特定位置,並且採用預定或運行時間動態序列執行載入或儲存操作。要加以累積的數值之順序及位置因此可加以靈活地決定並隨意地改變以藉由選擇要執行的累積軟體之特定具體實施例來適應系統100之使用者的特定需要。藉由使軟體可決定資料累積的實際操作,可靈活地實現系統100之使用者的特定完整性檢查需求,而額外負擔較低並且成本較小。為了初始化或播種PSU 116,執行單元202可將種子或初始化數值寫入PSU 116之專用暫存器,例如專用暫存器220。因此,藉由將PSU 116實施為可由執行單元202依靠軟體控制及由BIU 114存取的硬體以回應所選擇的匯流排傳輸,可減小與基於資料之完整性查證之目的或作為虛擬亂數而獲得累積數值相關聯的額外負擔,因為可從暫存器直接存取累積數值而不需要從處理器外部的裝置進行載入操作。此外,PSU 116可加以鎖定以便與處理器102之其他組件並聯操作,從而減小或消除與其累積操作相關聯的延遲。
現在參考圖3,依據本發明之至少一項具體實施例說明PSU 116之示範性實施方案。在所說明的具體實施列中,PSU 116包含一或多個累積器(例如MISR 302及304)、控制模組306、專用暫存器310至322、以及位址範圍表324。PSU 116之某些組件(例如控制模組306)可實施為硬體(例如,邏輯)、軟體、韌體、或其組合。
在所說明的範例中,PSU 116包含用於每個匯流排的二個MISR,一個MISR 302用於匯流排之最重要的位元而另一個MISR 304用於匯流排之最不重要的位元。例如,假定匯流排106為64位元寬,一個MISR可用於累積在位元線0至31上提供的數值而另一個MISR可用於累積在位元線32至63上發送的數值。然而,單一MISR可用於一匯流排之所有位元線而不脫離本發明之範疇。此外,一組MISR可用於累積在多個匯流排上發送的數值,或每個匯流排可具有其自己的MISR或MISR集。為了便於說明,說明具有用於單一匯流排的二個MISR之示範性具體實施例。
在操作中,MISR 302及304係採用一數值藉由下列方式初始化或播種:(例如)將初始化或種子數值寫入一並聯特性記號高暫存器(PSHR)320(用於最重要的位元部分)及並聯特性記號低暫存器(PSLR)322(用於不重要的位元部分)。寫入暫存器320及322的數值之每個位元係由控制模組306用於將MISR 302及304之相應級設定為所指示的位元數值。通常而言,在用於資料之完整性查證時,初始化數值為零。然而,在用於虛擬亂數產生操作時,種子數值通常為非零以便提供虛擬亂數種子。在初始化之後,PSU 116開始累積由BIU 114提供的數值。所供應的資料數值之位元可直接供應給MISR 302及304之相應級或其可供應給控制模組306,其接著將上及下位元部分引導至適當的MISR。或者,BIU 114可將數值寫入PSUHR 316及PSULR 318,因此其係接著供應給MISR 302及304。MISR 302及304累積所供應的數值,其中MISR 302累積自BIU 114的資料數值之最重要的位元並且MISR 304係由BIU 114供應的資料數值之最不重要的位元累積。MISR 302及304之每個級中的數值可寫入暫存器320及322之相應位元欄位,其中暫存器320為與累積數值之最重要的位元相關聯之並聯特性記號高暫存器(PSHR),並且暫存器322為與累積數值之最不重要的位元相關聯之並聯特性記號低暫存器(PSLR)。暫存器320及322之一或多個可經由(例如)藉由軟體執行的一移動指令由處理器102之另一組件存取以直接存取該(等)暫存器。
控制模組306可進一步利用暫存器310、312及314來接收並提供關於PSU 116之操作的控制資訊。例如,控制資訊可寫入並聯特性記號控制暫存器(PSCR)310以便控制PSU 116之操作。並聯特性記號狀態暫存器(PSSR)312係由控制模組306用於指示PSU 116之操作的狀態。同樣地,PSU 116可利用並聯特性記號計數器暫存器(PSCTR)314來指示在該週期中累積的數值之數值。參考圖4至10更詳細地說明暫存器310至322。
在至少一項具體實施例中,PSU 116可操作以累積匯流排106上具有選擇類型或特徵的數值。例如,PSU 116可限於僅累積與讀取存取相關聯的資料數值,或相對地,PSU 116可限於累積與寫入存取相關聯的資料數值。另外舉例而言,PSU 116可操作以累積僅與寫入叢發或僅與讀取叢發相關聯的資料。此外,PSU 116可操作以累積僅與具有規定範圍內的位址之操作相關聯的數值。因此,PSU 116可實施或保持具有表示一或多個位址範圍的一或多個欄位之一位址範圍表324。若匯流排操作涉及列舉在表324之選擇位址範圍中的位址,則控制模組306使相關聯的數值可累積在MISR 302及304中。相反,在匯流排操作具有在表324中的指示位址範圍以外的一位址時,控制模組306會禁止或預防相關聯的數值之累積。因此,可配置PSU 116以便僅累積與選擇操作相關聯的資料數值,其中用於決定選擇操作的準則或允許的累積特徵可以為任何所需準則。熟習技術人士可使用本文提供的指南識別其他合適的準則或允許的累積特徵。此外,在硬體及/或軟體控制下,選擇操作之決定可以由使用者進行程式化。
現在參考圖4至10,依據本發明之至少一項具體實施例說明暫存器310至322之示範性實施方案。圖4說明PSCR 310之示範性實施方案。如以下表1所說明,PSCR暫存器310可包含一或多個位元欄位(例如DAC1EN及DAC2EN)以指示是否致動一位址範圍與儲存在位址範圍表324中的一或多個範圍之比較。亦如表1所說明,PSCR 310可包含一位元欄位(CNTEN)以指示是否致動累積計數器與一位元欄位(BRDEN及BWREN)以指示是否忽視或累積處理器資料叢發讀取及寫入週期。PSCR 310可進一步包含位元欄位以使處理器能累積或忽視單一節拍資料讀取週期(RDEN)或單一節拍寫入週期(WREN)。
圖5說明PSSR 312之示範性實施方案。如以下表2所說明,PSSR 312可包含一或多個位元欄位以指示是否已出現傳輸錯誤。例如,若在未指示一錯誤的情況下已接收實際的累積資料,則可採用零清除位元欄位(TERR)以指示不存在傳輸錯誤。相反,若在指示一錯誤的情況下已接收實際的累積資料,則可藉由將一寫入此欄位來設定TERR欄位。
圖6與7分別說明PSHR暫存器320及PSLR 322之示範性說明。在所說明的範例中該等暫存器為32位元寬,PSHR 320表示累積數值之最重要的位元(即MISR 302之級數值),而PSLR 322儲存累積數值之最不重要的位元(即MISR 304之級數值)。
圖8與9分別說明PSUHR 316及PSULR 318之示範性說明。如圖所說明,暫存器316及318可以為(例如)32位元寬,PSUHR 316表示供應給MISR 302之最重要的位元而PSULR 318表示供應給MISR 304之最不重要的位元。除藉由BIU 114讀取或寫入匯流排106的資料數值之累積以外,軟體可藉由執行將資料直接移動至PSUHR及PSULR的指令來直接使累積發生,從而不需要經由BIU 114執行匯流排傳輸以引起資料累積。經由一軟體移動指令移動一數值至PSUHR會使移動的資料之累積出現在MISR 302中,並且經由一軟體移動指令移動一數值至PSULR會使移動的資料之累積出現在MISR 304中。藉由提供此類機制,軟體可選擇性地行使系統100之部分以獲得要加以累積的資料數值,並且使用累積之結果作為如此行使的系統之部分的完整性查證。例如,為了檢查處理器102之執行單元202的完整性,軟體可利用執行單元202之一或多個部分來執行預定組計算,並可藉由將一序列計算的累積結果與預期的累積結果比較來查證適當的操作。此類靈活性使軟體可採用低成本及靈活方式瞄準系統100之特定部分以進行完整性檢查。
圖10說明PSCTR 314之示範性實施方案。應注意在替代具體實施例中,圖4至10中指示的暫存器欄位可以為任何所需數量的位元並可定位在任何所需暫存器中。
現在參考圖11,依據本發明之至少一項具體實施例說明示範性資料之完整性查證方法1100。方法1100從步驟1102啟動,其中MISR 302及304係採用一初始數值(通常為零)初始化。可藉由(例如)將初始化數值之最重要的位元寫入PSHR 320並將初始化數值之最不重要的位元寫入PSLR 322來初始化MISR 302及304。
在步驟1104中,一資料傳輸操作出現在匯流排106上並且將匯流排上與操作相關聯的數值提供給PSU 116之控制模組306。在步驟1106中,控制模組306決定與匯流排操作相關聯的位址是否在選擇的位址範圍內。若位址係在選擇的範圍內,或若位址範圍比較特徵係停用時,則不拋棄該數值而該數值係累積於MISR 302與304中。因此,匯流排操作(例如寫入操作或讀取操作)之特徵或類型可用於決定是否允許與匯流排操作之類型相關聯的數值進行累積。
在步驟1108中,在PSU 116之MISR 302及304中累積由BIU 114提供的數值(若在選擇的位址範圍或特定資料類型之該範圍內)。步驟1104至1108可重複一或多次直到在資料之完整性查證程序118(圖1)中達到斷點,並且最終累積已出現。在步驟1110中,資料之完整性查證程序118存取PSU 116以獲得最終累積數值。在一項具體實施例中,累積數值可經由PSHR 320及PSLR 322藉由軟體(例如藉由一移動操作)存取至通用暫存器208(圖1)。
在步驟1112中,藉由資料之完整性查證程序118將實際累積數值與預期數值比較。用於特定斷點的預期累積數值可儲存在與處理器102相關聯的快取記憶體中或作為儲存在記憶體104中的資料。在至少一項具體實施例中,使用處理器102與記憶體104之間的相同資料傳輸操作根據系統100之模擬來預定預期累積數值。若實際累積數值與預期累積數值係相等的,則可在步驟1114中將資料及/或操作標識為有效。相反地,若預期及實際累積數值並不相等,則於步驟1116中可將在此決定之前出現的資料及/或操作標識為無效。關於資料及/或操作為無效的指示可產生藉由處理器102執行的一或多個程序之終止、系統100之完全停止、另一系統之通知等。
現在參考圖12,依據本發明之至少一項具體實施例說明系統100之示範性雙模式操作。如上所述,PSU 116可在至少二種模式中操作。一種模式包含基於下列目的而累積資料匯流排數值:查證儲存記憶體104中的資料及/或用於使記憶體104與處理器102之間的資料傳輸生效的組件之操作的完整性。另一模式包括產生虛擬亂數以由處理器102所執行的一或多個程式使用。因此,在選擇該等二種模式之一時,方法1200在步驟1202中啟動。若選擇資料之完整性查證模式,則方法1200繼續至步驟1204,其中可藉由處理器102實施資料之完整性查證技術,例如針對圖11所揭示的示範性技術。或者,若選擇虛擬亂數產生模式,則方法1200繼續至步驟1206,其中採用一種子數值初始化MISR 302及304之一或二者。如以上所說明,可藉由將一數值寫入PSHR 320及PSLR 322(圖3),採用該數值來啟動MISR 302及304。在步驟1208中,在MISR 302及304中累積一或多個數值。在一項具體實施例中,處理器102可啟動從記憶體104之隨機位置傳輸資料以便使隨機數值在MISR 302及304中加以累積。或者,軟體可藉由將資料數值移動至更新暫存器PSUHR 316及PSULR 318而直接引起累積以引起虛擬亂數值的產生。在步驟1210中,利用虛擬亂數的程式存取PSU 116以獲得累積數值。如上所述,可藉由分別從PSHR 320及PSLR 322讀取最重要的位元部分及/或最不重要的位元部分來獲得累積數值。
從考量本文揭示的技術之說明書及實務,熟習技術人士將明白本發明之其他具體實施例、使用、及優點。說明書及圖式應視為僅具示範性質,並且本發明之範疇係因此預計僅藉由以下申請專利範圍及其等效物所限制。
100...系統
102...處理器
104...記憶體
106...匯流排
108...指令資料
110...恆定數值
112...操作資料
114...匯流排介面單元
116...累積器
118...資料之完整性查證
202...執行單元
204...載入/儲存單元
206...除錯模組
208...通用暫存器
210...匯流排
212...位址匯流排
214...資料匯流排
216...控制匯流排
218...暫存器
220...暫存器
302...MISR
304...MISR
306...控制
310...暫存器
312...暫存器
314...暫存器
316...暫存器
318...暫存器
320...暫存器
322...暫存器
324...位址範圍表
1100...示範性資料之完整性查證方法
1102...步驟
1104...步驟
1106...步驟
1108...步驟
1110...步驟
1112...步驟
1114...步驟
1116...步驟
1200...方法
1202...步驟
1204...步驟
1206...步驟
1208...步驟
1210...步驟
從以上詳細說明並結合附圖,熟習技術人士將明白本發明之目的及優點,在該等圖式中相同參考數字係用於指示相同元件,並且其中:
圖1為說明依據本發明之至少一項具體實施例實施一資料之完整性查證技術的一示範性處理系統之方塊圖。
圖2為說明依據本發明之至少一項具體實施例的圖1之系統的處理器之一示範性實施方案之方塊圖。
圖3為說明依據本發明之至少一項具體實施例的圖2之處理器的一並聯特性記號單元(PSU)的一示範性實施方案之方塊圖。
圖4至10為說明藉由依據本發明之至少一項具體實施例的圖3之並聯特性記號單元所利用的示範性暫存器之方塊圖。
圖11為說明依據本發明之至少一項具體實施例的一示範性資料查證技術之流程圖。
圖12為說明依據本發明之至少一項具體實施例的圖1中說明的系統之一示範性雙模式操作之流程圖。
100...系統
102...處理器
104...記憶體
106...匯流排
108...指令資料
110...恆定數值
112...操作資料
114...匯流排介面單元
116...累積器
118...資料之完整性查證

Claims (32)

  1. 一種用於資料之完整性查證之方法,該方法包括:在一處理器中接收來自一記憶體之複數個數值;對於該複數個數值之一子集的每個數值:決定與該數值相關聯的一特徵;對應決定該特徵與一允許的累積特徵相容,累積該數值之一最重要的位元部分在一第一累積器及累積該數值之一最不重要的位元部份在一第二累積器;對應決定該特徵與該允許的累積特徵不相容,避免累積該數值之該最重要的位元部分在該第一累積器及避免累積該數值之該最不重要的位元部份在該第二累積器;存取該第一及該第二累積器之至少一者以獲得一累積數值;以及將該累積數值與一預期累積數值比較。
  2. 如請求項1之方法,其中該第一累積器及第二累積器之該至少一者包含一多輸入特性記號暫存器(MISR)。
  3. 如請求項1之方法,其中該特徵為一位址數值並且該允許的累積特徵為一位址範圍。
  4. 如請求項1之方法,其中該特徵為一資料傳輸類型並且該允許的累積特徵為一或多個允許的資料傳輸類型。
  5. 如請求項1之方法,其中存取該第一累積器及該第二累積器之至少一者包括:從與該第一累積器及該第二累積器之該至少一者相關 聯的一或多個暫存器讀取該累積數值。
  6. 如請求項1之方法,其進一步包括:初始化該第一累積器及該第二累積器之至少一者。
  7. 如請求項6之方法,其中初始化該第一累積器與第二累積器之至少一者包括:將一初始化數值寫入與該第一累積器與第二累積器之至少一者相關聯的一或多個暫存器。
  8. 如請求項1之方法,其進一步包括:在該累積數值並非等於該預期累積數值時將該複數個數值之至少該子集識別為無效。
  9. 一種用於資料之完整性查證之方法,該方法包括:在一處理器中執行複數個載入操作以存取儲存在一記憶體之一欄位序列中的資料數值;為具有與一允許的累積特徵相容之一特徵的各資料數值,累積該資料數值之一最重要的位元部分在一第一累積器及累積該資料數值之一最不重要的位元部份在一第二累積器以產生一累積數值;以及根據該累積數值與一預期累積數值之一比較決定該記憶體是否已惡化。
  10. 如請求項9之方法,其中該等資料數值係表示指令資料、操作資料或常數之至少一個。
  11. 如請求項9之方法,其中比較該累積數值與該預期累積數值包括從與該第一累積器及第二累積器之該至少一者相關聯的該處理器之一或多個暫存器獲得該累積數值。
  12. 一種處理器,其包括:一匯流排介面單元,其可操作以耦合至連接至一記憶體之一或多個匯流排;一第一累積器;一第二累積器;一執行單元,其可操作以經由該等一或多個匯流排執行該處理器與該記憶體之間的一或多個資料傳輸操作;及一控制模組,其可操作:對於自該匯流排介面單元接收之一或多個數值之一子集的每個數值:決定與該數值相關聯的一特徵;及為對應該特徵與一允許的累積特徵相容,提供該數值之一最重要的位元部分至該第一累積器及該數值之一最不重要的位元部份至該第二累積器以累積。
  13. 如請求項12之處理器,其中該第一累積器包含一第一多輸入特性記號暫存器(MISR)及該第二累積器包含一第二MISR。
  14. 如請求項12之處理器,其進一步包括:一第一組一或多個暫存器,其可操作以接收用於初始化至少該第一累積器的一第一初始化數值;一第二組一或多個暫存器,其可操作以從該至少該第一累積器接收一累積數值;一第三組一或多個暫存器,其可操作以接收用於初始 化至少該第二累積器的一第二初始化數值;以及一第四組一或多個暫存器,其可操作以從該至少該第二累積器接收一累積數值。
  15. 如請求項14之處理器,其中該執行單元可操作以經由該第二組一或多個暫存器及第四組一或多個暫存器獲得一累積數值。
  16. 如請求項14之處理器,其中該執行單元可操作以藉由將該第一初始化數值寫入該第一組一或多個暫存器來初始化該第一累積器且藉由將該第二初始化數值寫入第三組一或多個暫存器來初使化該第二累積器。
  17. 如請求項12之處理器,其中該特徵為一位址數值並且該允許的累積特徵為一位址範圍。
  18. 如請求項12之處理器,其中該特徵為一資料傳輸類型並且該允許的累積特徵為一或多個允許的資料傳輸類型。
  19. 一種用於資料之完整性查證之方法,該方法包括:在一第一模式中時:採用一種子數值初始化一處理器之至少一累積器;在該累積器中累積一第一組一或多個數值;以及藉由該處理器之一或多個程式將一第一獲得的累積數值用作一虛擬亂數;以及在一第二模式中時:在該累積器中累積一第二組一或多個數值、從該處理器與一記憶體之間的一預定序列的資料傳輸獲得的該第二組之該等一或多個數值;以及 根據一第二獲得的累積數值與一預期累積數值之一比較來決定該記憶體之一完整性。
  20. 如請求項19之方法,其中從該處理器與該記憶體之間的資料傳輸獲得該第一組的該等一或多個數值。
  21. 如請求項19之方法,其中從執行暫存器移動指令獲得該第一組的該等一或多個數值以將資料數值從該處理器之通用暫存器傳輸至該處理器的該累積器。
  22. 如請求項19之方法,其中在該累積器中累積一第二組一或多個數值包括:決定一特徵,其與該第二組該一或多個數值之一選擇數值相關連;在該特徵與一允許的累積特徵相容時累積該選擇數值;以及在該特徵與一允許的累積特徵不相容時避免累積該選擇數值。
  23. 如請求項22之方法,該特徵為一位址數值並且該允許的累積特徵為一位址範圍。
  24. 如請求項22之方法,該特徵為一資料傳輸類型並且該允許的累積特徵為一或多個允許的資料傳輸類型。
  25. 如請求項19之方法,其更進一步包括:初使化該累積器。
  26. 如請求項25之方法,其中初始化該累積器包括:將一初始化數值寫入與該累積器相關聯的一或多個暫存器。
  27. 如請求項19之方法,其更進一步包括:在該第二獲得的累積數值並非等於該預期累積數值時將該第二組一或多個數值之至少該子集識別為無效。
  28. 一種處理器,其包括:一匯流排介面單元,其可操作以耦合至連接至一記憶體之一或多個匯流排;一執行單元,其可操作以經由該等一或多個匯流排執行該處理器與該記憶體之間的一或多個資料傳輸操作;一累積器,其可操作:在一第一模式:累積從該處理器與該記憶體之間的一或多個資料傳輸獲得之一或多個數值之第一組;及將一第一獲得的累積數值提供作為一虛擬亂數供該處理器執行之一或多個程式使用;以及在第二模式:累積從該處理器與該記憶體之間的一預定序列的資料傳輸獲得的一或多個數值之第二組;及根據一第二獲得的累積數值與一預期累積數值之一比較來決定該記憶體之一完整性。
  29. 如請求項28之處理器,其中該累積器包含一第一多輸入特性記號暫存器(MISR)。
  30. 如請求項28之處理器,進一步包含:一第一組一或多個暫存器,其可操作以接收用於初始化該累積器的一初始化數值;以及 一第二組一或多個暫存器,其可操作以從該至少該累積器接收一累積數值。
  31. 如請求項30之處理器,其中該執行單元可操作以經由該第二組一或多個暫存器獲得一累積數值。
  32. 如請求項30之處理器,其中該執行單元可進一步操作以藉由將該初始化數值寫入該第一組一或多個暫存器來初始化該累積器。
TW095107026A 2005-03-30 2006-03-02 用於整合之資料之完整性查證之系統與其方法 TWI410978B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/094,593 US7539906B2 (en) 2005-03-30 2005-03-30 System for integrated data integrity verification and method thereof

Publications (2)

Publication Number Publication Date
TW200703351A TW200703351A (en) 2007-01-16
TWI410978B true TWI410978B (zh) 2013-10-01

Family

ID=37073892

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095107026A TWI410978B (zh) 2005-03-30 2006-03-02 用於整合之資料之完整性查證之系統與其方法

Country Status (3)

Country Link
US (1) US7539906B2 (zh)
TW (1) TWI410978B (zh)
WO (1) WO2006107380A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034350A1 (en) * 2006-04-05 2008-02-07 Conti Gregory R System and Method for Checking the Integrity of Computer Program Code
US8046524B2 (en) * 2007-08-08 2011-10-25 Sandisk Technologies Inc. Managing processing delays in an isochronous system
TWI438778B (zh) 2010-03-25 2014-05-21 Silicon Motion Inc 用來抑制資料錯誤之方法以及相關之記憶裝置及其控制器
CN103888254B (zh) 2012-12-21 2017-05-31 阿里巴巴集团控股有限公司 一种网络验证信息的方法和装置
US9367372B2 (en) 2013-06-18 2016-06-14 Advanced Micro Devices, Inc. Software only intra-compute unit redundant multithreading for GPUs
US9714081B1 (en) * 2013-08-29 2017-07-25 Rockwell Collins, Inc. System and method for avionics integrity and protection

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742616A (en) * 1995-01-23 1998-04-21 International Business Machines Corporation System and method testing computer memories
US5978946A (en) * 1997-10-31 1999-11-02 Intel Coporation Methods and apparatus for system testing of processors and computers using signature analysis
US6311311B1 (en) * 1999-08-19 2001-10-30 International Business Machines Corporation Multiple input shift register (MISR) signatures used on architected registers to detect interim functional errors on instruction stream test
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
US20030051197A1 (en) * 2001-06-20 2003-03-13 Broadcom Corporation Cache memory self test
US20030074619A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. Memory bist employing a memory bist signature
US20040003332A1 (en) * 2002-06-28 2004-01-01 Kim Kee Sup At speed testing of asynchronous signals
US20040153799A1 (en) * 2002-12-20 2004-08-05 Maneparambil Kailasnath S. Enabling at speed application of test patterns associated with a wide tester interface on a low pin count tester
US20050060626A1 (en) * 1997-03-10 2005-03-17 Janusz Rajski Arithmetic built-in self-test of multiple scan-based integrated circuits

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517615A (en) 1994-08-15 1996-05-14 Unisys Corporation Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred
US7203878B2 (en) * 2002-07-19 2007-04-10 Sun Microsystems, Inc. System and method for performing predictable signature analysis in the presence of multiple data streams
JP4174048B2 (ja) * 2002-09-19 2008-10-29 富士通株式会社 集積回路試験装置および試験方法
US7461312B2 (en) * 2004-07-22 2008-12-02 Microsoft Corporation Digital signature generation for hardware functional test

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742616A (en) * 1995-01-23 1998-04-21 International Business Machines Corporation System and method testing computer memories
US20050060626A1 (en) * 1997-03-10 2005-03-17 Janusz Rajski Arithmetic built-in self-test of multiple scan-based integrated circuits
US5978946A (en) * 1997-10-31 1999-11-02 Intel Coporation Methods and apparatus for system testing of processors and computers using signature analysis
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
US6311311B1 (en) * 1999-08-19 2001-10-30 International Business Machines Corporation Multiple input shift register (MISR) signatures used on architected registers to detect interim functional errors on instruction stream test
US20030051197A1 (en) * 2001-06-20 2003-03-13 Broadcom Corporation Cache memory self test
US20030074619A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. Memory bist employing a memory bist signature
US20040003332A1 (en) * 2002-06-28 2004-01-01 Kim Kee Sup At speed testing of asynchronous signals
US20040153799A1 (en) * 2002-12-20 2004-08-05 Maneparambil Kailasnath S. Enabling at speed application of test patterns associated with a wide tester interface on a low pin count tester

Also Published As

Publication number Publication date
US20060230315A1 (en) 2006-10-12
WO2006107380A3 (en) 2007-12-06
WO2006107380A2 (en) 2006-10-12
US7539906B2 (en) 2009-05-26
TW200703351A (en) 2007-01-16

Similar Documents

Publication Publication Date Title
US11789662B2 (en) System and method of interfacing co-processors and input/output devices via a main memory system
US8261130B2 (en) Program code trace signature
TWI410978B (zh) 用於整合之資料之完整性查證之系統與其方法
US6922795B2 (en) Microcomputer, electronic equipment, and debugging system
US6883071B2 (en) Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
US5636363A (en) Hardware control structure and method for off-chip monitoring entries of an on-chip cache
US9436611B2 (en) Processor, cache memory of the processor and control method of the processor
US7844868B2 (en) System and method for implementing a stride value for memory testing
US20030093612A1 (en) Microcomputer
US8650437B2 (en) Computer system and method of protection for the system's marking store
US7571357B2 (en) Memory wrap test mode using functional read/write buffers
TWI437488B (zh) 微處理器及適用於微處理器之操作方法
CN111159005A (zh) 一种内存管理功能的测试方法和系统
DeOrio et al. Post-silicon verification for cache coherence
JP2011525675A (ja) 効果的なロードキュー・スヌーピング
JP2020113266A (ja) チェックサムの生成
EP1278123A1 (en) High integrity cache directory
JP4572859B2 (ja) キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置
JP2021515308A (ja) デバイスをデバッグするときにメタデータにアクセスするための装置及び方法
US8635566B2 (en) Parity error detection verification
JP2007058450A (ja) 半導体集積回路
CN110299183A (zh) In-LineECC模块及其实现方法
JP3655768B2 (ja) 2次キャッシュ診断機能を有する情報処理装置
JP2531112B2 (ja) 情報処理装置
US20160245865A1 (en) Apparatus for detecting bugs in logic-based processing devices

Legal Events

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