TWI447580B - 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置 - Google Patents

管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置 Download PDF

Info

Publication number
TWI447580B
TWI447580B TW101111867A TW101111867A TWI447580B TW I447580 B TWI447580 B TW I447580B TW 101111867 A TW101111867 A TW 101111867A TW 101111867 A TW101111867 A TW 101111867A TW I447580 B TWI447580 B TW I447580B
Authority
TW
Taiwan
Prior art keywords
area
host system
memory
verification information
management circuit
Prior art date
Application number
TW101111867A
Other languages
English (en)
Other versions
TW201342055A (zh
Inventor
Ching Wen Chang
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 TW101111867A priority Critical patent/TWI447580B/zh
Priority to US13/471,459 priority patent/US8954705B2/en
Publication of TW201342055A publication Critical patent/TW201342055A/zh
Application granted granted Critical
Publication of TWI447580B publication Critical patent/TWI447580B/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/1425Protection 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 physical, e.g. cell, word, block
    • G06F12/1433Protection 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 physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
本發明是有關於一種管理記憶體空間的方法,且特別是有關於一種應用於可複寫式非揮發性記憶體的記憶體空間的管理方法,以及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組具有資料非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用於這類可攜式由電池供電的產品上。記憶卡就是一種以NAND型快閃記憶體作為儲存媒體的儲存裝置。由於記憶卡體積小容量大,所以已廣泛用於個人重要資料的儲存。
由於以NAND型快閃記憶體作為儲存媒體的記憶體儲存裝置體積相當小,因此遺失的風險亦相對增加。為了避免儲存於此類記憶體儲存裝置中的重要資料因記憶體儲存裝置的遺失而被未經授權者讀取,目前已發展出許多加密或認證技術來保護儲存於此類記憶體儲存裝置中的資料。例如,多個邏輯區塊位址會被配置且映射至可複寫式非揮發性記憶體模組中的多個實體區塊,而這些邏輯區塊位址可劃分為一般分割區與安全分割區,其中使用者必須通過身份驗證(例如,密碼或指紋的比對)後才可存取儲存於安全分割區中的資料。並且,當身份驗證沒有通過超過一個預設次數以後,安全分割區會被鎖定而無法存取。然而,在安全分割區被鎖定以後,其中的邏輯區塊位址所映射的實體區塊便無法再被存取與利用,此會造成記憶體空間的浪費。因此,如何提出一種記憶體空間的管理方法,使得被鎖定的安全分割區可以再被利用,為此領域者所關心的議題。
本發明一範例實施例中提出一種管理記憶體空間的方法,記憶體控制器與記憶體管理電路,可以有效的利用記憶體儲存裝置的記憶體空間。
在本發明一範例實施例中提出一種管理記憶體空間的方法,用於可複寫式非揮發性記憶體模組。此可複寫式非揮發性記憶體模組包括多個實體區塊。此方法包括:分配多個第一邏輯區塊位址以映射至部分的實體區塊,並將這些第一邏輯區塊位址至少劃分為第一區域與第二區域,其中第一區域的容量為第一容量,第二區域的容量為第二容量;從一主機系統接收第一交握指令;傳送第一訊息給主機系統以回應第一交握指令,其中第一訊息是用以通知主機系統可複寫式非揮發性記憶體模組包括第一區域。此方法還包括:從主機系統接收一驗證資訊,並判斷此斷驗證資訊是否符合一預設驗證資訊;若驗證資訊不符合預設驗證資訊,更新一計數值;以及,若計數值符合一預設次數,執行第一程序。上述的第一程序包括:重新配置多個第二邏輯區塊位址,並將第二邏輯區塊位址劃分為第三區域,而第三區域的容量為第一容量與至少部份的第二容量的相加;以及,提供此第三區域給主機系統以供主機系統存取。
在一範例實施例中,上述的管理記憶體空間的方法,還包括:若上述的驗證資訊符合預設驗證資訊,則執行第二程序。此第二程序包括:以一不斷電方式重新建立主機系統與可複寫式非揮發性記憶體模組的耦接關係;接收第三交握指令;以及,傳送第三訊息給主機系統以回應第三交握指令,此第三訊息是用以通知主機系統可複寫式非揮發性記憶體模組包括第一區域與第二區域。
在一範例實施例中,上述的第一程序還包括:以一不斷電方式重新建立主機系統與可複寫式非揮發性記憶體模組的一耦接關係。
在一範例實施例中,上述的第一程序還包括:傳送第四訊息給主機系統,此第四訊息是用以通知主機系統上述的第一邏輯區塊位址將要被改變。
在一範例實施例中,上述的管理記憶體空間的方法,還包括:若計數值符合預設次數,將第一區域設定為第一分割,將第二區域設定為第二分割,並且建立第一分割的檔案系統與第二分割的檔案系統。
以另外一個角度來說,本發明一範例實施例提出一種記憶體儲存裝置,包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。其中,連接器是用以耦接至一主機系統。可複寫式非揮發性記憶體模組包括多個實體區塊。記憶體控制器是耦接至連接器與可複寫式非揮發性記憶體模組。記憶體控制器也用以分配多個第一邏輯區塊位址以映射至部分的實體區塊,並將這些第一邏輯區塊位址至少劃分為第一區域與第二區域,其中第一區域的容量為第一容量,第二區域的容量為第二容量。記憶體控制器還用以從一主機系統接收第一交握指令。記憶體控制器也會傳送第一訊息給主機系統以回應第一交握指令,此第一訊息是用以通知主機系統記憶體儲存裝置包括第一區域。記憶體控制器還會從主機系統接收一驗證資訊,並判斷此驗證資訊是否符合一預設驗證資訊。若驗證資訊不符合預設驗證資訊,記憶體控制器會更新一計數值。若計數值符合一預設次數時,記憶體控制器會重新配置多個第二邏輯區塊位址。記憶體控制器也會將第二邏輯區塊位址劃分為第三區域,其中第三區域的容量為第一容量與至少部份的第二容量的相加。此外,記憶體控制器還會提供此第三區域給主機系統以供主機系統存取。
在一範例實施例中,若驗證資訊符合預設驗證資訊,上述的記憶體控制器會以一不斷電方式重新建立主機系統與記憶體儲存裝置的一耦接關係。並且,記憶體控制器還會接收第三交握指令,並傳送第三訊息給主機系統以回應第三交握指令,其中第三訊息是用以通知主機系統記憶體儲存裝置包括第一區域與第二區域。
在一範例實施例中,上述的記憶體控制器還會以一不斷電方式重新建立主機系統與記憶體儲存裝置的一耦接關係。
在一範例實施例中,上述的記憶體控制器還傳送第四訊息給主機系統,此第四訊息是用以通知主機系統第一邏輯區塊位址欲被改變。
在一範例實施例中,若上述的計數值符合預設次數,則記憶體控制器會將第一區域設定為第一分割,將第二區域設定為第二分割,並且建立第一分割的檔案系統與第二分割的檔案系統。
以另外一個角度來說,本發明一範例實施例還提出一種記憶體控制器,包括主機介面、記憶體介面與記憶體管理電路。其中,主機介面是用以耦接至一主機系統。而記憶體介面是用以耦接至一具有多個實體區塊的可複寫式非揮發性記憶體模組。記憶體管理電路則是耦接至上述的主機介面與記憶體介面。記憶體管理電路也用以分配多個第一邏輯區塊位址以映射至部分的實體區塊,並將這些第一邏輯區塊位址至少劃分為第一區域與第二區域,其中第一區域的容量為第一容量,第二區域的容量為第二容量。記憶體管理電路還用以從一主機系統接收第一交握指令。記憶體管理電路會傳送第一訊息給主機系統以回應上述的第一交握指令,此第一訊息用以通知主機系統可複寫式非揮發性記憶體模組包括第一區域。記憶體管理電路還會從主機系統接收一驗證資訊,並判斷此驗證資訊是否符合一預設驗證資訊。若驗證資訊不符合預設驗證資訊,記憶體管理電路會更新一計數值。若計數值符合一預設次數時,記憶體管理電路會重新配置多個第二邏輯區塊位址。記憶體管理電路還會將這些第二邏輯區塊位址劃分為第三區域,其中第三區域的容量為第一容量與至少部份的第二容量的相加。此外,記憶體管理電路還會提供此第三區域給主機系統以供存取。
在一範例實施例中,若驗證資訊符合預設驗證資訊,記憶體管理電路以一不斷電方式重新建立主機系統與可複寫式非揮發性記憶體模組的一耦接關係。並且,記憶體管理電路還會接收第三交握指令,並傳送第三訊息給主機系統以回應第三交握指令,其中第三訊息是用以通知主機系統可複寫式非揮發性記憶體模組包括第一區域與第二區域。
在一範例實施例中,上述的記憶體管理電路還以一不斷電方式重新建立主機系統與可複寫式非揮發性記憶體模組的一耦接關係。
在一範例實施例中,上述的記憶體管理電路還傳送第四訊息給主機系統,此第四訊息用以通知主機系統第一邏輯區塊位址欲被改變。
在一範例實施例中,若計數值符合預設次數,記憶體管理電路將第一區域設定為第一分割,將第二區域設定為第二分割,並且建立第一分割的檔案系統與第二分割的檔案系統。
以另外一個角度來說,本發明一範例實施例提出一種管理記憶體空間的方法,用於可複寫式非揮發性記憶體模組,此可複寫式非揮發性記憶體模組包括多個實體區塊。此方法包括:分配多個第一邏輯區塊位址以映射至部分的實體區塊,並將這些第一邏輯區塊位址至少劃分為第一區域與第二區域;從主機系統接收一驗證資訊,並判斷此驗證資訊是否符合一預設驗證資訊;若接收的驗證資訊符合預設驗證資訊,則執行第二程序。上述的第二程序包括:告知主機系統第二區域為可存取。本方法還包括:若所接收的驗證資訊不符合預設驗證資訊,則更新一個計數值並判斷此計數值是否符合一預設次數;若計數值不符合預設次數,便執行第三程序。上述的第三程序包括:告知主機系統可複寫式非揮發性記憶體模組包括第一區域與第二區域,並設定第一區域為可存取,第二區域為不可存取。本方法還包括:若上述的計數值符合預設次數則執行第一程序。此第一程序包括:設定第二區域內的一有效資料為不可存取;告知主機系統可複寫式非揮發性記憶體模組包括第三區域並設定第三區域為可存取,此第三區域會包括第一區域及至少部份的第二區域。
在一範例實施例中,在執行第一程序之後,上述的方法還包括:當從主機接收驗證資訊時,提供第三區域給主機系統以供存取。
在一範例實施例中,上述的第一程序為一不可逆程序。
基於上述,本發明一範例實施例所提出的記憶體空間的管理方法,記憶體控制器與記憶體儲存裝置,可以在驗證資訊不符合預設驗證資訊超過一預設次數以後,將原本會被鎖定的第二區域提供給主機系統。如此一來,記憶體儲存裝置中的記憶體空間可以更有效地被利用。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
[第一範例實施例]
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。微處理器1102會執行被載入至隨機存取記憶體1104中的作業系統1105與應用程式1107,以使主機系統1000根據使用者之操作而提供對應的功能。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於安全數位(Secure Digital,SD)介面標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體區塊304(0)~304(R)。例如,實體區塊304(0)~304(R)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體區塊分別具有複數個實體頁面,並且每一實體頁面具有至少一實體扇區,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區塊是由128個實體頁面所組成,並且每一實體頁面具有8個實體扇區(sector)。也就是說,在每一實體扇區為512位元組(byte)的例子中,每一實體頁面的容量為4千位元組(Kilobyte,KB)。然而,必須瞭解的是,本發明不限於此,每一實體區塊是可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。
更詳細來說,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。然而,必須瞭解的是,在本發明另一範例實施例中,寫入資料的最小單位亦可以是實體扇區或其他大小。每一實體頁面通常包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組,即一個記憶胞中可儲存至少2個位元資料。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3是根據第一範例實施例所繪示之記憶體控制器的概要方塊圖。
請參照圖3,記憶體控制器104包括記憶體管理電路202、主機介面204與記憶體介面206。
記憶體管理電路202用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路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亦可以是相容於PATA標準、SATA標準、IEEE 1394標準、PCI Express標準、USB標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
在本發明一範例實施例中,記憶體控制器104還包括緩衝記憶體252、電源管理電路254與錯誤檢查與校正電路256。
緩衝記憶體252是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路254是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路256是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路256會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路256會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖4與圖5是根據第一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體區塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區塊是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體區塊的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體區塊進行操作。
請參照圖4,記憶體控制器104可將可複寫式非揮發性記憶體模組的實體區塊304(0)~304(R)邏輯地分組為多個區域,例如為資料區402、閒置區404、系統區406與取代區408。在另一範例實施例中,取代區408亦可與閒置區404共用包含無效資料之實體區塊。
資料區402與閒置區404的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,資料區402是已儲存資料的實體區塊,而閒置區404的實體區塊是用以替換資料區402的實體區塊。因此,閒置區404的實體區塊為空或可使用的實體區塊,即無記錄資料或標記為已沒用的無效資料。也就是說,在閒置區404中的實體區塊已被執行抹除運作,或者當閒置區404中的實體區塊被提取用於儲存資料之前所提取之實體區塊會先被執行抹除運作。因此,閒置區404的實體區塊為可被使用的實體區塊。
邏輯上屬於系統區406的實體區塊是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體區塊數、每一實體區塊的實體頁面數等。
邏輯上屬於取代區408中的實體區塊是替代實體區塊。例如,可複寫式非揮發性記憶體模組於出廠時會預留4%的實體區塊作為更換使用。也就是說,當資料區402、閒置區404與系統區406中的實體區塊損毀時,預留於取代區408中的實體區塊是用以取代損壞的實體區塊(即,壞實體區塊(bad block))。因此,倘若取代區408中仍存有正常之實體區塊且發生實體區塊損毀時,記憶體控制器104會從取代區408中提取正常的實體區塊來更換損毀的實體區塊。倘若取代區408中無正常之實體區塊且發生實體區塊損毀時,則記憶體控制器104會將整個記憶體儲存裝置100宣告為寫入保護(write protect)狀態,而無法再寫入資料。
特別是,資料區402、閒置區404、系統區406與取代區408之實體區塊的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體區塊關聯至資料區402、閒置區404、系統區406與取代區408的分組關係會動態地變動。例如,當閒置區中的實體區塊損壞而被取代區的實體區塊取代時,則原本取代區的實體區塊會被關聯至閒置區。
請參照圖5,如上所述,資料區402與閒置區404的實體區塊是以輪替方式來儲存主機系統1000所寫入之資料。在本範例實施例中,記憶體控制器104會配置邏輯區塊位址LBA(0)~LBA(D)(亦稱第一邏輯區塊位址)以利於在以上述輪替方式在儲存資料之實體區塊中進行資料存取。例如,當記憶體儲存裝置100被作業系統1110透過檔案系統(例如,FAT 32)格式化時,邏輯區塊位址LBA(0)~LBA(D)分別地映射至資料區402的實體區塊304(0)~304(D)。在此,記憶體管理電路202會建立邏輯區塊位址-實體區塊映射表(logical block address-physical block mapping table),以記錄邏輯區塊位址與實體區塊之間的映射關係。
在本範例實施例中,記憶體儲存裝置100是一記憶卡。而在記憶卡規範中,一個記憶卡僅支援一個分割區。因此,為了避免記憶體儲存裝置100中的重要資料因遺失而被未經授權者讀取,記憶體管理電路202會將邏輯區塊位址LBA(0)~LBA(D)劃分為第一區域與第二區域,並且將第二區域設定為必需要經過身份認證才能存取。
圖6是根據第一範例實施例說明第一區域與第二區域的範例示意圖。
請參照圖6,第一區域620包括邏輯區塊位址LBA(0)~LBA(A),而第二區域640包括邏輯區塊位址LBA(A+1)~LBA(D)。並且,在此假設第一區域620的容量為第一容量,而第二區域620的容量為第二容量。在本範例實施例中,第二區域640會被設定為必需要通過身份認證才能存取。也就是說,未通過身份認證之前,主機系統1000只能存取第一區域620。具體來說,每當主機系統1000啟動時,主機系統1000的基本輸入/輸出系統(BIOS)會透過交握(handshaking)程序來識別記憶體儲存裝置100。在交握程序中,主機系統1000可獲知記憶體儲存裝置100的類別為大容量儲存類別、記憶體儲存裝置100的容量等資訊。特別的是,主機系統1000會根據記憶卡規範傳送一交握指令(在此亦稱第一交握指令)給記憶體管理電路202,此交握指令是用以詢問記憶體儲存裝置100包括了哪些區域。在接收到第一交握指令以後,記憶體管理電路202會傳送一訊息(在此亦稱第一訊息)給主機系統1000以回應所接收到的第一交握指令。並且,記憶體管理電路202會設定此第一訊息以通知主機系統1000記憶體儲存裝置100僅包括第一區域620。接下來,主機系統1000便可以存取邏輯區塊位址LBA(0)~LBA(A),而主機系統1000可以使用的容量便為第一區域620的第一容量。
在一範例實施例中,邏輯區塊位址LBA(0)~LBA(A)所映射的實體區塊中儲存有一密碼驗證程式。主機系統1000可以透過存取邏輯區塊位址LBA(0)~LBA(A)來執行此密碼驗證程式以進行一使用者的身份認證。此密碼驗證程式被執行時,主機系統1000會要求主機系統1000的使用者輸入一驗證資訊。主機系統1000會將使用者所輸入的驗證資訊傳送給記憶體管理電路202,由記憶體管理電路202判斷所接收到的驗證資訊是否符合一預設驗證資訊。例如,驗證資訊包括使用者識別碼與使用者密碼,而預設驗證資訊是預設的使用者識別碼與使用者密碼。例如,預設驗證資訊是預先被儲存在系統區406當中。若所接收到的驗證資訊不符合預設驗證資訊,記憶體管理電路202會更新一個計數值,用以紀錄主機系統1000的使用者輸入錯誤的驗證資訊的次數。並且,記憶體管理電路202會判斷此計數值是否符合一預設次數。例如,此預設次數為3,而計數值是被預設為0。當判斷所接收到的驗證資訊不符合預設驗證資訊時,記憶體管理電路202會將計數值加1,並判斷計數值是否大於等於3次。並且,若計數值大於等於3,表示計數值符合預設次數。然而,在其他範例實施例中,計數值會被預設為預設次數(即,3次),在判斷所接收到的驗證資訊不符合預設驗證資訊時,記憶體管理電路202會將計數值減1,並判斷其是否小於等於0。並且,若計數值小於等於0,便表示計數值符合預設次數。然而,本發明並不限制判斷計數值符合預設次數的方式。
特別的是,當計數值符合預設次數時,表示有未經授權者試圖存取第二區域640。在習知技術中,記憶體管理電路202會將第二區域640鎖定以保護其中儲存的資料。然而,當第二區域640被鎖定以後,所映射的實體區塊便無法再被使用。然而,在本範例實施例中,當計數值符合預設次數時,記憶體管理電路202會重新配置多個邏輯區塊位址以映射至實體區塊304(0)~304(D),並提供這些邏輯區塊位址給主機系統1000。如此一來,主機系統1000可以將原本會被鎖定的第二區域640當做一般儲存區使用。
具體來說,在本範例實施例中,當計數值符合預設次數時,記憶體管理電路202會以一不斷電方式重新建立記憶體儲存裝置100與主機系統1000之間的耦接關係(即,重新建立可複寫式非揮發性記憶體模組106與主機系統1000之間的耦接關係)。特別的是,此不斷電方式所指的是,記憶體儲存裝置100並沒有從主機系統1000上的一插槽或連接線中實體上地被移除。相反的是,記憶體儲存裝置100會持續在連接在主機系統的一插槽或連接線中,而主機系統100會持續的供應電源給記憶體儲存裝置100。也就是說,記憶體管理電路202僅是用虛擬的方式讓主機系統1000以為其與記憶體儲存裝置100的耦接關係被重新建立。接著,如圖7所示,記憶體管理電路202會重新配置多個邏輯區塊位址702(0)~702(D)(亦稱第二邏輯區塊位址)以映射至實體區塊304(0)~304(D)。並且,記憶體管理電路202會將邏輯區塊位址702(0)~702(D)劃分為第三區域720。特別的是,記憶體管理電路202會提供第三區域720給主機系統1000以供存取。具體來說,主機系統1000會與記憶體儲存裝置100再進行一個交握程序,並傳送一個交握指令(在此稱第二指令)給記憶體管理電路202。在接收到第二指令以後,記憶體管理電路202會傳送一個第二訊息給主機系統1000以回應所接收到的第二指令。此第二訊息是用以通知主機系統1000記憶體儲存裝置100上僅包括了第三區域720。特別的是,第三區域702中的邏輯區塊位址702(0)~702(D)是映射至實體區塊304(0)~304(D)。也就是說,第三區域720的容量是第一區域620的容量與第二區域的容量的相加,亦即,第三區域720的容量是第一容量與第二容量的相加。如此一來,當使用者輸入錯誤的驗證資訊超過一預設次數以後,記憶體管理電路202會將實體區塊304(0)~304(D)全部提供給主機系統1000與使用者作一般的存取使用,藉此增加記憶體儲存裝置100中記憶體空間的使用效率。
在另一範例實施例中,第三區域的容量會是第一容量與部份的第二容量的相加。具體來說,第二區域640中儲存有被密碼保護的有效資料,在此假設這些有效資料是儲存在實體區塊304(D)當中。在重新分配邏輯區塊位址時,記憶體管理電路202所分配的第二邏輯區塊位址並不會映射至實體區塊304(D)。也就是說,第三區域720會包括第一區域620與部份的第二區域640。本發明並不限制第三區域720的容量包含了多少的第二容量。在另一範例實施例中,第三區域的容量會是第一容量與第二容量的相加。在重新分配邏輯區塊位址時,被分配至儲存有被密碼保護的有效資料的第二邏輯區塊位址會被設定為損壞。
在另一範例實施例中,在重新配置邏輯區塊位址702(0)~702(D)以後,記憶體管理電路202會根據邏輯區塊位址702(0)~702(D)建立一檔案系統,使得主機系統1000可以根據此檔案系統來存取邏輯區塊位址702(0)~702(D)。例如,主機系統1000可以使用重新掛載(remount)的程序來將此建立的檔案系統掛載至作業系統1105的檔案系統之中。
除此之外,在另一範例實施例中,當判斷當計數值符合預設次數時以後,記憶體管理電路202也可傳送一訊息(在此稱第四訊息)給應用程式1107,通知邏輯區塊位址LBA(0)~LBA(D)欲被改變。在接收到第四訊息以後,應用程式1107可以使用一使用者介面來通知主機系統1000的使用者必須將屬於邏輯區塊位址LBA(0)~LBA(A)的資料備份。並且,在使用者備份完資料以後,應用程式1107會下達重新格式化的指令(亦稱第二指令)給記憶體管理電路202來重新格式化記憶體儲存裝置100。而記憶體管理電路是在被格式化的過程中重新配置邏輯區塊位址702(0)~702(D)。
另一方面,請參照回圖6,當判斷所接收到的驗證資訊符合預設驗證資訊時,記憶體管理電路202會提供第二區域640給主機系統1000。具體來說,在一範例實施例中,當判斷所接收到的驗證資訊符合預設驗證資訊時,記憶體管理電路202會以不斷電方式重新建立記憶體儲存裝置100與主機系統1000的耦接關係。接下來,主機系統1000會與記憶體儲存裝置100再進行一次交握程序。此時,主機系統1000會傳送一交握指令(在此亦稱第三交握指令)給記憶體管理電路202,用以詢問記憶體儲存裝置100包含哪些區域。此時,記憶體管理電路202會傳送一訊息(在此亦稱第三訊息)給主機系統1000以回應所接收的第三交握指令。此第三指令是用以告知主機系統1000記憶體儲存裝置100上包括有第一區域620與第二區域640。並且,記憶體管理電路202會提供邏輯區塊位址LBA(0)~LBA(D)給主機系統1000來存取。因此,在所輸入的驗證資訊符合預設驗證資訊以後,主機系統1000的使用者便可以透過邏輯區塊位址LBA(0)~LBA(D)來存取實體區塊304(0)~304(D)。
在本範例實施中,記憶體儲存裝置100是一個記憶卡。然而,在其他範例實施例中,記憶體儲存裝置100是一個隨身碟,而一個隨身碟中可以包括多個分割。因此,當計數值符合預設次數時,記憶體管理電路202可以將第一區域620設定為第一分割,並把第二區域640設定為第二分割。並且,記憶體管理電路202會建立屬於第一分割的檔案系統,以及屬於第二分割的檔案系統。如此一來,主機系統1000便可以透過第一分割與第二分割來存取實體區塊304(0)~304(D)。
圖8是根據第一範例實施例說明管理記憶體空間的方法的流程圖。
請參照圖8,在步驟S802中,記憶體管理電路202會分配多個第一邏輯區塊位址以映射至部分的實體區塊,並將這些第一邏輯區塊位址至少劃分為第一區域與第二區域。在步驟S804中,記憶體管理電路202會從一主機系統接收第一交握指令。在步驟S806中,記憶體管理電路202會傳送第一訊息給主機系統以回應第一交握指令,此第一訊息是用以通知主機系統可複寫式非揮發性記憶體模組包括第一區域。在步驟S808中,記憶體管理電路202會從主機系統接收一驗證資訊,判斷此驗證資訊是否符合一預設驗證資訊。
若驗證資訊符合預設驗證資訊,則在步驟S810中,記憶體管理電路202會以一不斷電方式重新建立主機系統與可複寫式非揮發性記憶體模組的耦接關係。在步驟S812中,記憶體管理電路202會接收第三交握指令。在步驟S814中,記憶體管理電路202會傳送第三訊息給主機系統以回應第三交握指令,此第三訊息是用以通知主機系統可複寫式非揮發性記憶體模組包括第一區域與第二區域。
若所接收的驗證資訊不符合預設驗證資訊,在步驟S816中,記憶體管理電路202會更新一計數值。在步驟S818中,記憶體管理電路202會判斷計數值是否符合一預設次數。
若計數值不符合預設次數,則記憶體管理電路202會回到步驟S808。若計數值符合預設次數,在步驟S822中,記憶體管理電路202會重新配置多個第二邏輯區塊位址,並將第二邏輯區塊位址劃分為第三區域。在步驟S824中,記憶體管理電路202會提供第三區域給主機系統以供存取。
其中步驟S822與S824亦稱為第一程序。而步驟S810、S812與S814亦稱為第二程序。然而,圖8中各步驟已詳細說明如上,在此便不再贅述。
[第二範例實施例]
第二範例實施例與第一範例實施例類似,以下僅就不同之處加以說明。在第一範例實施例中,記憶體管理電路是先將第一區域提供給主機系統,並且直到主機系統傳送正確的驗證資訊以後,記憶體管理電路才會提供第二區域給主機系統。然而,在第二範例實施例中,記憶體管理電路會先等待主機系統傳送驗證資訊,等到確認驗證資訊的正確性以後,才會提供第一區域與第二區域給主機系統。在另一範例實施例中,記憶體管理電路會先告知主機系統有一儲存裝置與其耦接,但此儲存裝置之系統資訊(例如儲存裝置之容量或儲存空間的規劃)可在確認驗證資訊之前或後告知主機系統。
圖9是根據第二範例實施例說明記憶體控制器的概要方塊圖。
請參照圖9,在第二實施例中,記憶體控制器104包括主機介面204、記憶體管理電路902、記憶體介面206、電源管理電路254、緩衝記憶體252與錯誤檢查與校正電路256。其中,括主機介面204、記憶體介面206、電源管理電路254、緩衝記憶體252與錯誤檢查與校正電路256已在第一實施例中詳細說明,在此便不再贅述。
記憶體管理電路902用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路902具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路902的控制指令是以韌體型式來實作。例如,記憶體管理電路902具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路902的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路902具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路902的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路902的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路902包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體區塊;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
圖10是跟據第二範例實施例說明劃分第一區域與第二區域的範例示意圖。
請參照圖10,記憶體管理電路902會分配邏輯區塊位址904(0)~904(D)(亦稱第一邏輯區塊位址)以映射至資料區402的實體區塊304(0)~304(D),並且,記憶體管理電路902會將邏輯區塊位址904(0)~904(D)劃分為第一區域920與第二區域940。其中,第一區域920包括邏輯區塊位址904(0)~904(A),而第二區域940包括邏輯區塊位址904(A+1)~904(D)。並且,第二區域940是被密碼保護的,主機系統1000必須先通過身份認證才能存取第二區域940。然而,在第二範例實施例中,當記憶體儲存裝置100耦接至主機系統1000時,記憶體管理電路902並不會先提供第一區域920給主機系統。記憶體管理電路902會先從主機系統1000接收一個驗證資訊,並判斷此驗證資訊是否符合一個預設驗證資訊。在判斷驗證資訊是否符合預設驗證資訊之後,記憶體管理電路902才會決定是否要提供第一區域920與第二區域940給主機系統。具體來說,如果從主機系統1000所接收的驗證資訊符合預設驗證資訊,記憶體管理電路902會透過送一個訊息給主機系統1000,以告訴主機系統1000可複寫式非揮發性記憶體模組106包括了第一區域920與第二區域940,並且告知主機系統1000第二區域940為可存取。此時,記憶體管理電路902會將第一區域920與第二區域940設定為可存取。如此一來,當使用者在主機系統1000上所輸入的驗證資訊符合預設驗證資訊時,使用者便可以透過主機系統1000來存取第一區域920與第二區域940。
另一方面,若接收到的驗證資訊並不符合預設驗證資訊,則記憶體管理電路902會更新一計數值,並判斷此計數值是否符合一預設次數。然而,記憶體管理電路902判斷計數值是否符合預設次數的方式與第一範例實施例中記憶體管理電路202判斷計數值是否符合預設次數的方式相同,在此便不再贅述。當判斷計數值不符合預設次數時,記憶體管理電路902會透過傳送一訊息給主機系統1000,以告知主機系統1000可複寫式非揮發性記憶體模組106包括第一區域920與第二區域940。此時,記憶體管理電路902會將第一區域920設定為可存取,並將第二區域940設定為不可存取。如此一來,雖然主機系統1000可以得知可複寫式非揮發性記憶體模組106包括第一區域920與第二區域940,但由於主機系統1000並沒有傳送正確的驗證資訊給記憶體管理電路902,因此主機系統1000並不能存取被密碼保護的第二區域940。
此外,當判斷計數值符合預設次數時,記憶體管理電路902會重新分配多個邏輯區塊位址,並從這些邏輯區塊位址中劃分出第三區域。此第三區域會包括第一區域920與至少部份的第二區域940。並且,記憶體管理電路902會將劃分出的第三區域提供給主機系統1000。特別的是,由於原本映射至第二區域940的實體區塊中儲存了被密碼保護的有效資料。因此,在重新劃分出第三區域時,記憶體管理電路902會將原本屬於第二區域940的有效資料設定為不可存取。例如,邏輯區塊位址904(D-1)與904(D)是映射至實體區塊304(D-1)與304(D),而實體區塊304(D-1)與304(D)中儲存了屬於第二區域940的有效資料。換句話說,記憶體管理電路902會將實體區塊304(D-1)與304(D)中儲存的資料設定為不可存取。
圖11是根據第二範例實施例說明重新配置多個邏輯區塊位址的範例示意圖。
請參照圖11,當判斷計數值符合預設次數時,記憶體管理電路902會重新分配邏輯區塊位址906(0)~906(D)以映射至實體區塊304(0)~304(D)。並且,記憶體管理電路902會把邏輯區塊位址906(0)~906(D)劃分為第三區域960,並提供第三區域960給主機系統1000以供存取。特別的是,由於實體區塊304(D-1)與304(D)儲存有原本屬於第二區域940的有效資料。因此,在一範例實施例中,記憶體管理電路902會將映射至實體區塊304(D-1)與304(D)的邏輯區塊位址906(D-1)與906(D)設定為不可存取。如此一來,主機系統1000便不能存取實體區塊304(D-1)與304(D)中儲存的資料。然而,在另一範例實施例中,記憶體管理電路902也可以先將實體區塊304(D-1)與304(D)中儲存的資料先刪除,並將邏輯區塊位址906(D-1)與906(D)設定為可存取。在另一範例實施例中,記憶體管理電路902也可以將實體區塊304(D-1)與304(D)設定為已損壞的實體區塊。如此一來,當主機系統便不能存取實體區塊304(D-1)與304(D)。在另一範例實施例中,記憶體管理電路902也可以僅將邏輯區塊位址906(0)~906(D-2)劃分為第三區域,並將此第三區域提供給主機系統1000。換句話說,在一範例實施例中,第三區域960所包括的邏輯區塊位址並不會映射至實體區塊304(D-1)與304(D)。然而,本發明並不限定將實體區塊304(D-1)與304(D)中的有效資料設定為不可存取的方式。
在記憶體管理電路902提供第三區域960給主機系統1000以後,主機系統1000不需要通過身份認證便可以存取原本映射至第二區域940的實體區塊。此時,如果主機系統1000再傳送一驗證資訊給記憶體管理電路902,記憶體管理電路902會同樣的提供第三區域960給主機系統1000,並不會判斷驗證資訊是否符合預設驗證資訊。
值得注意的是,上述重新分配第二邏輯區塊位址、劃分第三區域960,並且提供第三區域960給主機系統1000的程序是一個不可逆程序。也就是說,可複寫式非揮發性記憶體模組106自始不需要通過身份認證便可以存取,並不能將第三區域960劃分回第一區域920與第二區域940。
圖12是根據第二範例實施例說明管理記憶體空間的方法的流程圖。
請參照圖12,在步驟S1202中,記憶體管理電路902會分配多個第一邏輯位址以映射至部分的實體區塊,並將這些第一邏輯位址至少劃分為第一區域與第二區域。在步驟S1204中,記憶體管理電路902會從主機系統接收一驗證資訊。在步驟S1206中,記憶體管理電路902會判斷此驗證資訊是否符合一預設驗證資訊。
若驗證資訊符合預設驗證資訊,在步驟S1208中,記憶體管理電路902會告知主機系統第二區域為可存取。
若驗證資訊不符合預設驗證資訊,在步驟S1210中,記憶體管理電路902會更新一個計數值。在步驟S1212中,記憶體管理電路902會判斷此計數值是否符合一預設次數。
若計數值不符合預設次數,在步驟S1214中,記憶體管理電路902會告知主機系統可複寫式非揮發性記憶體模組包括第一區域與第二區域,並設定第一區域為可存取,第二區域為不可存取。
若計數值符合預設次數,在步驟S1216中,記憶體管理電路902會設定第二區域內的一有效資料為不可存取。在步驟S1218中,記憶體管理電路902會告知主機系統可複寫式非揮發性記憶體模組包括第三區域並設定第三區域為可存取,此第三區域會包括第一區域及至少部份的第二區域。
其中步驟S1208亦稱為第二程序;步驟S1214亦稱為第三程序;步驟S1216與步驟S1218稱為第一程序,其中,在本範例實施例中,此第一程序可是一個不可逆之程序,但不以此為限。具體的說,當記憶體管理電路902曾經告知主機系統可複寫式非揮發性記憶體模組包括第三區域後,記憶體管理電路902即會固定系統儲存空間之規劃,亦即在正常的使用狀況下,即便收到一正確的驗證資訊,記憶體管理電路也不會再提供具有保密功能之第二區域給主機系統。圖12中各步驟已詳細說明如上,在此便不再贅述。
綜上所述,本發明範例實施例所提出的管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置,可以在使用者輸入錯誤的驗證資訊超過一預設次數以後,把原本會被鎖定的區域開放給使用者使用。如此一來,可以增加記憶體儲存裝置中記憶體空間的使用效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1105...作業系統
1106...輸入/輸出裝置
1107...應用程式
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...可複寫式非揮發性記憶體模組
304(0)~304(R)...實體區塊
202、902...記憶體管理電路
206...記憶體介面
254...電源管理電路
252...緩衝記憶體
256...錯誤檢查與校正電路
402...資料區
404...閒置區
406...系統區
408...取代區
LBA(0)~LBA(D)、702(0)~702(D)...邏輯區塊位址
620、920...第一區域
640、940...第二區域
720、960...第三區域
S802、S804、S806、S808、S810、S812、S814、S816、S818、S822、S824...管理記憶體空間的方法的步驟
904(0)~904(D)、906(0)~906(D)...邏輯區塊位址
S1202、S1204、S1206、S1208、S1210、S1212、S1214、S1216、S1218...管理記憶體空間的方法的步驟
圖1A是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據第一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖4與圖5是根據第一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
圖6是根據第一範例實施例說明第一區域與第二區域的範例示意圖。
圖7是根據第一範例實施例說明重新配置多個邏輯區塊位址的範例示意圖。
圖8是根據第一範例實施例說明管理記憶體空間的方法的流程圖。
圖9是根據第二範例實施例說明記憶體控制器的概要方塊圖。
圖10是跟據第二範例實施例說明劃分第一區域與第二區域的範例示意圖。
圖11是根據第二範例實施例說明重新配置多個邏輯區塊位址的範例示意圖。
圖12是根據第二範例實施例說明管理記憶體空間的方法的流程圖。
S802、S804、S806、S808、S810、S812、S814、S816、S818、S822、S824...管理記憶體空間的方法的步驟

Claims (18)

  1. 一種管理記憶體空間的方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體區塊,該方法包括:分配多個第一邏輯區塊位址以映射至部分的該些實體區塊,並將該些第一邏輯區塊位址至少劃分為一第一區域與一第二區域,其中該第一區域的容量為一第一容量,該第二區域的容量為一第二容量;從一主機系統接收一第一交握指令;傳送一第一訊息給該主機系統以回應該第一交握指令,該第一訊息是用以通知該主機系統該可複寫式非揮發性記憶體模組包括該第一區域;從該主機系統接收一驗證資訊,並判斷該驗證資訊是否符合一預設驗證資訊;若該驗證資訊不符合該預設驗證資訊,更新一計數值;以及若該計數值符合一預設次數,執行一第一程序,該第一程序包括:重新配置多個第二邏輯區塊位址,並將該些第二邏輯區塊位址劃分為一第三區域,其中該第三區域的容量為該第一容量與至少部份的該第二容量的相加;以及提供該第三區域給該主機系統以供存取。
  2. 如申請專利範圍第1所述之管理記憶體空間的方法,還包括:若該驗證資訊符合該預設驗證資訊,執行一第二程序,該第二程序包括:以一不斷電方式重新建立該主機系統與該可複寫式非揮發性記憶體模組的一耦接關係;接收一第三交握指令;以及傳送一第三訊息給該主機系統以回應該第三交握指令,該第三訊息是用以通知該主機系統該可複寫式非揮發性記憶體模組包括該第一區域與該第二區域。
  3. 如申請專利範圍第1所述之管理記憶體空間的方法,其中該第一程序還包括:以一不斷電方式重新建立該主機系統與該可複寫式非揮發性記憶體模組的一耦接關係。
  4. 如申請專利範圍第1所述之管理記憶體空間的方法,其中該第一程序還包括:傳送一第四訊息給該主機系統,其中該第四訊息用以通知該主機系統該些第一邏輯區塊位址欲被改變。
  5. 如申請專利範圍第1所述之管理記憶體空間的方法,還包括:若該計數值符合該預設次數,將該第一區域設定為一第一分割,將該第二區域設定為一第二分割,並且建立該第一分割的一檔案系統與該第二分割的一檔案系統。
  6. 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體區塊;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,其中,該記憶體控制器分配多個第一邏輯區塊位址以映射至部分的該些實體區塊,並將該些第一邏輯區塊位址至少劃分為一第一區域與一第二區域,其中該第一區域的容量為一第一容量,該第二區域的容量為一第二容量,其中,該記憶體控制器從一主機系統接收一第一交握指令,其中,該記憶體控制器傳送一第一訊息給該主機系統以回應該第一交握指令,該第一訊息用以通知該主機系統該記憶體儲存裝置包括該第一區域,其中,該記憶體控制器從該主機系統接收一驗證資訊,並判斷該驗證資訊是否符合一預設驗證資訊,其中,若該驗證資訊不符合該預設驗證資訊,該記憶體控制器更新一計數值,其中,若該計數值符合一預設次數時,該記憶體控制器重新配置多個第二邏輯區塊位址,並將該些第二邏輯區塊位址劃分為一第三區域,其中該第三區域的容量為該第一容量與至少部份的該第二容量的相加,該記憶體控制器還提供該第三區域給該主機系統以供存取。
  7. 如申請專利範圍第6所述之記憶體儲存裝置,其中若該驗證資訊符合該預設驗證資訊,該記憶體控制器以一不斷電方式重新建立該主機系統與該記憶體儲存裝置的一耦接關係,該記憶體控制器還接收一第三交握指令,並傳送一第三訊息給該主機系統以回應該第三交握指令,其中該第三訊息是用以通知該主機系統該記憶體儲存裝置包括該第一區域與該第二區域。
  8. 如申請專利範圍第6所述之記憶體儲存裝置,其中該記憶體控制器還以一不斷電方式重新建立該主機系統與該記憶體儲存裝置的一耦接關係。
  9. 如申請專利範圍第6所述之記憶體儲存裝置,其中該記憶體控制器還傳送一第四訊息給該主機系統,其中該第四訊息用以通知該主機系統該些第一邏輯區塊位址欲被改變。
  10. 如申請專利範圍第6所述之記憶體儲存裝置,其中若該計數值符合該預設次數,該記憶體控制器將該第一區域設定為一第一分割,將該第二區域設定為一第二分割,並且建立該第一分割的一檔案系統與該第二分割的一檔案系統。
  11. 一種記憶體控制器,包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體區塊;以及一記憶體管理電路,耦接至該連接器與該可複寫式非揮發性記憶體模組,其中,該記憶體管理電路分配多個第一邏輯區塊位址以映射至部分的該些實體區塊,並將該些第一邏輯區塊位址至少劃分為一第一區域與一第二區域,其中該第一區域的容量為一第一容量,該第二區域的容量為一第二容量,其中,該記憶體管理電路從一主機系統接收一第一交握指令,其中,該記憶體管理電路傳送一第一訊息給該主機系統以回應該第一交握指令,該第一訊息用以通知該主機系統該可複寫式非揮發性記憶體模組包括該第一區域,其中,該記憶體管理電路從該主機系統接收一驗證資訊,並判斷該驗證資訊是否符合一預設驗證資訊,其中,若該驗證資訊不符合該預設驗證資訊,該記憶體管理電路更新一計數值,其中,若該計數值符合一預設次數時,該記憶體管理電路重新配置多個第二邏輯區塊位址,並將該些第二邏輯區塊位址劃分為一第三區域,其中該第三區域的容量為該第一容量與至少部份的該第二容量的相加,該記憶體管理電路還提供該第三區域給該主機以供存取。
  12. 如申請專利範圍第11所述之記憶體控制器,其中若該驗證資訊符合該預設驗證資訊,該記憶體管理電路以一不斷電方式重新建立該主機系統與該可複寫式非揮發性記憶體模組的一耦接關係,該記憶體管理電路還接收一第三交握指令,並傳送一第三訊息給該主機系統以回應該第三交握指令,其中該第三訊息是用以通知該主機系統該可複寫式非揮發性記憶體模組包括該第一區域與該第二區域。
  13. 如申請專利範圍第11所述之記憶體控制器,其中該記憶體管理電路還以一不斷電方式重新建立該主機系統與該可複寫式非揮發性記憶體模組的一耦接關係。
  14. 如申請專利範圍第11所述之記憶體控制器,其中該記憶體管理電路還傳送一第四訊息給該主機系統,其中該第四訊息用以通知該主機系統該些第一邏輯區塊位址欲被改變。
  15. 如申請專利範圍第11所述之記憶體控制器,其中若該計數值符合該預設次數,該記憶體管理電路將該第一區域設定為一第一分割,將該第二區域設定為一第二分割,並且建立該第一分割的一檔案系統與該第二分割的一檔案系統。
  16. 一種管理記憶體空間的方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體區塊,該方法包括:分配多個第一邏輯區塊位址以映射到至少部分的該些實體區塊,並將該些第一邏輯區塊位址至少劃分為一第一區域與一第二區域;從該主機系統接收一驗證資訊,並判斷該驗證資訊是否符合一預設驗證資訊;若該驗證資訊符合該預設驗證資訊,執行一第二程序,該第二程序包括:告知該主機系統該第二區域為可存取;若該驗證資訊不符合該預設驗證資訊,更新一計數值並判斷該計數值是否符合一預設次數;若該計數值不符合該預設次數,執行一第三程序,該第三程序包括:告知該主機系統該可複寫式非揮發性記憶體模組該第一區域為可存取,該第二區域為不可存取;若該計數值符合該預設次數,執行一第一程序,該第一程序包括:設定該第二區域內的一有效資料為不可存取;告知該主機系統該可複寫式非揮發性記憶體模組之一第三區域為可存取,其中該第三區域包括該第一區域及至少部份的該第二區域。
  17. 如申請專利範圍第16項所述之管理記憶體空間的方法,其中在執行該第一程序之後,該方法還包括:當從該主機接收該驗證資訊後,提供該第三區域給該主機系統以供存取。
  18. 如申請專利範圍第16項所述之管理記憶體空間的方法,其中該第一程序為一不可逆程序。
TW101111867A 2012-04-03 2012-04-03 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置 TWI447580B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101111867A TWI447580B (zh) 2012-04-03 2012-04-03 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
US13/471,459 US8954705B2 (en) 2012-04-03 2012-05-15 Memory space management method and memory controller and memory storage device and memory storage using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101111867A TWI447580B (zh) 2012-04-03 2012-04-03 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201342055A TW201342055A (zh) 2013-10-16
TWI447580B true TWI447580B (zh) 2014-08-01

Family

ID=49236668

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101111867A TWI447580B (zh) 2012-04-03 2012-04-03 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US8954705B2 (zh)
TW (1) TWI447580B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI548991B (zh) * 2014-02-14 2016-09-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US9984007B2 (en) 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
KR102196971B1 (ko) 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
US11086797B2 (en) * 2014-10-31 2021-08-10 Hewlett Packard Enterprise Development Lp Systems and methods for restricting write access to non-volatile memory
JP6403162B2 (ja) * 2015-07-23 2018-10-10 東芝メモリ株式会社 メモリシステム
TWI636363B (zh) * 2017-08-08 2018-09-21 慧榮科技股份有限公司 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器
US10592408B2 (en) * 2017-09-13 2020-03-17 Intel Corporation Apparatus, computer program product, system, and method for managing multiple regions of a memory device
TWI641966B (zh) * 2018-01-15 2018-11-21 群聯電子股份有限公司 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置
CN110069934B (zh) * 2018-01-23 2022-12-13 群联电子股份有限公司 存储器存储系统、主机系统验证方法及存储器存储装置
CN110377233B (zh) * 2019-07-22 2022-03-29 深圳忆联信息系统有限公司 Ssd读性能优化方法、装置、计算机设备及存储介质
US11470082B2 (en) * 2020-03-31 2022-10-11 Konica Minolta Business Solutions U.S.A., Inc. Authentication server and method that provide authentication information upon interruption of power supply
CN114281249B (zh) * 2021-11-30 2023-07-25 长江存储科技有限责任公司 闪存颗粒的改进方法、闪存颗粒、存储器和电子设备
US11972113B2 (en) 2022-07-26 2024-04-30 Silicon Motion, Inc. Method and apparatus for performing link management of memory device in predetermined communications architecture with aid of handshaking phase transition control
CN117632040B (zh) * 2024-01-25 2024-04-30 合肥兆芯电子有限公司 数据写入方法、存储器存储装置以及存储器控制电路单元

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150597A1 (en) * 2007-12-07 2009-06-11 Phison Electronics Corp. Data writing method for flash memory and controller using the same
TW200937422A (en) * 2008-02-21 2009-09-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US20090248961A1 (en) * 2008-03-28 2009-10-01 Phison Electronics Corp. Memory management method and controller for non-volatile memory storage device
TW201035978A (en) * 2009-03-20 2010-10-01 Phison Electronics Corp Flash memory writing method and storage system and controller using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150597A1 (en) * 2007-12-07 2009-06-11 Phison Electronics Corp. Data writing method for flash memory and controller using the same
TW200937422A (en) * 2008-02-21 2009-09-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US20090248961A1 (en) * 2008-03-28 2009-10-01 Phison Electronics Corp. Memory management method and controller for non-volatile memory storage device
TW201035978A (en) * 2009-03-20 2010-10-01 Phison Electronics Corp Flash memory writing method and storage system and controller using the same

Also Published As

Publication number Publication date
US20130262810A1 (en) 2013-10-03
TW201342055A (zh) 2013-10-16
US8954705B2 (en) 2015-02-10

Similar Documents

Publication Publication Date Title
TWI447580B (zh) 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
TWI475385B (zh) 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置
US9467288B2 (en) Encryption key destruction for secure data erasure
TWI480733B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI479359B (zh) 指令執行方法、記憶體控制器與記憶體儲存裝置
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
TWI451248B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
TWI489272B (zh) 保護資料的方法、記憶體控制器與記憶體儲存裝置
US8589669B2 (en) Data protecting method, memory controller and memory storage device
TWI486766B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
TWI479505B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI454912B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
TW201445313A (zh) 記憶體儲存裝置及其還原方法與記憶體控制器
TWI498738B (zh) 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
CN102890655B (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
TWI526828B (zh) 資料存取方法及使用此方法的記憶體控制器與儲存裝置
TWI591640B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI733375B (zh) 資料轉移方法與記憶體儲存裝置
TWI521345B (zh) 回應讀取方法及資料傳輸系統
TWI493341B (zh) 記憶體儲存裝置及其修復方法
CN103377132B (zh) 管理存储器空间的方法、存储器控制器与存储器储存装置
TW201820114A (zh) 資料寫入方法以及儲存控制器
TW201337553A (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN103377149A (zh) 保护数据的方法、存储器控制器与存储器储存装置