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