數(shù)據(jù)處理方法、存儲(chǔ)器存儲(chǔ)裝置與存儲(chǔ)器控制電路單元的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是有關(guān)于一種數(shù)據(jù)處理方法,且特別是有關(guān)于一種可復(fù)寫式非易失性存儲(chǔ)器模塊的數(shù)據(jù)處理方法、存儲(chǔ)器存儲(chǔ)裝置與存儲(chǔ)器控制電路單元。
【背景技術(shù)】
[0002]數(shù)碼相機(jī)、移動(dòng)電話與MP3播放器在這幾年來的成長(zhǎng)十分迅速,使得消費(fèi)者對(duì)存儲(chǔ)媒體的需求也急速增加。由于可復(fù)寫式非易失性存儲(chǔ)器模塊(例如,閃存)具有數(shù)據(jù)非易失性、省電、體積小,以及無機(jī)械結(jié)構(gòu)等特性,所以非常適合內(nèi)建于上述所舉例的各種可攜式多媒體裝置中。
[0003]一般來說,可復(fù)寫式非易失性存儲(chǔ)器模塊是與一個(gè)主機(jī)系統(tǒng)搭配使用。主機(jī)系統(tǒng)可以存取(讀取或?qū)懭?可復(fù)寫式非易失性存儲(chǔ)器模塊中的數(shù)據(jù)。在一些情況下,被寫入至可復(fù)寫式非易失性存儲(chǔ)器模塊的數(shù)據(jù)會(huì)先被加密,而從可復(fù)寫式非易失性存儲(chǔ)器模塊讀取的數(shù)據(jù)會(huì)先被解密才傳送給主機(jī)系統(tǒng)。這些加密與解密的操作可通過一個(gè)電路來實(shí)作,此電路會(huì)加密來自主機(jī)系統(tǒng)的數(shù)據(jù),并且解密要傳送給主機(jī)系統(tǒng)的數(shù)據(jù)。然而,可復(fù)寫式非易失性存儲(chǔ)器模塊中有一個(gè)最小的寫入單元(例如,實(shí)體頁)。若主機(jī)系統(tǒng)所要寫入的數(shù)據(jù)小于一實(shí)體頁的大小,則此實(shí)體頁會(huì)被特定的數(shù)據(jù)填滿。為了符合加密與解密的一致性,這些特定的數(shù)據(jù)也需要被加密。因此,需要配置額外的電路來加密這些特定的數(shù)據(jù),而此額外的電路會(huì)增加制作的成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種數(shù)據(jù)處理方法、存儲(chǔ)器存儲(chǔ)裝置與存儲(chǔ)器控制電路單元,可以減少部分的加密操作。
[0005]本發(fā)明一范例實(shí)施例提出一種數(shù)據(jù)處理方法,用于一可復(fù)寫式非易失性存儲(chǔ)器模塊。此可復(fù)寫式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體程序化單元,每一個(gè)實(shí)體程序化單元包括多個(gè)實(shí)體地址,并且每一個(gè)實(shí)體地址是對(duì)應(yīng)至一標(biāo)記。此數(shù)據(jù)處理方法包括:配置多個(gè)邏輯地址以映射至部分的實(shí)體程序化單元;接收來自主機(jī)系統(tǒng)的讀取指令,其中讀取指令指示讀取第一邏輯地址,并且第一邏輯地址是映射至第一實(shí)體程序化單元;執(zhí)行第一讀取程序。此第一讀取程序包括:讀取存儲(chǔ)在第一實(shí)體程序化單元的實(shí)體地址中的第一數(shù)據(jù);判斷第一實(shí)體程序化單元中的第一標(biāo)記是第一狀態(tài)或是第二狀態(tài);若第一標(biāo)記為第一狀態(tài),根據(jù)第一密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行一解密操作以取得第一解密數(shù)據(jù),并傳送第一解密數(shù)據(jù)至主機(jī)系統(tǒng);以及若第一標(biāo)記為第二狀態(tài),根據(jù)第一密鑰對(duì)一特定格式數(shù)據(jù)執(zhí)行解密操作以取得第二解密數(shù)據(jù),并傳送第二解密數(shù)據(jù)至主機(jī)系統(tǒng)。
[0006]在一范例實(shí)施例中,上述的第一讀取程序還包括:判斷第一邏輯地址是否為一削減指令所指示的邏輯地址;若第一邏輯地址為削減指令所指示的邏輯地址,傳送特定格式數(shù)據(jù)給主機(jī)系統(tǒng)。
[0007]在一范例實(shí)施例中,上述的數(shù)據(jù)處理方法還包括:接收來自主機(jī)系統(tǒng)的一密鑰更新指令;根據(jù)密鑰更新指令來將加密操作與解密操作所使用的密鑰從第一密鑰改變?yōu)榈诙荑€。
[0008]在一范例實(shí)施例中,上述的數(shù)據(jù)處理方法還包括:;若讀取指令是在密鑰更新指令前所接收,執(zhí)行第一讀取程序;若讀取指令是在密鑰更新指令之后所接收,執(zhí)行第二讀取程序。此第二讀取程序包括:讀取存儲(chǔ)在第一實(shí)體程序化單元的實(shí)體地址中的第一數(shù)據(jù);判斷第一標(biāo)記是第一狀態(tài)或是第二狀態(tài);若第一數(shù)據(jù)是以第一密鑰加密且第一標(biāo)記是第一狀態(tài),根據(jù)第二密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行解密操作以取得第三解密數(shù)據(jù),并傳送第三解密數(shù)據(jù)給主機(jī)系統(tǒng);若第一數(shù)據(jù)是以第一密鑰加密且第一標(biāo)記是第二狀態(tài),根據(jù)第二密鑰對(duì)特定格式數(shù)據(jù)執(zhí)行解密操作以取得第四解密數(shù)據(jù),并傳送第四解密數(shù)據(jù)給主機(jī)系統(tǒng)。
[0009]在一范例實(shí)施例中,上述的第二讀取程序還包括:判斷第一數(shù)據(jù)是以第一密鑰加密或是第二密鑰加密;判斷第一邏輯地址是否為一削減指令所指示的邏輯地址;若第一數(shù)據(jù)是以第一密鑰加密且第一邏輯地址為削減指令所指示的邏輯地址,根據(jù)第二密鑰對(duì)特定格式數(shù)據(jù)執(zhí)行解密操作以取得第五解密數(shù)據(jù),并傳送第五解密數(shù)據(jù)給主機(jī)系統(tǒng)。
[0010]在一范例實(shí)施例中,上述的第二讀取程序還包括:若第一數(shù)據(jù)是以第二密鑰加密且第一標(biāo)記是第一狀態(tài),根據(jù)第二密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行解密操作以取得第五解密數(shù)據(jù),并傳送第五解密數(shù)據(jù)給主機(jī)系統(tǒng);以及若第一數(shù)據(jù)是以第二密鑰加密且第一標(biāo)記是第二狀態(tài),根據(jù)第二密鑰對(duì)特定格式數(shù)據(jù)執(zhí)行解密操作以取得第六解密數(shù)據(jù),并傳送第六解密數(shù)據(jù)給主機(jī)系統(tǒng)。
[0011]在一范例實(shí)施例中,上述的第二讀取程序還包括:判斷第一數(shù)據(jù)是以第一密鑰加密或是第二密鑰加密;判斷第一邏輯地址是否為一削減指令所指示的邏輯地址;以及若第一數(shù)據(jù)是以第二密鑰加密且第一邏輯地址為削減指令所指示的邏輯地址,傳送特定格式數(shù)據(jù)給主機(jī)系統(tǒng)。
[0012]在一范例實(shí)施例中,上述的每一個(gè)實(shí)體程序化單元包括一數(shù)據(jù)比特區(qū)與一冗余比特區(qū)。數(shù)據(jù)比特區(qū)包括了上述的實(shí)體地址,并且冗余比特區(qū)用以記錄上述的標(biāo)記。上述的數(shù)據(jù)處理方法還包括:對(duì)第二數(shù)據(jù)執(zhí)行加密操作;提取第二實(shí)體程序化單元;將加密后至少部分的第二數(shù)據(jù)寫入至第二實(shí)體程序化單元中的至少一個(gè)第一實(shí)體地址,其中至少一個(gè)第二實(shí)體地址并未被寫入加密后的第二數(shù)據(jù);將對(duì)應(yīng)至第一實(shí)體地址的至少一個(gè)第二標(biāo)記設(shè)定為第一狀態(tài),并將對(duì)應(yīng)至第二實(shí)體地址的至少一個(gè)第三標(biāo)記設(shè)定為第二狀態(tài)。
[0013]本發(fā)明一范例實(shí)施例提出一種存儲(chǔ)器存儲(chǔ)裝置,包括連接接口單元、上述的可復(fù)寫式非易失性存儲(chǔ)器模塊與存儲(chǔ)器控制電路單元。連接接口單元是用以電性連接至主機(jī)系統(tǒng)。存儲(chǔ)器控制電路單元是電性連接至連接接口單元與可復(fù)寫式非易失性存儲(chǔ)器模塊,用以配置多個(gè)邏輯地址以映射至部分的實(shí)體程序化單元。存儲(chǔ)器控制電路單元也用以接收來自主機(jī)系統(tǒng)的一讀取指令,其中讀取指令指示讀取第一邏輯地址,并且第一邏輯地址是映射至第一實(shí)體程序化單元。存儲(chǔ)器控制電路單元還用以執(zhí)行第一讀取程序。此第一讀取程序包括:讀取存儲(chǔ)在第一實(shí)體程序化單元的實(shí)體地址中的第一數(shù)據(jù);判斷第一實(shí)體程序化單兀中的第一標(biāo)記是第一狀態(tài)或是第二狀態(tài);若第一標(biāo)記為第一狀態(tài),根據(jù)第一密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行一解密操作以取得第一解密數(shù)據(jù),并傳送第一解密數(shù)據(jù)至主機(jī)系統(tǒng);若第一標(biāo)記為第二狀態(tài),根據(jù)第一密鑰對(duì)一特定格式數(shù)據(jù)執(zhí)行解密操作以取得第二解密數(shù)據(jù),并傳送第二解密數(shù)據(jù)至主機(jī)系統(tǒng)。
[0014]在一范例實(shí)施例中,上述的存儲(chǔ)器控制電路單元還用以接收來自主機(jī)系統(tǒng)的一密鑰更新指令,并且根據(jù)密鑰更新指令來將加密操作與解密操作所使用的密鑰從第一密鑰改變?yōu)榈诙荑€。
[0015]在一范例實(shí)施例中,若讀取指令是在密鑰更新指令前所接收,存儲(chǔ)器控制電路單元用以執(zhí)行上述的第一讀取程序。若讀取指令是在密鑰更新指令之后所接收,存儲(chǔ)器控制電路單元還用以執(zhí)行第二讀取程序。此第二讀取程序包括:讀取存儲(chǔ)在第一實(shí)體程序化單元的實(shí)體地址中的第一數(shù)據(jù);判斷第一標(biāo)記是第一狀態(tài)或是第二狀態(tài);若第一數(shù)據(jù)是以第一密鑰加密且第一標(biāo)記是第一狀態(tài),根據(jù)第二密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行解密操作以取得第三解密數(shù)據(jù),并傳送第三解密數(shù)據(jù)給主機(jī)系統(tǒng);以及若第一數(shù)據(jù)是以第一密鑰加密且第一標(biāo)記是第二狀態(tài),根據(jù)第二密鑰對(duì)特定格式數(shù)據(jù)執(zhí)行解密操作以取得第四解密數(shù)據(jù),并傳送第四解密數(shù)據(jù)給主機(jī)系統(tǒng)。
[0016]在一范例實(shí)施例中,上述的存儲(chǔ)器控制電路單元還用以對(duì)第二數(shù)據(jù)執(zhí)行加密操作,并且提取第二實(shí)體程序化單元。存儲(chǔ)器控制電路單元也用以將加密后至少部分的第二數(shù)據(jù)寫入至第二實(shí)體程序化單元中的至少一個(gè)第一實(shí)體地址,其中第二實(shí)體程序化單元中的至少一個(gè)第二實(shí)體地址并未被寫入加密后的第二數(shù)據(jù)。存儲(chǔ)器控制電路單元也用以將對(duì)應(yīng)至第一實(shí)體地址的至少一個(gè)第二標(biāo)記設(shè)定為第一狀態(tài),并將對(duì)應(yīng)至第二實(shí)體地址的至少一個(gè)第三標(biāo)記設(shè)定為第二狀態(tài)。
[0017]本發(fā)明一范例實(shí)施例提出一種存儲(chǔ)器控制電路單元,用于控制上述的可復(fù)寫式非易失性存儲(chǔ)器模塊。此存儲(chǔ)器控制電路單元包括加解密電路、主機(jī)接口、存儲(chǔ)器接口與存儲(chǔ)器管理電路。主機(jī)接口是用以電性連接至一主機(jī)系統(tǒng)。存儲(chǔ)器接口是用以電性連接至可復(fù)寫式非易失性存儲(chǔ)器模塊。存儲(chǔ)器管理電路是電性連接至主機(jī)接口與存儲(chǔ)器接口,用以配置多個(gè)邏輯地址以映射至部分的實(shí)體程序化單元。存儲(chǔ)器管理電路也用以接收來自主機(jī)系統(tǒng)的一讀取指令,其中讀取指令指示讀取第一邏輯地址,并且第一邏輯地址是映射至第一實(shí)體程序化單元。存儲(chǔ)器管理電路用以讀取存儲(chǔ)在第一實(shí)體程序化單元的實(shí)體地址中的第一數(shù)據(jù),并且判斷第一實(shí)體程序化單元中的第一標(biāo)記是第一狀態(tài)或是第二狀態(tài)。若第一標(biāo)記為第一狀態(tài),加解密電路用以根據(jù)第一密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行一解密操作以取得第一解密數(shù)據(jù),并且存儲(chǔ)器管理電路用以傳送第一解密數(shù)據(jù)至主機(jī)系統(tǒng)。若第一標(biāo)記為第二狀態(tài),加解密電路用以根據(jù)第一密鑰對(duì)一特定格式數(shù)據(jù)執(zhí)行解密操作以取得第二解密數(shù)據(jù),并且存儲(chǔ)器管理電路用以傳送第二解密數(shù)據(jù)至主機(jī)系統(tǒng)。
[0018]在一范例實(shí)施例中,上述的存儲(chǔ)器管理電路還用以判斷第一邏輯地址是否為一削減指令所指示的邏輯地址。若第一邏輯地址為削減指令所指示的邏輯地址,存儲(chǔ)器管理電路用以傳送特定格式數(shù)據(jù)給主機(jī)系統(tǒng)。若第一邏輯地址不為削減指令所指示的邏輯地址,存儲(chǔ)器管理電路用以執(zhí)行所述讀取第一數(shù)據(jù)的操作。
[0019]在一范例實(shí)施例中,上述的存儲(chǔ)器管理電路還用以接收來自主機(jī)系統(tǒng)的一密鑰更新指令,并且加解密電路根據(jù)此密鑰更新指令來將加密操作與解密操作所使用的密鑰從第一密鑰改變?yōu)榈诙荑€。
[0020]在一范例實(shí)施例中,若讀取指令是在密鑰更新指令之后所接收,存儲(chǔ)器管理電路用以讀取存儲(chǔ)在第一實(shí)體程序化單元的實(shí)體地址中的第一數(shù)據(jù),并且判斷第一標(biāo)記是第一狀態(tài)或是第二狀態(tài)。若第一數(shù)據(jù)是以第一密鑰加密且第一標(biāo)記是第一狀態(tài),加解密電路用以根據(jù)第二密鑰對(duì)第一數(shù)據(jù)中存儲(chǔ)在第一標(biāo)記所對(duì)應(yīng)的實(shí)體地址的部分執(zhí)行解密操作以取得第三解密數(shù)據(jù),并且存儲(chǔ)器管理電路用以傳送第三解密數(shù)據(jù)給主機(jī)系統(tǒng)。若第一數(shù)據(jù)是以第一密鑰加密且第一標(biāo)記是第二狀態(tài),加解密電路根據(jù)第二密鑰對(duì)特定格式數(shù)據(jù)執(zhí)行解密操作以取得第四解密數(shù)據(jù),并且存儲(chǔ)器管理電路用以傳送第四解密數(shù)據(jù)給主機(jī)系統(tǒng)。
[0021]在一范例實(shí)施例中,上述的存儲(chǔ)器管理電路還用以判斷第一數(shù)據(jù)是以第一密鑰加密或是第二密鑰加密,并且判斷第一邏輯地址是否為一削減指令所指示的邏輯地址。若第一數(shù)據(jù)是以第一密鑰加密且第一邏輯地址為削減指令所指示的邏輯地址,加解密電路用以根據(jù)第二密鑰對(duì)特定格式數(shù)據(jù)執(zhí)行解密操作以取得第五解密數(shù)據(jù),并且存儲(chǔ)器管理電路用以傳送第五解密數(shù)據(jù)給主機(jī)系統(tǒng)。
[0022]在一范例實(shí)施例中,若第一數(shù)據(jù)是以第二密