TWI492050B - 儲存裝置、記憶體控制器及資料保護方法 - Google Patents
儲存裝置、記憶體控制器及資料保護方法 Download PDFInfo
- Publication number
- TWI492050B TWI492050B TW099111261A TW99111261A TWI492050B TW I492050 B TWI492050 B TW I492050B TW 099111261 A TW099111261 A TW 099111261A TW 99111261 A TW99111261 A TW 99111261A TW I492050 B TWI492050 B TW I492050B
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- data
- read
- flow rate
- logical
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Description
本發明是有關於一種資料保護的方法,且特別是有關於一種避免主機輕易複製儲存裝置中的資料的資料保護方法、儲存裝置與記憶體控制器。
隨著科技的蓬勃發展,現今的儲存媒體除了要兼顧高儲存容量之外,攜帶便利性也是消費者在選擇產品時的參考要因。當具有隨插即用以及熱插拔等特性的隨身碟問世之後,原本經常被用來儲存與傳輸資料的3.5吋軟碟(floppy disk)及光碟片等儲存媒體,也分別因為容量過小以及資料更新不便等缺點而隨之式微。
反觀隨身碟不僅外型輕薄短小易於攜帶,且只要電腦系統具備與其相容的傳輸介面,那麼不論是要將資料寫入隨身碟亦或是讀取隨身碟中的資料均十分方便。此外,快閃記憶體的興起也讓隨身碟的儲存容量跟著大幅提高,現代人也越來越習慣利用隨身碟儲存各式資料,使得資料流通變的更加便利。舉例來說,許多使用者習慣利用隨身碟存放影音檔案,進而在私人電腦或公用電腦均能方便地聆聽或觀賞喜愛的影音檔案。
然而不難想見的是,正因為隨身碟具備攜帶方便以及資料容易複製的優點,無形中導致所儲存的資料很可能被輕易地複製到電腦系統。特別是對具有版權的商品來說,易被非法複製無疑會對著作權權利人造成極大的侵害。
本發明提供一種資料保護方法,其可判斷主機欲對儲存裝置中的資料進行的動作,以確保資料不易被非法複製到主機。
本發明提供一種儲存裝置,其可判斷主機欲對儲存裝置中的資料進行的動作,以確保資料不易被非法複製到主機。
本發明提供一種記憶體控制器,其可判斷主機欲對儲存裝置中的資料進行的動作,以確保資料不易被非法複製到主機。
本發明提出一種資料保護方法,用於儲存裝置,此儲存裝置中的記憶體晶片具有多個實體區塊。此方法包括配置多個邏輯區塊以映射至少部分實體區塊,其中每個邏輯區塊包括多個邏輯位址。此方法還包括依據上述邏輯區塊中多個邏輯位址範圍分別用以存放的檔案類型,設定各邏輯位址範圍的輸出流速限制。此方法亦包括接收來自主機的讀取指令,此讀取指令包括位置資訊。此方法還包括根據位置資訊自所有邏輯位址範圍中取得一目標邏輯位址範圍,利用目標邏輯位址範圍的輸出流速限制,判斷主機欲對讀取指令所對應之讀取資料進行的動作。當判定主機欲對讀取資料進行複製動作時,由儲存裝置執行干擾程序以防止或減緩讀取資料被複製到主機。
在本發明之一範例實施例中,其中在配置上述邏輯區塊以映射至少部分實體區塊的步驟之後,此方法更包括將上述邏輯區塊劃分為多個分割槽(partition)以作為上述邏輯位址範圍,決定各分割槽用以存放的檔案類型,以及當接收來自主機的寫入指令時,依據寫入指令所包括之寫入資料的檔案類型,將寫入資料儲存至其中之一分割槽。
在本發明之一範例實施例中,其中位置資訊為槽位參數,且目標邏輯位址範圍係在上述分割槽中符合於槽位參數的分割槽。
在本發明之一範例實施例中,其中在配置上述邏輯區塊以映射至少部分實體區塊的步驟之後,此方法更包括將上述邏輯區塊分組為多個特定區域以作為上述邏輯位址範圍,決定各特定區域用以存放的檔案類型,以及當接收來自主機的寫入指令時,依據寫入指令所包括之寫入資料的檔案類型,將寫入資料儲存至其中之一特定區域。
在本發明之一範例實施例中,其中位置資訊為邏輯存取位址,且目標邏輯位址範圍係在上述特定區域中包含邏輯存取位址的特定區域。
在本發明之一範例實施例中,其中在配置上述邏輯區塊以映射至少部分上述實體區塊的步驟之後,此方法更包括針對接收自主機的每一寫入指令,根據各寫入指令所包括之寫入資料的檔案類型,決定並記錄各寫入指令要寫入之邏輯位址區段用以存放的檔案類型,並以所記錄的各邏輯位址區段作為上述邏輯位址範圍。
在本發明之一範例實施例中,其中位置資訊為邏輯存取位址,且目標邏輯位址範圍係在各邏輯位址區段中以邏輯存取位址為起始位址的邏輯位址區段。
在本發明之一範例實施例中,其中利用目標邏輯位址範圍的輸出流速限制,判斷主機欲對讀取資料進行的動作的步驟包括取得在一量測時間內儲存裝置的資料流出量,其中量測時間的長短係對應目標邏輯位址範圍用以存放的檔案類型,並根據量測時間與資料流出量計算目前流速。若目前流速大於或等於目標邏輯位址範圍的輸出流速限制且/或資料流出量大於或等於預設值,則判定主機欲對讀取資料進行複製動作。若目前流速小於目標邏輯位址範圍的輸出流速限制且/或資料流出量小於預設值,則判定主機欲對讀取資料進行播放動作。
在本發明之一範例實施例中,其中干擾程序至少包括下列其中之一:回報一訊息至主機,執行一無窮迴圈以進入當機狀態,依照預設速度傳送讀取資料至主機,以及等待一延遲時間後傳送讀取資料至主機。
從另一觀點來看,本發明提出一種儲存裝置,包括記憶體晶片、連接器以及記憶體控制器。其中記憶體晶片具有多個實體區塊。連接器用以耦接至主機。記憶體控制器耦接至記憶體晶片與連接器,用以執行多個程序。記憶體控制器用以配置多個邏輯區塊以映射至少部分實體區塊,其中每一邏輯區塊包括多個邏輯位址。記憶體控制器用以依據上述邏輯區塊中多個邏輯位址範圍分別用以存放的檔案類型,設定各邏輯位址範圍的輸出流速限制。記憶體控制器用以接收來自主機的讀取指令,此讀取指令包括位置資訊,並根據位置資訊自所有邏輯位址範圍中取得一目標邏輯位址範圍,以利用目標邏輯位址範圍的輸出流速限制,判斷主機欲對讀取指令所對應之讀取資料進行的動作。當記憶體控制器判定主機欲對讀取資料進行複製動作時,由儲存裝置執行干擾程序以防止或減緩讀取資料被複製到主機。
從又一觀點來看,本發明提出一種記憶體控制器,用於管理儲存裝置內記憶體晶片的多個實體區塊。此記憶體控制器包括記憶體管理電路、記憶體介面,以及主機介面。其中,記憶體介面耦接至記憶體管理電路,用以耦接記憶體晶片。主機介面耦接至記憶體管理電路,用以耦接主機。記憶體管理電路用以執行多個程序。記憶體管理電路用以配置多個邏輯區塊以映射至少部分實體區塊,其中每一邏輯區塊包括多個邏輯位址。記憶體管理電路用以依據上述邏輯區塊中多個邏輯位址範圍分別用以存放的檔案類型,設定各邏輯位址範圍的輸出流速限制。記憶體管理電路用以接收來自主機的讀取指令,此讀取指令包括位置資訊,並根據位置資訊自所有邏輯位址範圍中取得一目標邏輯位址範圍,以利用目標邏輯位址範圍的輸出流速限制,判斷主機欲對讀取指令所對應之讀取資料進行的動作。當記憶體管理電路判定主機欲對讀取資料進行複製動作時,由儲存裝置執行干擾程序以防止或減緩讀取資料被複製到主機。
本發明還提出一種資料保護方法,用於儲存裝置。此儲存裝置中的記憶體晶片具有多個實體區塊。此方法包括配置多個邏輯區塊以映射至少部分實體區塊,其中每個邏輯區塊包括多個邏輯位址。此方法還包括設定多個傳輸介面種類與每一傳輸介面種類所分別對應的輸出流速限制,當儲存裝置使用其中之一傳輸介面種類接收來自主機的讀取指令時,依據所使用之傳輸介面種類對應的輸出流速限制,判斷主機欲對讀取指令所對應之讀取資料進行的動作。此方法更包括當判定主機欲對讀取資料進行複製動作時,由儲存裝置執行一干擾程序以防止或減緩讀取資料被複製到主機。
在本發明之一範例實施例中,其中依據所使用之傳輸介面種類對應的輸出流速限制,判斷主機欲對讀取資料進行的動作的步驟包括取得在一量測時間內儲存裝置的資料流出量,其中量測時間的長短係對應所使用之傳輸介面種類。根據量測時間與資料流出量計算目前流速。若目前流速大於或等於所使用之傳輸介面種類對應的輸出流速限制且/或資料流出量大於或等於一預設值,則判定主機欲對讀取資料進行複製動作。而若目前流速小於所使用之傳輸介面種類對應的輸出流速限制且/或資料流出量小於預設值,則判定主機欲對讀取資料進行播放動作。
在本發明之一範例實施例中,其中干擾程序至少包括下列程序其中之一:回報一訊息至主機,執行一無窮迴圈以進入當機狀態,依照一預設速度傳送讀取資料至主機,以及等待一延遲時間後傳送讀取資料至主機。
本發明還提出一種儲存裝置,其包括記憶體晶片、連接器,以及記憶體控制器。記憶體晶片具有多個實體區塊。連接器用以耦接主機。記憶體控制器耦接至記憶體晶片與連接器,用以執行至少下列程序:配置多個邏輯區塊以映射至少部分實體區塊,其中每個邏輯區塊包括多個邏輯位址,設定多個傳輸介面種類與每一傳輸介面種類所對應的輸出流速限制,當儲存裝置使用其中之一傳輸介面種類接收來自主機的讀取指令時,依據所使用之傳輸介面種類對應的輸出流速限制,判斷主機欲對讀取指令所對應之讀取資料進行的動作。當判定主機欲對讀取資料進行複製動作時,由儲存裝置執行一干擾程序以防止或減緩讀取資料被複製到主機。
本發明更提出一種記憶體控制器,用於管理儲存裝置中記憶體晶片內的多個實體區塊。此記憶體控制器包括記憶體管理電路、記憶體介面,以及主機介面。記憶體介面耦接至記憶體管理電路,用以耦接記憶體晶片。主機介面耦接至記憶體管理電路,用以耦接主機。其中,記憶體管理電路用以執行至少下列程序:配置多個邏輯區塊以映射至少部分實體區塊,其中每個邏輯區塊包括多個邏輯位址,設定多個傳輸介面種類與每一傳輸介面種類所對應的輸出流速限制,當儲存裝置使用其中之一傳輸介面種類接收來自主機的讀取指令時,依據所使用之傳輸介面種類對應的輸出流速限制,判斷主機欲對讀取指令所對應之讀取資料進行的動作。當判定主機欲對讀取資料進行複製動作時,由儲存裝置執行一干擾程序以防止或減緩讀取資料被複製到主機。
基於上述,本發明係根據不同的讀取條件採用不同的輸出流速限制,據以判斷主機欲對儲存裝置中的資料進行的動作。如此一來,在主機欲播放資料時不影響播放的順暢度,而在主機欲對資料進行複製動作時,亦可避免資料被輕易複製到主機。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1A是根據本發明一範例實施例所繪示之使用儲存裝置之主機系統的示意圖。
主機系統1000包括電腦1100與輸入/輸出(Input/Output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(Random Access Memory,RAM)1104、系統匯流排1108以及資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B所示的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明範例實施例中,儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的處理,主機系統1000可將資料寫入至儲存裝置100,或從儲存裝置100中讀取資料。例如,儲存裝置100可以是如圖1B所示的記憶卡1214、隨身碟1212、或固態硬碟(Solid State Drive,SSD)1216。
一般而言,主機系統1000為可儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中,主機系統1000亦可以是數位相機、攝影機、通訊裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機1310時,儲存裝置則為其所使用的安全數位(Secure Digital,SD)卡1312、多媒體記憶(Multimedia Card,MMC)卡1314、記憶棒(Memory Stick)1316、小型快閃(Compact Flash,CF)卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示之儲存裝置100的方塊圖。請參照圖2,儲存裝置100包括連接器102、記憶體控制器104與記憶體晶片106。
連接器102耦接至記憶體控制器104,並且用以耦接主機系統1000。在本範例實施例中,連接器102所支援的傳輸介面種類為通用序列匯流排(Universal Serial Bus,USB)介面。然而在其他範例實施例中,連接器102的傳輸介面種類也可以是多媒體儲存卡(Multimedia Card,MMC)介面、序列先進附件(Serial Advanced Technology Attachment,SATA)介面、平行先進附件(Parallel Advanced Technology Attachment,PATA)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394介面、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)介面、安全數位(Secure Digital,SD)介面、記憶棒(Memory Stick,MS)介面、小型快閃(Compact Flash,CF)介面,或整合驅動電子(Integrated Drive Electronics,IDE)介面等任何適用的介面,在此並不加以限制。
記憶體控制器104會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並根據主機系統1000的指令在記憶體晶片106中進行資料的寫入、讀取與抹除等運作。此外,記憶體控制器104更特別用以執行本範例實施例的資料保護機制及記憶體管理機制。
記憶體晶片106耦接至記憶體控制器104。記憶體晶片106係用以儲存如檔案配置表(File Allocation Table,FAT),增強型文件系統(New Technology File System,NTFS)等檔案系統資訊,以及儲存如影像(video)檔案或聲音(audio)檔案等一般性資料。在本範例實施例中,記憶體晶片106包括多個實體區塊(例如實體區塊206(0)~206(K)),每個實體區塊分別包括多個實體位址(亦稱之為實體頁面),且對應於同一實體區塊之該些實體頁面可獨立寫入並同時抹除。更詳細地說,實體區塊為抹除之最小單位,亦即,每一實體區塊含有最小數目之一併被抹除的記憶胞。而實體頁面則是程式化的最小單元,亦即實體頁面為寫入資料時的最小單元。
在本範例實施例中,記憶體晶片106為可複寫式非揮發性記憶體。舉例來說,記憶體晶片106為多層記憶胞(Multi Level Cell,MLC) NAND快閃記憶體晶片,但本發明不限於此,記憶體晶片106也可以是單層記憶胞(Single Level Cell,SLC) NAND快閃記憶體晶片、其他快閃記憶體晶片或任何具有相同特性的記憶體晶片。
圖3是根據本發明一範例實施例所繪示的記憶體控制器的概要方塊圖。請參照圖3,記憶體控制器104包括主機介面1042、記憶體管理電路1046,以及記憶體介面1048。
主機介面1042耦接至記憶體管理電路1046,並透過連接器102以耦接主機系統1000。主機介面1042係用以接收與識別主機系統1000所傳送的指令與資料。據此,主機系統1000所傳送的指令與資料會透過主機介面1042而傳送至記憶體管理電路1046。在本範例實施例中,主機介面1042對應連接器102而為USB介面,而在其他範例實施例中,主機介面1042也可以是MMC介面、SATA介面、PATA介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、CF介面、IDE介面或符合其他介面標準的介面。
記憶體管理電路1046用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路1046具有多個控制指令,在儲存裝置100運作時,上述控制指令會被執行以根據本範例實施例的資料保護機制與記憶體管理機制來控管記憶體晶片106。而資料保護機制及記憶體管理機制的詳細運作方式將於以下配合圖式再作說明。
在本範例實施例中,記憶體管理電路1046的控制指令是以韌體型式來實作。例如,記憶體管理電路1046具有微處理器單元(未繪示)與唯讀記憶體(未繪示),且上述控制指令是被燒錄在唯讀記憶體中。當儲存裝置100運作時,上述控制指令會由微處理器單元來執行以完成本發明所述之資料保護機制與記憶體管理機制。
在本發明另一範例實施例中,記憶體管理電路1046的控制指令亦可以程式碼型式儲存於記憶體晶片106的特定區域(例如,記憶體晶片106中專用於存放系統資料的系統區)中。此外,記憶體管理電路1046具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。其中,唯讀記憶體具有驅動碼段,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於記憶體晶片106中之控制指令載入至記憶體管理電路1046的隨機存取記憶體中。之後,微處理器單元會運轉上述控制指令以執行本發明範例實施例的資料保護機制與記憶體管理機制。此外,在本發明另一範例實施例中,記憶體管理電路1046的控制指令亦可以一硬體型式來實作。
記憶體介面1048耦接至記憶體管理電路1046,用以使記憶體控制器104與記憶體晶片106相耦接。據此,記憶體控制器104可對記憶體晶片106進行相關運作。也就是說,欲寫入至記憶體晶片106的資料會經由記憶體介面1048轉換為記憶體晶片106所能接受的格式。
在本發明另一範例實施例中,記憶體控制器104還包括緩衝記憶體2002。緩衝記憶體2002耦接至記憶體管理電路1046,用以暫存來自於主機系統1000的資料,或暫存來自於記憶體晶片106的資料。
在本發明另一範例實施例中,記憶體控制器104還包括錯誤校正電路2004。錯誤校正電路2004耦接至記憶體管理電路1046,用以執行一錯誤校正程序以確保資料的正確性。具體來說,當記憶體控制器104接收到來自主機系統1000的寫入指令時,錯誤校正電路2004會為對應此寫入指令的寫入資料產生相應的錯誤校正碼(Error Correcting Code,ECC),而此寫入資料與相應的錯誤校正碼將被一併寫入至記憶體晶片106。而當記憶體控制器104接收到來自主機系統1000的讀取指令時,則會從記憶體晶片106中讀取對應此讀取指令的資料及其錯誤校正碼。此時,錯誤校正電路2004會依據此錯誤校正碼對所讀取的資料執行錯誤校正程序。
在本發明另一範例實施例中,記憶體控制器104還包括電源管理電路2006。電源管理電路2006耦接至記憶體管理電路1046,用以控制儲存裝置100的電源。
圖4與圖5是根據本發明一範例實施例所繪示之管理記憶體晶片的範例示意圖。
必須說明的是,以下描述記憶體晶片106之實體區塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區塊是邏輯上的概念。亦即,記憶體晶片106之實體區塊的實際位置並未更動,而是邏輯上對記憶體晶片106的實體區塊進行操作。
請參照圖4,記憶體管理電路1046會將記憶體晶片106中的實體區塊206(0)~206(K)邏輯地分組為資料區402、備用區404、系統區406與取代區408。
邏輯上屬於資料區402與備用區404的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,資料區402是已存有資料的實體區塊,而備用區404中的實體區塊則是用以替換資料區402的實體區塊。因此,備用區404的實體區塊為空或可使用的實體區塊(亦即,無記錄資料或標記為已沒用的無效資料)。也就是說,在備用區404中的實體區塊已被執行抹除運作,或者在備用區404中的實體區塊被提取用於儲存資料之前,所提取之實體區塊會被執行抹除運作。因此,備用區404的實體區塊為可被使用的實體區塊。
邏輯上屬於系統區406的實體區塊是用以記錄系統資料,此系統資料包括關於記憶體晶片106的製造商與型號、記憶體晶片106的實體區塊數,以及每一實體區塊之實體頁面數等。
邏輯上屬於取代區408中的實體區塊可稱之為替代實體區塊。例如,記憶體晶片106於出廠時會預留4%的實體區塊作為更換使用。當資料區402、備用區404與系統區406中的實體區塊損毀時,預留於取代區408中的實體區塊便能用來取代損壞的實體區塊。因此,倘若在發生實體區塊損毀時,取代區408中仍有正常之實體區塊,記憶體管理電路1046會從取代區408中提取正常的實體區塊來更換損毀的實體區塊。倘若在發生實體區塊損毀時取代區408中已無正常之實體區塊,記憶體管理電路1046會將儲存裝置100宣告為寫入保護(write protect)狀態,而無法再寫入資料。
請參照圖5,如上所述,資料區402與備用區404的實體區塊是以輪替方式來儲存主機系統1000所寫入之資料。在本範例實施例中,記憶體管理電路1046會配置多個邏輯區塊,各邏輯區塊分別包括多個邏輯位址。記憶體管理電路1046將上述邏輯位址提供給主機系統1000,以利主機系統1000在以上述輪替方式來儲存資料之實體區塊中進行資料存取。具體來說,記憶體管理電路1046會將提供給主機系統1000的邏輯位址分組為邏輯區塊510(0)~510(L),並且將邏輯區塊510(0)~510(L)映身寸至資料區402的實體區塊。記憶體管理電路1046會建立邏輯區塊-實體區塊映射表(logical block-physical block mapping table),以記錄邏輯區塊與實體區塊之間的映射關係。
在一範例實施例中,記憶體管理電路1046將所配置的邏輯區塊510(0)~510(L)劃分為數個分割槽(partition),每個分割槽具有各自的檔案配置表、目錄資料區,以及儲存區。詳細地說,一個分割槽即可視為邏輯區塊510(0)~510(L)中的一個邏輯位址範圍,而記憶體管理電路1046將決定所有或部分的分割槽分別用以存放的檔案類型,並針對有規定可存放之檔案類型的分割槽,依據其用以存放的檔案類型來設定其輸出流速限制。
由於已預先規定至少部分分割槽(邏輯位址範圍)用以存放的檔案類型,因此在儲存裝置100出廠之前,可由廠商的工作人員依照要存入之檔案的類型,選擇正確的分割槽並將檔案存入該分割槽中。在工作人員完成儲存檔案的動作後,有被規定能存放之檔案類型的分割槽便會被宣告為寫入保護狀態。據此,即便在出廠後使用者也無法對該些分割槽的內容進行更動。而對於未被規定所能存放之檔案類型的分割槽來說,則可在出廠後由使用者對其進行一般的資料存取操作。
舉例來說,請參閱圖6,假設記憶體管理電路1046將所配置的邏輯區塊510(0)~510(L)劃分為第一分割槽、第二分割槽與第三分割槽。其中,邏輯區塊510(0)~510(a)係用以存放第一分割槽的檔案配置表與目錄資料,而邏輯區塊510(a+1)~510(b)則是第一分割槽的儲存區。邏輯區塊510(b+1)~510(c)是用以存放第二分割槽的檔案配置表與目錄資料,而邏輯區塊510(c+1)~510(f)則是第二分割槽的儲存區。邏輯區塊510(f+1)~510(g)是用以存放第三分割槽的檔案配置表與目錄資料,而邏輯區塊510(g+1)~510(L)則是第三分割槽的儲存區。
在本範例實施例中,記憶體管理電路1046決定第一分割槽係用以存放檔案類型為聲音的資料,並將其輸出流速限制設定為200KB/s,並決定第二分割槽是用以存放檔案類型為影像的資料,並設定其輸出流速限制為900KB/s,以及決定第三分割槽是可被使用者自由存取的一般分割槽(第三分割槽無輸出流速限制)。必需特別說明的是,上述設定僅是為了說明而舉出的範例,並不用以限制本發明的範圍。
在儲存裝置100出廠之前,假設工作人員目前要存入的是聲音檔案,便選擇第一分割槽來存放資料。而在目前要存入的是影像檔案時,則選擇第二分割槽來存放資料。因此,當記憶體控制器104接收到工作人員所操作之主機系統發出的寫入指令時,記憶體管理電路1046便會將寫入指令所包括的寫入資料儲存至用以存放寫入資料之檔案類型的分割槽。
完成所有的資料存放動作後,第一分割槽與第二分割槽便被宣告為寫入保護狀態,接著再出廠販售。換句話說,要預存入儲存裝置100的檔案係依照其檔案類型的不同而被分類儲存至不同的分割槽,且各分割槽之輸出流速限制的大小係與所能儲存的檔案類型有關。
在記憶體控制器104接收到來自主機系統1000的讀取指令時,記憶體管理電路1046會利用讀取指令中的位置資訊判斷主機系統1000讀取資料的目的。在本範例實施例中,讀取指令所包括的位置資訊為一槽位參數,記憶體管理電路1046會根據槽位參數自所有的分割槽中取得其一來作為目標邏輯位址範圍(亦即,取得所有分割槽中符合該槽位參數的分割槽)。若目標邏輯位址範圍有對應一輸出流速限制,記憶體管理電路1046便利用目標邏輯位址範圍的輸出流速限制來判斷主機系統1000欲對讀取資料進行的動作。
詳細地說,在儲存裝置100開始輸出資料後,記憶體管理電路1046每隔一量測時間便核算一次資料輸出的速度。其中,量測時間的長短係對應目標邏輯位址範圍用以存放的檔案類型,而一般來說存放聲音檔案類型所對應的量測時間將小於存放影像檔案類型所對應的量測時間。記憶體管理電路1046在取得該量測時間內儲存裝置100的資料流出量後,便根據量測時間與資料流出量計算一目前流速。若目前流速大於或等於目標邏輯位址範圍的輸出流速限制,且/或資料流出量大於或等於一預設值,記憶體管理電路1046即判定主機系統1000欲對讀取資料進行一複製動作。反之,若目前流速小於目標邏輯位址範圍的輸出流速限制且/或資料流出量小於預設值,記憶體管理電路1046則判定主機系統1000欲對讀取資料進行一播放動作。
承接圖6之範例,假設對應第一分割槽的量測時間為100毫秒(ms),而對應第二分割槽的量測時間為800ms。倘若目標邏輯位址範圍是第一分割槽,表示主機系統1000欲存取的是檔案類型為聲音的資料。據此,在儲存裝置100開始輸出資料後,記憶體管理電路1046每隔100ms便取一次儲存裝置100的資料流出量,進而依據資料流出量計算這100ms內的一目前流速。若目前流速大於或等於第一分割槽的輸出流速限制(本範例實施例為200KB/s),且/或資料流出量大於或等於一預設值(例如1.8MB),記憶體管理電路1046便判定主機系統1000欲對讀取資料進行複製動作。反之,若目前流速小於第一分割槽的輸出流速限制且/或資料流出量小於預設值,記憶體管理電路1046則判定主機系統1000欲對讀取資料進行播放動作。
值得說明的是,本文所述之播放動作是指主機系統1000將儲存裝置100所儲存之資料讀取至主機系統1000後,僅對該資料進行播放,而並未另行將該資料寫入至儲存裝置100以外的另一個儲存裝置(例如電腦1100的硬碟(HDD)或快閃記憶卡、記憶碟)。而本文所述之複製動作則是指主機系統1000將儲存裝置100所儲存之資料讀取至主機系統1000後,另行將該資料寫入至儲存裝置100之外的另一個儲存裝置,此另一儲存裝置可配置於主機系統1000中或外接於主機系統1000。
當記憶體管理電路1046判定主機系統1000欲對讀取資料進行播放動作時,記憶體管理電路1046允許主機系統1000繼續存取該讀取資料。然而當記憶體管理電路1046判定主機系統1000欲對讀取資料進行複製動作時,儲存裝置100則會執行一干擾程序,進而防止或減緩讀取資料被複製到主機系統1000。干擾程序的詳細運作方式容後再述。
在本發明的另一範例實施例中,儲存裝置100僅具有一個分割槽,而記憶體管理電路1046會將所配置的邏輯區塊510(0)~510(L)分組為多個特定區域。在本範例實施例中,每個特定區域即為邏輯區塊510(0)~510(L)中的一個邏輯位址範圍。記憶體管理電路1046會分別決定每個特定區域用以存放的檔案類型,並依據各特定區域分別用以存放的檔案類型來設定各特定區域的輸出流速限制。
在本範例實施例中,儲存裝置100在出廠前便由廠商的工作人員預先存入檔案。當記憶體控制器104接收到來自工作人員所操作之主機系統的寫入指令時,記憶體管理電路1046會依據寫入指令所包括之寫入資料的檔案類型,將寫入資料儲存至對應的特定區域。具體而言,由於不同的特定區域被規定用以存放不同的檔案類型,因此儲存裝置100會提供一應用程式工具,便於讓工作人員在將資料寫入儲存裝置100時,透過該應用程式工具設定寫入資料的檔案類型。接著在工作人員所操作之主機系統下達包括該寫入資料與邏輯位址的寫入指令時,應用程式工具便能根據寫入資料的檔案類型判斷該寫入資料應被存入哪個特定區域,並將寫入指令中的邏輯位址對應地轉換為該特定區域中的邏輯位址。據此,記憶體管理電路1046便能依據經由應用程式工具轉換而成的邏輯位址,將寫入資料儲存至對應的特定區域。而在工作人員完成檔案的儲存動作後,儲存裝置100將被宣告為寫入保護狀態,故即便在出廠後使用者也無法修改儲存裝置100中的內容。
請參閱圖7A,假設記憶體管理電路1046將邏輯區塊510(0)~510(L)分組為第一特定區域、第二特定區域與第三特定區域,並決定第一特定區域所包括的邏輯區塊510(0)~510(d)係用以儲存檔案配置表與目錄資料,第二特定區域所包括的邏輯區塊510(d+1)~510(e)係用以存放檔案類型為聲音的資料,且第三特定區域所包括的邏輯區塊510(e+1)~510(L)係用以存放檔案類型為影像的資料。據此,當儲存裝置100在出廠前接收到來自工作人員所操作之主機系統的寫入指令時,若寫入指令包括的寫入資料為聲音檔案,該聲音檔案便會被存入第二特定區域,而若寫入指令所包括之寫入資料為影像檔案,該影像檔案則會被存入第三特定區域。
也就是說,儲存裝置100係利用不同的特定區域儲存屬於不同檔案類型的檔案,且各特定區域之輸出流速限制的大小係與所能儲存的檔案類型有關。
當記憶體控制器104接收到來自主機系統1000的讀取指令時,記憶體管理電路1046利用讀取指令中的位置資訊判斷主機系統1000欲對讀取指令所對應之讀取資料進行的動作。在本範例實施例中,讀取指令所包括的位置資訊為一邏輯存取位址,記憶體管理電路1046會從所有的特定區域中取得包含該邏輯存取位址的特定區域來作為目標邏輯位址範圍。接著,記憶體管理電路1046根據目標邏輯位址範圍的輸出流速限制判斷主機系統1000欲對讀取資料進行的是播放動作或複製動作。
在另一範例實施例中,儲存裝置100具有第一分割槽及第二分割槽。第一分割槽包括三個特定區域(即圖7B所示之第一特定區域、第二特定區域與第三特定區域),記憶體管理電路1046規定第一特定區域用以儲存第一分割槽的檔案配置表與目錄資料,第二特定區域用以存放檔案類型為聲音的資料並具有一輸出流速限制,且第三特定區域用以存放檔案類型為影像的資料並具有一輸出流速限制。其中,第二特定區域與第三特定區域中的資料已在儲存裝置100出廠前由工作人員預先存入,且第一分割槽被宣告為寫入保護狀態。第二分割槽則是在儲存裝置100出廠後仍可被使用者儲存或讀取資料的槽位。
當記憶體控制器104接收到來自主機系統1000的讀取指令時,若讀取指令所欲讀取的資料是儲存在有輸出流速限制的第二特定區域或第三特定區域中,記憶體管理電路1046則利用讀取指令中的位置資訊判斷主機系統1000欲對讀取指令所對應之讀取資料進行的動作。由於詳細的判斷方式與前述範例實施例相同或相似,故在此不再贅述。然而,倘若讀取指令所欲讀取的是第二分割槽中的資料,記憶體管理電路1046則不判斷主機系統1000欲對讀取資料進行的動作。
只要記憶體管理電路1046判定主機系統1000欲對讀取資料進行播放動作,主機系統1000便被允許繼續地存取讀取資料。然而若記憶體管理電路1046判定主機系統1000欲對讀取資料進行複製動作時,儲存裝置100則會執行干擾程序來避免讀取資料被輕易地複製到主機系統1000。
在本發明的又一範例實施例中,記憶體管理電路1046針對接收自主機系統1000的每一個寫入指令,都將根據各寫入指令所包括之寫入資料的檔案類型,決定各寫入指令要寫入之邏輯位址區段用以存放的檔案類型,並將各邏輯位址區段及其用以存放之檔案類型的對應關係記錄下來。在本範例實施例中,每個被記錄的邏輯位址區段都將被視為邏輯區塊510(0)~510(L)中的一個邏輯位址範圍。記憶體管理電路1046也將依據各邏輯位址區段分別用以存放的檔案類型來設定各邏輯位址區段的輸出流速限制。舉例來說,記憶體管理電路1046可利用一對應表記錄各邏輯位址區段的起迄位址、其用以儲存的檔案類型以及輸出流速限制。
舉例來說,假設記憶體控制器104接收到來自主機系統1000的寫入指令,該寫入指令所包括之寫入資料的檔案類型為聲音檔案,且所欲寫入的邏輯位址區段為邏輯位址H1
~邏輯位址Hn
,記憶體管理電路1046會將邏輯位址H1
~邏輯位址Hn
定義為一個邏輯位址範圍,並決定該邏輯位址範圍用以存放的檔案類型為聲音檔案,同時依據聲音檔案來設定此邏輯位址範圍的輸出流速限制。記憶體管理電路1046會將邏輯位址H1
~邏輯位址Hn
及其對應的輸出流速限制記錄於對應表中。
若記憶體控制器104另接收主機系統1000發出的寫入指令,該寫入指令所包括之寫入資料的檔案類型為影像檔案,且所欲寫入的邏輯位址區段為邏輯位址P1
~邏輯位址Pm
,記憶體管理電路1046會將邏輯位址P1
~邏輯位址Pm
定義為另一個邏輯位址範圍,並決定該邏輯位址範圍用以存放的檔案類型為影像檔案,同時依據影像檔案來設定此邏輯位址範圍的輸出流速限制。記憶體管理電路1046亦會將邏輯位址P1
~邏輯位址Pm
及其對應的輸出流速限制記錄於對應表中。
在本範例實施例中,對於所有要存入儲存裝置100的資料,記憶體管理電路1046不會對其存放的位置加以限制。由於資料的存放並未按照檔案類型來分類,因此同種檔案類型的資料可群聚或分散地儲存。
而當記憶體控制器104接收到來自主機系統1000的讀取指令時,記憶體管理電路1046利用讀取指令中的位置資訊判斷主機系統1000欲對讀取指令所對應之讀取資料進行的動作。在本範例實施例中,位置資訊為一邏輯存取位址。記憶體管理電路1046會將該邏輯存取位址與對應表所記錄的資訊進行比對,進而取得在所有的邏輯位址區段中,起始位址便是該邏輯存取位址的邏輯位址區段來作為目標邏輯位址範圍。接著,記憶體管理電路1046根據目標邏輯位址範圍的輸出流速限制來判斷主機系統1000欲對讀取資料進行的是播放動作或複製動作。
由於播放動作及複製動作的判定與上述範例實施例相同或相似,故在此不再贅述。只要記憶體管理電路1046判定主機系統1000欲對讀取資料進行播放動作,主機系統1000便被允許繼續存取讀取資料。然而若記憶體管理電路1046判定主機系統1000欲對讀取資料進行複製動作時,儲存裝置100則會執行一干擾程序來避免讀取資料被輕易地複製到主機系統1000。
圖8是根據本發明一範例實施例所繪示之資料保護方法的流程圖。
請參閱圖8,記憶體控制器104中的記憶體管理電路1046配置用以提供給主機系統1000的多個邏輯區塊,以映射記憶體晶片106中至少部分實體區塊(步驟S810)。
接著,記憶體管理電路1046決定在所有邏輯區塊中多個邏輯位址範圍分別用以存放的檔案類型(步驟S820),並依據各邏輯位址範圍分別用以存放的檔案類型來設定各邏輯位址範圍的輸出流速限制(步驟S830)。
當記憶體控制器104接收來自主機系統1000的讀取指令,而讀取指令包括一位置資訊(步驟S840),記憶體管理電路1046根據位置資訊自所有邏輯位址範圍中取得一目標邏輯位址範圍(步驟S850)。
記憶體管理電路1046接著根據目標邏輯位址範圍的輸出流速限制,判斷主機系統1000欲對讀取指令所對應之讀取資料進行的動作(步驟S860)。
若記憶體管理電路1046判定主機系統1000欲對讀取資料進行播放動作,便允許主機系統1000繼續存取該讀取資料(步驟S870)。
若記憶體管理電路1046判定主機系統1000欲對讀取資料進行複製動作,則由儲存裝置100執行干擾程序,以防止或減緩讀取資料被複製到主機系統1000(步驟S880)。
以下將以儲存裝置100說明本發明另一範例實施例所提出的資料保護機制。
隨著儲存裝置100與主機系統1000之間傳輸資料所採用之傳輸介面種類的不同,主機系統1000從儲存裝置100讀出資料的速度也不相同。即便是採用的傳輸介面種類相同但版本相異,其資料傳輸的速度也有差異。舉例來說,當主機系統1000採用版本2.0的USB傳輸介面自儲存裝置100讀出資料時,資料輸出的速度最高約可超過30MB/s,然而在主機系統1000採用版本1.1的USB傳輸介面從儲存裝置100讀出資料時,最高的資料輸出速度大約只有1.5MB/s。
基於上述觀點,在以下的範例實施例中,儲存裝置100中的記憶體控制器104將根據傳輸介面種類而使用不同的輸出流速限制,以判斷主機系統1000讀取資料的目的。
詳細地說,記憶體控制器104中的記憶體管理電路1046除了配置數個邏輯區塊以映射至少部分實體區塊之外,還會設定多個傳輸介面種類與各傳輸介面種類所分別對應的輸出流速限制。在本範例實施例中,不同傳輸介面種類係對應不同的輸出流速限制,而種類相同但版本不同的傳輸介面可對應相同或相異的輸出流速限制。例如,版本1.1的USB傳輸介面、版本2.0的USB傳輸介面,以及版本3.0的USB傳輸介面可對應相同的輸出流速限制(例如800KB/s),亦或是根據資料傳輸的快慢而對應至不同的輸出流速限制。例如,資料傳輸越快則對應的輸出流速限制越大。
當儲存裝置100使用其中一種傳輸介面種類以接收來自主機系統1000的讀取指令時,記憶體管理電路1046依據使用之傳輸介面種類所對應的輸出流速限制,判斷主機系統1000欲對讀取指令所對應之讀取資料進行的動作是播放動作或複製動作。
詳細地說,一旦資料開始被傳送至主機系統1000後,記憶體管理電路1046每隔一量測時間便會核算一次資料輸出的速度,量測時間的長短係對應所使用之傳輸介面種類。例如,在使用資料傳輸速度越快的傳輸介面種類時,所採用的量測時間越短,反之亦然。而種類相同但版本不同的傳輸介面亦須依照其資料傳輸速度的快慢而對應不同的量測時間。例如,版本1.1的USB傳輸介面、版本2.0的USB傳輸介面,以及版本3.0的USB傳輸介面所對應的量測時間可分別為500ms、100ms,以及80ms。
為了判斷主機系統1000讀取資料的目的,記憶體管理電路1046取得在量測時間內儲存裝置100的資料流出量,並根據量測時間與資料流出量計算一目前流速。
若目前流速小於所使用之傳輸介面種類所對應的輸出流速限制且/或資料流出量小於一預設值,記憶體管理電路1046判定主機系統1000欲對讀取資料進行一播放動作。此時,主機系統1000會被允許繼續存取尚儲存在記憶體晶片106中的讀取資料。
若目前流速大於或等於所使用之傳輸介面種類所對應的輸出流速限制,且/或資料流出量大於或等於一預設值,記憶體管理電路1046便判定主機系統1000欲對讀取資料進行複製動作。此時,儲存裝置100將執行一干擾程序來防止或減緩讀取資料被複製到主機系統1000。
圖9是根據本發明另一範例實施例所繪示之資料保護方法的流程圖。
請參閱圖9,記憶體控制器104中的記憶體管理電路1046設定數個傳輸介面種類與各傳輸介面種類所對應的輸出流速限制(步驟S910)。
接著,當儲存裝置100使用其中一種傳輸介面種類接收來自主機系統1000的讀取指令時,記憶體管理電路1046依據所使用之傳輸介面種類所對應的輸出流速限制,判斷主機系統1000欲對讀取指令所對應之讀取資料進行的動作(步驟S920)。
若記憶體管理電路1046判定主機系統1000欲對讀取資料進行播放動作,則允許主機系統1000存取該讀取資料(步驟S930)。
若記憶體管理電路1046判定主機系統1000欲對讀取資料進行複製動作,則由儲存裝置100執行干擾程序,以防止或減緩讀取資料被複製到主機系統1000(步驟S940)。
在上述範例實施例中,在記憶體管理電路1046判定主機系統1000欲對讀取資料進行複製動作時,儲存裝置100所執行的干擾程序包括將一訊息回報至主機系統1000。其中,所回報的訊息可以是儲存媒體更動中(media alternative)訊息、資料循環冗餘檢查碼(Cyclic Redundancy Check,CRC)錯誤訊息、錯誤校正碼(Error-Correcting Code,ECC)錯誤訊息,讀取失敗訊息或儲存媒體不存在訊息等。而主機系統1000在接獲上述訊息回報後,便無法繼續讀出資料並進行複製。進一步來說,主機系統1000在接獲訊息回報後會認定儲存裝置100的格式有誤,而可能會顯示一交談視窗來詢問使用者是否要對儲存裝置100進行格式化。為了防止使用者此時不慎選擇執行格式化而喪失儲存裝置100中的資料,記憶體管理電路1046亦藉由將儲存裝置100宣告為寫入保護狀態,以避免被不慎格式化的情況產生。
此外,儲存裝置100所執行的干擾程序也可以是執行一無窮迴圈進而使儲存裝置100進入當機狀態。此時,除非使用者將儲存裝置100重新連接至主機系統1000,否則儲存裝置100將不再接受任何的資料讀寫操作。
另外,儲存裝置100所執行的干擾程序可以是依照一非常慢的預設速度將讀取資料傳送至主機系統1000,或者是等待一延遲時間後再將讀取資料傳送至主機系統1000。如此一來亦可達到防止資料被快速複製到主機系統1000的目的。
綜上所述,本發明所述之儲存裝置、記憶體控制器及資料保護方法係根據主機所傳送之讀取指令中的位置資訊,或是儲存裝置與主機之間的傳輸介面種類等不同的資料讀取條件而採用不同的流速限制,進而判斷主機讀取資料的目的。如此一來確保主機能流暢地播放資料,而在判定主機欲複製資料時,透過干擾程序以避免資料被輕易地複製到主機,進而達到資料保護的目的。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...儲存裝置
102...連接器
104...記憶體控制器
106...記憶體晶片
206(0)、206(1)、206(D)、206(D+1)、206(D+2)、206(N)、206(N+1)、206(N+2)、206(S)、206(S+1)、206(S+2)、206(K)...實體區塊
1042...主機介面
1046...記憶體管理電路
1048...記憶體介面
2002...緩衝記憶體
2004...錯誤校正電路
2006...電源管理電路
402...資料區
404...備用區
406...系統區
408...取代區
510(0)、510(1)、510(a)、510(a+1)、510(b)、510(b+1)、510(c)、510(c+1)、510(d)、510(d+1)、510(e)、510(e+1)、、510(f)、510(f+1)、510(g)、510(g+1)、510(h)、510(h+1)、510(L)...邏輯區塊
S810~S880...本發明之一實施例所述之資料保護方法之各步驟
S910~S940...本發明之另一實施例所述之資料保護方法之各步驟
圖1A是根據本發明一範例實施例繪示使用儲存裝置的主機系統。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與儲存裝置的示意圖。
圖1C是根據本發明另一範例實施例所繪示的主機系統與儲存裝置的示意圖。
圖2是繪示圖1A所示的儲存裝置的概要方塊圖。
圖3是根據本發明一範例實施例所繪示的記憶體控制器的概要方塊圖。
圖4、圖5是根據本發明一範例實施例所繪示之管理記憶體晶片的範例示意圖。
圖6是根據本發明一範例實施例所繪示之劃分邏輯區塊的範例示意圖。
圖7A、7B是根據本發明一範例實施例所繪示之分組邏輯區塊的範例示意圖。
圖8是根據本發明一範例實施例所繪示之資料保護方法的流程圖。
圖9是根據本發明另一範例實施例所繪示之資料保護方法的流程圖。
S810~S880...本發明之一實施例所述之資料保護方法之各步驟
Claims (14)
- 一種資料保護方法,用於一儲存裝置,該儲存裝置中的一記憶體晶片具有多個實體區塊,該方法包括:配置多個邏輯區塊以映射至少部分的該些實體區塊,其中每一該些邏輯區塊包括多個邏輯位址;依據該些邏輯區塊中多個邏輯位址範圍分別用以存放的一檔案類型,設定每一該些邏輯位址範圍的一輸出流速限制;接收來自一主機的一讀取指令,該讀取指令包括一位置資訊;根據該位置資訊自該些邏輯位址範圍中取得一目標邏輯位址範圍;利用該目標邏輯位址範圍的該輸出流速限制,判斷該主機欲對該讀取指令所對應之一讀取資料進行的動作;以及當判定該主機欲對該讀取資料進行一複製動作時,由該儲存裝置執行一干擾程序以防止或減緩該讀取資料被複製到該主機,其中該干擾程序至少包括下列其中之一:回報一訊息至該主機、執行一無窮迴圈以進入一當機狀態、依照一預設速度傳送該讀取資料至該主機,以及等待一延遲時間後傳送該讀取資料至該主機。
- 如申請專利範圍第1項所述之資料保護方法,其中在配置該些邏輯區塊以映射至少部分的該些實體區塊的步驟之後,該方法更包括: 將該些邏輯區塊劃分為多個分割槽(partition)以作為該些邏輯位址範圍;決定每一該些分割槽用以存放的該檔案類型;以及當接收來自該主機的一寫入指令時,依據該寫入指令所包括之一寫入資料的該檔案類型,將該寫入資料儲存至該些分割槽其中之一。
- 如申請專利範圍第2項所述之資料保護方法,其中該位置資訊為一槽位參數,且該目標邏輯位址範圍係在該些分割槽中符合於該槽位參數的分割槽。
- 如申請專利範圍第1項所述之資料保護方法,其中在配置該些邏輯區塊以映射至少部分的該些實體區塊的步驟之後,該方法更包括:將該些邏輯區塊分組為多個特定區域以作為該些邏輯位址範圍;決定每一該些特定區域用以存放的該檔案類型;以及當接收來自該主機的一寫入指令時,依據該寫入指令所包括之一寫入資料的該檔案類型,將該寫入資料儲存至該些特定區域其中之一。
- 如申請專利範圍第4項所述之資料保護方法,其中該位置資訊為一邏輯存取位址,且該目標邏輯位址範圍係在該些特定區域中包含該邏輯存取位址的特定區域。
- 如申請專利範圍第1項所述之資料保護方法,其中在配置該些邏輯區塊以映射至少部分的該些實體區塊的步驟之後,該方法更包括: 針對接收自該主機的每一寫入指令,根據各該寫入指令所包括之一寫入資料的該檔案類型,決定並記錄各該寫入指令要寫入之一邏輯位址區段用以存放的該檔案類型;以及以所記錄的各該邏輯位址區段作為該些邏輯位址範圍。
- 如申請專利範圍第6項所述之資料保護方法,其中該位置資訊為一邏輯存取位址,且該目標邏輯位址範圍係在各該邏輯位址區段中以該邏輯存取位址為起始位址的邏輯位址區段。
- 如申請專利範圍第1項所述之資料保護方法,其中利用該目標邏輯位址範圍的該輸出流速限制,判斷該主機欲對該讀取資料進行的動作的步驟包括:取得在一量測時間內該儲存裝置的一資料流出量,其中該量測時間的長短係對應該目標邏輯位址範圍用以存放的該檔案類型;根據該量測時間與該資料流出量計算一目前流速;若該目前流速大於或等於該目標邏輯位址範圍的該輸出流速限制且/或該資料流出量大於或等於一預設值,則判定該主機欲對該讀取資料進行該複製動作;以及若該目前流速小於該目標邏輯位址範圍的該輸出流速限制且/或該資料流出量小於該預設值,則判定該主機欲對該讀取資料進行一播放動作。
- 一種儲存裝置,包括: 一記憶體晶片,具有多個實體區塊;一連接器,用以耦接至一主機;以及一記憶體控制器,耦接至該記憶體晶片與該連接器,用以執行至少下列程序:配置多個邏輯區塊以映射至少部分的該些實體區塊,其中每一該些邏輯區塊包括多個邏輯位址;依據該些邏輯區塊中多個邏輯位址範圍分別用以存放的一檔案類型,設定每一該些邏輯位址範圍的一輸出流速限制;接收來自該主機的一讀取指令,該讀取指令包括一位置資訊;根據該位置資訊自該些邏輯位址範圍中取得一目標邏輯位址範圍;利用該目標邏輯位址範圍的該輸出流速限制,判斷該主機欲對該讀取指令所對應之一讀取資料進行的動作;以及當判定該主機欲對該讀取資料進行一複製動作時,由該儲存裝置執行一干擾程序以防止或減緩該讀取資料被複製到該主機,其中該干擾程序至少包括下列其中之一:回報一訊息至該主機、執行一無窮迴圈以進入一當機狀態、依照一預設速度傳送該讀取資料至該主機,以及等待一延遲時間後傳送該讀取資料至該主機。
- 一種記憶體控制器,用於管理一儲存裝置內一記憶 體晶片的多個實體區塊,該記憶體控制器包括:一記憶體管理電路;一記憶體介面,耦接至該記憶體管理電路,用以耦接該記憶體晶片;以及一主機介面,耦接至該記憶體管理電路,用以耦接一主機,其中該記憶體管理電路用以執行至少下列程序:配置多個邏輯區塊以映射至少部分的該些實體區塊,其中每一該些邏輯區塊包括多個邏輯位址;依據該些邏輯區塊中多個邏輯位址範圍分別用以存放的一檔案類型,設定每一該些邏輯位址範圍的一輸出流速限制;接收來自該主機的一讀取指令,該讀取指令包括一位置資訊;根據該位置資訊自該些邏輯位址範圍中取得一目標邏輯位址範圍;利用該目標邏輯位址範圍的該輸出流速限制,判斷該主機欲對該讀取指令所對應之一讀取資料進行的動作;以及當判定該主機欲對該讀取資料進行一複製動作時,由該儲存裝置執行一干擾程序以防止或減緩該讀取資料被複製到該主機,其中該干擾程序至少包括下列其中之一:回報一訊息至該主機、執行一無窮迴圈以進入一當機狀態、依照一預設速度傳送該讀取資料 至該主機,以及等待一延遲時間後傳送該讀取資料至該主機。
- 一種資料保護方法,用於一儲存裝置,該儲存裝置中的一記憶體晶片具有多個實體區塊,該方法包括:配置多個邏輯區塊以映射至少部分的該些實體區塊,其中每一該些邏輯區塊包括多個邏輯位址;設定多個傳輸介面種類與每一該些傳輸介面種類所分別對應的一輸出流速限制;當該儲存裝置使用該些傳輸介面種類其中之一接收來自一主機的一讀取指令時,依據所使用之傳輸介面種類對應的該輸出流速限制,判斷該主機欲對該讀取指令所對應之一讀取資料進行的動作;以及當判定該主機欲對該讀取資料進行一複製動作時,由該儲存裝置執行一干擾程序以防止或減緩該讀取資料被複製到該主機,其中該干擾程序至少包括下列其中之一:回報一訊息至該主機、執行一無窮迴圈以進入一當機狀態、依照一預設速度傳送該讀取資料至該主機,以及等待一延遲時間後傳送該讀取資料至該主機。
- 如申請專利範圍第11項所述之資料保護方法,其中依據所使用之傳輸介面種類對應的該輸出流速限制,判斷該主機欲對該讀取資料進行的動作的步驟包括:取得在一量測時間內該儲存裝置的一資料流出量,其中該量測時間的長短係對應所使用之傳輸介面種類;根據該量測時間與該資料流出量計算一目前流速; 若該目前流速大於或等於所使用之傳輸介面種類對應的該輸出流速限制且/或該資料流出量大於或等於一預設值,則判定該主機欲對該讀取資料進行該複製動作;以及若該目前流速小於所使用之傳輸介面種類對應的該輸出流速限制且/或該資料流出量小於該預設值,則判定該主機欲對該讀取資料進行一播放動作。
- 一種儲存裝置,包括:一記憶體晶片,具有多個實體區塊;一連接器,用以耦接至一主機;以及一記憶體控制器,耦接至該記憶體晶片與該連接器,用以執行至少下列程序:配置多個邏輯區塊以映射至少部分的該些實體區塊,其中每一該些邏輯區塊包括多個邏輯位址;設定多個傳輸介面種類與每一該些傳輸介面種類所分別對應的一輸出流速限制;當該儲存裝置使用該些傳輸介面種類其中之一接收來自該主機的一讀取指令時,依據所使用之傳輸介面種類對應的該輸出流速限制,判斷該主機欲對該讀取指令所對應之一讀取資料進行的動作;以及當判定該主機欲對該讀取資料進行一複製動作時,由該儲存裝置執行一干擾程序以防止或減緩該讀取資料被複製到該主機,其中該干擾程序至少包括下列其中之一:回報一訊息至該主機、執行一無窮迴圈 以進入一當機狀態、依照一預設速度傳送該讀取資料至該主機,以及等待一延遲時間後傳送該讀取資料至該主機。
- 一種記憶體控制器,用於管理一儲存裝置中一記憶體晶片的多個實體區塊,該記憶體控制器包括:一記憶體管理電路;一記憶體介面,耦接至該記憶體管理電路,用以耦接該記憶體晶片;以及一主機介面,耦接至該記憶體管理電路,用以耦接一主機,其中該記憶體管理電路用以執行至少下列程序:配置多個邏輯區塊以映射至少部分的該些實體區塊,其中每一該些邏輯區塊包括多個邏輯位址;設定多個傳輸介面種類與每一該些傳輸介面種類所分別對應的一輸出流速限制;當該儲存裝置使用該些傳輸介面種類其中之一接收來自該主機的一讀取指令時,依據所使用之傳輸介面種類對應的該輸出流速限制,判斷該主機欲對該讀取指令所對應之一讀取資料進行的動作;以及當判定該主機欲對該讀取資料進行一複製動作時,由該儲存裝置執行一干擾程序以防止或減緩該讀取資料被複製到該主機,其中該干擾程序至少包括下列其中之一:回報一訊息至該主機、執行一無窮迴圈以進入一當機狀態、依照一預設速度傳送該讀取資料至該主機,以及等待一延遲時間後傳送該讀取資料至該主機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099111261A TWI492050B (zh) | 2010-04-12 | 2010-04-12 | 儲存裝置、記憶體控制器及資料保護方法 |
US12/822,385 US8255656B2 (en) | 2009-09-15 | 2010-06-24 | Storage device, memory controller, and data protection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099111261A TWI492050B (zh) | 2010-04-12 | 2010-04-12 | 儲存裝置、記憶體控制器及資料保護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201135457A TW201135457A (en) | 2011-10-16 |
TWI492050B true TWI492050B (zh) | 2015-07-11 |
Family
ID=46751894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099111261A TWI492050B (zh) | 2009-09-15 | 2010-04-12 | 儲存裝置、記憶體控制器及資料保護方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI492050B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI764232B (zh) * | 2017-10-06 | 2022-05-11 | 慧榮科技股份有限公司 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI750811B (zh) * | 2020-09-16 | 2021-12-21 | 英柏得科技股份有限公司 | 用於記憶體的資料保護寫入方法、用於記憶體的資料保護讀取方法以及記憶體資料保護系統 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079050A1 (en) * | 2005-09-21 | 2007-04-05 | Macrovision Corporation | Apparatus and method for monitoring and controlling access to data on a computer readable medium |
TW200809594A (en) * | 2005-12-13 | 2008-02-16 | Sandisk Corp | Logically-addressed file storage |
-
2010
- 2010-04-12 TW TW099111261A patent/TWI492050B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079050A1 (en) * | 2005-09-21 | 2007-04-05 | Macrovision Corporation | Apparatus and method for monitoring and controlling access to data on a computer readable medium |
TW200809594A (en) * | 2005-12-13 | 2008-02-16 | Sandisk Corp | Logically-addressed file storage |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI764232B (zh) * | 2017-10-06 | 2022-05-11 | 慧榮科技股份有限公司 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 |
TWI766339B (zh) * | 2017-10-06 | 2022-06-01 | 慧榮科技股份有限公司 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 |
US11449435B2 (en) | 2017-10-06 | 2022-09-20 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US11550730B2 (en) | 2017-10-06 | 2023-01-10 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US11741016B2 (en) | 2017-10-06 | 2023-08-29 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
Also Published As
Publication number | Publication date |
---|---|
TW201135457A (en) | 2011-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
TWI425355B (zh) | 資料存取方法、記憶體控制器與儲存系統 | |
US10381040B1 (en) | Dynamic hybrid shingled magnetic recording device | |
US8429358B2 (en) | Method and data storage device for processing commands | |
US7864572B2 (en) | Flash memory storage apparatus, flash memory controller, and switching method thereof | |
TWI716417B (zh) | 資料儲存裝置和其操作方法 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US8255656B2 (en) | Storage device, memory controller, and data protection method | |
TWI486766B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI420308B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
KR20100094241A (ko) | 예비 블록을 포함하지 않는 불휘발성 메모리 장치 | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
TWI451439B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
JP5037734B2 (ja) | データの保護方法とシステム、記憶デバイス及び記憶デバイスコントローラ | |
TWI523030B (zh) | 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TW201342054A (zh) | 保護資料的方法、記憶體控制器與記憶體儲存裝置 | |
US8200888B2 (en) | Seek time emulation for solid state drives | |
US7716412B2 (en) | Data storage apparatus and data access method for controlling address information for data writing using a free area control table | |
US9146861B2 (en) | Memory address management method, memory controller and memory storage device | |
TWI492050B (zh) | 儲存裝置、記憶體控制器及資料保護方法 | |
CN102236606B (zh) | 数据保护系统及数据保护方法 | |
US20070089023A1 (en) | System and method for system resource access |