TWI650644B - 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 - Google Patents

管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 Download PDF

Info

Publication number
TWI650644B
TWI650644B TW107100464A TW107100464A TWI650644B TW I650644 B TWI650644 B TW I650644B TW 107100464 A TW107100464 A TW 107100464A TW 107100464 A TW107100464 A TW 107100464A TW I650644 B TWI650644 B TW I650644B
Authority
TW
Taiwan
Prior art keywords
physical address
mapping table
address
flash memory
logical
Prior art date
Application number
TW107100464A
Other languages
English (en)
Other versions
TW201931132A (zh
Inventor
林建成
梁嘉旂
李介豪
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW107100464A priority Critical patent/TWI650644B/zh
Priority to CN201810595418.XA priority patent/CN110008136A/zh
Priority to US16/022,714 priority patent/US20190213137A1/en
Application granted granted Critical
Publication of TWI650644B publication Critical patent/TWI650644B/zh
Publication of TW201931132A publication Critical patent/TW201931132A/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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
    • 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/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本發明揭露一種管理一快閃記憶體模組的方法,其包含有以下步驟:自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表;對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料。

Description

管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
本發明係有關於快閃記憶體,尤指一種管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置。
在當一快閃記憶體控制器需要讀取一快閃記憶體模組中的資料時,該快閃記憶體控制器會需要搜尋一或多個邏輯位址至實體位址映射表(logical address to physical address mapping table,以下簡稱為L2P映射表)以找到所需資料的實體位址。為了加速找尋到正確的邏輯位址至實體位址映射表以及搜尋出實體位址,快閃記憶體控制器內會具有一緩衝記憶體以暫時存放多個L2P映射表,然而,由於該緩衝記憶體的空間有限,因此無法存取太多的L2P映射表,且若是針對一些具有較小位址管理單位的應用,例如以4KB為單位來記錄邏輯位址及實體位址,則更會嚴重限縮能夠存放在該緩衝記憶體中之L2P映射表的數量,造成該快閃記憶體控制器需要常常地自外部元件(例如,動態隨機存取記憶體或是該快閃記憶體模組)讀取所需的L2P映射表,降低了讀取效率。
因此,本發明的目的之一在於設計一種管理快閃記憶體模組的方法,其可以在有限的緩衝記憶體容量下改善讀取效率來解決先前技術中的問題。
在本發明的一個實施例中,揭露了一種管理一快閃記憶體模組的方法,其包含有以下步驟:自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表;對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料。
在本發明的另一個實施例中,揭露了一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有一唯讀記憶體以及一微處理器。該唯讀記憶體係用來儲存一程式碼,以及該微處理器係用來執行該程式碼以控制對該快閃記憶體模組之存取。在該快閃記憶體控制器的操作中,該微處理器自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表,且對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,該微處理器根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料。
在本發明的另一個實施例中,揭露了一種電子裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器。在該電子裝置的操作中,該快閃記憶體控制器自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表,且對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,該快閃記憶體控制器根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料。
第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可以是固態硬碟或符合通用快閃記憶體儲存(Universal Flash Storage,UFS)或嵌入式多媒體記憶卡(Embedded Multi Media Card,EMMC)規格之嵌入式儲存裝置,以設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主裝置130可以是該電子裝置的一處理器。
第2圖為根據本發明一第一實施例之存取快閃記憶體模組120的方法的流程圖。參考第2圖,在步驟200中,流程開始且記憶裝置100處於上電狀態。在步驟202中,快閃記憶體控制器110自主裝置接收一讀取命令,以要求自快閃記憶體模組120中讀取具有一特定邏輯位址的資料。在步驟204中,微處理器112判斷緩衝記憶體116中是否具有該特定邏輯位址的相關資訊,若是則流程進入步驟206,若否則流程進入步驟210。在此先假設目前緩衝記憶體116尚未儲存該特定邏輯位址的相關資訊,故以下先以步驟210開始說明。在步驟210中,快閃記憶體控制器110根據該特定邏輯位址以自一外部元件讀取一L2P映射表,其中該外部元件可以是快閃記憶體模組120或是動態隨機存取記憶體。舉例來說,一般而言快閃記憶體模組120中會儲存了多個L2P映射表,而每一個L2P映射表包含了多個連續的邏輯位址及/或相對應的實體位址(需注意的是,不一定每一個邏輯位址都有對應的實體位址),例如第一個L2P映射表包含了邏輯位址LBA0~LBA255、第二個L2P映射表包含了邏輯位址LBA256~LBA511、第三個L2P映射表包含了邏輯位址LBA512~LBA767、…以此類推。在本實施例中,假設該讀取命令所包含的該特定邏輯位址為LBA2,則快閃記憶體控制器110便會自該外部元件中讀取第一個L2P映射表,並將所讀取的L2P映射表暫存在緩衝記憶體116中。第3圖所示為根據本發明一實施例之L2P映射表300的示意圖,其中L2P映射表300記錄了連續的邏輯位址LBA0~LBA255以及對應的實體位址,其中實體位址包含了快閃記憶體模組120中的區塊編號及其中的資料頁編號。
在步驟212中,微處理器112對所讀取的L2P映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值。參考第4圖,其為根據本發明一實施例之壓縮後映射表400的示意圖,其中壓縮後映射表400是根據第3圖所示的L2P映射表300而得到的。在第4圖中,基準實體位址可以是L2P映射表300中第一個邏輯位址LBA0的實體位址,因此在本實施例中基準實體位址為第2區塊的第4個資料頁,此外,壓縮後映射表400記錄了邏輯位址LBA0~LBA255及相對應的序列位元,其中該序列位元指的是邏輯位址所對應到的實體位址是否為該基準實體位址加上一偏移值,此也代表著所對應的邏輯位址在當初資料寫入的時候是否與邏輯位址LBA0的資料是連續資料。具體來說,在第3圖所示的L2P映射表300中,可以看的出來邏輯位址LBA0~LBA7的資料在最初應該是分別寫入到第2區塊的第4~11個資料頁中,只是後來LBA3及LBA7的資料有被更新而被另外寫入到其他的實體位址。因此,壓縮後映射表400可以將LBA0~LBA2及LBA4~LBA6的序列位元設為“1”,並將LBA3及LBA7的序列位元設為“0”,在本實施例中每一個邏輯位址所對應的偏移值即為其序列編號,亦即邏輯區塊LBA0的實體位址(第2區塊的第4個資料頁)可以是基準實體位址(第2區塊的第4個資料頁)加上偏移值(0個資料頁)、邏輯區塊LBA1的實體位址(第2區塊的第5個資料頁)可以是基準實體位址(第2區塊的第4個資料頁)加上偏移值(1個資料頁)、邏輯區塊LBA2的實體位址(第2區塊的第6個資料頁)可以是基準實體位址(第2區塊的第4個資料頁)加上偏移值(2個資料頁)、邏輯區塊LBA4的實體位址(第2區塊的第8個資料頁)可以是基準實體位址(第2區塊的第4個資料頁)加上偏移值(4個資料頁)、邏輯區塊LBA5的實體位址(第2區塊的第9個資料頁)可以是基準實體位址(第2區塊的第4個資料頁)加上偏移值(5個資料頁)、邏輯區塊LBA6的實體位址(第2區塊的第10個資料頁)可以是基準實體位址(第2區塊的第4個資料頁)加上偏移值(6個資料頁)、…、以此類推。
在第4圖所示的壓縮後映射表400中,其使用了單一位元來記錄每一個邏輯位址的資料是否是連續資料,亦即記錄每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值,因此,壓縮後映射表400僅具有很小的容量,約為L2P映射表300的(1/32)。此外,壓縮後映射表400儲存在緩衝記憶體116中。
接著,在步驟214,微處理器112可以使用壓縮後映射表400或是L2P映射表300來決定出該讀取命令之該特定邏輯位址所對應的實體位址。假設該特定邏輯位址為LBA2,則由於壓縮後映射表400中邏輯位址LBA2所對應的序列位元為1,則微處理器112可以簡單地將基準實體位址(第2區塊的第4個資料頁)加上邏輯位址LBA2的對應偏移值(2個資料頁),以快速得到邏輯位址LBA2的實體位址(第2區塊的第6個資料頁),而不需要對L2P映射表300進行搜尋,以增進快閃記憶體控制器110的效率。
在步驟216中,微處理器112使用所決定出的實體位址以自快閃記憶體模組120中讀取資料,並將所讀取的資料回傳給主裝置130。之後流程回到步驟202。
接著,假設快閃記憶體控制器110自主裝置接收另一讀取命令,以要求自快閃記憶體模組120中讀取具有邏輯位址LBA6、LBA7的資料,則由於目前的緩衝記憶體116中已經有了邏輯位址LBA6、LBA7的相關資訊(亦即,L2P映射表300與壓縮後映射表400),故流程會由步驟204進入到步驟206。在步驟206中,微處理器112會先參考壓縮後映射表400來決定出邏輯位址LBA6、LBA7所對應的實體位址,而若是無法透過壓縮後映射表400來決定出實體位址的情形下,則會再透過L2P映射表300來進行。具體來說,由於壓縮後映射表400中記錄了邏輯位址LBA6所對應的序列位元為1,故微處理器112可以簡單地將基準實體位址(第2區塊的第4個資料頁)加上邏輯位址LBA6的對應偏移值(6個資料頁),以快速得到邏輯位址LBA6的實體位址(第2區塊的第10個資料頁);另外,由於壓縮後映射表400中記錄了邏輯位址LBA7所對應的序列位元為0,故微處理器則需要自L2P映射表300中搜尋出邏輯位址LBA7所對應的實體位址。
在步驟208中,微處理器112使用所決定出的實體位址以自快閃記憶體模組120中讀取資料,並將所讀取的資料回傳給主裝置130。之後流程回到步驟202。
在以上第2~4圖的實施例中,透過建立一容量很小的壓縮後映射表400,針對讀取命令所要求讀取的資料在寫入時是以連續資料的狀態寫入時,可以快速地得到所需的實體位址資訊,以增進快閃記憶體控制器110的效率。
第5圖為根據本發明一第二實施例之存取快閃記憶體模組120的方法的流程圖。參考第5圖,在步驟500中,流程開始且記憶裝置100處於上電狀態。在步驟502中,快閃記憶體控制器110自主裝置接收一讀取命令,以要求自快閃記憶體模組120中讀取具有一特定邏輯位址的資料。在步驟504中,微處理器112判斷緩衝記憶體116中是否具有該特定邏輯位址的相關資訊,若是則流程進入步驟506,若否則流程進入步驟510。在此先假設目前緩衝記憶體116尚未儲存該特定邏輯位址的相關資訊,故以下先以步驟510開始說明。在步驟510中,快閃記憶體控制器110根據該特定邏輯位址以自一外部元件讀取一L2P映射表,並將所讀取的L2P映射表暫存在緩衝記憶體116中,其中的L2P映射表同樣可以參考第3圖所示的L2P映射表300。
在步驟512中,微處理器112對所讀取的L2P映射表進行壓縮以產生一壓縮後映射表及一隨機資料映射表。
其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值,且該壓縮後映射表可以為第4圖所示的壓縮後映射表400,故相關細節不再贅述。關於該隨機資料映射表,其是用來記錄所對應到的實體位址並非是該基準實體位址加上該偏移值的每一個邏輯位址及對應的實體位址,具體來說,第6圖繪示了根據L2P映射表300所產生之一隨機資料映射表600的示意圖,其僅僅記錄了LBA3及LBA7的實體位址(在假設LBA8~LBA255也是連續資料的情形下)。
在本實施例中,壓縮後映射表400及隨機資料映射表600係儲存至緩衝記憶體116中,而由於壓縮後映射表400及隨機資料映射表600可以完全取代L2P映射表300的功能,故在成功建立出壓縮後映射表400及隨機資料映射表600之後便可以將L2P映射表300自緩衝記憶體116中移除,以釋放緩衝記憶體116的空間。
接著,在步驟514,微處理器112可以使用壓縮後映射表400或是L2P映射表300來決定出該讀取命令之該特定邏輯位址所對應的實體位址。假設該特定邏輯位址為LBA1,則由於壓縮後映射表400中邏輯位址LBA1所對應的序列位元為1,則微處理器112可以簡單地將基準實體位址(第2區塊的第4個資料頁)加上邏輯位址LBA2的對應偏移值(1個資料頁),以快速得到邏輯位址LBA1的實體位址(第2區塊的第5個資料頁);此外,假設該特定邏輯位址為LBA3,則微處理器112可以自隨機資料映射表600中搜尋出邏輯位址LBA3所對應的實體位址,而由於隨機資料映射表600中的資料量較少,故微處理器112花在搜尋上的時間也可大幅縮短。
在步驟516中,微處理器112使用所決定出的實體位址以自快閃記憶體模組120中讀取資料,並將所讀取的資料回傳給主裝置130。之後流程回到步驟502。
接著,假設快閃記憶體控制器110自主裝置接收另一讀取命令,以要求自快閃記憶體模組120中讀取具有邏輯位址LBA6、LBA7的資料,則由於目前的緩衝記憶體116中已經有了邏輯位址LBA6、LBA7的相關資訊(亦即,壓縮後映射表400及隨機資料映射表600),故流程會由步驟504進入到步驟506。由於步驟506、508的操作分別相同於步驟514、516,故細節不再贅述。
在以上第5圖的實施例中,除了透過建立容量很小的壓縮後映射表400以增進快閃記憶體控制器110的效率之外,更另外建立了隨機資料映射表600以供無法透過壓縮後映射表400決定出實體位址時來使用,此外,由於在一般檔案系統中,連續資料大約佔了80%的資料量,而隨機資料大約是20%,故壓縮後映射表400與隨機資料映射表600兩者加起來的容量遠小於L2P映射表的容量,因此在這兩者可以完全取代L2P映射表功能的情形下,可以讓緩衝記憶體116有更多的空間來儲存其他資訊。
另一方面,既然壓縮後映射表400與隨機資料映射表600具有很小的容量,故緩衝記憶體116上便可以常駐許多由不同L2P映射表所產生的壓縮後映射表400與隨機資料映射表600,以使得接收到讀取命令時可以快速地直接由緩衝記憶體116中取得所需的實體位址,加快讀取效率。
簡要歸納本發明,在本發明之管理快閃記憶體模組的方法中,透過建立壓縮後映射表與隨機資料映射表,可以在有限的緩衝記憶體容量下使得快閃記憶體控制器中暫存許多L2P映射表的內容,以更增加讀取效率來解決先前技術中的問題。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧記憶裝置
110‧‧‧快閃記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體模組
130‧‧‧主裝置
132‧‧‧編碼器
134‧‧‧解碼器
200~216、500~516‧‧‧步驟
300‧‧‧邏輯位址至實體位址映射表
400‧‧‧壓縮後映射表
600‧‧‧隨機資料映射表
第1圖為依據本發明一實施例之一種記憶裝置的示意圖。 第2圖為根據本發明一第一實施例之存取快閃記憶體模組的方法的流程圖。 第3圖所示為根據本發明一實施例之L2P映射表的示意圖。 第4圖為根據本發明一實施例之壓縮後映射表的示意圖。 第5圖為根據本發明一第二實施例之存取快閃記憶體模組的方法的流程圖。 第6圖為根據本發明一實施例之隨機資料映射表的示意圖。

Claims (15)

  1. 一種管理一快閃記憶體模組的方法,包含有:自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表;對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料;其中該邏輯位址至實體位址映射表以及該壓縮後映射表均包含了多個連續的邏輯位址,且針對每一個邏輯位址,該壓縮後映射表使用一位元來記錄該邏輯位址所對應到的實體位址是否為該基準實體位址加上該對應偏移值;以及針對每一個邏輯位址,當所對應的該位元具有一第一邏輯值時,表示該邏輯位址所對應到的實體位址為該基準實體位址加上該對應偏移值;以及當所對應的該位元具有一第二邏輯值時,表示該邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值。
  2. 如申請專利範圍第1項所述之方法,其中根據該壓縮後映射表來決定該特定邏輯位址所對應到的該特定實體位址的步驟包含有:若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址是該基準實體位址加上該對應偏移值,則直接將該基準實體位址加上該對應的偏移值以決定出該特定實體位址;以及若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值,則根據該邏輯位址至實體位址映射表以決定出該特定實體位址。
  3. 一種管理一快閃記憶體模組的方法,包含有:自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表;對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料;以及建立一隨機資料映射表,其記錄了所對應到的實體位址並非是該基準實體位址加上該對應偏移值的每一個邏輯位址及對應的實體位址。
  4. 如申請專利範圍第3項所述之方法,其中該邏輯位址至實體位址映射表以及該壓縮後映射表均包含了多個連續的邏輯位址,且針對每一個邏輯位址,該壓縮後映射表使用一位元來記錄該邏輯位址所對應到的實體位址是否為該基準實體位址加上該對應偏移值;且當所對應的該位元具有一第一邏輯值時,表示該邏輯位址所對應到的實體位址為該基準實體位址加上該對應偏移值;以及當所對應的該位元具有一第二邏輯值時,表示該邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值。
  5. 如申請專利範圍第4項所述之方法,其中該隨機資料映射表所記錄之每一個邏輯位址在該壓縮後映射表中所對應到的該位元係具有該第二邏輯值。
  6. 如申請專利範圍第3項所述之方法,其中根據該壓縮後映射表來決定該特定邏輯位址所對應到的該特定實體位址的步驟包含有:若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址是該基準實體位址加上該對應偏移值,則直接將該基準實體位址加上該對應的偏移值以決定出該特定實體位址;以及若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值,則根據該隨機資料映射表以決定出該特定實體位址。
  7. 如申請專利範圍第3項所述之方法,其中該邏輯位址至實體位址映射表、該壓縮後映射表以及該隨機資料映射表係儲存在一快閃記憶體控制器的一緩衝記憶體中,且當成功產生該壓縮後映射表以及該隨機資料映射表之後,該邏輯位址至實體位址映射表便不再被用來決定出任何實體位址。
  8. 一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有:一唯讀記憶體,用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;其中該微處理器自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表,且對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,該微處理器根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料;其中該邏輯位址至實體位址映射表以及該壓縮後映射表均包含了多個連續的邏輯位址,且針對每一個邏輯位址,該壓縮後映射表使用一位元來記錄該邏輯位址所對應到的實體位址是否為該基準實體位址加上該對應偏移值;以及針對每一個邏輯位址,當所對應的該位元具有一第一邏輯值時,表示該邏輯位址所對應到的實體位址為該基準實體位址加上該對應偏移值;以及當所對應的該位元具有一第二邏輯值時,表示該邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值。
  9. 如申請專利範圍第8項所述之快閃記憶體控制器,其中若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址是該基準實體位址加上該對應偏移值,該微處理器直接將該基準實體位址加上該對應偏移值以決定出該特定實體位址;以及若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值,該微處理器根據該邏輯位址至實體位址映射表以決定出該特定實體位址。
  10. 一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有:一唯讀記憶體,用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;其中該微處理器自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表,且對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,該微處理器根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料;其中該微處理器另建立一隨機資料映射表,其記錄了所對應到的實體位址並非是該基準實體位址加上該對應偏移值的每一個邏輯位址及對應的實體位址。
  11. 如申請專利範圍第10項所述之快閃記憶體控制器,其中該邏輯位址至實體位址映射表以及該壓縮後映射表均包含了多個連續的邏輯位址,且針對每一個邏輯位址,該壓縮後映射表使用一位元來記錄該邏輯位址所對應到的實體位址是否為該基準實體位址加上該對應偏移值;且當所對應的該位元具有一第一邏輯值時,表示該邏輯位址所對應到的實體位址為該基準實體位址加上該對應偏移值;以及當所對應的該位元具有一第二邏輯值時,表示該邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值。
  12. 如申請專利範圍第11項所述之快閃記憶體控制器,其中該隨機資料映射表所記錄之每一個邏輯位址在該壓縮後映射表中所對應到的該位元係具有該第二邏輯值。
  13. 如申請專利範圍第10項所述之快閃記憶體控制器,其中若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址是該基準實體位址加上該對應偏移值,該微處理器直接將該基準實體位址加上該對應偏移值以決定出該特定實體位址;以及若是該壓縮後映射表記錄了該特定邏輯位址所對應到的實體位址並非是該基準實體位址加上該對應偏移值,該微處理器根據該隨機資料映射表以決定出該特定實體位址。
  14. 如申請專利範圍第10項所述之快閃記憶體控制器,其中該邏輯位址至實體位址映射表、該壓縮後映射表以及該隨機資料映射表係儲存在該快閃記憶體控制器的一緩衝記憶體中,且當成功產生該壓縮後映射表以及該隨機資料映射表之後,該微處理器便不會再使用該邏輯位址至實體位址映射表來決定出任何實體位址。
  15. 一種電子裝置,包含有:一快閃記憶體模組;以及一快閃記憶體控制器,用來存取該快閃記憶體模組;其中該快閃記憶體控制器自該快閃記憶體模組中讀取一邏輯位址至實體位址映射表,且對該邏輯位址至實體位址映射表進行壓縮以產生一壓縮後映射表,其中該壓縮後映射表記錄了一基準實體位址以及每一個邏輯位址所對應到的實體位址是否為該基準實體位址加上一對應偏移值;以及當接收到具有一特定邏輯位址的一讀取命令以要求讀取該快閃記憶體模組中的一資料時,該快閃記憶體控制器根據該壓縮後映射表來決定該特定邏輯位址所對應到的一特定實體位址,並根據該特定實體位址以自該快閃記憶體模組中讀取該資料;其中該快閃記憶體控制器另建立一隨機資料映射表,其記錄了所對應到的實體位址並非是該基準實體位址加上該對應偏移值的每一個邏輯位址及對應的實體位址。
TW107100464A 2018-01-05 2018-01-05 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 TWI650644B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107100464A TWI650644B (zh) 2018-01-05 2018-01-05 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
CN201810595418.XA CN110008136A (zh) 2018-01-05 2018-06-11 管理闪存模块的方法及相关的闪存控制器及电子装置
US16/022,714 US20190213137A1 (en) 2018-01-05 2018-06-29 Method for managing flash memory module and associated flash memory controller and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107100464A TWI650644B (zh) 2018-01-05 2018-01-05 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置

Publications (2)

Publication Number Publication Date
TWI650644B true TWI650644B (zh) 2019-02-11
TW201931132A TW201931132A (zh) 2019-08-01

Family

ID=66213982

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107100464A TWI650644B (zh) 2018-01-05 2018-01-05 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置

Country Status (3)

Country Link
US (1) US20190213137A1 (zh)
CN (1) CN110008136A (zh)
TW (1) TWI650644B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI817315B (zh) * 2021-12-29 2023-10-01 大陸商合肥兆芯電子有限公司 映射表管理方法、記憶體控制電路單元與記憶體儲存裝置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
CN112532501B (zh) * 2019-09-18 2023-04-18 中国电信股份有限公司 主机物理地址处理方法和装置、计算机可读存储介质
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US12079502B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Storage element attribute-based determination of a data protection policy for use within a storage system
US11720714B2 (en) * 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US12079333B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Independent security threat detection and remediation by storage systems in a synchronous replication arrangement
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US12067118B2 (en) 2019-11-22 2024-08-20 Pure Storage, Inc. Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system
US11500788B2 (en) * 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
US12050683B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system
US11625481B2 (en) * 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
CN111258922B (zh) * 2020-01-14 2023-10-27 深圳天邦达科技有限公司 阈值参数的读取方法和装置
CN113961140B (zh) * 2020-07-02 2024-06-11 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN113892140A (zh) * 2021-08-31 2022-01-04 长江存储科技有限责任公司 加载逻辑到物理映射表到存储器控制器的缓存
CN115994101A (zh) * 2022-11-30 2023-04-21 深圳大普微电子科技有限公司 闪存设备及其数据管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309621A (zh) * 2012-12-12 2013-09-18 珠海金山网络游戏科技有限公司 读取分段压缩包中数据的方法
TW201349100A (zh) * 2012-05-24 2013-12-01 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
TW201729107A (zh) * 2015-12-21 2017-08-16 高通公司 用於反及閘型快閃記憶體之邏輯至實體位址表之壓縮快取
US20170364446A1 (en) * 2016-06-15 2017-12-21 HGST Netherlands B.V. Compression and caching for logical-to-physical storage address mapping tables

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170053278A (ko) * 2015-11-06 2017-05-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI570559B (zh) * 2015-12-28 2017-02-11 點序科技股份有限公司 快閃記憶體及其存取方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201349100A (zh) * 2012-05-24 2013-12-01 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
CN103309621A (zh) * 2012-12-12 2013-09-18 珠海金山网络游戏科技有限公司 读取分段压缩包中数据的方法
TW201729107A (zh) * 2015-12-21 2017-08-16 高通公司 用於反及閘型快閃記憶體之邏輯至實體位址表之壓縮快取
US20170364446A1 (en) * 2016-06-15 2017-12-21 HGST Netherlands B.V. Compression and caching for logical-to-physical storage address mapping tables

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI817315B (zh) * 2021-12-29 2023-10-01 大陸商合肥兆芯電子有限公司 映射表管理方法、記憶體控制電路單元與記憶體儲存裝置

Also Published As

Publication number Publication date
US20190213137A1 (en) 2019-07-11
CN110008136A (zh) 2019-07-12
TW201931132A (zh) 2019-08-01

Similar Documents

Publication Publication Date Title
TWI650644B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
TWI692690B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI629591B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI661303B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US10698814B2 (en) Data storage devices and data processing methods
TWI659304B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN109117383B (zh) 管理闪存模块的方法和闪存控制器
US11614885B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
TWI749279B (zh) 資料儲存裝置與資料處理方法
US11176033B2 (en) Data storage devices and data processing methods
TWI657339B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
US11636042B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
US11188265B2 (en) Method for performing storage space management, associated data storage device, and controller thereof
CN109002265B (zh) 一种数据处理的方法以及相关装置
TWI653630B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
TWI852599B (zh) 記憶裝置、快閃記憶體控制器及其控制方法