或程序語句的任何組合。通過傳遞和/或接收信息、數(shù)據(jù)、自變量、參數(shù)、或存儲(chǔ)器或存儲(chǔ)內(nèi)容,一代碼段可被耦合到另一代碼段或硬件電路。信息、自變量、參數(shù)、數(shù)據(jù)等可以經(jīng)由包括存儲(chǔ)器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)鹊娜魏魏线m的手段被傳遞、轉(zhuǎn)發(fā)、或傳輸。
[0073]軟件可駐留在機(jī)器可讀介質(zhì)1206上。機(jī)器可讀介質(zhì)1206可以是非瞬態(tài)機(jī)器可讀介質(zhì)。作為示例,非瞬態(tài)處理電路可讀、機(jī)器可讀或計(jì)算機(jī)可讀介質(zhì)包括:磁存儲(chǔ)設(shè)備(例如,硬盤、軟盤、磁條)、光盤(例如,壓縮碟(CD)或數(shù)字多功能碟(DVD))、智能卡、閃存設(shè)備(例如,記憶卡、記憶棒、或鑰匙驅(qū)動(dòng)器)、RAM、R0M、可編程ROM(PROM)、可擦式PROM(EPROM)、電可擦式PROM(EEPROM)、寄存器、可移動(dòng)盤、硬盤、CD-ROM以及任何其他用于存儲(chǔ)可由機(jī)器或計(jì)算機(jī)訪問和讀取的軟件和/或指令的合適介質(zhì)。術(shù)語“機(jī)器可讀介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”、“處理電路可讀介質(zhì)”和/或“處理器可讀介質(zhì)”可包括但不限于非瞬態(tài)介質(zhì),諸如便攜或固定的存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè)備,以及能夠存儲(chǔ)、包含或承載(諸)指令和/或數(shù)據(jù)的各種其他介質(zhì)。因此,本文中描述的各種方法可全部或部分地由可存儲(chǔ)在“機(jī)器可讀介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”、“處理電路可讀介質(zhì)”和/或“處理器可讀介質(zhì)”中并由一個(gè)或多個(gè)處理電路、機(jī)器和/或設(shè)備執(zhí)行的指令和/或數(shù)據(jù)來實(shí)現(xiàn)。作為示例,機(jī)器可讀介質(zhì)還可包括載波、傳輸線、和任何其他用于傳送可由計(jì)算機(jī)訪問和讀取的軟件和/或指令的合適介質(zhì)。機(jī)器可讀介質(zhì)1206可以駐留在處理系統(tǒng)1214中、在處理系統(tǒng)1214外部、或跨包括該處理系統(tǒng)1214在內(nèi)的多個(gè)實(shí)體分布。機(jī)器可讀介質(zhì)1206可以實(shí)施在計(jì)算機(jī)程序產(chǎn)品中。作為示例,計(jì)算機(jī)程序產(chǎn)品可包括封裝材料中的機(jī)器可讀介質(zhì)。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到如何取決于具體應(yīng)用和加諸于整體系統(tǒng)上的總體設(shè)計(jì)約束來最佳地實(shí)現(xiàn)本公開中通篇給出的所描述的功能性。
[0074]例如,機(jī)器可讀存儲(chǔ)介質(zhì)1206可具有一個(gè)或多個(gè)指令,該指令在由處理電路1204執(zhí)行時(shí)使得該處理電路:從請(qǐng)求方主機(jī)軟件組件接收要向存儲(chǔ)設(shè)備寫入數(shù)據(jù)的寫命令;向存儲(chǔ)設(shè)備發(fā)送寫命令;接收來自存儲(chǔ)設(shè)備的與數(shù)據(jù)相關(guān)聯(lián)的參數(shù);基于該參數(shù)生成加密密鑰;以及使用該加密密鑰來加密數(shù)據(jù)。作為另一示例,機(jī)器可讀存儲(chǔ)介質(zhì)1206可具有一個(gè)或多個(gè)指令,該指令在由處理電路1204執(zhí)行時(shí)使得該處理電路:從請(qǐng)求方主機(jī)軟件組件接收要從存儲(chǔ)設(shè)備獲得數(shù)據(jù)的讀命令;向存儲(chǔ)設(shè)備發(fā)送讀命令;從存儲(chǔ)設(shè)備接收經(jīng)加密數(shù)據(jù)以及與經(jīng)加密數(shù)據(jù)相關(guān)聯(lián)的參數(shù);基于該參數(shù)獲得解密密鑰;以及使用該解密密鑰來解密該經(jīng)加密數(shù)據(jù)。
[0075]附圖中解說的組件、步驟、特征、和/或功能之中的一個(gè)或多個(gè)可以被重新編排和/或組合成單個(gè)組件、步驟、特征、或功能,或可以實(shí)施在數(shù)個(gè)組件、步驟或功能中。也可添加額外的元件、組件、步驟、和/或功能而不會(huì)脫離本公開。附圖中所圖解的裝置、設(shè)備和/或組件可以被配置成執(zhí)行在這些附圖中所描述的方法、特征、或步驟中的一個(gè)或多個(gè)。本文中描述的算法也可以高效地實(shí)現(xiàn)在軟件中和/或嵌入在硬件中。
[0076]結(jié)合本文中公開的示例描述的各個(gè)解說性邏輯塊、模塊、電路、元件和/或組件可用設(shè)計(jì)成執(zhí)行本文中描述的功能的通用處理電路、數(shù)字信號(hào)處理電路(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他可編程邏輯組件、分立的門或晶體管邏輯、分立的硬件組件、或其任何組合來實(shí)現(xiàn)或執(zhí)行。通用處理電路可以是微處理電路,但在替換方案中,該處理電路可以是任何常規(guī)的處理電路、控制器、微控制器、或狀態(tài)機(jī)。處理電路還可以實(shí)現(xiàn)為計(jì)算組件的組合,例如DSP與微處理電路的組合、數(shù)個(gè)微處理電路、與DSP核心協(xié)作的一個(gè)或多個(gè)微處理電路、或任何其他此類配置。
[0077]因此,在本公開的一個(gè)方面,圖3和12中解說的處理電路300和/或1204可以是專門設(shè)計(jì)和/或硬連線以執(zhí)行圖4、5、9和/或10 (和/或下文討論的圖15、16、17、18、19和/或20)中描述的算法、方法、和/或步驟的專用處理電路(例如,ASIC)。因此,此類專用處理電路(例如,ASIC)可以是用于執(zhí)行圖4、5、9和/或10(和/或下文討論的圖15、16、17、18、19和/或20)中描述的算法、方法、和/或步驟的裝置的一個(gè)示例。機(jī)器可讀存儲(chǔ)介質(zhì)可存儲(chǔ)指令,這些指令在由專用處理電路(例如,ASIC)執(zhí)行時(shí)使得該專用處理電路執(zhí)行本文中描述的算法、方法和/或步驟。
[0078]圖13解說與存儲(chǔ)設(shè)備1205聯(lián)用的具有主機(jī)存儲(chǔ)控制器1301的處理電路1204的示例性組件選集。具體地,圖13的主機(jī)存儲(chǔ)控制器1301包括讀/寫命令輸入模塊/電路1300,該讀/寫命令輸入模塊/電路1300能操作用于從請(qǐng)求方主機(jī)軟件組件(未在圖中示出)獲得用于向存儲(chǔ)設(shè)備寫入數(shù)據(jù)的寫命令并且還能操作用于從請(qǐng)求方主機(jī)軟件組件獲得用于從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的讀命令。主機(jī)存儲(chǔ)控制器1301還包括:讀/寫命令輸出模塊/電路1302,該讀/寫命令輸出模塊/電路1302能操作用于向存儲(chǔ)設(shè)備1205發(fā)送讀命令和寫命令;以及LBA/塊計(jì)數(shù)參數(shù)輸入模塊/電路1304,該LBA/塊計(jì)數(shù)參數(shù)輸入模塊/電路1304能操作用于獲得與要向/從存儲(chǔ)設(shè)備讀/寫的數(shù)據(jù)相關(guān)聯(lián)的一個(gè)或多個(gè)參數(shù),諸如LBA和塊計(jì)數(shù)或其他合適的參數(shù)。主機(jī)存儲(chǔ)控制器1301還包括:內(nèi)聯(lián)加密模塊/電路1306,該內(nèi)聯(lián)加密模塊/電路1306能操作用于使用主機(jī)存儲(chǔ)控制器來加密數(shù)據(jù)以供存儲(chǔ)在存儲(chǔ)設(shè)備中;以及內(nèi)聯(lián)解密模塊/電路1308,該內(nèi)聯(lián)解密模塊/電路1308能操作用于解密從存儲(chǔ)設(shè)備接收的數(shù)據(jù)。再進(jìn)一步,主機(jī)存儲(chǔ)控制器1301包括:密鑰處理模塊/電路,該密鑰處理模塊/電路能操作用于至少部分地基于由參數(shù)輸入模塊/電路1304獲得的LBA或其他參數(shù)來獲得或以其他方式生成加密/解密密鑰。
[0079]圖13的存儲(chǔ)設(shè)備1205包括讀/寫命令輸入模塊/電路1312,該讀/寫命令輸入模塊/電路1312能操作用于從主機(jī)存儲(chǔ)控制器1301接收指示要讀取/寫入的經(jīng)加密數(shù)據(jù)的讀命令和/或?qū)懨?。LBA/塊計(jì)數(shù)參數(shù)輸出模塊/電路1314能操作用于輸出與要讀取/寫入的數(shù)據(jù)相關(guān)聯(lián)的一個(gè)或多個(gè)參數(shù)(諸如LBA和塊計(jì)數(shù))以促成主機(jī)存儲(chǔ)控制器1301內(nèi)對(duì)數(shù)據(jù)的內(nèi)聯(lián)加密/解密。存儲(chǔ)設(shè)備1205還包括經(jīng)加密數(shù)據(jù)輸入/輸出模塊/電路,該經(jīng)加密數(shù)據(jù)輸入/輸出模塊/電路能操作用于從主機(jī)存儲(chǔ)控制器1301接收經(jīng)加密數(shù)據(jù)(協(xié)同寫命令)以及向主機(jī)存儲(chǔ)控制器1301輸出經(jīng)加密數(shù)據(jù)(協(xié)同讀命令)。經(jīng)加密數(shù)據(jù)存儲(chǔ)單元1318存儲(chǔ)經(jīng)加密數(shù)據(jù)。
[0080]圖14解說與主機(jī)存儲(chǔ)控制器(諸如圖12的處理電路1204的主機(jī)存儲(chǔ)控制器1301)聯(lián)用的機(jī)器可讀、計(jì)算機(jī)可讀或處理電路可讀介質(zhì)1206的示例性指令選集。該圖還解說與存儲(chǔ)設(shè)備(諸如圖12的設(shè)備1205)聯(lián)用的機(jī)器可讀、計(jì)算機(jī)可讀或處理電路可讀介質(zhì)1401的示例性指令選集。簡言之,圖14的機(jī)器可讀介質(zhì)1206包括各種指令,該指令在由圖12的主機(jī)存儲(chǔ)控制器1301執(zhí)行時(shí)使得主機(jī)存儲(chǔ)控制器控制或執(zhí)行內(nèi)聯(lián)加密/解密操作。具體地,讀/寫命令輸入指令1400能操作用于使得主機(jī)存儲(chǔ)控制器從請(qǐng)求方主機(jī)軟件組件(圖中未示出)獲得要向存儲(chǔ)設(shè)備寫入數(shù)據(jù)的寫命令,以及還有能操作用于使得主機(jī)存儲(chǔ)控制器從請(qǐng)求方主機(jī)軟件組件獲得要從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的讀命令的指令。機(jī)器可讀介質(zhì)1206還包括:讀/寫命令輸出指令1402,該讀/寫命令輸出指令1402能操作用于使得主機(jī)存儲(chǔ)控制器向存儲(chǔ)設(shè)備1205發(fā)送讀命令和寫命令;以及LBA/塊計(jì)數(shù)參數(shù)輸入指令1404,該LBA/塊計(jì)數(shù)參數(shù)輸入指令1404能操作用于使得主機(jī)存儲(chǔ)控制器獲得與要向/從存儲(chǔ)設(shè)備讀取/寫入的數(shù)據(jù)相關(guān)聯(lián)的一個(gè)或多個(gè)參數(shù)(諸如LBA和塊計(jì)數(shù))。機(jī)器可讀介質(zhì)1206還包括:內(nèi)聯(lián)加密指令1406,該內(nèi)聯(lián)加密指令1406能操作用于使得主機(jī)存儲(chǔ)控制器使用主機(jī)存儲(chǔ)控制器來加密數(shù)據(jù)以供存儲(chǔ)在存儲(chǔ)設(shè)備中;以及內(nèi)聯(lián)解密指令1408,該內(nèi)聯(lián)解密指令1408能操作用于使得主機(jī)存儲(chǔ)控制器解密從存儲(chǔ)設(shè)備接收的數(shù)據(jù)。再進(jìn)一步,機(jī)器可讀介質(zhì)1206包括:密鑰處理指令,該密鑰處理指令能操作用于使得主機(jī)存儲(chǔ)控制器至少部分地基于通過執(zhí)行參數(shù)輸入指令1404而獲得的LBA或其他參數(shù)來獲得或以其他方式生成加密/解密密鑰。
[0081]圖14中的與圖12的存儲(chǔ)設(shè)備聯(lián)用的機(jī)器可讀介質(zhì)1401包括讀/寫命令輸入指令1412,該指令在由存儲(chǔ)設(shè)備的電路系統(tǒng)執(zhí)行時(shí)使得存儲(chǔ)設(shè)備從圖12的主機(jī)存儲(chǔ)控制器1301接收指示要讀取/寫入的經(jīng)加密數(shù)據(jù)的讀命令和/或?qū)懨?。LBA/塊計(jì)數(shù)參數(shù)輸出指令1414能操作用于使得存儲(chǔ)設(shè)備輸出與要讀取/寫入的數(shù)據(jù)相關(guān)聯(lián)的一個(gè)或多個(gè)參數(shù)(諸如LBA和塊計(jì)數(shù))以促成主機(jī)存儲(chǔ)控制器內(nèi)對(duì)數(shù)據(jù)的內(nèi)聯(lián)加密/解密。機(jī)器可讀介質(zhì)1401還包括經(jīng)加密數(shù)據(jù)輸入/輸出指令,該經(jīng)加密數(shù)據(jù)輸入/輸出指令能操作用于使得存儲(chǔ)設(shè)備從主機(jī)存儲(chǔ)控制器接收經(jīng)加密數(shù)據(jù)(協(xié)同寫命令)以及向主機(jī)存儲(chǔ)控制器輸出經(jīng)加密數(shù)據(jù)(協(xié)同讀命令)。經(jīng)加密數(shù)據(jù)存儲(chǔ)單元1418存儲(chǔ)經(jīng)加密數(shù)據(jù)。
[0082]圖15寬泛地解說和概述可由圖12的處理電路1204的主機(jī)存儲(chǔ)控制器1301或其他合適地裝備的設(shè)備執(zhí)行的用于寫操作期間對(duì)數(shù)據(jù)的內(nèi)聯(lián)加密的方法或規(guī)程1500。在步驟1502,主機(jī)存儲(chǔ)控制器從請(qǐng)求方主機(jī)軟件組件獲得要向存儲(chǔ)設(shè)備寫入數(shù)據(jù)的寫命令。在步驟1504,主機(jī)存儲(chǔ)控制器向存儲(chǔ)設(shè)備發(fā)送寫命令。在步驟1506,主機(jī)存儲(chǔ)控制器從存儲(chǔ)設(shè)備獲得與該數(shù)據(jù)相關(guān)聯(lián)的參數(shù),其中在至少一些示例中,該參數(shù)提供標(biāo)識(shí)符,該標(biāo)識(shí)符對(duì)于特定數(shù)據(jù)塊的讀和寫操作是相同的,但隨數(shù)據(jù)塊而不同。在步驟1508,主機(jī)存儲(chǔ)控制器基于該參數(shù)生成或以其他方式獲得加密密鑰,并且在步驟1510使用該加密密鑰來加密數(shù)據(jù)。在步驟1512,主機(jī)存儲(chǔ)控制器向存儲(chǔ)設(shè)備發(fā)送經(jīng)加密數(shù)據(jù)。
[0083]圖16寬泛地解說和概述可由圖12的處理電路1204的主機(jī)存儲(chǔ)控制器1301或其他合適地裝備的設(shè)備執(zhí)行的用于讀操作期間對(duì)數(shù)據(jù)的內(nèi)聯(lián)解密的方法或規(guī)程1600。在步驟1602,主機(jī)存儲(chǔ)控制器從請(qǐng)求方主機(jī)軟件組件獲得要從存儲(chǔ)設(shè)備讀取數(shù)據(jù)的讀命令。在步驟1604,主機(jī)存儲(chǔ)控制器向存儲(chǔ)設(shè)備發(fā)送讀命令。在步驟1606,主機(jī)存儲(chǔ)控制器從存儲(chǔ)設(shè)備獲得經(jīng)加密數(shù)據(jù)以及與經(jīng)加密數(shù)據(jù)相關(guān)聯(lián)的參數(shù),其中在至少一些示例中,該參數(shù)提供標(biāo)識(shí)符,該標(biāo)識(shí)符對(duì)于特定數(shù)據(jù)塊的讀和寫操作是相同的,但隨數(shù)據(jù)塊而不同。在步驟1608,主機(jī)存儲(chǔ)控制器基于該參數(shù)生成或以其他方式獲得解密密鑰,并且在步驟1610使用該解密密鑰來解密該經(jīng)加密數(shù)據(jù)。在步驟1612,主機(jī)存儲(chǔ)控制器向請(qǐng)求方主機(jī)軟件組件提供或“發(fā)送”經(jīng)解密數(shù)據(jù)。
[0084]圖17寬泛地解說和概述可由圖12的存儲(chǔ)設(shè)備1205或其他合適地裝備的設(shè)備執(zhí)行的用于作為寫操作的一部分從主機(jī)存儲(chǔ)控制器接收和存儲(chǔ)經(jīng)加密數(shù)據(jù)的方法或規(guī)程1700。在步驟1702,存儲(chǔ)設(shè)備從主機(jī)軟件控制器接收指示要寫入存儲(chǔ)設(shè)備的數(shù)據(jù)的寫命令。在步驟1704,主機(jī)存儲(chǔ)設(shè)備向主機(jī)存儲(chǔ)控制器發(fā)送與該數(shù)據(jù)相關(guān)聯(lián)的參數(shù)以促成由主機(jī)存儲(chǔ)控制器對(duì)數(shù)據(jù)的內(nèi)聯(lián)加密,其中在至少一些示例中,該參數(shù)提供標(biāo)識(shí)符,該標(biāo)識(shí)符對(duì)于特定數(shù)據(jù)塊的讀和寫操作是相同的,但隨數(shù)據(jù)塊而不同。在步驟1706,存儲(chǔ)設(shè)備從主機(jī)存儲(chǔ)控制器接收經(jīng)內(nèi)聯(lián)加密的數(shù)據(jù),并且在步驟1708存儲(chǔ)從主機(jī)存儲(chǔ)控制器接收的經(jīng)內(nèi)聯(lián)加密的數(shù)據(jù)。
[0085]圖18寬泛地解說和