TW201329707A - 資料保護方法、記憶體控制器與記憶體儲存裝置 - Google Patents

資料保護方法、記憶體控制器與記憶體儲存裝置 Download PDF

Info

Publication number
TW201329707A
TW201329707A TW101101461A TW101101461A TW201329707A TW 201329707 A TW201329707 A TW 201329707A TW 101101461 A TW101101461 A TW 101101461A TW 101101461 A TW101101461 A TW 101101461A TW 201329707 A TW201329707 A TW 201329707A
Authority
TW
Taiwan
Prior art keywords
file
address
host system
write command
write
Prior art date
Application number
TW101101461A
Other languages
English (en)
Other versions
TWI451248B (zh
Inventor
Chin-Min Lin
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW101101461A priority Critical patent/TWI451248B/zh
Priority to US13/472,488 priority patent/US9235534B2/en
Publication of TW201329707A publication Critical patent/TW201329707A/zh
Application granted granted Critical
Publication of TWI451248B publication Critical patent/TWI451248B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種資料保護方法,用於保護儲存在可複寫式非揮發性記憶體模組中的子目錄及此子目錄中的至少一預存檔案。本方法包括從主機系統接收寫入指令;以及判斷此寫入指令所指示的寫入位址是否為儲存此子目錄的檔案描述區塊的位址。本方法也更包括,當此寫入位址為儲存子目錄的檔案描述區塊的位址時,判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在此子目錄的檔案描述區塊中的一對應內容。若對應此寫入指令的資料串的其中一部份不相同於記錄在此子目錄的檔案描述區塊中的一對應內容,則傳遞無法寫入訊息給主機系統。

Description

資料保護方法、記憶體控制器與記憶體儲存裝置
本發明是有關於一種資料保護方法,且特別是有關於一種用於保護儲存於可複寫式非揮發性記憶體模組之檔案的資料保護方法及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於非揮發性記憶體(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
此外,為了提供記憶體儲存裝置更多的附加價值,記憶體儲存裝置的製造商會於製造記憶體儲存裝置時,預先儲存一些特定應用的檔案,以供使用者或對應的應用程式存取。
例如,提供使用者來設定或解除記憶體儲存裝置之保護密碼的程式會初始地預存於記憶體儲存裝置中。又例如,在記憶體儲存裝置配置有智慧卡(Smart Card)晶片的應用中,用以識別主機端所傳送之資料串是否為智慧卡晶片的指令資料單元的通訊檔案會預存於記憶體儲存裝置中。
然而,此些預存檔案對於記憶體儲存裝置的使用來說相當重要。倘若使用者誤刪此些檔案時,記憶體儲存裝置將無法提供此些功能,甚至無法再被使用。因此,如何保護此些預存檔案為此領域技術人員所欲解決的課題。
本發明提供一種資料保護方法、記憶體控制器與記憶體儲存裝置,其能夠有效地防止預設子目錄與預存檔案被刪除。
本發明一範例實施例提出一種資料保護方法,用於保護儲存在可複寫式非揮發性記憶體模組中的子目錄及此子目錄中的至少一預存檔案,其中此可複寫式非揮發性記憶體模組具有多個實體區塊以及映射部分的實體區塊的多個邏輯區塊位址,並且此些邏輯區塊位址會被格式化成具有檔案配置表區、根目錄區與檔案區的分割區。本資料保護方法包括從主機系統接收寫入指令,其中此寫入指令指示一寫入位址。本資料保護方法還包括判斷此寫入位址是否為儲存此子目錄的檔案描述區塊的位址。本資料保護方法也包括,當此寫入位址為儲存子目錄的檔案描述區塊的位址時,判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在此子目錄的檔案描述區塊中的一對應內容。本資料保護方法更包括,當對應此寫入指令的資料串的其中一部份不相同於記錄在子目錄的檔案描述區塊中的對應內容時,傳遞無法寫入訊息給主機系統。
在本發明之一實施例中,上述之資料保護方法更包括:當此寫入位址非為儲存子目錄的檔案描述區塊的位址時,判斷寫入位址是否為儲存預存檔案的檔案描述區塊的位址;當此寫入位址為儲存預存檔案的檔案描述區塊的位址時,判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在預存檔案的檔案描述區塊中的一對應內容;以及當對應此寫入指令的該資料串的其中一部份不相同於記錄在預存檔案的檔案描述區塊中的對應內容時,傳遞無法寫入訊息給該主機系統。
在本發明之一實施例中,上述之傳遞無法寫入訊息給主機系統的步驟包括:在完成接收對應此寫入指令的一資料串之後,在一段預先定義時間期間持續輸出忙碌訊號。
在本發明之一實施例中,上述之傳遞無法寫入訊息給主機系統的步驟包括:在一個回應訊息中設定對應此寫入指令的錯誤位元並且將此回應訊息傳送給主機系統。
本發明一範例實施例提出一種資料保護方法,用於保護儲存在可複寫式非揮發性記憶體模組中的子目錄及此子目錄中的至少一預存檔案,其中此可複寫式非揮發性記憶體模組具有多個實體區塊以及映射部分的實體區塊的多個邏輯區塊位址,並且此些邏輯區塊位址會被格式化成具有檔案配置表區、根目錄區與檔案區的分割區。本資料保護方法包括從主機系統接收寫入指令,其中此寫入指令指示一寫入位址。本資料保護方法還包括判斷該寫入位址是否為儲存預存檔案的檔案描述區塊的位址。本資料保護方法也包括,當此寫入位址為儲存預存檔案的檔案描述區塊的位址時,判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在預存檔案的檔案描述區塊中的對應內容。本資料保護方法更包括,當對應此寫入指令的資料串的其中一部份不相同於記錄在預存檔案的檔案描述區塊中的對應內容時,傳遞無法寫入訊息給該主機系統。
本發明另一範例實施例提出一種記憶體控制器,用於控制可複寫式非揮發性記憶體模組,其中此可複寫式非揮發性記憶體模組具有多個實體區塊。本記憶體控制器包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接主機介面與記憶體介面,並且用以配置多個邏輯區塊位址以映射部分的實體區塊,其中此些邏輯區塊位址會被格式化成具有檔案配置表區、根目錄區與檔案區的分割區,根目錄區儲存對應一個子目錄的檔案描述區塊,並且此子目錄的檔案描述區塊所記錄的叢集儲存對應至少一預存檔案的至少一檔案描述區塊。本記憶體管理電路從主機系統接收寫入指令,其中此寫入指令指示寫入位址。此外,記憶體管理電路判斷此寫入位址是否為儲存此子目錄的檔案描述區塊的位址。當寫入位址為儲存此子目錄的檔案描述區塊的位址時,記憶體管理電路會判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在子目錄的檔案描述區塊中的一對應內容。當對應此寫入指令的資料串的其中一部份不相同於記錄在子目錄的檔案描述區塊中的對應內容時,記憶體管理電路傳遞無法寫入訊息給主機系統。
在本發明之一實施例中,當此寫入位址非為儲存該子目錄的該檔案描述區塊的位址時,記憶體管理電路判斷此寫入位址是否為儲存預存檔案的檔案描述區塊的位址。其中,當此寫入位址為儲存預存檔案的檔案描述區塊的位址時,記憶體管理電路判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在預存檔案的檔案描述區塊中的一對應內容。當對應此寫入指令的資料串的其中一部份不相同於記錄在預存檔案的檔案描述區塊中的對應內容時,記憶體管理電路傳遞無法寫入訊息給主機系統。
在本發明之一實施例中,上述之記憶體管理電路是藉由在完成接收對應上述寫入指令的資料串之後,在一段預先定義時間期間持續輸出一忙碌訊號,以將無法寫入訊息傳遞給主機系統。
在本發明之一實施例中,上述之記憶體管理電路是藉由在一回應訊息中設定對應上述寫入指令的錯誤位元並且傳送此回應訊息給該主機系統,以將無法寫入訊息傳遞給主機系統。
本發明另一範例實施例提出一種記憶體儲存裝置,其包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體區塊。記憶體控制器耦接至連接器與可複寫式非揮發性記憶體模組,並且用以配置多個邏輯區塊位址以映射部分的實體區塊,其中此些邏輯區塊位址會被格式化成具有檔案配置表區、根目錄區與檔案區的分割區,根目錄區儲存對應一個子目錄的檔案描述區塊,並且此子目錄的檔案描述區塊所記錄的叢集儲存對應至少一預存檔案的至少一檔案描述區塊。本記憶體控制器從主機系統接收寫入指令,其中此寫入指令指示寫入位址。此外,記憶體控制器判斷此寫入位址是否為儲存此子目錄的檔案描述區塊的位址。當寫入位址為儲存此子目錄的檔案描述區塊的位址時,記憶體控制器會判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在子目錄的檔案描述區塊中的一對應內容。當對應此寫入指令的資料串的其中一部份不相同於記錄在子目錄的檔案描述區塊中的對應內容時,記憶體控制器傳遞無法寫入訊息給主機系統。
在本發明之一實施例中,當此寫入位址非為儲存子目錄的檔案描述區塊的位址時,記憶體控制器判斷此寫入位址是否為儲存預存檔案的檔案描述區塊的位址。當此寫入位址為儲存預存檔案的檔案描述區塊的位址時,記憶體控制器判斷對應此寫入指令的資料串的其中一部份是否相同於記錄在預存檔案的檔案描述區塊中的一對應內容。當對應此寫入指令的資料串的其中一部份不相同於記錄在預存檔案的檔案描述區塊中的對應內容時,記憶體控制器會傳遞無法寫入訊息給主機系統。
在本發明之一實施例中,上述之記憶體控制器是藉由在完成接收對應上述寫入指令的資料串之後,在一段預先定義時間期間持續輸出一忙碌訊號,以將無法寫入訊息傳遞給主機系統。
在本發明之一實施例中,上述之記憶體控制器是藉由在一回應訊息中設定對應上述寫入指令的錯誤位元並且傳送此回應訊息給該主機系統,以將無法寫入訊息傳遞給主機系統。
基於上述,上述範例實施例的資料保護方法、記憶體控制器與記憶體儲存裝置能夠有效地防止儲存於可複寫式非揮發性記憶體模組中的目錄與檔案被刪除或更改。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。
請參照圖1,主機系統1000包括微處理器1102、儲存裝置1104、快取記憶體1106與輸入/輸出裝置1108。當主機系統1000開機時,微處理器1102會執行安裝於儲存裝置1104中的作業系統1110,以使主機系統1000根據使用者之操作而提供對應的功能。例如,在主機系統1000為手機系統,並且作業系統1110為Symbian、Android或其他作業系統的例子中,當主機系統1000開機後,使用者可透過輸入/輸出裝置1108操作主機系統1000以執行通訊、影音播放等功能。雖然在本範例實施例中,主機系統1000是以手機系統來作說明,然而,在本發明另一範例實施例中主機系統1000亦可以是電腦、數位相機、攝影機、音訊播放器或視訊播放器等系統。
記憶體儲存裝置100是用以耦接至主機系統1000,以根據來自於主機系統1000之作業系統1110的指令執行資料的寫入與讀取。例如,在主機系統1000為手機系統的例子中,記憶體儲存裝置100可為安全數位(Secure Digital,SD)卡、多媒體儲存卡(Multi Media Card,MMC)卡、記憶棒(memory stick)、小型快閃(Compact Flash,CF)卡或嵌入式儲存裝置。嵌入式儲存裝置包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
連接器102為符合SD標準的連接器。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合MS標準、MMC標準、CF標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、平行先進附件(Parallel Advanced Technology Attachment,PATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他標準的連接器。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯間或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。特別是,記憶體控制器104能夠執行根據本範例實施例之資料保護方法來保護預存的子目錄(即,檔案系統之資料夾)及此子目錄中的檔案。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106包括多個實體區塊。各實體區塊分別具有複數個實體頁面,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。更詳細來說,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。然而,必須瞭解的是,在本發明另一範例實施例中,寫入資料的最小單位亦可以是扇區(Sector)或其他大小。在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖2與圖3是根據一範例實施例所繪示之管理實體區塊的示意圖。
請參照圖2,在本範例實施例中,記憶體控制器104會將可複寫式非揮發性記憶體模組106的實體區塊304(0)~304(R)邏輯地分組為資料區402、備用區404、系統區406與取代區408,其中被分組為資料區402與備用區404的實體區塊會輪替地來儲存主機系統1000所寫入之資料,系統區406的實體區塊是用以儲存記憶體儲存裝置100的系統資料,而取代區408的實體區塊是用以取代資料區與備用區中的壞實體區塊。
請參照圖3,為了使主機系統1000能夠方便地對以輪替方式儲存資料的實體區塊進行存取,記憶體控制器104會配置邏輯區塊位址LBA(0)~LBA(H)來映射資料區402的實體區塊,由此主機系統1000能夠直接地依據邏輯區塊位址來進行資料的寫入與讀取。
在本範例實施例中,邏輯區塊位址LBA(0)~LBA(H)會根據檔案系統被格式化成一個分割區(partition)900(如圖4所示),其中分割區900包括主引導磁區902、檔案配置表區904、根目錄區906與檔案區908。
屬於主引導磁區902的邏輯區塊位址是用以儲存記憶體儲存裝置100的可儲存空間的系統資訊。
屬於檔案配置表區904的邏輯區塊位址是用以儲存檔案配置表。檔案配置表是用以記錄用以儲存資料之邏輯區塊位址的登錄值。例如,檔案配置表區中會儲存兩個檔案配置表,其中一個檔案配置表為正常存取所使用,而另一個檔案配置表為備份檔案配置表。
屬於根目錄區906的邏輯區塊位址是用以儲存檔案描述區塊(File Description Block,FDB),其用以記錄目前儲存於記憶體儲存裝置100中之檔案與目錄的屬性資訊。例如,對應一個檔案的檔案描述區塊會記錄用以此檔案的檔名以及儲存此檔案的起始邏輯區塊位址(即,起始叢集);並且對應一個目錄的檔案描述區塊會記錄此目錄的目錄名稱以及用以記錄儲存於此目錄中之檔案或目錄的檔案描述區塊的邏輯區塊位址(即,叢集)。
屬於檔案區908的邏輯區塊位址會被劃分為多個叢集並且用以實際地儲存檔案的內容。
具體來說,磁碟儲存最小單位為扇區,每一個扇區包含了512位元組(byte)的資訊內容。然而,使用扇區當單位來儲存時,主機系統1000的效率會很差。一般來說,主機系統1000的作業系統1110不會以一個扇區當作存取檔案的單位,而是以叢集為一基本檔案單位。每一個叢集是架構在扇區的2次方倍數上。假定連續的8個扇區構成一個叢集,則此叢集的大小就為4096位元組。基此,在作業系統1110在存取資料時會以8個扇區連續讀取而提升了相對效率。但,叢集並非越大越好。因為當叢集越大時相對的可能會浪費許多儲存空間。例如,在一個叢集為4千位元組(kilobyte,KB)的情況下,當主機系統1000所儲存的檔案內容只有1KB時,此檔案還是佔用掉一個叢集的空間,剩餘之3KB的儲存空間就浪費掉了。特別是,叢集的總數目會受限於可複寫式非揮發性記憶體模組106的容量與檔案配置表型態而有所不同。以FAT16來說,根據定義其本身最大的叢集數目必須介於4048個~65526個之間,所以當格式化一張128MB的記憶卡,其每一個叢集至少必須要包含4個扇區,不然會超出65526個叢集(cluster)的限制(127,901,696/512/4=62,452clusters)。所以每一叢集的大小為2KB。類似地,在FAT32中,最大的叢集數目必須介於65526個~4177918個之間。值得一提的是,在FAT16中,根目錄區906的大小是固定的。而在FAT32中,根目錄區906會被放在檔案區908來一起管理。
例如,在本範例實施例中,分割區(partition)900是符合FAT32規範的分割區。因此,屬於根目錄區906與檔案區908的扇區會被分組為叢集(cluster)600(0)~600(W)。在此假設叢集600(0)是被配置為根目錄區906的起始叢集。此外,檔案配置表區904包括扇區700(M)~扇區700(M+K)(如圖5所示),來分別地記錄對應叢集600(0)~600(W)的登錄值(entry value)。在此,登錄值是用以表示所對應之叢集的狀態。例如,在FAT32中,“0000000h”表示此叢集為閒置邏輯區塊位址(即,未儲存資料),“FFFFFF7h”表示此叢集為壞邏輯區塊位址(即,無法儲存資料的壞叢集),“FFFFFF8h”-“FFFFFFFh”表示此叢集為儲存檔案之最後一個邏輯區塊位址等。在此,扇區700(M)的前2個登錄值(即,前8個位元組)會被保留並記錄為"F8hFFhFFh0Fh"與"FFhFFhFFh0Fh"。第2個登錄值為對應根目錄區906的叢集600(0)。第3個登錄值為對應叢集600(1)。第4個登錄值為對應叢集600(2)。第5個登錄值為對應叢集600(3)。第6個登錄值為對應叢集600(4)。第7個登錄值為對應叢集600(5)。以此類推,對應叢集600(0)~600(W)的登錄值都會被記錄在檔案配置表區904的扇區中。
請再參照圖1,在本範例實施例中,記憶體儲存裝置100還包括智慧卡晶片108。智慧卡晶片108是透過介面108a耦接至記憶體控制器104,其中介面108a是專門用以與智慧卡晶片108進行通訊的介面。
智慧卡晶片108具有微處理器、安全模組、唯讀記憶體(Read Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、電子抹除式可編程唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)、震盪器等元件。微處理器用以控制智慧卡晶片108的整體運作。安全模組用以對儲存至智慧卡晶片108中的資料進行加解密。震盪器用以產生智慧卡晶片108運作時所需之時脈訊號。隨機存取記憶體用以暫存運算的資料或韌體程式。電子抹除式可編程唯讀記憶體用以儲存使用者資料。唯讀記憶體用以儲存智慧卡晶片108的韌體程式。具體來說,當智慧卡晶片108運作時,智慧卡晶片108的微處理器會執行唯讀記憶體中的韌體程式來執行相關運作。
特別是,智慧卡晶片108的安全模組會執行一安全機制以防止欲竊取儲存於智慧卡晶片108中所儲存之資料的攻擊。例如,此攻擊包括時間攻擊(timing attack)、單一電力分析攻擊(single-power-analysis attack)或差異電力分析攻擊(differential-power-analysis)。此外,智慧卡晶片108所執行的安全機制是符合聯邦資訊處理標準(Federal Information Processing Standards,FIPS)140-2的第三等級或更高等級或者符合EMV EL的第三等級或更高等級。也就是說,智慧卡晶片108是通過FIPS 140-2之第四級以上的認證或者通過EMV EL之第四級以上的認證。在此,FIPS是美國聯邦政府制定給所有軍事機構除外的政府機構及政府的承包商所使用的公開標準,其中FIPS 140-2制定了關於資料安全的等級。此外,EMV是國際金融業界對於智慧卡與可使用晶片卡的銷售點(point-of-sale,POS)終端機,以及銀行機構所廣泛設置的自動櫃員機等所制定的專業交易與認證的標準規範。此規範是針對晶片信用卡與現金卡的支付款系統(Payment System)的相關軟硬體所設置的標準。在本範例實施例中,藉由智慧卡晶片108的運作,記憶體儲存裝置100可提供具有身份認證的服務,例如,小額付款服務、票證服務等。
圖6是根據一範例實施例所繪示的記憶體控制器的概要方塊圖。
請參照圖6,記憶體控制器104包括記憶體管理電路202、主機介面204、記憶體介面206、緩衝記憶體208、電源管理電路210與錯誤檢查與校正電路212。
記憶體管理電路202用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100被電源開機(power on)時,此些控制指令會被執行以控制記憶體控制器104的整體運作。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼段,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令。
此外,在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體區塊;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204為符合SD標準的介面。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是符合MS標準、MMC標準、CF標準、PATA標準、IEEE 1394標準、PCI Express標準、SATA標準、USB標準、IDE標準或其他標準的介面。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
緩衝記憶體208是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路210是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路212是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路256會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路256會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
值得一提的是,智慧卡晶片108是透過記憶體儲存裝置100的連接器102接收來自於主機系統1000的指令與資料與傳送資料至主機系統1000,而非直接透過智慧卡介面(即,介面108a)與主機系統1000通訊。基此,在本範例實施例中,應用程式1120會被安裝在主機系統1000中,並且使用特定之通訊檔案來傳送指令資料單元(例如,指令-應用程式協定資料單元(Command-Application Protocol Data Unit,C-APDU))給智慧卡晶片108以及接收智慧卡晶片108的回應資料單元(例如,回應-應用程式協定資料單元(Response-Application Protocol Data Unit,R-APDU))。
具體來說,在本範例實施例中,應用程式1120會在記憶體儲存裝置100中建立一個預設子目錄(資料夾)來預先儲存一個或多個檔案(以下稱為預存檔案),並且將用以儲存此一個或多個預存檔案的邏輯區塊位址的資訊傳送給記憶體控制器104。
圖7是根據一範例實施例所繪示之建立預設子目錄與預存檔案的示意圖。
請參照圖7,在此假設應用程式1120在記憶體儲存裝置100中建立目錄名稱為’RESP’的預設子目錄並且預存檔名為’RESP0000.BIN’的預存檔案807與檔名為’RESP0001.BIN’的預存檔案809,其中需使用2個叢集來儲存檔名為’RESP0000.BIN’的檔案807並且需要使用1個叢集來儲存檔名為’RESP0001.BIN’的檔案809。
針對預設子目錄,作業系統1110會根據記憶體儲存裝置100的檔案系統在配置給根目錄區906之叢集(例如,叢集600(0))中未使用的位址記錄對應目錄名稱為’RESP’的預設子目錄的檔案描述區塊801並且尋找一個空的叢集(例如,叢集600(1))來記錄關於此預設子目錄之內容,其中檔案描述區塊801會記錄叢集600(1)的資訊。
針對檔案,作業系統1110會根據記憶體儲存裝置100的檔案系統及檔案807的大小,尋找2個空的叢集(例如,叢集600(2)與叢集600(3))來儲存檔案807的內容。此外,作業系統1110會在叢集600(1)中記錄對應檔案807的檔案描述區塊803並且在檔案配置表區904中將對應叢集600(2)的登錄值(即,第4登錄值)修改為叢集600(3)的位址並且在對應叢集600(3)的登錄值(及第5登錄值)修改為“FFFFFFFh”。類似地,作業系統1110會根據記憶體儲存裝置100的檔案系統及檔案809的大小,尋找1個空的叢集(例如,叢集600(4))來儲存檔案809的內容。此外,作業系統1110會在叢集600(1)中記錄對應檔案809的檔案描述區塊805並且在檔案配置表區904中將對應叢集600(4)的登錄值(即,第6登錄值)修改為“FFFFFFFh”。
例如,在完成上述儲存之後,主機系統1000就可根據根目錄區906中的檔案描述區塊獲知記憶體儲存裝置100存有一個目錄名稱為’RESP’的子目錄。此外,主機系統1000可根據此子目錄的檔案描述區塊所記錄的叢集600(1)中所儲存之檔案描述區塊,獲知記憶體儲存裝置100存有一個檔名為’RESP0000.BIN’的檔案807與一個檔名為’RESP0001.BIN’的檔案809,並且此些檔案位於目錄名稱為’RESP’的子目錄下。例如,當主機系統1000欲讀取檔名為’RESP0000.BIN’的檔案807時,作業系統1110會根據此檔案的檔案描述區塊803所記錄的叢集600(2)來開始讀取資料,並且根據在檔案配置表區904中將對應叢集600(2)的登錄值繼續從叢集600(3)讀取資料,由此完成此檔案的讀取。
特別是,在本範例實施例中,當主機系統1000來讀取FAT表以及根目錄區906時,記憶體控制器104會將所建立之預設子目錄與預存檔案的識別資訊傳送給主機系統1000。具體來說,主機系統1000會取得對應目錄名稱為’RESP’的子目錄的檔案描述區塊801的邏輯區塊位址、檔案描述區塊801所記錄的叢集(例如,叢集600(1))、對應檔案807的檔案描述區塊803的邏輯區塊位址、對應檔案809的檔案描述區塊805的邏輯區塊位址、檔案807的內容的邏輯區塊位址(例如,叢集600(2)與叢集600(3))、儲存檔案809的內容的邏輯區塊位址(例如,叢集600(4))、檔案807的檔名、檔案809的檔名等識別資訊。
基此,當欲傳送指令資料單元給智慧卡晶片108時,應用程式1120會下達對通訊檔案(即,檔案807或檔案809)進行寫入的寫入指令。並且,記憶體控制器104會依據所接收之識別資訊識別所接收之寫入指令為對通訊檔案進行存取,而將資料串傳遞給智慧卡晶片108。
特別是,在本範例實施例中,記憶體控制器104的記憶體管理電路202會執行多個防寫/防刪機制來防止用於傳遞指令資料單元所建立之預設子目錄與預存檔案被作業系統1110或其他應用程式誤刪或者防止預設子目錄被加入其他檔案或更改預設子目錄名稱。以下將配合流程圖來分別地描述此些防寫/防刪機制,然而,必須瞭解的是,此些防寫/防刪機制可選擇地執行至少其中一部份,以達到資料保護的功能。
(1)防止預設子目錄的檔案描述區塊被刪除或修改機制
在本範例實施例中,當從主機系統1000中接收到寫入指令時,記憶體管理電路202會判斷此寫入指令所指示的邏輯區塊位址是否為儲存檔案描述區塊801的位址。具體來說,如上所述,記憶體控制器104會將所建立之預設子目錄的識別資訊傳送給應用程式1120,基此,記憶體管理電路202可根據此識別資訊來判斷此寫入指令所指示的邏輯區塊位址是否為儲存檔案描述區塊801的位址。倘若此寫入指令所指示的邏輯區塊位址為儲存檔案描述區塊801的位址時,記憶體管理電路202會判斷此寫入指令所對應的資料串的其中一部份是否相同於記錄在預設子目錄的檔案描述區塊之對應內容。例如,記憶體管理電路202會判斷此寫入指令所對應的資料串之中對應之12個位元組(byte)的內容是否相同於記錄在預設子目錄的檔案描述區塊中之對應的12個位元組(對應的12個位元組包括:例如,子目錄名稱、唯讀屬性、隱藏屬性、系統檔屬性與目錄類屬性等)。倘若此寫入指令所對應的資料串的其中一部份不相同於預設子目錄的檔案描述區塊之對應內容時,則記憶體管理電路202會傳遞無法寫入訊息給主機系統1000。
例如,記憶體管理電路202會在完成接收對應此寫入指令的資料串之後,在預先定義時間期間持續輸出一忙碌(busy)訊號,由此產生逾時(time out),而使主機系統1000獲知資料未被成功地寫入。具體來說,當主機系統1000下達寫入指令後,若記憶體管理電路202透過忙碌信號接腳持續輸出低脈衝(lower pulse)一段時間(例如,250毫秒),主機系統1000會認定寫入失敗而重新(retry)下達寫入指令或重置(reset)。然而,必須瞭解的是,本發明不限於此。例如,在本發明另一範例實施例中,記憶體管理電路202亦可在回應(response)訊息中設定對應此寫入指令的錯誤位元並且將此回應訊息傳送給主機系統1000,由此將寫入指令未被完成的訊息傳遞給主機系統1000。
倘若此寫入指令所對應的資料串的其中一部份相同於預設子目錄的檔案描述區塊之對應內容時,則記憶體管理電路202會根據寫入指令來完成寫入運作。
(2)防止預存檔案的檔案描述區塊被刪除或修改機制
在本範例實施例中,當從主機系統1000中接收到寫入指令時,記憶體管理電路202會判斷此寫入指令所指示的邏輯區塊位址是否為儲存預存檔案之檔案描述區塊(例如,檔案描述區塊803或檔案描述區塊805)的位址。具體來說,如上所述,記憶體控制器104應用程式1120會將所建立之預存檔案預設子目錄的識別資訊傳送給應用程式1120記憶體控制器104,基此,記憶體管理電路202可根據此識別資訊來判斷此寫入指令所指示的邏輯區塊位址是否為儲存預存檔案之檔案描述區塊的位址。倘若此寫入指令所指示的邏輯區塊位址為儲存預存檔案之檔案描述區塊的位址時,記憶體管理電路202會判斷此寫入指令所對應的資料串的其中一部份是否相同於記錄在預存檔案的檔案描述區塊之對應內容。例如,記憶體管理電路202會判斷此寫入指令所對應的資料串之中對應之12個位元組(byte)的內容是否相同於記錄在預存檔案的檔案描述區塊中之對應的12個位元組(對應的12個位元組包括:例如,檔案名稱、唯讀屬性、隱藏屬性、系統檔屬性與檔案類屬性等)。倘若此寫入指令所對應的資料串的其中一部份相同於預存檔案的檔案描述區塊之對應內容時,則記憶體管理電路202會根據寫入指令來完成寫入運作。反之,倘若此寫入指令所對應的資料串的其中一部份不同於預存檔案的檔案描述區塊之對應內容時,則記憶體管理電路202會傳遞無法寫入訊息給主機系統1000。
圖8是根據一範例實施例所繪示之資料保護方法的流程圖。
請參照圖8,當接收到寫入指令時,在步驟S801中,記憶體管理電路202會判斷此寫入指令所指示的寫入位址是否為儲存預設子目錄之檔案描述區塊的位址。
倘若此寫入位址為儲存預設子目錄之檔案描述區塊的位址,在步驟S803中,記憶體管理電路202會判斷此寫入指令所對應的資料串的其中一部份是否相同於記錄在預設子目錄的檔案描述區塊之對應內容。
倘若此寫入指令所對應的資料串的其中一部份不相同於預設子目錄的檔案描述區塊之對應內容時,在步驟S805中,記憶體管理電路202會傳遞無法寫入訊息給主機系統1000。並且,在步驟S805之後,圖8的流程會結束。例如,記憶體管理電路202可利用忙碌訊號或回應訊息中的錯誤位元來傳遞寫入失敗的訊息。倘若此寫入指令所對應的資料串的其中一部份相同於預設子目錄的檔案描述區塊之對應內容時,在步驟S807中,記憶體管理電路202會根據此寫入指令來完成寫入指令。並且,在步驟S807之後,圖8的流程會結束。
倘若此寫入位址非為儲存預設子目錄之檔案描述區塊的位址,在步驟S809中,記憶體管理電路202會判斷此寫入位址是否為儲存預設檔案之檔案描述區塊的位址。
倘若此寫入位址非為儲存預設檔案之檔案描述區塊的位址時,則步驟S807會被執行。
倘若此寫入位址為儲存預設檔案之檔案描述區塊的位址時,則在步驟S811中,記憶體管理電路202會判斷此寫入指令所對應的資料串的其中一部份是否相同於記錄在預存檔案的檔案描述區塊之對應內容。倘若此寫入指令所對應的資料串的其中一部份不相同於記錄在預存檔案的檔案描述區塊之對應內容時,則在步驟S813中,記憶體管理電路202會傳遞無法寫入訊息給主機系統1000。並且,在步驟S813之後,圖8的流程會結束。
倘若此寫入指令所對應的資料串的其中一部份相同於記錄在預存檔案的檔案描述區塊之對應內容時,則步驟S807會被執行。值得一提的是,儘管在上述流程圖中,記憶體管理電路202會先判斷此寫入指令所指示的寫入位址是否為儲存預設子目錄之檔案描述區塊的位址之後再接著判斷該寫入位址是否為儲存該至少一預存檔案的至少一檔案描述區塊的位址。然而,在另一流程圖中,記憶體管理電路202亦可直接判斷該寫入位址是否為儲存該至少一預存檔案的至少一檔案描述區塊的位址。
綜上所述,本發明範例實施例的資料保護方法、記憶體控制器與記憶體儲存裝置可有效地防止所建立之子目錄被誤刪或更改以及防止所儲存之檔案被誤刪或更改。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...可複寫式非揮發性記憶體模組
108...智慧卡晶片
108a...介面
1000...主機系統
1102...微處理器
1104...儲存裝置
1106...快取記憶體
1108...輸入/輸出裝置
1110...作業系統
1120...應用程式
202...記憶體管理電路
204...主機介面
206...記憶體介面
208...緩衝記憶體
210...電源管理電路
212...錯誤檢查與校正電路
304(0)~304(R)...實體區塊
402...資料區
404...備用區
406...系統區
408...取代區
LBA(0)~LBA(N)...邏輯區塊位址
600(0)~600(W)...叢集
700(0)~700(M+K)...扇區
900...分割區
902...主引導磁區
904...檔案配置區
906...根目錄區
908...檔案區
801、803、805...檔案描述區塊
807、809...預存檔案
S801、S803、S805、S807、S809、S811、S813...資料保護方法的步驟
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。
圖2與圖3是根據一範例實施例所繪示之管理實體區塊的示意圖。
圖4為根據一範例實施例所繪示之以檔案系統格式化記憶體模組之邏輯區塊位址的範例。
圖5是根據一範例實施例所繪示的檔案配置表區的範例。
圖6是根據本範例實施例所繪示的記憶體控制器的概要方塊圖。
圖7是根據本範例實施例所繪示之建立預設子目錄與預存檔案的示意圖。
圖8是根據一範例實施例所繪示之資料保護方法的流程圖。
S801、S803、S805、S807、S809、S811、S813...資料保護方法的步驟

Claims (15)

  1. 一種資料保護方法,用於保護儲存在一可複寫式非揮發性記憶體模組中的一子目錄及該子目錄中的至少一預存檔案,其中該可複寫式非揮發性記憶體模組具有多個實體區塊以及映射部分的該些實體區塊的多個邏輯區塊位址,並且該些邏輯區塊位址會被格式化成至少具有一檔案配置表區、一根目錄區與一檔案區的一分割區,該資料保護方法包括:從一主機系統接收一寫入指令,其中該寫入指令指示一寫入位址;判斷該寫入位址是否為儲存該子目錄的一檔案描述區塊的位址;當該寫入位址為儲存該子目錄的該檔案描述區塊的位址時,判斷對應該寫入指令的一資料串的其中一部份是否相同於記錄在該子目錄的該檔案描述區塊中的一對應內容;以及當對應該寫入指令的該資料串的其中一部份不相同於記錄在該子目錄的該檔案描述區塊中的該對應內容時,傳送一無法寫入訊息給該主機系統。
  2. 如申請專利範圍第1項所述之資料保護方法,更包括:當該寫入位址非為儲存該子目錄的該檔案描述區塊的位址時,判斷該寫入位址是否為儲存該至少一預存檔案的至少一檔案描述區塊的位址;當該寫入位址為儲存該至少一預存檔案的該至少一檔案描述區塊的位址時,判斷對應該寫入指令的該資料串的其中一部份是否相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的一對應內容;以及當對應該寫入指令的該資料串的其中一部份不相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的該對應內容時,傳遞該無法寫入訊息給該主機系統。
  3. 如申請專利範圍第2項的其中之一所述之資料保護方法,其中傳遞該無法寫入訊息給該主機系統的步驟包括:在完成接收對應該寫入指令的該資料串之後,在一預先定義時間期間持續輸出一忙碌訊號。
  4. 如申請專利範圍第2項的其中之一所述之資料保護方法,其中傳遞該無法寫入訊息給該主機系統的步驟包括:在一回應訊息中設定對應該寫入指令的一錯誤位元並且將該回應訊息傳送給該主機系統。
  5. 一種資料保護方法,用於保護儲存在一可複寫式非揮發性記憶體模組中的至少一預存檔案,其中該可複寫式非揮發性記憶體模組具有多個實體區塊以及映射部分該些實體區塊的多個邏輯區塊位址,並且該些邏輯區塊位址會被格式化成至少具有一檔案配置表區、一根目錄區與一檔案區的一分割區,該資料保護方法包括:從一主機系統接收一寫入指令,其中該寫入指令指示一寫入位址;判斷該寫入位址是否為儲存該至少一預存檔案的至少一檔案描述區塊的位址;當該寫入位址為儲存該至少一預存檔案的該至少一檔案描述區塊的位址時,判斷對應該寫入指令的一資料串的其中一部份是否相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的一對應內容;以及當對應該寫入指令的該資料串的其中一部份不相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的該對應內容時,傳遞一無法寫入訊息給該主機系統。
  6. 如申請專利範圍第5項所述之資料保護方法,其中傳遞該無法寫入訊息給該主機系統的步驟包括:在完成接收對應該寫入指令的該資料串之後,在一預先定義時間期間持續輸出一忙碌訊號。
  7. 如申請專利範圍第5項所述之資料保護方法,其中傳遞該無法寫入訊息給該主機系統的步驟包括:在一回應訊息中設定對應該寫入指令的一錯誤位元並且將該回應訊息傳送給該主機系統。
  8. 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體區塊,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接該主機介面與該記憶體介面,並且用以配置多個邏輯區塊位址以映射部分的該些實體區塊,其中該些邏輯區塊位址會被格式化成至少具有一檔案配置表區、一根目錄區與一檔案區的一分割區,該根目錄區儲存對應一子目錄的一檔案描述區塊,並且該子目錄的該檔案描述區塊所記錄的一叢集儲存對應至少一預存檔案的至少一檔案描述區塊,其中該記憶體管理電路從該主機系統接收一寫入指令並且該寫入指令指示一寫入位址,其中該記憶體管理電路判斷該寫入位址是否為儲存該子目錄的該檔案描述區塊的位址,其中當該寫入位址為儲存該子目錄的該檔案描述區塊的位址時,該記憶體管理電路判斷對應該寫入指令的一資料串的其中一部份是否相同於記錄在該子目錄的該檔案描述區塊中的一對應內容,其中當對應該寫入指令的該資料串的其中一部份不相同於記錄在該子目錄的該檔案描述區塊中的該對應內容時,該記憶體管理電路傳遞一無法寫入訊息給該主機系統。
  9. 如申請專利範圍第8項所述之記憶體控制器,其中當該寫入位址非為儲存該子目錄的該檔案描述區塊的位址時,該記憶體管理電路判斷該寫入位址是否為儲存該至少一預存檔案的該至少一檔案描述區塊的位址,其中當該寫入位址為儲存該至少一預存檔案的該至少一檔案描述區塊的位址時,該記憶體管理電路判斷對應該寫入指令的該資料串的其中一部份是否相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的一對應內容,其中當對應該寫入指令的該資料串的其中一部份不相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的該對應內容時,該記憶體管理電路傳遞該無法寫入訊息給該主機系統。
  10. 如申請專利範圍第9項的其中之一所述之記憶體控制器,其中該記憶體管理電路藉由在完成接收對應該寫入指令的該資料串之後,在一預先定義時間期間持續輸出一忙碌訊號,以將該無法寫入訊息傳遞給該主機系統。
  11. 如申請專利範圍第9項的其中之一所述之記憶體控制器,其中該記憶體管理電路藉由在一回應訊息中設定對應該寫入指令的一錯誤位元並且傳送該回應訊息給該主機系統,以將該無法寫入訊息傳遞給該主機系統。
  12. 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體區塊;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,並且用以配置多個邏輯區塊位址以映射部分的該些實體區塊,其中該些邏輯區塊位址會被格式化成至少具有一檔案配置表區、一根目錄區與一檔案區的一分割區,該根目錄區儲存對應一子目錄的一檔案描述區塊,並且該子目錄的該檔案描述區塊所記錄的一叢集儲存對應至少一預存檔案的至少一檔案描述區塊,其中該記憶體控制器從該主機系統接收一寫入指令並且該寫入指令指示一寫入位址,其中該記憶體控制器判斷該寫入位址是否為儲存該子目錄的該檔案描述區塊的位址,其中當該寫入位址為儲存該子目錄的該檔案描述區塊的位址時,該記憶體控制器判斷對應該寫入指令的一資料串的其中一部份是否相同於記錄在該子目錄的該檔案描述區塊中的一對應內容,其中當對應該寫入指令的該資料串的其中一部份不相同於記錄在該子目錄的該檔案描述區塊中的該對應內容時,該記憶體控制器傳遞一無法寫入訊息給該主機系統。
  13. 如申請專利範圍第12項所述之記憶體儲存裝置,其中當該寫入位址非為儲存該子目錄的該檔案描述區塊的位址時,該記憶體控制器判斷該寫入位址是否為儲存該至少一預存檔案的該至少一檔案描述區塊的位址,其中當該寫入位址為儲存該至少一預存檔案的該至少一檔案描述區塊的位址時,該記憶體控制器判斷對應該寫入指令的該資料串的其中一部份是否相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的一對應內容,其中當對應該寫入指令的該資料串的其中一部份不相同於記錄在該至少一預存檔案的該至少一檔案描述區塊中的該對應內容時,該記憶體控制器傳遞該無法寫入訊息給該主機系統。
  14. 如申請專利範圍第13項的其中之一所述之記憶體儲存裝置,其中該記憶體控制器藉由在完成接收對應該寫入指令的該資料串之後,在一預先定義時間期間持續輸出一忙碌訊號,以將該無法寫入訊息傳遞給該主機系統。
  15. 如申請專利範圍第13項的其中之一所述之記憶體儲存裝置,其中該記憶體控制器藉由在一回應訊息中設定對應該寫入指令的一錯誤位元並且傳送該回應訊息給該主機系統,以將該無法寫入訊息傳遞給該主機系統。
TW101101461A 2012-01-13 2012-01-13 資料保護方法、記憶體控制器與記憶體儲存裝置 TWI451248B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101101461A TWI451248B (zh) 2012-01-13 2012-01-13 資料保護方法、記憶體控制器與記憶體儲存裝置
US13/472,488 US9235534B2 (en) 2012-01-13 2012-05-16 Data protecting method, memory controller and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101101461A TWI451248B (zh) 2012-01-13 2012-01-13 資料保護方法、記憶體控制器與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201329707A true TW201329707A (zh) 2013-07-16
TWI451248B TWI451248B (zh) 2014-09-01

Family

ID=48780810

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101101461A TWI451248B (zh) 2012-01-13 2012-01-13 資料保護方法、記憶體控制器與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9235534B2 (zh)
TW (1) TWI451248B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI741271B (zh) * 2018-10-02 2021-10-01 智微科技股份有限公司 資料保護方法以及相關儲存裝置
US11144217B2 (en) 2018-10-02 2021-10-12 Jmicron Technology Corp. Data protection method and associated storage device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI498738B (zh) * 2012-05-18 2015-09-01 Phison Electronics Corp 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置
US9747967B2 (en) 2014-09-26 2017-08-29 Intel Corporation Magnetic field-assisted memory operation
US20160188890A1 (en) * 2014-12-26 2016-06-30 Intel Corporation Security mode data protection
CN104679609B (zh) * 2015-02-11 2017-12-15 北京配天技术有限公司 数控系统
US10496320B2 (en) 2015-12-28 2019-12-03 Netapp Inc. Synchronous replication
TWI669610B (zh) * 2018-06-13 2019-08-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
CN112148201A (zh) * 2019-06-26 2020-12-29 龙芯中科技术有限公司 数据写入方法、装置及存储介质
CN113125966B (zh) * 2021-03-29 2024-05-17 深圳市优必选科技股份有限公司 电池监测数据存储方法、电池管理系统及电池监测装置
CN115525933B (zh) * 2022-08-26 2023-05-12 杭州杰峰科技有限公司 数据防篡改方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370165B2 (en) * 2000-12-29 2008-05-06 Valt.X Technologies Inc. Apparatus and method for protecting data recording on a storage medium
US7062602B1 (en) * 2001-04-09 2006-06-13 Matrix Semiconductor, Inc. Method for reading data in a write-once memory device using a write-many file system
JP2004021363A (ja) * 2002-06-13 2004-01-22 Hitachi Ltd ファイル管理方法および記録装置、再生装置及び記録媒体
US6857054B2 (en) * 2002-06-28 2005-02-15 Hewlett-Packard Development Company, L.P. Write-once memory storage device
EP1561166B1 (en) * 2002-10-17 2008-01-02 Matsushita Electric Industrial Co., Ltd. File-update apparatus
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
KR100714709B1 (ko) * 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법
US20070271472A1 (en) * 2006-05-21 2007-11-22 Amiram Grynberg Secure Portable File Storage Device
CN101901227B (zh) 2009-05-31 2012-07-04 深圳市江波龙电子有限公司 一种智能存储扩展设备及其访问控制系统、方法
US8132045B2 (en) * 2009-06-16 2012-03-06 SanDisk Technologies, Inc. Program failure handling in nonvolatile memory
US20110107393A1 (en) * 2009-11-03 2011-05-05 Rotem Sela Enforcing a File Protection Policy by a Storage Device
TWI425355B (zh) * 2010-03-17 2014-02-01 Phison Electronics Corp 資料存取方法、記憶體控制器與儲存系統
TW201303888A (zh) * 2011-07-06 2013-01-16 Altek Corp 儲存資料的方法及使用其之電子裝置
TWI454912B (zh) * 2012-01-06 2014-10-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI741271B (zh) * 2018-10-02 2021-10-01 智微科技股份有限公司 資料保護方法以及相關儲存裝置
US11144217B2 (en) 2018-10-02 2021-10-12 Jmicron Technology Corp. Data protection method and associated storage device

Also Published As

Publication number Publication date
US9235534B2 (en) 2016-01-12
US20130185479A1 (en) 2013-07-18
TWI451248B (zh) 2014-09-01

Similar Documents

Publication Publication Date Title
TWI451248B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
US9043549B2 (en) Memory storage apparatus, memory controller, and method for transmitting and identifying data stream
TWI479359B (zh) 指令執行方法、記憶體控制器與記憶體儲存裝置
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
TWI454912B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
US20120331218A1 (en) Flash memory storage system, and controller and anti-falsifying method thereof
TWI472927B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
US9772937B2 (en) Data processing method, memory controller and memory storage apparatus
TWI498738B (zh) 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
CN104346103A (zh) 指令执行方法、存储器控制器与存储器储存装置
US9032135B2 (en) Data protecting method, memory controller and memory storage device using the same
CN103218300B (zh) 数据处理方法、存储器控制器与存储器储存装置
TWI430104B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
CN103218319B (zh) 数据保护方法、存储器控制器与存储器储存装置
US9817573B2 (en) Smart card management method, memory storage device and memory control circuit unit
US10324894B2 (en) Storage device management method and system, and memory storage device thereof
CN109460372B (zh) 数据存储方法、存储器控制电路单元及存储器存储装置
CN102880423B (zh) 数据串分派与传送方法、存储器控制器与存储器储存装置
CN106155564A (zh) 存储装置管理方法与系统及其存储器存储装置