TW201816795A - 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201816795A TW201816795A TW105133631A TW105133631A TW201816795A TW 201816795 A TW201816795 A TW 201816795A TW 105133631 A TW105133631 A TW 105133631A TW 105133631 A TW105133631 A TW 105133631A TW 201816795 A TW201816795 A TW 201816795A
- Authority
- TW
- Taiwan
- Prior art keywords
- logical
- unit
- buffer
- read
- mapping table
- Prior art date
Links
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種映射表載入方法、記憶體控制電路單元及記憶體儲存裝置。本方法包括:接收包括多個第一邏輯單元的多個第一讀取指令;當所述第一邏輯單元非為連續的邏輯位址時,執行第一邏輯-實體映射表預載操作,以根據所述第一讀取指令的第一執行順序,從可複寫式非揮發性記憶體模組非同步地預載入邏輯-實體映射表之中對應第一邏輯單元的映射資訊至緩衝記憶體的第一緩衝區中;以及根據第一邏輯單元的映射資訊從實體抹除單元中讀取屬於第一邏輯單元的資料至第一緩衝區,並以屬於第一邏輯單元的資料取代第一緩衝區中所述第一邏輯單元的映射資訊。
Description
本發明是有關於一種映射表載入方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的映射表載入方法、記憶體控制電路單元及記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體模組作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
為了使主機系統可順利存取可複寫式非揮發性記憶體模組的資料,使用可複寫式非揮發性記憶體模組作為儲存媒體的記憶體儲存裝置會記錄邏輯位址與實體抹除單元之間的映射關係。具體來說,記憶體儲存裝置中的記憶體管理電路會在可複寫式非揮發性記憶體模組中儲存一個或多個邏輯-實體映射表來記錄邏輯位址與實體抹除單元或邏輯位址與實體程式化單元之間的映射資訊。當欲存取資料時,記憶體管理電路會載入對應的邏輯-實體映射表至緩衝記憶體中,並且依據邏輯-實體映射表來寫入或讀取資料。
一般而言,緩衝記憶體中會配置有用以暫存邏輯-實體映射表的緩衝區與用以暫存來自於主機系統的資料與指令或來自於可複寫式非揮發性記憶體模組的資料的緩衝區。特別是,在主機系統執行隨機讀取(random read)操作的情況下,記憶體管理電路需要對應地載入邏輯-實體映射表中多個部分的映射資訊至緩衝記憶體中。然而,由於緩衝記憶體的容量有限,因此,受限於配置來暫存邏輯-實體映射表的此些部分映射資訊的緩衝區的容量無法同時暫存多個部分的映射資訊,記憶體管理電路必須在其完成將對應目前緩衝區中映射資訊的資料從可複寫式非揮發性記憶體模組中讀取至緩衝區,以及將此些資料從緩衝區傳輸至記憶體儲存裝置後,記憶體管理電路才能再對可複寫式非揮發性記憶體模組下達指令佇列中的下一個隨機讀取指令,並載入其他的部分映射資訊至緩衝區中。此情形會導致執行讀取指令的時間效率低落,進而造成記憶體儲存裝置的效能惡化。
本發明提供一種映射表載入方法、記憶體控制電路單元與記憶體儲存裝置,其能夠有效地縮短執行讀取指令的時間,進而提升記憶體儲存裝置進行資料讀取時的速度與效能。
本發明的一範例實施例提供一種映射表載入方法,其用於可複寫式非揮發性記憶體模組,所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一實體抹除單元具有多個實體程式化單元,且一邏輯-實體映射表儲存於所述可複寫式非揮發性記憶體模組,所述映射表載入方法包括:配置多個邏輯單元,且每一個邏輯單元對應至至少一個實體程式化單元;由具有一緩衝記憶體的記憶體控制電路單元接收多個第一讀取指令,其中此些第一讀取指令包括多個第一邏輯單元;當所述第一邏輯單元非為連續的邏輯位址時,執行第一邏輯-實體映射表預載操作,其中所述第一邏輯-實體映射表預載操作包括根據所述第一讀取指令的第一執行順序,從所述可複寫式非揮發性記憶體模組讀取所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的第一緩衝區中;以及發送對應所述第一讀取指令的第一讀取指令序列,根據所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元的資料至所述第一緩衝區,並以屬於所述第一邏輯單元的資料取代所述第一緩衝區中所述第一邏輯單元的映射資訊。
在本發明的一範例實施例中,所述第一讀取指令更包括至少一第二邏輯單元,且映射表載入方法更包括:在從所述實體抹除單元中讀取屬於所述至少一第二邏輯單元的資料至所述第一緩衝區的期間,執行所述第一邏輯-實體映射表預載操作,其中對應所述至少一第二邏輯單元的第一讀取指令的第二執行順序在對應所述第一邏輯單元的第一讀取指令的所述第一執行順序之前。
在本發明的一範例實施例中,所述映射表載入方法更包括:當所述第一邏輯單元為連續的邏輯位址時,執行第二邏輯-實體映射表預載操作,其中所述第二邏輯-實體映射表預載操作包括從所述可複寫式非揮發性記憶體模組讀取所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的第二緩衝區中,其中所述第二緩衝區不同於所述第一緩衝區;以及發送對應所述第一讀取指令的第一讀取指令序列,根據具有一邏輯範圍的所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元中的資料至所述第一緩衝區。
在本發明的一範例實施例中,所述由具有所述緩衝記憶體的所述記憶體控制電路單元接收所述第一讀取指令的步驟更包括:將於所述第一讀取指令放入一指令佇列中;根據於所述指令佇列的於所述第一讀取指令的第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之一,並從所述邏輯-實體映射表之中讀取對應於所述第一讀取指令的其中之一的第一映射資訊至於所述緩衝記憶體的於所述第二緩衝區中;根據所述指令佇列中所述第一讀取指令的第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之另一;以及根據所述第一讀取指令的其中之一的邏輯單元與所述第一讀取指令的其中之另一的邏輯單元,判斷所述第一邏輯單元是否為連續的邏輯位址,其中所述第一讀取指令的其中之一的執行順序在所述第一讀取指令的其中之另一的執行順序之前。
在本發明的一範例實施例中,所述緩衝記憶體具有多個緩存單元,且一個緩存單元的容量為一第一單位容量,其中所述第一緩衝區包括的緩存單元的數量大於所述第二緩衝區包括的緩存單元的數量,執行所述第一邏輯-實體映射表預載操作的步驟更包括:依序地將所述邏輯-實體映射表之中對應每一個第一邏輯單元的映射資訊暫存至屬於所述第一緩衝區的緩存單元,其中所述緩存單元記錄的映射資訊所映射的資料量是所述第一單位容量。
在本發明的一範例實施例中,上述以屬於所述第一邏輯單元的資料取代所述第一緩衝區中所述第一邏輯單元的映射資訊的步驟包括:將屬於所述第一邏輯單元且資料量是所述第一單位容量的資料暫存至記錄有其映射資訊的緩存單元中,其中所述第一單位容量小於一個實體抹除單元的容量。
本發明的一範例實施例提供一種映射表載入方法,其用於可複寫式非揮發性記憶體模組,所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一實體抹除單元具有多個實體程式化單元,且一邏輯-實體映射表儲存於所述可複寫式非揮發性記憶體模組,所述映射表載入方法包括:配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元;由具有一緩衝記憶體的記憶體控制電路單元接收多個第一讀取指令,其中所述第一讀取指令包括多個第一邏輯單元;根據一指令佇列中所述第一讀取指令的一第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之一,並從所述邏輯-實體映射表之中讀取對應所述第一邏輯單元的其中之一的一第一映射資訊至所述緩衝記憶體的一第二緩衝區中;根據所述第一讀取指令的所述第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之另一;根據所述第一讀取指令的其中之一的邏輯單元與所述第一讀取指令的其中之另一的邏輯單元,判斷所述第一邏輯單元是否為連續的邏輯位址;以及當判斷所述第一邏輯單元非為連續的邏輯位址時,執行第一邏輯-實體映射表預載操作,其中所述第一邏輯-實體映射表預載操作包括根據所述第一讀取指令的所述第一執行順序,從所述可複寫式非揮發性記憶體模組讀取所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的第一緩衝區中,其中所述第二緩衝區不同於所述第一緩衝區。
在本發明的一範例實施例中,所述由具有所述緩衝記憶體的所述記憶體控制電路單元接收所述第一讀取指令的步驟更包括:將所述第一讀取指令儲存於所述指令佇列中,其中所述第一讀取指令的其中之一的執行順序在所述第一讀取指令的其中之另一的執行順序之前。
在本發明的一範例實施例中,所述執行第一邏輯-實體映射表預載操作之後的步驟,包括:發送對應所述第一讀取指令的一第一讀取指令序列,根據所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元的資料至所述第一緩衝區,並以屬於所述第一邏輯單元的資料取代所述第一緩衝區中所述第一邏輯單元的映射資訊。
在本發明的一範例實施例中,所述第一讀取指令更包括至少一第二邏輯單元,且所述映射表載入方法更包括:在從所述實體抹除單元中讀取屬於所述至少一第二邏輯單元的資料至所述第一緩衝區的期間,執行所述第一邏輯-實體映射表預載操作,其中對應所述至少一第二邏輯單元的第一讀取指令的第二執行順序在對應所述第一邏輯單元的第一讀取指令的所述第一執行順序之前。
在本發明的一範例實施例中,所述映射表載入方法,更包括:當所述第一邏輯單元為連續的邏輯位址時,執行第二邏輯-實體映射表預載操作,其中所述第二邏輯-實體映射表預載操作包括從所述可複寫式非揮發性記憶體模組讀取所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的所述第二緩衝區中;以及發送對應所述第一讀取指令的所述第一讀取指令序列,根據具有一邏輯範圍的所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元中的資料至所述第一緩衝區。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及上述的記憶體控制電路單元。連接介面單元耦接至主機系統,記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,且包括一緩衝記憶體。記憶體控制電路單元用以配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元。所述記憶體控制電路單元更用以從所述主機系統中接收多個第一讀取指令,其中所述第一讀取指令包括多個第一邏輯單元,當所述第一邏輯單元非為連續的邏輯位址時,所述記憶體控制電路單元更用以執行第一邏輯-實體映射表預載操作,其中所述第一邏輯-實體映射表預載操作包括根據所述第一讀取指令的一第一執行順序,從所述可複寫式非揮發性記憶體模組非同步地預載入所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的第一緩衝區中。所述記憶體控制電路單元更用以發送對應所述第一讀取指令的第一讀取指令序列,根據所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元的資料至所述第一緩衝區,並以屬於所述第一邏輯單元的資料取代所述第一緩衝區中所述第一邏輯單元的映射資訊。
在本發明的一範例實施例中,所述第一讀取指令更包括至少一第二邏輯單元。所述記憶體控制電路單元更用以在從所述實體抹除單元中讀取屬於所述至少一第二邏輯單元的資料至所述第一緩衝區的期間,執行所述第一邏輯-實體映射表預載操作,其中對應所述至少一第二邏輯單元的第一讀取指令的第二執行順序在對應所述第一邏輯單元的第一讀取指令的所述第一執行順序之前。
在本發明的一範例實施例中,當所述第一邏輯單元為連續的邏輯位址時,所述記憶體控制電路單元更用以執行第二邏輯-實體映射表預載操作,其中所述第二邏輯-實體映射表預載操作包括從所述可複寫式非揮發性記憶體模組預載入所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的第二緩衝區中,所述第二緩衝區不同於所述第一緩衝區。所述記憶體控制電路單元更用以發送對應所述第一讀取指令的所述第一讀取指令序列,根據具有一邏輯範圍的所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元中的資料至所述第一緩衝區。
在本發明的一範例實施例中,在接收所述第一讀取指令的操作中,所述記憶體控制電路單元更用以將所述第一讀取指令放入一指令佇列中,以及根據所述指令佇列中所述第一讀取指令的第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之一,並從所述邏輯-實體映射表之中讀取對應所述第一讀取指令的其中之一的第一映射資訊至所述緩衝記憶體的第二緩衝區中。記憶體控制電路單元更用以根據所述指令佇列中所述第一讀取指令的所述第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之另一;以及根據所述第一讀取指令的其中之一的邏輯單元與所述第一讀取指令的其中之另一的邏輯單元,判斷所述第一邏輯單元是否為連續的邏輯位址,其中所述第一讀取指令的其中之一的執行順序在所述第一讀取指令的其中之另一的執行順序之前。
在本發明的一範例實施例中,所述緩衝記憶體具有多個緩存單元,且一個緩存單元的容量為一第一單位容量,其中所述第一緩衝區包括的緩存單元的數量大於所述第二緩衝區包括的緩存單元的數量。在所述第一邏輯-實體映射表預載操作中,所述記憶體控制電路單元更用以依序地將所述邏輯-實體映射表之中對應每一個第一邏輯單元的映射資訊暫存至屬於所述第一緩衝區的緩存單元,其中所述緩存單元記錄的映射資訊的資料量是所述第一單位容量。
在本發明的一範例實施例中,在以屬於所述第一邏輯單元的資料取代所述第一緩衝區中所述第一邏輯單元的映射資訊的操作中,所述記憶體控制電路單元更用以將屬於所述第一邏輯單元且資料量是所述第一單位容量的資料暫存至記錄有其映射資訊的緩存單元中,其中所述第一單位容量小於一個實體抹除單元的容量。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及上述的記憶體控制電路單元。連接介面單元耦接至主機系統,記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,且包括一緩衝記憶體。記憶體控制電路單元用以配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元。所述記憶體控制電路單元更用以從所述主機系統中接收多個第一讀取指令,其中所述第一讀取指令包括多個第一邏輯單元。所述記憶體控制電路單元更用以根據一指令佇列中所述第一讀取指令的一第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之一,並從所述邏輯-實體映射表之中讀取對應所述第一讀取指令的其中之一的第一映射資訊至所述緩衝記憶體的一第二緩衝區中。所述記憶體控制電路單元更用以根據所述指令佇列中所述第一讀取指令的所述第一執行順序,從所述指令佇列中讀取所述第一讀取指令的其中之另一。所述記憶體控制電路單元更用以根據所述第一讀取指令的其中之一的邏輯單元與所述第一讀取指令的其中之另一的邏輯單元,判斷所述第一邏輯單元是否為連續的邏輯位址。當判斷所述第一邏輯單元非為連續的邏輯位址時,所述記憶體控制電路單元更用以執行第一邏輯-實體映射表預載操作,其中所述第一邏輯-實體映射表預載操作包括根據所述第一讀取指令的第一執行順序,從所述可複寫式非揮發性記憶體模組讀取所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的第一緩衝區中。
在本發明的一範例實施例中,所述由具有緩衝記憶體的所述記憶體控制電路單元接收所述第一讀取指令的操作中,所述記憶體控制電路單元更用以將所述第一讀取指令儲存於所述指令佇列中,其中所述第一讀取指令的其中之一的執行順序在所述第一讀取指令的其中之另一的執行順序之前。
在本發明的一範例實施例中,在執行所述第一邏輯-實體映射表預載操作之後,所述記憶體控制電路單元更用以發送對應所述第一讀取指令的一第一讀取指令序列,根據所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元的資料至所述第一緩衝區,並以屬於所述第一邏輯單元的資料取代所述第一緩衝區中所述第一邏輯單元的映射資訊。
在本發明的一範例實施例中,所述第一讀取指令更包括至少一第二邏輯單元。所述記憶體控制電路單元更用以在從所述實體抹除單元中讀取屬於所述至少一第二邏輯單元的資料至所述第一緩衝區的期間,執行所述第一邏輯-實體映射表預載操作,其中對應所述至少一第二邏輯單元的第一讀取指令的第二執行順序在對應所述第一邏輯單元的第一讀取指令的所述第一執行順序之前。
在本發明的一範例實施例中,當所述第一邏輯單元為連續的邏輯位址時,記憶體控制電路單元更用以執行第二邏輯-實體映射表預載操作,其中所述第二邏輯-實體映射表預載操作包括從所述可複寫式非揮發性記憶體模組讀取所述邏輯-實體映射表之中對應所述第一邏輯單元的映射資訊至所述緩衝記憶體的所述第二緩衝區中。所述記憶體控制電路單元更用以發送對應所述第一讀取指令的所述第一讀取指令序列,根據具有一邏輯範圍的所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元中的資料至所述第一緩衝區。
基於上述,本發明範例實施例是藉由在可複寫式非揮發性記憶體模組處於忙碌狀態的期間將主機系統執行隨機讀取操作所產生的多個非連續的映射資訊依序地預載入空間較大的第一緩衝區(即,用以暫存來自於主機系統的資料與指令或來自於可複寫式非揮發性記憶體模組的資料的緩衝區),由此可充分地利用原本忙碌狀態中所需的等待時間,並有效地縮短執行讀取指令的時間。另一方面,本發明範例實施例會以從可複寫式非揮發性記憶體模組中所讀取的資料取代第一緩衝區中關於此些資料的映射資訊。如此一來,本發明範例實施例可在可複寫式非揮發性記憶體模組處於忙碌狀態的期間且主機系統執行隨機讀取操作時,使得所讀取的映射資訊不再受限於配置來暫存邏輯-實體映射表的第二緩衝區的容量,由此有效地節省緩衝記憶體的空間配置,並提升記憶體儲存裝置進行資料讀取時的速度與效能。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114是可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線的方式耦接至記憶體儲存裝置10。耦接或無線傳輸至記憶體儲存裝置10,其中記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。其中,無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的各種類型記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各種類型的式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的SD卡32、CF卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded MMC, eMMC)341及/或嵌入式多晶片封裝儲存裝置(embedded Multi Chip Package, eMCP)342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(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-Chip Package)介面標準、多媒體儲存卡(Multi Media Card, MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card, eMMC)介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)介面標準、小型快閃(Compact Flash, CF)介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404,並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406具有實體抹除單元410(0)~ 410(B)。例如,實體抹除單元410(0)~410(B)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504及記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或其群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路502還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
主機介面504是耦接至記憶體管理電路502並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元404還包括錯誤檢查與校正電路508、緩衝記憶體510與電源管理電路512。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
圖6是根據一範例實施例所繪示之緩衝記憶體的示意圖。
請參照圖6,緩衝記憶體510具有512個緩存單元(即,緩存單元610(0)~610(511)),且每一個緩存單元的容量為4KB(亦稱為第一單位容量)。具體而言,四個緩存單元的容量為對應可複寫式非揮發性記憶體的一個實體程式化單元的容量。然而,必須暸解的是,本範例實施例不限定配置在緩衝記憶體510中的緩存單元的個數、緩存單元的容量以及主機系統11所傳送之資料的大小。例如,在其他範例實施例中,緩衝記憶體510中緩存單元的個數可以多於或少於512個緩存單元的容量。此外,主機系統11例如是以4KB為單位來傳送或存取資料。或者,在另一範例實施例中,主機系統11每次所傳送或存取之資料的容量亦可以大於或小於4KB。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。例如,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼)。
在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖7是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體單元的運作時,以“選擇”與“分組”等詞來操作實體單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組406之實體單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組406的實體單元進行操作。
請參照圖7,記憶體管理電路502會將可複寫式非揮發性記憶體模組406的記憶胞邏輯地分組為實體單元710(0)~710(B)。在本範例實施例中,實體單元710(0)~710(B)中的每一個實體單元是指一或多個實體程式化單元。然而,在另一範例實施例中,實體單元710(0)~710(B)中的每一個實體單元則是指一或多個實體抹除單元,例如,實體單元710(0)~710(B)中的每一個實體單元為實體抹除單元410(0)~ 410(B)。
在本範例實施例中,記憶體管理電路502會將實體單元710(0)~710(B)邏輯地分組為儲存區701與閒置(spare)區702。儲存區701中的實體單元710(0)~710(A)儲存有資料,而閒置區702中的實體單元710(A+1)~710(B)尚未被用來儲存資料。例如,屬於儲存區701的每一個實體單元可能儲存有有效資料及/或無效資料,而屬於儲存區701的某一個實體單元被抹除之後就會被關聯至閒置區702。當屬於儲存區701的某一個實體單元被寫滿之後,某一個實體單元會被從閒置區702選擇並且被關聯至儲存區701,以儲存其他資料。
在本範例實施例中,記憶體管理電路502會配置邏輯單元712(0)~712(C)以映射儲存區701中的實體單元710(0)~710(A)。在本範例實施例中,主機系統11是透過邏輯位址(logical address, LA)來存取儲存於儲存區701中的資料,因此,邏輯單元712(0)~712(C)中的每一者是指一個邏輯位址,並且在本範例實施例中,邏輯單元612(0)~612(C)中的每一個邏輯單元會被映射至至少一個實體程式化單元。然而,在另一範例實施例中,邏輯單元712(0)~712(C)中的每一者也可以是指一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯位址組成。
一般而言,記憶體管理電路502會將邏輯單元與實體單元之間的映射關係(亦稱為邏輯-實體映射關係)記錄於至少一邏輯-實體映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路502可根據此邏輯-實體映射表來執行對於記憶體儲存裝置10的資料存取。例如,記憶體管理電路502會在可複寫式非揮發性記憶體模組406中儲存一個或多個邏輯-實體映射表來記錄邏輯位址與實體抹除單元或邏輯位址與實體程式化單元之間的映射資訊。當主機系統11下達多個讀取指令(亦稱為第一讀取指令)給記憶體管理電路502,並且這些第一讀取指令是例如是指示讀取邏輯位址712(0)~712(C)中的一或多個邏輯位址。記憶體管理電路502會將這些第一讀取指令放入一個指令佇列(command queue)當中,並且記憶體管理電路502會決定執行這些第一讀取指令的執行順序。若記憶體管理電路502要執行一個第一讀取指令,則記憶體管理電路502會取得此第一讀取指令所要讀取的邏輯位址,並取得此邏輯位址所映射的一個實體抹除單元或實體程式化單元,並從此實體抹除單元或實體程式化單元中讀取資料,以將這些資料傳送給主機系統11。
值得注意的是,在記憶體管理電路502下達對應指令佇列中的至少一第一讀取指令的讀取指令序列(亦稱為第一讀取指令序列)後,記憶體管理電路502即會將對應目前緩衝區中映射資訊的資料從可複寫式非揮發性記憶體模組406中讀取至用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料的緩衝區(亦稱為資料上載操作),並從緩衝區接收此些資料(亦稱為內部資料傳輸),此時,可複寫式非揮發性記憶體模組406會處於忙碌(busy)狀態,且在此忙碌狀態下記憶體管理電路502無法對其再下達任何指令序列。
此外,由於記憶體管理電路502下達對應第一讀取指令的第一讀取指令序列之前,記憶體管理電路502會載入此讀取指令所對應的邏輯-實體映射表至緩衝記憶體510中,以在記憶體管理電路502下達對應第一讀取指令的第一讀取指令序列之後,即可依據緩衝記憶體510中的邏輯-實體映射表來寫入或讀取資料。因此,請再參照圖6,緩衝記憶體510中通常會配置有用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料的緩衝區612(亦稱為第一緩衝區612)與用以暫存邏輯-實體映射表的緩衝區614(亦稱為第二緩衝區614)。一般而言,第一緩衝區612的容量通常會大於第二緩衝區614的容量,亦即,配置給第一緩衝區612的緩存單元的數量大於配置給第二緩衝區614的緩存單元的數量。應注意的是,本發明並不欲加以限制配置給第一緩衝區612的緩存單元的數量與配置給第二緩衝區614的緩存單元的數量,例如,在另一範例實施例中,可依據記憶體儲存裝置10的性能與設計需求將第一緩衝區612的緩存單元的數量配置為大於兩個緩存單元或小於兩個緩存單元。
特別是,在主機系統11是執行隨機讀取操作的情況下,隨機讀取指令所對應的邏輯位址會分散地被記錄在邏輯-實體映射表中,因此,記憶體管理電路502需要載入邏輯-實體映射表中多個部分的映射資訊至緩衝記憶體510中的第二緩衝區614。再者,由於緩衝記憶體510的容量有限,因此,記憶體管理電路502需多次地將多個部分的映射資訊載入緩衝記憶體510的第二緩衝區614,亦即,受限於配置來暫存邏輯-實體映射表的第二緩衝區的容量(例如,兩個緩存單元的大小)無法同時暫存多個部分的映射資訊,則記憶體管理電路502必須在其完成將對應目前第二緩衝區614中映射資訊的資料從可複寫式非揮發性記憶體模組406中讀取至第一緩衝區612(即,資料上載操作),以及將此些資料從第一緩衝區612傳輸至其本身(即,內部資料傳輸)後,記憶體管理電路502才能再載入其他部分的映射資訊至第二緩衝區中,並對可複寫式非揮發性記憶體模組406下達指令佇列中的下一個隨機讀取指令。也就是說,當主機系統11執行隨機讀取操作且可複寫式非揮發性記憶體模組406處於忙碌狀態時,記憶體管理電路502執行讀取指令的效率低落,進而導致記憶體儲存裝置10的整體效能降低。
有鑑於此,在本範例實施例中,當記憶體管理電路502從主機系統11接收包括多個邏輯單元(亦稱為第一邏輯單元)的多個第一讀取指令時,記憶體管理電路502會將這些讀取指令放入指令佇列中,並根據指令佇列中的第一讀取指令判斷主機系統11是否正在執行隨機讀取操作。例如,記憶體管理電路502會判斷第一讀取指令所包括的多個第一邏輯單元是否為連續的邏輯位址。倘若第一邏輯單元為非連續的邏輯位址則代表第一讀取指令為隨機讀取指令,由此記憶體管理電路502會判斷主機系統11正在執行隨機讀取操作;反之,倘若第一邏輯單元為連續的邏輯位址即代表第一讀取指令為連續讀取指令,則記憶體管理電路502會判斷主機系統11正在執行連續讀取操作。之後,記憶體管理電路502會根據前述的判斷結果來執行邏輯-實體映射表預載操作,例如,當記憶體管理電路502判斷多個第一邏輯單元非為連續的邏輯位址時,其會執行第一邏輯-實體映射表預載操作;反之,當記憶體管理電路502判斷多個第一邏輯單元為連續的邏輯位址時,其會執行第二邏輯-實體映射表預載操作。值得注意的是,第一邏輯-實體映射表預載操作不同於第二邏輯-實體映射表預載操作。
應注意的是,在本範例實施例中,第一讀取指令更包括至少一第二邏輯單元,並且對應上述第一邏輯單元之第一讀取指令的執行順序為第一執行順序,而對應第二邏輯單元之第一讀取指令的執行順序為第二執行順序,舉例而言,對應至少一第二邏輯單元之第一讀取指令的第二執行順序在對應多個第一邏輯單元之第一讀取指令的第一執行順序之前。更詳細地說,當記憶體管理電路502判斷主機系統11正在執行隨機讀取操作時(例如,判斷多個第一邏輯單元非為連續的邏輯位址時),記憶體管理電路502會在從實體抹除單元中讀取屬於至少一第二邏輯單元的資料至第一緩衝區612的期間(即,對應於忙碌狀態的期間),執行第一邏輯-實體映射表預載操作。
在本範例實施例中,記憶體管理電路502所執行的第一邏輯-實體映射表預載操作是根據第一讀取指令的第一執行順序,從可複寫式非揮發性記憶體模組406非同步地預載入多個邏輯-實體映射表之中對應第一邏輯單元的映射資訊至緩衝記憶體510的第一緩衝區612(即,用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料的緩衝區612)中,而非將對應第一邏輯單元的映射資訊載入用以暫存邏輯-實體映射表的第二緩衝區614。特別是,藉由在可複寫式非揮發性記憶體模組406處於忙碌狀態的期間將主機系統11執行隨機讀取操作所產生的多個非連續的映射資訊依序地預載入空間較大的第一緩衝區,可充分地利用原本忙碌狀態中所需的等待時間,且有效地縮短記憶體管理電路502執行讀取指令的時間。
在記憶體管理電路502執行第一邏輯-實體映射表預載操作之後,記憶體管理電路502會發送對應第一讀取指令的第一讀取指令序列,並根據第一緩衝區612中的第一邏輯單元的映射資訊從實體抹除單元中讀取屬於第一邏輯單元的資料至第一緩衝區612中。在此,記憶體管理電路502是以屬於第一邏輯單元的資料取代第一緩衝區中第一邏輯單元之映射資訊,例如,記憶體管理電路502是將所讀取的屬於第一邏輯單元的資料暫存至第一緩衝區中原先暫存第一邏輯單元之映射資訊的緩存單元,由此可有效地節省緩衝記憶體510的使用空間。為了更清楚地描述本發明之映射表載入方法與記憶體管理電路502的運作,以下將參照圖8與圖9A~圖9E以一範例來進行說明。
圖8是根據本發明的一範例實施例所繪示的判斷主機系統是否正在執行隨機讀取操作的流程圖。圖9A~9B是根據本發明的一範例實施例所繪示的判斷主機系統是否正在執行隨機讀取操作的示意圖。
請先參照圖9A,記憶體管理電路502從主機系統11依序接收包括多個第一邏輯單元(即,第一邏輯單元712(0)、712(21)、712(55)、712(56)、712(C-1))的多個第一讀取指令(即,第一讀取指令RCmd1、RCmd2、RCmd3、RCmd4、RCmd5)時,記憶體管理電路502會將這些讀取指令放入指令佇列800中,並決定此些第一讀取指令的順序。例如,在本範例實施例中,記憶體管理電路502所決定之第一讀取指令的第一執行順序依序為RCmd1、RCmd2、RCmd4、RCmd5、RCmd3,然而,本發明並不加以限制第一讀取指令的第一執行順序,例如,在另一範例實施例中,記憶體管理電路502所決定之第一讀取指令的第一執行順序相同於從主機系統11接收第一讀取指令的接收順序。在本範例實施例中,記憶體管理電路502會根據指令佇列800中的第一讀取指令判斷主機系統11是否正在執行隨機讀取操作。
請參照圖8與圖9A~圖9B,在步驟S801中,記憶體管理電路502會根據指令佇列800的第一讀取指令RCmd1、RCmd2、RCmd4、RCmd5、RCmd3的第一執行順序(如圖9A所示),從指令佇列800讀取第一讀取指令的其中之一,並從邏輯-實體映射表810之中讀取對應此第一讀取指令的其中之一的映射資訊(亦稱為第一映射資訊)至緩衝記憶體510的第二緩衝區614中。例如,記憶體管理電路502根據所述第一執行順序讀取指令佇列800中第一個第一讀取指令RCmd1,並從邏輯-實體映射表810中讀取對應此第一讀取指令RCmd1的第一映射資訊811至緩衝記憶體510中第二緩衝區614的緩存單元610(0)中(如圖9B所示)。
接著,在步驟S803中,記憶體管理電路502會根據指令佇列800中第一讀取指令的第一執行順序(如圖9A所示),從指令佇列800中讀取第一讀取指令的其中之另一。例如,記憶體管理電路502是依序地從指令佇列800中讀取第二個第一讀取指令RCmd2。
在步驟S805中,記憶體管理電路502會根據第一讀取指令的其中之一(即,第一讀取指令RCmd1)的邏輯單元與第一讀取指令的其中之另一(即,第一讀取指令RCmd2)的邏輯單元,判斷第一邏輯單元是否為連續的邏輯位址。具體而言,記憶體管理電路502會識別第一讀取指令RCmd1的邏輯單元712(0)與第一讀取指令RCmd2的邏輯單元712(21)為兩個不連續的邏輯位址,而判斷多個第一邏輯單元非為連續的邏輯位址。亦即,記憶體管理電路502會判斷主機系統11正在執行隨機讀取操作。因此,記憶體管理電路502會執行第一邏輯-實體映射表預載操作(如步驟S807所示)。反之,在另一範例實施例中,若第一讀取指令RCmd1的邏輯單元與第一讀取指令RCmd2的邏輯單元為連續的邏輯位址,則記憶體管理電路502會執行第二邏輯-實體映射表預載操作(如步驟S809所示)。以下將參照圖9C~圖9E來說明記憶體管理電路502判斷主機系統11正在執行隨機讀取操作後所執行的第一邏輯-實體映射表預載操作。
圖9C是根據本發明的一範例實施例所繪示的邏輯-實體映射表及其邏輯單元與實體程式化單元之映射關係的示意圖。圖9D是根據本發明的一範例實施例所繪示的執行第一邏輯-實體映射表預載操作的示意圖。
為了方便說明,圖9C 以一個實體抹除單元包括4個實體程式化單元為例進行說明,然而,本領域具有通常知識者應可理解一個實體抹除單元不只具有4個實體程式化單元,且可具有其他任意個實體程式化單元,在此並不贅述。請參照圖9C 與圖9D,記憶體管理電路502根據邏輯-實體映射表810中的映射資訊811、812、813、814與815可得知第一邏輯單元712(0)映射至實體程式化單元710(1),第一邏輯單元712(21)映射至實體程式化單元710(9),第一邏輯單元712(56)映射至實體程式化單元710(7),第一邏輯單元712(C-1)映射至實體程式化單元710(A-3),而第一邏輯單元712(55)映射至實體程式化單元710(5)(如圖9C 所示)。在本發明範例實施例中,在記憶體管理電路502判斷主機系統11正在執行隨機讀取操作的情況下,記憶體管理電路502會根據指令佇列800中第一讀取指令的第一執行順序,依序地將邏輯-實體映射表810之中對應每一個第一邏輯單元712(0) 712(21)、712(56)、712(C-1)與712(55)的映射資訊(即,映射資訊811、812、814、815、813)分別暫存至屬於第一緩衝區612的緩存單元610(2)~610(6)中(如圖9D所示)。在本範例實施例中是假設一個實體程式化單元的容量所儲存的資料即為4KB且一個緩存單元的容量為4KB,換言之,一個緩存單元記錄的映射資訊所映射的資料量是4KB。
值得注意的是,在本範例實施例中,是以記憶體管理電路502從主機系統11依序接收五個第一讀取指令(即,第一讀取指令RCmd1、RCmd2、RCmd3、RCmd4、RCmd5)進行說明,並且在記憶體管理電路502執行第一邏輯-實體映射表預載操作時,記憶體管理電路502是於可複寫式非揮發性記憶體模組406處於忙碌狀態時將對應此五個讀取指令的映射資訊皆載入第一緩衝區612中。但本發明並不限於此。例如,在另一範例實施例中,記憶體管理電路502是從主機系統11依序接收大於或小於五個的第一讀取指令。舉例而言,倘若在另一範例實施例中,記憶體管理電路502從主機系統11依序接收十個第一讀取指令,則在記憶體管理電路502執行第一邏輯-實體映射表預載操作時,記憶體管理電路502會根據可複寫式非揮發性記憶體模組406之忙碌狀態所對應的忙碌時間來決定是否同時將對應此十個讀取指令的映射資訊非同步地載入第一緩衝區612中。例如,記憶體管理電路502可在此忙碌時間中將對應此十個讀取指令的映射資訊皆載入第一緩衝區612中,或者在此忙碌時間中僅先將其中五個讀取指令的映射資訊載入第一緩衝區612中。
之後,當可複寫式非揮發性記憶體模組406非處於忙碌狀態時,例如,當記憶體管理電路502執行完對應至少一第二邏輯單元的資料上載操作與內部資料傳輸後,記憶體管理電路502會根據第一緩衝區612中的第一邏輯單元的映射資訊811、812、814、815與813依序地從實體程式化單元710(1)、實體程式化單元710(9)、實體程式化單元710(7)、實體程式化單元710(A-3)與實體程式化單元710(5)中讀取資料至第一緩衝區612中。
圖9E是根據本發明的一範例實施例所繪示的以屬於第一邏輯單元的資料取代第一緩衝區中第一邏輯單元之映射資訊的示意圖。
請同時參照圖9C至圖9E,在本範例實施例中,記憶體管理電路502是將屬於第一邏輯單元且資料量是4KB的資料暫存至記錄有其映射資訊的緩存單元中。舉例而言,記憶體管理電路502可根據第一緩衝區612的緩存單元610(2)中的映射資訊811,而從實體程式化單元710(1)讀取資料80,並將此資料80暫存至記錄有其映射資訊811的緩存單元610(2),亦即,以資料80取代緩存單元610(2)中的映射資訊811。並且,以此類推,記憶體管理電路502會依序地將從實體程式化單元710(9)讀取的資料86,從實體程式化單元710(7)讀取的資料84,從實體程式化單元710(A-3)讀取的資料88,以及從實體程式化單元710(5)讀取的資料82分別地取代緩存單元610(3)中的映射資訊812,緩存單元610(4)中的映射資訊814,緩存單元610(5)中的映射資訊815與緩存單元610(6)中的映射資訊813。之後,記憶體管理電路502會傳輸此些資料80、86、84、88與82以從第一緩衝區612接收此些資料,並將所接收的資料80、86、84、88與82透過資料傳輸介面114傳送至主機系統11。
值得注意是,在一個緩存單元的容量為4KB的例子中,本發明是假設一個實體程式化單元的容量所儲存的資料即為4KB,因此,在執行第一邏輯-實體映射表預載操作時,一個緩存單元會被配置來記錄容量為4KB的資料,即,一個緩存單元僅記錄一個實體程式化單元及其邏輯單元的映射資訊。然而,本發明並不欲加以限制實體程式化單元所儲存的資料容量,例如,在另一範例實施例中,若一個實體程式化單元所儲存的資料容量小於4KB,則一個緩存單元會記錄多個實體程式化單元及其邏輯單元的映射資訊,並且屬於此一個緩存單元之映射資訊所對應的多個實體程式化單元中的資料容量的總和為4KB。
另一方面,倘若記憶體管理電路502判斷主機系統11正在執行連續讀取操作時(即,判斷多個第一邏輯單元為連續的邏輯位址時),記憶體管理電路502會執行第二邏輯-實體映射表預載操作。在此,由於連續的邏輯位址會以連續的映射資訊被記錄在邏輯-實體映射表中,也就是說,記憶體管理電路502不需多次地載入邏輯-實體映射表中的映射資訊。因此,記憶體管理電路502可從可複寫式非揮發性記憶體模組406一次性地預載入邏輯-實體映射表之中第一邏輯單元的映射資訊至緩衝記憶體510的第二緩衝區614中。例如,在上述圖9B的狀態下,若記憶體管理電路502判斷第一讀取指令RCmd1的邏輯單元與第二個第一讀取指令RCmd2的邏輯單元為連續的邏輯位址,則記憶體管理電路502會將對應指令佇列800中多個第一讀取指令所對應之第一邏輯單元的所有映射資訊一次性地讀取至第二緩衝區614的緩存單元610(0)中。接著,記憶體管理電路502會根據第二緩衝區614中所記錄之第一邏輯單元的映射資訊從實體抹除單元中讀取屬於第一邏輯單元中的資料至第一緩衝區612。
圖10是根據本發明的一範例實施例所繪示的映射表載入方法的流程圖。
請參照圖10,在步驟S1001中,記憶體管理電路502會配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元。
在步驟S1003中,記憶體管理電路502會從主機系統中接收多個第一讀取指令,其中此些第一讀取指令包括多個第一邏輯單元。
在步驟S1005中,當所述第一邏輯單元非為連續的邏輯位址時 ,記憶體管理電路502會執行第一邏輯-實體映射表預載操作,以根據所述第一讀取指令的第一執行順序,從可複寫式非揮發性記憶體模組非同步地預載入邏輯-實體映射表之中對所述第一邏輯單元的映射資訊至緩衝記憶體的第一緩衝區中。
在步驟S1007中,記憶體管理電路502發送對應所述第一讀取指令的第一讀取指令序列,根據所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元的資料至第一緩衝區,並以屬於所述第一邏輯單元的資料取代第一緩衝區中所述第一邏輯單元的映射資訊。
然而,圖10中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖10的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明範例實施例提出的映射表載入方法、記憶體儲存裝置與記憶體控制電路單元,可在可複寫式非揮發性記憶體模組處於忙碌狀態的期間將主機系統執行隨機讀取操作所產生的多個非連續的映射資訊依序地預載入空間較大的第一緩衝區(即,用以暫存來自於主機系統的資料與指令或來自於可複寫式非揮發性記憶體模組的資料的緩衝區),由此可充分地利用原本忙碌狀態中所需的等待時間,進而有效地縮短執行讀取指令的時間。另一方面,本發明會以從可複寫式非揮發性記憶體模組中所讀取的資料取代第一緩衝區中關於此些資料的映射資訊。如此一來,可在可複寫式非揮發性記憶體模組處於忙碌狀態的期間且主機系統執行隨機讀取操作時,使得所讀取的映射資訊不再受限於配置來暫存邏輯-實體映射表的第二緩衝區的容量,並且有效地節省緩衝記憶體的空間配置,更提升了記憶體儲存裝置進行資料讀取時的速度與效能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
410(0)~ 410(B)‧‧‧實體抹除單元
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧錯誤檢查與校正電路
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
612‧‧‧第一緩衝區
614‧‧‧第二緩衝區
610(0)~610(511)‧‧‧緩存單元
701‧‧‧儲存區
702‧‧‧閒置區
710(0)~710(B)‧‧‧實體單元
712(0)~712(C)‧‧‧邏輯單元
RCmd1、RCmd2、RCmd3、RCmd4、RCmd5‧‧‧第一讀取指令
800‧‧‧指令佇列
810‧‧‧邏輯-實體映射表
811、812、813、814、815‧‧‧映射資訊
80、86、84、88、82‧‧‧資料
S801‧‧‧步驟(根據指令佇列中第一讀取指令的第一執行順序,從指令佇列中讀取第一讀取指令的其中之一,並從邏輯-實體映射表之中讀取對應所述第一讀取指令的其中之一的第一映射資訊至緩衝記憶體的第二緩衝區中)
S803‧‧‧步驟(根據指令佇列中第一讀取指令的第一執行順序,從指令佇列中讀取第一讀取指令的其中之另一)
S805‧‧‧步驟(根據第一讀取指令的其中之一的邏輯單元與第一讀取指令的其中之另一的邏輯單元,判斷所述第一邏輯單元是否為連續的邏輯位址)
S807‧‧‧步驟(執行第一邏輯-實體映射表預載操作)
S809‧‧‧步驟(執行第二邏輯-實體映射表預載操作)
S1001‧‧‧步驟(配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元)
S1003‧‧‧步驟(由具有一緩衝記憶體的記憶體控制電路單元從主機系統中接收多個第一讀取指令,其中此些第一讀取指令包括多個第一邏輯單元)
S1005‧‧‧步驟(當所述第一邏輯單元非為連續的邏輯位址時,執行第一邏輯-實體映射表預載操作,以根據所述第一讀取指令的第一執行順序,從可複寫式非揮發性記憶體模組非同步地預載入邏輯-實體映射表之中對所述第一邏輯單元的映射資訊至緩衝記憶體的第一緩衝區中)
S1007‧‧‧步驟(發送對應所述第一讀取指令的第一讀取指令序列,根據所述第一邏輯單元的映射資訊從所述實體抹除單元中讀取屬於所述第一邏輯單元的資料至第一緩衝區,並以屬於所述第一邏輯單元的資料取代第一緩衝區中所述第一邏輯單元的映射資訊)
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據一範例實施例所繪示之緩衝記憶體的示意圖。 圖7是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。 圖8是根據本發明的一範例實施例所繪示的判斷主機系統是否正在執行隨機讀取操作的流程圖。 圖9A~9B是根據本發明的一範例實施例所繪示的判斷主機系統是否正在執行隨機讀取操作的示意圖。 圖9C是根據本發明的一範例實施例所繪示的邏輯-實體映射表及其邏輯單元與實體程式化單元之映射關係的示意圖。 圖9D是根據本發明的一範例實施例所繪示的執行第一邏輯-實體映射表預載操作的示意圖。 圖9E是根據本發明的一範例實施例所繪示的以屬於第一邏輯單元的資料取代第一緩衝區中第一邏輯單元之映射資訊的示意圖。 圖10是根據本發明的一範例實施例所繪示的映射表載入方法的流程圖。
Claims (22)
- 一種映射表載入方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一個實體抹除單元具有多個實體程式化單元,其中一邏輯-實體映射表儲存於該可複寫式非揮發性記憶體模組中,該映射表載入方法包括: 配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元; 由具有一緩衝記憶體的一記憶體控制電路單元接收多個第一讀取指令,其中該些第一讀取指令包括多個第一邏輯單元; 當該些第一邏輯單元非為連續的邏輯位址時,執行一第一邏輯-實體映射表預載操作,其中該第一邏輯-實體映射表預載操作包括根據該些第一讀取指令的一第一執行順序,從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的一第一緩衝區中;以及 發送對應該些第一讀取指令的一第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元的資料至該第一緩衝區,並以屬於該些第一邏輯單元的資料取代該第一緩衝區中該些第一邏輯單元的映射資訊。
- 如申請專利範圍第1項所述的映射表載入方法,其中該些第一讀取指令更包括至少一第二邏輯單元,該映射表載入方法更包括: 在從該些實體抹除單元中讀取屬於該至少一第二邏輯單元的資料至該第一緩衝區的期間,執行該第一邏輯-實體映射表預載操作,其中對應該至少一第二邏輯單元的該些第一讀取指令的一第二執行順序在對應該些第一邏輯單元的該些第一讀取指令的該第一執行順序之前。
- 如申請專利範圍第1項所述的映射表載入方法,更包括: 當該些第一邏輯單元為連續的邏輯位址時,執行一第二邏輯-實體映射表預載操作,其中該第二邏輯-實體映射表預載操作包括從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的一第二緩衝區中,其中該第二緩衝區不同於該第一緩衝區;以及 發送對應該第一讀取指令的該第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元中的資料至該第一緩衝區。
- 如申請專利範圍第3項所述的映射表載入方法,其中由具有該緩衝記憶體的該記憶體控制電路單元接收該些第一讀取指令的步驟更包括: 將該些第一讀取指令放入一指令佇列中; 根據該指令佇列中該些第一讀取指令的該第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之一,並從該邏輯-實體映射表之中讀取對應該些第一讀取指令的其中之一的第一映射資訊至該緩衝記憶體的該第二緩衝區中; 根據該指令佇列中該些第一讀取指令的該第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之另一;以及 根據該些第一讀取指令的其中之一的邏輯單元與該些第一讀取指令的其中之另一的邏輯單元,判斷該些第一邏輯單元是否為連續的邏輯位址,其中該些第一讀取指令的其中之一的執行順序在該些第一讀取指令的其中之另一的執行順序之前。
- 如申請專利範圍第1項所述的映射表載入方法,其中該緩衝記憶體具有多個緩存單元,且一個緩存單元的容量為一第一單位容量,其中該第一緩衝區包括的緩存單元的數量大於該第二緩衝區包括的緩存單元的數量,執行該第一邏輯-實體映射表預載操作的步驟更包括: 依序地將該邏輯-實體映射表之中對應每一個第一邏輯單元的映射資訊暫存至屬於該第一緩衝區的該些緩存單元, 其中,該些緩存單元記錄的映射資訊所映射的資料量是該第一單位容量。
- 如申請專利範圍第5項所述的映射表載入方法,其中以屬於該些第一邏輯單元的資料取代該第一緩衝區中該些第一邏輯單元的映射資訊的步驟包括: 將屬於該些第一邏輯單元且資料量是該第一單位容量的資料暫存至記錄有其映射資訊的緩存單元中,其中該第一單位容量小於一個實體抹除單元的容量。
- 一種映射表載入方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一個實體抹除單元具有多個實體程式化單元,其中一邏輯-實體映射表儲存於該可複寫式非揮發性記憶體模組中,該映射表載入方法包括: 配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元; 由具有一緩衝記憶體的一記憶體控制電路單元接收多個第一讀取指令,其中該些第一讀取指令包括多個第一邏輯單元; 根據一指令佇列中該些第一讀取指令的一第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之一,並從該邏輯-實體映射表之中讀取對應該些第一讀取指令的其中之一的第一映射資訊至該緩衝記憶體的一第二緩衝區中; 根據該指令佇列中該些第一讀取指令的該第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之另一; 根據該些第一讀取指令的其中之一的邏輯單元與該些第一讀取指令的其中之另一的邏輯單元,判斷該些第一邏輯單元是否為連續的邏輯位址;以及 當判斷該些第一邏輯單元非為連續的邏輯位址時,執行一第一邏輯-實體映射表預載操作,其中該第一邏輯-實體映射表預載操作包括根據該些第一讀取指令的該第一執行順序,從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的一第一緩衝區中,其中該第二緩衝區不同於該第一緩衝區。
- 如申請專利範圍第7項所述的映射表載入方法,其中由具有該緩衝記憶體的該記憶體控制電路單元接收該些第一讀取指令的步驟更包括: 將該些第一讀取指令儲存於該指令佇列中,其中該些第一讀取指令的其中之一的執行順序在該些第一讀取指令的其中之另一的執行順序之前。
- 如申請專利範圍第7項所述的映射表載入方法,其中執行該第一邏輯-實體映射表預載操作之後的步驟,包括: 發送對應該些第一讀取指令的一第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元的資料至該第一緩衝區,並以屬於該些第一邏輯單元的資料取代該第一緩衝區中該些第一邏輯單元的映射資訊。
- 如申請專利範圍第7項所述的映射表載入方法,其中該些第一讀取指令更包括至少一第二邏輯單元,該映射表載入方法更包括: 在從該些實體抹除單元中讀取屬於該至少一第二邏輯單元的資料至該第一緩衝區的期間,執行該第一邏輯-實體映射表預載操作,其中對應該至少一第二邏輯單元的第一讀取指令的一第二執行順序在對應該些第一邏輯單元的第一讀取指令的該第一執行順序之前。
- 如申請專利範圍第7項所述的映射表載入方法,更包括: 當該些第一邏輯單元為連續的邏輯位址時,執行一第二邏輯-實體映射表預載操作,其中該第二邏輯-實體映射表預載操作包括從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的該第二緩衝區中;以及 發送對應該第一讀取指令的該第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元中的資料至該第一緩衝區。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元包括一緩衝記憶體,並且用以配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元, 其中該記憶體控制電路單元更用以從該主機系統中接收多個第一讀取指令,其中該些第一讀取指令包括多個第一邏輯單元, 其中當該些第一邏輯單元非為連續的邏輯位址時,該記憶體控制電路單元更用以執行一第一邏輯-實體映射表預載操作,其中該第一邏輯-實體映射表預載操作包括根據該些第一讀取指令的一第一執行順序,從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的一第一緩衝區中, 其中該記憶體控制電路單元更用以發送對應該些第一讀取指令的一第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元的資料至該第一緩衝區,並以屬於該些第一邏輯單元的資料取代該第一緩衝區中該些第一邏輯單元的映射資訊。
- 如申請專利範圍第12項所述的記憶體儲存裝置,其中該些第一讀取指令更包括至少一第二邏輯單元, 其中該記憶體控制電路單元更用以在從該些實體抹除單元中讀取屬於該至少一第二邏輯單元的資料至該第一緩衝區的期間,執行該第一邏輯-實體映射表預載操作,其中對應該至少一第二邏輯單元的該些第一讀取指令的一第二執行順序在對應該些第一邏輯單元的該些第一讀取指令的該第一執行順序之前。
- 如申請專利範圍第12項所述的記憶體儲存裝置,其中當該些第一邏輯單元為連續的邏輯位址時,該記憶體控制電路單元更用以執行一第二邏輯-實體映射表預載操作,其中該第二邏輯-實體映射表預載操作包括從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的一第二緩衝區中,其中該第二緩衝區不同於該第一緩衝區, 其中該記憶體控制電路單元更用以發送對應該第一讀取指令的該第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元中的資料至該第一緩衝區。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中在接收該些第一讀取指令的操作中, 該記憶體控制電路單元更用以將該些第一讀取指令放入一指令佇列中,根據該指令佇列中該些第一讀取指令的該第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之一,並從該邏輯-實體映射表之中讀取對應該些第一讀取指令的其中之一的第一映射資訊至該緩衝記憶體的該第二緩衝區中; 該記憶體控制電路單元更用以根據該指令佇列中該些第一讀取指令的該第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之另一;以及 該記憶體控制電路單元更用以根據該些第一讀取指令的其中之一的邏輯單元與該些第一讀取指令的其中之另一的邏輯單元,判斷該些第一邏輯單元是否為連續的邏輯位址,其中該些第一讀取指令的其中之一的執行順序在該些第一讀取指令的其中之另一的執行順序之前。
- 如申請專利範圍第12項所述的記憶體儲存裝置,其中該緩衝記憶體具有多個緩存單元,且一個緩存單元的容量為一第一單位容量,其中該第一緩衝區包括的緩存單元的數量大於該第二緩衝區包括的緩存單元的數量, 其中在該第一邏輯-實體映射表預載操作中,該記憶體控制電路單元更用以依序地將該邏輯-實體映射表之中對應每一個第一邏輯單元的映射資訊暫存至屬於該第一緩衝區的緩存單元,其中該些緩存單元記錄的映射資訊的資料量是該第一單位容量。
- 如申請專利範圍第16項所述的記憶體儲存裝置,其中在以屬於該些第一邏輯單元的資料取代該第一緩衝區中該些第一邏輯單元的映射資訊的操作中,該記憶體控制電路單元更用以將屬於該些第一邏輯單元且資料量是該第一單位容量的資料暫存至記錄有其映射資訊的緩存單元中,其中該第一單位容量小於一個實體抹除單元的容量。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元包括一緩衝記憶體,並且用以配置多個邏輯單元,其中每一個邏輯單元對應至至少一個實體程式化單元, 其中該記憶體控制電路單元更用以從該主機系統中接收多個第一讀取指令,其中該些第一讀取指令包括多個第一邏輯單元, 其中該記憶體控制電路單元更用以根據一指令佇列中該些第一讀取指令的一第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之一,並從該邏輯-實體映射表之中讀取對應該些第一讀取指令的其中之一的第一映射資訊至該緩衝記憶體的一第二緩衝區中, 其中該記憶體控制電路單元更用以根據該指令佇列中該些第一讀取指令的該第一執行順序,從該指令佇列中讀取該些第一讀取指令的其中之另一, 其中該記憶體控制電路單元更用以根據該些第一讀取指令的其中之一的邏輯單元與該些第一讀取指令的其中之另一的邏輯單元,判斷該些第一邏輯單元是否為連續的邏輯位址, 其中當判斷該些第一邏輯單元非為連續的邏輯位址時,該記憶體控制電路單元更用以執行一第一邏輯-實體映射表預載操作,其中該第一邏輯-實體映射表預載操作包括根據該些第一讀取指令的該第一執行順序,從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的一第一緩衝區中,其中該第二緩衝區不同於該第一緩衝區。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中在由具有該緩衝記憶體的該記憶體控制電路單元接收該些第一讀取指令的操作中,該記憶體控制電路單元更用以將該些第一讀取指令儲存於該指令佇列中,其中該些第一讀取指令的其中之一的執行順序在該些第一讀取指令的其中之另一的執行順序之前。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中在執行該第一邏輯-實體映射表預載操作之後,該記憶體控制電路單元更用以發送對應該些第一讀取指令的一第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元的資料至該第一緩衝區,並以屬於該些第一邏輯單元的資料取代該第一緩衝區中該些第一邏輯單元的映射資訊。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該些第一讀取指令更包括至少一第二邏輯單元, 其中該記憶體控制電路單元更用以在從該些實體抹除單元中讀取屬於該至少一第二邏輯單元的資料至該第一緩衝區的期間,執行該第一邏輯-實體映射表預載操作,其中對應該至少一第二邏輯單元的該些第一讀取指令的一第二執行順序在對應該些第一邏輯單元的該些第一讀取指令的該第一執行順序之前。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中當該些第一邏輯單元為連續的邏輯位址時,該記憶體控制電路單元更用以執行一第二邏輯-實體映射表預載操作,其中該第二邏輯-實體映射表預載操作包括從該可複寫式非揮發性記憶體模組讀取該邏輯-實體映射表之中對應該些第一邏輯單元的映射資訊至該緩衝記憶體的該第二緩衝區中, 其中該記憶體控制電路單元更用以發送對應該第一讀取指令的該第一讀取指令序列,根據該些第一邏輯單元的映射資訊從該些實體抹除單元中讀取屬於該些第一邏輯單元中的資料至該第一緩衝區。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105133631A TWI603335B (zh) | 2016-10-19 | 2016-10-19 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105133631A TWI603335B (zh) | 2016-10-19 | 2016-10-19 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI603335B TWI603335B (zh) | 2017-10-21 |
TW201816795A true TW201816795A (zh) | 2018-05-01 |
Family
ID=61011027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105133631A TWI603335B (zh) | 2016-10-19 | 2016-10-19 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI603335B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI815161B (zh) * | 2021-05-17 | 2023-09-11 | 英華達股份有限公司 | 音訊播放控制方法、系統及電子設備 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021184141A1 (en) * | 2020-03-15 | 2021-09-23 | Micron Technology, Inc. | Pre-load techniques for improved sequential read |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711663B2 (en) * | 2001-11-15 | 2004-03-23 | Key Technology Corporation | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof |
KR100622349B1 (ko) * | 2004-08-04 | 2006-09-14 | 삼성전자주식회사 | 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. |
TWI480733B (zh) * | 2012-03-29 | 2015-04-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US9116824B2 (en) * | 2013-03-15 | 2015-08-25 | Sandisk Technologies Inc. | System and method to reduce read latency of a data storage device |
US9208074B2 (en) * | 2013-08-30 | 2015-12-08 | Silicon Motion, Inc. | Updating address mapping in sub-intervals in a flash memory data storage device |
US9383927B2 (en) * | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
TWM524546U (zh) * | 2016-01-29 | 2016-06-21 | 宏碁股份有限公司 | 電子裝置 |
-
2016
- 2016-10-19 TW TW105133631A patent/TWI603335B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI815161B (zh) * | 2021-05-17 | 2023-09-11 | 英華達股份有限公司 | 音訊播放控制方法、系統及電子設備 |
Also Published As
Publication number | Publication date |
---|---|
TWI603335B (zh) | 2017-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI679537B (zh) | 資料移動方法及儲存控制器 | |
US9952806B2 (en) | Mapping table loading method and memory storage apparatus | |
TWI557561B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI592799B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI607448B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN107818808B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
TWI650639B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI688953B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI705331B (zh) | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI523030B (zh) | 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TW202009709A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI603335B (zh) | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI688956B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI720400B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201723848A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI622044B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI823792B (zh) | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI780003B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI724427B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI825551B (zh) | 多通道記憶體儲存裝置、控制電路單元及其資料讀取方法 | |
TWI793966B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI738272B (zh) | 快閃記憶體之資料整理方法、快閃記憶體儲存裝置及快閃記憶體控制電路單元 |