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

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

Info

Publication number
TWI486767B
TWI486767B TW101122434A TW101122434A TWI486767B TW I486767 B TWI486767 B TW I486767B TW 101122434 A TW101122434 A TW 101122434A TW 101122434 A TW101122434 A TW 101122434A TW I486767 B TWI486767 B TW I486767B
Authority
TW
Taiwan
Prior art keywords
logical
logical address
physical
address
mapping
Prior art date
Application number
TW101122434A
Other languages
English (en)
Other versions
TW201401049A (zh
Inventor
Chih Kang Yeh
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 TW101122434A priority Critical patent/TWI486767B/zh
Priority to US13/602,204 priority patent/US8892814B2/en
Publication of TW201401049A publication Critical patent/TW201401049A/zh
Application granted granted Critical
Publication of TWI486767B publication Critical patent/TWI486767B/zh

Links

Classifications

    • 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/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

資料儲存方法、記憶體控制器與記憶體儲存裝置
本發明是有關於一種用於可複寫式非揮發性記憶體模組的資料儲存方法及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
一般來說,快閃記憶體儲存裝置的快閃記憶體模組會劃分為多個實體區塊,其中實體區塊更劃分為多個實體頁面,而實體區塊是快閃記憶體的抹除單位並且實體頁面是快閃記憶體的寫入單位。由於在程式化快閃記憶體之記憶胞時,僅能執行單向的程式化(即,僅能將記憶胞的值由1程式化為0),因此無法對已程式化的實體頁面(即,存有舊資料的頁面)直接進行寫入,而是必須先將此實體頁面抹除後方可重新程式化。特別是,由於快閃記憶體的抹除是以實體區塊為單位,因此當欲將存有舊資料的實體頁面執行抹除運作時,必須對此實體頁面所屬的整個實體區塊進行 抹除。因此,快閃記憶體模組的實體區塊會被區分為資料區與閒置區,其中資料區的實體區塊是已被使用來儲存資料的實體區塊,而備用區中的實體區塊是未被使用的實體區塊,其中當主機系統欲寫入資料至快閃記憶體儲存裝置時,快閃記憶體儲存裝置的控制電路會從備用區中提取實體區塊來寫入資料,並且將所提取的實體區塊會關聯為資料區。並且,當資料區的實體區塊被執行抹除運作(erase operation)後,已抹除的實體區塊會被關聯為備用區。
由於主機系統是以邏輯位址來進行寫入,並且主機系統寫入資料至邏輯位址時經常不會依據邏輯位址的順序來寫入。基此,如何有效地記錄邏輯位址與實體位址之間的映射關係,以提升儲存資料的速度是此領域技術人員所致力的目標。
本發明提供一種資料儲存方法、記憶體控制器與記憶體儲存裝置,其能夠有效地提升資料寫入運作的效能。
本發明一範例實施例提出一種資料儲存方法,用於可複寫式非揮發性記憶體模組,此可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元。本資料儲存方法包括配置複數個邏輯位址,並且將此些邏輯位址劃分為多個邏輯區域。本資料儲存方法也包括分別地為此些邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表。 本資料儲存方法亦包括從主機系統中接收一資料,其中此主機系統指示將此資料儲存至第一邏輯位址。本資料儲存方法還包括:將此資料寫入至第一實體程式化單元;在暫時映射表中記錄第一實體程式化單元映射至第一邏輯位址;並且判斷暫時映射表是否已被寫滿。本資料儲存方法更包括,倘若暫時映射表已被寫滿時,根據記錄在暫時映射表中的複數個映射記錄在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在暫時映射表中的映射記錄,其中暫時映射表記錄其中一部份實體程式化單元的映射關係。
在本發明之一實施例中,上述之根據記錄在暫時映射表中的映射記錄,在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係的步驟包括:根據記錄在暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在暫時映射表中的映射記錄;以及根據排序後的映射記錄依序地更新邏輯位址映射表中所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係。
在本發明之一實施例中,第二實體程式化單元已被寫入屬於第二邏輯位址的有效資料,第三實體程式化單元已被寫入屬於第三邏輯位址的有效資料,第四實體程式化單元已被寫入屬於第四邏輯位址的有效資料,第五實體程式化單元已被寫入屬於第五邏輯位址的有效資料,第六實體程式化單元已被寫入屬於第六邏輯位址的有效資料,第七 實體程式化單元已被寫入屬於第七邏輯位址的有效資料,上述第一邏輯位址、第三邏輯位址與第六邏輯位址屬於第一邏輯區域並且上述第二邏輯位址、第四邏輯位址、第五邏輯位址與第七邏輯位址屬於第二邏輯區域。並且,上述根據記錄在暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在暫時映射表中的映射記錄的步驟包括:依據上述第一邏輯位址、第三邏輯位址、第六邏輯位址、第二邏輯位址、第四邏輯位址、第五邏輯位址與第七邏輯位址的順序排列記錄在暫時映射表中的映射記錄。
在本發明之一實施例中,上述之根據排序後的映射記錄依序地更新邏輯位址映射表中邏輯位址與實體抹除單元的實體程式化單元之間的映射關係的步驟包括:先在對應第一邏輯區域的邏輯位址映射表中,將上述第一邏輯位址映射至所述第一實體程式化單元,將上述第三邏輯位址映射至第三實體程式化單元,並且將上述第六邏輯位址映射至第六實體程式化單元;以及在完成對應第一邏輯區域的邏輯位址映射表的更新後,在對應第二邏輯區域的邏輯位址映射表中,將第二邏輯位址映射至第二實體程式化單元,將第四邏輯位址映射至第四實體程式化單元,將第五邏輯位址映射至第五實體程式化單元,並且將第七邏輯位址映射至第七實體程式化單元。
在本發明之一實施例中,上述之資料儲存方法還包括為此些實體抹除單元的實體程式化單元建立一實體位址資訊表,其中實體位址資訊表記錄關於所有實體程式化單元 的資訊。
在本發明之一實施例中,上述之實體位址資訊表為一實體位址映射表,並且實體位址映射表記錄每一實體程式化單元所映射的邏輯位址。
在本發明之一實施例中,上述之實體位址資訊表為一實體位址儲存狀態表,並且實體位址儲存狀態表記錄每一實體程式化單元所儲存的資料為有效資料或無效資料的標記。
本發明一範例實施例提出資料儲存方法,用於可複寫式非揮發性記憶體模組,此可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元。本資料儲存方法包括:配置複數個邏輯位址,並且將此些邏輯位址劃分為多個邏輯區域。本資料儲存方法還包括分別地為此些邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表。本資料儲存方法也包括從主機系統中接收資料,其中此主機系統指示將此資料儲存至第一邏輯位址。本資料儲存方法也包括將此資料寫入至第一實體程式化單元;並且判斷對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表是否已被載入至緩衝記憶體。本資料儲存方法也包括,倘若對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表已被載入至所述緩衝記憶體時,在對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表中記錄第一邏輯位址映射至第一實體程式化單元;以及倘若對應第一邏輯位址所屬之邏輯區域 的邏輯位址映射表未被載入至所述緩衝記憶體時,在暫時映射表中記錄第一實體程式化單元映射至第一邏輯位址。本資料儲存方法也包括:判斷暫時映射表是否已被寫滿;以及倘若暫時映射表已被寫滿時,根據記錄在暫時映射表中的映射記錄在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在暫時映射表中的映射記錄,其中暫時映射表記錄其中一部份實體程式化單元的映射關係。
在本發明之一實施例中,上述之資料儲存方法還包括為此些實體抹除單元的實體程式化單元建立一實體位址資訊表,其中實體位址資訊表記錄關於所有實體程式化單元的資訊。
本發明一範例實施例提出一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,此可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元。本記憶體控制器包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接至主機介面與記憶體介面。記憶體管理電路用以配置複數個邏輯位址,將此些邏輯位址劃分為多個邏輯區域,並且分別地為此些複數個邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表。此外,記憶體管理電路更用以從主機系統中接收資料,其中此主機系統指示將此資料儲存至第一邏輯位址。並且,記憶體管理電路更用以將此資料寫入 至第一實體程式化單元,且在暫時映射表中記錄第一實體程式化單元映射至第一邏輯位址。另外,記憶體管理電路更用以判斷暫時映射表是否已被寫滿。倘若暫時映射表已被寫滿時,記憶體管理電路更用以根據記錄在暫時映射表中的映射記錄在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在暫時映射表中的映射記錄。在此,暫時映射表記錄其中一部份實體程式化單元的映射關係。
在本發明之一實施例中,上述根據記錄在暫時映射表中的映射記錄,在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係的運作中,記憶體管理電路會根據記錄在暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在暫時映射表中的映射記錄,且根據排序後的映射記錄依序地更新邏輯位址映射表中邏輯位址與實體抹除單元的實體程式化單元之間的映射關係。
在本發明之一實施例中,第二實體程式化單元已被寫入屬於第二邏輯位址的有效資料,第三實體程式化單元已被寫入屬於第三邏輯位址的有效資料,第四實體程式化單元已被寫入屬於第四邏輯位址的有效資料,第五實體程式化單元已被寫入屬於第五邏輯位址的有效資料,第六實體程式化單元已被寫入屬於第六邏輯位址的有效資料,第七實體程式化單元已被寫入屬於第七邏輯位址的有效資料,上述第一邏輯位址、第三邏輯位址與第六邏輯位址屬於第一邏輯區域並且上述第二邏輯位址、第四邏輯位址、第五邏輯位址與第七邏輯位址屬於第二邏輯區域。並且,在上 述根據記錄在暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在暫時映射表中的複數個映射記錄的運作中,記憶體管理電路依據上述第一邏輯位址、第三邏輯位址、第六邏輯位址、第二邏輯位址、第四邏輯位址、第五邏輯位址與第七邏輯位址的順序排列記錄在暫時映射表中的映射記錄。
在本發明之一實施例中,在上述根據排序後的映射記錄依序地更新邏輯位址映射表中邏輯位址與實體抹除單元的實體程式化單元之間的映射關係的運作中,記憶體管理電路先在對應第一邏輯區域的邏輯位址映射表中,將上述第一邏輯位址映射至第一實體程式化單元,將第三邏輯位址映射至第三實體程式化單元,並且將第六邏輯位址映射至第六實體程式化單元;以及在完成對應第一邏輯區域的邏輯位址映射表的更新後,記憶體管理電路在對應第二邏輯區域的邏輯位址映射表中,將第二邏輯位址映射至第二實體程式化單元,將第四邏輯位址映射至第四實體程式化單元,將第五邏輯位址映射至第五實體程式化單元,並且將第七邏輯位址映射至第七實體程式化單元。
在本發明之一實施例中,記憶體管理電路為此些實體抹除單元的實體程式化單元建立一實體位址資訊表,並且實體位址資訊表記錄關於實體抹除單元的所有實體程式化單元的資訊。
在本發明之一實施例中,上述之實體位址資訊表為一實體位址映射表,並且實體位址映射表記錄每一實體程式 化單元所映射的邏輯位址。
在本發明之一實施例中,上述之實體位址資訊表為一實體位址儲存狀態表,並且實體位址儲存狀態表記錄每一實體程式化單元所儲存的資料為有效資料或無效資料的標記。
本發明一範例實施例提出一種記憶體儲存裝置,其包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元。記憶體控制器耦接至連接器與可複寫式非揮發性記憶體模組。記憶體控制器用以配置複數個邏輯位址,將此些邏輯位址劃分為多個邏輯區域,並且分別地為此些複數個邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表。此外,記憶體控制器更用以從主機系統中接收資料,其中此主機系統指示將此資料儲存至第一邏輯位址。並且,記憶體控制器更用以將此資料寫入至第一實體程式化單元,且在暫時映射表中記錄第一實體程式化單元映射至第一邏輯位址。另外,記憶體控制器更用以判斷暫時映射表是否已被寫滿。倘若暫時映射表已被寫滿時,記憶體控制器更用以根據記錄在暫時映射表中的映射記錄在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在暫時映射表中的映射記錄。在此,暫時映射表記錄其中一部份實體程式化單元的映射關係。
在本發明之一實施例中,上述根據記錄在暫時映射表 中的映射記錄,在邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係的運作中,記憶體控制器會根據記錄在暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在暫時映射表中的映射記錄,且根據排序後的映射記錄依序地更新邏輯位址映射表中邏輯位址與實體抹除單元的實體程式化單元之間的映射關係。
在本發明之一實施例中,第二實體程式化單元已被寫入屬於第二邏輯位址的有效資料,第三實體程式化單元已被寫入屬於第三邏輯位址的有效資料,第四實體程式化單元已被寫入屬於第四邏輯位址的有效資料,第五實體程式化單元已被寫入屬於第五邏輯位址的有效資料,第六實體程式化單元已被寫入屬於第六邏輯位址的有效資料,第七實體程式化單元已被寫入屬於第七邏輯位址的有效資料,上述第一邏輯位址、第三邏輯位址與第六邏輯位址屬於第一邏輯區域並且上述第二邏輯位址、第四邏輯位址、第五邏輯位址與第七邏輯位址屬於第二邏輯區域。並且,在上述根據記錄在暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在暫時映射表中的複數個映射記錄的運作中,記憶體控制器依據上述第一邏輯位址、第三邏輯位址、第六邏輯位址、第二邏輯位址、第四邏輯位址、第五邏輯位址與第七邏輯位址的順序排列記錄在暫時映射表中的映射記錄。
在本發明之一實施例中,在上述根據排序後的映射記錄依序地更新邏輯位址映射表中邏輯位址與實體抹除單元 的實體程式化單元之間的映射關係的運作中,記憶體控制器先在對應第一邏輯區域的邏輯位址映射表中,將上述第一邏輯位址映射至第一實體程式化單元,將第三邏輯位址映射至第三實體程式化單元,並且將第六邏輯位址映射至第六實體程式化單元;以及在完成對應第一邏輯區域的邏輯位址映射表的更新後,記憶體控制器在對應第二邏輯區域的邏輯位址映射表中,將第二邏輯位址映射至第二實體程式化單元,將第四邏輯位址映射至第四實體程式化單元,將第五邏輯位址映射至第五實體程式化單元,並且將第七邏輯位址映射至第七實體程式化單元。
在本發明之一實施例中,記憶體控制器為此些實體抹除單元的實體程式化單元建立一實體位址資訊表,並且實體位址資訊表記錄關於實體抹除單元的所有實體程式化單元的資訊。
在本發明之一實施例中,上述之實體位址資訊表為一實體位址映射表,並且實體位址映射表記錄每一實體程式化單元所映射的邏輯位址。
在本發明之一實施例中,上述之實體位址資訊表為一實體位址儲存狀態表,並且實體位址儲存狀態表記錄每一實體程式化單元所儲存的資料為有效資料或無效資料的標記。
基於上述,本發明範例實施例的資料儲存方法、記憶體控制器與記憶體儲存裝置能夠有效地減少切換映射表的次數,由此縮短執行寫入運作所需的時間。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2的滑鼠1202、鍵盤1204、顯示器1206與印表機1252。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖2所示的隨身碟1256、記憶卡1214或固態硬碟 (Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖3所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card,eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元304(0)~304(R)。例如,實體抹除單元304(0)~304(R)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,並且屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實體程式化單元所組成。然而,必須瞭解的是,本發明不限於 此,每一實體抹除單元亦可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組,即一個記憶胞中可儲存至少2個位元資料。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5是根據一範例實施例所繪示之記憶體控制器的概 要方塊圖。必須瞭解的是,圖5所示之記憶體控制器的結構僅為一範例,本發明不以此為限。
請參照圖5,記憶體控制器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是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標 準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I介面標準、UHS-II介面標準、MS標準、MMC標準、eMMC介面標準、UFS介面標準、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會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖6與圖7是根據一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體抹除單元的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖6,記憶體控制器104(或記憶體管理電路202)會將可複寫式非揮發性記憶體模組106的實體抹除單元304(0)~304(R)邏輯地分組為儲存區402、系統區404與取代區406。
邏輯上屬於儲存區402的實體抹除單元是用以儲存主機系統1000所寫入的資料。也就是說,記憶體儲存裝置100會使用分組為儲存區402的實體抹除單元來實際地儲存主機系統1000所寫入的資料。
邏輯上屬於系統區404的實體抹除單元是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體抹除單元數、每一實體抹除單元 的實體程式化單元數等。
邏輯上屬於取代區406中的實體抹除單元是替代實體抹除單元。例如,可複寫式非揮發性記憶體模組106於出廠時會預留4%的實體抹除單元作為更換使用。也就是說,當儲存區402與系統區404中的實體抹除單元損毀時,預留於取代區406中的實體抹除單元是用以取代損壞的實體抹除單元(即,壞實體抹除單元(bad block))。因此,倘若取代區406中仍存有正常之實體抹除單元且發生實體抹除單元損毀時,記憶體控制器104會從取代區406中提取正常的實體抹除單元來更換損毀的實體抹除單元。倘若取代區406中無正常之實體抹除單元且發生實體抹除單元損毀時,則記憶體控制器104會將整個記憶體儲存裝置100宣告為寫入保護(write protect)狀態,而無法再寫入資料。
特別是,儲存區402、系統區404與取代區406之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體抹除單元關聯至儲存區402、系統區404與取代區406的分組關係會動態地變動。例如,當儲存區402中的實體抹除單元損壞而被取代區406的實體抹除單元取代時,則原本取代區406的實體抹除單元會被關聯至儲存區402。
請參照圖7,如上所述,儲存區402的實體抹除單元是以輪替方式來儲存主機系統1000所寫入之資料。在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會配置邏輯位址LBA(0)~LBA(H)給主機系統1000以進行 資料的存取。每個邏輯位址是由數個扇區(sector)所組成。例如,在本範例實施例中,每一邏輯位址是由4個扇區所組成。但本發明不限於此,在本發明另一範例實施例中,邏輯位址亦可是由8個扇區所組成或是由16個扇區所組成。一般來說,儲存區402的實體抹除單元的實體程式化單元的數目是大於邏輯位址的數目。
例如,當記憶體控制器104(或記憶體管理電路202)開始使用實體抹除單元304(0)來儲存主機系統1000欲寫入的資料時,不管主機系統1000是寫入那個邏輯位址,記憶體控制器104(或記憶體管理電路202)會將資料寫入至實體抹除單元304(0)的實體程式化單元;而當記憶體控制器104(或記憶體管理電路202)開始使用實體抹除單元304(1)來儲存主機系統1000欲寫入的資料時,不管主機系統1000是寫入那個邏輯位址,記憶體控制器104(或記憶體管理電路202)會將資料寫入至實體抹除單元304(1)的實體程式化單元中。也就是說,當寫入主機系統1000欲寫入的資料時,記憶體控制器104(或記憶體管理電路202)會使用一個實體抹除單元內的實體程式化單元來寫入資料,並且當此實體抹除單元內的實體程式化單元被使用完後才會再選擇另一個無儲存資料的實體抹除單元,並且在新選擇之實體抹除單元的實體程式化單元中繼續寫入資料。
為了識別資料每個邏輯位址的被儲存在那個實體程式化單元,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會記錄邏輯位址與實體程式化單元之間的 映射關係。並且,當主機系統1000欲在扇區中存取資料時,記憶體控制器104(或記憶體管理電路202)會確認此扇區所屬的邏輯位址,並且在此邏輯位址所映射的實體程式化單元中來存取資料。例如,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯位址映射表來記錄每一邏輯位址所映射的實體程式化單元,並且當欲存取資料時記憶體控制器104(或記憶體管理電路202)會將邏輯位址映射表載入至緩衝記憶體252來維護。
值得一提的是,由於緩衝記憶體252的容量有限無法儲存記錄所有邏輯位址之映射關係的映射表,因此,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會將邏輯位址LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯位址映射表。特別是,當記憶體控制器104(或記憶體管理電路202)欲更新某個邏輯位址的映射關係時,對應此邏輯位址所屬之邏輯區域的邏輯位址映射表會被載入至緩衝記憶體252來被更新。
圖8是根據本發明範例實施例所繪示之邏輯位址映射表的範例。
請參照圖8,在本範例實施例中,每一邏輯區域的邏輯位址映射表是相同的,在此僅以對應邏輯區域LZ(0)的邏輯位址映射表800來作說明。邏輯位址映射表800包括邏輯位址索引欄位802以及實體位址欄位804。邏輯位址 索引欄位802記錄邏輯區域LZ(0)的每個邏輯位址的編號並且實體位址欄位804記錄每個邏輯位址所映射的實體程式化單元。在記憶體儲存裝置100為全新且未曾被用來儲存資料的狀態下,所有邏輯位址映射表中對應每一個邏輯位址所映射之實體程式單元的欄位會被標記為空值(例如,NULL)。
圖9~圖11是根據本發明範例實施例所繪示之進行寫入運作而更新邏輯位址映射表的一範例。
請參照圖9,倘若在記憶體儲存裝置100為全新且未曾被用來儲存資料的狀態下主機系統1000欲寫入資料至邏輯位址LBA(1)時,記憶體控制器104(或記憶體管理電路202)會選擇一個實體抹除單元(例如,實體抹除單元304(0))並且將主機系統1000欲寫入的資料寫入至實體程式化單元PBA(0-1)。在完成資料的寫入後,記憶體控制器104(或記憶體管理電路202)會在邏輯位址映射表800中將邏輯位址LBA(1)映射至實體程式化單元PBA(0-1)。
請參照圖10,倘若在圖9的狀態下主機系統1000欲寫入資料至邏輯位址LBA(129)時,記憶體控制器104(或記憶體管理電路202)會將主機系統1000欲寫入的資料寫入至實體程式化單元PBA(0-2)中。此時,記憶體控制器104(或記憶體管理電路202)會在邏輯位址映射表800中將邏輯位址LBA(129)映射至實體程式化單元PBA(0-2)。
請參照圖11,倘若在圖10的狀態下主機系統1000欲寫入資料至邏輯位址LBA(1)時,記憶體控制器104(或記憶 體管理電路202)會將主機系統1000欲寫入的資料寫入至實體程式化單元PBA(0-3)中。此時,記憶體控制器104(或記憶體管理電路202)會在邏輯位址映射表800中將邏輯位址LBA(1)映射至實體程式化單元PBA(0-3)。此時,實體程式化單元PBA(0-1)所儲存之資料為無效資料。特別是,在某個實體抹除單元的所有實體程式化單元所儲存之資料皆為無效資料時,記憶體控制器104(或記憶體管理電路202)就可對此實體抹除單元執行抹除運作並且所抹除後之實體抹除單元就可再被用來寫入資料。基此,為了識別儲存無效資料的實體程式化單元,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會維護實體位址資訊表,由此來識別每個實體位址所儲存的資料為有效資料或無效資料。例如,記憶體控制器104(或記憶體管理電路202)會使用實體位址儲存狀態表來記錄實體位址的狀態。
圖12是根據本範例實施例所繪示之實體位址儲存狀態表的示意圖。
請參照圖12,實體位址儲存狀態表1200包括實體位址索引欄位1202與狀態欄位1204,實體位址索引欄位1202記錄每個實體程式化單元的編號且狀態欄位1204記錄每個對應實體程式化單元的狀態。例如,當狀態欄位被標記為’0’時,表示對應之實體程式化單元所儲存的資料為無效資料且狀態欄位被標記為’1’時,表示對應之實體程式化單元儲存資料為有效資料,但本發明不限於此。
值得一提的,除了使用上述之實體位址儲存狀態表 1200來識別實體位址的狀態外,在本發明另一範例實施例中,實體位址映射表亦可被用來識別實體位址的狀態。例如,實體位址映射表包括實體位址索引欄位與邏輯位址欄位,其中邏輯位址欄位用以記錄映射實體位址索引欄位所記錄之實體程式化單元的邏輯位址。並且,透過比對邏輯位址映射表與實體位址映射表,每個實體程式化單元所儲存的資料為有效資料或無效資料就可被識別。
如上所述,在記憶體儲存裝置100運作期間對應所有邏輯區域的邏輯位址映射表無法同時被載入至緩衝記憶體252。因此,若主機系統1000頻繁地存取屬於不同邏輯區域的邏輯位址時,記憶體控制器104(或記憶體管理電路202)需頻繁地切換對應的邏輯位址映射表(即,將已完成更新的邏輯位址映射表回存至可複寫式非揮發性記憶體模組106且將對應目前欲存取之邏輯位址所屬之邏輯區域的邏輯位址映射表載入至緩衝記憶體252),由此會嚴重影響記憶體儲存裝置100的存取效能。基此,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)更建立暫時映射表,以記錄部分實體程式化單元與邏輯位址的映射關係。特別是,在執行寫入運作期間,若對應的邏輯位址映射表未存於緩衝記憶體252中時,記憶體控制器104(或記憶體管理電路202)會使用此暫時映射表來記錄映射目前所寫入之實體程式化單元的邏輯位址,由此避免頻繁執行切換邏輯位址映射表的運作。
圖13是根據本範例實施例所繪示之暫時映射表的示 意圖。
請參照圖13,暫時映射表1300包括實體位址索引欄位1302與邏輯位址欄位1304。實體位址索引欄位1302用以記錄被用以寫入資料的實體程式化單元的編號,並且邏輯位址欄位1304用以記錄映射被寫入資料之實體程式化單元的邏輯位址的編號。特別是,暫時映射表1300僅能夠記錄預定筆數的映射記錄,因此,每當暫時映射表1300被寫滿時,記憶體控制器104(或記憶體管理電路202)會根據暫時映射表1300的映射記錄更新對應的邏輯位址映射表,並且將暫時映射表1300的記錄清除,以利記錄對應下個寫入運作的映射關係。然而,本發明並不限於此,在另一範例實施例中,記憶體控制器104(或記憶體管理電路202)亦可在暫時映射表1300被寫滿時,再開啟另一暫時映射表以記錄對應下個寫入運作的映射關係。也就是說,在本範例實施例中,實體位址儲存狀態表記錄關於所有實體抹除單元之所有實體程式化單元的資訊,而暫時映射表是記錄其中一部份實體程式化單元的映射關係。例如,暫時映射表所能夠記錄之映射記錄的筆數可根據緩衝記憶體252的大小來設計。
圖14~圖20是根據本範例實施例所繪示之在寫入來自於主機系統的多筆資料時更新暫時映射表的示意圖。為了方便說明,在此假設暫時映射表僅能夠記錄7筆映射記錄。
請參照圖14,倘若主機系統1000欲將資料儲存至屬 於邏輯區域LZ(0)的邏輯位址LBA(3)且對應邏輯區域LZ(0)的邏輯位址映射表未存於緩衝記憶體252時,記憶體控制器104(或記憶體管理電路202)會選擇一個實體抹除單元(例如,實體抹除單元304(0)),將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-1),並且在暫時映射表1300中記錄實體程式化單元PBA(0-1)是映射至邏輯位址LBA(3)。
請參照圖15,接續,倘若主機系統1000欲將資料儲存至屬於邏輯區域LZ(1)的邏輯位址LBA(Z+4)且對應邏輯區域LZ(1)的邏輯位址映射表未存於緩衝記憶體252時,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-2),並且在暫時映射表1300中記錄實體程式化單元PBA(0-2)是映射至邏輯位址LBA(Z+4)。
請參照圖16,接續,倘若主機系統1000欲將資料儲存至屬於邏輯區域LZ(0)的邏輯位址LBA(2)且對應邏輯區域LZ(0)的邏輯位址映射表未存於緩衝記憶體252時,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-3),並且在暫時映射表1300中記錄實體程式化單元PBA(0-3)是映射至邏輯位址LBA(2)。
請參照圖17,接續,倘若主機系統1000欲將資料儲存至屬於邏輯區域LZ(1)的邏輯位址LBA(Z+2)且對應邏輯區域LZ(1)的邏輯位址映射表未存於緩衝記憶體252時, 記憶體控制器104(或記憶體管理電路202)會將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-4),並且在暫時映射表1300中記錄實體程式化單元PBA(0-4)是映射至邏輯位址LBA(Z+2)。
請參照圖18,接續,倘若主機系統1000欲將資料儲存至屬於邏輯區域LZ(1)的邏輯位址LBA(Z+1)且對應邏輯區域LZ(1)的邏輯位址映射表未存於緩衝記憶體252時,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-5),並且在暫時映射表1300中記錄實體程式化單元PBA(0-5)是映射至邏輯位址LBA(Z+1)。
請參照圖19,接續,倘若主機系統1000欲將資料儲存至屬於邏輯區域LZ(0)的邏輯位址LBA(10)且對應邏輯區域LZ(0)的邏輯位址映射表未存於緩衝記憶體252時,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-6),並且在暫時映射表1300中記錄實體程式化單元PBA(0-6)是映射至邏輯位址LBA(10)。
請參照圖20,接續,倘若主機系統1000欲將資料儲存至屬於邏輯區域LZ(1)的邏輯位址LBA(Z+3)且對應邏輯區域LZ(1)的邏輯位址映射表未存於緩衝記憶體252時,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至實體抹除單元304(0)的實體程式化單元PBA(0-7),並且在暫時映射表1300中記錄實體程式化單元PBA(0-7)是映 射至邏輯位址LBA(Z+3)。
在圖14~圖20的寫入運作中,由於映射關係是記錄在暫時映射表1300中,因此,既使對應的邏輯位址映射表未存於緩衝記憶體252,也無需執行邏輯位址映射表的切換,由此可大幅提昇寫入資料的速度。
在本範例實施例中,當暫時映射表1300被寫滿時,記憶體控制器104(或記憶體管理電路202)會進行清除暫時映射表的運作。
具體來說,記憶體控制器104(或記憶體管理電路202)會根據記錄在暫時映射表1300之邏輯位址所屬之邏輯區域來排序記錄在暫時映射表1300的映射記錄,並且以邏輯區域為單位來更新對應的邏輯位址映射表,由此避免多次切換邏輯位址映射表。
圖21~圖24是根據本範例實施例所繪示之清除暫時映射表的運作示意圖。
請參照圖21,倘若欲對已寫滿之暫時映射表1300(如圖20所示)進行清楚運作時,記憶體控制器104(或記憶體管理電路202)會將關於屬於邏輯區域LZ(0)的邏輯位址LBA(3)、LBA(2)與LBA(10)的映射記錄排在一起,然後,將關於屬於邏輯區域LZ(1)的邏輯位址LBA(Z+4)、LBA(Z+2)、LBA(Z+1)與LBA(Z+3)的映射記錄排在一起。然後,記憶體控制器104(或記憶體管理電路202)會依據排序後之暫時映射表1300先更新對應邏輯區域LZ(0)的邏輯位址映射表800(如圖22所示),之後,再更新對應邏輯區 域LZ(1)的邏輯位址映射表810(如圖23所示)。
具體來說,記憶體控制器104(或記憶體管理電路202)會在對應邏輯區域LZ(0)的邏輯位址映射表800將邏輯位址LBA(3)映射至實體程式化單元PBA(0-1),將邏輯位址LBA(2)映射至實體程式化單元PBA(0-3)並且將邏輯位址LBA(10)映射至實體程式化單元PBA(0-6)。之後,記憶體控制器104(或記憶體管理電路202)會在對應邏輯區域LZ(1)的邏輯位址映射表810將邏輯位址LBA(Z+4)映射至實體程式化單元PBA(0-2),將邏輯位址LBA(Z+2)映射至實體程式化單元PBA(0-4),將邏輯位址LBA(Z+1)映射至實體程式化單元PBA(0-5)並且將邏輯位址LBA(Z+3)映射至實體程式化單元PBA(0-7)。
此外,記憶體控制器104(或記憶體管理電路202)更會更新實體位址儲存狀態表,以記錄實體程式化單元PBA(0-1)~PBA(0-7)所儲存之資料為有效資料(如圖24所示)。再者,記憶體控制器104(或記憶體管理電路202)會將暫時映射表1300中的映射記錄清除,以回復如圖13所示的狀態。
值得一提的是,儘管在本範例實施例中,是描述在暫時映射表已被寫滿時,執行暫時映射表的清除運作。然而,本發明不限於此。例如,在發生進行資料合併運作、程式化錯誤或記憶體儲存裝置100進行關機時,亦可對暫時映射表執行清除運作,以確保最新的映射關係已被更新至邏輯位址映射表。
圖25是根據本範例實施例所繪示之資料儲存方法中初始化記憶體儲存裝置的流程圖。
請參照圖25,在步驟S2501中,記憶體控制器104(或記憶體管理電路202)會配置複數個邏輯位址,並且將此些邏輯位址劃分為多個邏輯區域。
在步驟S2503中,記憶體控制器104(或記憶體管理電路202)會分別地為此些邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表以記錄此邏輯區域內之邏輯位址的映射關係。
並且,在步驟S2505中,記憶體控制器104(或記憶體管理電路202)會為記憶體儲存裝置100的實體抹除單元的實體程式化單元建立一實體位址資訊表,以記錄每一實體程式化單元所儲存之資料為有效資料或無效資料。
然後,在步驟S2507中,記憶體控制器104(或記憶體管理電路202)會建立暫時映射表,以記錄部分實體程式化單元的映射關係。
圖26是根據本範例實施例所繪示之資料儲存方法中執行寫入運作的流程圖。
請參照圖26,在步驟S2601中,記憶體控制器104(或記憶體管理電路202)從主機系統1000中接收資料,其中主機系統1000指示將此資料儲存至一個邏輯位址(以下稱為第一邏輯位址)。
在步驟S2603中,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至其中一個空的實體程式化單元 (以下稱為第一實體程式化單元)。
在步驟S2605中,記憶體控制器104(或記憶體管理電路202)會判斷對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表是否已被載入至緩衝記憶體252中。
倘若對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表已被載入至緩衝記憶體252中時,在步驟S2607中,記憶體控制器104(或記憶體管理電路202)會直接在對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表中將第一邏輯位址映射至第一實體程式化單元。然後,圖26的流程會被中止。
倘若對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表未被載入至緩衝記憶體252中時,在步驟S2609中,記憶體控制器104(或記憶體管理電路202)會在暫時映射表中將第一實體程式化單元映射至第一邏輯位址。
然後,在步驟S2611中,記憶體控制器104(或記憶體管理電路202)會判斷暫時映射表是否已被寫滿。
倘若暫時映射表未被寫滿時,圖26的流程會被中止。
倘若暫時映射表已被寫滿時,在步驟S2613中,記憶體控制器104(或記憶體管理電路202)會根據記錄在暫時映射表中的映射記錄在對應的邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係,更新實體位址資訊表並且清除記錄在暫時映射表中的映射記錄。然後,圖26的流程會被中止。
值得一提的是,在本發明另一範例實施例中,記憶體 控制器104(或記憶體管理電路202)亦可不判斷對應第一邏輯位址所屬之邏輯區域的邏輯位址映射表是否已被載入至緩衝記憶體252,而直接先使用暫時映射表來記錄目前寫入之實體位址的映射關係。
圖27是根據另一範例實施例所繪示之資料儲存方法中執行寫入運作的流程圖。
請參照圖27,在步驟S2701中,記憶體控制器104(或記憶體管理電路202)從主機系統1000中接收資料,其中主機系統1000指示將此資料儲存至一個邏輯位址(以下稱為第一邏輯位址)。
在步驟S2703中,記憶體控制器104(或記憶體管理電路202)會將此資料寫入至其中一個空的實體程式化單元(以下稱為第一實體程式化單元)。
在步驟S2705中,記憶體控制器104(或記憶體管理電路202)會在暫時映射表中將第一實體程式化單元映射至第一邏輯位址。
然後,在步驟S2707中,記憶體控制器104(或記憶體管理電路202)會判斷暫時映射表是否已被寫滿。
倘若暫時映射表未被寫滿時,圖27的流程會被中止。
倘若暫時映射表已被寫滿時,在步驟S2709中,記憶體控制器104(或記憶體管理電路202)會根據記錄在暫時映射表中的映射記錄在對應的邏輯位址映射表中更新邏輯位址與實體抹除單元的實體程式化單元之間的映射關係,更新實體位址資訊表並且清除記錄在暫時映射表中的映射記 錄。
綜上所述,本發明範例實施例的資料儲存方法、記憶體控制器與記憶體儲存裝置能夠有效地減少切換映射表的次數,由此縮短寫入資料所需的時間。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1252‧‧‧印表機
1256‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接器
104‧‧‧記憶體控制器
106‧‧‧可複寫式非揮發性記憶體模組
304(0)~304(R)‧‧‧實體抹除單元
202‧‧‧記憶體管理電路
206‧‧‧記憶體介面
252‧‧‧緩衝記憶體
254‧‧‧電源管理電路
256‧‧‧錯誤檢查與校正電路
402‧‧‧儲存區
404‧‧‧系統區
406‧‧‧取代區
LZ(0)~LZ(M)‧‧‧邏輯區域
LBA(0)~LBA(H)‧‧‧邏輯位址
PBA(0-1)~PBA(N-K)‧‧‧實體程式化單元
800、810‧‧‧邏輯位址映射表
802‧‧‧邏輯位址索引欄位
804‧‧‧實體位址欄位
1200‧‧‧實體位址儲存狀態表
1202‧‧‧實體位址索引欄位
1204‧‧‧狀態欄位
1300‧‧‧暫時映射表
1302‧‧‧實體位址索引欄位
1304‧‧‧邏輯位址欄位
S2501、S2503、S2505、S2507‧‧‧初始化記憶體儲存裝置的步驟
S2601、S2603、S2605、S2607、S2609、S2611、S2613‧‧‧儲存資料的步驟
S2701、S2703、S2705、S2707、S2709‧‧‧儲存資料的步驟
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖6與圖7是根據一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
圖8是根據本發明範例實施例所繪示之邏輯位址映射表的範例。
圖9~圖11是根據本發明範例實施例所繪示之進行寫 入運作而更新邏輯位址映射表的一範例。
圖12是根據本範例實施例所繪示之實體位址儲存狀態表的示意圖。
圖13是根據本範例實施例所繪示之暫時映射表的示意圖。
圖14~圖20是根據本範例實施例所繪示之在寫入來自於主機系統的多筆資料時更新暫時映射表的示意圖。為方便說明,在此假設暫時映射表僅能夠記錄7筆映射記錄。
圖21~圖24是根據本範例實施例所繪示之清除暫時映射表的運作示意圖。
圖25是根據本範例實施例所繪示之資料儲存方法中初始化記憶體儲存裝置的流程圖。
圖26是根據本範例實施例所繪示之資料儲存方法中執行寫入運作的流程圖。
圖27是根據另一範例實施例所繪示之資料儲存方法中執行寫入運作的流程圖。
S2701、S2703、S2705、S2707、S2709‧‧‧儲存資料的步驟

Claims (23)

  1. 一種資料儲存方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元,該資料儲存方法包括:配置複數個邏輯位址,並且將所述複數個邏輯位址劃分為多個邏輯區域;分別地為所述複數個邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表;從一主機系統中接收一資料,其中該主機系統指示將所述資料儲存至所述複數個邏輯位址之中的一第一邏輯位址;將所述資料寫入至所述複數個實體抹除單元的實體程式化單元之中的一第一實體程式化單元;在一暫時映射表中記錄所述第一實體程式化單元映射至所述第一邏輯位址;判斷所述暫時映射表是否已被寫滿;以及倘若所述暫時映射表已被寫滿時,根據記錄在所述暫時映射表中的複數個映射記錄在該些邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在所述暫時映射表中的所述複數個映射記錄,其中所述暫時映射表記錄所述複數個實體抹除單元的複數個實體程式化單元的其中一部份實體程式化單元的 映射關係。
  2. 如申請專利範圍第1項所述之資料儲存方法,其中上述根據記錄在所述暫時映射表中的所述複數個映射記錄,在所述邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係的步驟包括:根據記錄在所述暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在所述暫時映射表中的所述複數個映射記錄;以及根據排序後的映射記錄依序地更新所述邏輯位址映射表中所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係。
  3. 如申請專利範圍第1項所述之資料儲存方法,其中所述複數個實體抹除單元的實體程式化單元之中的一第二實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第二邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第三實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第三邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第四實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第四邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第五實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第五邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的 一第六實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第六邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第七實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第七邏輯位址的有效資料,所述第一邏輯位址、所述第三邏輯位址與所述第六邏輯位址屬於所述複數個邏輯區域之中的一第一邏輯區域並且所述第二邏輯位址、所述第四邏輯位址、所述第五邏輯位址與所述第七邏輯位址屬於所述複數個邏輯區域之中的一第二邏輯區域,其中上述根據記錄在所述暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在所述暫時映射表中的所述複數個映射記錄的步驟包括:依據所述第一邏輯位址、所述第三邏輯位址、所述第六邏輯位址、所述第二邏輯位址、所述第四邏輯位址、所述第五邏輯位址與所述第七邏輯位址的順序排列記錄在所述暫時映射表中的所述複數個映射記錄。
  4. 如申請專利範圍第3項所述之資料儲存方法,其中上述根據排序後的映射記錄更新所述邏輯位址映射表中所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係的步驟包括:先在對應所述第一邏輯區域的邏輯位址映射表中,將所述第一邏輯位址映射至所述第一實體程式化單元,將所述第三邏輯位址映射至所述第三實體程式化單元,並且將所述第六邏輯位址映射至所述第六實體程式化單元;以及 在完成對應所述第一邏輯區域的邏輯位址映射表的更新後,在對應所述第二邏輯區域的邏輯位址映射表中,將所述第二邏輯位址映射至所述第二實體程式化單元,將所述第四邏輯位址映射至所述第四實體程式化單元,將所述第五邏輯位址映射至所述第五實體程式化單元,並且將所述第七邏輯位址映射至所述第七實體程式化單元。
  5. 如申請專利範圍第1項所述之資料儲存方法,更包括:為所述複數個實體抹除單元的實體程式化單元建立一實體位址資訊表,其中該實體位址資訊表記錄關於所述複數個實體抹除單元的所有實體程式化單元的資訊。
  6. 如申請專利範圍第5項所述之資料儲存方法,其中所述實體位址資訊表為一實體位址映射表,並且該實體位址映射表記錄每一實體程式化單元所映射的邏輯位址。
  7. 如申請專利範圍第5項所述之資料儲存方法,其中所述實體位址資訊表為一實體位址儲存狀態表,並且該實體位址儲存狀態表記錄每一實體程式化單元所儲存的資料為有效資料或無效資料的標記。
  8. 一種資料儲存方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元,該資料儲存方法包括:配置複數個邏輯位址,並且將所述複數個邏輯位址劃 分為多個邏輯區域;分別地為所述複數個邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表;從一主機系統中接收一資料,其中該主機系統指示將所述資料儲存至所述複數個邏輯位址之中的一第一邏輯位址;將所述資料寫入至所述複數個實體抹除單元的實體程式化單元之中的一第一實體程式化單元;判斷對應所述第一邏輯位址所屬之邏輯區域的邏輯位址映射表是否已被載入至一緩衝記憶體;倘若對應所述第一邏輯位址所屬之邏輯區域的邏輯位址映射表已被載入至所述緩衝記憶體時,在對應所述第一邏輯位址所屬之邏輯區域的邏輯位址映射表中將所述第一邏輯位址映射至所述第一實體程式化單元;倘若對應所述第一邏輯位址所屬之邏輯區域的邏輯位址映射表未被載入至所述緩衝記憶體時,在一暫時映射表中記錄所述第一實體程式化單元映射至所述第一邏輯位址;判斷所述暫時映射表是否已被寫滿;以及倘若所述暫時映射表已被寫滿時,根據記錄在所述暫時映射表中的複數個映射記錄在該些邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在所述暫時映射表中的所述複數個映射記錄, 其中所述暫時映射表記錄所述複數個實體抹除單元的複數個實體程式化單元的其中一部份實體程式化單元的映射關係。
  9. 如申請專利範圍第8項所述之資料儲存方法,更包括:為所述複數個實體抹除單元的實體程式化單元建立一實體位址資訊表,其中該實體位址資訊表記錄關於所述複數個實體抹除單元的所有實體程式化單元的資訊。
  10. 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,其中該記憶體管理電路用以配置複數個邏輯位址,並且將所述複數個邏輯位址劃分為多個邏輯區域,其中該記憶體管理電路更用以分別地為所述複數個邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表,其中該記憶體管理電路更用以從該主機系統中接收一資料,其中該主機系統指示將所述資料儲存至所述複數 個邏輯位址之中的一第一邏輯位址,其中該記憶體管理電路更用以將所述資料寫入至所述複數個實體抹除單元的實體程式化單元之中的一第一實體程式化單元,且在一暫時映射表中記錄所述第一實體程式化單元映射至所述第一邏輯位址,其中該記憶體管理電路更用以判斷所述暫時映射表是否已被寫滿,其中倘若所述暫時映射表已被寫滿時,該記憶體管理電路更用以根據記錄在所述暫時映射表中的複數個映射記錄在該些邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在所述暫時映射表中的所述複數個映射記錄,其中所述暫時映射表記錄所述複數個實體抹除單元的複數個實體程式化單元的其中一部份實體程式化單元的映射關係。
  11. 如申請專利範圍第10項所述之記憶體控制器,其中在上述根據記錄在所述暫時映射表中的所述複數個映射記錄,在所述邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係的運作中,該記憶體管理電路根據記錄在所述暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在所述暫時映射表中的所述複數個映射記錄,且根據排序後的映射記錄依序地更新所述邏輯位址映射表中所述複數個邏輯位址與 所述複數個實體抹除單元的實體程式化單元之間的映射關係。
  12. 如申請專利範圍第10項所述之記憶體控制器,其中所述複數個實體抹除單元的實體程式化單元之中的一第二實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第二邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第三實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第三邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第四實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第四邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第五實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第五邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第六實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第六邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第七實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第七邏輯位址的有效資料,所述第一邏輯位址、所述第三邏輯位址與所述第六邏輯位址屬於所述複數個邏輯區域之中的一第一邏輯區域並且所述第二邏輯位址、所述第四邏輯位址、所述第五邏輯位址與所述第七邏輯位址屬於所述複數個邏輯區域之中的一第二邏輯區域,其中在上述根據記錄在所述暫時映射表中的邏輯位 址所屬的邏輯區域排序記錄在所述暫時映射表中的所述複數個映射記錄的運作中,該記憶體管理電路依據所述第一邏輯位址、所述第三邏輯位址、所述第六邏輯位址、所述第二邏輯位址、所述第四邏輯位址、所述第五邏輯位址與所述第七邏輯位址的順序排列記錄在所述暫時映射表中的所述複數個映射記錄。
  13. 如申請專利範圍第10項所述之記憶體控制器,其中在上述根據排序後的映射記錄依序地更新所述邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係的運作中,該記憶體管理電路先在對應所述第一邏輯區域的邏輯位址映射表中,將所述第一邏輯位址映射至所述第一實體程式化單元,將所述第三邏輯位址映射至所述第三實體程式化單元,並且將所述第六邏輯位址映射至所述第六實體程式化單元;以及在完成對應所述第一邏輯區域的邏輯位址映射表的更新後,該記憶體管理電路在對應所述第二邏輯區域的邏輯位址映射表中,將所述第二邏輯位址映射至所述第二實體程式化單元,將所述第四邏輯位址映射至所述第四實體程式化單元,將所述第五邏輯位址映射至所述第五實體程式化單元,並且將所述第七邏輯位址映射至所述第七實體程式化單元。
  14. 如申請專利範圍第10項所述之記憶體控制器,其中該記憶體管理電路更用以為所述複數個實體抹除單元的實體程式化單元建立一實體位址資訊表,並且該實體位址 資訊表記錄關於所述複數個實體抹除單元的所有實體程式化單元的資訊。
  15. 如申請專利範圍第14項所述之記憶體控制器,其中所述實體位址資訊表為一實體位址映射表,並且該實體位址映射表記錄每一實體程式化單元所映射的邏輯位址。
  16. 如申請專利範圍第14項所述之記憶體控制器,其中所述實體位址資訊表為一實體位址儲存狀態表,並且該實體位址儲存狀態表記錄每一實體程式化單元所儲存的資料為有效資料或無效資料的標記。
  17. 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元並且每一實體抹除單元具有多個實體程式化單元;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,其中該記憶體控制器用以配置複數個邏輯位址,並且將所述複數個邏輯位址劃分為多個邏輯區域,其中該記憶體控制器更用以分別地所述複數個邏輯區域建立複數個邏輯位址映射表,其中每一邏輯區域對應一個邏輯位址映射表,其中該記憶體控制器更用以從該主機系統中接收一資料,其中該主機系統指示將所述資料儲存至所述複數個邏輯位址之中的一第一邏輯位址, 其中該記憶體控制器更用以將所述資料寫入至所述複數個實體抹除單元的實體程式化單元之中的一第一實體程式化單元,且在一暫時映射表中記錄所述第一實體程式化單元映射至所述第一邏輯位址,其中該記憶體控制器更用以判斷所述暫時映射表是否已被寫滿,其中倘若所述暫時映射表已被寫滿時,該記憶體控制器更用以根據記錄在所述暫時映射表中的複數個映射記錄在該些邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係,並且清除記錄在所述暫時映射表中的所述複數個映射記錄,其中所述暫時映射表記錄所述複數個實體抹除單元的複數個實體程式化單元的其中一部份實體程式化單元的映射關係。
  18. 如申請專利範圍第17項所述之記憶體儲存裝置,其中在上述根據記錄在所述暫時映射表中的所述複數個映射記錄,在所述邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係的運作中,該記憶體控制器根據記錄在所述暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在所述暫時映射表中的所述複數個映射記錄,且根據排序後的映射記錄依序地更新所述邏輯位址映射表中所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映 射關係。
  19. 如申請專利範圍第17項所述之記憶體儲存裝置,其中所述複數個實體抹除單元的實體程式化單元之中的一第二實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第二邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第三實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第三邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第四實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第四邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第五實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第五邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第六實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第六邏輯位址的有效資料,所述複數個實體抹除單元的實體程式化單元之中的一第七實體程式化單元已被寫入屬於所述複數個邏輯位址之中的一第七邏輯位址的有效資料,所述第一邏輯位址、所述第三邏輯位址與所述第六邏輯位址屬於所述複數個邏輯區域之中的一第一邏輯區域並且所述第二邏輯位址、所述第四邏輯位址、所述第五邏輯位址與所述第七邏輯位址屬於所述複數個邏輯區域之中的一第二邏輯區域,其中在上述根據記錄在所述暫時映射表中的邏輯位址所屬的邏輯區域排序記錄在所述暫時映射表中的所述複 數個映射記錄的運作中,該記憶體控制器依據所述第一邏輯位址、所述第三邏輯位址、所述第六邏輯位址、所述第二邏輯位址、所述第四邏輯位址、所述第五邏輯位址與所述第七邏輯位址的順序排列記錄在所述暫時映射表中的所述複數個映射記錄。
  20. 如申請專利範圍第17項所述之記憶體儲存裝置,其中在上述根據排序後的映射記錄依序地更新所述邏輯位址映射表中更新所述複數個邏輯位址與所述複數個實體抹除單元的實體程式化單元之間的映射關係的運作中,該記憶體控制器先在對應所述第一邏輯區域的邏輯位址映射表中,將所述第一邏輯位址映射至所述第一實體程式化單元,將所述第三邏輯位址映射至所述第三實體程式化單元,並且將所述第六邏輯位址映射至所述第六實體程式化單元;以及在完成對應所述第一邏輯區域的邏輯位址映射表的更新後,該記憶體控制器在對應所述第二邏輯區域的邏輯位址映射表中,將所述第二邏輯位址映射至所述第二實體程式化單元,將所述第四邏輯位址映射至所述第四實體程式化單元,將所述第五邏輯位址映射至所述第五實體程式化單元,並且將所述第七邏輯位址映射至所述第七實體程式化單元。
  21. 如申請專利範圍第17項所述之記憶體儲存裝置,其中該記憶體控制器更用以為所述複數個實體抹除單元的實體程式化單元建立一實體位址資訊表,並且該實體位址資訊表記錄關於所述複數個實體抹除單元的所有實體 程式化單元的資訊。
  22. 如申請專利範圍第21項所述之記憶體儲存裝置,其中所述實體位址資訊表為一實體位址映射表,並且該實體位址映射表記錄每一實體程式化單元所映射的邏輯位址。
  23. 如申請專利範圍第21項所述之記憶體儲存裝置,其中所述實體位址資訊表為一實體位址儲存狀態表,並且該實體位址儲存狀態表記錄每一實體程式化單元所儲存的資料為有效資料或無效資料的標記。
TW101122434A 2012-06-22 2012-06-22 資料儲存方法、記憶體控制器與記憶體儲存裝置 TWI486767B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101122434A TWI486767B (zh) 2012-06-22 2012-06-22 資料儲存方法、記憶體控制器與記憶體儲存裝置
US13/602,204 US8892814B2 (en) 2012-06-22 2012-09-03 Data storing method, and memory controller and memory storage apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101122434A TWI486767B (zh) 2012-06-22 2012-06-22 資料儲存方法、記憶體控制器與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201401049A TW201401049A (zh) 2014-01-01
TWI486767B true TWI486767B (zh) 2015-06-01

Family

ID=49775420

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101122434A TWI486767B (zh) 2012-06-22 2012-06-22 資料儲存方法、記憶體控制器與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US8892814B2 (zh)
TW (1) TWI486767B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI563509B (en) * 2015-07-07 2016-12-21 Phison Electronics Corp Wear leveling method, memory storage device and memory control circuit unit
TWI563510B (en) * 2015-07-24 2016-12-21 Phison Electronics Corp Mapping table accessing method, memory control circuit unit and memory storage device
CN106406746A (zh) * 2015-07-31 2017-02-15 群联电子股份有限公司 映射表存取方法、存储器控制电路单元及存储器存储装置
TWI758944B (zh) * 2020-06-23 2022-03-21 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置
US11636042B2 (en) 2020-06-23 2023-04-25 Silicon Motion, Inc. Data processing method for improving access performance of memory device and data storage device utilizing the same

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012218363A1 (de) * 2012-10-09 2014-04-10 Continental Automotive Gmbh Verfahren zur Steuerung eines getrennten Ablaufs von verknüpften Programmblöcken und Steuergerät
KR20140114515A (ko) * 2013-03-15 2014-09-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법
KR20150020384A (ko) * 2013-08-13 2015-02-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI501243B (zh) * 2013-11-12 2015-09-21 Phison Electronics Corp 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元
CN104932831B (zh) * 2014-03-20 2018-03-30 华邦电子股份有限公司 串行与非式闪存存储器及其内建可变式坏区的管理方法
TWI553477B (zh) * 2015-06-12 2016-10-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN106469122B (zh) * 2015-08-14 2019-11-19 群联电子股份有限公司 有效数据合并方法、存储器控制器与存储器储存装置
TWI579696B (zh) * 2015-11-06 2017-04-21 群聯電子股份有限公司 資料重建方法與系統及其記憶體控制電路單元
CN106708416B (zh) * 2015-11-13 2020-06-09 群联电子股份有限公司 数据重建方法与***及其存储器控制电路单元
TWI570559B (zh) * 2015-12-28 2017-02-11 點序科技股份有限公司 快閃記憶體及其存取方法
TWI579693B (zh) * 2016-04-29 2017-04-21 群聯電子股份有限公司 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置
JP2019057074A (ja) * 2017-09-20 2019-04-11 東芝メモリ株式会社 メモリシステム
US10970226B2 (en) 2017-10-06 2021-04-06 Silicon Motion, Inc. Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device
KR102493323B1 (ko) * 2018-02-21 2023-01-31 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
TWI679538B (zh) * 2018-03-31 2019-12-11 慧榮科技股份有限公司 資料儲存系統之控制單元以及邏輯至物理映射表更新方法
CN110471612B (zh) * 2018-05-09 2022-09-16 深圳大心电子科技有限公司 存储器管理方法以及存储控制器
US10592427B2 (en) 2018-08-02 2020-03-17 Micron Technology, Inc. Logical to physical table fragments
KR20200022118A (ko) * 2018-08-22 2020-03-03 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
CN111367463B (zh) * 2018-12-25 2023-05-09 兆易创新科技集团股份有限公司 一种存储空间管理方法及装置
KR20200088713A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN114168225B (zh) * 2021-12-08 2024-05-14 深圳忆联信息***有限公司 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200502756A (en) * 2003-04-14 2005-01-16 Renesas Tech Corp Memory device
US6845438B1 (en) * 1997-08-08 2005-01-18 Kabushiki Kaisha Toshiba Method for controlling non-volatile semiconductor memory system by using look up table
TW200601040A (en) * 2003-12-30 2006-01-01 Sandisk Corp Management of non-volatile memory systems having large erase blocks
US20090109788A1 (en) * 2007-10-31 2009-04-30 Samsung Electronics Co., Ltd. Data management method and mapping table update method in non-volatile memory device
TW201013401A (en) * 2008-09-25 2010-04-01 Silicon Motion Inc Access methods for a flash memory and memory devices
TW201142589A (en) * 2010-05-24 2011-12-01 Silicon Motion Inc Apparatuses for managing and accessing flash memory module

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375222A (en) * 1992-03-31 1994-12-20 Intel Corporation Flash memory card with a ready/busy mask register
US8463825B1 (en) * 2010-04-27 2013-06-11 Tintri Inc. Hybrid file system for virtual machine storage

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845438B1 (en) * 1997-08-08 2005-01-18 Kabushiki Kaisha Toshiba Method for controlling non-volatile semiconductor memory system by using look up table
TW200502756A (en) * 2003-04-14 2005-01-16 Renesas Tech Corp Memory device
US7552311B2 (en) * 2003-04-14 2009-06-23 Renesas Technology Corp. Memory device with preread data management
TW200601040A (en) * 2003-12-30 2006-01-01 Sandisk Corp Management of non-volatile memory systems having large erase blocks
US20090109788A1 (en) * 2007-10-31 2009-04-30 Samsung Electronics Co., Ltd. Data management method and mapping table update method in non-volatile memory device
TW201013401A (en) * 2008-09-25 2010-04-01 Silicon Motion Inc Access methods for a flash memory and memory devices
TW201142589A (en) * 2010-05-24 2011-12-01 Silicon Motion Inc Apparatuses for managing and accessing flash memory module

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI563509B (en) * 2015-07-07 2016-12-21 Phison Electronics Corp Wear leveling method, memory storage device and memory control circuit unit
US9665481B2 (en) 2015-07-07 2017-05-30 Phison Electronics Corp. Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
TWI563510B (en) * 2015-07-24 2016-12-21 Phison Electronics Corp Mapping table accessing method, memory control circuit unit and memory storage device
US10013187B2 (en) 2015-07-24 2018-07-03 Phison Electronics Corp. Mapping table accessing method, memory control circuit unit and memory storage device
CN106406746A (zh) * 2015-07-31 2017-02-15 群联电子股份有限公司 映射表存取方法、存储器控制电路单元及存储器存储装置
CN106406746B (zh) * 2015-07-31 2019-04-23 群联电子股份有限公司 映射表存取方法、存储器控制电路单元及存储器存储装置
TWI758944B (zh) * 2020-06-23 2022-03-21 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置
US11636042B2 (en) 2020-06-23 2023-04-25 Silicon Motion, Inc. Data processing method for improving access performance of memory device and data storage device utilizing the same

Also Published As

Publication number Publication date
US20130346675A1 (en) 2013-12-26
US8892814B2 (en) 2014-11-18
TW201401049A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
TWI486767B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI622923B (zh) 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI436212B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
US8489942B1 (en) Memory management method, and memory controller and memory storage device using the same
TWI615711B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI582776B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI525625B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI656531B (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
TWI486765B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TW201409230A (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TW201945927A (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TW201413450A (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TW201526006A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI464585B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI571881B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI446170B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI553477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN110442299B (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus