TW202038096A - 資料儲存裝置及邏輯至物理位址映射表之更新方法 - Google Patents
資料儲存裝置及邏輯至物理位址映射表之更新方法 Download PDFInfo
- Publication number
- TW202038096A TW202038096A TW108112529A TW108112529A TW202038096A TW 202038096 A TW202038096 A TW 202038096A TW 108112529 A TW108112529 A TW 108112529A TW 108112529 A TW108112529 A TW 108112529A TW 202038096 A TW202038096 A TW 202038096A
- Authority
- TW
- Taiwan
- Prior art keywords
- unit number
- mapping table
- logical unit
- group mapping
- logical
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種資料儲存裝置包括:一快閃記憶體及一記憶體控制器。快閃記憶體係用以儲存一邏輯至物理位址映射表(L2P表),劃分為複數個群組映射表。快閃記憶體包括第一邏輯單元編號(LUN)及第二邏輯單元編號,分別由第一晶片致能信號及第二晶片致能信號所控制。記憶體控制器將一寫入指令的複數筆頁面資料組成一超級頁面資料,並依序致能第一晶片致能信號及第二晶片致能信號以將超級頁面資料分段寫入至第一LUN及第二LUN。因應於超級頁面資料已寫入至第一LUN及第二LUN,記憶體控制器係由第一LUN或第二LUN讀取至少一群組映射表至動態隨機存取記憶體。
Description
本發明係有關於一種資料儲存裝置,特別是有關於一種資料儲存裝置及邏輯至物理位址映射表之更新方法。
快閃記憶體裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機存取裝置,而可於位址腳位上提供任何的位址,用以存取NOR快閃裝置的主裝置(host),並及時地由NOR快閃裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃裝置並非隨機存取,而是序列存取。NAND快閃裝置無法像NOR快閃裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND快閃裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(在快閃記憶體中的一個寫入作業的最小資料塊)或一個區塊(在快閃記憶體中的一個抹除作業的最小資料塊)。實際上,NAND快閃裝置通常從記憶體單元(memory cells)上讀取或寫入完整的數頁資料。當一整頁的資料從陣列讀取到裝置中的緩存器(buffer)後,藉由使用提取訊號(strobe signal)順序地敲出(clock out)內容,讓主單元可逐位元組或字元組(words)存取資料。
然而,隨著NAND快閃記憶體之容量增加,若在控制器端的動態隨機存取記憶體要完整記錄NAND快閃記憶體的整個邏輯至物理位址映射表,動態隨機存取記憶體之容量需求也相當大,這會造成成本增加。若採用容量較小的動態隨機存取記憶體,控制器在執行寫入指令時,需要經常置換並更新在動態隨機存取記憶體中的群組映射表。然而,傳統的資料儲存裝置從快閃記憶體讀取寫入指令所需的群組映射表往往會打斷寫入指令在寫入超級頁面時的交錯機制,造成寫入效能的損失。
因此,需要一種資料儲存裝置及邏輯至物理位址映射表之更新方法以解決上述問題。
本發明係提供一種資料儲存裝置。資料儲存裝置包括:一快閃記憶體、一動態隨機存取記憶體、及一記憶體控制器。快閃記憶體係用以儲存一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表,快閃記憶體包括一第一邏輯單元編號及一第二邏輯單元編號分別由一第一晶片致能信號及一第二晶片致能信號所控制。動態隨機存取記憶體係用以儲存一部分的該等群組映射表。記憶體控制器係用以接收來自一主機之一寫入指令,並將該寫入指令的複數筆頁面資料組成一超級頁面資料。記憶體控制器係依序致能第一晶片致能信號及第二晶片致能信號以將超級頁面資料分段寫入至第一邏輯單元編號及第二邏輯單元編號。因應於超級頁面資料已寫入至第一邏輯單元編號及第二邏輯單元編號,記憶體控制器係由第一邏輯單元編號或第二邏輯單元編號讀取至少一群組映射表至動態隨機存取記憶體。
在一些實施例中,當致能第一晶片致能信號以將該超級頁面資料之一第一區段寫入至第一邏輯單元編號且相應於至少一群組映射表之一第一讀取指令已儲存於一指令佇列中,記憶體控制器係等待第一邏輯單元編號進入編程階段後,致能第二晶片致能信號以將超級頁面資料之一第二區段寫入至第二邏輯單元編號;以及因應於超級頁面資料已寫入至第一邏輯單元編號及第二邏輯單元編號,記憶體控制器係執行第一讀取指令由第一邏輯單元編號或該第二邏輯單元編號讀取至少一群組映射表至動態隨機存取記憶體。
在一些實施例中,在執行該第一讀取指令由第一邏輯單元編號或第二邏輯單元編號讀取至少一群組映射表至動態隨機存取記憶體後,記憶體控制器更依據寫入指令的該等頁面資料的複數個邏輯位址及寫入至第一邏輯單元編號及第二邏輯單元編號的複數個物理位址以更新至少一群組映射表。其中該預定條件為在該動態隨機存取記憶體中之已更新的該第一群組映射表之數量達到一預定數量。
本發明更提供一種邏輯至物理位址映射表之更新方法,用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體及一動態隨機存取記憶體,該快閃記憶體用以儲存一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表,其中該快閃記憶體包括一第一邏輯單元編號及一第二邏輯單元編號分別由一第一晶片致能信號及一第二晶片致能信號所控制,該方法包括:將來自一主機之一寫入指令的複數筆頁面資料組成一超級頁面資料;依序致能該第一晶片致能信號及該第二晶片致能信號以將該超級頁面資料分段寫入至該第一邏輯單元編號及該第二邏輯單元編號;以及因應於該超級頁面資料已寫入至該第一邏輯單元編號及該第二邏輯單元編號,由該第一邏輯單元編號或該第二邏輯單元編號讀取至少一群組映射表至該動態隨機存取記憶體。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖係顯示依據本發明一實施例中之電子系統的方塊圖。電子系統100例如可為一個人電腦(personal computer)、一資料伺服器(data server)、一網路附加儲存裝置(network-attached storage,NAS),一可攜式電子裝置(portable electronic device)等等,但本發明並不限於此。可攜式電子裝置例如可為一筆記型電腦、手持行動電話、智慧型手機、平板電腦、個人數位助理(personal digital assistant,PDA)、數位相機(digital camera)、數位攝影機(digital video camera)、可攜式多媒體播放器(portable multimedia player)、個人導航裝置(personal navigation device)、手持遊戲主機(handheld game console)、電子書(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可劃分為複數個邏輯單元(logic unit),且各邏輯單元具有相應的邏輯單元編號(Logical Unit Number,LUN),且各邏輯單元(LUN)分別使用關聯的存取子介面與處理單元162進行溝通。在一些實施例中,各LUN可包括一或多個快閃記憶體晶粒或平面(plane),且各平面包括複數個物理區塊。
第2圖為依據本發明實施例之存取介面與儲存單元的方塊圖。資料儲存裝置140可包含j+1個存取子介面170_0至170_j,存取子介面又可稱為通道(channel),每一個存取子介面連接i+1個LUN。換句話說,i+1個LUN共享一個存取子介面。例如,當資料儲存裝置140包含4個通道(j=3)且每一個通道連接4個儲存單元(i=3)時,快閃記憶體180一共擁有16個LUN 180_0_0至180_j_i。處理單元162可驅動存取子介面170_0至170_j中之一者,從指定的LUN讀取資料。每個LUN擁有獨立的晶片致能(CE)控制訊號。
換句話說,當欲對指定的LUN進行資料讀取時,需要驅動關聯的存取子介面致能此LUN的晶片致能控制訊號。第3圖為依據本發明實施例之一個存取子介面與多個LUN的連接示意圖。處理單元162可透過存取子介面170_0使用獨立的晶片致能控制訊號320_0_0至320_0_i來從連接的LUN180_0_0至180_0_i中選擇出其中一者,接著,透過共享的資料線310_0從選擇出的LUN的指定位置讀取資料。
將資料寫入至快閃記憶體180的過程又稱為資料編程(Programming),資料編程是以頁面(Page)為單位,一個頁面可寫入(儲存)一筆頁面資料;抺寫則是以區塊(Block)為單位。頁面的大小例如16KB,一個頁面可分成4個區段(Sectors),則區段的大小例如4KB。
在一實施例中,為了增進資料儲存裝置140之效能,記憶體控制器160將多個區塊虛擬成一個超級區塊,並將一個超級區塊中位於不同區塊的多個頁面虛擬成一個超級頁面(Super Page,SP),並改以超級頁面SP作為資料編程的單位,則一個超級頁面SP可寫入(儲存)一筆超級頁面資料SPD。舉例來說,若快閃記憶體180是採用1路4通道之架構,例如第2圖之快閃記憶體180之架構為i=0及j=3,則一個超級頁面SP包括4個頁面,此時一個超級頁面SP可儲存4筆頁面資料。若快閃記憶體180是採用4路2通道之架構,例如第2圖之快閃記憶體180之架構為i=3及j=1,則一個超級頁面SP包括8個頁面,此時一個超級頁面SP可儲存8筆頁面資料,依此類推。為了便於說明,下述中快閃記憶體180之架構以4路4通道為例,意即在第2圖之快閃記憶體180之架構為i=3及j=3,但不以此為限。
在一實施例中,主機120命令資料儲存裝置140讀取或寫入512B或4KB大小的資料(使用者資料),並以邏輯位址作為資料的索引。邏輯位址例如可為邏輯區塊位址(logical block address,LBA)、全域主機頁編號(global host page,GHP)、主機區塊(host block)、主機頁(host page)等等。資料儲存裝置140運作時,記憶體控制器160較佳以區段大小(4KB)來管理來自於主機120的資料,並建立/更新邏輯至物理位址映射表(L2P表),L2P表係標示邏輯位址至物理空間的映射資訊,以回應來自主機120的指令。
如果動態隨機存取記憶體190之容量有限,或是資料儲存裝置140並未配置有動態隨機存取記憶體190而使用主機記憶體緩存,因此,無法將整個L2P表載入動態隨機存取記憶體190或主機記憶體緩存(Host Memory Buffer,HMB)。在此條件下,記憶體控制器160僅將部分L2P表載入動態隨機存取記憶體190或主機記憶體緩存。
第4圖為依據本發明一實施例中之L2P表及群組映射表的示意圖。在一實施例中,L2P表400例如可均等劃分為複數個群組(Group)映射表401,例如:1024個群組映射表401。群組映射表401之大小例如為4K位元組,假設群組映射表401的每一欄位(Entry)大小為4位元組,則群組映射表401可記錄1024筆映射資訊。為了方便群組的管理,一個群組映射表的大小較佳等於或小於頁面大小或區段大小,與資料管理的單位一致。
記憶體控制器160例如可將邏輯至物理位址映射表400中之部分的群組映射表401儲存至動態隨機存取記憶體190中之第一預定空間420,例如,可將16個群組映射表401儲存至第一預定空間420,如第4圖所示。
記憶體控制器160係由主機120接收一或多個存取指令以存取儲存於快閃記憶體180中之資料,上述存取指令例如可為寫入指令、讀取指令、修剪(Trim)指令等等。舉例來說,寫入指令帶有64個邏輯位址(可由邏輯起始位址加上63個邏輯位址數量來表示)以及64筆資料,則記憶體控制器160可以將此64筆資料寫入一個超級頁面中,並更新此64個邏輯位址在L2P表中的內容。
在一實施例中,假定記憶體控制器160所接收來自主機120的存取指令為寫入指令,記憶體控制器160會先判斷上述存取指令之各邏輯位址相應的群組映射表401是否已儲存於動態隨機存取記憶體190中。若上述存取指令之各邏輯位址相應的每一群組映射表401已儲存於動態隨機存取記憶體190中,則記憶體控制器160直接存取或更新動態隨機存取記憶體190中的群組映射表401;如果相應的群組映射表401尚未儲存於動態隨機存取記憶體190中,則控制器160會從快閃記憶體180讀取相應的群組映射表401至動態隨機存取記憶體190中,例如採用一預定置換(Swap)機制以將所讀取的群組映射表401置換原本儲存於動態隨機存取記憶體190的群組映射表401。其中,上述預定置換機制例如可為最近最少使用(least recently used,LRU)演算法、最近最不常用(least frequently used,LFU)演算法、先進先出(first-in-first-out,FIFO)演算法、二次機會演算法、等等,但本發明並不限於此。
第5A圖為依據本發明一實施例中之快閃記憶體的交錯編程(Interleaving Programming)機制之示意圖。資料編程包括設定階段(setup phase)及編程階段(programming phase),而交錯編程機制為一種加速資料編程的方式,使位於同一通道上的不同區塊輪流置於設定階段以及編程階段,達到節省設定階段或編程階段所需的時間。以晶片致能信號CE0為例,在設定階段,記憶體控制器160係將晶片致能信號CE0設定為低邏輯狀態,並輸出ALE、CLE、WE等操作指令以選取位於通道CH0~CH3中LUN的4個區塊。接著,記憶體控制器160將超級頁面資料SP1的4筆頁面資料分別傳輸至通道CH0~CH3中LUN的4個區塊,其中,設定階段所花費的時間例如稱為設定時間Ts
。在設定階段,記憶體控制器160命令上述4個區塊將接收的頁面資料寫入至指定的頁面(實體位址),其中,編程階段所花費的時間例如稱為編程時間Tprog
。當上述區塊置於編程階段時,記憶體控制器160將晶片致能信號CE0設定為高邏輯狀態,將晶片致能信號CE1設定為低邏輯狀態,使通道CH0~CH3中另外4個區塊進入設定階段。其中,此4個區塊與前4個區塊較佳置於不同的LUN中。如此一來,位於同一通道上的不同區塊可輪流置於設定階段以及編程階段。
在一種實施例中,記憶體控制器160僅以單一晶片致能信號來控制位於同一通道CH中的LUN,但以實體位址作為LUN的區塊的選取的依據。
當記憶體控制器160從主機120接收存取指令(例如為寫入指令)時,記憶體控制器160較佳以超級頁面SP作為資料管理的單位。因為快閃記憶體180之架構為4路4通道,故一個超級頁面資料SPD包括16筆頁面資料(64筆區段資料),記憶體控制器160分批或依序將16筆頁面資料寫入至快閃記憶體180的16個物理頁面中。舉例來說,欲將超級頁面資料SPD1寫入至快閃記憶體180,記憶體控制器160先致能晶片致能信號CE0,並將超級頁面資料SPD1的4筆頁面資料分別寫入至不同通道的4個物理頁面中,再依上述方法,依序致能晶片致能信號CE1~CE3,將剩下的12筆頁面資料分別寫入另外12個物理頁面中。
需注意的是,由同一個晶片致能控制信號CE所控制的4個LUN一旦進入了編程階段,則這些LUN會處於忙碌(busy)狀態,且需等到這些LUN的編程階段結束後,這些LUN才會離開忙碌狀態而進入準備(Ready)狀態,此時,記憶體控制器160才能再對這些LUN進行其他操作,例如讀取或寫入操作。
舉例來說,當記憶體控制器160在執行第一寫入指令時,在時間t1、t2、t3、及t4可以分別將晶片致能信號CE0、CE1、CE2、CE3設定為低邏輯狀態以進入設定階段,並分別傳輸頁面資料至各晶片通道CH0~CH3的區塊,例如,在時間t1分別傳輸超級頁面資料SPD1之頁面資料SPD1_0~3至通道CH0~CH3的4個區塊,在時間t2分別傳輸超級頁面資料SPD1之頁面資料SPD1_4~7至通道CH0~CH3的4個區塊,在時間t3分別傳輸超級頁面資料SPD1之頁面資料SPD1_8~11至通道CH0~CH3的4個區塊,在時間t4分別傳輸超級頁面資料SPD1之頁面資料SPD1_12~15至通道CH0~CH3的4個區塊,其中在時間t1、t2、t3、及t4之兩兩相鄰的間隔即為設定時間Ts
。
在時間t5,晶片致能信號CE3所控制的通道CH0~CH3之4個區塊的設定階段結束後,記憶體控制器160令此4個區塊進入編程階段。當此4個區塊完成編程階段(從忙碌狀態進入準備狀態),超級頁面資料SPD1的編程結束(完成)。
在時間t6,由於晶片致能信號CE0所控制的通道CH0~CH3之4個區塊已完成編程階段(時間t2至t6的編程時間Tprog
),記憶體控制器160可以開始超級頁面資料SPD2的編程。舉例來說,在時間t6,記憶體控制器160係將晶片致能信號CE0設定為低邏輯狀態,並輸出ALE、CLE、WE等操作指令以選取位於通道CH0~CH3的4個區塊,並將超級頁面資料SPD2的4筆頁面資料SPD2_0~SPD2_3分別傳輸至此4個區塊,再重覆上述的步驟,即可完成超級頁面資料SPD2的編程。
然而,由於資料儲存裝置140中的動態隨機存取記憶體190之空間僅能儲存16個群組映射表401,為了確保群組映射表401內容的正確性,因此,記憶體控制器160在寫入頁面資料後,會立刻更新群組映射表401的內容。然而,這將造成資料寫入以及讀取的衝突。例如,記憶體控制器160由主機120接收寫入指令,例如是寫入一64筆區段資料。當執行此寫入指令時,記憶體控制器160將64筆區段資料作為超級頁面資料SPD1,再依序將超級頁面資料SPD1的16筆頁面資料寫入快閃記憶體180。在寫入超級頁面資料SPD1的過程中,超級頁面資料SPD1的邏輯位址至物理位址映射關係也會依序改變,因此,記憶體控制器160需要更新一或多個群組映射表401的內容,再將更新後的群組映射表401寫入至快閃記憶體180。如果需要更新的群組映射表401不在動態隨機存取記憶體190中,則記憶體控制器160需要先從快閃記憶體180讀取需要更新的群組映射表401。若愈多需要更新的群組映射表401不在動態隨機存取記憶體190中,記憶體控制器160需要消耗愈多時間從快閃記憶體180讀取群組映射表401,相同地,需要消耗愈多時間將更新後群組映射表401寫入至快閃記憶體180。
如上所述,群組映射表401的更新與超級頁面資料SPD的寫入產生了衝突。另外,一般而言,記憶體控制器160會以較高優先權或是利用中斷信號來執行讀取指令,包括來自主機120或記憶體控制器160自主產生的讀取指令。當然,記憶體控制器160亦可以依序執行在指令佇列中的指令,指令佇列例如可儲存於一指令緩衝器(未繪示)。如第5B圖所示,在時間t2,記憶體控制器160從通道CH0相應的LUN讀取一個群組映射表401,讀取指令包括:指令載入階段(載入時間TCMD
)以及資料傳輸階段(傳輸時間TDMA
)。需注意的是,為了執行讀取指令,超級頁面資料SPD1的交錯寫入操作被迫中斷,必需等到時間t8,記憶體控制器160才能繼續致能晶片致能信號CE1、CE2、或CE3以進行剩餘頁面資料SPD1_4~SPD1_15的寫入。這會導致晶片致能信號CE1、CE2、或CE3之通道CH0~CH3的LUN的編程階段無法與晶片致能信號CE0之通道CH0~CH3的LUN的編程階段充分重疊,增加超級頁面資料SP1完全寫入至快閃記憶體180的時間,造成寫入效能下降(單位時間寫入資料儲存裝置140的資料量下降),另外,也增加資料管理以及指令執行的複雜度。
另外,在最差情況(worse case)下,記憶體控制器160所要讀取的群組映射表401剛好會位於目前晶片致能信號CE相應的LUN之中,如第5C圖所示,記憶體控制器160直到時間t11才完成晶片致能信號CE0之通道CH0~CH3的操作,才能繼續晶片致能信號CE1~CE3之通道CH0~CH3相應的LUN的操作。由圖中可知,從時間t1至t11之間,記憶體控制器160無法對晶片致能信號CE1~CE3之通道CH0~CH3執行任何操作,超級頁面資料SPD1完全寫入至快閃記憶體180的時間大幅拉長,進而造成資料儲存裝置140的寫入效能嚴重降低。這情況在隨機資料寫入的環境下容易發生,這使得資料儲存裝置140在隨機資料寫入的環境下寫入效能嚴重降低。
第5D及5E圖為依據本發明實施例中之快閃記憶體之寫入操作的交錯機制加入讀取動作的示意圖。
在本發明中,記憶體控制器160優先完成執行中的寫入指令(例如為目前寫入指令),當目前寫入指令執行完成之後,再判斷是否有佇列中的讀取指令,如果有,再執行讀取指令。舉例來說,記憶體控制器160接收來自主機120的二筆存取指令,例如,分別寫入64筆區段資料的二筆寫入指令;之後,又收來讀取LBA#1000的資料的第一筆讀取指令。假設,記憶體控制器160已開始執行第一筆寫入指令,則記憶體控制器160繼續執行第一筆寫入指令。在完成第一筆寫入指令的執行後,記憶體控制器160才判斷是否執行佇列中的讀取指令。由於有第一筆讀取指令在佇列中,所以記憶體控制器160接著執行讀取LBA#1000的資料的第一筆讀取指令。另外,由於第一筆寫入指令的執行,記憶體控制器160判斷第一筆寫入指令所對應的(一個或多個)群組映射表401是否已全部暫存在動態隨機存取記憶體190,針對尚未暫存至動態隨機存取記憶體190的群組映射表401,記憶體控制器160會產生讀取群組映射表401的第二筆讀取指令。在執行第一筆讀取指令時,記憶體控制器160可同時、接著或之後再執行第二筆讀取指令以讀取對應至第一筆寫入指令的群組映射表401。在取得群組映射表401之後,記憶體控制器160依據第一筆寫入指令的區段資料的物理位址以更新群組映射表401的內容。
之後,記憶體控制器160再執行寫入64筆區段資料的第二筆寫入指令。之後,記憶體控制器160產生第三筆讀取指令以讀取對應至第二筆寫入指令的一個或多個群組映射表401。如果第二筆讀取指令仍在佇列中,記憶體控制器160執行第二筆讀取指令。記憶體控制器160接著執行第三筆讀取指令以取得對應至第二筆寫入指令的一個或多個群組映射表401,並依據第二筆寫入指令的區段資料的物理位址以更新群組映射表401的內容。之後,記憶體控制器160產生並執行第三筆寫入指令,以寫入更新後的群組映射表401至快閃記憶體180。如果仍有更新後的群組映射表401尚未寫入至快閃記憶體180,記憶體控制器160產生並執行第四筆寫入指令,將剩餘更新後的群組映射表401寫入至快閃記憶體180。
另外,記憶體控制器160較佳記錄動態隨機存取記憶體190暫存的群組映射表401的更新狀態。例如,待動態隨機存取記憶體190更新後的群組映射表401的數量大於等於預設值,例如16,再產生並執行第三筆寫入指令。
舉例來說,如第5D圖所示,在時間t13,記憶體控制器160完成第一筆寫入指令的執行後,即各晶片致能信號CE0~CE3的LUN的編程階段均執行完畢後,假定記錄LBA#1000的群組映射表401已在動態隨機存取記憶體190中,記憶體控制器160查詢群組映射表401而得知LBA#1000的資料乃儲存在位於晶片致能信號CE3的通道CH0的LUN中,則記憶體控制器160致能晶片致能信號CE3並從通道CH0的LUN讀取LBA#1000的資料。另外,第二筆讀取指令為讀取位於晶片致能信號CE0的通道CH1的LUN中的一個群組映射表401,記憶體控制器160可同時致能晶片致能信號CE0並從通道CH1的LUN讀取群組映射表401,並將群組映射表401上傳至動態隨機存取記憶體190的第二預定空間430。在取得群組映射表401之後,記憶體控制器160可以更新群組映射表401的內容。在時間t14,此二筆讀取指令皆已執行完成。假設目前沒有佇列中的讀取指令,記憶體控制器160開始執行第二筆寫入指令,例如同樣使用交錯機制以將64筆區段資料分別寫入晶片致能信號CE0~CE3之通道CH0~CH3相應的LUN,其細節可參考前述實施例。
需注意的是,動態隨機存取記憶體190的第一預定空間420較佳是儲存執行讀取指令所需的群組映射表401;動態隨機存取記憶體190的第二預定空間430較佳是儲存執行寫入指令所需的群組映射表401。記憶體控制器160較佳會分別計數第一預定空間420以及第二預定空間430中的群組映射表401的數量,並動態地調整第一預定空間420或第二預定空間430的大小。
接著,在時間t15,超級頁面資料SPD2的寫入動作結束後,記憶體控制器160也已完成群組映射表401更新,此時,記憶體控制器160可將更新後的群組映射表401寫入至快閃記憶體180,或者,在滿足一預定條件下,記憶體控制器160才會將第一預定空間420中已更新的群組映射表401寫回快閃記憶體180。舉例來說,已更新的群組映射表401的數量大於等於64,如此一來,記憶體控制器160可將64個已更新的群組映射表401組成超級頁面資料SPD,再將此超級頁面資料SPD寫入快閃記憶體180。
另外,記憶體控制器160無需等待超級頁面資料SPD1完成寫入後再執行其他的讀取指令,只要LUN已從忙碌狀態進入準備狀態,記憶體控制器160即可對LUN進行操作。例如,最後一個晶片致能信號(例如CE3)之通道CH0~CH3相應的LUN已進入編程階段時,而晶片致能信號CE0之通道CH0~CH3相應的LUN的編程階段結束後(時間t6),記憶體控制器160可讀取晶片致能信號CE0之通道CH0~CH3中的群組映射表401,如第5E圖所示。或者,如果沒有佇列中的讀取指令,則開始超級頁面資料SPD2的寫入。
相較於第5B及5C圖,在第5D及5E圖之實施例中,讀取指令的執行不會影響超級頁面資料SPD的寫入,使得資料儲存裝置140可在單位時間內寫入較多的資料至快閃記憶體180,進而達到較佳的寫入效能。
第6圖係顯示依據本發明一實施例中之邏輯至物理位址映射表之更新方法的流程圖。
請同時參考第1圖及第6圖,在一實施例中,在步驟S610,記憶體控制器160將快閃記憶體180劃分為一第一LUN及一第二LUN,其中該第一LUN及該第二LUN分別由第一晶片致能信號及第二晶片致能信號所控制。
在步驟S620,記憶體控制器160將複數筆頁面資料組成超級頁面資料SPD。舉例來說,記憶體控制器160可由主機120接收一寫入指令,並將該寫入指令中的複數個頁面資料組成超級頁面資料。
在步驟S630,記憶體控制器160依序致能第一晶片致能信號及第二晶片致能信號,以將超級頁面資料SPD分段寫入至該第一LUN及該第二LUN。舉例來說,記憶體控制器160可使用交錯機制以將超級頁面資料之第一部分及第二部分分別寫入第一LUN及第二LUN,其中交錯機制之時序圖可參考第5D~5E圖。
在步驟S640,記憶體控制器160自該第一LUN或該第二LUN中讀取至少一群組映射表。舉例來說,記憶體控制器160所讀取的上述至少一群組映射表可以是來自主機120之讀取指令中之邏輯位址所相應的群組映射表,也可以是寫入指令中之邏輯位址所相應的群組映射表,但尚未儲存於動態隨機存取記憶體190。在一實施例中,若記憶體控制器160欲使用的群組映射表尚未儲存於動態隨機存取記憶體190,則記憶體控制器160會將欲使用的群組映射表之讀取指令加入指令佇列。此外,記憶體控制器160會優先完成執行中的寫入指令(例如為目前寫入指令),當目前寫入指令執行完成之後,再判斷是否有佇列中的讀取指令,如果有,再執行讀取指令。
在步驟S650,記憶體控制器160依據該等頁面資料的複數個邏輯位址及寫入至該第一LUN及該第二LUN的物理位址來更新至少一群組映射表。因為寫入超級頁面資料至第一LUN及第二LUN後,在超級頁面資料中之各頁面資料的邏輯至物理位址映射關係亦會改變。因此,記憶體控制器160可依據在寫入指令中之該等頁面資料所對應的複數個邏輯位址以及寫入至第一LUN及第二LUN中之物理位址以更新所讀取的該至少一群組映射表。
在步驟S660,記憶體控制器160將更新後的至少一群組映射表寫入至該第一LUN及該第二LUN的其中之一。因為記憶體控制器160所更新的至少一群組映射表亦屬於快閃轉譯層181中之邏輯至物理位址映射表(L2P表)的其中一部分,故記憶體控制器160會在適當時間(例如滿足一預定條件)將更新後的至少一群組映射表寫入至第一LUN及第二LUN的其中一者。其中,上述預定條件例如為動態隨機存取記憶體190中之已更新的群組映射表之數量達到一預定數量,例如可為一超級頁面的頁面數量,但本發明並不限於此。
綜上所述,本發明係提供一種資料儲存裝置及更新邏輯至物理位址映射表之更新方法,其可在資料儲存裝置之控制器的動態隨機存取記憶體之空間不足以存放整張邏輯至物理位址映射表的情況下,在執行寫入指令時可提供群組映射表的更新機制,使得記憶體控制器可在執行超級頁面的寫入指令時,不必中斷在不同晶片致能信號之LUN的寫入操作的交錯機制且可在一預定時間將寫入指令所需的群組映射表從快閃記憶體讀取至動態隨機存取記憶體,並在適當時間更新群組映射表並將更新後的群組映射表寫回快閃記憶體,藉以提昇資料儲存裝置之寫入效能。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
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:群組映射表420:第一預定空間430:第二預定空間t1:t18:時間CE0-CE3:晶片致能信號CH0-CH3:通道Ts:設定時間Tprog:編程時間TCMD:載入時間TDMA:傳輸時間SPD1_0-SP1_15、SPD2_0-SP2_15:頁面資料S510-S530、S610-S660:步驟
第1圖係顯示依據本發明一實施例中之電子系統的方塊圖。 第2圖為依據本發明一實施例之存取介面與儲存單元的方塊圖。 第3圖為依據本發明一實施例之一個存取子介面與多個LUN的連接示意圖。 第4圖為依據本發明一實施例中之邏輯至物理位址映射表及群組映射表的示意圖。 第5A圖為依據本發明一實施例中之快閃記憶體的寫入操作的交錯機制之示意圖。 第5B及5C圖為依據本發明一實施例中之快閃記憶體之寫入操作的交錯機制加入讀取動作的示意圖。 第5D及5E圖為依據本發明另一實施例中之快閃記憶體之寫入操作的交錯機制加入讀取動作的示意圖。 第6圖係顯示依據本發明一實施例中之邏輯至物理位址映射表之更新方法的流程圖。
100:電子系統
120:主機
140:資料儲存裝置
150:存取介面
160:記憶體控制器
162:處理單元
163:儲存單元
164:啟動程式
166:靜態隨機存取記憶體
170:存取介面
180:快閃記憶體
181:快閃轉譯層
190:動態隨機存取記憶體
Claims (12)
- 一種資料儲存裝置,包括: 一快閃記憶體,用以儲存一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表,其中該快閃記憶體包括一第一邏輯單元編號及一第二邏輯單元編號分別由一第一晶片致能信號及一第二晶片致能信號所控制; 一動態隨機存取記憶體,用以儲存一部分的該等群組映射表;以及 一記憶體控制器,用以接收來自一主機之一寫入指令,並將該寫入指令的複數筆頁面資料組成一超級頁面資料; 其中,該記憶體控制器係依序致能該第一晶片致能信號及該第二晶片致能信號以將該超級頁面資料分段寫入至該第一邏輯單元編號及該第二邏輯單元編號, 其中,因應於該超級頁面資料已寫入至該第一邏輯單元編號及該第二邏輯單元編號,該記憶體控制器係由該第一邏輯單元編號或該第二邏輯單元編號讀取至少一群組映射表至該動態隨機存取記憶體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中: 當致能該第一晶片致能信號以將該超級頁面資料之一第一區段寫入至該第一邏輯單元編號且相應於該至少一群組映射表之一第一讀取指令已儲存於一指令佇列中,該記憶體控制器係等待該第一邏輯單元編號進入編程階段後,致能該第二晶片致能信號以將該超級頁面資料之一第二區段寫入至該第二邏輯單元編號;以及 因應於該超級頁面資料已寫入至該第一邏輯單元編號及該第二邏輯單元編號,該記憶體控制器係執行該第一讀取指令由該第一邏輯單元編號或該第二邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體。
- 如申請專利範圍第2項所述之資料儲存裝置,其中當致能該第一晶片致能信號以將該超級頁面資料之一第一區段寫入至該第一邏輯單元編號且相應於該至少一群組映射表之一第一讀取指令已儲存於一指令佇列中: 因應於該至少一群組映射表位於該第一邏輯單元編號,在該第一邏輯單元編號之編程階段結束後,該記憶體控制器係執行該第一讀取指令由該第一邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體;以及 因應於該至少一群組映射表位於該第二邏輯單元編號,在該第一邏輯單元編號及該第二邏輯單元編號之編程階段結束後,該記憶體控制器係執行該第一讀取指令由該第二邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體。
- 如申請專利範圍第3項所述之資料儲存裝置,其中,在執行該第一讀取指令由該第一邏輯單元編號或該第二邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體後,該記憶體控制器更依據該寫入指令的該等頁面資料的複數個邏輯位址及寫入至該第一邏輯單元編號及該第二邏輯單元編號的複數個物理位址以更新該至少一群組映射表。
- 如申請專利範圍第4項所述之資料儲存裝置,其中在更新該至少一群組映射表後,因應於一預定條件已滿足時,該記憶體控制器係將儲存於該動態隨機存取記憶體中之更新後的該群組映射表寫入該快閃記憶體。
- 如申請專利範圍第5項所述之資料儲存裝置,其中該預定條件為在該動態隨機存取記憶體中之已更新的該群組映射表之數量達到一預定數量。
- 一種邏輯至物理位址映射表之更新方法,用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體及一動態隨機存取記憶體,該快閃記憶體用以儲存一邏輯至物理位址映射表,其中該邏輯至物理位址映射表係劃分為複數個群組映射表,其中該快閃記憶體包括一第一邏輯單元編號及一第二邏輯單元編號分別由一第一晶片致能信號及一第二晶片致能信號所控制,該方法包括: 將來自一主機之一寫入指令的複數筆頁面資料組成一超級頁面資料; 依序致能該第一晶片致能信號及該第二晶片致能信號以將該超級頁面資料分段寫入至該第一邏輯單元編號及該第二邏輯單元編號;以及 因應於該超級頁面資料已寫入至該第一邏輯單元編號及該第二邏輯單元編號,由該第一邏輯單元編號或該第二邏輯單元編號讀取至少一群組映射表至該動態隨機存取記憶體。
- 如申請專利範圍第7項所述之邏輯至物理位址映射表之更新方法,其中由該第一邏輯單元編號或該第二邏輯單元編號讀取至少一群組映射表至該動態隨機存取記憶體之步驟包括: 當致能該第一晶片致能信號以將該超級頁面資料之一第一區段寫入至該第一邏輯單元編號且相應於該至少一群組映射表之一第一讀取指令已儲存於一指令佇列中,等待該第一邏輯單元編號進入編程階段後,致能該第二晶片致能信號以將該超級頁面資料之一第二區段寫入至該第二邏輯單元編號;以及 因應於該超級頁面資料已寫入至該第一邏輯單元編號及該第二邏輯單元編號,執行該第一讀取指令由該第一邏輯單元編號或該第二邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體。
- 如申請專利範圍第7項所述之邏輯至物理位址映射表之更新方法,其中由該第一邏輯單元編號或該第二邏輯單元編號讀取至少一群組映射表至該動態隨機存取記憶體之步驟包括: 當致能該第一晶片致能信號以將該超級頁面資料之一第一區段寫入至該第一邏輯單元編號且相應於該至少一群組映射表之一第一讀取指令已儲存於一指令佇列中: 因應於該至少一群組映射表位於該第一邏輯單元編號,在該第一邏輯單元編號之編程階段結束後,執行該第一讀取指令由該第一邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體;以及 因應於該至少一群組映射表位於該第二邏輯單元編號,在該第一邏輯單元編號及該第二邏輯單元編號之編程階段結束後,執行該第一讀取指令由該第二邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體。
- 如申請專利範圍第9項所述之邏輯至物理位址映射表之更新方法,在執行該第一讀取指令由該第一邏輯單元編號或該第二邏輯單元編號讀取該至少一群組映射表至該動態隨機存取記憶體後,該方法更包括: 依據該寫入指令的該等頁面資料的複數個邏輯位址及寫入至該第一邏輯單元編號及該第二邏輯單元編號的複數個物理位址以更新該至少一群組映射表。
- 如申請專利範圍第10項所述之邏輯至物理位址映射表之更新方法,其中在更新該至少一群組映射表後,該方法更包括: 因應於一預定條件已滿足時,將儲存於該動態隨機存取記憶體中之更新後的該群組映射表寫入該快閃記憶體。
- 如申請專利範圍第11項所述之邏輯至物理位址映射表之更新方法,其中該預定條件為在該動態隨機存取記憶體中之已更新的該群組映射表之數量達到一預定數量。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108112529A TWI698744B (zh) | 2019-04-10 | 2019-04-10 | 資料儲存裝置及邏輯至物理位址映射表之更新方法 |
CN201910402944.4A CN111813703B (zh) | 2019-04-10 | 2019-05-15 | 数据储存装置及逻辑至物理地址映射表的更新方法 |
US16/429,415 US10776280B1 (en) | 2019-04-10 | 2019-06-03 | Data storage device and method for updating logical-to-physical mapping table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108112529A TWI698744B (zh) | 2019-04-10 | 2019-04-10 | 資料儲存裝置及邏輯至物理位址映射表之更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI698744B TWI698744B (zh) | 2020-07-11 |
TW202038096A true TW202038096A (zh) | 2020-10-16 |
Family
ID=72425762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108112529A TWI698744B (zh) | 2019-04-10 | 2019-04-10 | 資料儲存裝置及邏輯至物理位址映射表之更新方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10776280B1 (zh) |
CN (1) | CN111813703B (zh) |
TW (1) | TWI698744B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515559B (zh) * | 2019-08-27 | 2022-08-30 | 江苏华存电子科技有限公司 | 基于同步通道运作架构闪存主控之高效能指令序列控制器 |
CN114036079B (zh) * | 2021-09-07 | 2023-02-17 | 联芸科技(杭州)股份有限公司 | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 |
CN116149572A (zh) | 2023-02-24 | 2023-05-23 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器存储装置及存储器控制电路单元 |
CN118426707A (zh) * | 2024-07-04 | 2024-08-02 | 合肥康芯威存储技术有限公司 | 一种存储装置及其数据处理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
KR100843133B1 (ko) * | 2006-09-20 | 2008-07-02 | 삼성전자주식회사 | 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법 |
KR100885181B1 (ko) * | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
US9268682B2 (en) * | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US8954694B2 (en) * | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
TWI563510B (en) * | 2015-07-24 | 2016-12-21 | Phison Electronics Corp | Mapping table accessing method, memory control circuit unit and memory storage device |
TWI659307B (zh) * | 2017-01-06 | 2019-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
KR20180087925A (ko) * | 2017-01-25 | 2018-08-03 | 삼성전자주식회사 | 논리 어드레스와 물리 어드레스 사이에서 해싱 기반 변환을 수행하는 스토리지 장치 |
TWI639917B (zh) * | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
KR102458312B1 (ko) * | 2017-06-09 | 2022-10-24 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
TWI672590B (zh) * | 2017-06-27 | 2019-09-21 | 慧榮科技股份有限公司 | 資料儲存裝置 |
TWI679534B (zh) * | 2017-09-18 | 2019-12-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及資料儲存方法 |
-
2019
- 2019-04-10 TW TW108112529A patent/TWI698744B/zh active
- 2019-05-15 CN CN201910402944.4A patent/CN111813703B/zh active Active
- 2019-06-03 US US16/429,415 patent/US10776280B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111813703A (zh) | 2020-10-23 |
CN111813703B (zh) | 2024-08-30 |
US10776280B1 (en) | 2020-09-15 |
TWI698744B (zh) | 2020-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI698744B (zh) | 資料儲存裝置及邏輯至物理位址映射表之更新方法 | |
TWI709854B (zh) | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 | |
US8443144B2 (en) | Storage device reducing a memory management load and computing system using the storage device | |
US20180275921A1 (en) | Storage device | |
US20110296084A1 (en) | Data storage apparatus and method of writing data | |
TWI710905B (zh) | 資料儲存裝置及邏輯至物理位址映射表之載入方法 | |
TWI719654B (zh) | 閃存實體資源集合管理裝置及方法以及電腦程式產品 | |
US20190026220A1 (en) | Storage device that stores latency information, processor and computing system | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
US11573891B2 (en) | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
EP3270293B1 (en) | Two stage command buffers to overlap iommu map and second tier memory reads | |
EP4016310A1 (en) | Logical to physical address indirection table in a persistent memory in a solid state drive | |
US20210240642A1 (en) | Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method | |
TWI712884B (zh) | 資料儲存裝置及邏輯至物理位址映射表之寫入方法 | |
KR102549540B1 (ko) | 스토리지 장치 및 그 동작 방법 | |
US12105990B2 (en) | Parallel fragmented SGL fetching for hiding host turnaround time | |
US20240311039A1 (en) | Memory system | |
US20230103797A1 (en) | Memory controller and method of operating the same | |
US20240004578A1 (en) | Memory system and method of operating memory controller included in the memory system | |
US20210191885A1 (en) | Priority determination circuit and method of operating the priority determination circuit | |
KR20240006932A (ko) | 메모리 컨트롤러 및 이를 포함하는 저장 장치 | |
WO2012143944A2 (en) | Multi-host nand flash controller |