緩沖存儲器及用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置和方法
【專利摘要】本申請公開了一種緩沖存儲器以及用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置和方法。緩沖存儲器包括:中心緩存器,其通過命令/地址信道耦接到存儲器接口以接收命令/地址信號,所述中心緩存器被配置為檢測其所接收的命令/地址信號是否屬于預(yù)定地址空間,以及在所述命令/地址信號屬于所述預(yù)定地址空間時生成安全讀/寫信號;以及數(shù)據(jù)緩存器,其耦接在所述存儲器接口與存儲模塊之間以在這兩者之間緩存數(shù)據(jù);其中,所述數(shù)據(jù)緩存器被配置為存儲參考數(shù)據(jù),其響應(yīng)于所述安全讀/寫信號而將其所緩存的數(shù)據(jù)與所述參考數(shù)據(jù)進行比較,并且根據(jù)所緩存的數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定是否限制所緩存的數(shù)據(jù)在所述存儲模塊與所述存儲器接口之間的交互。
【專利說明】
緩沖存儲器及用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置和方法
技術(shù)領(lǐng)域
[0001] 本申請涉及存儲器技術(shù)領(lǐng)域,更具體地,涉及一種具有數(shù)據(jù)訪問控制功能的緩沖 存儲器以及一種用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置和方法。
【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展使得計算機、移動終端等網(wǎng)絡(luò)設(shè)備能夠相互連通并進行通 信。通過這些相互連通的網(wǎng)絡(luò)設(shè)備,人們能夠非常方便地獲取信息。然而,在便利信息獲取 的同時,數(shù)據(jù)和信息安全問題也日益凸顯。聯(lián)網(wǎng)的設(shè)備很容易因偶然或惡意的原因而受到 未授權(quán)外部設(shè)備的攻擊,從而造成內(nèi)部數(shù)據(jù)的破壞、泄露或更改。
[0003] 因此,有必要改進現(xiàn)有的計算機或其他電子設(shè)備,以提高其數(shù)據(jù)安全性。
【發(fā)明內(nèi)容】
[0004] 本申請的一個目的在于改進現(xiàn)有的計算機或電子設(shè)備,以提高其數(shù)據(jù)安全性和系 統(tǒng)的穩(wěn)定性。
[0005] 在本申請的一個方面,提供了一種緩沖存儲器。該緩沖存儲器包括:中心緩存器, 其通過命令/地址信道耦接到存儲器接口以接收命令/地址信號,所述中心緩存器被配置 為檢測其所接收的命令/地址信號是否屬于預(yù)定地址空間,以及在所述命令/地址信號屬 于所述預(yù)定地址空間時生成安全讀/寫信號;以及數(shù)據(jù)緩存器,其耦接在所述存儲器接口 與存儲模塊之間以在這兩者之間緩存數(shù)據(jù);其中,所述數(shù)據(jù)緩存器被配置為存儲參考數(shù)據(jù), 其響應(yīng)于所述安全讀/寫信號而將其所緩存的數(shù)據(jù)與所述參考數(shù)據(jù)進行比較,并且根據(jù)所 緩存的數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定是否限制所緩存的數(shù)據(jù)在所述存儲模塊與所 述存儲器接口之間的交互。
[0006] 在一些實施例中,所述中心緩存器還被配置為存儲所述參考數(shù)據(jù),并且控制將所 述參考數(shù)據(jù)轉(zhuǎn)移到所述數(shù)據(jù)緩存器中。
[0007] 在一些實施例中,所述數(shù)據(jù)緩存器包括多個數(shù)據(jù)緩存單元組,其中每個數(shù)據(jù)緩存 單元組被配置為緩存一部分被緩存的數(shù)據(jù),以及存儲一部分參考數(shù)據(jù),并且將這兩部分?jǐn)?shù) 據(jù)進行比較。
[0008] 在一些實施例中,所述數(shù)據(jù)緩存器被配置為當(dāng)所緩存的數(shù)據(jù)與所述參考數(shù)據(jù)不同 時限制所緩存的數(shù)據(jù)在所述存儲模塊與所述存儲器接口之間的交互,以及當(dāng)所緩存的數(shù)據(jù) 與所述參考數(shù)據(jù)相同時不限制所緩存的數(shù)據(jù)在所述存儲模塊與所述存儲器接口之間的交 互。
[0009] 在一些實施例中,所述數(shù)據(jù)緩存器限制所緩存的數(shù)據(jù)在所述存儲模塊與所述存儲 器接口之間的交互包括:所述數(shù)據(jù)緩存器被配置為禁止將所緩存的數(shù)據(jù)進一步地提供給所 述存儲器接口或所述存儲模塊;或者所述數(shù)據(jù)緩存器被配置為用替換數(shù)據(jù)替換所緩存的數(shù) 據(jù)提供給所述存儲器接口或所述存儲模塊。
[0010] 在一些實施例中,所述中心緩存器被配置為當(dāng)所述命令/地址信號不屬于所述預(yù) 定地址空間時生成正常讀/寫信號;所述數(shù)據(jù)緩存器被配置為響應(yīng)于所述正常讀/寫信號 不比較所緩存的數(shù)據(jù)和所述參考數(shù)據(jù),并且進行正常讀/寫操作。
[0011] 在一些實施例中,所述中心緩存器包括數(shù)據(jù)訪問接口,通過所述數(shù)據(jù)訪問接口,所 述參考數(shù)據(jù)和/或所述預(yù)定地址空間被寫入到所述中心緩存器中。
[0012] 在一些實施例中,所述數(shù)據(jù)訪問接口是加密接口,其被配置為僅允許預(yù)定用戶或 設(shè)備對所述中心緩存器的數(shù)據(jù)訪問。
[0013] 在一些實施例中,所述預(yù)定地址空間對應(yīng)于所述存儲模塊中用于存儲指令的區(qū) 域。
[0014] 在一些實施例中,所述存儲模塊和所述存儲器接口符合JEDEC雙倍速率同步動態(tài) 隨機存取存儲器標(biāo)準(zhǔn)。
[0015] 在一些實施例中,所述中心緩存器被集成在寄存時鐘驅(qū)動器中,所述寄存器時鐘 驅(qū)動器被配置為通過數(shù)據(jù)緩存器控制總線將所述安全讀/寫信號提供給所述數(shù)據(jù)緩存器。
[0016] 在一些實施例中,所述寄存時鐘驅(qū)動器被配置為通過所述數(shù)據(jù)緩存器控制總線將 所述參考數(shù)據(jù)寫入到所述數(shù)據(jù)緩存器中。
[0017] 在一些實施例中,還包括日志記錄器,其耦接到所述中心緩存器,用于獲取并記錄 所述緩沖存儲器進行安全讀/寫操作的歷史。
[0018] 在一些實施例中,所述中心緩存器和所述數(shù)據(jù)緩存器集成在同一芯片中,或者設(shè) 置在不同的芯片中。
[0019] 在一些實施例中,所述緩沖存儲器與所述存儲模塊集成在同一電路板上。
[0020] 在一些實施例中,所述存儲模塊包括易失性存儲器、非易失性存儲器或者易失性 存儲器和非易失性存儲器的組合。
[0021] 在本申請的另一些方面,還提供了一種包括前述方面的緩沖存儲器的內(nèi)部存儲 器,以及包括該內(nèi)部存儲器的計算機系統(tǒng)、移動終端或者其他電子設(shè)備。
[0022] 在本申請的另一方面,還提供了一種用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置。該裝 置包括:控制器,其耦接到中央處理器以接收數(shù)據(jù)訪問信號,其中所述數(shù)據(jù)訪問信號包括數(shù) 據(jù)訪問命令和對應(yīng)于內(nèi)部存儲器存儲模塊中目標(biāo)存儲位置的目標(biāo)地址,所述控制器被配置 為檢測所述目標(biāo)地址是否屬于預(yù)定地址空間,以及在所述目標(biāo)地址屬于所述預(yù)定地址空間 時生成安全訪問信號;數(shù)據(jù)接口,其耦接在所述中央處理器與所述內(nèi)部存儲器存儲模塊之 間,并且耦接到所述控制器以在其控制下在所述中央處理器與所述內(nèi)部存儲器存儲模塊之 間交互數(shù)據(jù);其中,所述數(shù)據(jù)接口被配置為響應(yīng)于所述安全訪問信號而從所述中央處理器 與所述內(nèi)部存儲器存儲模塊中的一個獲取待交互數(shù)據(jù),將所述待交互數(shù)據(jù)與參考數(shù)據(jù)進行 比較,并且根據(jù)比較結(jié)果確定是否限制所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲 器存儲模塊中的另一個轉(zhuǎn)移。
[0023] 在一些實施例中,所述數(shù)據(jù)接口包括:參考數(shù)據(jù)存儲模塊,其用于存儲所述參考數(shù) 據(jù);數(shù)據(jù)緩存模塊,其耦接在所述中央處理器與所述內(nèi)部存儲器存儲模塊之間,用于緩存所 述待交互的數(shù)據(jù);以及數(shù)據(jù)比較模塊,其用于比較所述參考數(shù)據(jù)與所述待交互數(shù)據(jù)。
[0024] 在一些實施例中,所述數(shù)據(jù)接口被配置為當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)不同 時限制所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲器存儲模塊中的另一個的轉(zhuǎn)移, 以及當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)相同時不限制所述轉(zhuǎn)移。
[0025] 在一些實施例中,所述數(shù)據(jù)接口限制所述待交互數(shù)據(jù)的轉(zhuǎn)移包括:所述數(shù)據(jù)接口 被配置為禁止將所述待交互數(shù)據(jù)提供給所述中央處理器和所述內(nèi)部存儲器存儲模塊中的 另一個;或者所述數(shù)據(jù)接口被配置為用替換數(shù)據(jù)替換所述待交互數(shù)據(jù)提供給所述中央處理 器和所述內(nèi)部存儲器存儲模塊中的另一個。
[0026] 在一些實施例中,所述控制器被配置為當(dāng)所述目標(biāo)地址不屬于所述預(yù)定地址空間 時生成正常訪問信號;所述數(shù)據(jù)接口被配置為響應(yīng)于所述正常訪問信號不比較所述待交互 數(shù)據(jù)和所述參考數(shù)據(jù),并且進行正常訪問操作。
[0027] 在一些實施例中,所述預(yù)定地址空間對應(yīng)于所述內(nèi)部存儲模塊中用于存儲指令的 區(qū)域。
[0028] 在一些實施例中,所述控制器包括數(shù)據(jù)訪問接口,通過所述數(shù)據(jù)訪問接口,所述參 考數(shù)據(jù)和/或所述預(yù)定地址空間被寫入到所述控制器中。
[0029] 在一些實施例中,所述數(shù)據(jù)訪問接口是加密接口,其被配置為僅允許授權(quán)用戶或 設(shè)備對所述控制器的數(shù)據(jù)訪問。
[0030] 在一些實施例中,所述內(nèi)部存儲器符合JEDEC雙倍速率同步動態(tài)隨機存取存儲器 標(biāo)準(zhǔn)。
[0031] 在本申請的另一些方面,還提供了一種包括前述方面的用于控制內(nèi)部存儲器數(shù)據(jù) 訪問的裝置的內(nèi)部存儲器,以及包括該內(nèi)部存儲器的計算機系統(tǒng)和移動終端。
[0032] 在本申請的另一個方面,還提供了一種用于控制中央處理器對內(nèi)部存儲器數(shù)據(jù)訪 問的方法。該方法包括:接收數(shù)據(jù)訪問信號,其中所述數(shù)據(jù)訪問信號包括數(shù)據(jù)訪問命令和對 應(yīng)于內(nèi)部存儲器存儲模塊中目標(biāo)存儲位置的目標(biāo)地址;檢測所述目標(biāo)地址是否屬于預(yù)定地 址空間,在所述目標(biāo)地址屬于所述預(yù)定地址空間時生成安全訪問信號;響應(yīng)于所述安全訪 問信號,從中央處理器與內(nèi)部存儲器存儲模塊中的一個獲取待交互數(shù)據(jù),將所述待交互數(shù) 據(jù)與參考數(shù)據(jù)進行比較;以及根據(jù)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定是否限 制所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲器存儲模塊中的另一個轉(zhuǎn)移。
[0033] 在實際應(yīng)用中,本申請的用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置和方法通過設(shè)置安 全讀/寫操作機制來避免對內(nèi)部存儲器的未授權(quán)數(shù)據(jù)訪問,從而有效地解決數(shù)據(jù)泄露等問 題。例如,參考數(shù)據(jù)可以是被允許訪問內(nèi)部存儲器的指令的集合。在進行安全讀/寫操作 時,如果待交互的指令(數(shù)據(jù))與該參考數(shù)據(jù)一致,則意味著待交互的指令(數(shù)據(jù))是被允 許的指令。在此情況下,可以允許中央處理器調(diào)用、訪問該被允許的指令。然而,如果待交 互的指令(數(shù)據(jù))是不被允許的指令,例如不為系統(tǒng)所知的"后門"指令,則中央處理器無 法調(diào)用、訪問該不被允許的指令,也即無法執(zhí)行該指令。這可以避免執(zhí)行該指令所帶來的未 知處理和數(shù)據(jù)風(fēng)險,從而提高計算機系統(tǒng)的安全性和穩(wěn)定性。
[0034] 以上為本申請的概述,可能有簡化、概括和省略細(xì)節(jié)的情況,因此本領(lǐng)域的技術(shù)人 員應(yīng)該認(rèn)識到,該部分僅是示例說明性的,而不旨在以任何方式限定本申請范圍。本概述部 分既非旨在確定所要求保護主題的關(guān)鍵特征或必要特征,也非旨在用作為確定所要求保護 主題的范圍的輔助手段。
【附圖說明】
[0035] 通過下面說明書和所附的權(quán)利要求書并與附圖結(jié)合,將會更加充分地清楚理解本 申請內(nèi)容的上述和其他特征。可以理解,這些附圖僅描繪了本申請內(nèi)容的若干實施方式,因 此不應(yīng)認(rèn)為是對本申請內(nèi)容范圍的限定。通過采用附圖,本申請內(nèi)容將會得到更加明確和 詳細(xì)地說明。
[0036] 圖1是一種現(xiàn)有服務(wù)器架構(gòu)的示意圖;
[0037] 圖2示出了根據(jù)本申請一個實施例的用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置100 ;
[0038] 圖3示出了根據(jù)本申請一個實施例的緩沖存儲器200 ;
[0039] 圖4示出了圖3中的數(shù)據(jù)緩存單元組進行安全寫入操作的時序圖;
[0040] 圖5示出了圖4中的數(shù)據(jù)緩存單元組進行安全讀取操作的時序圖;
[0041] 圖6示出了根據(jù)本申請一個實施例的用于控制內(nèi)部存儲器數(shù)據(jù)訪問的方法300。
【具體實施方式】
[0042] 在下面的詳細(xì)描述中,參考了構(gòu)成其一部分的附圖。在附圖中,類似的符號通常表 示類似的組成部分,除非上下文另有說明。詳細(xì)描述、附圖和權(quán)利要求書中描述的說明性實 施方式并非旨在限定。在不偏離本申請的主題的精神或范圍的情況下,可以采用其他實施 方式,并且可以做出其他變化。可以理解,可以對本申請中一般性描述的、在附圖中圖解說 明的本申請內(nèi)容的各個方面進行多種不同構(gòu)成的配置、替換、組合,設(shè)計,而所有這些都明 確地構(gòu)成本申請內(nèi)容的一部分。
[0043] 本申請的發(fā)明人發(fā)現(xiàn),對于計算機系統(tǒng)、移動終端或其他智能化電子設(shè)備而言,內(nèi) 存接口是其系統(tǒng)架構(gòu)中的關(guān)鍵接口。圖1是一種現(xiàn)有計算機系統(tǒng)架構(gòu)的示意圖。如圖1所 示,該計算機系統(tǒng)10 (例如服務(wù)器)采用了 2個中央處理器12,其通過QPI總線14進行通 信。對于每個中央處理器12,其通過內(nèi)存接口 16(例如,DDR3、DDR4接口等)連接內(nèi)部存儲 器18,通過PCIE接口 20連接以太網(wǎng)接口 22 (進而連接到互聯(lián)網(wǎng)),以及通過DMI接口 24連 接主板芯片26。其中,主板芯片26提供了例如SAS接口 28、SATA接口 30、USB接口 32等, 以連接低速組件(圖中未示出)。
[0044] 當(dāng)計算機系統(tǒng)10正常運行時,程序運行所依賴的指令和非指令數(shù)據(jù)均被存儲到 內(nèi)部存儲器18中。因此,對于圖1所示的計算機系統(tǒng)10所進行的數(shù)據(jù)傳輸操作,其通常都 需要由中央處理器12經(jīng)由內(nèi)存接口 16訪問內(nèi)部存儲器18來實現(xiàn)。本申請的發(fā)明人發(fā)現(xiàn), 可以通過在內(nèi)存接口 16中設(shè)置訪問控制機制來限制來自中央處理器12的數(shù)據(jù)訪問命令 (例如,讀、寫命令或其他控制命令)對內(nèi)部存儲器18的訪問,從而避免內(nèi)部存儲器18中的 數(shù)據(jù)未經(jīng)授權(quán)地調(diào)用或修改。在本申請的一些實施例中,在內(nèi)存接口 16的緩沖存儲器中設(shè) 置了新的訪問控制機制。
[0045] 圖2示出了根據(jù)本申請一個實施例的用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置100。 該裝置100可以被設(shè)置在中央處理器101和內(nèi)部存儲器的存儲模塊103之間,以在這兩者 之間交互數(shù)據(jù)。其中,內(nèi)部存儲器可以是符合JEDEC雙倍速率同步動態(tài)隨機存取存儲器 (SDRAM)標(biāo)準(zhǔn)的內(nèi)部存儲器,包括JEDEC DDR1、DDR2、DDR3、DDR4以及其他雙倍速率存儲器 標(biāo)準(zhǔn)。此外,內(nèi)部存儲器也可以是符合其他標(biāo)準(zhǔn)或協(xié)議的內(nèi)部存儲器,例如SDRAM或RAMBUS 內(nèi)部存儲器。在一些實施例中,內(nèi)部存儲器的存儲模塊103可以包括易失性存儲器(例如 隨機存儲器)、非易失性存儲器(快閃存儲器)或者這兩者的組合。此外需要說明的是,在 此所述的存儲模塊可以是一顆內(nèi)存顆粒,也可以包括兩顆或更多顆內(nèi)存顆粒。
[0046] 如圖2所述,該裝置100包括控制器111,其耦接到中央處理器101以接收數(shù)據(jù)訪 問信號,其中該數(shù)據(jù)訪問信號包括數(shù)據(jù)訪問命令和對應(yīng)于內(nèi)部存儲器存儲模塊103中目標(biāo) 存儲位置的目標(biāo)地址。該控制器111檢測目標(biāo)地址是否屬于預(yù)定地址空間。當(dāng)檢測到目標(biāo) 地址屬于預(yù)定地址空間時,控制器111生成安全訪問信號。安全訪問信號的生成意味著需 要對該數(shù)據(jù)訪問進行相應(yīng)的安全檢查,以確定是否存在數(shù)據(jù)安全的風(fēng)險。在一些實施例中, 當(dāng)檢測到目標(biāo)地址不屬于預(yù)定地址空間時,控制器111生成正常訪問信號。正常訪問信號 也即通常指示內(nèi)部存儲器進行讀、寫操作或其他操作時所采用的信號。正常訪問信號的生 成意味著不需要對數(shù)據(jù)訪問進行安全檢查。
[0047] 該裝置100還包括數(shù)據(jù)接口 113,其耦接在中央處理器101和內(nèi)部存儲器存儲模 塊103之間,并且耦接到控制器111以在其控制下在中央處理器101和內(nèi)部存儲器存儲模 塊103之間交互數(shù)據(jù)。例如,經(jīng)由該數(shù)據(jù)接口 113將數(shù)據(jù)從中央處理器101轉(zhuǎn)移到內(nèi)部存 儲器存儲模塊103中,也即數(shù)據(jù)寫入操作;或者經(jīng)由該數(shù)據(jù)接口 113將數(shù)據(jù)從內(nèi)部存儲器存 儲模塊103轉(zhuǎn)移到中央處理器101中,也即數(shù)據(jù)讀取操作。
[0048] 響應(yīng)于安全訪問信號,數(shù)據(jù)接口 113從中央處理器101和內(nèi)部存儲器103中的一 個獲取待交互數(shù)據(jù),將該待交互數(shù)據(jù)與參考數(shù)據(jù)進行比較,并且根據(jù)該比較結(jié)果確定是否 限制待交互數(shù)據(jù)向中央處理器101和內(nèi)部存儲器存儲模塊103中的另一個轉(zhuǎn)移。
[0049] 數(shù)據(jù)接口 113可以包括數(shù)據(jù)緩存模塊131,其被耦接在中央處理器101和內(nèi)部存儲 器存儲模塊103之間,用于緩存數(shù)據(jù)接口 113所獲取的待交互數(shù)據(jù)。在一些例子中,數(shù)據(jù)緩 存模塊131可以包括一個數(shù)據(jù)緩存單元組,其包括例如8位、16位、32位、64位或更多位的 數(shù)據(jù)緩存單元。數(shù)據(jù)緩存單元組的位數(shù)取決于中央處理器101所采用的數(shù)據(jù)格式。在一些 例子中,數(shù)據(jù)緩存模塊131可以包括多個數(shù)據(jù)緩存單元組,其中每個數(shù)據(jù)緩存單元組包括 例如4位、8位或更多位的數(shù)據(jù)緩存單元。這些數(shù)據(jù)緩存單元組的總和位數(shù)對應(yīng)于中央處理 器101所采用的數(shù)據(jù)格式。例如,中央處理器101是32位的處理器,則數(shù)據(jù)緩存模塊131 可以緩存32位或更多位數(shù)據(jù)(其中某些位為數(shù)據(jù)校驗位)。相應(yīng)地,數(shù)據(jù)緩存模塊131可 以由例如8個4位數(shù)據(jù)緩存單元組或4個8位數(shù)據(jù)緩存單元組構(gòu)成,以緩存32位的數(shù)據(jù)。
[0050] 參考數(shù)據(jù)可以存儲在數(shù)據(jù)接口 113中。例如數(shù)據(jù)接口 113中可以設(shè)置參考數(shù)據(jù)存 儲模塊133來存儲參考數(shù)據(jù)。參考數(shù)據(jù)具體定義了希望被限制的數(shù)據(jù),例如某些特定的指 令。參考數(shù)據(jù)的格式和位數(shù)可以與待交互數(shù)據(jù)相同。這樣,參考數(shù)據(jù)可以被與待交互數(shù)據(jù) 逐位地進行比較,以確定其是否相同。相應(yīng)地,數(shù)據(jù)接口 113可以包括數(shù)據(jù)比較模塊135,以 用于比較參考數(shù)據(jù)和待交互數(shù)據(jù),并且輸出相應(yīng)的比較結(jié)果。該裝置100可以根據(jù)比較結(jié) 果確定是否限制待交互數(shù)據(jù)進一步的轉(zhuǎn)移。需要說明的是,參考數(shù)據(jù)可能對應(yīng)于多個數(shù)據(jù), 因此參考數(shù)據(jù)可以是一個數(shù)據(jù)集合。例如,對于32位的參考數(shù)據(jù),其中可能僅有部分位是 "0"或"1",而其他位則為任意值。在此情況下,數(shù)據(jù)接口 113可以僅比較待交互數(shù)據(jù)和參 考數(shù)據(jù)中值為" 〇 "或" 1"的部分位。
[0051] 在一些例子中,參考數(shù)據(jù)可以是"白名單",也即安全數(shù)據(jù)(訪問不受限的數(shù)據(jù))的 列表。在這種情況下,當(dāng)待交互數(shù)據(jù)與參考數(shù)據(jù)相同時,數(shù)據(jù)接口 113認(rèn)為這些數(shù)據(jù)是安全 的、可訪問的。相應(yīng)地,數(shù)據(jù)接口 113不限制其所獲取的待交互數(shù)據(jù)的進一步轉(zhuǎn)移。在另一 些例子中,參考數(shù)據(jù)可以是"黑名單",也即訪問受限的數(shù)據(jù)的列表。在這種情況下,當(dāng)待交 互數(shù)據(jù)與參考數(shù)據(jù)相同時,數(shù)據(jù)接口 113限制其所獲取的待交互數(shù)據(jù)的進一步轉(zhuǎn)移。
[0052] 數(shù)據(jù)接口 113可以采用多種方式來限制所獲取的待交互數(shù)據(jù)的進一步轉(zhuǎn)移。例 如,數(shù)據(jù)接口 113可以禁止將所獲取的待交互轉(zhuǎn)移繼續(xù)提供給中央處理器101或內(nèi)部存儲 器存儲模塊103。又例如,數(shù)據(jù)接口 113也可以預(yù)先存儲一替換數(shù)據(jù),并且用替換數(shù)據(jù)替換 待交互數(shù)據(jù),以將該替換數(shù)據(jù)提供給中央處理器101或內(nèi)部存儲器存儲模塊103。
[0053] 在一些實施例中,參考數(shù)據(jù)可以通過控制器111寫入到數(shù)據(jù)接口 113中,或者在控 制器111的控制下由中央處理器101寫入到數(shù)據(jù)接口 113中。優(yōu)選地,參考數(shù)據(jù)可以通過 控制器111寫入到數(shù)據(jù)接口 113中??刂破?11可以具有一個數(shù)據(jù)訪問接口 121,通過該數(shù) 據(jù)訪問接口 121,參考數(shù)據(jù)、預(yù)定地址空間以及其他有關(guān)于數(shù)據(jù)訪問控制的信息,例如地址 和數(shù)據(jù)的比較規(guī)則,可以被寫入到控制器111中。該數(shù)據(jù)訪問接口 121可以是加密接口,其 可以包括一用于驗證用戶或設(shè)備的模塊,從而能夠僅允許授權(quán)用戶或設(shè)備對控制器111進 行數(shù)據(jù)訪問。這使得參考數(shù)據(jù)、預(yù)定地址空間等僅能由授權(quán)用戶或設(shè)備進行修改和設(shè)置,從 而大大提高了系統(tǒng)的安全性和穩(wěn)定性。在實際應(yīng)用中,參考數(shù)據(jù)、預(yù)定地址空間等信息可以 根據(jù)不同的中央處理器來進行設(shè)置和調(diào)整,特別是根據(jù)這些中央處理器所使用的指令集進 行設(shè)置。例如,對于Intel公司提供的某些中央處理器,其對應(yīng)的參考數(shù)據(jù)等可以等不同于 ARM公司提供的微處理器。
[0054] 對于內(nèi)部存儲器的存儲模塊103,其通常有一部分存儲區(qū)域可以被用于存儲指令, 而另一部分則被用于存儲非指令數(shù)據(jù),例如靜態(tài)數(shù)據(jù)。根據(jù)目標(biāo)地址,即可確定存儲模塊 103中的哪個存儲區(qū)域中的存儲單元正在被訪問。出于實際應(yīng)用的考慮,例如出于系統(tǒng)安全 考慮,可以根據(jù)僅允許存儲指令的區(qū)域被訪問。相應(yīng)地,參考數(shù)據(jù)對應(yīng)于被允許讀取或?qū)懭?的一條或多條指令。換言之,參考數(shù)據(jù)對應(yīng)了被允許訪問內(nèi)部存儲器的系統(tǒng)指令的集合。例 如,如果數(shù)據(jù)接口 113獲取的待交互指令(數(shù)據(jù))與該參考數(shù)據(jù)一致,則意味著該指令(數(shù) 據(jù))是被允許的指令。在此情況下,數(shù)據(jù)接口 113可以允許中央處理器101調(diào)用、訪問該被 允許的指令。然而,如果待交互指令(數(shù)據(jù))是不被允許的指令,例如不為系統(tǒng)所知的"后 門"指令,則中央處理器101無法調(diào)用、訪問該不被允許的指令,也即無法執(zhí)行該指令。這可 以避免執(zhí)行該指令所帶來的未知處理和數(shù)據(jù)風(fēng)險,從而提高系統(tǒng)安全性。
[0055] 在實際應(yīng)用中,圖2所示的裝置100所包括的控制器111和數(shù)據(jù)接口 113可以集 成在同一芯片中,或者被設(shè)置在不同的芯片。在一些例子中,該裝置100可以與內(nèi)部存儲器 的存儲模塊一同集成在內(nèi)部存儲器中,也即設(shè)置在同一個電路板上。在一些例子中,該裝置 100可以集成到內(nèi)部存儲器的緩沖存儲器中。
[0056] 圖3示出了根據(jù)本申請一個實施例的緩沖存儲器200。該緩沖存儲器200即集成 了圖2所述的控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置100。
[0057] 具體地,該緩沖存儲器200可以被設(shè)置在中央處理器201和內(nèi)部存儲器(動態(tài)隨 機存取存儲器)存儲模塊203之間,以在這兩者之間交互數(shù)據(jù)。具體地,緩沖存儲器200可 以通過存儲器接口 205耦接到中央處理器201。在一些實施例中,緩沖存儲器200可以被 應(yīng)用于符合JEDEC雙倍速率同步動態(tài)隨機存取存儲器標(biāo)準(zhǔn)的內(nèi)部存儲器中。例如,緩沖存 儲器200可以被應(yīng)用于JEDEC LPDDR3或LPDDR4標(biāo)準(zhǔn)的內(nèi)部存儲器中。在接下來的實施例 中,緩沖存儲器200被示例地結(jié)合采用JEDEC DDR4標(biāo)準(zhǔn)的內(nèi)部存儲器進行說明,但是本領(lǐng) 域技術(shù)人員可以理解這并非對緩沖存儲器200應(yīng)用方式的限制。
[0058] 如圖3所示,該緩沖存儲器200包括中心緩存器211 (其具有圖2所示的控制器功 能)和數(shù)據(jù)緩存器213 (其具有圖2所示的數(shù)據(jù)接口的功能)。其中,中心緩存器211通過 命令/地址(Command/Address,C/A)信道215耦接到存儲器接口 205以接收命令/地址 信號。該命令/地址信號通常是由中央處理器201提供的。對于DDR4標(biāo)準(zhǔn)的存儲器接口 205,該命令/地址信道215可以包括管腳A0-A17、管腳BG0-BG1和/或管腳BA0-BA1。其 中,管腳BG0-BG1用于確定存儲模塊203中的哪個存儲體組(Memory Bank Group)被處理, 例如被寫入或被讀??;管腳BA0-BA1用于確定存儲模塊203中的哪個存儲體(Memory Bank) 被處理;而管腳A0-A17則用于尋址并確定一個存儲體中的哪一個存儲單元被處理。此外, A16 (RAS_n)、A15 (CAS_n)以及A14 (WE_n)這三個管腳的輸入還用于確定被輸入的命令,例 如讀取命令、寫入命令以及其他被預(yù)先定義的控制命令。在一些實施例中,中心緩存器211 可以是獨立的控制單元;在另一些實施例中,中心緩存器211也可以被集成在寄存時鐘驅(qū) 動器(Registering Clock Driver)中并作為其一部分。
[0059] 中心緩存器211可以檢測其所接收的命令/地址信號是否屬于預(yù)定地址空間,并 且其在命令/地址信號屬于預(yù)定地址空間時生成安全讀/寫信號。
[0060] 具體地,存儲模塊203可以包括多個存儲單元組203i,其中每個存儲單元組203i 都具有多個存儲單元。存儲模塊203的每個存儲單元都具有唯一對應(yīng)的地址。不同地址的 存儲單元可以存儲不同的數(shù)據(jù)。在許多情況下,存儲模塊203可以根據(jù)操作系統(tǒng)的需求而 被劃分為不同的存儲區(qū)域,每個存儲區(qū)域被指定用于存儲某一類或某幾類數(shù)據(jù)。例如,存儲 模塊203的一部分存儲區(qū)域可以被用于存儲指令,而另一部分則被用于存儲非指令數(shù)據(jù), 例如靜態(tài)數(shù)據(jù)。根據(jù)命令/地址信號中包含的目標(biāo)地址,即可確定存儲模塊203中的哪個 存儲區(qū)域中的存儲單元正在被訪問。出于實際應(yīng)用的考慮,例如出于數(shù)據(jù)安全考慮,計算機 系統(tǒng)的管理者可能希望對存儲模塊203某些區(qū)域內(nèi)的存儲單元的訪問是受限的。相應(yīng)地, 可以預(yù)先確定一地址空間,該地址空間對應(yīng)于希望訪問受限的存儲區(qū)域。例如,該預(yù)先確定 的地址空間可以是存儲模塊中用于存儲指令的區(qū)域。
[0061] 當(dāng)中心緩存器211檢測到其所接收到的命令/地址信號屬于該預(yù)定地址空間后, 也即該命令/地址信號中的目標(biāo)地址屬于該預(yù)定地址,其即明確訪問可能是受限的。相應(yīng) 地,中心緩存器211可以生成安全讀/寫信號。具體地,當(dāng)命令/地址信號中包含的命令是 讀取操作時,中心緩存器211可以生成安全讀取信號,而當(dāng)命令/地址信號中包含的命令是 寫入操作時,中心緩存器211可以生成安全寫入信號。相比于正常讀/寫信號,數(shù)據(jù)緩存器 213對安全讀/寫信號的響應(yīng)是不同的。數(shù)據(jù)緩存器213對安全讀/寫信號的響應(yīng)將在下 文中詳述。相反,當(dāng)中心緩存器211檢測到其所接收到的命令/地址信號不屬于預(yù)定地址 空間后,其即可確定訪問是不受限的。在此情況下,中心緩存器211可以生成正常讀/寫信 號,以進行指示數(shù)據(jù)緩存器213向存儲模組203進行正常的讀/寫操作。
[0062] 中心緩存器211與數(shù)據(jù)緩存器213之間可以通過數(shù)據(jù)緩存器控制總線217 (BC0M) 進行通信。具體地,中心緩存器211將安全讀/寫信號、正常讀/寫信號或其他控制信號通 過數(shù)據(jù)緩存器控制總線217下發(fā)給數(shù)據(jù)緩存器213。在一些符合DDR4標(biāo)準(zhǔn)的緩沖存儲器 中,例如瀾起科技提供的M88DDR4DB01和M88DDR4RCD01芯片(關(guān)于這些芯片的技術(shù)信息, 可以參考其產(chǎn)品技術(shù)手冊,這些產(chǎn)品技術(shù)手冊的全部內(nèi)容通過引用方式并入本申請),數(shù)據(jù) 緩存器控制總線217可以是4位信號線,其可以對至少8個指令進行編碼。表1即示出了通 過數(shù)據(jù)緩存器控制總線217傳輸?shù)闹噶罹幋a表。其中,編碼" 1000"和" 1001"分別對應(yīng)于 正常寫入命令和正常讀取命令;而編碼" 1110"和"ill 1"則分別對應(yīng)于安全寫入命令(信 號)和安全讀取命令(信號)。
[0065] 表 1
[0066] 數(shù)據(jù)緩存器213耦接在存儲器接口 205與存儲模塊203之間,以在這兩者之間緩 存數(shù)據(jù)。具體地,數(shù)據(jù)緩存器213從存儲器接口 205接收來自中心處理器201的數(shù)據(jù),緩存 該數(shù)據(jù),并且進一步地將所緩存的數(shù)據(jù)轉(zhuǎn)移到存儲模塊203中;另一方面,數(shù)據(jù)緩存器213 從存儲模塊203中獲取數(shù)據(jù),緩存該數(shù)據(jù),并且進一步地將所緩存的數(shù)據(jù)轉(zhuǎn)移到存儲器接 口 205處,進而由存儲器接口 205再提供給中心處理器201。數(shù)據(jù)緩存器213所緩存的單位 數(shù)據(jù)至少包括每個存儲單元中存儲的數(shù)據(jù)的所有位。以圖3所示的實施例為例,存儲模塊 203的每個存儲單元是64位存儲單元;相應(yīng)地,數(shù)據(jù)緩存器213包括9個數(shù)據(jù)緩存單元組, 其中每個數(shù)據(jù)緩存單元組包括8個數(shù)據(jù)緩存單元以緩存8位數(shù)據(jù),因而數(shù)據(jù)緩存器213的 單位數(shù)據(jù)是72位。這72位中包括8位校驗位,剩余的64位正好與存儲模塊203的存儲單 元的位數(shù)一致。簡言之,對于采用分布式結(jié)構(gòu)的數(shù)據(jù)緩存器213,其可以包括多個數(shù)據(jù)緩存 單元組,其中每個數(shù)據(jù)緩存單元組被配置為緩存一部分被緩存的數(shù)據(jù),以及存儲一部分參 考數(shù)據(jù),并且將這兩部分?jǐn)?shù)據(jù)進行比較。可以理解,在一些例子中,數(shù)據(jù)緩存器213也可以 不采用分布式結(jié)構(gòu),也即每個數(shù)據(jù)緩存器213僅包括一個數(shù)據(jù)緩存單元組。
[0067] 數(shù)據(jù)緩存器213可以存儲參考數(shù)據(jù)。該參考數(shù)據(jù)的位數(shù)應(yīng)與存儲模塊203中每個 存儲單元中存儲的數(shù)據(jù)的位數(shù)相同。該參考數(shù)據(jù)表示了希望由緩沖存儲器200比較或過濾 的數(shù)據(jù)內(nèi)容。當(dāng)數(shù)據(jù)緩存器211接收到安全讀/寫信號后,其響應(yīng)于該安全讀/寫信號而 將其所緩存的數(shù)據(jù)與參考數(shù)據(jù)進行比較,并且根據(jù)所緩存的數(shù)據(jù)與參考數(shù)據(jù)的比較結(jié)果確 定是否限制所緩存的數(shù)據(jù)在存儲模塊203與存儲器接口 205之間的進一步交互。
[0068] 以安全寫入操作的執(zhí)行為例,對數(shù)據(jù)緩存器213的運行進行進一步說明。當(dāng)數(shù)據(jù) 緩存器-213接收到安全寫入信號后,響應(yīng)于該安全寫入信號,數(shù)據(jù)緩存器213從存儲器接 口 205接收待寫入的數(shù)據(jù)。該數(shù)據(jù)被緩存到數(shù)據(jù)緩存器213中,具體地,緩存到各個數(shù)據(jù)緩 存單元組中。接著,每個數(shù)據(jù)緩存單元組將緩存到其中的數(shù)據(jù)與其中預(yù)先存儲的參考數(shù)據(jù) 進行比較。如果每個數(shù)據(jù)緩存單元組緩存的數(shù)據(jù)與參考數(shù)據(jù)相同,則認(rèn)為該數(shù)據(jù)內(nèi)容是安 全的,因而可以繼續(xù)數(shù)據(jù)交互的操作。相應(yīng)地,數(shù)據(jù)緩存器211可以將其所緩存的數(shù)據(jù)進一 步轉(zhuǎn)移到存儲模塊203中,從而完成該數(shù)據(jù)的寫入。相反,如果至少一個數(shù)據(jù)緩存單元組緩 存的數(shù)據(jù)與參考數(shù)據(jù)不同,則意味著該數(shù)據(jù)內(nèi)容不安全,需要限制該數(shù)據(jù)交互的操作。相應(yīng) 地,數(shù)據(jù)緩存器213可以禁止將所緩存的數(shù)據(jù)進一步地提供給存儲模塊203 ;或者替換地, 數(shù)據(jù)緩存器211可以將一預(yù)先確定的替換數(shù)據(jù)提供給存儲模塊203并寫入其中。
[0069] 類似地,數(shù)據(jù)緩存器213可以禁止將所緩存的數(shù)據(jù)進一步地提供給存儲器接口 205 ;或者替換地,數(shù)據(jù)緩存器213可以將一預(yù)先確定的替換數(shù)據(jù)提供給存儲器接口 205。
[0070] 圖4示出了圖3中的數(shù)據(jù)緩存單元組進行安全寫入操作的時序圖。如圖4所示, 在數(shù)據(jù)緩存器控制總線BC0M接收到安全寫入信號,以及后續(xù)的DAT0信號(指示選擇存儲 體)和PAR信號(指示對安全寫入信號和數(shù)據(jù)進行奇偶校驗)后,在時刻T1,數(shù)據(jù)緩存單元 組在其DQ[3:0]端口開始接收待寫入的數(shù)據(jù)。接著,在時刻T2,數(shù)據(jù)緩存單元組開始將其所 緩存的待寫入數(shù)據(jù)與參考數(shù)據(jù)進行比較。如果比較確定所緩存的待寫入數(shù)據(jù)與參考數(shù)據(jù)相 同,則在時刻T3,數(shù)據(jù)緩存單元組繼續(xù)將待寫入數(shù)據(jù)通過其MDQ[3:0]端口輸出,進而提供 給存儲模塊。
[0071] 數(shù)據(jù)緩存單元組也可以響應(yīng)于正常寫入命令而進行正常寫入操作,其差別僅在 于不在時刻T2進行數(shù)據(jù)比較操作。此外,在正常寫入操作時,DQ[3:0]端口接收數(shù)據(jù)與 MDQ[3:0]端口輸出數(shù)據(jù)的時間間隙與安全寫入操作的時間間隙T3-T1相同。因此,對于存 儲模塊而言,正常寫入操作和安全寫入操作的處理是相同的,這使得本申請實施例的數(shù)據(jù) 緩存器能夠很好地兼容現(xiàn)有的存儲模塊。
[0072] 安全讀取操作可以以類似地方式進行。具體地,當(dāng)數(shù)據(jù)緩存器211接收到安全讀 取信號后,響應(yīng)于該安全讀取信號,數(shù)據(jù)緩存器211從存儲模塊203接收待讀取的數(shù)據(jù)。該 數(shù)據(jù)被緩存到數(shù)據(jù)緩存器211中。數(shù)據(jù)緩存器211將被緩存的數(shù)據(jù)與參考數(shù)據(jù)進行比較。 當(dāng)所緩存的數(shù)據(jù)與參考數(shù)據(jù)不同時,數(shù)據(jù)緩存器211限制該數(shù)據(jù)交互的操作,例如禁止將 所緩存的數(shù)據(jù)進一步提供給存儲器接口 205,或者將替換數(shù)據(jù)提供給存儲器接口 205。當(dāng)所 緩存的數(shù)據(jù)與參考數(shù)據(jù)相同時,數(shù)據(jù)緩存器211可以繼續(xù)數(shù)據(jù)交互的操作,將所緩存的數(shù) 據(jù)提供給存儲器接口 205。
[0073] 圖5示出了圖3中數(shù)據(jù)緩存單元組進行安全讀取操作的時序圖。如圖5所示,在 數(shù)據(jù)緩存器控制總線BC0M接收到安全讀取信號,以及后續(xù)的DAT0信號(指示選擇存儲體) 和PAR信號(指示對安全讀取信號和數(shù)據(jù)進行奇偶校驗)后,在時刻T4,數(shù)據(jù)緩存單元組 在其MDQ[3:0]端口開始接收待讀取的數(shù)據(jù)。接著,在時刻T5,數(shù)據(jù)緩存單元組開始將其所 緩存的待讀取數(shù)據(jù)與參考數(shù)據(jù)進行比較。如果比較確定所緩存的待讀取數(shù)據(jù)與參考數(shù)據(jù)相 同,則在時刻T6,數(shù)據(jù)緩存單元組繼續(xù)將待讀取數(shù)據(jù)通過其DQ[3:0]端口輸出,進而提供給 存儲器接口。
[0074] 需要說明的是,上述安全讀/寫操作的實現(xiàn)是以"白名單"為例進行的,也即被緩 存的數(shù)據(jù)與參考數(shù)據(jù)相同則繼續(xù)數(shù)據(jù)交互操作。在實際應(yīng)用中,安全讀/寫操作的實現(xiàn)也 可以以"黑名單"的方式進行。具體地,當(dāng)被緩存的數(shù)據(jù)與參考數(shù)據(jù)相同則限制數(shù)據(jù)交互操 作,而當(dāng)被緩存的數(shù)據(jù)與參考數(shù)據(jù)不同時則繼續(xù)數(shù)據(jù)交互操作。在此不再贅述。
[0075] 在實際應(yīng)用中,在緩沖存儲器中設(shè)置上述安全讀/寫操作機制可以避免對存儲模 塊的未授權(quán)數(shù)據(jù)訪問,從而有效地解決數(shù)據(jù)泄露、系統(tǒng)安全等問題。在一些例子中,計算機 系統(tǒng)、移動終端或其他電子設(shè)備的管理者可以根據(jù)其允許的一個或多個指令來確定參考數(shù) 據(jù)的具體內(nèi)容。換言之,參考數(shù)據(jù)對應(yīng)了被允許訪問存儲器系統(tǒng)的指令的集合。在進行安 全讀/寫操作時,如果緩沖存儲器所緩存的指令(數(shù)據(jù))與該參考數(shù)據(jù)一致,則意味著所緩 存的指令(數(shù)據(jù))是被允許的指令。在此情況下,緩沖存儲器可以允許中央處理器調(diào)用、訪 問該被允許的指令。然而,如果所緩存的指令(數(shù)據(jù))是不被允許的指令,例如不為系統(tǒng)所 知的"后門"指令,則中央處理器無法調(diào)用、訪問該不被允許的指令,也即無法執(zhí)行該指令。 這可以避免執(zhí)行該指令所帶來的未知處理和數(shù)據(jù)風(fēng)險,從而提高計算機系統(tǒng)的安全性。
[0076] 需要說明的是,由于參考數(shù)據(jù)可能對應(yīng)于多個數(shù)據(jù),因此參考數(shù)據(jù)可以是一個數(shù) 據(jù)集合。例如,對于64位的參考數(shù)據(jù),其中可能僅有部分位是"0"或" 1"(例如第63至56 位和第7至0位),而其他位則為任意值。在此情況下,數(shù)據(jù)緩存器可以僅比較所緩存的數(shù) 據(jù)和參考數(shù)據(jù)中值為"〇"或"1"的部分位,并根據(jù)這部分的比較結(jié)果確定是否需要繼續(xù)進 一步的數(shù)據(jù)交互。
[0077] 仍如圖3所示,參考數(shù)據(jù)、預(yù)定地址空間以及安全讀/寫操作的規(guī)則可以首先寫入 到中心緩存器211中,例如在緩沖存儲器200初始化時寫入到中心緩存器211中。在一些實 施例中,參考數(shù)據(jù)、預(yù)定地址空間以及安全讀/寫操作的規(guī)則也可以預(yù)先寫入到中心緩存 器211中,例如中心緩存器211中提供一可編程只讀存儲器(PR0M)來存儲這些數(shù)據(jù)。中心 緩存器211中可以包括狀態(tài)機和控制邏輯來具體執(zhí)行安全讀/寫操作的規(guī)則。中心緩存器 211可以具有數(shù)據(jù)訪問接口 219以寫入上述數(shù)據(jù)信息。在一些實施例中,數(shù)據(jù)訪問接口 219 可以是與中央處理器201可訪問的接口在物理上相互隔離的接口。例如,數(shù)據(jù)訪問接口可 以是系統(tǒng)管理訪問總線(System Management Access Bus, SM Bus)。系統(tǒng)管理訪問總線通 常連接有串行存在探測(Serial Presence Detect,SPD)設(shè)備。優(yōu)選地,數(shù)據(jù)訪問接口 219 還可以是加密接口,例如可以提供一身份驗證模塊221,其用于檢測通過數(shù)據(jù)訪問接口訪問 中心緩存器211的設(shè)備或用戶是否是預(yù)先確定的授權(quán)用戶或設(shè)備,只有確定訪問設(shè)備或用 戶是授權(quán)用戶或設(shè)備的情況下,數(shù)據(jù)訪問接口 219才允許該授權(quán)用戶或設(shè)備對中心緩存器 的數(shù)據(jù)訪問。這樣,參考數(shù)據(jù)、預(yù)定地址空間以及安全讀/寫操作規(guī)則的安全性可以大大提 高。在一些實施例中,參考數(shù)據(jù)、預(yù)定地址空間以及安全讀/寫操作規(guī)則可以預(yù)先存儲在與 數(shù)據(jù)訪問接口 219相連的存儲器223中,該存儲器223例如是快閃存儲器或其他非易失性 存儲器。此外,該存儲器223可以由外部設(shè)備訪問,以供系統(tǒng)的管理者修改、更新參考數(shù)據(jù)、 預(yù)定地址空間以及安全讀/寫操作的規(guī)則等信息。
[0078] 在一些實施例中,可以為緩沖存儲器200設(shè)置開/關(guān)機制。例如,在中心緩存器 211初始化之前,可以通過數(shù)據(jù)訪問接口 219向中心緩存器211發(fā)送命令,以指示其是否需 要執(zhí)行安全讀/寫機制。此外,還可以為緩沖存儲器200設(shè)置重置機制。例如,在中心緩存 器211初始化之后,可以通過數(shù)據(jù)訪問接口 219向中心緩存器211發(fā)送命令,以指示其重新 初始化。中心緩存器211可以從存儲器223中獲取更新的參考數(shù)據(jù)等信息,以實現(xiàn)安全讀 /寫機制的更新或重置。
[0079] 在一些實施例中,緩沖存儲器200可以提供多個安全讀/寫操作的規(guī)則以及對應(yīng) 的參考數(shù)據(jù)和預(yù)定地址空間,其中每個規(guī)則對應(yīng)于一種中央處理器架構(gòu),而參考數(shù)據(jù)則對 應(yīng)于該中央處理器架構(gòu)所采用的指令集。緩沖存儲器200可以檢測當(dāng)前所耦接的中央處理 器201的架構(gòu)、型號或特性,并且根據(jù)檢測結(jié)果的不同來選擇初始化對應(yīng)的安全讀/寫操作 的規(guī)則、預(yù)定地址空間和參考數(shù)據(jù)。這樣,緩沖存儲器200能夠自動地配合不同的中央處理 器來實現(xiàn)安全讀/寫操作,其使用也更加靈活。
[0080] 參考數(shù)據(jù)可以從中心緩存器211進一步轉(zhuǎn)移到數(shù)據(jù)緩存器213中,并且存儲在數(shù) 據(jù)緩存器213中,例如存儲在數(shù)據(jù)緩存器213的寄存器中。在一些實施例中,參考數(shù)據(jù)可以 通過數(shù)據(jù)緩存器控制總線寫入到數(shù)據(jù)緩存器213中。例如,可以通過使得緩沖存儲器200 工作于逐個DRAM可尋址(Per DRAM Addressability,PDA)模式來控制向數(shù)據(jù)緩存器213 中的每個數(shù)據(jù)緩存單元組寫入?yún)⒖紨?shù)據(jù)。此外,每個數(shù)據(jù)緩存單元組中需要提供比較器,來 比較參考數(shù)據(jù)與被緩存的數(shù)據(jù)。
[0081] 在一些實施例中,緩沖存儲器200還可以包括日志記錄器,其用于記錄緩沖存儲 器200進行安全讀/寫操作的歷史。日志記錄器可以集成在存儲器223中。例如,日志記 錄器可以記錄一段時間內(nèi)安全讀/寫操作的發(fā)生次數(shù),以及中央處理器201對存儲模塊203 中哪些地址的訪問觸發(fā)了安全讀/寫操作等。該日志記錄器可以耦接到中心緩存器211,例 如通過數(shù)據(jù)訪問接口 219耦接中心緩存器211,并與其進行數(shù)據(jù)交互。授權(quán)的外部設(shè)備或中 心緩存器211也可以訪問該日志記錄器,從而獲取其中存儲的安全讀/寫操作的歷史。在 一些例子中,日志記錄器也可以被設(shè)置在中心緩存器211中。
[0082] 需要說明的是,對于本申請的實施例,緩沖存儲器可以僅具有安全讀取機制和安 全寫入機制中的一種,或者同時具有安全讀取機制和安全寫入機制。例如,對于僅具有安全 讀取機制的緩沖存儲器,但其接收到的命令/地址信號中包括的命令為寫入命令時,緩沖 存儲器不檢測該命令/地址信號是否屬于預(yù)定地址空間,也不執(zhí)行后續(xù)的安全讀/寫操作。 類似地,對于僅具有安全寫入機制的緩沖存儲器,但其接收到的命令/地址信號中包括的 命令為讀取命令時,緩沖存儲器不檢測該命令/地址信號是否屬于預(yù)定地址空間,也不執(zhí) 行后續(xù)的安全讀/寫操作。
[0083] 圖6示出了根據(jù)本申請一個實施例的用于控制中央處理器對內(nèi)部存儲器數(shù)據(jù)訪 問的方法300。該數(shù)據(jù)訪問控制方法300可以由例如圖2所示的裝置100或圖3所示的緩 沖存儲器200執(zhí)行。
[0084] 如圖6所示,在步驟S302,接收數(shù)據(jù)訪問信號,其中所述數(shù)據(jù)訪問信號包括數(shù)據(jù)訪 問命令和對應(yīng)于內(nèi)部存儲器存儲模塊中目標(biāo)存儲位置的目標(biāo)地址。接著,在步驟S304,檢 測所述目標(biāo)地址是否屬于預(yù)定地址空間,在所述目標(biāo)地址屬于所述預(yù)定地址空間時生成安 全訪問信號。之后,在步驟S306,響應(yīng)于所述安全訪問信號,從中央處理器與內(nèi)部存儲器存 儲模塊中的一個獲取待交互數(shù)據(jù),將所述待交互數(shù)據(jù)與參考數(shù)據(jù)進行比較。接下來,在步驟 S308中,根據(jù)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定是否限制所述待交互數(shù)據(jù)向 所述中央處理器與所述內(nèi)部存儲器存儲模塊中的另一個轉(zhuǎn)移。
[0085] 在一些實施例中,根據(jù)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定是否限制 所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲器存儲模塊中的另一個轉(zhuǎn)移的步驟包 括:當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)不同時限制所述待交互數(shù)據(jù)向所述中央處理器與所 述內(nèi)部存儲器存儲模塊中的另一個的轉(zhuǎn)移;以及當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)相同時 不限制所述轉(zhuǎn)移。
[0086] 在一些實施例中,所述限制所述待交互數(shù)據(jù)的轉(zhuǎn)移包括:禁止將所述待交互數(shù)據(jù) 提供給所述中央處理器和所述內(nèi)部存儲器存儲模塊中的另一個;或者用替換數(shù)據(jù)替換所述 待交互數(shù)據(jù)提供給所述中央處理器和所述內(nèi)部存儲器存儲模塊中的另一個。
[0087] 在一些實施例中,所述方法還包括:當(dāng)所述目標(biāo)地址不屬于所述預(yù)定地址空間時 生成正常訪問信號;以及響應(yīng)于所述正常訪問信號,不比較所述待交互數(shù)據(jù)和所述參考數(shù) 據(jù),并且進行正常數(shù)據(jù)訪問操作。
[0088] 在一些實施例中,所述預(yù)定地址空間對應(yīng)于所述內(nèi)部存儲器存儲模塊中用于存儲 指令的區(qū)域。
[0089] 應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于控制內(nèi)部存儲器數(shù)據(jù)交互的裝置、 以及緩沖存儲器的若干模塊或子模塊,但是這種劃分僅僅是示例性的而非強制性的。實際 上,根據(jù)本申請的實施例,上文描述的兩個或更多模塊的特征和功能可以在一個模塊中具 體化。反之,上文描述的一個模塊的特征和功能可以進一步劃分為由多個模塊來具體化。
[0090] 那些本技術(shù)領(lǐng)域的一般技術(shù)人員可以通過研究說明書、公開的內(nèi)容及附圖和所附 的權(quán)利要求書,理解和實施對披露的實施方式的其他改變。在權(quán)利要求中,措詞"包括"不 排除其他的元素和步驟,并且措辭"一"、"一個"不排除復(fù)數(shù)。在本申請的實際應(yīng)用中,一個 零件可能執(zhí)行權(quán)利要求中所引用的多個技術(shù)特征的功能。權(quán)利要求中的任何附圖標(biāo)記不應(yīng) 理解為對范圍的限制。
【主權(quán)項】
1. 一種緩沖存儲器,其特征在于,包括: 中心緩存器,其通過命令/地址信道耦接到存儲器接口以接收命令/地址信號,所述中 心緩存器被配置為檢測其所接收的命令/地址信號是否屬于預(yù)定地址空間,以及在所述命 令/地址信號屬于所述預(yù)定地址空間時生成安全讀/寫信號;以及 數(shù)據(jù)緩存器,其耦接在所述存儲器接口與存儲模塊之間以在這兩者之間緩存數(shù)據(jù);其 中,所述數(shù)據(jù)緩存器被配置為存儲參考數(shù)據(jù),其響應(yīng)于所述安全讀/寫信號而將其所緩存 的數(shù)據(jù)與所述參考數(shù)據(jù)進行比較,并且根據(jù)所緩存的數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定 是否限制所緩存的數(shù)據(jù)在所述存儲模塊與所述存儲器接口之間的交互。2. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述中心緩存器還被配置為存儲 所述參考數(shù)據(jù),并且控制將所述參考數(shù)據(jù)轉(zhuǎn)移到所述數(shù)據(jù)緩存器中。3. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述數(shù)據(jù)緩存器包括至少一個數(shù) 據(jù)緩存單元組,其中每個數(shù)據(jù)緩存單元組被配置為緩存一部分被緩存的數(shù)據(jù),以及存儲一 部分參考數(shù)據(jù),并且將這兩部分?jǐn)?shù)據(jù)進行比較。4. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述數(shù)據(jù)緩存器被配置為當(dāng)所緩 存的數(shù)據(jù)與所述參考數(shù)據(jù)不同時限制所緩存的數(shù)據(jù)在所述存儲模塊與所述存儲器接口之 間的交互,以及當(dāng)所緩存的數(shù)據(jù)與所述參考數(shù)據(jù)相同時不限制所緩存的數(shù)據(jù)在所述存儲模 塊與所述存儲器接口之間的交互。5. 根據(jù)權(quán)利要求4所述的緩沖存儲器,其特征在于,所述數(shù)據(jù)緩存器限制所緩存的數(shù) 據(jù)在所述存儲模塊與所述存儲器接口之間的交互包括: 所述數(shù)據(jù)緩存器被配置為禁止將所緩存的數(shù)據(jù)進一步地提供給所述存儲器接口或所 述存儲模塊;或者 所述數(shù)據(jù)緩存器被配置為用替換數(shù)據(jù)替換所緩存的數(shù)據(jù)提供給所述存儲器接口或所 述存儲模塊。6. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述中心緩存器被配置為當(dāng)所述 命令/地址信號不屬于所述預(yù)定地址空間時生成正常讀/寫信號;所述數(shù)據(jù)緩存器被配置 為響應(yīng)于所述正常讀/寫信號不比較所緩存的數(shù)據(jù)和所述參考數(shù)據(jù),并且進行正常讀/寫 操作。7. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述預(yù)定地址空間對應(yīng)于所述存 儲模塊中用于存儲指令的區(qū)域。8. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述中心緩存器包括數(shù)據(jù)訪問接 口,通過所述數(shù)據(jù)訪問接口,所述參考數(shù)據(jù)和/或所述預(yù)定地址空間被寫入到所述中心緩 存器中。9. 根據(jù)權(quán)利要求8所述的緩沖存儲器,其特征在于,所述數(shù)據(jù)訪問接口是加密接口,其 被配置為僅允許授權(quán)用戶或設(shè)備對所述中心緩存器的數(shù)據(jù)訪問。10. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述存儲模塊和所述存儲器接口 符合JEDEC雙倍速率同步動態(tài)隨機存取存儲器標(biāo)準(zhǔn)。11. 根據(jù)權(quán)利要求10所述的緩沖存儲器,其特征在于,所述中心緩存器被集成在寄存 時鐘驅(qū)動器中,所述寄存器時鐘驅(qū)動器被配置為通過數(shù)據(jù)緩存器控制總線將所述安全讀/ 寫信號提供給所述數(shù)據(jù)緩存器。12. 根據(jù)權(quán)利要求11所述的緩沖存儲器,其特征在于,所述寄存時鐘驅(qū)動器被配置為 通過所述數(shù)據(jù)緩存器控制總線將所述參考數(shù)據(jù)寫入到所述數(shù)據(jù)緩存器中。13. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,還包括日志記錄器,其耦接到所 述中心緩存器,用于獲取并記錄所述緩沖存儲器進行安全讀/寫操作的歷史。14. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述中心緩存器和所述數(shù)據(jù)緩存 器集成在同一芯片中,或者設(shè)置在不同的芯片中。15. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述緩沖存儲器與所述存儲模塊 集成在同一電路板上。16. 根據(jù)權(quán)利要求1所述的緩沖存儲器,其特征在于,所述存儲模塊包括易失性存儲 器、非易失性存儲器或者易失性存儲器和非易失性存儲器的組合。17. -種內(nèi)部存儲器,其包括根據(jù)權(quán)利要求1至16中任一項所述的緩沖存儲器。18. -種計算機系統(tǒng),其包括根據(jù)權(quán)利要求17所述的內(nèi)部存儲器。19. 一種移動終端,其包括根據(jù)權(quán)利要求17所述的內(nèi)部存儲器。20. -種用于控制內(nèi)部存儲器數(shù)據(jù)訪問的裝置,其特征在于,包括: 控制器,其耦接到中央處理器以接收數(shù)據(jù)訪問信號,其中所述數(shù)據(jù)訪問信號包括數(shù)據(jù) 訪問命令和對應(yīng)于內(nèi)部存儲器存儲模塊中目標(biāo)存儲位置的目標(biāo)地址,所述控制器被配置為 檢測所述目標(biāo)地址是否屬于預(yù)定地址空間,以及在所述目標(biāo)地址屬于所述預(yù)定地址空間時 生成安全訪問信號; 數(shù)據(jù)接口,其耦接在所述中央處理器與所述內(nèi)部存儲器存儲模塊之間,并且耦接到所 述控制器以在其控制下在所述中央處理器與所述內(nèi)部存儲器存儲模塊之間交互數(shù)據(jù);其 中,所述數(shù)據(jù)接口被配置為響應(yīng)于所述安全訪問信號而從所述中央處理器與所述內(nèi)部存儲 器存儲模塊中的一個獲取待交互數(shù)據(jù),將所述待交互數(shù)據(jù)與參考數(shù)據(jù)進行比較,并且根據(jù) 比較結(jié)果確定是否限制所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲器存儲模塊中 的另一個轉(zhuǎn)移。21. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述數(shù)據(jù)接口包括: 參考數(shù)據(jù)存儲模塊,其用于存儲所述參考數(shù)據(jù); 數(shù)據(jù)緩存模塊,其耦接在所述中央處理器與所述內(nèi)部存儲器存儲模塊之間,用于緩存 所述待交互的數(shù)據(jù);以及 數(shù)據(jù)比較模塊,其用于比較所述參考數(shù)據(jù)與所述待交互數(shù)據(jù)。22. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述數(shù)據(jù)接口被配置為當(dāng)所述待交互 數(shù)據(jù)與所述參考數(shù)據(jù)不同時限制所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲器存 儲模塊中的另一個的轉(zhuǎn)移,以及當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)相同時不限制所述轉(zhuǎn) 移。23. 根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述數(shù)據(jù)接口限制所述待交互數(shù)據(jù)的 轉(zhuǎn)移包括: 所述數(shù)據(jù)接口被配置為禁止將所述待交互數(shù)據(jù)提供給所述中央處理器和所述內(nèi)部存 儲器存儲模塊中的另一個;或者 所述數(shù)據(jù)接口被配置為用替換數(shù)據(jù)替換所述待交互數(shù)據(jù)提供給所述中央處理器和所 述內(nèi)部存儲器存儲模塊中的另一個。24. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述控制器被配置為當(dāng)所述目標(biāo)地址 不屬于所述預(yù)定地址空間時生成正常訪問信號;所述數(shù)據(jù)接口被配置為響應(yīng)于所述正常訪 問信號不比較所述待交互數(shù)據(jù)和所述參考數(shù)據(jù),并且進行正常訪問操作。25. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述預(yù)定地址空間對應(yīng)于所述內(nèi)部存 儲模塊中用于存儲指令的區(qū)域。26. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述控制器包括數(shù)據(jù)訪問接口,通過所 述數(shù)據(jù)訪問接口,所述參考數(shù)據(jù)和/或所述預(yù)定地址空間被寫入到所述控制器中。27. 根據(jù)權(quán)利要求26所述的裝置,其特征在于,所述數(shù)據(jù)訪問接口是加密接口,其被配 置為僅允許授權(quán)用戶或設(shè)備對所述控制器的數(shù)據(jù)訪問。28. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述內(nèi)部存儲器符合JEDEC雙倍速率同 步動態(tài)隨機存取存儲器標(biāo)準(zhǔn)。29. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,還包括日志記錄器,其耦接到所述控制 器,用于獲取并記錄該裝置進行安全訪問操作的歷史。30. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述控制器和所述數(shù)據(jù)接口集成在同 一芯片中,或者設(shè)置在不同的芯片中。31. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述裝置與所述內(nèi)部存儲器的存儲模 塊集成在同一電路板上。32. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述內(nèi)部存儲器的存儲模塊包括易失 性存儲器、非易失性存儲器或者易失性存儲器和非易失性存儲器的組合。33. -種內(nèi)部存儲器,其包括根據(jù)權(quán)利要求20至32中任一項所述的用于控制內(nèi)部存儲 器數(shù)據(jù)訪問的裝置。34. -種計算機系統(tǒng),其包括根據(jù)權(quán)利要求33所述的內(nèi)部存儲器。35. -種移動終端,其包括根據(jù)權(quán)利要求33所述的內(nèi)部存儲器。36. -種用于控制中央處理器對內(nèi)部存儲器數(shù)據(jù)訪問的方法,其特征在于,包括: 接收數(shù)據(jù)訪問信號,其中所述數(shù)據(jù)訪問信號包括數(shù)據(jù)訪問命令和對應(yīng)于內(nèi)部存儲器存 儲模塊中目標(biāo)存儲位置的目標(biāo)地址; 檢測所述目標(biāo)地址是否屬于預(yù)定地址空間,在所述目標(biāo)地址屬于所述預(yù)定地址空間時 生成安全訪問信號; 響應(yīng)于所述安全訪問信號,從中央處理器與內(nèi)部存儲器存儲模塊中的一個獲取待交互 數(shù)據(jù),將所述待交互數(shù)據(jù)與參考數(shù)據(jù)進行比較;以及 根據(jù)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)的比較結(jié)果確定是否限制所述待交互數(shù)據(jù)向所 述中央處理器與所述內(nèi)部存儲器存儲模塊中的另一個轉(zhuǎn)移。37. 根據(jù)權(quán)利要求36所述的方法,其特征在于,根據(jù)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù) 的比較結(jié)果確定是否限制所述待交互數(shù)據(jù)向所述中央處理器與所述內(nèi)部存儲器存儲模塊 中的另一個轉(zhuǎn)移的步驟包括: 當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)不同時限制所述待交互數(shù)據(jù)向所述中央處理器與 所述內(nèi)部存儲器存儲模塊中的另一個的轉(zhuǎn)移;以及 當(dāng)所述待交互數(shù)據(jù)與所述參考數(shù)據(jù)相同時不限制所述轉(zhuǎn)移。38. 根據(jù)權(quán)利要求37所述的方法,其特征在于,所述限制待交互數(shù)據(jù)的轉(zhuǎn)移包括: 禁止將所述待交互數(shù)據(jù)提供給所述中央處理器和所述內(nèi)部存儲器存儲模塊中的另一 個;或者 用替換數(shù)據(jù)替換所述待交互數(shù)據(jù)提供給所述中央處理器和所述內(nèi)部存儲器存儲模塊 中的另一個。39. 根據(jù)權(quán)利要求36所述的方法,其特征在于,所述方法還包括: 當(dāng)所述目標(biāo)地址不屬于所述預(yù)定地址空間時生成正常訪問信號;以及 響應(yīng)于所述正常訪問信號,不比較所述待交互數(shù)據(jù)和所述參考數(shù)據(jù),并且進行正常數(shù) 據(jù)訪問操作。40. 根據(jù)權(quán)利要求36所述的方法,其特征在于,所述預(yù)定地址空間對應(yīng)于所述內(nèi)部存 儲器存儲模塊中用于存儲指令的區(qū)域。
【文檔編號】G06F12/08GK105868125SQ201510035868
【公開日】2016年8月17日
【申請日】2015年1月23日
【發(fā)明人】山崗, 楊崇和
【申請人】瀾起科技(上海)有限公司