在移位寄存器環(huán)中的數(shù)據(jù)操作的制作方法
【專利說明】
【背景技術(shù)】
[0001]在計算設(shè)備之內(nèi)使用存儲器來存儲數(shù)據(jù)。例如,在計算設(shè)備之內(nèi)存儲和訪問數(shù)據(jù),所述計算設(shè)備諸如個人計算機、筆記本和膝上型計算機、智能電話、個人數(shù)字助理(“PDA”)、平板計算機和平板設(shè)備(slate device)、諸如MP3播放器和媒體播放器的個人娛樂設(shè)備、機頂盒、游戲控制臺、器具、嵌入式設(shè)備、智能儀表以及在諸如隨機訪問存儲器(“RAM”)的存儲器處的其他計算設(shè)備。
[0002]通常,存儲在RAM或者計算設(shè)備的其他存儲器中的數(shù)據(jù)由處理器訪問,并且由處理器基于數(shù)據(jù)執(zhí)行某些操作。例如,加密密鑰可以被存儲在存儲器處并且處理器可以訪問加密密鑰來加密或解密文檔。
【附圖說明】
[0003]參考在下圖中示出的示例,詳細描述實施例:
圖1圖示了計算設(shè)備;
圖2圖示了存儲器控制模塊;
圖3圖示了示出比特到不同位置的移位的表格;
圖4圖示了包括觸發(fā)器(flip-flop)的存儲器單元;
圖5圖示了控制觸發(fā)器的輸入的電路;
圖6圖示了針對在圖5中示出的電路的真值表;
圖7圖示了連接到移位寄存器和時鐘選擇以及時鐘使能電路的位置指示器電路;
圖8圖示了針對被用于寫數(shù)據(jù)操作的存儲器控制模塊的電路;
圖9圖示了針對寫數(shù)據(jù)操作的時序圖;
圖10圖示了針對被用于讀數(shù)據(jù)操作的存儲器控制模塊的電路;
圖11圖示了針對讀數(shù)據(jù)操作的時序圖;
圖12圖示了控制邏輯電路;并且圖13示出了方法。
【具體實施方式】
[0004]為了簡單和說明性的目的,通過主要參考實施例的示例來描述實施例的原理。在以下描述中,為了提供對實施例的徹底理解,記載了許多具體的細節(jié)。顯然,可以實行實施例而不限于所有的具體細節(jié)。另外,可以以各種組合一起使用實施例。
[0005]有時存儲在存儲器中的數(shù)據(jù)針對實際上(literally)數(shù)年的操作而不改變。例如,加密密鑰可以在延長的時段上被存儲在相同的存儲器位置中并且被多次讀,但從未被刪除或者改變。當數(shù)據(jù)在長的時段上被存儲在相同的存儲器位置中時,由于存儲器的各種性質(zhì),可以出現(xiàn)存儲器印記(imprinting)。例如,通常存儲器包括在存儲器之內(nèi)的半導體器件,其基于存儲器單元的狀態(tài)(例如,電荷值、電阻值或某些其他狀態(tài))存儲信息(或數(shù)據(jù)值)。由于存儲器的各種性質(zhì),諸如制造工藝、摻雜劑的類型和量、溫度、組成或其他性質(zhì),在延長的時段上數(shù)據(jù)(或數(shù)據(jù)值)在相同的存儲器位置的存儲可以改變存儲器的物理特性,使得數(shù)據(jù)被印記在存儲器單元中。作為該存儲器印記的結(jié)果,甚至在數(shù)據(jù)被刪除或蓋寫之后或者在易失性存儲器已經(jīng)被斷電之后也可以確定或讀取被存儲在存儲器單元中的數(shù)據(jù)。換言之,存儲器可以易受數(shù)據(jù)的印記的影響。如果存儲器在從存儲器刪除數(shù)據(jù)之后丟棄的計算設(shè)備中,則未授權(quán)用戶仍然可能從計算設(shè)備訪問數(shù)據(jù),如果數(shù)據(jù)被印記的話。
[0006]根據(jù)實施例,被存儲在存儲器的各種存儲器單元處的數(shù)據(jù)集合的數(shù)據(jù)值被周期性地移動到該存儲器的其他存儲器單元。例如通過防止存儲器單元對特定數(shù)據(jù)值的延長時間的暴露,數(shù)據(jù)的周期性移動使存儲器印記的可能性最小化。
[0007]用于存儲數(shù)據(jù)的存儲器可以包括面向比特(bit-oriented)的架構(gòu)。例如,存儲器可以包括由單比特觸發(fā)器的存儲陣列組成的移位寄存器環(huán),每個單比特觸發(fā)器存儲單個比特的數(shù)據(jù)。當將數(shù)據(jù)的字移位通過存儲器時,非印記的質(zhì)量與在所有的值之中的漢明距離有關(guān)。例如,如果邏輯I存在于大部分數(shù)據(jù)的字的相同位置中,則該位置遭受減少的非印記有效性,如果將數(shù)據(jù)逐字節(jié)地移動到不同的存儲器位置的話。然而,移位寄存器環(huán)可以將所有比特順序地移位通過存儲陣列,并且每個比特攜帶針對非印記的相等的有效性,如與將整個字逐字節(jié)地移位到可能遭受減小的非印記有效性的不同的存儲器位置相反的那樣。
[0008]微處理器可以通過數(shù)據(jù)操作控制電路訪問包括移位寄存器環(huán)的存儲器??梢允褂面i存器來訪問存儲器并且可以使用兩個時鐘來管理在存儲器中的數(shù)據(jù)移位。在靜止(quiescent)條件下,可以使用例如0.01-1.0 Hz的慢時鐘來對在存儲器中的數(shù)據(jù)進行移位??梢允褂每鞎r鐘以針對在存儲器和微處理器之間的諸如讀或?qū)懙臄?shù)據(jù)操作對齊數(shù)據(jù)。快時鐘可以與電路可以處理的一樣快,使用快時鐘來對齊數(shù)據(jù)以使微處理器的等待時間最小化,使得可以執(zhí)行數(shù)據(jù)操作。以這種方式,避免存儲器印記的、在存儲器中的低功率但緩慢的數(shù)據(jù)移位兩者可以與用于對齊數(shù)據(jù)以執(zhí)行數(shù)據(jù)操作的、快速但較高功率的要求共存。
[0009]圖1圖示了包括具有存儲器141的存儲器控制模塊140的計算設(shè)備100。存儲器141可以包括諸如半導體存儲器之類的物理設(shè)備,所述物理設(shè)備包括存儲器單元以存儲數(shù)據(jù)。在一個示例中,存儲器單元包括如以下進一步描述的移位寄存器。計算設(shè)備100還包括處理器110、通信接口 120和存儲設(shè)備130。處理器110是多種處理器中的任何處理器。例如,處理器110可以是被實現(xiàn)為硬件模塊和/或托管在硬件模塊處的軟件模塊的專用處理器或者通用處理器。硬件模塊可以是例如微處理器、微控制器、專用集成電路(“ASIC”)、諸如現(xiàn)場可編程門陣列(“FPGA”)之類的可編程邏輯器件(“PLD”)和/或執(zhí)行操作的其他電子電路。軟件模塊可以是例如被存儲在存儲器處并在另一處理器處執(zhí)行的指令、命令和/或代碼??梢允褂弥T如Java?、C++、C、匯編語言、硬件描述語言和/或其他合適的編程語言的一種或多種的編程語言來限定這樣的軟件模塊。例如,處理器可以是被托管在包括微處理器和存儲器的計算機服務(wù)器處的虛擬機。
[0010]在某些實施中,處理器110可以包括多個處理器。例如,處理器110可以是包括多個處理引擎(例如,計算、算法或線程核心)的微處理器。作為另一示例,處理器110可以是包括多個處理器的計算設(shè)備,所述多個處理器具有共享的時鐘、存儲器總線、輸入/輸出總線和/或其他共享的資源。更進一步地,處理器110可以是分布式處理器。例如,處理器110可以包括多個計算設(shè)備,每個包括處理器,經(jīng)由諸如計算機網(wǎng)路的通信鏈路彼此通信。
[0011]處理器110可操作地耦合到通信接口 120、存儲設(shè)備130以及存儲器控制模塊140。存儲設(shè)備130可以存儲機器可讀的指令或代碼(例如,計算機代碼或目標代碼),其限定在計算設(shè)備100的操作期間由處理器110執(zhí)行的軟件模塊。例如,存儲設(shè)備130包括限定操作系統(tǒng)131、設(shè)備驅(qū)動132和應(yīng)用133 (例如,軟件應(yīng)用程序)的指令。換言之,操作系統(tǒng)131、設(shè)備驅(qū)動132、應(yīng)用133以及被作為指令(未示出)存儲在存儲設(shè)備130處并且在處理器110處執(zhí)行的其他軟件模塊被托管在計算設(shè)備100處。應(yīng)用133可以包括例如應(yīng)用軟件模塊、管理程序(hypervisor)、虛擬機模塊或者諸如運行時間環(huán)境或虛擬機實例之類的環(huán)境。作為具體示例,應(yīng)用133可以包括諸如文件加密應(yīng)用之類的密碼服務(wù)。
[0012]存儲設(shè)備130可以包括易失性存儲器和/或非易失性(或非瞬時性)存儲器或諸如硬盤驅(qū)動器(“HDD”)、固態(tài)驅(qū)動器(“SSD”)、閃存驅(qū)動器之類的處理器可讀介質(zhì)(未示出),或者存儲設(shè)備130與數(shù)據(jù)存儲服務(wù)通信(例如,經(jīng)由通信接口 120和諸如通信網(wǎng)絡(luò)的通信鏈路),在數(shù)據(jù)存儲服務(wù)處軟件應(yīng)用(例如,當在處理器處執(zhí)行時實現(xiàn)軟件應(yīng)用的計算機代碼或指令)、數(shù)據(jù)或者其組合可以由處理器110存儲并訪問。這樣的軟件應(yīng)用、數(shù)據(jù)或其組合可以被處理器110移動或者復制到存儲設(shè)備130,并且在計算設(shè)備100的操作期間可以在存儲設(shè)備130處由處理器110訪問。
[0013]處理器可讀介質(zhì)的示例包括但不限于:諸如硬盤、軟盤和/或磁帶之類的磁存儲介質(zhì);諸如壓縮盤(“⑶”)、數(shù)字視頻盤(“DVD”)、壓縮盤只讀存儲器(“⑶-ROM”)和/或全息設(shè)備之類的光存儲介質(zhì);磁光存儲介質(zhì);諸如只讀存儲器(“R0M”)、可編程只讀存儲器(“PR0M”)、可擦除可編程