專利名稱:用于保護(hù)和驗(yàn)證存儲器地址數(shù)據(jù)的電路和地址保護(hù)/驗(yàn)證電路的制作方法
【專利摘要】提出用于保護(hù)和驗(yàn)證存儲器地址數(shù)據(jù)的電路和地址保護(hù)/驗(yàn)證電路。本實(shí)用新型涉及一種用于保護(hù)存儲器地址數(shù)據(jù)的電路,該電路被適配為:在輸入數(shù)據(jù)總線(126)上接收要被寫入存儲器設(shè)備(104)的寫入數(shù)據(jù),并且在地址總線(122)上接收相應(yīng)的寫入地址;基于寫入地址生成地址保護(hù)值;以及在輸出數(shù)據(jù)總線(128)上生成修改的寫入數(shù)據(jù)(WRITE DATA’),該修改的寫入數(shù)據(jù)包括寫入數(shù)據(jù)和地址保護(hù)值,其中,輸出數(shù)據(jù)總線(128)的寬度大于輸入數(shù)據(jù)總線的寬度。
【專利說明】
用于保護(hù)和驗(yàn)證存儲器地址數(shù)據(jù)的電路和地址保護(hù)/驗(yàn)證 電路
技術(shù)領(lǐng)域
[0001 ]本公開設(shè)及存儲器接口的領(lǐng)域,并且具體地設(shè)及提供用于保護(hù)和驗(yàn)證地址數(shù)據(jù)的 電路的存儲器接口。
【背景技術(shù)】
[0002] 當(dāng)對諸如DRAM(動態(tài)隨機(jī)存取存儲器)或SRAM(靜態(tài)隨機(jī)存取存儲器)設(shè)備的任何 存儲器設(shè)備進(jìn)行寫入時(shí),例如作為單個事件擾亂的結(jié)果,通過輸入和/或輸出線傳遞到存儲 器的信號可能被損壞。
[0003] 盡管存儲器接口通常包括用于寫入存儲器和從存儲器讀取數(shù)據(jù)的保護(hù)和/或校正 機(jī)制,但是還存在地址數(shù)據(jù)可能被破壞的問題。難W檢測地址數(shù)據(jù)何時(shí)已經(jīng)被損壞,因?yàn)檫\(yùn) 導(dǎo)致了數(shù)據(jù)被寫入不正確的地址或從不正確的地址讀取。存儲在不正確的地址處的數(shù)據(jù)可 能不被損壞,并且因此關(guān)于數(shù)據(jù)信號的保護(hù)機(jī)制將無法識別/糾正錯誤。
[0004] 對存儲器的輸入/輸出線上的地址數(shù)據(jù)的損壞很可能相對罕見。然而,對于諸如汽 車應(yīng)用、航空和/或空間應(yīng)用的特定應(yīng)用,期望提供極為可靠的存儲器設(shè)備,如人體安全可 W取決于正確操作。
[0005] 因此,在本領(lǐng)域中需要用于保護(hù)和驗(yàn)證通過存儲器的輸入/輸出線傳送的地址數(shù) 據(jù)的方法和設(shè)備。 【實(shí)用新型內(nèi)容】
[0006] 本公開的實(shí)施例的目的在于至少部分地解決現(xiàn)有技術(shù)中的一個或多個需要。
[0007] 根據(jù)一個方面,提供了一種用于保護(hù)存儲器地址數(shù)據(jù)的電路,該電路被適配為:在 輸入數(shù)據(jù)總線上接收要被寫入存儲器設(shè)備的寫入數(shù)據(jù),并且在地址總線上接收相應(yīng)的寫入 地址;基于寫入地址生成地址保護(hù)值;W及在輸出數(shù)據(jù)總線上生成修改的寫入數(shù)據(jù),該修 改的寫入數(shù)據(jù)包括寫入數(shù)據(jù)和地址保護(hù)值,其中,輸出數(shù)據(jù)總線的寬度大于輸入數(shù)據(jù)總線 的寬度。
[000引根據(jù)一個實(shí)施例,電路進(jìn)一步被適配為基于寫入數(shù)據(jù)來生成的數(shù)據(jù)保護(hù)值,所修 改的寫入數(shù)據(jù)進(jìn)一步包括數(shù)據(jù)保護(hù)值。
[0009] 根據(jù)一個實(shí)施例,該電路進(jìn)一步包括地址生成電路,地址生成電路被適配為生成 在對存儲器設(shè)備的輸出地址總線上的修改的寫入地址。
[0010] 根據(jù)一個實(shí)施例,地址生成電路被適配為通過將寫入地址向左移位一個比特來生 成修改的寫入地址。
[0011] 根據(jù)一個實(shí)施例,寫入數(shù)據(jù)的比特?cái)?shù)目N小于輸入數(shù)據(jù)總線的寬度M,并且地址保 護(hù)值是基于與地址總線的寬度內(nèi)的寫入數(shù)據(jù)的N個比特的位置相對應(yīng)的子地址來生成的。
[0012] 根據(jù)一個實(shí)施例,輸入數(shù)據(jù)總線的寬度M等于寫入數(shù)據(jù)的比特?cái)?shù)刖的P倍,電路包 括P個地址編碼器,每一個被適配為基于子地址中的相應(yīng)一個來生成地址保護(hù)值。
[0013] 根據(jù)一個實(shí)施例,保護(hù)數(shù)據(jù)生成電路被適配為通過對寫入地址進(jìn)行編碼W生成Y- 比特值來生成地址保護(hù)值,其中Y小于寫入地址的比特?cái)?shù)目。
[0014] 根據(jù)一個實(shí)施例,該電路進(jìn)一步包括地址范圍過濾電路,地址范圍過濾電路被適 配為確定寫入地址是否在要保護(hù)的地址范圍中,其中僅當(dāng)?shù)刂吩谝Wo(hù)的地址范圍中時(shí), 生成地址保護(hù)值。
[0015] 根據(jù)一個實(shí)施例,該電路進(jìn)一步包括旁路路徑,用于如果寫入地址沒有在要保護(hù) 的地址范圍中,則將寫入數(shù)據(jù)直接提供至寫入數(shù)據(jù)輸出總線,旁路路徑包括橋電路,被適配 為將N個比特的寫入數(shù)據(jù)轉(zhuǎn)換成至少化Y個比特的寫入數(shù)據(jù)。
[0016] 根據(jù)另一方面,提供了一種用于驗(yàn)證存儲器地址數(shù)據(jù)的電路,該電路被適配為:在 地址總線上接收讀取地址;基于所讀取的地址來生成參考地址保護(hù)值;在讀取數(shù)據(jù)輸入總 線上從存儲器設(shè)備接收讀取數(shù)據(jù)和從存儲器設(shè)備讀取的地址保護(hù)值;W及通過將從存儲 器設(shè)備讀取的地址保護(hù)值與參考地址保護(hù)值作比較來驗(yàn)證存儲器地址數(shù)據(jù)。
[0017] 根據(jù)一個實(shí)施例,讀取數(shù)據(jù)的比特?cái)?shù)目N小于讀取數(shù)據(jù)輸入總線的讀取數(shù)據(jù)部分 的寬度M,并且基于與讀取數(shù)據(jù)輸入總線的讀取數(shù)據(jù)部分的寬度內(nèi)的N個比特的讀取數(shù)據(jù)的 位置相對應(yīng)的子地址來生成參考地址保護(hù)值。
[0018] 根據(jù)一個實(shí)施例,讀取數(shù)據(jù)輸入總線的讀取數(shù)據(jù)部分的寬度M等于讀取數(shù)據(jù)的比 特?cái)?shù)目N的P倍,該電路包括P個地址編碼器,每一個被適配為基于與子地址的對應(yīng)的地址編 碼器來生成地址保護(hù)值。
[0019] 根據(jù)另一方面,提供了一種地址保護(hù)/驗(yàn)證電路,包括用于保護(hù)存儲器地址數(shù)據(jù)的 上述電路和用于驗(yàn)證存儲器地址數(shù)據(jù)的上述電路。
[0020] 根據(jù)又一方面,提供了一種保護(hù)存儲器地址數(shù)據(jù)的方法,包括:在輸入數(shù)據(jù)總線上 接收要被寫入存儲器設(shè)備的寫入數(shù)據(jù),并且在地址總線上接收相應(yīng)的寫入地址;基于寫入 地址生成地址保護(hù)值;W及在輸出數(shù)據(jù)總線上生成修改的寫入數(shù)據(jù),該修改的寫入數(shù)據(jù)包 括寫入數(shù)據(jù)和地址保護(hù)值,其中,輸出數(shù)據(jù)總線的寬度大于輸入數(shù)據(jù)總線的寬度。
[0021] 根據(jù)又一方面,提供了一種驗(yàn)證存儲器地址數(shù)據(jù)的方法,包括:在地址總線上接收 讀取地址;基于所讀取的地址來生成參考地址保護(hù)值;在讀取數(shù)據(jù)輸入總線上從存儲器設(shè) 備接收讀取數(shù)據(jù)和從存儲器設(shè)備讀取的地址保護(hù)值;W及通過將從存儲器設(shè)備讀取的地址 保護(hù)值與參考地址保護(hù)值作比較來驗(yàn)證存儲器地址數(shù)據(jù)。
【附圖說明】
[0022] 前述和其他的特征和優(yōu)點(diǎn)將參考附圖,從通過圖示給出并且沒有限制的W下實(shí)施 例的具體描述變得顯而易見,在附圖中:
[0023] 圖1示意性地圖示了根據(jù)示例性實(shí)施例的與存儲器設(shè)備通信的集成電路;
[0024] 圖2表示根據(jù)示例性實(shí)施例的修改的寫入數(shù)據(jù);
[0025] 圖3是圖示根據(jù)示例性實(shí)施例的保護(hù)地址數(shù)據(jù)的方法中的操作的流程圖;
[0026] 圖4示意性地更具體地圖示了根據(jù)示例實(shí)施例的圖1的寫入地址保護(hù)電路;
[0027] 圖5是圖示根據(jù)本公開的示例性實(shí)施例的在驗(yàn)證地址數(shù)據(jù)的方法中的操作的流程 圖;W及
[002引圖6示意性地更具體地圖示了根據(jù)示例性實(shí)施例的圖1的地址驗(yàn)證電路。
【具體實(shí)施方式】
[0029] 圖1示意性地表示集成電路102和存儲器設(shè)備104。存儲器設(shè)備104是例如DRAM或 SRAM設(shè)備、或其他類型的可尋址存儲器設(shè)備。存儲器設(shè)備104例如位于片外,運(yùn)意味著在集 成電路102和存儲器設(shè)備104之間的輸入/輸出線路106具有導(dǎo)線和/或?qū)щ娷壍赖男问?。?替代實(shí)施例中,存儲器設(shè)備104可W集成在片上,作為集成電路102的一部分。
[0030] 集成電路102包括用于與存儲器設(shè)備104對接的電路,并且例如包括禪合到輸入/ 輸出線路106的物理接口層108、禪合到物理接口層108的存儲器控制器110、地址保護(hù)/驗(yàn)證 電路112、SoC(片上系統(tǒng))互連114和處理設(shè)備116。處理設(shè)備116例如是CPlK中央處理單元)、 GPlK圖形處理單元)、DMA(直接存儲器存取)單元等。
[0031] 處理設(shè)備116例如經(jīng)由SoC互連114并且經(jīng)由地址保護(hù)/驗(yàn)證電路112被禪合到存儲 器控制器110。然而,在替代實(shí)施例中,地址保護(hù)/驗(yàn)證電路112可W被并入存儲器控制器110 中或處理設(shè)備116中,將電路112置于處理設(shè)備116和存儲器控制器110之間的優(yōu)點(diǎn)是,能夠 使用現(xiàn)有處理設(shè)備116和存儲控制器110,并且電路112可W W使得其對現(xiàn)有電路透明的方 式被實(shí)現(xiàn)。
[0032] 例如,電路112包括地址保護(hù)電路118和地址驗(yàn)證電路120。
[0033] 地址保護(hù)電路118在輸入總線122上接收寫入地址(WR口E A孤R),寫入地址例如在 兩個路徑上被提供給地址保護(hù)電路。路徑中的一個用于在輸出總線124上生成要供應(yīng)到存 儲器設(shè)備104的修改的地址。修改的地址例如具有增加的地址范圍。另一路徑例如用于基于 寫入地址來生成地址保護(hù)值。電路118還在輸入總線126上接收寫入數(shù)據(jù)(WRITE DATA),并 且在輸出總線128上提供要被寫入存儲器設(shè)備104中的修改的地址的數(shù)據(jù),其包括寫入數(shù)據(jù) 和地址保護(hù)值。
[0034] 地址驗(yàn)證電路120在輸入總線130上接收讀取地址(READ ADDR),讀取地址例如在 兩個路徑上被提供給地址驗(yàn)證電路120。路徑中的一個用于在輸出總線124上生成要供應(yīng)到 存儲器設(shè)備104的修改的地址。修改的地址例如具有增加的地址范圍。另一路徑例如用于基 于讀取地址來生成參考地址保護(hù)值。作為讀取操作的結(jié)果,電路120在輸入總線134從存儲 器設(shè)備104接收讀取數(shù)據(jù),其包括與數(shù)據(jù)同時(shí)寫入的地址保護(hù)值。電路120例如將從存儲器 設(shè)備104讀取的地址保護(hù)值與基于讀取地址生成的參考地址保護(hù)值作比較。電路120在輸出 總線136上輸出讀取數(shù)據(jù)(READ DATA),但是該數(shù)據(jù)例如僅在地址保護(hù)值匹配參考地址保護(hù) 值時(shí)被輸出。作為替代,讀取數(shù)據(jù)可W總是被輸出,但是單獨(dú)的錯誤信號(圖1中未示出)可 W在地址驗(yàn)證電路120的輸出處被斷言W指示地址數(shù)據(jù)被損壞。事實(shí)上,如果寫入地址被損 壞,并且數(shù)據(jù)被錯誤地寫入到讀取地址,或者如果讀取地址被損壞,并且因此讀取了不期望 的地址,則從存儲器設(shè)備讀取的地址保護(hù)值將不匹配參考地址保護(hù)值。
[0035] 每個地址保護(hù)/驗(yàn)證電路112可W實(shí)現(xiàn)切片,使得數(shù)據(jù)總線的總寬度WN個比特的 較小寬度被處理。例如,假設(shè)數(shù)據(jù)總線具有M比特的寬度,數(shù)據(jù)總線例如WN個比特的P個切 片被處理,其中M=PxNd
[0036] 此外,如圖1中表示的,在一些實(shí)施例中,可W存在并行操作的多個地址保護(hù)/驗(yàn)證 電路112,每個電路112與存儲器控制器110的單獨(dú)端口相關(guān)聯(lián)。
[0037] 圖2表示設(shè)置在總線128上的要被寫入存儲器設(shè)備104的存儲器地址的寫入數(shù)據(jù)的 內(nèi)容的示例。相同的內(nèi)容也將在讀取操作期間被讀取。
[003引如示,寫入數(shù)據(jù)包括N個比特的系統(tǒng)數(shù)據(jù)(DATA),其對應(yīng)于由處理設(shè)備116供應(yīng)的 要被寫入存儲器地址的數(shù)據(jù)。N例如是等于至少4的整數(shù),并且例如是等于8或更大的2的幕。 在一些實(shí)施例中,N等于圖1的電路118的數(shù)據(jù)輸入總線126的寬度M。然而,在替代實(shí)施例中, 更精確的地址驗(yàn)證可W有利地通過使N小于總線寬度來實(shí)現(xiàn)。例如,在一些實(shí)施例中,總線 126的寬度為64比特,并且N等于8。更一般地,N例如等于M/P,其中P等于2或更大的整數(shù)。
[0039] 寫入數(shù)據(jù)例如還包括形成數(shù)據(jù)保護(hù)值(DATA PROTECTION)的X比特W及形成地址 保護(hù)值(ADDRESS PROTECTION)的化k特。數(shù)據(jù)保護(hù)值是可選的,因?yàn)樵谝恍?shí)施例中,不實(shí) 現(xiàn)數(shù)據(jù)保護(hù),或者運(yùn)通過不同的電路來實(shí)現(xiàn),諸如通過存儲器控制器110來實(shí)現(xiàn)。
[0040] 在一些實(shí)施例中,X巧=N,使得N+X巧=2N,其中X等于零或正整數(shù),并且Y等于至少 1。用于生成地址保護(hù)值的具體編碼方案例如基于可用比特來選擇。單個比特的地址保護(hù)值 例如是簡單的奇偶校驗(yàn)值。Y例如具有Q的上限,其中Q是對應(yīng)于化k特?cái)?shù)據(jù)的地址的比特?cái)?shù) 目。在運(yùn)樣的情況下,地址被簡單地復(fù)制,而不通過編碼減少比特?cái)?shù)目。
[0041 ] 在一個實(shí)施例中,N等于8,X等于5,并且Y等于3。
[0042] 圖3是示出根據(jù)示例性實(shí)施例的由電路118實(shí)現(xiàn)的保護(hù)地址數(shù)據(jù)的方法的操作的 流程圖。
[0043] 在操作301,電路118接收要寫入存儲器設(shè)備的N個比特的數(shù)據(jù)和相應(yīng)的寫入地址。
[0044] 在隨后的操作302中,電路118基于該寫入地址來生成Y個比特的地址保護(hù)值。在一 些實(shí)施例中,生成寫入地址的導(dǎo)數(shù),并且基于該導(dǎo)數(shù)來生成地址保護(hù)值。例如,如果寫入數(shù) 據(jù)總線126具有M個比特,其中M等于P乘WN,則基于寫入地址來生成P個子地址,并且針對子 地址中的每一個生成不同的地址保護(hù)值。地址保護(hù)值是例如允許W至少特定水平的確定性 來驗(yàn)證的地址數(shù)據(jù)的準(zhǔn)確性的任何值。例如,地址保護(hù)值可W包括一個或多個奇偶校驗(yàn) 值、諸如漢明碼的糾錯碼、循環(huán)冗余校驗(yàn)碼(CRC)或者甚至地址比特中的一些或全部的副 本。
[0045] 在隨后的操作303中,寫入地址范圍例如被增加 W覆蓋至少N巧個比特的數(shù)據(jù)塊。 實(shí)際上,在地址總線122上提供的地址例如基于系統(tǒng)數(shù)據(jù)的化k特的塊。因此,該地址空間的 大小例如通過電路118來增加,使得除了系統(tǒng)數(shù)據(jù)之外,可W存儲地址保護(hù)值。例如,在數(shù)據(jù) 總線的寬度加倍的情況下,并且假定地址的最小有效比特(Isb)對應(yīng)于字節(jié),加倍地址將產(chǎn) 生覆蓋兩個字節(jié)而不是單個字節(jié)的地址。然而,在替代實(shí)施例中,運(yùn)可能不修改地址,并且 替代地使每個地址覆蓋在數(shù)據(jù)總線上供應(yīng)的每個字的寬度的兩倍的字。
[0046] 在操作304中,化Y個比特被寫入存儲器設(shè)備中的修改的寫入地址。
[0047] 圖4示意性地更具體地圖示了根據(jù)示例性實(shí)施例的圖1的寫入地址保護(hù)電路118。 [004引輸入地址總線(WRITE ADDR) 122例如禪合到地址范圍過濾器(ADDR RANGE FILT) 402,其例如允許地址保護(hù)/驗(yàn)證被提供給僅存儲器設(shè)備中的特定地址范圍。例如,存儲器裝 置可W被細(xì)分成要對其提供地址保護(hù)/驗(yàn)證的第一部分W及不對其提供地址保護(hù)/驗(yàn)證的 另一部分。
[0049]電路402的輸出被禪合到地址對齊電路(A孤R ALIGN)404,其例如增加寫入地址范 圍,W允許地址保護(hù)值W及可選地?cái)?shù)據(jù)保護(hù)值被插入。作為簡單示例,存儲器器件可W具有 從OxOO到OxFF的尋址范圍(W十六進(jìn)制表示),但是處理設(shè)備116可W僅看到總數(shù)的一半的 可尋址范圍,例如OxOO至0x7F的范圍。因此,運(yùn)些地址中的每一個例如被翻譯成存儲器設(shè)備 中的兩個相鄰的物理地址,在地址0x7F成為OxFE的情況下,地址OxOl成為0x02,地址0x02成 為0x04等等。運(yùn)些翻譯對應(yīng)于每個地址的一個比特的簡單向左移位。在輸出地址總線124上 提供修改的寫入地址WR口E A孤R'。
[0050]來自地址濾波器402的寫入地址也例如被提供到先入先出(FIFO)緩沖器406,其例 如存儲一個或多個地址,并且在請求時(shí)將其提供給地址增量器(A孤R INC)408,其例如用于 基于寫入地址來生成在寫入操作期間要存取的地址。地址增量器408例如被適配為使地址 增加與寫入數(shù)據(jù)總線122的寬度相對應(yīng)的寬度。例如,如果寫入數(shù)據(jù)總線122是8字節(jié)的寬 度,并且地址的最小有效比特指定一個字節(jié),則在寫入數(shù)據(jù)的每個新的塊在寫入數(shù)據(jù)總線 126上的情況下,地址增量器408例如被適配為使地址增加增量8。
[0化1 ] 地址增量器408的輸出被提供給地址編碼器(A孤R ENCMlO,其例如基于地址值來 生成化k特的地址保護(hù)值,并且將該化k特的值提供給級聯(lián)電路412。地址編碼器410例如基 于相應(yīng)的化k特?cái)?shù)據(jù)值的地址來生成地址保護(hù)值。在數(shù)據(jù)總線寬度M等于N的情況下,地址編 碼器410將簡單地基于由地址增量器408提供的地址來生成地址保護(hù)值。然而,如果M等于 PxN,其中P是2或更大的整數(shù),則地址編碼器例如生成P個不同的保護(hù)值,一個用于跨數(shù)據(jù)總 線的寬度的N個比特的每個塊。
[0052] 例如,在該數(shù)據(jù)總線寬度等于2N的情況下,地址編碼器408例如基于由地址增量器 408提供的地址來生成用于寫入數(shù)據(jù)的第一 N個比特的第一地址保護(hù)值,并且然后基于由地 址增量器408遞增了 1所提供的地址來生成用于寫入數(shù)據(jù)的第二N個比特的第二地址保護(hù) 值。
[0053] 級聯(lián)電路412還接收在輸入寫入數(shù)據(jù)總線126上提供的N個比特的系統(tǒng)數(shù)據(jù)。在圖4 的示例中,總線126還禪合到數(shù)據(jù)編碼器電路414(DATA ENC),其例如對數(shù)據(jù)進(jìn)行編碼W生 成化k特的數(shù)據(jù)保護(hù)值,還提供給級聯(lián)電路412。
[0054] 電路412級聯(lián)N、X和化k特的值,W形成要寫入存儲器設(shè)備的寫入數(shù)據(jù)。級聯(lián)電路 412的輸出例如禪合到復(fù)用器416的輸入,其在其輸出處提供數(shù)據(jù)總線128上的寫入數(shù)據(jù) (WRITE DATA')。復(fù)用器416的另一輸入例如被禪合W從輸入總線126接收寫入數(shù)據(jù),而不添 加地址保護(hù)值或數(shù)據(jù)保護(hù)值。例如,經(jīng)由橋電路(BRIDGEM18來提供寫入數(shù)據(jù),橋電路418 通過兩個存儲器存取循環(huán)將在信號存儲器存取循環(huán)上提供的N個比特的寫入數(shù)據(jù)轉(zhuǎn)換成2N 個比特的寫入數(shù)據(jù)。例如,在第一循環(huán)時(shí),寫入數(shù)據(jù)的N個比特由橋418存儲,并且在隨后的 循環(huán)時(shí),當(dāng)已經(jīng)接收到其他N個比特時(shí),在總線128上輸出2N個比特。例如,復(fù)用器416被適配 為,如果寫入操作考慮不具有添加的地址和數(shù)據(jù)保護(hù)的地址范圍,則選擇具有橋418的路 徑。
[0055] 在一些實(shí)施例中,地址保護(hù)/驗(yàn)證電路112實(shí)現(xiàn)切片,使得數(shù)據(jù)總線寬度的不同部 分被并行處理。在運(yùn)樣的情況下,基于切片的數(shù)目來多次地例如實(shí)例化地址編碼器410、連 接電路412和數(shù)據(jù)編碼器414中的每一個。每個切片的元素410、412、414例如處理N個比特的 數(shù)據(jù)總線的相應(yīng)塊。地址編碼器410的實(shí)例中的每一個例如對表示數(shù)據(jù)總線的寬度內(nèi)的N個 比特?cái)?shù)據(jù)的位置的地址的相應(yīng)固定偏移進(jìn)行操作。此外,在一些實(shí)施例中,讀取或?qū)懭氪嫒?的粒度低于數(shù)據(jù)總線的寬度,并且例如對應(yīng)于字節(jié),而數(shù)據(jù)總線具有等于多個字節(jié)的寬度。 因此,讀取或?qū)懭氩僮骺蒞跨數(shù)據(jù)總線的寬度指向特定開始字節(jié)。
[0056]作為具體示例,在一個實(shí)施例中,M等于2N,并且N等于8。存在例如2個切片,運(yùn)意味 著地址編碼器410、級聯(lián)電路412和數(shù)據(jù)編碼器414中的每一個被實(shí)例化兩次。在運(yùn)樣的實(shí)施 例中,下表提供了由地址增量器(ADDR INCM08提供并且由地址編碼器中的第一個(ADDR ENC#1)410并且由地址編碼器中的第二個(ADDR ENC#2)編碼的連續(xù)地址的示例:
[0化7]
[005引圖5是圖示根據(jù)示例性實(shí)施例的驗(yàn)證地址的方法中的操作的流程圖。
[0化9] 在操作501中,接收讀取地址。
[0060] 在隨后的操作502中,處理讀取地址W生成化k特參考地址保護(hù)值。在操作502中應(yīng) 用與圖3的操作302中應(yīng)用的相同的編碼算法。
[0061] 在隨后的操作503中,讀取存取的地址范圍被增加 W覆蓋至少N巧個比特的塊。運(yùn) 設(shè)及與關(guān)于圖3的操作303描述的相同的修改,除了其被應(yīng)用于讀取地址,而不是寫入地址。
[0062] 在隨后的操作504中,執(zhí)行存儲器存取,并且從存儲器設(shè)備讀取化Y個比特。
[0063] 在隨后的操作505中,將從存儲器設(shè)備讀取的化k特地址保護(hù)值與參考地址保護(hù)值 作比較。如果存在匹配,則例如認(rèn)為沒有發(fā)生地址損壞。然而,如果存在不匹配,則例如生成 警報(bào),并且讀取數(shù)據(jù)可W被丟棄。
[0064] 圖6更具體地圖示了根據(jù)示例性實(shí)施例的圖1的地址驗(yàn)證電路120。
[0065] 如圖所示,地址路徑130的讀取地址(READ ADDR)例如被提供給地址范圍過濾器 (A孤R RANGE FILT)602,其例如類似于圖4的電路402。
[0066] 地址范圍過濾器602的輸出例如被提供給地址對齊電路(ADDR ALIGN)604,運(yùn)也例 如通過增加讀取地址的地址范圍W覆蓋系統(tǒng)數(shù)據(jù)和相應(yīng)的地址保護(hù)值二者,W與圖4的電 路404相同的方式進(jìn)行操作。電路604在輸出地址總線132上提供讀取地址READ A孤R'。
[0067] 地址范圍過濾器602的輸出也例如被提供到FIFO 606,其經(jīng)由復(fù)用器(MUX)608禪 合到地址增量器(ADDR INC)610。地址增量器610的輸出被禪合到地址編碼器(ADDR ENC) 612,其基于讀取地址來生成參考地址保護(hù)值(REF ADDR PROT)。地址增量器610和地址編碼 器612例如W與地址增量器408和地址編碼器410類似的方式進(jìn)行操作。
[006引復(fù)用器608例如通過來自存儲器設(shè)備104的信號READ DATA ID來控制,其例如指示 在總線134上提供哪個讀取數(shù)據(jù),使得復(fù)用器608從FIFO 606中選擇相應(yīng)的讀取地址。地址 增量器610例如接收一個或多個相位跟蹤信號(PAHSE TRACK),并且用于確保由增量器610 生成的地址對應(yīng)于在總線134上出現(xiàn)的讀取數(shù)據(jù)。在與存儲器設(shè)備的對接是AXI連接的情況 下,一個或多個相位跟蹤信號例如包括信號RVALID、RREADY和化AST,運(yùn)些信號對本領(lǐng)域技 術(shù)人員是已知的。
[0069] 電路120還包括分離器電路614,其在總線134上從存儲器設(shè)備接收從地址READ ADDR'讀取的數(shù)據(jù),并且提取地址保護(hù)值。該地址保護(hù)值(ADDR PROT)被提供給比較器 (COMPARE) 616,其還從地址編碼器612接收參考地址保護(hù)值。比較器616將地址保護(hù)值與參 考地址保護(hù)值作比較,并且生成在比較器的輸出線618上的錯誤信號化RROR)。如果地址保 護(hù)值匹配,則錯誤信號不被激活。然而,如果在值之間存在差異,則錯誤信號被激活。在一些 實(shí)施例中,線路618被禪合到執(zhí)行存儲器存取的處理設(shè)備116,并且鑒于對地址信號的損壞, 錯誤信號向處理設(shè)備116指示讀取數(shù)據(jù)無法被依賴。
[0070] 在一些實(shí)施例中,數(shù)據(jù)檢查/校正電路(DATA C皿CKING/C0RRECTING)620也被提 供,其從分離器電路614接收由分離器614從讀取數(shù)據(jù)中提取的系統(tǒng)數(shù)據(jù)化ATA) W及從由分 離器614從讀取數(shù)據(jù)中提取的化k特?cái)?shù)據(jù)保護(hù)值(DATA PROT)。電路620的輸出例如禪合到數(shù) 據(jù)復(fù)用器(DATA MUX) 622,其提供輸出總線136上的讀取數(shù)據(jù)。
[0071] 復(fù)用器622還經(jīng)由橋電路(BRIDGE)624從輸入總線134接收讀取數(shù)據(jù),其允許如果 讀取操作的地址不對應(yīng)于受保護(hù)的地址范圍,則繞過電路614、616和620。例如,橋電路624 通過兩個存儲器存取周期將在單個存儲器存取周期上提供的2N個比特的讀取數(shù)據(jù)轉(zhuǎn)換成N 個比特的讀取數(shù)據(jù)。例如,在第一周期上,來自總線134的2N比特的讀取數(shù)據(jù)通過橋624來存 儲,并且通過兩個周期在總線136上輸出。復(fù)用器622例如被適配為,如果讀取操作設(shè)及沒有 添加地址和數(shù)據(jù)保護(hù)的地址范圍,則選擇具有橋624的路徑。
[0072] 在一些實(shí)施例中,切片可W在地址驗(yàn)證電路120中W與W上關(guān)于圖4描述的類似 的方式被實(shí)現(xiàn)。在圖6的實(shí)施例中,元素612、614、616和620例如被復(fù)制,使得運(yùn)些元素的每 次實(shí)例化處理相應(yīng)的N比特塊。
[0073] 本文描述的實(shí)施例的優(yōu)點(diǎn)是,W相對簡單的方式提供地址保護(hù),同時(shí)保持與存儲 器設(shè)備的標(biāo)準(zhǔn)對接。事實(shí)上,例如,通過倍增其寬度,僅修改例如用于增加對存儲器設(shè)備的 數(shù)據(jù)總線的寬度。
[0074] 因此已經(jīng)描述了至少一個說明性實(shí)施例,對本領(lǐng)域技術(shù)人員來說,各種替代、修改 和改進(jìn)將容易發(fā)生。
[0075] 具體地,盡管已經(jīng)描述了數(shù)據(jù)保護(hù)值的化k特和地址保護(hù)值的化k特的和等于系統(tǒng) 數(shù)據(jù)的比特?cái)?shù)目N的示例,但是很多其他格式是可能的。例如,能夠使X巧等于N/2或N/4。
【主權(quán)項(xiàng)】
1. 一種用于保護(hù)存儲器地址數(shù)據(jù)的電路,其特征在于,所述電路被適配為: 在輸入數(shù)據(jù)總線(126)上接收要被寫入存儲器設(shè)備(104)的寫入數(shù)據(jù),并且在地址總線 (122)上接收對應(yīng)的寫入地址; 基于所述寫入地址生成地址保護(hù)值;以及 在輸出數(shù)據(jù)總線(128)上生成修改的寫入數(shù)據(jù)(WRITE DATA'),所述修改的寫入數(shù)據(jù)包 括所述寫入數(shù)據(jù)和所述地址保護(hù)值,其中,所述輸出數(shù)據(jù)總線(128)的寬度大于所述輸入數(shù) 據(jù)總線的寬度。2. 根據(jù)權(quán)利要求1所述的電路,其特征在于,所述電路進(jìn)一步被適配為基于所述寫入數(shù) 據(jù)來生成數(shù)據(jù)保護(hù)值,所述修改的寫入數(shù)據(jù)進(jìn)一步包括所述數(shù)據(jù)保護(hù)值。3. 根據(jù)權(quán)利要求1所述的電路,其特征在于,進(jìn)一步包括地址生成電路(404),所述地址 生成電路(404)被適配為在輸出地址總線(124)上生成到所述存儲器設(shè)備的修改的寫入地 址(WRITE ADDR')。4. 根據(jù)權(quán)利要求3所述的電路,其特征在于,所述地址生成電路(404)被適配為通過將 所述寫入地址向左移位一個比特來生成所述修改的寫入地址(WRITE ADDR')。5. 根據(jù)權(quán)利要求1所述的電路,其特征在于,所述寫入數(shù)據(jù)的比特?cái)?shù)目N小于輸入數(shù)據(jù) 總線(126)的寬度M,并且所述地址保護(hù)值是基于與所述地址總線的寬度內(nèi)的N個比特的寫 入數(shù)據(jù)的位置相對應(yīng)的子地址來生成的。6. 根據(jù)權(quán)利要求1所述的電路,其特征在于,所述輸入數(shù)據(jù)總線(126)的寬度Μ等于所述 寫入數(shù)據(jù)的比特?cái)?shù)目Ν的Ρ倍,所述電路包括Ρ個地址編碼器,每一個地址編碼器被適配為基 于子地址中的對應(yīng)子地址來生成所述地址保護(hù)值。7. 根據(jù)權(quán)利要求1所述的電路,其特征在于,保護(hù)數(shù)據(jù)生成電路(410)被適配為通過對 所述寫入地址進(jìn)行編碼以生成Υ-比特值來生成所述地址保護(hù)值,其中Υ小于所述寫入地址 的比特?cái)?shù)目。8. 根據(jù)權(quán)利要求1所述的電路,其特征在于,進(jìn)一步包括地址范圍過濾電路(402),所述 地址范圍過濾電路(402)被適配為確定所述寫入地址是否在要保護(hù)的地址范圍中,其中僅 當(dāng)?shù)刂吩谒鲆Wo(hù)的地址范圍中時(shí),生成所述地址保護(hù)值。9. 根據(jù)權(quán)利要求8所述的電路,其特征在于,進(jìn)一步包括旁路路徑,所述旁路路徑用于 如果所述寫入地址沒有在要保護(hù)的地址范圍中,則將所述寫入數(shù)據(jù)直接提供至所述寫入數(shù) 據(jù)輸出總線(128),所述旁路路徑包括橋電路(418),所述橋電路(418)被適配為將Ν個比特 的寫入數(shù)據(jù)轉(zhuǎn)換成至少Ν+Υ個比特的寫入數(shù)據(jù)。10. -種用于驗(yàn)證存儲器地址數(shù)據(jù)的電路,其特征在于,所述電路被適配為: 在地址總線(130)上接收讀取地址; 基于所述讀取地址來生成參考地址保護(hù)值(REF ADDR PROT); 在讀取數(shù)據(jù)輸入總線(134)上接收來自存儲器設(shè)備(104)的讀取數(shù)據(jù)和從存儲器設(shè)備 讀取的地址保護(hù)值;以及 通過將從所述存儲器設(shè)備讀取的所述地址保護(hù)值與所述參考地址保護(hù)值作比較來驗(yàn) 證所述存儲器地址數(shù)據(jù)。11. 根據(jù)權(quán)利要求10所述的電路,其特征在于,所述讀取數(shù)據(jù)的比特?cái)?shù)目Ν小于所述讀 取數(shù)據(jù)輸入總線(134)的讀取數(shù)據(jù)部分的寬度Μ,并且基于與所述讀取數(shù)據(jù)輸入總線(134) 的所述讀取數(shù)據(jù)部分的寬度內(nèi)的N個比特的讀取數(shù)據(jù)的位置相對應(yīng)的子地址來生成所述參 考地址保護(hù)值。12. 根據(jù)權(quán)利要求11所述的電路,其特征在于,所述讀取數(shù)據(jù)輸入總線(134)的所述讀 取數(shù)據(jù)部分的寬度Μ等于所述讀取數(shù)據(jù)的比特?cái)?shù)目N的P倍,所述電路包括P個地址編碼器, 每一個地址編碼器被適配為基于子地址的相應(yīng)一個來生成所述地址保護(hù)值。13. -種地址保護(hù)/驗(yàn)證電路(112),其特征在于,包括根據(jù)權(quán)利要求1所述的電路(112) 和根據(jù)權(quán)利要求10所述的電路。
【文檔編號】G11C8/20GK205692570SQ201620148491
【公開日】2016年11月16日
【申請日】2016年2月26日 公開號201620148491.9, CN 201620148491, CN 205692570 U, CN 205692570U, CN-U-205692570, CN201620148491, CN201620148491.9, CN205692570 U, CN205692570U
【發(fā)明人】E·貝爾納斯科尼, R·奧科諾爾
【申請人】意法半導(dǎo)體(魯塞)公司