專利名稱::帶有流中數(shù)據(jù)加密/解密的存儲(chǔ)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明總體上涉及存儲(chǔ)器系統(tǒng),尤其涉及一種帶有流中數(shù)據(jù)加密/解密的存儲(chǔ)器系統(tǒng)。
背景技術(shù):
:移動(dòng)裝置市場(chǎng)正在朝著包括內(nèi)容存儲(chǔ)的方向發(fā)展,以使得通過生成更多的數(shù)據(jù)交換來增加平均收益。這就意味著內(nèi)容被存儲(chǔ)到移動(dòng)裝置上時(shí)必須受到保護(hù)。便攜式存儲(chǔ)裝置在商業(yè)中已經(jīng)使用許多年了。它們從一個(gè)計(jì)算裝置到另一個(gè)計(jì)算裝置載入數(shù)據(jù)或用于存儲(chǔ)備份數(shù)據(jù)。更加復(fù)雜的便攜式存儲(chǔ)裝置,諸如便攜式硬盤驅(qū)動(dòng)器、便攜式快閃存儲(chǔ)盤以及快閃存儲(chǔ)卡,還包括用于控制該存儲(chǔ)管理的微處理器。為了保護(hù)存儲(chǔ)在便攜式存儲(chǔ)裝置中的內(nèi)容,所存儲(chǔ)的數(shù)據(jù)通常被加密,只有被授權(quán)的用戶才允許將該數(shù)據(jù)解密。在具有已被提出的密碼化能力的便攜式存儲(chǔ)裝置中,用于存儲(chǔ)管理的微處理器也緊密地被用在加密和解密處理過程中。例如,在美國(guó)專利6,457,126中描述了此種系統(tǒng)。在這種情況下,存儲(chǔ)裝置的吞吐量和性能就會(huì)受到嚴(yán)重影響。因此,需要有一種能緩解此問題的、改進(jìn)了的本地存儲(chǔ)裝置。
發(fā)明內(nèi)容本發(fā)明的一方面是基于認(rèn)可存儲(chǔ)器系統(tǒng)的吞吐量可以被提高,其中,當(dāng)數(shù)據(jù)流中的數(shù)據(jù)被傳送到非易失性存儲(chǔ)單元或從非易失性存儲(chǔ)單元提取數(shù)據(jù)流中的數(shù)據(jù)時(shí),在不密切地涉及任何控制器或微處理器的情況下,數(shù)據(jù)流中的數(shù)據(jù)由電路進(jìn)行密碼化處理。在一個(gè)實(shí)施例中,控制器僅僅涉及設(shè)置用于密碼化處理過程中的參數(shù)而并不涉及該處理過程。在該實(shí)施例的一個(gè)執(zhí)行中,通過配置寄存器來設(shè)置這些參數(shù)。存儲(chǔ)單元優(yōu)選地包括快閃存儲(chǔ)單元。同樣優(yōu)選地,存儲(chǔ)單元、用于加密和/或解密數(shù)據(jù)的電路以及控制所述單元和該電路的控制器都被置于并封裝到諸如存儲(chǔ)卡或棒的實(shí)體內(nèi)。數(shù)據(jù)可被成頁地寫入存儲(chǔ)單元中或從存儲(chǔ)單元中被成頁地讀取。在許多用于加密和解密的傳統(tǒng)的密碼化算法中對(duì)通常小于頁的數(shù)據(jù)單位進(jìn)行操作。。因此,本發(fā)明的其它方面是基于以下認(rèn)可密碼化電路密碼化處理正在被讀取或?qū)懭氲臄?shù)據(jù)流中的一頁或多頁數(shù)據(jù),以及數(shù)據(jù)流可以被控制,從而使得在全不涉及控制器的情況下,數(shù)據(jù)流具有多個(gè)源中所選擇的源和多個(gè)目的地中所選擇的目的地。根據(jù)本發(fā)明的其它方面,可配置密碼化電路,以啟用多個(gè)算法中的一個(gè)或多個(gè)密碼化算法的選擇,從而在不涉及控制器或微處理器的情況下進(jìn)行加密和/或解密。也可以配置電路,以使得在該配置之后,在不涉及控制器的情況下,該電路在多個(gè)連續(xù)階段中密碼化處理數(shù)據(jù)流中的數(shù)據(jù)。在該配置之后,在不涉及控制器的情況下,多個(gè)連續(xù)階段中的密碼化處理過程可以采用多于一個(gè)的密鑰并且可以使用多于一種類型的密碼化處理過程。為了某些應(yīng)用,可能希望存儲(chǔ)器系統(tǒng)處理多于一個(gè)的數(shù)據(jù)流。在此情況下,控制器控制存儲(chǔ)單元和電路,從而可以交錯(cuò)方式來密碼化處理不同數(shù)據(jù)流中的數(shù)據(jù)。優(yōu)選地,當(dāng)數(shù)據(jù)流的處理在所述交錯(cuò)期間被中斷時(shí),用于密碼化處理每個(gè)數(shù)據(jù)流的各種參數(shù)都被存儲(chǔ)起來,以使得當(dāng)此數(shù)據(jù)流的處理重新進(jìn)行時(shí),可以還原這些參數(shù),從而繼續(xù)進(jìn)行密碼化處理。在該特征的一個(gè)執(zhí)行中,在啟動(dòng)寫入操作時(shí)創(chuàng)建安全配置記錄,以設(shè)置用于密碼化處理的各種參數(shù),并且這些參數(shù)在會(huì)話結(jié)束時(shí)被存儲(chǔ)。然后,當(dāng)讀取操作啟動(dòng)時(shí),從存儲(chǔ)器中提取該記錄,并在該操作的最后將之丟棄。當(dāng)數(shù)據(jù)流被暫時(shí)中斷以處理其它的數(shù)據(jù)流時(shí),也將該記錄存儲(chǔ)起來,并且當(dāng)原來的數(shù)據(jù)流的處理重新進(jìn)行時(shí),將該記錄提取出。上面描述的本發(fā)明的各方面可以單獨(dú)使用或以它們的任意組合方式使用。圖1是用于說明本發(fā)明的與主機(jī)裝置進(jìn)行通信的存儲(chǔ)器系統(tǒng)的結(jié)構(gòu)框圖。圖2是圖1的密碼化引擎的某些方面的結(jié)構(gòu)框圖。圖3是用于說明本發(fā)明一方面的優(yōu)選實(shí)施例的圖1中的系統(tǒng)的操作的流程圖。圖4是用于說明圖1中的系統(tǒng)在處理多個(gè)數(shù)據(jù)流的操作以及安全配置記錄的使用的流程圖。為了便于描述,在本申請(qǐng)中用相同的標(biāo)號(hào)來標(biāo)示相同的組件。具體實(shí)施方式圖1的結(jié)構(gòu)框圖描述了本發(fā)明的各方面可在其中被執(zhí)行的實(shí)例存儲(chǔ)器系統(tǒng)。如圖1所示,該存儲(chǔ)器系統(tǒng)IO包括中央處理單元(CPU)12、緩沖器管理單元(BMU)14、主機(jī)接口模塊(HIM)16和快閃接口模塊(FIM)18、快閃存儲(chǔ)器20以及外圍存取模塊(PAM)22。存儲(chǔ)器系統(tǒng)10通過主機(jī)接口總線26和端口26a與主機(jī)裝置24進(jìn)行通信??梢允荖AND類型的快閃存儲(chǔ)器20為主機(jī)裝置24提供數(shù)據(jù)存儲(chǔ)。用于CPU12的軟件代碼也可以存儲(chǔ)在快閃存儲(chǔ)器20中。FIM18通過快閃接口總線28和端口28a連接至快閃存儲(chǔ)器20。HIM16適用于連接到類似數(shù)碼相機(jī)、個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、數(shù)字媒體播放器、MP3播放器,以及蜂窩移動(dòng)電話或其它數(shù)字裝置的主機(jī)系統(tǒng)。外圍存取模塊22選擇諸如用于與CPU12進(jìn)行通信的FIM、HIM以及BMU的適當(dāng)?shù)目刂破髂K。在一個(gè)實(shí)施例中,虛線框內(nèi)的系統(tǒng)10的所有組件可以包含在諸如存儲(chǔ)卡或棒10'的單個(gè)單元中,并且優(yōu)選地被封裝在該卡或棒中。緩沖器管理單元14包括主機(jī)直接存儲(chǔ)器存取(HDMA)32、快閃直接存儲(chǔ)器存取(FDMA)控制器34、仲裁器36、緩沖器隨機(jī)存取存儲(chǔ)器(BRAM)38以及密碼引擎40。仲裁器36是共享總線仲裁器,以使僅僅一個(gè)主導(dǎo)裝置(master)或啟動(dòng)器(initiator)(其可以是HDMA32、FDMA34或CPU12)可在任何時(shí)間起作用,以及從屬裝置(slave)或目標(biāo)裝置(target)是BRAM38。仲裁器負(fù)責(zé)將適當(dāng)?shù)膯?dòng)器請(qǐng)求導(dǎo)入BRAM38中。HDMA32和FDMA34都負(fù)責(zé)數(shù)據(jù)在HIM16、FIM18和BRAM38或CPU隨機(jī)存取存儲(chǔ)器(CPURAM)12a之間的傳送。HDMA32和FDMA34的操作是常規(guī)的,并且沒有必要在這里詳細(xì)描述。BRAM38用于緩沖在主機(jī)裝置24、快閃存儲(chǔ)器20和CPURAM12a之間傳遞的數(shù)據(jù)。HDMA32和FDMA34都負(fù)責(zé)在HIM16/FM18和BRAM38或CPURAM12a之間傳送數(shù)據(jù)以及用于指出扇區(qū)傳送的完成。首先,當(dāng)主機(jī)裝置24讀取來自快閃存儲(chǔ)器20的數(shù)據(jù)時(shí),通過快閃接口總線28、FIM18、FDMA34、經(jīng)加密的數(shù)據(jù)在其中被解密并存儲(chǔ)在BRAM38中的密碼引擎40來提取存儲(chǔ)器20中所經(jīng)加密的數(shù)據(jù)。然后,通過HDMA32、HIM16、主機(jī)接口總線26將經(jīng)解密的數(shù)據(jù)從BRAM38傳送到主機(jī)裝置24。從BRAM38提取的數(shù)據(jù)可在其被傳遞到HDMA32之前,再次由密碼引擎40進(jìn)行加密,從而使傳送到主機(jī)裝置24的數(shù)據(jù)被再次加密,但是,與存儲(chǔ)在存儲(chǔ)器20中的數(shù)據(jù)被解密相比,使用了不同的密鑰和/或算法。優(yōu)選地,以及在另一實(shí)施例中,上述過程中不是將經(jīng)解密的數(shù)據(jù)存儲(chǔ)在BRAM38中,這樣數(shù)據(jù)可能變得易被未經(jīng)授權(quán)存取,而是,來自存儲(chǔ)器20的數(shù)據(jù)可以被解密并且在其被傳送到BRAM38之前再次被密碼引擎40加密。然后,BRAM38中被加密的數(shù)據(jù)如前所述被傳送到主機(jī)裝置24。這就說明了在讀取過程中的數(shù)據(jù)流。當(dāng)數(shù)據(jù)由主機(jī)裝置24寫入存儲(chǔ)器20時(shí),數(shù)據(jù)流的方向被反轉(zhuǎn)。舉例來說,如果未被加密的數(shù)據(jù)由主機(jī)裝置通過主機(jī)接口總線26、HIM16、HDMA32傳送到密碼引擎40,則這樣的數(shù)據(jù)可以在被存儲(chǔ)到BRAM38之前由密碼引擎40加密。另外,未被加密的數(shù)據(jù)可以存儲(chǔ)在BRAM38中。然后,數(shù)據(jù)在其通向存儲(chǔ)器20的通道上被傳送到FDMA34之前被加密。有鑒于被寫入的數(shù)據(jù)經(jīng)歷多級(jí)密碼化處理,優(yōu)選地,在經(jīng)處理的數(shù)據(jù)被存儲(chǔ)到BRAM38中之前,密碼引擎40完成此處理過程。本發(fā)明的一個(gè)方面基于以下認(rèn)可如果在主機(jī)裝置24和存儲(chǔ)器20之間傳遞的數(shù)據(jù)流中的數(shù)據(jù)的上述密碼化處理可以在最小程度涉及CPU12的情況下被執(zhí)行,則裝置IO的吞吐量和由此導(dǎo)致的性能可以被大大改進(jìn)。在下面對(duì)圖1的描述中對(duì)此進(jìn)行說明。在上述的過程中,己經(jīng)描述了具有兩個(gè)不同數(shù)據(jù)源和目的地的數(shù)據(jù)流。在讀取過程中,數(shù)據(jù)源是存儲(chǔ)器20以及目的地是主機(jī)裝置24。在寫入過程中,數(shù)據(jù)源是主機(jī)裝置24以及目的地是存儲(chǔ)器20。另外,數(shù)據(jù)源(或目的地)也可以是CPU12,而相應(yīng)的目的地(或數(shù)據(jù)源)為存儲(chǔ)器20。然而在另一個(gè)操作中,為了批量加密和哈希(hash)操作,數(shù)據(jù)流可以從BMU14流向CPU12。在下面的表格中給出了數(shù)據(jù)輸入源和數(shù)據(jù)輸出目的地以及可被應(yīng)用的相應(yīng)密碼化處理過程的各種組合。<table>tableseeoriginaldocumentpage12</column></row><table>如上述表格所示,一個(gè)附加的操作模式是旁路模式,其使FDMA34在沒有對(duì)數(shù)據(jù)流進(jìn)行任何密碼化操作的情況下能夠沿著旁路通道(未在圖1中示出)存取CPU12或BRAM38,好像并不存在密碼引擎40而且HDMA和FDMA都沿著此旁路通道通過仲裁器36直接連接至BRAM38。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過設(shè)置圖2(其是圖1的密碼引擎40的某些功能模塊的結(jié)構(gòu)框圖)中的配置寄存器52,CPU12可以從多個(gè)數(shù)據(jù)源、多個(gè)目的地以及多個(gè)算法中預(yù)選擇諸如數(shù)據(jù)源、數(shù)據(jù)目的地的處理參數(shù)以及諸如將被應(yīng)用的密碼化算法(或旁路模式)的密碼化參數(shù)。圖2是更詳細(xì)地示出其某些部件的密碼引擎40的結(jié)構(gòu)框圖。如圖2所示,密碼引擎40包括密碼化模塊50、配置寄存器52,根據(jù)上面的表格和將被使用的密鑰(除了旁路模式之外),以及數(shù)據(jù)是否被加密、被解密或被哈?;?其被包含在短語"被加密處理"中)或不被密碼化處理,配置寄存器52存儲(chǔ)關(guān)于所選擇的數(shù)據(jù)源、所選擇的數(shù)據(jù)目的地、以及將被采用的密碼化算法或旁路模式的安全配置信息或安全配置記錄。安全配置信息或記錄可以由CPU12寫入配置寄存器52中。在這些信息被存儲(chǔ)到配置寄存器52之后,密碼引擎40然后就在不涉及CPU12的情況下執(zhí)行相應(yīng)的密碼化處理過程。許多公共的加密算法將128位數(shù)據(jù)作為一個(gè)單位進(jìn)行處理。這就可能小于一次寫入或讀取諸如快閃存儲(chǔ)器的存儲(chǔ)裝置的多頁數(shù)據(jù)一頁的尺寸。每頁通常存儲(chǔ)一個(gè)或多個(gè)扇區(qū)的數(shù)據(jù),扇區(qū)的大小由主機(jī)系統(tǒng)定義。在遵循磁盤驅(qū)動(dòng)器所建立的標(biāo)準(zhǔn)之下,一個(gè)例子是由512字節(jié)用戶數(shù)據(jù)的扇區(qū)加上關(guān)于用戶數(shù)據(jù)的和/或這些數(shù)據(jù)存儲(chǔ)在其中的塊的開銷信息(overheadinformation)的一些字節(jié)數(shù)。在密碼引擎40中可以采用計(jì)算機(jī)邏輯電路(未示出),以使得在由密碼引擎40進(jìn)行的密碼化過程中不必涉及CPU12,從而使整頁數(shù)據(jù)每次均以小于一頁的單位被密碼引擎40進(jìn)行密碼化處理。在一個(gè)實(shí)施例中,密碼引擎40是硬件電路。如圖2所示,方塊框S4、56和58表示可以由CPU選擇以被密碼化模塊50執(zhí)行的三種不同的密碼化算法(分別為Hash、DES、AES)。不同于這些算法的密碼化算法也可以被使用并且也處在本發(fā)明的范圍之內(nèi)。將由密碼化模塊50處理的和發(fā)源自主機(jī)裝置24或存儲(chǔ)器20或CPU12的數(shù)據(jù)首先被存儲(chǔ)在輸入緩沖器62中,然后,由密碼化模塊50根據(jù)配置寄存器52中指定的密碼化算法進(jìn)行密碼化處理。再后,經(jīng)密碼化處理的數(shù)據(jù)在根據(jù)配置寄存器52中的目的地信息而被傳送到目的地中之前,先被存儲(chǔ)到輸出緩沖器64中。圖2也包括從輸入緩沖器62到輸出緩沖器64的旁路通道72,在該旁路通道72上寫入存儲(chǔ)器20或從存儲(chǔ)器20讀取的數(shù)據(jù)沒有被密碼化處理,這就是表格中的模式之一和上面描述的一種情況。配置寄存器52也可以存儲(chǔ)將被用在密碼化過程中的密鑰。在一個(gè)實(shí)施例中,該密鑰被CPU12(諸如從存儲(chǔ)器20中)提取并在由密碼化模塊50加密或解密之前先被存儲(chǔ)到配置寄存器S2中。在CPU12將相關(guān)信息寫入配置寄存器52之后,在沒有涉及CPU12的情況下,上述過程發(fā)生在密碼引擎40中。為簡(jiǎn)化圖2,已經(jīng)省略了某些計(jì)算機(jī)邏輯電路,它們使用配置寄存器52中的信息以選擇密碼引擎40中的算法、數(shù)據(jù)源和目的地,以及使用用于密碼化處理過程的唯一的密鑰和所選擇的算法。在把所處理過的數(shù)據(jù)傳送到輸出緩沖器64之前,可以不止一次使用密碼化模塊50來處理輸入緩沖器62中的數(shù)據(jù)。例如,希望首先對(duì)來自數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行解密,以及接著在將所解密過的數(shù)據(jù)傳送至輸出緩沖器64之前使用不同的密鑰和/或算法加密所解密的數(shù)據(jù)。除了加密或解密數(shù)據(jù)之外,為確保數(shù)據(jù)的完整性,還將哈希算法應(yīng)用于數(shù)據(jù)以獲得數(shù)據(jù)的摘要(digest)或哈希值也是有益的。在所有這些情況中,或是通過使用密鑰解密然后使用不同的密鑰加密,或是為了獲得摘要以及加密或解密數(shù)據(jù),希望由密碼化模塊50對(duì)數(shù)據(jù)進(jìn)行兩次處理。很明顯,也可以由密碼化模塊50對(duì)該數(shù)據(jù)進(jìn)行多于兩次的處理,例如,在順序的階段(多級(jí)操作)中連續(xù)發(fā)生的數(shù)據(jù)被解密、哈希化、然后被加密。換句話說,在多級(jí)(例如,具有兩個(gè)或更多階段)過程中,為了密碼化模塊50的多次處理,通過將己經(jīng)被密碼化模塊50處理過的輸出緩沖器64中的數(shù)據(jù)沿著反饋通道66傳送至輸入緩沖器62,數(shù)據(jù)可以不止一次通過密碼化模塊50。如果設(shè)想有多于兩個(gè)階段,則數(shù)據(jù)可以為了額外的處理過程被反饋額外次數(shù)。在過程的每一階段,都可使用不同的算法和/或密鑰。如果希望進(jìn)行多級(jí)處理過程,則CPU12可用于將安全配置信息或記錄輸入到配置寄存器52中以確定數(shù)據(jù)被密碼化處理的次數(shù)、以及多級(jí)處理過程中每個(gè)階段使用的密鑰和/或算法。在將這些信息寫入配置寄存器52之后,多級(jí)處理過程中就不必要涉及CPU12了。當(dāng)圖1中的存儲(chǔ)器系統(tǒng)10包括快閃存儲(chǔ)器時(shí),該系統(tǒng)可以另外包括其它類型可替代的非易失性存儲(chǔ)器,諸如磁盤、光學(xué)CD,以及所有其它類型的可再寫非易失性存儲(chǔ)器系統(tǒng),并且上述各種優(yōu)點(diǎn)可以等同地應(yīng)用到這些可選的實(shí)施例中。在可選實(shí)施例中,存儲(chǔ)器也可以優(yōu)選地隨同該存儲(chǔ)器系統(tǒng)的余下的元件一起被封裝到同一實(shí)體(諸如存儲(chǔ)卡或棒)中。圖3的流程圖說明了操作系統(tǒng)10的讀取過程。CPU12在從主機(jī)裝置24接收到讀取指令之后啟動(dòng)讀取操作(橢圓150)。然后,CPU12通過將適當(dāng)?shù)陌踩渲眯畔⒒蛴涗泴懭肱渲眉拇嫫鱏2來配置密碼引擎40,以及配置用于讀取操作的BMU14,和用于操作的諸如存儲(chǔ)空間在BRAM38中的分配的其它的參數(shù)(方框152、154)。CPU12還配置FIM18,例如通過確定存儲(chǔ)器20中數(shù)據(jù)將被讀取的位置(方框156)的方式。然后,啟動(dòng)HDMA引擎32和FDMA引擎34,從而,在沒有涉及CPU的情況下(除糾錯(cuò)之外),就可執(zhí)行包括密碼化過程的上述過程。參看方框158,當(dāng)CPU接收到中斷信號(hào)時(shí),其檢查以確認(rèn)該中斷信號(hào)是否是FIM中斷信號(hào)(菱形160)。當(dāng)接收到FIM中斷信號(hào)時(shí),該CPU進(jìn)行檢査以確認(rèn)該中斷信號(hào)是否是指示在數(shù)據(jù)流中存在一個(gè)或多個(gè)錯(cuò)誤的中斷信號(hào)(162)。如果錯(cuò)誤被指示,則CPU繼續(xù)糾正BRAM38中的錯(cuò)誤(方框164)并且返回去配置FIM18以改變下次在存儲(chǔ)器20中數(shù)據(jù)將被讀取的位置(方框156)。當(dāng)FIM中斷信號(hào)沒有指示數(shù)據(jù)流中的錯(cuò)誤時(shí),其意味著FIM已經(jīng)完成其操作并且CPU也返回方框156以重新配置FIM。如果由CPU探測(cè)到的中斷信號(hào)不是FIM中斷信號(hào),則CPU進(jìn)行檢査以確認(rèn)其是否數(shù)據(jù)中斷信號(hào)結(jié)束(菱形166)。如果是,然后讀取操作結(jié)束(橢圓168)。如果不是,則該中斷信號(hào)與數(shù)據(jù)的密碼化處理過程不相關(guān)(即,時(shí)鐘中斷信號(hào))并且CPU將其維護(hù)(未示出)并返回菱形160以進(jìn)行中斷信號(hào)檢査。對(duì)于寫操作,僅需簡(jiǎn)單修改圖3。因?yàn)椴淮嬖趯?duì)將被寫入存儲(chǔ)器20中的數(shù)據(jù)中ECC錯(cuò)誤的處理,所以在寫入操作中CPU12可以跳過菱形162和方框164中的過程。如果在寫入操作中CPU12接收到FIM中斷信號(hào),這意味著IFM已經(jīng)完成了其操作,并且CPU也返回方框156以重新配置FIM。除此不同之處,寫入操作基本上類似于讀取操作。因此,一旦配置好密碼引擎40、BMU14和FIM18,則系統(tǒng)10就能夠密碼化處理所有數(shù)據(jù)(除旁路模式之外),并且在不涉及CPU12的情況下,完成用于會(huì)話的所有頁的寫入或讀取,即使密碼引擎40可以處理比頁更小的單位的數(shù)據(jù)。交錯(cuò)數(shù)據(jù)流為了處理多個(gè)數(shù)據(jù)流,希望多個(gè)主機(jī)應(yīng)用程序能夠以并行的方式存取存儲(chǔ)器20。這就意味著,為了存儲(chǔ)器系統(tǒng)10處理另外不同的數(shù)據(jù)流,當(dāng)一個(gè)數(shù)據(jù)流的密碼化處理過程被中斷時(shí),其也許還未完成。不同數(shù)據(jù)流的密碼化處理過程通常采用不同的參數(shù)(例如,不同的密鑰和算法,以及不同的數(shù)據(jù)源和目的地)。這些參數(shù)提供在數(shù)據(jù)流的相應(yīng)的安全配置記錄中。為了確保當(dāng)已經(jīng)中斷的特定數(shù)據(jù)流的處理過程稍后被恢復(fù)時(shí)其相應(yīng)的安全配置記錄不被丟失,此記錄被存儲(chǔ),并優(yōu)選地存儲(chǔ)在CPURAM12a中。一旦恢復(fù)先前被中斷的數(shù)據(jù)流的處理時(shí),CPU12就提取被存儲(chǔ)的用于此數(shù)據(jù)流的安全配置記錄,從而可以根據(jù)被存儲(chǔ)的相應(yīng)安全配置記錄,使用正確參數(shù)繼續(xù)進(jìn)行該數(shù)據(jù)流的恢復(fù)性密碼化處理過程。圖4是用于說明圖1和圖2中的系統(tǒng)在處理多個(gè)數(shù)據(jù)流的操作和安全配置記錄的使用的流程圖。CPU檢查是否已經(jīng)接收到主機(jī)指令(方框202、菱形204)。當(dāng)接收到主機(jī)指令(例如用于密碼化處理第一數(shù)據(jù)流的指令)后,CPU檢查關(guān)于該指令是否是啟動(dòng)會(huì)話指令,諸如用于第一應(yīng)用程序在裝置24上運(yùn)行的指令(菱形206)。如果是,然后CPU檢查是否已經(jīng)請(qǐng)求寫入會(huì)話(WriteSession)(菱形208)。如果已經(jīng)請(qǐng)求寫入會(huì)話,那么CPU根據(jù)來自主機(jī)裝置的信息來創(chuàng)建安全配置記錄(例如,根據(jù)上述表格和將被使用的密鑰,以及數(shù)據(jù)是否將被加密、解密或被哈?;?,所述安全配置記錄為所選擇的數(shù)據(jù)源、所選擇的數(shù)據(jù)目的地,以及將被采用的密碼化算法)(方框210),并且啟動(dòng)用于第一數(shù)據(jù)流的第一會(huì)話。CPU12將這些安全配置信息或記錄存儲(chǔ)在CPURAM12a中。如果所請(qǐng)求的會(huì)話是讀取會(huì)話,則CPU從存儲(chǔ)器20中讀取用于將被讀取的數(shù)據(jù)的安全配置記錄(方框240)并將其存儲(chǔ)到CPURAM12a中。然后CPU返回并等待進(jìn)一步的主機(jī)指令(202)。當(dāng)CPU接收到另一主機(jī)指令時(shí),其再次檢查以確認(rèn)該指令是否是啟動(dòng)會(huì)話指令(菱形206)。如果是,那么可以通過繼續(xù)進(jìn)行方框210或方框240來啟動(dòng)第二會(huì)話,例如,請(qǐng)求對(duì)第二數(shù)據(jù)流進(jìn)行密碼化處理的用于運(yùn)行在主機(jī)裝置24上的不同的第二應(yīng)用程序的新的第二會(huì)話。再次將用于此第二數(shù)據(jù)流的安全配置信息或記錄存儲(chǔ)到CPURAM12a中,這是寫入和讀取會(huì)話都存在的情形(方框210,240)??梢允褂猛瑯拥姆绞綖榱硗獾臄?shù)據(jù)流創(chuàng)建另外的會(huì)話。CPU返回方框202,并檢査下一個(gè)主機(jī)指令以確認(rèn)該主機(jī)指令是否是啟動(dòng)會(huì)話指令(菱形206)。因此,如所述來創(chuàng)建另外的會(huì)話,直到CPU12探測(cè)到不是菱形206中的啟動(dòng)會(huì)話指令的主機(jī)指令。在此情況下,CPU12檢查下一個(gè)主機(jī)指令以確認(rèn)該主機(jī)指令是否會(huì)話指令結(jié)束(菱形222)。如果不是,則CPU然后檢査以確認(rèn)其是否是數(shù)據(jù)指令(菱形224)。假設(shè)其是數(shù)據(jù)指令,則CPU確定哪個(gè)數(shù)據(jù)流是將被處理的數(shù)據(jù)流,并且根據(jù)用于該數(shù)據(jù)流的安全配置記錄(通過寫入配置寄存器52)來配置密碼引擎40,并且密碼引擎40以諸如根據(jù)圖3中的過程的上述方式(或以旁路模式旁路密碼引擎40)執(zhí)行讀取或?qū)懭氩僮?方框226)。如果在讀取或?qū)懭氲倪^程中沒有中斷信號(hào),則該過程將會(huì)繼續(xù)進(jìn)行直到CPU接收到結(jié)束會(huì)話指令(方框222),這意味著在會(huì)話中將要被處理的所有頁都已經(jīng)被處理了。然而,如果存在中斷信號(hào),CPU將接收主機(jī)數(shù)據(jù)指令以處理來自與系統(tǒng)10當(dāng)前正在處理的數(shù)據(jù)流不同的數(shù)據(jù)流中的數(shù)據(jù)。在此種情況下,需要重新配置密碼引擎40以處理此不同的數(shù)據(jù)流。然后,CPU從CPURAM12a中提取用于此不同數(shù)據(jù)流的安全配置記錄,(通過將提取的記錄寫入配置寄存器52)重新配置密碼引擎40,以使密碼引擎40正確地處理不同的數(shù)據(jù)流。當(dāng)在寫入會(huì)話中接收到結(jié)束會(huì)話指令(方框222)時(shí),CPU將安全配置記錄連同被寫入的數(shù)據(jù)存入存儲(chǔ)器20中,以使得該記錄可以在隨后的讀取操作中被提取(方框228,方框230)。對(duì)于讀取操作,丟棄了存儲(chǔ)在RAM12a中的安全配置記錄,但是為了將來可能的讀取操作而保留了存儲(chǔ)在存儲(chǔ)器20中的記錄(方框242)。對(duì)于某些應(yīng)用程序,避免篡改而保持存儲(chǔ)器20中數(shù)據(jù)的完整性可能是重要的。為了確保存儲(chǔ)在存儲(chǔ)器20中的數(shù)據(jù)不被改變或損壞,希望從數(shù)據(jù)中導(dǎo)出與數(shù)據(jù)存儲(chǔ)在一起的該數(shù)據(jù)的哈希值(hashedvalue)或摘要。當(dāng)讀取數(shù)據(jù)時(shí),摘要或哈希值也被讀取,從而使讀取的哈希值或摘要可以與從已經(jīng)被讀取的數(shù)據(jù)中計(jì)算得到的摘要或哈希值相比。如果二者之間不存在差別,那么存儲(chǔ)器20中的數(shù)據(jù)可能已經(jīng)被改變或者是損壞。一個(gè)普通的哈希函數(shù)是鏈?zhǔn)侥K密碼(CBC),在其中以時(shí)間順序從正在被寫入或讀取的數(shù)據(jù)塊中導(dǎo)出消息認(rèn)證代碼(MAC)。下面給出一個(gè)普通的CBC函數(shù)加密輸入m位的密鑰/fc;Z位的/V;Z位的純文本塊化,一pr。輸出c0,一,Cr使得對(duì)于"/5r,c0—/V以及?!猠k(Ci.!"i)。解密.-輸入m位的密鑰Jk;M立的W:Z位的加密文本塊d,—-cr。輸出p0,一,Pr使得對(duì)于^!'^,p0—/V以及pi—Ci-^e。(。)。上述值CQ,—-,Cr是數(shù)據(jù)流化,…,Pr的消息認(rèn)證代碼(MAC)。/V是初始向量,以及/fc是密鑰。、.因此,當(dāng)希望將數(shù)據(jù)p;,--,A塊寫入存儲(chǔ)器20時(shí),由系統(tǒng)10中的密碼引擎40通過:使用諸如上述CBC函數(shù)的哈希函數(shù)來從數(shù)據(jù)塊中計(jì)算出MAC值(例如,Co,_,c》,并且,包括MAC值、IV以及密鑰k和上述其它參數(shù)的相關(guān)安全配置記錄和數(shù)據(jù)本身一起寫入存儲(chǔ)器20中。在上述公式中,^(x)表示x通過密鑰/fc進(jìn)行加密的一個(gè)處理過程,以及ek"(x)表示使用密鑰A來進(jìn)行解密x。當(dāng)隨后從存儲(chǔ)器20中讀出數(shù)據(jù)塊",…,pr時(shí),相關(guān)的安全配置記錄也被讀出,并且密碼引擎40從IV、安全配置記錄中的密鑰k、和被讀取的數(shù)據(jù)中計(jì)算出一組MAC值,并將該組值與從存儲(chǔ)器20讀出的那組MAC值進(jìn)行比較。如果兩組MAC值之間存在不同之處,則讀取的數(shù)據(jù)可能己被改變或損壞。對(duì)于諸如上述CBC函數(shù)的一些哈希函數(shù),除了序列中的第一值之外,每個(gè)MAC值都是從前面的MAC值中得出的。這就意味著,在此情形下,該組MAC值是以時(shí)間順序順次被導(dǎo)出的。對(duì)于主機(jī)裝置24中的多個(gè)應(yīng)用程序來說,希望能夠以并行的方式存取存儲(chǔ)器20,以使得用戶在使用另外的應(yīng)用程序存取存儲(chǔ)器20之前不必等待正在使用存儲(chǔ)器20的應(yīng)用程序的完成。這可表示,例如,當(dāng)讀取過程被中斷時(shí),并不是所有的數(shù)據(jù)塊/7;,---,/7r都己經(jīng)從存儲(chǔ)器20中讀出,從而使存儲(chǔ)器系統(tǒng)(例如,圖l和圖2中的系統(tǒng)10)可用于在裝置24上運(yùn)行的另外不同的應(yīng)用程序。然而,在此情形下,在整個(gè)數(shù)據(jù)流已被讀取之前以及在所有MAC值被計(jì)算出來之前,可以中斷上述計(jì)算MAC值的過程。因此,當(dāng)存儲(chǔ)器系統(tǒng)恢復(fù)對(duì)數(shù)據(jù)p;,…,^中未讀取塊的讀取時(shí),可能丟失先前計(jì)算得到的不完整組的MAC值,從而變得不可能計(jì)算出剩余的MAC值,這是因?yàn)槠溆?jì)算依賴于在前計(jì)算得到的MAC值。因此,本發(fā)明的另一方面是基于以下特征前面計(jì)算得到的不完整組的MAC值與安全配置記錄中余下的值(例如,IV、密鑰k、數(shù)據(jù)源和目的地、算法)一起被存儲(chǔ)到諸如圖1的CPURAM12a中。那么,當(dāng)存儲(chǔ)器系統(tǒng)恢復(fù)對(duì)數(shù)據(jù)/^,---,pr中未讀取塊的讀取時(shí),前面計(jì)算得到的不完整組的MAC值仍是可用的,從而可以計(jì)算出剩余的MAC值。在從主機(jī)24探測(cè)到會(huì)話指令結(jié)束之后,在方框242中的讀取會(huì)話的結(jié)尾,CPU把從存儲(chǔ)器20讀取的數(shù)據(jù)計(jì)算而得到的MAC值與存儲(chǔ)在存儲(chǔ)器20中的MAC值進(jìn)行比較以確認(rèn)所讀取的數(shù)據(jù)的有效性。如果被接收到的主機(jī)指令不是上面指出的任一種,則CPU12僅僅執(zhí)行該指令并返回方框202(方框250)。雖然以上通過結(jié)合各種實(shí)施例描述了本發(fā)明,但是,應(yīng)當(dāng)理解在不脫離本發(fā)明的范圍內(nèi)可以做出改變和修改,這僅僅由所附的權(quán)利要求和其等同物限定。本文所提到的所有參考文獻(xiàn)結(jié)合于此以供參考。權(quán)利要求1.一種用于存儲(chǔ)經(jīng)加密的數(shù)據(jù)的存儲(chǔ)器系統(tǒng),包括非易失性快閃存儲(chǔ)單元;電路,對(duì)來自或流向所述單元的數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理;以及控制器,配置所述電路并控制所述單元和所述電路,以通過使用密碼化算法來執(zhí)行密碼化處理,從而使得在配置所述電路之后,所述電路在不涉及所述控制器的情況下對(duì)所述數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行密碼化處理。2.根據(jù)權(quán)利要求l所述的系統(tǒng),其中,數(shù)據(jù)被成頁地寫入所述單元中或從所述單元中被成頁地讀取,所述電路對(duì)每個(gè)小于頁的數(shù)據(jù)單位執(zhí)行密碼化處理,以及所述控制器配置所述電路,以使得在配置所述電路之后,所述電路在不涉及所述控制器的情況下對(duì)多個(gè)頁的數(shù)據(jù)執(zhí)行密碼化處理。3.根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流具有多個(gè)源中所選擇的數(shù)據(jù)源和多個(gè)目的地中所選擇的目的地。4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述單元并流向所述控制器或主機(jī)裝置。5.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述控制器或主機(jī)裝置,并流向所述單元。6.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流從所述單元流向主機(jī)裝置,或者從所述主機(jī)裝置流向所述單元,并旁路所述電路。7.根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述控制器配置所述電路,以使得所選擇的密碼化算法被用于所述密碼化處理過程中。8.根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述控制器配置所述電路,以使得在配置所述電路之后,所述電路在不涉及所述控制器的情況下在多個(gè)連續(xù)階段中密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,在配置所述電路之后,所述電路在不涉及所述控制器的情況下通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密鑰來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,在配置所述電路之后,所述電路在不涉及所述控制器的情況下通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密碼化處理過程來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。11.一種用于存儲(chǔ)經(jīng)加密的數(shù)據(jù)的存儲(chǔ)卡,包括非易失性快閃存儲(chǔ)單元;電路,對(duì)來自或流向所述單元的數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理;以及控制器,配置所述電路并控制所述單元和所述電路,以使用密碼化算法來執(zhí)行密碼化處理,從而使得在配置所述電路之后,所述電路在不涉及所述控制器的情況下對(duì)所述數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行密碼化處理,其中,所述存儲(chǔ)單元、電路和控制器被封裝到一個(gè)卡中。12.根據(jù)權(quán)利要求11所述的卡,其中,數(shù)據(jù)被成頁地寫入所述單元中或從所述單元中被成頁地讀取,所述電路對(duì)每個(gè)小于頁的數(shù)據(jù)單位執(zhí)行密碼化處理,以及所述控制器配置所述電路,以使得在配置所述電路之后,所述電路在不涉及所述控制器的情況下對(duì)多個(gè)頁的數(shù)據(jù)執(zhí)行密碼化處理。13.根據(jù)權(quán)利要求ll所述的卡,其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流具有多個(gè)源中所選擇的數(shù)據(jù)源和多個(gè)目的地中所選擇的目的地。14.根據(jù)權(quán)利要求13所述的卡,其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述單元,并流向所述控制器或主機(jī)裝置。15.根據(jù)權(quán)利要求13所述的卡,其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述控制器或主機(jī)裝置,并流向所述單元。16.根據(jù)權(quán)利要求13所述的卡,其中,所述控制器配置所述電路,以使得所述數(shù)據(jù)流從所述單元流向主機(jī)裝置,或者從所述主機(jī)裝置流向所述單元,并旁路所述電路。17.根據(jù)權(quán)利要求ll所述的卡,其中,所述控制器配置所述電路,以使得所選擇的密碼化算法被用于所述加密和/或解密中。18.根據(jù)權(quán)利要求ll所述的卡,其中,所述控制器配置所述電路,以使得在配置所述電路之后,所述電路在不涉及所述控制器的情況下在多個(gè)連續(xù)階段中密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。19.根據(jù)權(quán)利要求18所述的卡,其中,在配置所述電路之后,所述電路在不涉及所述控制器的情況下通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密鑰來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。20.根據(jù)權(quán)利要求18所述的卡,其中,在配置所述電路之后,所述電路在不涉及所述控制器的情況下通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密碼化處理過程來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。21.—種用于存儲(chǔ)經(jīng)加密的數(shù)據(jù)的存儲(chǔ)卡,包括-非易失性存儲(chǔ)單元;電路,對(duì)來自或流向所述單元的數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理;以及控制器,使數(shù)據(jù)被成頁地寫入所述單元中或從所述單元中被成頁地讀取,其中,所述電路對(duì)每個(gè)都小于頁的數(shù)據(jù)單位都執(zhí)行密碼化處理,其中,在不涉及所述控制器的情況下,密碼化處理并寫入或讀取具有多個(gè)源中的所選擇的數(shù)據(jù)源和多個(gè)目的地中所選擇的目的地的所述數(shù)據(jù)流的一頁或多頁。22.—種用于加密和/或解密存儲(chǔ)器系統(tǒng)中非易失性快閃存儲(chǔ)單元里的數(shù)據(jù)的方法,所述存儲(chǔ)器系統(tǒng)具有控制所述單元和密碼化電路的控制器,所述方法包括使用所述控制器來配置用于通過利用密碼化算法以對(duì)來自或流向所述單元的數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理的所述電路;以及使得在配置所述電路之后,在不涉及所述控制器的情況下,所述電路密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。23.根據(jù)權(quán)利要求22所述的方法,其中,數(shù)據(jù)被成頁地寫入所述單元中或從所述單元中被成頁地讀取,所述電路對(duì)每個(gè)小于頁的數(shù)據(jù)單位都執(zhí)行密碼化處理,并且所述的使用過程使用所述控制器來配置所述電路,以使得在配置所述電路之后,在不涉及所述控制器的情況下,所述電路對(duì)多個(gè)頁的數(shù)據(jù)執(zhí)行密碼化處理。24.根據(jù)權(quán)利要求22所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得所述數(shù)據(jù)流具有多個(gè)源中所選擇的數(shù)據(jù)源和多個(gè)目的地中所選擇的目的地。25.根據(jù)權(quán)利要求24所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述單元并流向所述控制器或主機(jī)裝置。26.根據(jù)權(quán)利要求24所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述控制器或主機(jī)裝置并流向所述單元。27.根據(jù)權(quán)利要求24所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得所述數(shù)據(jù)流從所述單元流向主機(jī)裝置或者從所述主機(jī)裝置流向所述單元,并旁路所述電路。28.根據(jù)權(quán)利要求22所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得所選擇的密碼化算法被用于所述密碼化處理過程中。29.根據(jù)權(quán)利要求22所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得在配置所述電路之后,在不涉及所述控制器的情況下,所述電路在多個(gè)連續(xù)階段中密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。30.根據(jù)權(quán)利要求29所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得在配置所述電路之后,在不涉及所述控制器的情況下,所述電路通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密鑰來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。31.根據(jù)權(quán)利要求29所述的方法,其中,所述的使用過程使用所述控制器來配置所述電路,以使得在配置所述電路之后,在不涉及所述控制器的情況下,所述電路通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密碼化處理過程來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。32.—種用于加密和/或解密存儲(chǔ)器系統(tǒng)中非易失性存儲(chǔ)單元里的數(shù)據(jù)的方法,所述存儲(chǔ)器系統(tǒng)具有控制所述單元和密碼化電路的控制器,所述方法包括在不涉及所述控制器的情況下,所述電路對(duì)一頁或多頁數(shù)據(jù)執(zhí)行密碼化處理,其中,數(shù)據(jù)被成頁地寫入或被成頁地讀取,以及所述電路對(duì)每個(gè)小于頁的數(shù)據(jù)單位執(zhí)行密碼化處理;以及在不涉及所述控制器的情況下,控制所述數(shù)據(jù)流,以使所述數(shù)據(jù)流具有多個(gè)源中所選擇的數(shù)據(jù)源和多個(gè)目的地中所選擇的目的地。33.根據(jù)權(quán)利要求32所述的方法,進(jìn)一步包括配置所述密碼化電路,其中,由所述電路的配置來啟動(dòng)所述密碼化處理和所述控制過程。34.根據(jù)權(quán)利要求33所述的方法,其中,所述電路的配置也啟動(dòng)多個(gè)密碼化算法中一個(gè)或多個(gè)密碼化算法的選擇,以使得在不涉及所述控制器的情況下,所述電路通過使用所選擇的算法來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。35.根據(jù)權(quán)利要求33所述的方法,其中,配置所述電路以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述單元并流向所述控制器或主機(jī)裝置。36.根據(jù)權(quán)利要求33所述的方法,其中,配置所述電路以使得所述數(shù)據(jù)流中的數(shù)據(jù)發(fā)自所述控制器或主機(jī)裝置并流向所述單元。37.根據(jù)權(quán)利要求33所述的方法,其中,配置所述電路以使得所述數(shù)據(jù)流從所述單元流向主機(jī)裝置或從所述主機(jī)裝置流向所述單元,并旁路所述電路。38.根據(jù)權(quán)利要求33所述的方法,其中,配置所述電路以使得在配置所述電路之后,不涉及所述控制器的情況下,所述電路在多個(gè)連續(xù)階段中密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。39.根據(jù)權(quán)利要求38所述的方法,其中,配置所述電路以使得在配置所述電路之后,不涉及所述控制器的情況下,所述電路通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密鑰來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。40.根據(jù)權(quán)利要求38所述的方法,其中,配置所述電路以使得在配置所述電路之后,不涉及所述控制器的情況下,所述電路通過在多個(gè)連續(xù)階段中使用多于一個(gè)的密碼化處理過程來密碼化處理所述數(shù)據(jù)流中的數(shù)據(jù)。41.一種用于存儲(chǔ)經(jīng)加密的數(shù)據(jù)的存儲(chǔ)器系統(tǒng),包括-非易失性存儲(chǔ)單元;電路,對(duì)來自或流向所述單元的多于一個(gè)數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理;以及控制器,控制所述單元和所述電路,從而以交錯(cuò)方式來密碼化處理不同數(shù)據(jù)流中的數(shù)據(jù),以及其中,至少一個(gè)用于從所述單元存取數(shù)據(jù)的會(huì)話被其它的會(huì)話所中斷,其中,所述控制器使得用于所述會(huì)話的安全配置信息在所述中斷之前被存儲(chǔ)起來,以便在結(jié)束所述中斷之后所述安全配置信息能夠被提取。42.根據(jù)權(quán)利要求41所述的系統(tǒng),其中,所述安全配置信息包括與數(shù)據(jù)的源或目的地、密碼化鑰匙、密碼化算法、和/或消息認(rèn)證代碼相關(guān)的信息。43.根據(jù)權(quán)利要求41所述的系統(tǒng),其中,當(dāng)所述會(huì)話恢復(fù)時(shí),所述控制器就使得被存儲(chǔ)用于所述會(huì)話的安全配置信息被提取。44.根據(jù)權(quán)利要求41所述的系統(tǒng),其中,所述控制器使得用于所述多于一個(gè)數(shù)據(jù)流之中的每一個(gè)數(shù)據(jù)流的安全配置信息被存儲(chǔ)起來,從而該信息在結(jié)束所述中斷之后能夠被提取。45.根據(jù)權(quán)利要求44所述的系統(tǒng),其中,所述控制器使得所述被存儲(chǔ)用于所述多于一個(gè)數(shù)據(jù)流之中的每一個(gè)數(shù)據(jù)流的安全配置信息,當(dāng)來自此數(shù)據(jù)流的數(shù)據(jù)的處理過程被恢復(fù)時(shí),就被提取。46.根據(jù)權(quán)利要求41所述的系統(tǒng),其中,所述控制器在所述中斷之前提取被存儲(chǔ)的所述安全配置信息,所述信息包括消息認(rèn)證代碼,以及當(dāng)所中斷的會(huì)話被恢復(fù)時(shí)就從所被提取的所述消息認(rèn)證代碼導(dǎo)出被更新的消息認(rèn)證代碼。47.—種用于處理存儲(chǔ)經(jīng)加密的數(shù)據(jù)的存儲(chǔ)器系統(tǒng)中的數(shù)據(jù)的方法,所述存儲(chǔ)器系統(tǒng)包括非易失性存儲(chǔ)單元和密碼化電路,所述方法包括使用所述電路對(duì)來自或流向所述單元的數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理;以及促使所述電路以交錯(cuò)方式對(duì)不同數(shù)據(jù)流中的數(shù)據(jù)執(zhí)行密碼化處理,其中,至少一個(gè)用于處理來自或流向所述單元的數(shù)據(jù)的會(huì)話被其它會(huì)話所中斷,以及促使所述至少一個(gè)會(huì)話的安全配置信息在所述中斷之前被存儲(chǔ),從而在結(jié)束所述中斷之后所述安全配置信息能夠被提取。48.根據(jù)權(quán)利要求47所述的方法,其中,所述安全配置信息包括與數(shù)據(jù)的源或目的地、密碼化鑰匙、密碼化算法、和/或消息認(rèn)證代碼相關(guān)的信息。49.根據(jù)權(quán)利要求47所述的方法,其中,所述的促使過程使得用于每個(gè)所述不同的數(shù)據(jù)流的所述安全配置信息被存儲(chǔ),以便此信息在結(jié)束所述中斷之后能夠被提取。50.根據(jù)權(quán)利要求47所述的方法,其中,所述的促使過程使得所述存儲(chǔ)用于每個(gè)所述不同的數(shù)據(jù)流的安全配置信息,當(dāng)來自此數(shù)據(jù)流的數(shù)據(jù)的處理被恢復(fù)時(shí),就被提取。51.根據(jù)權(quán)利要求47所述的方法,進(jìn)一步包括在所述中斷之前提取被存儲(chǔ)的所述安全配置信息,所述信息包括消息認(rèn)證代碼,以及當(dāng)所中斷的會(huì)話被恢復(fù)時(shí),就從被提取的所述消息認(rèn)證代碼導(dǎo)出被更新的消息認(rèn)證代碼。全文摘要本發(fā)明提高了存儲(chǔ)器系統(tǒng)的吞吐量,其中,在不密切涉及任何控制器的情況下,由電路對(duì)數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行密碼化處理。優(yōu)選地控制數(shù)據(jù)流,以使其具有多個(gè)源中所選擇的數(shù)據(jù)源和多個(gè)目的地中所選擇的目的地,所有這些情況都沒有涉及控制器。優(yōu)選地可配置密碼化電路以啟用對(duì)多個(gè)頁的處理、多種算法中一種或多種密碼化算法的選擇從而使得在不涉及控制器的情況下進(jìn)行加密和/或解密,并且在多個(gè)連續(xù)階段中對(duì)數(shù)據(jù)進(jìn)行密碼化處理而無需涉及控制器。對(duì)于以交錯(cuò)存取的方式密碼化處理來自多個(gè)數(shù)據(jù)流中的數(shù)據(jù)的存儲(chǔ)器系統(tǒng)來說,當(dāng)會(huì)話被中斷時(shí),就可能會(huì)丟失安全配置信息,從而使得在該會(huì)話重新進(jìn)行時(shí)也不可能再繼續(xù)處理過程。為了保留安全配置信息,控制器優(yōu)選地使得用于該會(huì)話的安全配置信息在中斷之前被存儲(chǔ)起來,以使其在結(jié)束中斷之后就能夠被提取。文檔編號(hào)G06F21/00GK101120349SQ200580048239公開日2008年2月6日申請(qǐng)日期2005年12月21日優(yōu)先權(quán)日2004年12月21日發(fā)明者哈加伊·巴-埃爾,巴魯赫·鮑里斯·科亨,戴維·戴切爾,邁克爾·霍爾茨曼,阿維朗姆·耶魯哈米申請(qǐng)人:桑迪士克股份有限公司;迪斯克雷蒂克斯科技公司