TW202028982A - 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 - Google Patents

資料儲存裝置及用於存取邏輯至物理位址映射表之方法 Download PDF

Info

Publication number
TW202028982A
TW202028982A TW108102295A TW108102295A TW202028982A TW 202028982 A TW202028982 A TW 202028982A TW 108102295 A TW108102295 A TW 108102295A TW 108102295 A TW108102295 A TW 108102295A TW 202028982 A TW202028982 A TW 202028982A
Authority
TW
Taiwan
Prior art keywords
access
group mapping
mapping table
logical
controller
Prior art date
Application number
TW108102295A
Other languages
English (en)
Other versions
TWI709854B (zh
Inventor
孫健瑋
林聖勳
顏瑞霖
柯建興
Original Assignee
慧榮科技股份有限公司 新竹縣竹北市台元街36 號8樓之1
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 慧榮科技股份有限公司 新竹縣竹北市台元街36 號8樓之1 filed Critical 慧榮科技股份有限公司 新竹縣竹北市台元街36 號8樓之1
Priority to TW108102295A priority Critical patent/TWI709854B/zh
Priority to CN201910445631.7A priority patent/CN111459844B/zh
Priority to US16/585,608 priority patent/US20200233610A1/en
Publication of TW202028982A publication Critical patent/TW202028982A/zh
Application granted granted Critical
Publication of TWI709854B publication Critical patent/TWI709854B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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/1016Performance 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/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • 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)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種資料儲存裝置,包括:一快閃記憶體、一動態隨機存取記憶體(DRAM)及一控制器。該快閃記憶體係儲存一邏輯至物理位址映射(L2P)表,其劃分為複數個群組映射表。DRAM係儲存第一部分的群組映射表。控制器係接收來自主機的存取指令,包括一或多個邏輯位址。控制器依據一預定置換機制將邏輯位址相應的一第二部分的群組映射表讀取至DRAM以置換第一部分的群組映射表,且第二部分的各群組映射表在一存取資訊表中具有一相應欄位,包括一旗標及一存取次數。響應於第二部分的群組映射表之一特定群組映射表在存取資訊表的相應欄位不為0,控制器係將特定群組映射表排除在預定置換機制之外。

Description

資料儲存裝置及用於存取邏輯至物理位址映射表之方法
本發明係有關於一種資料儲存裝置,特別是有關於一種資料儲存裝置及用於存取邏輯至物理位址映射表之方法。
快閃記憶體裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機存取裝置,而可於位址腳位上提供任何的位址,用以存取NOR快閃裝置的主裝置(host),並及時地由NOR快閃裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃裝置並非隨機存取,而是序列存取。NAND快閃裝置無法像NOR快閃裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND快閃裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(在快閃記憶體中的一個寫入作業的最小資料塊)或一個區塊(在快閃記憶體中的一個抹除作業的最小資料塊)。實際上,NAND快閃裝置通常從記憶體單元(memory cells)上讀取或寫入完整的數頁資料。當一整頁的資料從陣列讀取到裝置中的緩存器(buffer)後,藉由使用提取訊號(strobe signal)順序地敲出(clock out)內容,讓主單元可逐位元組或字元組(words)存取資料。
然而,隨著NAND快閃記憶體之容量增加,若在控制器端的動態隨機存取記憶體要完整記錄NAND快閃記憶體的整個邏輯至物理位址映射表,動態隨機存取記憶體之容量需求也相當大,這會造成成本增加。若採用容量較小的動態隨機存取記憶體,則需要動態地置換在動態隨機存取記憶體中的群組映射表。傳統的置換機制可能會將新讀取的邏輯至物理位址映射表以置換尚未寫入快閃記憶體的群組映射表,除了會造成映射關係錯誤之外,控制器也還要重新由快閃記憶體讀取相應的群組映射表,這亦會造成效能的損失。
因此,需要一種資料儲存裝置及用於存取邏輯至物理位址映射表之方法以解決上述問題。
本發明係提供一種資料儲存裝置,包括:一快閃記憶體,包括複數個區塊,用以儲存資料及一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表;一動態隨機存取記憶體,用以儲存一第一部分的該等群組映射表;以及一控制器,用以接收來自一主機的一存取指令,其中該存取指令包括一或多個邏輯位址;其中該控制器更依據一預定置換機制將該存取指令中之該一或多個邏輯位址相應的一第二部分的該等群組映射表讀取至該動態隨機存取記憶體以置換該第一部分的該等群組映射表之至少一者,且該第二部分的各群組映射表在一存取資訊表中具有一相應欄位,且該相應欄位包括一旗標及一存取次數,其中響應於該第二部分的該等群組映射表之一特定群組映射表在該存取資訊表中的該相應欄位的該旗標或該存取次數不為0,該控制器係將該特定群組映射表排除在該預定置換機制之外。
本發明更提供一種用於存取邏輯至物理位址映射表之方法,用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體及一動態隨機存取記憶體,該快閃記憶體包括複數個區塊,用以儲存資料及一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表,且該動態隨機存取記憶體儲存一第一部分的該等群組映射表。該方法包括:接收來自一主機的一存取指令,其中該存取指令包括一或多個邏輯位址;依據一預定置換機制將該存取指令中之該一或多個邏輯位址相應的一第二部分的該等群組映射表讀取至該動態隨機存取記憶體以置換該第一部分的該等群組映射表之至少一者,其中該第二部分的各群組映射表在一存取資訊表中具有一相應欄位,且該相應欄位包括一旗標及一存取次數;以及響應於該第二部分的該等群組映射表之一特定群組映射表在該存取資訊表中的該相應欄位的該旗標或該存取次數不為0,該控制器係將該特定群組映射表排除在該預定置換機制之外。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖係顯示依據本發明一實施例中之電子系統的方塊圖。電子系統100例如可為個人電腦、資料伺服器、網路附加儲存裝置(Network-Attached Storage,NAS),可攜式電子裝置(Portable Electronic Device)等等,但本發明並不限於此。可攜式電子裝置例如可為筆記型電腦、手持行動電話、智慧型手機、平板電腦、個人數位助理(Personal Digital Assistant,PDA)、數位相機、數位攝影機、可攜式多媒體播放器、個人導航裝置、手持遊戲主機、電子書(e-book)等等,但本發明並不限於此。
電子裝置100包括主機(host)120以及資料儲存裝置140。資料儲存裝置140包括記憶體控制器160、快閃記憶體180以及動態隨機存取記憶體190。記憶體控制器160包括處理單元162、儲存單元163、靜態隨機存取記憶體(Static Random Access Memory,SRAM)166。處理單元162可使用多種方式實施,例如專用硬體電路或通用硬體實現(例如,單一處理器、具平行處理能力的多處理器或其他具運算能力的處理器)、上述實現方式例如可為通用處理器(general-purpose processor)、或微控制器(microcontroller),但本發明並不限於此。動態隨機存取記憶體190為非必要元件,並且可被主機記憶體緩存(Host Memory Buffer,HMB)所替代。動態隨機存取記憶體190的資料儲存空間大於靜態隨機存取記憶體166。
記憶體控制器160中的處理單元162可根據主機120所下達的命令操作,例如透過存取介面170寫入資料到快閃記憶體180中之指定位址、或是由快閃記憶體180中的指定位址讀取頁面資料。
處理單元162與快閃記憶體180間的資料與命令傳遞係透過數個電子信號進行協調,上述電子信號包括資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(chip enable, CE)、位址提取致能(address latch enable, ALE)、命令提取致能(command latch enable, CLE)、寫入致能(write enable, WE)等控制訊號。
存取介面170可採用雙倍資料率(double data rate, DDR)通訊協定與快閃記憶體180溝通,例如,開放NAND快閃(open NAND flash interface, ONFI)、雙倍資料率開關(DDR toggle)或其他介面。處理單元162另可使用存取介面150透過指定通訊協定與主機120進行溝通,例如,通用序列匯流排(universal serial bus, USB)、先進技術附著(advanced technology attachment, ATA)、序列先進技術附著(serial advanced technology attachment, SATA)、快速周邊元件互聯(peripheral component interconnect express, PCI-E)、非揮發性記憶體的傳輸規範(Non-Volatile Memory Express,NVMe)或其他介面。
儲存單元163可為非揮發性記憶體,例如為唯讀記憶體(read-only memory,ROM)、可擦除式可程式化唯讀記憶體(erasable programmable read-only memory,EPROM)、電子可擦除式可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)或電子熔絲(E-Fuse)。儲存單元163係儲存一啟動程式164,其包括啟動碼(Boot Code)或啟動程式(Bootloader),且可由處理單元162執行,記憶體控制器160基於啟動程式164而完成開機,並開始控制該快閃記憶體180的運作,例如,讀取線上燒錄(In System Programming,ISP )碼。
快閃記憶體180例如為NAND快閃記憶體,且快閃記憶體180可包含多個儲存子單元,每一個儲存子單元實施於一個晶粒(die)上,各自使用關聯的存取子介面與處理單元162進行溝通。
第2圖為依據本發明實施例之存取介面與儲存單元的方塊圖。資料儲存裝置140可包含j+1個存取子介面170_0至170_j,存取子介面又可稱為通道(channel),每一個存取子介面連接i+1個儲存子單元。換句話說,i+1個儲存子單元共享一個存取子介面。例如,當資料儲存裝置140包含4個通道(j=3)且每一個通道連接4個儲存單元(i=3)時,快閃記憶體180一共擁有16個儲存子單元180_0_0至180_j_i。處理單元162可驅動存取子介面170_0至170_j中之一者,從指定的儲存子單元讀取資料。每個儲存子單元擁有獨立的晶片致能(CE)控制訊號。
換句話說,當欲對指定的儲存子單元進行資料讀取時,需要驅動關聯的存取子介面致能此儲存子單元的晶片致能控制訊號。第3圖為依據本發明實施例之一個存取子介面與多個儲存子單元的連接示意圖。處理單元162可透過存取子介面170_0使用獨立的晶片致能控制訊號320_0_0至320_0_i來從連接的儲存子單元180_0_0至180_0_i中選擇出其中一者,接著,透過共享的資料線310_0從選擇出的儲存子單元的指定位置讀取資料。
在一實施例中,資料儲存裝置140運作時,記憶體控制器160建立並更新邏輯至物理位址映射表(L2P表),L2P表係標示邏輯位址至物理空間的映射資訊,且儲存於資料儲存裝置140中之快閃記憶體180。此外,因為動態隨機存取記憶體190之容量有限,或是資料儲存裝置140並未配置有動態隨機存取記憶體190而使用主機記憶體緩存(Host Memory Buffer,HMB),因此,無法將整個L2P表載入動態隨機存取記憶體190或主機記憶體緩存。在此條件下,記憶體控制器160僅將部分L2P表載入動態隨機存取記憶體190或主機記憶體緩存。
在一些實施例中,邏輯至物理位址映射表之一實施方法係以超級頁面(SuperPage)為映射單位,例如各邏輯端的索引(例如可稱為全域主機頁編號Global Host Page,GHP)會映射到快閃記憶體180中的一超級頁面,且一超級頁面可包括多個物理頁面(physical page)。在另一些實施例中,邏輯至物理位址映射表之一實施方法係以頁面或區段(Sector)為映射單位,其中邏輯位址例如為邏輯區塊位址(Logical Block Address,LBA)。
第4圖為依據本發明一實施例中之存取資訊表及邏輯至物理位址映射表的示意圖。
在一實施例中,邏輯至物理位址映射表400例如可均等劃分為複數個群組(Group)映射表401,例如:1024個群組映射表401。群組映射表401之大小例如為4K位元組,假設群組映射表401的每一欄位(Entry)大小為4位元組,則群組映射表401可記錄1024筆映射資訊。各群組映射表401之大小亦可視實際設計之需求所決定,本發明並不限於此。記憶體控制器160例如可將邏輯至物理位址映射表400中之部分的群組映射表401儲存至動態隨機存取記憶體190中之第一預定空間420,例如,16個群組映射表401,如第4圖所示。
記憶體控制器160係包括存取資訊表410,且各群組映射表401在存取資訊表410中均有對應欄位411(例如為16位元,即2位元組),各欄位411係記錄相應的各群組映射表401之存取次數413及旗標412。在一實施例中,記憶體控制器160係將存取資訊表410儲存於動態隨機存取記憶體190中之第二預定空間430。在另一實施例中,記憶體控制器160係將存取資訊表410儲存於靜態隨機存取記憶體166,但本發明並不限於此。
舉例來說,在各欄位411中的最高位元(Most Significant Bit,MSB)即為上述旗標412,用以表示此欄位對應的群組映射表401是否有被來自主機120的寫入指令以寫入資料。此外,在各欄位411中的次高位元至最低位元係用以記錄此欄位對應的群組映射表之存取次數413。
當電子裝置100開機時,記憶體控制器160係重置存取資訊表410的所有欄位411,例如重置為0x0000。接著,記憶體控制器160係由主機120接收存取指令以存取儲存於快閃記憶體180中之資料,上述存取指令例如可為寫入指令、讀取指令、修剪(Trim)指令等等。舉例來說,上述存取指令可帶有一或多個邏輯位址,視寫入或讀取資料的型態而定(例如為隨機寫入/讀取、連續寫入/讀取)。其中上述邏輯位址例如可為邏輯區塊位址或全域主機頁編號等等。此外,為了最佳化使用快閃記憶體180,快閃記憶體180之儲存空間係動態配置對應主機120所識別的邏輯位址。
在一實施例中,假定記憶體控制器160所接收來自主機120的存取指令為讀取指令,記憶體控制器160會先判斷上述存取指令之各邏輯位址相應的群組映射表401是否已儲存於動態隨機存取記憶體190中。若存取指令之一部分或全部的邏輯位址相應的群組映射表401尚未儲存於動態隨機存取記憶體190中,則記憶體控制器160會從快閃記憶體180讀取相應的群組映射表401至動態隨機存取記憶體190中,例如採用預定置換機制以將所讀取的一或多個群組映射表401置換原本儲存於動態隨機存取記憶體190中之一或多個群組映射表401。其中,上述預定置換機制例如可為最近最少使用(least recently used,LRU)演算法、最近最不常用(least frequently used,LFU)演算法、先進先出(first-in-first-out,FIFO)演算法、二次機會演算法、等等,但本發明並不限於此。
若上述存取指令之各邏輯位址相應的群組映射表401已儲存於動態隨機存取記憶體190中,則記憶體控制器160會將存取指令中之邏輯位址相應的群組映射表401在存取資訊表410中的欄位411之存取次數413加1。
需注意的是,當欄位411中存取次數413的值不為0,即表示記憶體控制器160仍然需要該欄位411相應的群組映射表401以進行操作,所以記憶體控制器160會將該欄位411相應的群組映射表401排除在上述的預定置換機制之外,直到欄位411中存取次數413的值等於0。
在第一情境中,在動態隨機存取記憶體190中的一特定群組映射表401僅對應至存取指令中的邏輯位址,且此特定群組映射表401在存取資訊表410中之對應欄位411的初始值為0x0000。由於處理存取指令需存取此特定群組映射表401,所以記憶體控制器160在執行此存取指令前會將此特定群組映射表401在存取資訊表410的對應欄位411之數值變更(或增加)為0x0001。
當記憶體控制器160完成上述存取指令之處理後,記憶體控制器160係將上述存取指令中之邏輯位址相應的群組映射表401在存取資訊表410的對應欄位411之存取次數由0x0001變更(或減少)為0x0000。
若上述存取指令為寫入指令,於存取指令完成執行之後,記憶體控制器160更將上述存取指令中之邏輯位址相應的群組映射表401在存取資訊表410中的欄位411之旗標412設定為1,此時,上述欄位411之數值例如變更為0x8000。若上述存取指令為讀取指令,則記憶體控制器160不會更動此欄位411的旗標412之數值(意即維持在0),例如此欄位411的數值為0x0000。
在第二情境中,在動態隨機存取記憶體190中的一特定群組映射表401可對應至存取指令(可為寫入指令或讀取指令)中的多個邏輯位址(例如為N個),且此特定群組映射表401在存取資訊表410中之對應欄位411的初始值為0x0000,意即記憶體控制器160在執行此存取指令前會將此欄位411之存取次數413加N。舉例來說,若此欄位的初始值為0x0000,且在同一個存取指令中的3個邏輯位址(例如分別為邏輯位址#100、#102、#105)對應至同一個群組映射表401,則記憶體控制器160在執行此寫入指令前會將上述群組映射表401在存取次數表410中的對應欄位之數值變更(或增加)為0x0003。
當記憶體控制器160在進行上述存取指令之操作時,若在同一個存取指令中的不同邏輯位址均對應至上述特定群組映射表401,則記憶體控制器160在每次使用(例如查找)上述特定群組映射表401後,會將上述特定群組映射表401在存取資訊表410中的相應欄位411之存取次數413減1。因為有3個邏輯位址對應至上述特定群組映射表401,所以記憶體控制器160在進行上述存取指令之操作時,上述特定群組映射表401最多會被使用3次。當記憶體控制器160完成上述存取指令之操作後,上述特定群組映射表401會被使用3次,且其在存取資訊表410中之相應欄位411中的存取次數413會遞減至0。
在第二情境中,若上述存取指令為寫入指令,於存取指令完成執行之後,記憶體控制器160更將上述特定群組映射表401在存取資訊表410中的相應欄位411之旗標設定為1,意即此時此相應欄位411之數值變更為0x8000。若上述存取指令為讀取指令,則記憶體控制器160不會更動此欄位411的旗標412之數值(意即維持在0),意即此時此相應欄位411之數值為0x0000。
需注意的是,當主機120發送一存取指令至記憶體控制器160時,在上述存取指令中可能有第一部分的邏輯位址是各個邏輯位址對應至單一個群組映射表401(即第一情境),且有第二部分的邏輯位址是多個邏輯位址對應至另一個群組映射表401(即第二情境),意即對存取資訊表410之操作可能包括第一情境及/或第二情境。
詳細而言,因為來自主機120的存取指令(例如為寫入指令)已對快閃記憶體180寫入資料,所以上述存取指令之一或多個邏輯位址在動態隨機存取記憶體190中相應的一或多個群組映射表401中的映射關係會被記憶體控制器160更新。因此,記憶體控制器160亦需在適當時間(例如需滿足一預定條件)將更新後的一或多個群組映射表401寫入快閃記憶體180。接著,記憶體控制器160係判斷是否已符合預定條件以將上述更新後的群組映射表401寫入快閃記憶體180。當符合上述預定條件,記憶體控制器160係將上述更新後的群組映射表401寫入快閃記憶體180。
在一些實施例中,記憶體控制器160可單獨將已更新的一個群組映射表401(例如為4K位元組)寫入快閃記憶體180。在此情況下,記憶體控制器160可直接判斷上述預定條件成立,並將上述更新後的群組映射表401寫入快閃記憶體180。
在一些實施例中,為了增進資料儲存裝置140之效能,記憶體控制器160以超級頁面(superpage)作為資料寫入單位,即記憶體控制器160累積數個頁面資料後才將頁面資料寫入至超級頁面。舉例來說,若快閃記憶體180是採用1路4通道之架構,例如第2圖之快閃記憶體180之架構為i=0及j=3,則一個超級頁面包括4個頁面,此時一個超級頁面可儲存4個頁面資料。若快閃記憶體180是採用4路2通道之架構,例如第2圖之快閃記憶體180之架構為i=3及j=1,則一個超級頁面包括8個頁面,此時一個超級頁面可儲存8個頁面資料,依此類推。
在此情況下,上述預定條件即表示記憶體控制器160需累積預定數量之已更新的群組映射表401。因此,當記憶體控制器160累積預定數量之已更新的群組映射表401後,再將預定數量之已更新的群組映射表401寫入至其中一個超級頁面。若目前存取指令之流程中無法累積至預定數量的已更新的群組映射表401,則記憶體控制器160可將目前存取指令有關的已更新的群組映射表401先保留在動態隨機存取記憶體190,並由主機120接收下一個存取指令。此外,上述已更新的群組映射表401在存取資訊表410之相應欄位411的旗標412仍然會維持在1。因此,上述已更新的群組映射表401在此時會被記憶體控制器160之預定置換機制所排除。
需注意的是,動態隨機存取記憶體190之空間並無法容納在邏輯至物理位址映射表400中的全部群組映射表401,而僅能容納預定數量的群組映射表401。當主機120持續透過記憶體控制器160對快閃記憶體180進行資料存取,記憶體控制器160會持續對動態隨機存取記憶體190中之各群組映射表401進行置換之動作,意即記憶體控制器160可依據上述預定置換機制將從快閃記憶體180新讀出的群組映射表401置換原本儲存於動態隨機存取記憶體190中之一或多個群組映射表401。
然而,在記憶體控制器160寫入更新後的一或多個群組映射表401至快閃記憶體180之前,記憶體控制器160不會利用從快閃記憶體180讀取的其他群組映射表401以置換上述更新後的一或多個群組映射表401。意即,當特定群組映射表401在存取資訊表410中之相應欄位的旗標412或存取次數413不為0,則此特定群組映射表401不會被記憶體控制器160放到預定置換機制中可被置換的候選群組映射表之列表中。
當上述更新後的一或多個群組映射表401在存取資訊表410中之相應欄位411之數值被重置為0x0000後,表示目前記憶體控制器160或主機120並沒有其他功能會使用到此一或多個群組映射表401,故此一或多個群組映射表401可被記憶體控制器160之預定置換機制列入動態隨機存取記憶體190可被置換的候選群組映射表401之列表中。
第5A-5B圖係顯示依據本發明實施例中之用於存取邏輯至物理位址映射表之方法的流程圖。
請同時參考第1圖及第5圖,在步驟S510,記憶體控制器160從主機120接收對快閃記憶體180之存取指令,其中該存取指令具有一或多個邏輯位址。舉例來說,上述邏輯位址例如可為邏輯區塊位址(LBA)、全域主機頁編號(GHP)、主機區塊、主機頁等等。此外,為了最佳化使用快閃記憶體180,快閃記憶體180之儲存空間係動態配置對應主機120所識別的邏輯位址。
在步驟S512,判斷在存取指令中之各邏輯位址相應的群組映射表401是否已儲存在動態隨機存取記憶體190中。若在存取指令中之各邏輯位址相應的群組映射表401已儲存在動態隨機存取記憶體190中,執行步驟S516。若在存取指令中之各邏輯位址相應的群組映射表401尚未儲存在動態隨機存取記憶體190中,執行步驟S514。
在步驟S514,將在存取指令中之各邏輯位址相應的群組映射表401從快閃記憶體180讀取至動態隨機存取記憶體190。
在步驟S516,將在存取指令中之各邏輯位址相應的群組映射表401在存取資訊表410中的相應欄位411之存取次數CNT(即存取次數413)加1。舉例來說,在前述實施例中已揭示存取指令中之一或多個邏輯位址對應至群組映射表401之情況可包括第一情境及/或第二情境,然而,對於記憶體控制器160來說,無論邏輯位址與群組映射表401是一對一之情況或是多對一的情況,記憶體控制器160均可依序處理存取指令中之各邏輯位址,意即將各邏輯位址相應的群組映射表401在一存取資訊表410中的相應欄位411之存取次數CNT加1。若邏輯位址與群組映射表401是一對一之對應情況,則群組映射表401在存取資訊表410中的相應欄位411的存取次數加1。若邏輯位址與群組映射表401是多對一之對應情況(例如N個邏輯位址對應至一個群組映射表401),則群組映射表401在存取資訊表410中的相應欄位411的存取次數CNT加N。
在步驟S518,執行存取指令之操作。舉例來說,記憶體控制器160係依據存取指令對快閃記憶體180進行存取操作,例如當存取指令為寫入指令,則記憶體控制器160係寫入資料至快閃記憶體180。當存取指令為讀取指令,記憶體控制器160係由快閃記憶體180讀取資料。
在步驟S520,將在存取指令中之已執行過的各邏輯位址相應的群組映射表401在存取資訊表410中的相應欄位之存取次數CNT減1。在一些實施例中,步驟S518及S520可整合為同一步驟。舉例來說,因為存取指令具有一或多個邏輯位址,在執行存取指令之操作的過程中,若以超級頁面為單位進行存取,記憶體控制器160會分別依據在存取指令中的各個邏輯位址對快閃記憶體180中之不同的儲存子單元進行存取,並在存取操作後對各個邏輯位址相應的群組映射表401在存取資訊表410中的相應欄位411的存取次數減1。
在步驟S522,判斷存取指令是否為寫入指令。若存取指令為寫入指令,則執行步驟S524。若存取指令不是寫入指令,則此流程結束。舉例來說,因為記憶體控制器160執行寫入指令時,除了對快閃記憶體180寫入資料之外,還會更新在動態隨機存取記憶體190中的一或多個群組映射表401,藉以更新寫入快閃記憶體之資料的邏輯至物理位址的映射關係。需注意的是,在執行步驟S522時,更新後的群組映射表401尚未寫入快閃記憶體180。
在步驟S524,將更新後的群組映射表401在存取資訊表410中之相應欄位的旗標設定為1。舉例來說,各群組映射表401在存取資訊表410中之相應欄位411的旗標412可視為修改位元。當此旗標412為1時,表示此群組映射表401已被修改(例如寫入指令)。當此旗標412為0時,表示此群組映射表401未被修改(例如讀取指令)。
在另一實施例中,步驟S522以及步驟S524可整合至步驟S516中,即先判斷存取指令是否為寫入指令,如果是則直接將存取資訊表410中之相應欄位411的旗標412設定為1,再對群組映射表401在存取資訊表410中的相應欄位411之存取次數CNT加1。
在步驟S526,判斷是否滿足預定條件。若滿足預定條件,則執行步驟S528。若不滿足預定條件,則回到步驟S510。舉例來說,為了增進資料儲存裝置140之效能,記憶體控制器160以超級頁面(superpage)作為資料寫入單位,在此情況下,上述預定條件即表示記憶體控制器160需累積預定數量之已更新的群組映射表401。
因此,在步驟S528,記憶體控制器160係將預定數量的已更新的該等群組映射表401以超級頁面寫入快閃記憶體180。若目前存取指令之流程中無法累積至預定數量的已更新的群組映射表401,則記憶體控制器160可將目前存取指令有關的已更新的群組映射表401先保留在動態隨機存取記憶體190,並由主機120接收下一個存取指令。上述已更新的群組映射表401在存取資訊表410之相應欄位411的旗標412仍然會維持在1。因此,上述已更新的群組映射表401在此時會被記憶體控制器160之預定置換機制所排除。
在步驟S530,將寫入至快閃記憶體180中之已更新的群組映射表401在存取資訊表410之相應欄位重置。舉例來說,當記憶體控制器160將已更新的群組映射表401寫入至快閃記憶體180的其中之一超級頁面後,即可將寫入至快閃記憶體180中之已更新的群組映射表401在存取資訊表410之相應欄位411重置,例如旗標412及存取次數413均重置為0。意即,此時在動態隨機存取記憶體190中的此群組映射表401已可被預定置換機制所選擇,會列入可被置換的候選群組映射表之列表中。
綜上所述,本發明係提供一種資料儲存裝置及用於存取邏輯至物理位址映射表之方法,其可在資料儲存裝置之控制器的動態隨機存取記憶體之空間不足以存放整張邏輯至物理位址映射表的情況下提供一管理機制,使得控制器可暫時鎖定在動態隨機存取記憶體中已更新的群組映射表,以避免上述已更新的群組映射表在使用前或寫回快閃記憶體之前就被置換出動態隨機存取記憶體。此外,控制器亦可採用超級頁面的方式將已更新的群組映射表累積至預定數量後再一併寫入快閃記憶體。因此,控制器可避免由快閃記憶體中重複讀取群組映射表,且可提昇資料儲存裝置更新邏輯至物理位址映射表之操作效能。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:電子系統;120:主機;140:資料儲存裝置;150:存取介面;160:記憶體控制器;162:處理單元;163:儲存單元;164:韌體;166:靜態隨機存取記憶體;170:存取介面;180:快閃記憶體;181:快閃轉譯層;190:動態隨機存取記憶體;170_0-170_j:存取子介面;180_0_0-180_j_i:儲存子單元;320_0_0-320_0_i:晶片致能控制訊號;400:邏輯至物理位址映射表;401:群組映射表;410:存取資訊表;411:欄位;412:旗標;413:存取次數;420:第一預定空間;430:第二預定空間;S510-S530:步驟。
第1圖係顯示依據本發明一實施例中之電子系統的方塊圖。 第2圖為依據本發明一實施例之存取介面與儲存單元的方塊圖。 第3圖為依據本發明一實施例之一個存取子介面與多個儲存子單元的連接示意圖。 第4圖為依據本發明一實施例中之存取資訊表及邏輯至物理位址映射表的示意圖。 第5A-5B圖係顯示依據本發明一實施例中之用於存取邏輯至物理位址映射表之方法的流程圖。
100:電子系統
120:主機
140:資料儲存裝置
150:存取介面
160:控制器
162:處理單元
163:儲存單元
166:動態隨機存取記憶體
170:存取介面
180:快閃記憶體

Claims (18)

  1. 一種資料儲存裝置,包括: 一快閃記憶體,包括複數個區塊,用以儲存資料及一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表; 一動態隨機存取記憶體,用以儲存一第一部分的該等群組映射表;以及 一控制器,用以接收來自一主機的一存取指令,其中該存取指令包括一或多個邏輯位址; 其中該控制器更依據一預定置換機制將該存取指令中之該一或多個邏輯位址相應的一第二部分的該等群組映射表讀取至該動態隨機存取記憶體以置換該第一部分的該等群組映射表之至少一者,且該第二部分的各群組映射表在一存取資訊表中具有一相應欄位,且該相應欄位包括一旗標及一存取次數, 其中響應於該第二部分的該等群組映射表之一特定群組映射表在該存取資訊表中的該相應欄位的該旗標或該存取次數不為0,該控制器係將該特定群組映射表排除在該預定置換機制之外。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中在該控制器依據該預定置換機制將各邏輯位址相應的該第二部分的該等群組映射表讀取至該動態隨機存取記憶體後,該控制器係依序增加各邏輯位址相應的該第二部分的各群組映射表在該存取資訊表中的該相應欄位的該存取次數。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中,響應於該控制器完成該存取指令之操作,該控制器更依序減少各邏輯位址相應的該第二部分的各群組映射表在一存取資訊表中的一相應欄位的該存取次數。
  4. 如申請專利範圍第3項所述之資料儲存裝置,其中: 該控制器更判斷該存取指令是否為一寫入指令, 響應於該存取指令為該寫入指令,該控制器係更新該存取指令中之各邏輯位址相應的各群組映射表之映射關係,並將該存取指令中之各邏輯位址相應的各群組映射表在該存取資訊表中的該相應欄位的該旗標設定為1。
  5. 如申請專利範圍第4項所述之資料儲存裝置,其中: 在該控制器將該存取指令中之各邏輯位址相應的該第二部分的各群組映射表在該存取資訊表中的該相應欄位的該旗標設定為1後,該控制器更判斷是否滿足一預定條件, 其中該預定條件為已更新的該第二部分的該等群組映射表之數量達到一預定數量。
  6. 如申請專利範圍第5項所述之資料儲存裝置,其中: 響應於該控制器判斷滿足該預定條件,該控制器係將該預定數量的該第二部分的該等群組映射表組成一超級頁面,並將該超級頁面寫入該快閃記憶體。
  7. 如申請專利範圍第5項所述之資料儲存裝置,其中該控制器更將寫入至該快閃記憶體中之更新後的各群組映射表在該存取資訊表之該相應欄位重置。
  8. 如申請專利範圍第5項所述之資料儲存裝置,其中:響應於該控制器判斷不滿足該預定條件,該控制器係由該主機接收另一存取指令。
  9. 如申請專利範圍第7項所述之資料儲存裝置,其中: 響應於控制器將寫入至該快閃記憶體中之更新後的各群組映射表在該存取資訊表之該相應欄位重置,該控制器係將寫入至該快閃記憶體中之更新後的各群組映射表列入該預定置換機制中可被置換的候選群組映射表之列表。
  10. 一種用於存取邏輯至物理位址映射表之方法,用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體及一動態隨機存取記憶體,該快閃記憶體包括複數個區塊,用以儲存資料及一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表,且該動態隨機存取記憶體儲存一第一部分的該等群組映射表,該方法包括: 接收來自一主機的一存取指令,其中該存取指令包括一或多個邏輯位址; 依據一預定置換機制將該存取指令中之該一或多個邏輯位址相應的一第二部分的該等群組映射表讀取至該動態隨機存取記憶體以置換該第一部分的該等群組映射表之至少一者,其中該第二部分的各群組映射表在一存取資訊表中具有一相應欄位,且該相應欄位包括一旗標及一存取次數;以及 響應於該第二部分的該等群組映射表之一特定群組映射表在該存取資訊表中的該相應欄位的該旗標或該存取次數不為0,將該特定群組映射表排除在該預定置換機制之外。
  11. 如申請專利範圍第10項所述之用於存取邏輯至物理位址映射表之方法,更包括: 在依據該預定置換機制將各邏輯位址相應的該第二部分的該等群組映射表讀取至該動態隨機存取記憶體後,依序增加各邏輯位址相應的該第二部分的各群組映射表在該存取資訊表中的該相應欄位的該存取次數。
  12. 如申請專利範圍第11項所述之用於存取邏輯至物理位址映射表之方法,更包括: 響應於完成該存取指令之操作,依序減少各邏輯位址相應的該第二部分的各群組映射表在一存取資訊表中的一相應欄位的該存取次數。
  13. 如申請專利範圍第12項所述之用於存取邏輯至物理位址映射表之方法,更包括: 判斷該存取指令是否為一寫入指令;以及 響應於該存取指令為該寫入指令,更新該存取指令中之各邏輯位址相應的各群組映射表之映射關係,並將該存取指令中之各邏輯位址相應的各群組映射表在該存取資訊表中的該相應欄位的該旗標設定為1。
  14. 如申請專利範圍第13項所述之用於存取邏輯至物理位址映射表之方法,更包括: 在將該存取指令中之各邏輯位址相應的該第二部分的各群組映射表在該存取資訊表中的該相應欄位的該旗標設定為1後,判斷是否滿足一預定條件, 其中該預定條件為已更新的該第二部分的該等群組映射表之數量達到一預定數量。
  15. 如申請專利範圍第14項所述之用於存取邏輯至物理位址映射表之方法,更包括: 響應於滿足該預定條件,將該預定數量的該第二部分的該等群組映射表組成一超級頁面;以及 將該超級頁面寫入該快閃記憶體。
  16. 如申請專利範圍第14項所述之用於存取邏輯至物理位址映射表之方法,更包括: 將寫入至該快閃記憶體中之更新後的各群組映射表在該存取資訊表之該相應欄位重置。
  17. 如申請專利範圍第14項所述之用於存取邏輯至物理位址映射表之方法,更包括: 響應於不滿足該預定條件,由該主機接收另一存取指令。
  18. 如申請專利範圍第16項所述之用於存取邏輯至物理位址映射表之方法,更包括: 響應於將寫入至該快閃記憶體中之更新後的各群組映射表在該存取資訊表之該相應欄位重置,將寫入至該快閃記憶體中之更新後的各群組映射表列入該預定置換機制中可被置換的候選群組映射表之列表。
TW108102295A 2019-01-21 2019-01-21 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 TWI709854B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW108102295A TWI709854B (zh) 2019-01-21 2019-01-21 資料儲存裝置及用於存取邏輯至物理位址映射表之方法
CN201910445631.7A CN111459844B (zh) 2019-01-21 2019-05-27 数据储存装置及用于存取逻辑至物理地址映射表的方法
US16/585,608 US20200233610A1 (en) 2019-01-21 2019-09-27 Data storage device and method for accessing logical-to-physical mapping table thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108102295A TWI709854B (zh) 2019-01-21 2019-01-21 資料儲存裝置及用於存取邏輯至物理位址映射表之方法

Publications (2)

Publication Number Publication Date
TW202028982A true TW202028982A (zh) 2020-08-01
TWI709854B TWI709854B (zh) 2020-11-11

Family

ID=71608959

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108102295A TWI709854B (zh) 2019-01-21 2019-01-21 資料儲存裝置及用於存取邏輯至物理位址映射表之方法

Country Status (3)

Country Link
US (1) US20200233610A1 (zh)
CN (1) CN111459844B (zh)
TW (1) TWI709854B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965670A (zh) * 2021-04-22 2021-06-15 群联电子股份有限公司 主机存储器缓冲区管理方法、存储装置与控制电路单元
US20220188246A1 (en) * 2020-12-14 2022-06-16 Micron Technology, Inc. Exclusion regions for host-side memory address translation
TWI782868B (zh) * 2021-12-17 2022-11-01 大陸商合肥沛睿微電子股份有限公司 資料儲存管理方法和儲存裝置
TWI798680B (zh) * 2021-04-14 2023-04-11 群聯電子股份有限公司 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997080B1 (en) * 2020-02-11 2021-05-04 Western Digital Technologies, Inc. Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address
CN112433957B (zh) * 2020-11-16 2023-04-14 合肥康芯威存储技术有限公司 一种数据存取方法、数据存取系统及可读存储设备
CN114328297A (zh) * 2021-12-29 2022-04-12 合肥兆芯电子有限公司 映射表管理方法、存储器控制电路单元与存储器存储装置
CN116540950B (zh) * 2023-07-05 2023-09-29 合肥康芯威存储技术有限公司 一种存储器件及其写入数据的控制方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
CN100504814C (zh) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 闪存的区块管理方法
US8200922B2 (en) * 2008-12-17 2012-06-12 Netapp, Inc. Storage system snapshot assisted by SSD technology
TWI455135B (zh) * 2010-06-10 2014-10-01 Apacer Technology Inc 以快閃記憶體為基礎的儲存裝置及其資料寫入方法
KR20120134919A (ko) * 2011-06-03 2012-12-12 삼성전자주식회사 메모리 장치
TWI506430B (zh) * 2013-03-20 2015-11-01 Phison Electronics Corp 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
US9684568B2 (en) * 2013-12-26 2017-06-20 Silicon Motion, Inc. Data storage device and flash memory control method
CN104281535B (zh) * 2014-09-24 2017-11-17 北京兆易创新科技股份有限公司 一种映射表在内存中的处理方法和装置
KR102580820B1 (ko) * 2016-03-10 2023-09-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI599880B (zh) * 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
US20170300422A1 (en) * 2016-04-14 2017-10-19 Micron Technology, Inc. Memory device with direct read access
TW201818248A (zh) * 2016-11-15 2018-05-16 慧榮科技股份有限公司 可應用於資料儲存裝置之記憶體管理方法
TWI664568B (zh) * 2016-11-15 2019-07-01 慧榮科技股份有限公司 資料儲存裝置之操作方法
KR102319189B1 (ko) * 2017-06-21 2021-10-28 삼성전자주식회사 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법
CN107291405B (zh) * 2017-08-17 2020-05-26 北京中电华大电子设计有限责任公司 一种NorFlash的数据管理方法与装置
CN107566549B (zh) * 2017-09-30 2021-06-18 东软集团股份有限公司 一种网络地址转换映射表的处理方法、装置及设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188246A1 (en) * 2020-12-14 2022-06-16 Micron Technology, Inc. Exclusion regions for host-side memory address translation
US11734193B2 (en) * 2020-12-14 2023-08-22 Micron Technology, Inc. Exclusion regions for host-side memory address translation
TWI798680B (zh) * 2021-04-14 2023-04-11 群聯電子股份有限公司 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元
CN112965670A (zh) * 2021-04-22 2021-06-15 群联电子股份有限公司 主机存储器缓冲区管理方法、存储装置与控制电路单元
CN112965670B (zh) * 2021-04-22 2023-08-01 群联电子股份有限公司 主机存储器缓冲区管理方法、存储装置与控制电路单元
TWI782868B (zh) * 2021-12-17 2022-11-01 大陸商合肥沛睿微電子股份有限公司 資料儲存管理方法和儲存裝置

Also Published As

Publication number Publication date
TWI709854B (zh) 2020-11-11
CN111459844A (zh) 2020-07-28
CN111459844B (zh) 2022-11-11
US20200233610A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
TWI709854B (zh) 資料儲存裝置及用於存取邏輯至物理位址映射表之方法
US10871900B2 (en) Memory system and method of controlling memory system
US8443144B2 (en) Storage device reducing a memory management load and computing system using the storage device
CN107179996B (zh) 数据存储装置和其操作方法
US10678476B2 (en) Memory system with host address translation capability and operating method thereof
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9021218B2 (en) Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same
US20160147467A1 (en) Reliable wear-leveling for non-volatile memory and method therefor
KR20190111406A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
TWI710905B (zh) 資料儲存裝置及邏輯至物理位址映射表之載入方法
US20170270045A1 (en) Hybrid memory device and operating method thereof
US8112589B2 (en) System for caching data from a main memory with a plurality of cache states
TWI698749B (zh) 資料儲存裝置與資料處理方法
US20130219105A1 (en) Method, device and system for caching for non-volatile memory device
TWI698744B (zh) 資料儲存裝置及邏輯至物理位址映射表之更新方法
US10466938B2 (en) Non-volatile memory system using a plurality of mapping units and operating method thereof
US11604735B1 (en) Host memory buffer (HMB) random cache access
KR20220130526A (ko) 메모리 시스템 및 그 동작 방법
US10261714B2 (en) Memory controller and memory system including same
US20140281157A1 (en) Memory system, memory controller and method
US8631187B2 (en) Dual-scope directory for a non-volatile memory storage system
JP2022094912A (ja) ソリッドステートドライブの永続性メモリ内の論理‐物理アドレス間接参照テーブル