CN111610929A - 数据储存装置以及非挥发式存储器控制方法 - Google Patents
数据储存装置以及非挥发式存储器控制方法 Download PDFInfo
- Publication number
- CN111610929A CN111610929A CN201910782955.XA CN201910782955A CN111610929A CN 111610929 A CN111610929 A CN 111610929A CN 201910782955 A CN201910782955 A CN 201910782955A CN 111610929 A CN111610929 A CN 111610929A
- Authority
- CN
- China
- Prior art keywords
- mapping table
- node
- link list
- group mapping
- free
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 210
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013500 data storage Methods 0.000 title claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 218
- 238000005457 optimization Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009919 sequestration Effects 0.000 description 1
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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- 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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及高效能的数据储存装置。具体地说,涉及数据储存装置以及非挥发式存储器控制方法。本发明的一非挥发式存储器载有多个群组映射表组成的一映射表,记录一主机辨识用的逻辑地址如何映射至该非挥发式存储器的物理空间。一存储器控制器运用一暂存存储器操作该非挥发式存储器。该存储器控制器在该暂存存储器上规划一群组映射表暂存区,对应多个节点,供自该非挥发式存储器载出的群组映射表暂存。这些节点是以链结串列方式管理,以灵活使用有限的群组映射表暂存区。
Description
技术领域
本发明有关于数据储存装置,特别有关于非挥发式存储器的逻辑地址-物理空间映射表(L2P table)的维护。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(magnetoresistive RAM)、铁电随机存取存储器(ferroelectric RAM)、电阻式随机存取存储器(resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存。
非挥发式存储器有其特殊的储存特性,其操作以及管理需特殊设计。
发明内容
根据本发明一种实施方式实现的一数据储存装置包括一非挥发式存储器、一存储器控制器以及一暂存存储器。该非挥发式存储器载有多个群组映射表组成的一映射表,记录一主机辨识用的逻辑地址如何映射至该非挥发式存储器的物理空间。该存储器控制器运用该暂存存储器操作该非挥发式存储器。该存储器控制器在该暂存存储器上规划一群组映射表暂存区,对应多个节点供自该非挥发式存储器载出的群组映射表暂存,且以链结串列方式管理这些节点,以灵活使用有限的群组映射表暂存区。
一种实施方式中,该存储器控制器以一待封存链结串列使该群组映射表暂存区中经过更新而待封存的群组映射表与其他没有被更新的群组映射表区别。
一种实施方式中,该存储器控制器初始化以一自由链结串列管理该群组映射表暂存区对应的所有节点。更新无节点对应的一第一群组映射表时,该存储器控制器将该自由链结串列的尾端节点改动为该待封存链结串列的头端节点,并自该非挥发式存储器将该第一群组映射表载至该群组映射表暂存区,由该待封存链结串列的头端节点管理。
一种实施方式中,该存储器控制器更管理一无更新链结串列。根据该主机的读取要求呼叫无节点对应的一第二群组映射表时,该存储器控制器将该自由链结串列的尾端节点改动为该无更新链结串列的头端节点,并自该非挥发式存储器将该第二群组映射表载至该群组映射表暂存区,由该无更新链结串列的头端节点管理。
一种实施方式中,若非该主机要求而呼叫无节点对应、且不更新的一第三群组映射表,该存储器控制器将该自由链结串列的尾端节点改动为该自由链结串列的头端节点,并自该非挥发式存储器将该第三群组映射表载至该群组映射表暂存区,由该自由链结串列的头端节点管理。
一种实施方式中,更新该无更新链结串列管理的一第四群组映射表时,该存储器控制器将其节点改动为该待封存链结串列的头端节点。
一种实施方式中,更新该自由链结串列管理的一第五群组映射表时,该存储器控制器将其节点改动为该待封存链结串列的头端节点。
一种实施方式中,非该主机要求而呼叫该自由链结串列管理的一第六群组映射表、且不更新该第六群组映射表时,该存储器控制器将其节点改动为该自由链结串列的头端节点。
一种实施方式中,该自由链结串列的节点总数低于一第一定量、且该无更新链结串列的节点总数不低于一第二定量时,该存储器控制器将该无更新链结串列的尾端节点改动为该自由链结串列的头端节点。
一种实施方式中,该自由链结串列的节点总数低于该第一定量、且该无更新链结串列的节点总数低于该第二定量时,该存储器控制器将该待封存链结串列的尾端节点所管理的群组映射表封存回该非挥发式存储器后,改动为该自由链结串列的头端节点。
以上控制器对非挥发式存储器的操作也可以由其他结构实现。本发明还可以前述概念实现非挥发式存储器的控制方法,包括:令一非挥发式存储器载有多个群组映射表组成的一映射表,记录一主机辨识用的逻辑地址如何映射至该非挥发式存储器的物理空间;运用一暂存存储器操作该非挥发式存储器;且在该暂存存储器上规划一群组映射表暂存区,对应多个节点供自该非挥发式存储器载出的群组映射表暂存,且以链结串列方式管理这些节点。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1图解快闪存储器的物理架构,图示为一区块BLK;
图2图解快闪存储器操作用的映射资讯,图示为多个群组映射表L2P_G#;
图3图解一种链结串列技术,用于快闪存储器映射资讯的暂存管理;
图4为方块图,图解根据本发明一种实施方式所实施的一数据储存装置400;
图5图解链结串列技术中节点500的数据结构;
图6为本发明以链结串列来管理群组映射表L2P_G方法的流程图;
图7为本发明以链结串列来封存群组映射表L2P_G方法的流程图;
图8图解加入或移除链结串列的节点;
图9图解一般节点的加入或移除;
图10图解一种补足链结串列LLFree节点数量的技术;以及
图11图解另一种补足链结串列LLFree节点数量的技术。
符号说明
302…314~节点;
400~数据储存装置;
402~快闪存储器;
404~存储器控制器;
405~存储器控制器404的内部存储器;
406~暂存存储器;
408~主机;
410~***资讯区块池;
412~闲置区块池;
414~主动区块;
416~数据区块池;
418~主动区块映射表;
420~群组映射表暂存区;
500~节点;
802、804、806~链结改动;
902、904、906~链结改动;
1102~群组映射表L2P_G#封存;
1104~链结改动;
BLK~区块;
G#~节点资讯,节点对应到的逻辑地址群组;
G2N~逻辑群-节点映射表;
L2P~逻辑地址-物理空间映射表;
L2P_G#(#为数字(~群组映射表;
LLFree~自由链结串列;
LLUnchanged~无更新链结串列;
LLUnsaved~待封存链结串列;
next_node~节点资讯,指向串接的下一个节点;
node_Addr~节点资讯,节点对应到群组映射表暂存区420哪个位置;
node_ID~节点资讯,节点隶属哪个链结串列;
pre_node~节点资讯,指向串接的前一个节点;
S610…S660、S710…S760~步骤。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书来界定。
非挥发式存储器可以是快闪存储器(Flash Memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,用以储存来自于主机的使用者数据。数据储存装置的种类众多,包括记忆卡(Memory Card)、通用序列汇流排闪存装置(USBFlash Device)、固态硬碟(SSD)…等产品。有一种应用是采多晶片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如eMMC)。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为主机(Host),操作所使用的数据储存装置,以存取快闪存储器所储存的数据。
以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为主机(Host),操作所连结的固态硬碟,以存取快闪存储器所储存的数据。
图1图解快闪存储器的物理架构,图示为一区块BLK。图2图解快闪存储器操作用的映射资讯,图示为包括多个群组映射表L2P_G#。图3图解一种链结串列技术,用于快闪存储器映射资讯的暂存管理。图4为方块图,图解根据本发明一种实施方式所实施的数据储存装置400。
参阅图4,其中包括快闪存储器402、存储器控制器404以及暂存存储器406。主机408可透过存储器控制器404间接地存取快闪存储器402中的数据。另外,存储器控制器404可对快闪存储器402进行最佳化操作,例如:垃圾回收(Garbage Collection)、耗损平均(Wear Leveling)、区块数据搬移(Block Data Transfer)…等。存储器控制器404可利用暂存存储器406来暂存数据,以加速数据的存取。暂存存储器406可为DRAM。
快闪存储器402的物理空间是划分为多个区块(Blocks)配置使用。图1图解区块BLK的结构,其中包括多页面(Pages),例如,页面0…页面255。各页面包括多个区段(Sectors)。例如,图示各页面包括4个区段。16KB空间的页面可由四个4KB的区段组成。一种实施方式中,一区块是根据页面编号,由低至高编号(例如,页面0至页面255)配置来储存使用者数据。一种实施方式中,数据储存装置采用多通道技术,是以跨通道的超级区块(SuperBlock)、超级页面(Super Page)管理储存空间,将可提升数据储存装置的数据吞吐量。另外,如果再采用交错式(Interleaving)存取方式,数据储存装置的数据吞吐量可再进一步提升。
快闪存储器402有其特殊的储存特性。旧数据更新并非同空间复写。新版的数据需被写入闲置空间,而旧空间内容将被标为无效。区块可能零星留存有效数据,可以垃圾回收(Garbage Collection)技术搬移到闲置空间。徒留无效数据的区块得以被抹除(Erase)再利用。快闪存储器402的物理空间是动态地被配置使用。相较于主机(Host)端是以逻辑地址(例如,逻辑区块地址LBA或全域主机页编号GHP…等)区别数据,各逻辑地址究竟对应至快闪存储器哪一个物理空间(哪一区块、哪一页面、哪一区段)需以逻辑地址-物理空间映射表(Logical-to-Physical mapping table,L2P映射表,如载于***资讯区块池410)管理,其中,逻辑地址例如是逻辑区块地址(Logical Block Address,LBA)。
快闪存储器402多种操作都需参考、或可能牵动映射资讯。快闪存储器402的读取需要参考L2P映射表(410所记录的映射资讯)。数据写入快闪存储器402之后则会更新L2P映射表(410)。除了因应主机408的读、写要求,数据储存装置400可能还会启动其他程序,例如:垃圾回收(Garbage Collection)、耗损平均(Wear Leveling)…等。以上操作也都涉及L2P映射表(410)的参考或更新。相应的,数据储存装置400通常需要配置暂存存储器406(如DRAM),将全部或部份L2P映射表(410)上载至暂存存储器406,以加速映射资讯的参考或更新。
然而,随着快闪存储器402的储存容量提升,L2P映射表(410)的大小也跟着变大,因此,L2P映射表(410)的维护变成一个重要的技术课题。一种实施方式中,4KB大小的数据的物理地址以4B大小数值来表示,如果数据储存装置400的储存容量为1TB,则数据储存装置400需要1GB大小的L2P映射表(410)来管理1TB大小的数据,因此,数据储存装置400需配置至少1GB大小的暂存存储器406。
考量DRAM的采购成本或储存容量的限制,本发明将逻辑地址区分为多个逻辑地址群组,例如:1024个,据以将L2P映射表(410)划分为多个群组映射表L2P_G,被呼叫到的群组映射表L2P_G才会被上载至DRAM,作为参考或更新。图2图解群组映射表L2P_G的定义。一种实施方式是以定量的逻辑地址切割L2P映射表(410),形成对应不同逻辑地址群组的多个群组映射表L2P_G,例如:群组映射表L2P_G0包含LBA0~LBA1023的映射资讯,群组映射表L2P_G1包含LBA1024~LBA2047的映射资讯。相较于上载一整个L2P映射表(410),仅上载局部数量,例如:16个,群组映射表L2P_G仅需小量的储存空间,因此,只需采购低成本的小容量的DRAM即可,此种硬体特征又称为部份(Partial)DRAM。
快闪存储器402的区块可依据不同的使用目的而有所区分,例如:储存群组映射表L2P_G集合的L2P映射表的区块称为***区块,并推入至***资讯区块池410。取自闲置区块池412的闲置区块可作为主动区块414,并用于接收来自主机408的使用者数据(简称为数据)。主动区块414关闭后(例如,写入区块结尾(End Of Block,简称EOB)资讯后),将变更为数据区块,并推入至数据区块池416。当数据区块不再包含有效的数据后,数据区块变更为闲置区块并推入至闲置区块池412。另外,主动区块414也可作为最佳化操作时的目的区块。
如何有效率地管理DRAM中的群组映射表L2P_G成为一门重要的技术课题。本发明揭露以链结串列(Linked List)来管理暂存在DRAM(406)的群组映射表L2P_G。DRAM(406)的储存空间划分成N个储存空间以暂存N个群组映射表,N例如是16,每一储存空间可由起始地址所表示,每一储存空间的大小于1个群组映射表L2P_G的大小,链结串列则具有N个节点(Nodes),每个节点对应至一个储存空间,即每个节点记录一个起始地址,因此,可以利用链结串列的节点来实现群组映射表L2P_G的管理。
如图3所示,本发明采用三条链结串列,每一链结串列具有不同的识别码,扮演不同的功能。第一种链结串列用以记录可使用的自由节点(Free Nodes),例如:共计有16个可使用的自由节点,称为自由链结串列,以下将标号LLFree。另一种链结串列用以记录已更新、需封存(Unsaved)的群组映射表L2P_G,称为待封存链结串列,以下将标号LLUnsaved。第三种链结串列用以记录没有被更新(Unchanged)的群组映射表L2P_G,称为无更新链结串列,以下将标号LLUunchanged。待封存链结串列LLUnsaved以及无更新链结串列LLUnchanged的节点数量一开始为0,之后,可将自由链结串列LLFree的节点变更成自身的节点。各链结串列的多个节点自头端(Head)节点一路串接到尾端(Tail)节点。节点的先后顺序可表示其对应的群组映射表L2P_G的使用频率。例如:头端(Head)节点又称为热节点,这表示其对应的群组映射表L2P_G近期有使用;相对的,尾端节点则称为冷节点,这表示其对应的群组映射表L2P_G近期未使用。
图5图解链结串列技术中节点500的数据结构,较佳包括以下资讯:
pre_node:指标(Pointer)指向前一个节点的地址;
next_node:指标指向下一个节点的地址;
node_Addr:群组映射表L2P_G在暂存存储器406的储存地址;
G#:群组映射表L2P_G的编号;
node_ID:链结串列的识别码,例如:自由链结串列LLFree、待封存链结串列LLUnsaved或无更新链结串列LLUunchanged。
存储器控制器404可利用DRAM 406或内部存储器405,例如:SRAM,来暂存前述自由链结串列LLFree、待封存链结串列LLUnsaved或无更新链结串列LLUunchanged,以加速群组映射表暂存区420中的群组映射表L2P_G的管理。此外,DRAM406或内部存储器405更可暂存逻辑地址群组-节点映射表(G2N映射表),用以记录逻辑群组映射表L2P_G编号与节点的映射关系。G2N映射表为可选择的(Optional),存储器控制器404亦可依序读取自由链结串列LLFree、待封存链结串列LLUnsaved或无更新链结串列LLUunchanged中节点的内容来得知群组映射表L2P_G的地址,或判断群组映射表L2P_G是否记录在自由链结串列LLFree、待封存链结串列LLUnsaved或无更新链结串列LLUunchanged的节点中。
图6为本发明以链结串列来管理群组映射表L2P_G方法的流程图。步骤S610,存储器控制器404建立具有多个节点的自由链结串列LLFree,例如;存储器控制器404在DRAM(406)上建立16个节点的自由链结串列LLFree。
步骤S620,存储器控制器404将暂存存储器406的储存空间划分成多个群组储存空间,例如;存储器控制器404将DRAM(406)的储存空间划分成16个群组储存空间,每一群组储存空间用以储存一个群组映射表L2P_G。
步骤S630,存储器控制器404将多个群组储存空间的多个起始地址分别记录至多个节点的储存地址。存储器控制器404将16个群组储存空间在DRAM(406)上的地址(起始地址)一一记录至16个节点的资讯node_Addr中。
步骤S640,存储器控制器404将目标群组映射表L2P_G储存至自由链结串列LLFree的尾端节点所记录的储存地址。存储器控制器404可依据主机指令(读、写要求)或最佳化操作而存取目标群组映射表L2P_G,目标群组映射表L2P_G例如是群组映射表L2P_G13,则存储器控制器404将群组映射表L2P_G13自快闪存储器402中读出,并暂存至自由链结串列LLFree的尾端节点所记录的储存地址。
步骤S650,存储器控制器404将目标群组映射表L2P_G的编号记录至自由链结串列LLFree的尾端节点中。以群组映射表L2P_G13为例,存储器控制器404将目标群组映射表L2P_G的编号13记录至自由链结串列LLFree的尾端节点的资讯G#中。
步骤S660,存储器控制器404将自由链结串列LLFree的尾端节点变更为待封存链结串列LLUnsaved或无更新链结串列LLUunchanged的头端节点。存储器控制器404依据主机408的读、写要求来变更目标群组映射表L2P_G所在的链结串列。回到图3,为了回应主机408的读、写要求,假设存储器控制器404需要存取7个群组映射表L2P_G,分别为群组映射表L2P_G10、L2P_G11、L2P_G1、L2P_G12、L2P_G3、L2P_G20、L2P_G21。其中,群组映射表L2P_G10、L2P_G11用以回应主机408的读要求,即仅作为参考而不做映射资讯更新,因此,执行完本发明以链结串列来管理群组映射表L2P_G方法的步骤后,存储器控制器404依序将记录在自由链结串列LLFree尾端节点的群组映射表L2P_G10、L2P_G11变更至无更新链结串列LLUnchanged的节点302、304。群组映射表L2P_G1、L2P_G12、L2P_G3用以回应主机408的写要求,需要进行映射资讯的更新,因此,执行完本发明以链结串列来管理群组映射表L2P_G方法的步骤后,存储器控制器404依序将记录在自由链结串列LLFree尾端节点的群组映射表L2P_G1、L2P_G12、L2P_G3依序上传至待封存链结串列LLUnsaved的节点306、308以及310(头端)。群组映射表L2P_G20、L2P_G21用以回应主机408的读要求,因此,执行完本发明以链结串列来管理群组映射表L2P_G方法的步骤后,存储器控制器404依序将记录在自由链结串列LLFree尾端节点的群组映射表L2P_G20、L2P_G21变更至无更新链结串列LLUnchanged的节点312、314(头端)。
由于7个自由节点已被使用,包括待封存链结串列LLUnsaved使用了3个自由节点以及无更新链结串列LLUnchanged使用了4个自由节点,所以自由链结串列LLFree中可使用的自由节点只剩下9个。
当欲存取目标群组映射表L2P_G时,例如:无更新链结串列LLUnchanged的节点302所对应的群组映射表L2P_G10,存储器控制器404可依据群组映射表L2P_G10的编号10来查询G2N映射表,若编号10记录在G2N映射表中,则读取G2N映射表中编号10所对应的节点,即节点302,存储器控制器404再依据节点302中的资讯node_Addr即可取得群组映射表L2P_G10,接着,存储器控制器404可参考或更新目标群组映射表L2P_G所记录的映射资讯,以回应主机408的读、写要求。若目标群组映射表L2P_G为群组映射表L2P_G9,编号9未记录在G2N映射表中,这表示群组映射表L2P_G9并未记录在任一链结串列中,则存储器控制器404执行本发明以链结串列来管理群组映射表L2P_G方法以取得群组映射表L2P_G9。
当数据开始写入至主动区块414,存储器控制器404可在暂存存储器406上维护物理-逻辑(Physical to Logical Addresses,P2L)映射表418,显示主动区块414的物理空间究竟储存那些逻辑地址的数据,即记录物理空间至逻辑地址的映射资讯。之后,存储器控制器404可利用P2L映射表418来更新群组映射表L2P_G的内容。
存储器控制器404将待封存链结串列LLUnsaved的节点所对应的群组映射表L2P_G写入至快闪存储器402,应该自待封存链结串列LLUnsaved中移除,以免被重复写入至快闪存储器402。为了满足上述需求,本发明揭露一种以链结串列来封存群组映射表L2P_G方法,如图7,其中,多种触发条件皆可启动本发明以链结串列来封存群组映射表L2P_G方法,例如:阀值时间(例如:100ms)、封存阀值(例如:数值等于4)、自由链结串列LLFree的节点数目小于等于节点阀值(例如:数值等于2)、发生掉电事件等等。
步骤S710,存储器控制器404判断群组映射表的封存条件是否满足,如果是则执行步骤S720,如果否则持续监控群组映射表的封存条件是否满足。
步骤S720,存储器控制器404选取第一链结串列中的多节点。存储器控制器404选取待封存链结串列LLUnsaved的多节点,例如:从尾端倒数的4个节点,分别对应至群组映射表L2P_G1、L2P_G12、L2P_G3以及L2P_G30。
步骤S730,存储器控制器404依据所选取的节点所记录的多储存地址取得多群组映射表。存储器控制器404依据4个节点所记录的4个储存地址即可取得群组映射表L2P_G1、L2P_G12、L2P_G3以及L2P_G30。
步骤S740,存储器控制器404将多群组映射表写入快闪存储器。存储器控制器404以预设编程模式,例如:TLC或QLC编程模式,或非预设编程模式,例如:SLC编程模式,将群组映射表L2P_G1、L2P_G12、L2P_G3以及L2P_G30写入快闪存储器402,其中,4个群组映射表L2P_G较佳写入***区块的同一页面中。
步骤S750,存储器控制器404将所选取的多节点自第一链结串列中的移除。存储器控制器404将被选取的4个节点自待封存链结串列LLUnsaved中的移除,此时,待封存链结串列LLUnsaved中原尾端倒数的第5个节点将成为新的尾端节点。
步骤S760,存储器控制器404将所选取的多节点加入至第二链结串列的头部。存储器控制器404将4个节点加入至无更新链结串列LLUnchanged的头部,此时,待封存链结串列LLUnsaved中原尾端倒数的第4个节点将成为无更新链结串列LLUnchanged的新的头部节点。
在上述中,存储器控制器404藉由改变节点的资讯pre_node、next_node以及node_ID的值来改变节点位置。另外,当一个节点被移除或加入时,存储器控制器404也需要改变其他节点的内容,例如:被移除或加入节点的上一个以及下一个节点的内容,以保持链结串列的完整性。
图8图解加入或移除链结串列的节点。假设自由链结串列LLFree尾端节点记录群组映射表L2P_G13,此时,存储器控制器404欲更新群组映射表L2P_G13的内容,则自由链结串列LLFree尾端节点,如箭头802,自自由链结串列LLFree中移除,并加入至待封存链结串列LLUnsaved而成为头端节点,之后,存储器控制器404可更新群组映射表L2P_G13的内容。另一方面,如果存储器控制器404欲参考更新群组映射表L2P_G13的内容,则自由链结串列LLFree尾端节点,如箭头806,自自由链结串列LLFree中移除,并加入至无更新链结串列LLUnchanged而成为头端节点,之后,存储器控制器404可参考群组映射表L2P_G13的内容。如果存储器控制器404欲参考更新群组映射表L2P_G13的内容以完成最佳化操作,则自由链结串列LLFree尾端节点,如箭头804,在自由链结串列LLFree中移动,成为自由链结串列LLFree头端节点,之后,存储器控制器404可参考群组映射表L2P_G13的内容。
另外,存储器控制器404可依据其需求而改变节点的位置,如图9所示,假设自由链结串列LLFree其中的一节点记录群组映射表L2P_G13,此时,存储器控制器404欲更新群组映射表L2P_G13的内容,则此节点,如箭头902,自自由链结串列LLFree中移除,并加入至待封存链结串列LLUnsaved而成为头端节点,之后,存储器控制器404可更新群组映射表L2P_G13的内容。如果存储器控制器404欲参考更新群组映射表L2P_G13的内容以完成最佳化操作,则此节点,如箭头906,在自由链结串列LLFree中移动,搬移至自由链结串列LLFree头端,之后,存储器控制器404可参考群组映射表L2P_G13的内容。假设群组映射表L2P_G13并非记录在自由链结串列LLFree,而是记录在无更新链结串列LLUnchanged其中的一节点,存储器控制器404欲更新群组映射表L2P_G13的内容,则此节点,如箭头904,自无更新链结串列LLUnchanged中移除,并加入至待封存链结串列LLUnsaved而成为头端节点,之后,存储器控制器404可更新群组映射表L2P_G13的内容。
另外,为了减轻存储器控制器404的运算负担,已暂存在群组映射表暂存区420的群组映射表L2P_G13再次利用时,也可设计成不改动其链结管理。例如,群组映射表L2P_G13需再次被参考以回应主机408的读取要求或完成最佳化操作,如果记录群组映射表L2P_G13的节点已置于待封存链结串列LLUnsaved或无更新链结串列LLUnchanged,则不改动节点位置以减轻存储器控制器404的运算负担。一种实施方式中,群组映射表L2P_G13需再次被更新以回应主机408的写入指令或完成最佳化操作,如果记录群组映射表L2P_G13的节点属于待封存链结串列LLUnsaved,则不改动节点位置以减轻存储器控制器404的运算负担。
自由链结串列LLFree须维持不小于节点阀值的节点数量,如果自由链结串列LLFree的节点数量等于或小于节点阀值,如图10所示,存储器控制器404将无更新链结串列LLUnchanged尾端节点加入至自由链结串列LLFree并成为头端节点,如此一来,自由链结串列LLFree的节点数量即可大于节点阀值。或者,如图11所示,存储器控制器404依据待封存链结串列LLUnsaved尾端节点的内容以取得已更新的群组映射表L2P_G13的储存地址,再将已更新的群组映射表L2P_G13写入至快闪存储器402,完成L2P映射表410的更新,如箭头1102所示。接着,存储器控制器404将待封存链结串列LLUnsaved尾端节点加入至自由链结串列LLFree并成为头端节点,如此一来,自由链结串列LLFree的节点数量即可大于节点阀值,如箭头1104所示。
根据本发明自由链结串列LLFree、待封存链结串列LLUnsaved或无更新链结串列LLUunchanged,暂存存储器406的群组映射表暂存区420的使用可被最佳化,因此,即使仅配置部份DRAM,数据储存装置仍可提供不错的***效能。
以上存储器控制器404对快闪存储器402的操作设计也可以由其他结构实现。凡是使用多个链结串列来管理群组映射表L2P_G的技术,都属于本发明欲保护范围。本发明更可以前述概念实现非挥发式存储器的控制方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当以权利要求书界定为准。
Claims (20)
1.一种数据储存装置,包括:
一非挥发式存储器,载有多个群组映射表组成的一映射表,记录一主机辨识用的逻辑地址如何映射至该非挥发式存储器的物理空间;以及
一存储器控制器以及一暂存存储器,
其中:
该存储器控制器运用该暂存存储器操作该非挥发式存储器;且
该存储器控制器在该暂存存储器上规划一群组映射表暂存区,对应多个节点供自该非挥发式存储器载出的群组映射表暂存,且以链结串列方式管理这些节点。
2.如权利要求1所述的数据储存装置,其特征在于:
该存储器控制器以一待封存链结串列使该群组映射表暂存区中经过更新而待封存的群组映射表与其他没有被更新的群组映射表区别。
3.如权利要求2所述的数据储存装置,其特征在于:
该存储器控制器初始化以一自由链结串列管理该群组映射表暂存区对应的所有节点;且
更新无节点对应的一第一群组映射表时,该存储器控制器将该自由链结串列的尾端节点改动为该待封存链结串列的头端节点,并自该非挥发式存储器将该第一群组映射表载至该群组映射表暂存区,由该待封存链结串列的头端节点管理。
4.如权利要求3所述的数据储存装置,其特征在于:
该存储器控制器更管理一无更新链结串列;
根据该主机的读取要求呼叫无节点对应的一第二群组映射表时,该存储器控制器将该自由链结串列的尾端节点改动为该无更新链结串列的头端节点,并自该非挥发式存储器将该第二群组映射表载至该群组映射表暂存区,由该无更新链结串列的头端节点管理。
5.如权利要求4所述的数据储存装置,其特征在于:
若非该主机要求而呼叫无节点对应、且不更新的一第三群组映射表,该存储器控制器将该自由链结串列的尾端节点改动为该自由链结串列的头端节点,并自该非挥发式存储器将该第三群组映射表载至该群组映射表暂存区,由该自由链结串列的头端节点管理。
6.如权利要求5所述的数据储存装置,其特征在于:
更新该无更新链结串列管理的一第四群组映射表时,该存储器控制器将其节点改动为该待封存链结串列的头端节点。
7.如权利要求6所述的数据储存装置,其特征在于:
更新该自由链结串列管理的一第五群组映射表时,该存储器控制器将其节点改动为该待封存链结串列的头端节点。
8.如权利要求7所述的数据储存装置,其特征在于:
非该主机要求而呼叫该自由链结串列管理的一第六群组映射表、且不更新该第六群组映射表时,该存储器控制器将其节点改动为该自由链结串列的头端节点。
9.如权利要求8所述的数据储存装置,其特征在于:
该自由链结串列的节点总数低于一第一定量、且该无更新链结串列的节点总数不低于一第二定量时,该存储器控制器将该无更新链结串列的尾端节点改动为该自由链结串列的头端节点。
10.如权利要求9所述的数据储存装置,其特征在于:
该自由链结串列的节点总数低于该第一定量、且该无更新链结串列的节点总数低于该第二定量时,该存储器控制器将该待封存链结串列的尾端节点所管理的群组映射表封存回该非挥发式存储器后,改动为该自由链结串列的头端节点。
11.一种非挥发式存储器控制方法,包括:
令一非挥发式存储器载有多个群组映射表组成的一映射表,记录一主机辨识用的逻辑地址如何映射至该非挥发式存储器的物理空间;
运用一暂存存储器操作该非挥发式存储器;且
在该暂存存储器上规划一群组映射表暂存区,对应多个节点供自该非挥发式存储器载出的群组映射表暂存,且以链结串列方式管理这些节点。
12.如权利要求11所述的非挥发式存储器控制方法,其特征在于,还包括:
以一待封存链结串列使该群组映射表暂存区中经过更新而待封存的群组映射表与其他没有被更新的群组映射表区别。
13.如权利要求12所述的非挥发式存储器控制方法,其特征在于,还包括:
初始化以一自由链结串列管理该群组映射表暂存区对应的所有节点;且
更新无节点对应的一第一群组映射表时,将该自由链结串列的尾端节点改动为该待封存链结串列的头端节点,并自该非挥发式存储器将该第一群组映射表载至该群组映射表暂存区,由该待封存链结串列的头端节点管理。
14.如权利要求13所述的非挥发式存储器控制方法,其特征在于,还包括:
管理一无更新链结串列;
根据该主机的读取要求呼叫无节点对应的一第二群组映射表时,将该自由链结串列的尾端节点改动为该无更新链结串列的头端节点,并自该非挥发式存储器将该第二群组映射表载至该群组映射表暂存区,由该无更新链结串列的头端节点管理。
15.如权利要求14所述的非挥发式存储器控制方法,其特征在于,还包括:
若非该主机要求而呼叫无节点对应、且不更新的一第三群组映射表,将该自由链结串列的尾端节点改动为该自由链结串列的头端节点,并自该非挥发式存储器将该第三群组映射表载至该群组映射表暂存区,由该自由链结串列的头端节点管理。
16.如权利要求15所述的非挥发式存储器控制方法,其特征在于,还包括:
更新该无更新链结串列管理的一第四群组映射表时,将其节点改动为该待封存链结串列的头端节点。
17.如权利要求16所述的非挥发式存储器控制方法,其特征在于,还包括:
更新该自由链结串列管理的一第五群组映射表时,将其节点改动为该待封存链结串列的头端节点。
18.如权利要求17所述的非挥发式存储器控制方法,其特征在于,还包括:
非该主机要求而呼叫该自由链结串列管理的一第六群组映射表、且不更新该第六群组映射表时,将其节点改动为该自由链结串列的头端节点。
19.如权利要求18所述的非挥发式存储器控制方法,其特征在于,还包括:
该自由链结串列的节点总数低于一第一定量、且该无更新链结串列的节点总数不低于一第二定量时,将该无更新链结串列的尾端节点改动为该自由链结串列的头端节点。
20.如权利要求19所述的非挥发式存储器控制方法,其特征在于,还包括:
该自由链结串列的节点总数低于该第一定量、且该无更新链结串列的节点总数低于该第二定量时,将该待封存链结串列的尾端节点所管理的群组映射表封存回该非挥发式存储器后,改动为该自由链结串列的头端节点。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962810422P | 2019-02-26 | 2019-02-26 | |
US62/810,422 | 2019-02-26 | ||
TW108125218A TWI706250B (zh) | 2019-02-26 | 2019-07-17 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108125218 | 2019-07-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111610929A true CN111610929A (zh) | 2020-09-01 |
CN111610929B CN111610929B (zh) | 2023-04-14 |
Family
ID=72142115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910782955.XA Active CN111610929B (zh) | 2019-02-26 | 2019-08-23 | 数据储存装置以及非挥发式存储器控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11182286B2 (zh) |
CN (1) | CN111610929B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327277A (zh) * | 2021-12-29 | 2022-04-12 | 深圳华电通讯有限公司 | 垃圾回收的异常处理方法、装置、计算机设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319778A (en) * | 1991-07-16 | 1994-06-07 | International Business Machines Corporation | System for manipulating elements in linked lists sharing one or more common elements using head nodes containing common offsets for pointers of the linked lists |
US7587427B2 (en) * | 2005-09-30 | 2009-09-08 | Fujitsu Limited | Hierarchical storage system, and control method and program therefor |
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 |
TW201413453A (zh) * | 2012-09-20 | 2014-04-01 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
US20140181415A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Prefetching functionality on a logic die stacked with memory |
CN104750616A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
US20160004642A1 (en) * | 2013-12-12 | 2016-01-07 | Hitachi, Ltd. | Storage device and method for controlling storage device |
US20170322888A1 (en) * | 2016-05-05 | 2017-11-09 | HGST Netherlands B.V. | Zoning of logical to physical data address translation tables with parallelized log list replay |
TW201826126A (zh) * | 2017-01-06 | 2018-07-16 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
CN108874301A (zh) * | 2017-05-08 | 2018-11-23 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
US20190057038A1 (en) * | 2017-08-21 | 2019-02-21 | Micron Technology, Inc. | Logical to physical mapping |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204702A1 (en) | 2002-04-30 | 2003-10-30 | Adc Dsl Systems, Inc. | Flexible memory architecture for an embedded processor |
WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
WO2012090239A1 (en) * | 2010-12-27 | 2012-07-05 | Hitachi, Ltd. | Storage system and management method of control information therein |
TWI521343B (zh) | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
US9128845B2 (en) | 2012-07-30 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Dynamically partition a volatile memory for a cache and a memory partition |
US9256384B2 (en) | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
TWI514140B (zh) | 2013-02-05 | 2015-12-21 | Via Tech Inc | 非揮發性記憶裝置及其操作方法 |
WO2014155525A1 (ja) * | 2013-03-26 | 2014-10-02 | 株式会社日立製作所 | ストレージシステム及び制御方法 |
US9383927B2 (en) | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
US9460025B1 (en) * | 2014-06-12 | 2016-10-04 | Emc Corporation | Maintaining a separate LRU linked list for each thread for multi-threaded access |
US9529731B1 (en) * | 2014-06-12 | 2016-12-27 | Emc Corporation | Contention-free approximate LRU for multi-threaded access |
US9858008B2 (en) | 2014-10-30 | 2018-01-02 | ScaleFlux | Method to reduce flash memory IOs with host maintained address mapping table |
KR20160118836A (ko) | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
TWI537728B (zh) | 2015-09-23 | 2016-06-11 | 群聯電子股份有限公司 | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI587214B (zh) | 2016-04-21 | 2017-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置、其控制單元及其任務排序方法 |
US10810123B1 (en) * | 2017-10-25 | 2020-10-20 | EMC IP Holding Company, LLC | Flush strategy for using DRAM as cache media system and method |
KR20190090635A (ko) * | 2018-01-25 | 2019-08-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI660346B (zh) | 2018-09-07 | 2019-05-21 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
WO2020164064A1 (en) * | 2019-02-14 | 2020-08-20 | Micron Technology, Inc. | Partial caching of media address mapping data |
US10997082B2 (en) | 2019-06-25 | 2021-05-04 | Intel Corporation | Memory system, computing system, and methods thereof for cache invalidation with dummy address space |
-
2019
- 2019-08-23 CN CN201910782955.XA patent/CN111610929B/zh active Active
- 2019-09-27 US US16/585,583 patent/US11182286B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319778A (en) * | 1991-07-16 | 1994-06-07 | International Business Machines Corporation | System for manipulating elements in linked lists sharing one or more common elements using head nodes containing common offsets for pointers of the linked lists |
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 |
US7587427B2 (en) * | 2005-09-30 | 2009-09-08 | Fujitsu Limited | Hierarchical storage system, and control method and program therefor |
TW201413453A (zh) * | 2012-09-20 | 2014-04-01 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
US20140181415A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Prefetching functionality on a logic die stacked with memory |
US20160004642A1 (en) * | 2013-12-12 | 2016-01-07 | Hitachi, Ltd. | Storage device and method for controlling storage device |
CN104750616A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
US20170322888A1 (en) * | 2016-05-05 | 2017-11-09 | HGST Netherlands B.V. | Zoning of logical to physical data address translation tables with parallelized log list replay |
TW201826126A (zh) * | 2017-01-06 | 2018-07-16 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
CN108874301A (zh) * | 2017-05-08 | 2018-11-23 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
US20190057038A1 (en) * | 2017-08-21 | 2019-02-21 | Micron Technology, Inc. | Logical to physical mapping |
Also Published As
Publication number | Publication date |
---|---|
US11182286B2 (en) | 2021-11-23 |
US20200272561A1 (en) | 2020-08-27 |
CN111610929B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9842030B2 (en) | Data storage device and flash memory control method | |
US11232041B2 (en) | Memory addressing | |
CN110955384B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
JP4695801B2 (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
US10545876B2 (en) | Control unit for data storage system and method for updating logical-to-physical mapping table | |
US7475185B2 (en) | Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
TWI476780B (zh) | 具有揮發性及非揮發性記憶體之混合固態記憶體系統 | |
JP4533956B2 (ja) | フラッシュメモリシステムのデータ記憶容量の解放 | |
US20080270680A1 (en) | Controller for Non-Volatile Memories and Methods of Operating the Memory Controller | |
US20050015557A1 (en) | Nonvolatile memory unit with specific cache | |
US20090132757A1 (en) | Storage system for improving efficiency in accessing flash memory and method for the same | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
JP2009503743A (ja) | データファイルを直接記憶するメモリブロックの管理 | |
CN112130749A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
KR100963009B1 (ko) | 파일 관리 시스템 및 방법 | |
JP2009503740A (ja) | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
CN112100087B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN111610929B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN111610931B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
TWI706250B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TWI766194B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US11269534B2 (en) | Data storage device and non-volatile memory control method | |
US11080203B2 (en) | Data storage device and control method for non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |