TWI629591B - 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 - Google Patents
存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 Download PDFInfo
- Publication number
- TWI629591B TWI629591B TW106129523A TW106129523A TWI629591B TW I629591 B TWI629591 B TW I629591B TW 106129523 A TW106129523 A TW 106129523A TW 106129523 A TW106129523 A TW 106129523A TW I629591 B TWI629591 B TW I629591B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical address
- flash memory
- comparison table
- address
- physical address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical 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)
- Quality & Reliability (AREA)
- Memory System (AREA)
Abstract
本發明揭露一種存取一快閃記憶體模組的方法,其包含有:建立一實體位址至邏輯位址對照表;接收一讀取命令以要求讀取該快閃記憶體模組中的一資料,其中該讀取命令包含了一第一邏輯位址;若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該資料;以及使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
Description
本發明有關於快閃記憶體,尤指一種存取快閃記憶體模組的方法及相關的快閃記憶體控制器。
在快閃記憶體控制器操作的過程中通常會在本身的緩衝記憶體中儲存一實體位址至邏輯位址對照表或是至少一個邏輯位址至實體位址對照表,而在快閃記憶體控制器接收到一讀取命令時可以從上述對照表搜尋出所需的實體位址。然而,隨著區塊的大小增加及所包含的資料頁也跟著變多的情形下,上述對照表的大小也會大幅增加,因此搜尋出所需之實體位址的時間也會增加許多,因此影響到快閃記憶體控制器的效能。
因此,本發明的目的之一在於提出一種存取快閃記憶體模組的方法,其可以在快閃記憶體控制器接收到讀取命令時有效率地搜尋出所需的實體位址,以改善快閃記憶體控制器的效能。
在本發明的一個實施例中,揭露了一種存取一快閃記憶體模組的方法,其包含有:建立一實體位址至邏輯位址對照表,其包含了連續的實體位址及其對應之邏輯位址;接收一第一讀取命令以要求讀取該快閃記憶體模組中的一第一資料,其中該讀取命令包含了一第一邏輯位址;搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第一邏輯位址相關的資訊;若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該第一資料;以及使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
在本發明的另一個實施例中,揭露了一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有一唯讀記憶體、一微處理器以及一記憶體。該唯讀記憶體係用來儲存一程式碼;該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取;以及該記憶體係用以儲存一實體位址至邏輯位址對照表,其包含了連續的實體位址及其對應之邏輯位址;其中當該微處理器接收到一第一讀取命令以要求讀取該快閃記憶體模組中的一第一資料時,該微處理器搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第一讀取命令所包含之一第一邏輯位址相關的資訊;若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,該微處理器自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該第一資料;以及該微處理器使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
在本發明的另一個實施例中,揭露了一種電子裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器,其中該快閃記憶體控制器係用來存取該快閃記憶體模組,並建立一實體位址至邏輯位址對照表,其包含了連續的實體位址及其對應之邏輯位址;其中當該快閃記憶體控制器接收到一第一讀取命令以要求讀取該快閃記憶體模組中的一第一資料時,該快閃記憶體控制器搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第一讀取命令所包含之一第一邏輯位址相關的資訊;若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,該快閃記憶體控制器自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該第一資料;以及該快閃記憶體控制器使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
參考第1圖,第1圖為依據本發明一實施例之一種記憶裝置100的示意圖。記憶裝置100包含有一快閃記憶體(Flash Memory)模組120以及一快閃記憶體控制器110,且快閃記憶體控制器110用來存取快閃記憶體模組120。依據本實施例,快閃記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory, ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取(Access)。控制邏輯114包含了一編碼器132以及一解碼器134,其中編碼器132用來對寫入到快閃記憶體模組120中的資料進行編碼以產生對應的校驗碼(或稱,錯誤更正碼(Error Correction Code),ECC),而解碼器134用來將從快閃記憶體模組120所讀出的資料進行解碼。
於典型狀況下,快閃記憶體模組120包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之快閃記憶體控制器110)對快閃記憶體模組120進行抹除資料運作係以區塊為單位來進行。另外,一區塊可記錄特定數量的資料頁(Page),其中該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體模組120進行寫入資料之運作係以資料頁為單位來進行寫入。在本實施例中,快閃記憶體模組120為一立體NAND型快閃記憶體(3D NAND-type flash)。
實作上,透過微處理器112執行程式碼112C之快閃記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體模組120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)130溝通。緩衝記憶體116係以隨機存取記憶體(Random Access Memory, RAM)來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體(Static RAM, SRAM),但本發明不限於此。
在一實施例中,記憶裝置100可以是可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主裝置130為一可與記憶裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦…等等。而在另一實施例中,記憶裝置100可以是固態硬碟或符合UFS或EMMC規格之嵌入式(embedded)儲存裝置,以設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主裝置130可以是該電子裝置的一處理器。
參考第2圖,其為根據本發明一實施例之存取快閃記憶體模組120的流程圖。在步驟200中,流程開始。在步驟202中,快閃記憶體控制器110接收來自主裝置130的至少一寫入命令,以將多筆資料寫入至快閃記憶體模組120的一區塊中。在本實施例中,參考第3圖,快閃記憶體模組120包含了多個快閃記憶體晶片310、320,每一個快閃記憶體晶片包含了多個區塊B0~B_M,而每一個區塊包含了N個資料頁P0~PN。在以下的說明中,快閃記憶體控制器110係將資料循序寫入到快閃記憶體晶片310的區塊B_0,然而,需注意的是,上述的“區塊”在實作上也可以是包含了多個晶片之位於不同平面(plane)的多個區塊(一般稱為“超級區塊”),舉例來說,假設快閃記憶體晶片310、320均包含了兩個平面(plane),而區塊B_0及B_M是位於不同的平面,則快閃記憶體晶片310的區塊B_0、B_M以及快閃記憶體晶片320的區塊B_0、B_M可以構成一個超級區塊。
另一方面,在資料寫入至區塊B_0之前,微處理器112會建立一實體位址至邏輯位址對照表(以下稱P2L對照表)300,並儲存在緩衝記憶體116之中,其中P2L對照表300包含區塊B_0中的連續之資料頁的實體位址P0~PN,以及所對應之邏輯位址。詳細來說,快閃記憶體控制器110首先將來自主裝置130且具有邏輯位址LBA_5的資料寫入至資料頁P0中,接著,依序將來自主裝置130且具有邏輯位址LBA_500、LBA_350、LBA_6、LBA_7、LBA_100的資料分別寫入至資料頁P1~P5中。需注意的是,在本實施例中,邏輯位址的序號代表著其順序,而連續的序號代表著連續的邏輯位址。
在步驟204中,快閃記憶體控制器110接收到來自主裝置130的一第一讀取命令,以要求自快閃記憶體模組120中讀取具有一第一邏輯位址的資料。接著,在步驟206中,微處理器112判斷緩衝記憶體116中是否儲存有包含該第一邏輯位址的一邏輯位址至實體位址對照表(以下稱L2P對照表)。具體來說,快閃記憶體模組120中會儲存有多個L2P對照表,而每一個L2P對照表都包含了一邏輯位址範圍的映射資訊,例如第一個L2P對照表用來儲存LBA_0~LBA_255所對應到之實體位址(需注意,不一定每一個邏輯位址相對應的實體位址都存在)、第二個L2P對照表用來儲存LBA_256~LBA_511所對應到之實體位址、第三個L2P對照表用來儲存LBA_512~LBA_767所對應到之實體位址、…以此類推。因此,在上述例子中,若是該第一邏輯位址為LBA_20,則微處理器112便判斷用來儲存LBA_0~LBA_255的第一個L2P對照表是否剛好位於緩衝記憶體116中,若是,流程進入步驟208;若否,則流程進入步驟210。以下以該第一邏輯位址為LBA_20來進行說明。
在步驟208中,若是第一個L2P對照表儲存在緩衝記憶體116中,微處理器112便可以直接地從儲存在緩衝記憶體116中的第一個L2P對照表來搜尋出第一邏輯位址LBA_20所對應的實體位址,並根據所搜尋到的實體位址以自快閃記憶體模組120中找到儲存在該實體位址的資料。
在步驟210中,微處理器112搜尋P2L對照表300,並判斷第一邏輯位址LBA_20是否位於P2L對照表300中。若是,流程進入步驟214;若否,則流程進入步驟216。
在步驟214中,微處理器112可以直接地從儲存在緩衝記憶體116中的P2L對照表300中來搜尋出第一邏輯位址LBA_20所對應的實體位址,並根據所搜尋到的實體位址以自快閃記憶體模組120中找到儲存在該實體位址的資料。
在步驟216中,由於第一邏輯位址LBA_20的相關資訊並未儲存在緩衝記憶體116之中,故微處理器112根據第一邏輯位址LBA_20,以自快閃記憶體模組120中讀取包含第一邏輯位址LBA_20的L2P對照表,在本實施例中,微處理器112從快閃記憶體模組120中讀取用來儲存LBA_0~LBA_255的第一個L2P對照表,並儲存到緩衝記憶體116中。
在步驟218中,微處理器112自讀取第一個L2P對照表中讀取搜尋出第一邏輯位址LBA_20所對應的實體位址,並根據所搜尋到的實體位址以自快閃記憶體模組120中讀取儲存在該實體位址的資料。此外,此時微處理器116會使用P2L對照表300來更新第一個L2P對照表,以使得第一個L2P對照表中所儲存的都是最新的資訊。具體來說,參考第4圖,其為使用P2L對照表300來更新第一個L2P對照表400的示意圖。在第4圖中,由於P2L對照表300中有4筆對應至邏輯位址範圍LBA_0~LBA_255中的資訊,故微處理器112將第一個L2P對照表400中的邏輯位址LBA_5更新為對應到區塊B_0的資料頁P0、邏輯位址LBA_6更新為對應到區塊B_0的資料頁P3、邏輯位址LBA_7更新為對應到區塊B_0的資料頁P4、且邏輯位址LBA_100更新為對應到區塊B_0的資料頁P5。
需注意的是,當第一個L2P對照表從快閃記憶體模組120中讀取而尚未更新前,第一個L2P對照表可以並未包含邏輯位址LBA_5、LBA_6、LBA_7或是LBA_100的相對應實體位址,而此時微處理器將P2L對照表300中上述4筆資訊加入到第一個L2P對照表之中;或是L2P對照表已經包含邏輯位址LBA_5、LBA_6、LBA_7或是LBA_100的相對應實體位址,而此時微處理器將P2L對照表300中上述4筆資訊來更新第一個L2P對照表中邏輯位址LBA_5、LBA_6、LBA_7或是LBA_100所對應的實體位址。
參考以上的實施例所述,當微處理器112因應讀取命令而將L2P對照表從快閃記憶體模組120讀取至緩衝記憶體116時,微處理器112會立即地使用目前正儲存在緩衝記憶體116且具有最新資訊的P2L對照表300來更新所讀取的L2P對照表,以使得儲存在緩衝記憶體116中的L2P對照表具有最新的資訊。在一實施例中,上述更新操作係在該第一讀取命令的執行期間完成,以使得後續快閃記憶體控制器110在接收到其他的讀取命令時,可以在步驟208中取得正確的資訊。
舉例來說,假設流程再次回到步驟204,且快閃記憶體控制器110自主裝置130接收一第二讀取命令,以要求自快閃記憶體模組120中讀取具有一第二邏輯位址的資料。假設該第二邏輯位址為LBA_7,則流程會由步驟206進入到步驟208,亦即微處理器112可以直接地由儲存在緩衝記憶體116中的第一個L2P對照表400來取得對應至邏輯位址LBA_7的實體位址(即區塊B_0中的資料頁P4),而不需要在任何的P2L對照表中搜尋邏輯位址。由於從P2L對照表搜尋邏輯位址的搜尋時間會遠大於依據邏輯位置從L2P對照表取得實體位址的時間,因此以上實施例可以節省搜尋實體位址的時間,增進快閃記憶體控制器110的效能。
另一方面,假設該第二邏輯位址為LBA_260,且未包含在P2L對照表300時,流程會進入步驟216以自快閃記憶體模組120中讀取包含第二邏輯位址LBA_260的L2P對照表,例如,用來儲存LBA_256~LBA_511的第二個L2P對照表,並儲存到緩衝記憶體116中。接著,微處理器112自第二個L2P對照表中搜尋出第二邏輯位址LBA_260所對應的實體位址,並根據所搜尋到的實體位址自快閃記憶體模組120中讀取儲存在該實體位址的資料,並使用P2L對照表300來更新第二個L2P對照表,亦即,將第二個L2P對照表中的邏輯位址LBA_350更新為對應到區塊B_0的資料頁P2、以及將第二個L2P對照表中的邏輯位址LBA_500更新為對應到區塊B_0的資料頁P1,以使得第二個L2P對照表中所儲存的都是最新的資訊。
另外,若是快閃記憶體控制器110繼續對區塊B_0進行資料寫入,則由於所寫入的資料有可能是先前寫入資料的更新資料(亦即,具有相同的邏輯位址),因此,在一實施例中,為了避免後續的查找錯誤,一旦區塊B_0有資料寫入,先前因為讀取命令所載入的一或多個L2P對照表會被設為無效,亦即緩衝記憶體116中的L2P對照表會被標記為無效或是刪除;而在另一實施例中,一旦區塊B_0有資料寫入,快閃記憶體控制器110會根據新寫入之資料的邏輯位址及實體位址來更新先前因為讀取命令所載入的一或多個L2P對照表,以使得儲存在緩衝記憶體116中的L2P對照表仍然會具有最新的資訊。
此外,上述因為讀取命令而自快閃記憶體模組120所載入的L2P對照表僅是暫時使用,亦即當區塊B_0的資料頁都完成寫入的時候,微處理器112才會將P2L對照表300中的資料完整地轉換並儲存於相對應之一或多個L2P對照表,並且將P2L對照表300以及更新後之一或多個L2P對照表儲存於快閃記憶體模組120。
簡要歸納本發明,在本發明之存取快閃記憶體模組的方法中,當讀取命令所包含的邏輯位址並未存在於快閃記憶體控制器中的緩衝記憶體時,一L2P對照表會從快閃記憶體模組中被讀取,並儲存在快閃記憶體控制器中的緩衝記憶體後再使用P2L對照表進行更新,以使得該L2P對照表具有最新的內容。如上所述,透過本發明的更新方式,只要讀取命令所包含的邏輯位址所對應到的L2P對照表位於緩衝記憶體中,微處理器便可以直接地從這個L2P對照表取得正確的/最新的實體位址資訊,而不需要搜尋P2L對照表中是否有相對應的邏輯位址,因此可以加速快閃記憶體控制器的讀取速度,增進系統效能。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧記憶裝置
110‧‧‧快閃記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體模組
130‧‧‧主裝置
132‧‧‧編碼器
134‧‧‧解碼器
200~218‧‧‧步驟
300‧‧‧實體位址至邏輯位址對照表
310、320‧‧‧快閃記憶體晶片
400‧‧‧邏輯位址至實體位址對照表
B_0~B_M‧‧‧區塊
P0~PN‧‧‧資料頁
LBA_5、LBA_6、LBA_7、LBA_100、LBA_350、LBA_500‧‧‧邏輯位址
110‧‧‧快閃記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體模組
130‧‧‧主裝置
132‧‧‧編碼器
134‧‧‧解碼器
200~218‧‧‧步驟
300‧‧‧實體位址至邏輯位址對照表
310、320‧‧‧快閃記憶體晶片
400‧‧‧邏輯位址至實體位址對照表
B_0~B_M‧‧‧區塊
P0~PN‧‧‧資料頁
LBA_5、LBA_6、LBA_7、LBA_100、LBA_350、LBA_500‧‧‧邏輯位址
第1圖為依據本發明一實施例之一種記憶裝置的示意圖。 第2圖為根據本發明一實施例之存取快閃記憶體模組的流程圖。 第3圖為實體位址至邏輯位址對照表的示意圖。 第4圖為本發明一實施例之使用實體位址至邏輯位址對照表來更新邏輯位址至實體位址對照表的示意圖。
Claims (18)
- 一種存取一快閃記憶體模組的方法,包含有: 建立一實體位址至邏輯位址對照表,其包含了連續的實體位址及其對應之邏輯位址; 接收一第一讀取命令以要求讀取該快閃記憶體模組中的一第一資料,其中該讀取命令包含了一第一邏輯位址; 搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第一邏輯位址相關的資訊; 若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該第一資料;以及 使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
- 如申請專利範圍第1項所述之方法,其中該邏輯位址至實體位址對照表包含了一邏輯位址範圍,且使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容的步驟包含有: 使用該實體位址至邏輯位址對照表中對應到該邏輯位址範圍中的至少一實體位址,來更新該邏輯位址至實體位址對照表。
- 如申請專利範圍第1項所述之方法,其中使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容的步驟係在該第一讀取命令的執行期間完成。
- 如申請專利範圍第1項所述之方法,其中該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含多個區塊,每一個區塊包含了多個資料頁,且該實體位址至邏輯位址對照表以及該邏輯位址至實體位址對照表係以資料頁為單位。
- 如申請專利範圍第1項所述之方法,其中該邏輯位址至實體位址對照表包含了一邏輯位址範圍,且該方法另包含有: 接收一第二讀取命令以要求讀取該快閃記憶體模組中的一第二資料,其中該讀取命令包含了一第二邏輯位址;以及 若是該第二邏輯位址位於該邏輯位址範圍,則在不搜尋該實體位址至邏輯位址對照表的情形下,直接至該邏輯位址至實體位址對照表搜尋對應於該第二邏輯位址的一第二實體位址,以供自該快閃記憶體模組中讀取該第二資料。
- 如申請專利範圍第5項所述之方法,另包含有: 若是該第二邏輯位址沒有位於該邏輯位址範圍,搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第二邏輯位址相關的資訊; 若是該實體位址至邏輯位址對照表不具有與該第二邏輯位址相關的資訊,自該快閃記憶體模組中讀取另一邏輯位址至實體位址對照表,並自該另一邏輯位址至實體位址對照表中搜尋出與該第二實體位址,以供自該快閃記憶體模組中讀取該第二資料;以及 使用該實體位址至邏輯位址對照表來更新該另一邏輯位址至實體位址對照表中的內容。
- 一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有: 一唯讀記憶體,用來儲存一程式碼; 一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;以及 一記憶體,用以儲存一實體位址至邏輯位址對照表,其包含了連續的實體位址及其對應之邏輯位址; 其中當該微處理器接收到一第一讀取命令以要求讀取該快閃記憶體模組中的一第一資料時,該微處理器搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第一讀取命令所包含之一第一邏輯位址相關的資訊;若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,該微處理器自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該第一資料;以及該微處理器使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
- 如申請專利範圍第7項所述之快閃記憶體控制器,其中該邏輯位址至實體位址對照表包含了一邏輯位址範圍,且該微處理器使用該實體位址至邏輯位址對照表中對應到該邏輯位址範圍中的至少一實體位址,來更新該邏輯位址至實體位址對照表。
- 如申請專利範圍第7項所述之快閃記憶體控制器,其中該微處理器使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容的操作係在該第一讀取命令的執行期間完成。
- 如申請專利範圍第7項所述之快閃記憶體控制器,其中該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含多個區塊,每一個區塊包含了多個資料頁,且該微處理器使用該實體位址至邏輯位址對照表以及該邏輯位址至實體位址對照表係以資料頁為單位。
- 如申請專利範圍第7項所述之快閃記憶體控制器,其中該邏輯位址至實體位址對照表包含了一邏輯位址範圍,該接收一第二讀取命令以要求讀取該快閃記憶體模組中的一第二資料,以及若是該第二讀取命令所包含的一第二邏輯位址位於該邏輯位址範圍,則該微處理器在不搜尋該實體位址至邏輯位址對照表的情形下,直接至該邏輯位址至實體位址對照表搜尋對應於該第二邏輯位址的一第二實體位址,以供自該快閃記憶體模組中讀取該第二資料。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中若是該第二邏輯位址沒有位於該邏輯位址範圍,該微處理器搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第二邏輯位址相關的資訊;以及若是該實體位址至邏輯位址對照表不具有與該第二邏輯位址相關的資訊,該微處理器自該快閃記憶體模組中讀取另一邏輯位址至實體位址對照表,並自該另一邏輯位址至實體位址對照表中搜尋出與該第二實體位址,以供自該快閃記憶體模組中讀取該第二資料;以及該微處理器使用該實體位址至邏輯位址對照表來更新該另一邏輯位址至實體位址對照表中的內容。
- 一種電子裝置,包含有: 一快閃記憶體模組;以及 一快閃記憶體控制器,用來存取該快閃記憶體模組,並建立一實體位址至邏輯位址對照表,其包含了連續的實體位址及其對應之邏輯位址; 其中當該快閃記憶體控制器接收到一第一讀取命令以要求讀取該快閃記憶體模組中的一第一資料時,該快閃記憶體控制器搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第一讀取命令所包含之一第一邏輯位址相關的資訊;若是該實體位址至邏輯位址對照表不具有與該第一邏輯位址相關的資訊,該快閃記憶體控制器自該快閃記憶體模組中讀取一邏輯位址至實體位址對照表,並自該邏輯位址至實體位址對照表中搜尋出與該第一邏輯位址相對應的一第一實體位址,以供自該快閃記憶體模組中讀取該第一資料;以及該快閃記憶體控制器使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容。
- 如申請專利範圍第13項所述之電子裝置,其中該邏輯位址至實體位址對照表包含了一邏輯位址範圍,且該快閃記憶體控制器使用該實體位址至邏輯位址對照表中對應到該邏輯位址範圍中的至少一實體位址,來更新該邏輯位址至實體位址對照表。
- 如申請專利範圍第13項所述之電子裝置,其中該快閃記憶體控制器使用該實體位址至邏輯位址對照表來更新該邏輯位址至實體位址對照表中的內容的操作係在該第一讀取命令的執行期間完成。
- 如申請專利範圍第13項所述之電子裝置,其中該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含多個區塊,每一個區塊包含了多個資料頁,且該快閃記憶體控制器使用該實體位址至邏輯位址對照表以及該邏輯位址至實體位址對照表係以資料頁為單位。
- 如申請專利範圍第13項所述之電子裝置,其中該邏輯位址至實體位址對照表包含了一邏輯位址範圍,該接收一第二讀取命令以要求讀取該快閃記憶體模組中的一第二資料,以及若是該第二讀取命令所包含的一第二邏輯位址位於該邏輯位址範圍,則該快閃記憶體控制器在不搜尋該實體位址至邏輯位址對照表的情形下,直接至該邏輯位址至實體位址對照表搜尋對應於該第二邏輯位址的一第二實體位址,以供自該快閃記憶體模組中讀取該第二資料。
- 如申請專利範圍第17項所述之電子裝置,其中若是該第二邏輯位址沒有位於該邏輯位址範圍,該快閃記憶體控制器搜尋該實體位址至邏輯位址對照表以判斷是否包含與該第二邏輯位址相關的資訊;以及若是該實體位址至邏輯位址對照表不具有與該第二邏輯位址相關的資訊,該快閃記憶體控制器自該快閃記憶體模組中讀取另一邏輯位址至實體位址對照表,並自該另一邏輯位址至實體位址對照表中搜尋出與該第二實體位址,以供自該快閃記憶體模組中讀取該第二資料;以及該快閃記憶體控制器使用該實體位址至邏輯位址對照表來更新該另一邏輯位址至實體位址對照表中的內容。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106129523A TWI629591B (zh) | 2017-08-30 | 2017-08-30 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
| US15/869,003 US10606761B2 (en) | 2017-08-30 | 2018-01-11 | Method for accessing flash memory module and associated flash memory controller and electronic device |
| CN201810663142.4A CN109426619B (zh) | 2017-08-30 | 2018-06-25 | 访问快闪存储器模块的方法及相关闪存控制器与电子装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106129523A TWI629591B (zh) | 2017-08-30 | 2017-08-30 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI629591B true TWI629591B (zh) | 2018-07-11 |
| TW201913379A TW201913379A (zh) | 2019-04-01 |
Family
ID=63640662
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106129523A TWI629591B (zh) | 2017-08-30 | 2017-08-30 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10606761B2 (zh) |
| CN (1) | CN109426619B (zh) |
| TW (1) | TWI629591B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110888588A (zh) * | 2018-09-07 | 2020-03-17 | 合肥沛睿微电子股份有限公司 | 快闪记忆体控制器及相关的访问方法及电子装置 |
| CN110941571A (zh) * | 2018-09-05 | 2020-03-31 | 合肥沛睿微电子股份有限公司 | 闪存控制器及相关的存取方法及电子装置 |
| TWI698874B (zh) * | 2018-08-31 | 2020-07-11 | 大陸商合肥沛睿微電子股份有限公司 | 快閃記憶體控制器及相關的存取方法及電子裝置 |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102395538B1 (ko) * | 2017-04-28 | 2022-05-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| KR102434343B1 (ko) * | 2018-04-23 | 2022-08-22 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
| US11074172B2 (en) * | 2019-01-10 | 2021-07-27 | Intel Corporation | On-device-copy for hybrid SSD with second persistent storage media update of logical block address for first persistent storage media data |
| US11210093B2 (en) * | 2019-04-08 | 2021-12-28 | Micron Technology, Inc. | Large data read techniques |
| TWI726524B (zh) * | 2019-12-09 | 2021-05-01 | 新唐科技股份有限公司 | 電子處理裝置及記憶體控制方法 |
| CN113641597B (zh) * | 2020-04-27 | 2024-07-12 | 慧荣科技股份有限公司 | 管理数据存储的方法及装置以及计算机可读取存储介质 |
| TWI747351B (zh) * | 2020-05-20 | 2021-11-21 | 慧榮科技股份有限公司 | 加密和解密實體位址資訊的方法及裝置 |
| CN113900582B (zh) * | 2020-06-22 | 2024-08-16 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
| CN113946277B (zh) * | 2020-07-16 | 2024-10-11 | 慧荣科技股份有限公司 | 主机效能加速模式的数据读取方法及装置 |
| CN112463052B (zh) * | 2020-11-26 | 2022-07-26 | 苏州浪潮智能科技有限公司 | 减少固态硬盘中ddr容量需求的方法、系统、设备及介质 |
| CN113625953B (zh) * | 2021-06-30 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
| CN114880251B (zh) * | 2022-07-12 | 2023-08-29 | 荣耀终端有限公司 | 存储单元的访问方法、访问装置和终端设备 |
| CN115079957B (zh) * | 2022-07-20 | 2023-08-04 | 阿里巴巴(中国)有限公司 | 请求处理方法、装置、控制器、设备及存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201706847A (zh) * | 2015-08-04 | 2017-02-16 | 群聯電子股份有限公司 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
| TWI579693B (zh) * | 2016-04-29 | 2017-04-21 | 群聯電子股份有限公司 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
| TWI587132B (zh) * | 2016-01-21 | 2017-06-11 | 瑞昱半導體股份有限公司 | 記憶體裝置以及映射表保證方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102023927A (zh) * | 2009-09-22 | 2011-04-20 | 点序科技股份有限公司 | 闪存控制装置及其存取方法 |
| KR20160024546A (ko) * | 2014-08-26 | 2016-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| KR20160070920A (ko) * | 2014-12-10 | 2016-06-21 | 에스케이하이닉스 주식회사 | 맵 테이블을 갖는 컨트롤러 및 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
| KR20160104387A (ko) * | 2015-02-26 | 2016-09-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| TWI570559B (zh) * | 2015-12-28 | 2017-02-11 | 點序科技股份有限公司 | 快閃記憶體及其存取方法 |
| KR102655347B1 (ko) * | 2016-07-04 | 2024-04-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
-
2017
- 2017-08-30 TW TW106129523A patent/TWI629591B/zh active
-
2018
- 2018-01-11 US US15/869,003 patent/US10606761B2/en active Active
- 2018-06-25 CN CN201810663142.4A patent/CN109426619B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201706847A (zh) * | 2015-08-04 | 2017-02-16 | 群聯電子股份有限公司 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
| TWI587132B (zh) * | 2016-01-21 | 2017-06-11 | 瑞昱半導體股份有限公司 | 記憶體裝置以及映射表保證方法 |
| US20170212796A1 (en) * | 2016-01-21 | 2017-07-27 | Realtek Semiconductor Corporation | Memory device and method for guaranteeing a mapping table |
| TWI579693B (zh) * | 2016-04-29 | 2017-04-21 | 群聯電子股份有限公司 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI698874B (zh) * | 2018-08-31 | 2020-07-11 | 大陸商合肥沛睿微電子股份有限公司 | 快閃記憶體控制器及相關的存取方法及電子裝置 |
| US11055214B2 (en) | 2018-08-31 | 2021-07-06 | RayMX Microelectronics, Corp. | Memory controller and method having predictive buffering of address mapping table |
| CN110941571A (zh) * | 2018-09-05 | 2020-03-31 | 合肥沛睿微电子股份有限公司 | 闪存控制器及相关的存取方法及电子装置 |
| CN110888588A (zh) * | 2018-09-07 | 2020-03-17 | 合肥沛睿微电子股份有限公司 | 快闪记忆体控制器及相关的访问方法及电子装置 |
| CN110888588B (zh) * | 2018-09-07 | 2023-09-01 | 合肥沛睿微电子股份有限公司 | 快闪记忆体控制器及相关的访问方法及电子装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109426619B (zh) | 2022-10-11 |
| CN109426619A (zh) | 2019-03-05 |
| TW201913379A (zh) | 2019-04-01 |
| US10606761B2 (en) | 2020-03-31 |
| US20190065394A1 (en) | 2019-02-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI629591B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
| TWI661303B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
| TWI692690B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
| TWI650644B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
| TWI659304B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
| TWI749279B (zh) | 資料儲存裝置與資料處理方法 | |
| TW201843590A (zh) | 資料儲存裝置以及其操作方法 | |
| CN111966281B (zh) | 数据储存装置与数据处理方法 | |
| CN113900582A (zh) | 数据处理方法及对应的数据储存装置 | |
| US10817624B2 (en) | Memory system and storage device capable of permanently deleting data stored in a non-volatile memory | |
| CN111026325B (zh) | 闪存控制器、闪存控制器的控制方法及相关的电子装置 | |
| JP2009123191A (ja) | Norインターフェイスフラッシュメモリ装置及びそのアクセス方法 | |
| US9329994B2 (en) | Memory system | |
| TWI852599B (zh) | 記憶裝置、快閃記憶體控制器及其控制方法 | |
| TWI657339B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 | |
| TWI653630B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
| TWI670598B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
| TWI908450B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器及相關的記憶裝置 |