CN110908926B - 数据储存装置及逻辑至物理地址映射表的写入方法 - Google Patents
数据储存装置及逻辑至物理地址映射表的写入方法 Download PDFInfo
- Publication number
- CN110908926B CN110908926B CN201910806629.8A CN201910806629A CN110908926B CN 110908926 B CN110908926 B CN 110908926B CN 201910806629 A CN201910806629 A CN 201910806629A CN 110908926 B CN110908926 B CN 110908926B
- Authority
- CN
- China
- Prior art keywords
- data
- mapping table
- logical
- group mapping
- memory controller
- 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.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 178
- 238000013500 data storage Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect 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
- 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
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据储存装置及逻辑至物理地址映射表的写入方法。该数据储存装置包括:一快闪存储器,用以储存一逻辑至物理地址映射(L2P)表,其中L2P表划分为多个群组映射表;一动态随机存取存储器,用以储存群组映射表;以及一存储器控制器,用以接收来自一主机的主机指令,其中主机指令包括一或多笔数据及相应的一或多个逻辑地址。存储器控制器将主机指令中的数据写入至快闪存储器中的多个主动区块。响应于存储器控制器将主动区块变更为未储存数据区块且未储存数据区块的未储存数据区块数量大于或等于未储存数据区块数量阈值时,存储器控制器分段地将未储存数据区块的数据的映射关系更新至相应的这些群组映射表,并将更新后的群组映射表写入快闪存储器。
Description
技术领域
本发明有关于一种数据储存装置,特别是有关于一种数据储存装置及逻辑至物理地址映射表的写入方法。
背景技术
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址脚位上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据脚位上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的位元组(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memory cells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,藉由使用提取讯号(strobe signal)顺序地敲出(clock out)内容,让主单元可逐位元组或字元组(words)存取数据。
对于传统的数据储存装置来说,当主机连续发送多个写入指令至传统数据储存装置以随机写入页面数据时,传统数据储存装置仍然需要在某些时间点写入更新后的部分逻辑至物理地址映射表(例如称为群组映射表)至快闪存储器。然而,传统数据储存装置并无法控制将更新后的群组映射表写入快闪存储器的时间点。当主机大量随机写入页面数据至传统数据储存装置时,传统数据储存装置的写入效能将因为不定时的写入更新后的群组映射表至快闪存储器而不定时大幅降低,进而影响到使用者的正常操作。
因此,需要一种数据储存装置及逻辑至物理地址映射表的写入方法以解决上述问题。
发明内容
本发明提供一种数据储存装置,包括:一快闪存储器,用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表;一动态随机存取存储器,用以储存这些群组映射表;以及一存储器控制器,用以接收来自一主机的一主机指令,其中该主机指令包括一或多笔数据及相应的一或多个逻辑地址,其中该存储器控制器将该主机指令中的这些数据写入至该快闪存储器中的多个主动区块;其中响应于该存储器控制器将这些主动区块变更为多个未储存数据区块且这些未储存数据区块的一未储存数据区块数量大于或等于一未储存数据区块数量阈值时,该存储器控制器分段地将这些未储存数据区块的数据的映射关系更新至相应的这些群组映射表,并将更新后的这些群组映射表写入该快闪存储器。
在一些实施例中,该存储器控制器依据该数据储存装置需要进入一准备状态的一规定时间以计算出该数据储存装置的电力回复时可重建的该预设未储存数据区块数量,其中该未储存数据区块数量阈值为该预设未储存数据区块数量的一半。
在一些实施例中,当该存储器控制器欲将该主机指令中的这些数据所组成的一特定数据区块储存至该快闪存储器中的一实体区块时,该存储器控制器依据该特定数据区块及该实体区块的类型以将该未储存数据区块数量对应地增加一计数值,其中该特定数据区块及该实体区块的类型包括单阶储存单元、多阶储存单元、三阶储存单元及四阶储存单元,且对应于该单阶储存单元、该多阶储存单元、该三阶储存单元及该四阶储存单元的该计数值分别为1、2、3及4。
在一些实施例中,该存储器控制器将该主机指令的该数据所组成的各数据区块所包含的多个逻辑页面的一第一数量除以各数据区块的这些逻辑页面所对应的这些群组映射表的一第二数量以得到该数据排程比例,且各群组映射表的大小等于各逻辑页面的大小。
在一些实施例中,当该存储器控制器欲将更新后的这些群组映射表写入该快闪存储器时,该存储器控制器复制欲储存的各数据区块对应的该群组映射表以得到欲储存的各数据区块对应的一备份群组映射表。每当该存储器控制器写入该第一数量的这些逻辑页面至该快闪存储器的这些主动区块,该存储器控制器写入对应于该第一数量的这些逻辑页面的该备份群组映射表至该快闪存储器。
本发明还提供一种逻辑至物理地址映射表的写入方法,用于一数据储存装置,其中该数据储存装置包括一快闪存储器及一动态随机存取存储器,该快闪存储器用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表,该方法包括:接收来自一主机的一主机指令,其中该主机指令包括一或多笔数据及相应的一或多个逻辑地址;将该主机指令中的这些数据写入至该快闪存储器中的多个主动区块;以及响应于这些主动区块被变更为多个未储存数据区块且这些未储存数据区块的一未储存数据区块数量大于或等于一未储存数据区块数量阈值时,分段地将这些未储存数据区块的数据的映射关系更新至相应的这些群组映射表,并将更新后的这些群组映射表写入该快闪存储器。
附图说明
图1显示依据本发明一实施例中的电子系统的方块图。
图2为依据本发明一实施例的存取接口与储存单元的方块图。
图3为依据本发明一实施例的一个存取子接口与多个LUN的连接示意图。
图4为依据本发明一实施例中的逻辑至物理地址映射表及群组映射表的示意图。
图5显示依据本发明一实施例中的群组映射表的排程写入机制的示意图。
图6A为依据本发明第一实施例中的数据储存装置的写入效能的曲线的示意图。
图6B为依据本发明第二实施例中的数据储存装置的写入效能的曲线的示意图。
图7为依据本发明一实施例中的逻辑至物理地址映射表的写入方法的流程图。
符号说明
100~电子系统;
120~主机;
140~数据储存装置;
150~存取接口;
160~存储器控制器;
162~处理单元;
163~储存单元;
164~启动程式;
165~指令缓冲器;
166~静态随机存取存储器;
170~存取接口;
180~快闪存储器;
181~快闪转译层;
190~动态随机存取存储器;
170_0-170_j~存取子接口;
180_0_0-180_j_i~逻辑单元编号;
320_0_0-320_0_i~晶片致能控制讯号;
400~逻辑至物理地址映射表;
401~群组映射表;
402~备份群组映射表;
420~第一预定空间;
430~第二预定空间;
450~群组更新位元表;
451~修改位元;
501、502~方块;
t1-t9~时间;
T1-T3、T21-T25~期间;
610、620~曲线;
S710-S760~步骤。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下。
图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 MemoryBuffer,HMB)所替代。另外,一般而言,动态随机存取存储器190的数据储存空间大于静态随机存取存储器166。
存储器控制器160中的处理单元162可根据主机120所下达的命令操作,透过存取接口170写入数据到快闪存储器180中的指定地址,或是从快闪存储器180的指定地址(物理地址)读取数据。
处理单元162与快闪存储器180间的数据与命令传递透过数个电子信号进行协调,上述电子信号包括数据线(Data Line)、时脉讯号(Clock Signal)与控制讯号(ControlSignal)。数据线可用以传递命令、地址、读出及写入的数据;控制讯号线可用以传递晶片致能(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)、双倍数据率开关(DDRToggle)或其他接口。处理单元162另可使用存取接口150透过指定通讯协定与主机120进行沟通,例如,通用序列汇流排(Universal Serial Bus,USB)、先进技术附着(AdvancedTechnology Attachment,ATA)、序列先进技术附着(Serial Advanced TechnologyAttachment,SATA)、快速周边元件互联(Peripheral Component Interconnect Express,PCIE)、非挥发性存储器的传输规范(Non-Volatile Memory Express,NVME)或其他接口。
储存单元163可为非挥发性存储器,例如为唯读存储器(Read-Only Memory,ROM)、可擦除式可程式化唯读存储器(Erasable Programmable Read-Only Memory,EPROM)、电子可擦除式可程式化唯读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)或电子熔丝(E-Fuse)。储存单元163储存一启动程式164,其包括启动码(Boot Code)或启动程式(Bootloader),且可由处理单元162执行,存储器控制器160基于启动程式164而完成开机,并开始控制该快闪存储器180的运作,例如,读取线上烧录(InSystem Programming,ISP)码。
快闪存储器180例如为NAND快闪存储器,且快闪存储器180可划分为多个逻辑单元(Logical Unit),且各逻辑单元具有相应的逻辑单元编号(Logical Unit Number,LUN),且各逻辑单元(LUN)分别使用关联的存取子接口与处理单元162进行沟通。在一些实施例中,各LUN可包括一或多个快闪存储器晶粒或平面(Plane),且各平面包括多个区块(Block)。
图2为依据本发明实施例的存取接口与储存单元的方块图。数据储存装置140可包含j+1个存取子接口170_0至170_j,存取子接口又可称为通道(Channel),每一个存取子接口连接i+1个LUN。换句话说,i+1个LUN共享一个存取子接口。例如,当数据储存装置140包含4个通道(j=3)且每一个通道连接4个储存单元(i=3)时,快闪存储器180一共拥有16个LUN180_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的储存空间依据使用目的可分为第一部分及第二部分,其中第一部分例如可称为快取空间或是页面数据缓冲器,较佳采用单阶储存单元(Single-Level Cell,SLC)模式来进行数据编程,可迅速地将数据写入至快闪存储器180。第二部分为主要储存空间,较佳采用预设模式来进行数据编程,例如,多阶储存单元(Multi-Level Cell,MLC)、三阶储存单元(Triple-Level Cell,TLC)、或是四阶储存单元(Quadruple-Level Cell,QLC)模式,但本发明并不限于此,使快闪存储器180的LUN可以提供最大的储存空间。第一部分及第二部分较佳为相同规格的LUN,差别在于采用不同模式来进行数据编程,以达到不同的使用目的。
为了便于说明,在后述实施例中,快取空间采用SLC模式来进行数据编程,且主要储存空间是采用预设(TLC)模式来进行数据编程,因此,在相同规格下,主要储存空间的实体页面(Physical Page)数量或数据储存能力是快取空间的实体页面的3倍,主要储存空间的数据区块的数据储存量是快取空间的数据区块的3倍,这是由于数据区块的字线(Wordline)上,采用预设模式的话可储存3笔页面数据,而采用SLC模式的话只能储存1笔页面数据。
在一些实施例中,基于预设模式与SLC模式的差别,当存储器控制器160欲将快取空间的数据写入/搬移至主要储存空间时,需要先将快取空间的页面数量或区块数量累积至预定数量,再将上述页面或区块所储存的数据以预设模式编程至主要储存空间的页面或区块,例如,将快取空间的3个区块所储存的数据以TLC模式编程至主要储存空间的1个区块。
将数据写入至快闪存储器180的过程又称为数据编程,数据编程是以页面为单位,一个页面可写入一笔页面数据。页面的大小例如16KB,一个页面可分成4个区段(Sectors),则区段的大小例如4KB。抺写则是以区块为单位。依据使用状态,快闪存储器180中的区块又可区分成闲置区块、主动区块以及数据区块。主动区块为正在写入数据的区块,主动区块写满数据或不再写入数据时则变更为数据区块。数据区块所储存的数据皆为无效数据或被抺写后则变更为闲置区块,闲置区块之后可再变更为主动区块。
在一实施例中,为了增进数据储存装置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笔页面数据,依此类推。
在一实施例中,主机120命令数据储存装置140读取或写入512B或4KB大小的数据(使用者数据),并以逻辑地址作为数据的索引。逻辑地址例如可为逻辑区块地址(LogicalBlock Address,LBA)、主机区块(Host Block)、主机页(Host Page)等等。数据储存装置140运作时,存储器控制器160较佳以区段大小(4KB)来管理来自于主机120的数据,并建立/更新逻辑至物理地址(Logical to Physical,L2P)映射表,L2P映射表标示逻辑地址至实体空间的映射资讯,以回应来自主机120的主机指令,例如:主机写入指令及主机读取指令等等。
如果DRAM 190的容量有限,或是数据储存装置140并未配置有DRAM 190而使用主机存储器缓存(Host Memory Buffer,HMB),因此,无法将整个L2P映射表400载入DRAM 190或HMB。在此条件下,存储器控制器160仅将部分L2P映射表400载入动态随机存取存储器190或HMB。
图4为依据本发明一实施例中的L2P映射表400及群组映射表401的示意图。在一实施例中,L2P映射表400例如可均等划分为多个群组(Group)映射表401,例如:1024个群组映射表401。群组映射表401的大小例如为4KB,假设群组映射表401的每一栏位(Entry)大小为4B,则群组映射表401可记录1024笔映射资讯。为了方便群组的管理,一个群组映射表401的大小较佳等于或小于页面大小或区段大小,与数据管理的单位一致。另外,存储器控制器160较佳建立群组至物理地址(Group to Phiscal,G2F)映射表来记录每一群组映射表401在快闪存储器180中的物理地址。
存储器控制器160例如可将多个群组映射表401储存至DRAM 190或HMB中的第一预定空间420,例如,可将16个群组映射表401储存至第一预定空间420,如图4所示。
在一实施例中,主机120可持续对数据储存装置140进行数据写入,如果数据的逻辑地址为不连续则称为随机写入,例如,随机写入1MB的数据至数据储存装置140。因此,存储器控制器160依据此256笔4KB的随机写入的数据而更新一个或多个群组映射表401的内容。另外,为了管理群组映射表401,存储器控制器160较佳会在DRAM 190的第二预定空间430或SRAM 166中建立群组更新位元表(Group Update Bitmap)450,各个群组映射表401在群组更新位元表450均有相应的修改位元451。当DRAM 190或HMB的特定群组映射表401中有任一个逻辑地址至物理地址的映射关系被更新,存储器控制器160会将群组更新位元表450中相应的修改位元451设定为1,藉以表示此特定群组映射表401中的映射关系已被更新。
在一实施例中,存储器控制器160会写入区块结束(End Of Block,EOB)资讯至主动区块的最后一个页面,此时,主动区块变更成数据区块,存储器控制器160再将上述数据区块所储存的数据的映射关系更新至在快闪存储器180中相应的群组映射表401。如果上述数据区块所储存的数据的映射关系尚未更新至快闪存储器180中相应的群组映射表401时,则上述数据区块会被标注成未储存数据区块(Unsaved Data Block)。
在正常的关机程序下,存储器控制器160有足够的时间将数据区块所储存的数据的映射关系更新至动态随机存取存储器190中相应的群组映射表401,并将动态随机存取存储器190或HMB中已更新的群组映射表401写入至主要储存空间,在此情况下,主要储存空间所储存的L2P映射表400/群组映射表401的内容是最新、正确的。
若是发生非正常断电事件(例如突发性掉电事件),则存储器控制器160没有足够的时间将数据区块所储存的数据的映射关系更新至群组映射表401,因而产生未储存数据区块,或是,没有足够的时间将在动态随机存取存储器190或HMB中已更新的群组映射表401写入至主要储存空间。因此,在电力回复时(Power Recovery),存储器控制器160需读取未储存数据区块的EOB资讯,藉以重建(更新)L2P映射表400/群组映射表401。然而,重建L2P映射表400/群组映射表401的过程需耗费许多时间,如果数据储存装置140无法在规定时间内完成L2P映射表400的重建并进入准备状态(Ready Status),这将造成主机120判定数据储存装置140无法正常运作。其中,不同型号或是不同容量的数据储存装置可具有不同的规定时间,可称为磁碟准备时间(Drive Ready Time),例如介于2~20秒。
在第一实施例中,当在动态随机存取存储器190或HMB中未储存数据区块数量C2已累积到预定数量时,例如:预定数量等于16,存储器控制器160以未储存数据区块所储存的数据的映射关系更新至群组映射表401,并将已更新的群组映射表401写入快闪存储器180中的主要储存空间,更精确的说,写入快闪存储器180中的主要储存空间的系统区块中,其中,系统区块用以储存系统资讯,例如:群组映射表401或操作参数。在上述过程中,存储器控制器160先判断指令缓冲器165,例如:先进先出(First-In-First-Out,FIFO)缓冲器,是否已无主机指令在伫列中,即FIFO缓冲器为空乏(Empty)状态。若指令缓冲器165已无主机指令在伫列中,则存储器控制器160输出写入指令至指令缓冲器165,再藉由写入指令的执行而将已更新的群组映射表401写入快闪存储器180中的主要储存空间。
意即,在此实施例中,存储器控制器160会优先执行伫列在指令缓冲器165中的主机指令,当指令缓冲器165中已无主机指令时,存储器控制器160才会输出写入群组映射表401的写入指令至指令缓冲器165,将已更新的群组映射表401写入至主要储存空间。此外,一旦存储器控制器160开始写入已更新的群组映射表401至主要储存空间,存储器控制器160会利用硬体计时器以计算时间,并且在达到预定时间时就结束已更新的群组映射表401的写入,藉以控制已更新的群组映射表401的写入数量,以维持数据储存装置140的写入效能。
然而,在此实施例中,存储器控制器160并无法控制开始写入已更新的群组映射表401的进入时间点,所以数据储存装置140的写入效能会受到主机120的主机指令的数量以及写入已更新的群组映射表401的写入指令的数量的交互影响而变的不稳定。如果主机120下达大量的主机指令,且主机指令为写入指令,这会造成未储存数据区块数量C2的增加。如果此时存储器控制器160暂停主机指令的执行,选择开始更新群组映射表401,这将导致数据储存装置140的写入效能的急速下降。
在此情况下,存储器控制器160无法控制未储存数据区块数量C2的数值。若数据储存装置140此时发生不正常断电事件发生,在电力恢复后,存储器控制器160需要读取数量相当多的未储存数据区块中的EOB资讯以重建L2P映射表400,这将大幅拉长数据储存装置140进入准备状态所需的时间。
在第二实施例中,存储器控制器160依据数据储存装置140需要进入准备状态的规定时间以计算出预设未储存数据区块数量(Predetermined Unsaved Data Block Count)C1。举例来说,若存储器控制器160处理一个未储存数据区块需要n毫秒(ms),而数据储存装置140的电力回复时分配给重建数据区块的时间例如为10*n毫秒,则表示存储器控制器160在电力回复时可处理的预设未储存数据区块数量C1为10。此外,存储器控制器160亦可决定写入已更新的群组映射表401的触发点,例如,未储存数据区块阈值等于预设未储存数据区块数量C1的一半,意即,在此实施例中,当存储器控制器160处理5个预设未储存数据区块之后,存储器控制器160开始将已更新的群组映射表401写入至快闪存储器180中的主要储存空间。
在数据储存装置140进行运作时,当主机120持续对数据储存装置140进行存取操作(例如写入操作)时,存储器控制器160除了更新动态随机存取存储器190中的群组映射表401及群组更新位元表450之外,亦会计算并监控未储存区块数量C2的数值。因为主要储存空间的数据区块的数据储存量是快取空间的数据区块的3倍,所以存储器控制器160计算未储存数据区块数量C2会因为未储存数据区块的不同而有不同的结果。例如:如果是快取空间的未储存数据区块则未储存数据区块数量C2加1;如果是主要储存空间的未储存数据区块则未储存数据区块数量C2加3。意即,未储存数据区块的类型由存储器控制器160所决定,且并不限定于单阶储存单元及三阶储存单元。存储器控制器160可依据所产生的未储存数据区块的类型以在未储存数据区块数量C2增加相应的计数值,例如单阶储存单元、多阶储存单元、三阶储存单元及四阶储存单元的计数值分别为1、2、3及4。因此,存储器控制器160所计算出的未储存数据区块数量C2可以符合实际的数据量
图5显示依据本发明一实施例中的L2P映射表的排程写入机制的示意图。
在时间t1,主机120对数据储存装置140进行写入操作。举例来说,主机120发出多个写入指令至数据储存装置140,要求将1MB的数据写入至数据储存装置140。在期间T1(时间t1至t2),存储器控制器160持续执行来自主机120的写入指令,同时也会产生未储存数据区块(例如方块501),并计算未储存数据区块数量C2。
在时间t2,当未储存数据区块数量C2大于或等于未储存数据区块阈值时,例如:未储存数据区块阈值=5,存储器控制器160开始处理未储存数据区块,意即,时间t2为写入已更新的群组映射表401的触发点。
在期间T2(时间t2至t3)存储器控制器160开始处理未储存数据区块,并产生一或多已更新的群组映射表401,例如:10个已更新的群组映射表401。之后,将一或多个已更新的群组映射表401由第一预定空间420复制至第二预定空间430,复制至第二预定空间430的一或多个群组映射表401可称为备份群组映射表402。存储器控制器160不会修改备份群组映射表402的内容,而是在期间T2内将备份群组映射表402写入至快闪存储器180,如方块502所示。需注意的是,主机120在期间T2时仍然可持续对数据储存装置140进行写入操作,但是,存储器控制器160仅更新第一预定空间420中的群组映射表401,而非第二预定空间430的备份群组映射表402。
假设快取空间(例如由单阶储存单元组成)的未储存数据区块包括M个逻辑页面,故五个未储存数据区块总共包括5M个逻辑页面。此外,5M个逻辑页面至实体页面的映射关系例如需要10个群组映射表进行记录。因此,存储器控制器160可计算出在期间T1(时间t0至t1)写入数据的数量(例如为5M个逻辑页面)以与写入备份群组映射表402的数量(例如为10个),两者相除即可得到数据排程比例R=5M/10=1M/2。由于数据或是备份群组映射表402皆是写入区块的页面中,因此,数据排程比例R除了表示写入数据以及写入备份群组映射表402的数量的比例外,亦可表示为写入至快闪存储器180的页面数据的数量。
因此,存储器控制器160规划在期间T2的写入排程时,在方块502中的操作包括先下达M个页面数据的写入指令至指令缓冲器165,再下达2个备份群组映射表402的写入指令至指令缓冲器165。选择性地,存储器控制器160亦可先下达2个备份群组映射表402的写入指令至指令缓冲器165,再下达M个逻辑页面的写入指令至指令缓冲器165。
上述M个页面数据搭配2个备份群组映射表402的写入操作(即方块502所示)重复5次,例如分别在期间T21、T22、T23、T24、及T25分别写入2个备份群组映射表402,以写入5M个页面数据及10个备份群组映射表402至快闪存储器180。因此,存储器控制器160在期间T2会一共写入5M个逻辑页面及10个备份群组映射表402至快闪存储器180。需注意的是,上述数据排程比例R可由实际情况的数据区块的大小以及群组映射表401的大小及对齐方式(例如每个群组映射表401均对齐逻辑地址)所决定,本发明并不限定于上述数据排程比例R。
需注意的是,因为在期间T2,主机120会持续发送主机指令(例如为主机写入指令)至数据储存装置140,且存储器控制器160亦会在期间T2时更新动态随机存取存储器190的群组映射表401,因此存储器控制器160在期间T2会交错地且分段地执行主机指令,包括,更新第一预定空间420的群组映射表401、写入页面数据至快闪存储器180等等,以及写入第二预定空间430的备份群组映射表402至快闪存储器180。由于存储器控制器160交错地且分段地执行主机指令以及更新(并写入)备份群组映射表402,因此,数据储存装置140的写入效能可维持在稳定的状态,就算在进行4K随机存取的压力测试下,数据储存装置140也不会产生写入效能突然下降的现象,达到本发明的目的。
存储器控制器160可依据上述数据排程比例R控制写入页面数据以及备份群组映射表402的时间点,此外,存储器控制器160亦可依据数据排程比例R,使得M个页面数据及对应的2个备份群组映射表402的写入操作结束的时间点作为下一次写入的起算点。详细而言,如图5所示,在期间T2结束的时间t3,表示累积的未储存数据区块又大于或等于未储存数据区块阈值,故在时间t3除了结束在期间T2的M个页面数据及对应的2个备份群组映射表402的5次写入操作,还会触发下一次的排程写入机制,且存储器控制器160可在期间T3执行M个页面数据及对应的2个备份群组映射表402的另外5次写入操作,依此类推。
另外,当存储器控制器160判断主机120超过预定时间未发送主机指令至数据储存装置140,存储器控制器160可主动地将在动态随机存取存储器190中剩余的已更新的群组映射表401写入至快闪存储器180。
图6A为依据本发明第一实施例中之数据储存装置的写入效能的曲线的示意图。图6B为依据本发明第二实施例中的数据储存装置的写入效能的曲线的示意图。
在第一实施例中,因为存储器控制器160并无法控制开始进入群组映射表401的存取操作的进入时间点,所以数据储存装置140的写入效能会受到主机120的写入操作以及存储器控制器160写入群组映射表401至快闪存储器180的影响而不定时降低,如图6A所示。举例来说,当存储器控制器160开始写入数据至主动区块时,数据储存装置140的写入速度可维持在定值V1,如图6A中的曲线610。然而,当存储器控制器160写入已更新的群组映射表401至快闪存储器180时,例如,在时间t6、t7、t8、t9等等,会造成数据储存装置140的写入速度的大幅下降。
在第二实施例中,存储器控制器160可依据数据排程比例R交错地且分段地执行主机120的主机指令(例如为主机写入指令)以及备分群组映射表402的写入操作,因此,数据储存装置140的写入速度在时间t5至时间t9均可大约维持在定值V2,如图6B中的曲线620,其中,定值V2的值比定值V1的值稍低,但是曲线620的波动明显小于曲线610,这表示数据储存装置140的写入速度是稳定的。
图7为依据本发明一实施例中的L2P映射表的写入方法的流程图。
在步骤S710,存储器控制器160依据规定时间以计算出预设未储存数据区块数量C1,并依据预设未储存数据区块数量C1设定未储存数据区块数量阈值TH,其中未储存数据区块数量阈值TH例如等于预设未储存数据区块数量C1值的一半。
此外,未储存数据区块含有EOB资讯但是内部储存的数据的映射关系尚未更新至L2P映射表401。
在步骤S720,存储器控制器160接收主机指令(例如为主机写入指令),其中,主机指令包括一或多笔数据(例如为逻辑页面数据或是超级页面数据)以及相应的一或多个逻辑地址。
在步骤S730,存储器控制器160将主机指令的数据写入至快闪存储器180中的多个主动区块。
在步骤S740,存储器控制器160判断是否将主动区块变更为未储存数据区块。如果是,则执行步骤S750;如果否,则执行步骤S720。举例来说,存储器控制器160将主机指令的数据写入快闪存储器180中的目前主动区块。当目前主动区块的实体页面被写满数据(可包括或未包括EOB资讯)时,但是其内部储存的数据的映射关系尚未更新至快闪存储器180中的群组映射表401时,此目前主动区块可称为未储存数据区块。当目前主动区块的实体页面被写满数据(可包括或未包括EOB资讯)时,存储器控制器160会选择下一个主动区块继续写入主机指令的数据。
在步骤S750,存储器控制器160判断未储存数据区块数量C2是否大于或等于未储存数据区块数量阈值TH。如果是,则执行步骤S760;如果否,则执行步骤S720。
在步骤S760,存储器控制器160以分段地将未储存数据区块的数据的映射关系更新至L2P映射表401,并将更新后的上述群组映射表401写入快闪存储器180。其中,上述更新后的群组映射表401例如可为图4所示的备分群组映射表402。存储器控制器160例如依据数据排程比例R交错地且分段地且执行主机120的主机指令以及备分群组映射表402的写入操作。
综上所述,本发明提供一种写入L2P映射表400方法,其可依据计算出的数据排程比例R将来自主机120的主机写入指令的数据页面的更新操作以及未储存数据区块及对应的备分群组映射表的写入操作均匀地排程写入快闪存储器。因此,就算在进行4K随机存取的压力测试下,数据储存装置140也不会产生写入效能突然下降的现象,进而达到稳定写入效能的效果。
本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (14)
1.一种数据储存装置,包括:
一快闪存储器,用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表;
一动态随机存取存储器,用以储存这些群组映射表;以及
一存储器控制器,用以接收来自一主机的一主机指令,其中该主机指令包括一或多笔数据及相应的一或多个逻辑地址,
其中该存储器控制器将该主机指令中的这些数据写入至该快闪存储器中的多个主动区块;
其中响应于该存储器控制器将这些主动区块变更为多个未储存数据区块且这些未储存数据区块的一未储存数据区块数量大于或等于一未储存数据区块数量阈值时,该存储器控制器分段地将这些未储存数据区块的数据的映射关系更新至相应的这些群组映射表,并将更新后的这些群组映射表写入该快闪存储器。
2.如权利要求1所述的数据储存装置,其特征在于,该存储器控制器依据该数据储存装置需要进入一准备状态的一规定时间以计算出该数据储存装置在电力回复时可重建的预设未储存数据区块数量,其中该未储存数据区块数量阈值为该预设未储存数据区块数量的一半。
3.如权利要求2所述的数据储存装置,其特征在于,当该存储器控制器欲将该主机指令中的这些数据所组成的一特定数据区块储存至该快闪存储器中的一实体区块时,该存储器控制器依据该特定数据区块及该实体区块的类型以将该未储存数据区块数量对应地增加一计数值。
4.权利要求3所述的数据储存装置,其特征在于,该特定数据区块及该实体区块的类型包括单阶储存单元、多阶储存单元、三阶储存单元及四阶储存单元,且对应于该单阶储存单元、该多阶储存单元、该三阶储存单元及该四阶储存单元的该计数值分别为1、2、3及4。
5.权利要求1所述的数据储存装置,其特征在于,该存储器控制器将该主机指令的该数据所组成的各数据区块所包含的多个逻辑页面的一第一数量除以各数据区块的这些逻辑页面所对应的这些群组映射表的一第二数量以得到该数据排程比例,且各群组映射表的大小等于各逻辑页面的大小。
6.如权利要求5所述的数据储存装置,其特征在于,当该存储器控制器欲将更新后的这些群组映射表写入该快闪存储器时,该存储器控制器复制欲储存的各数据区块对应的该群组映射表以得到欲储存的各数据区块对应的一备份群组映射表。
7.如权利要求6所述的数据储存装置,其特征在于,每当该存储器控制器写入该第一数量的这些逻辑页面至该快闪存储器的这些主动区块,该存储器控制器写入对应于该第一数量的这些逻辑页面的该备份群组映射表至该快闪存储器。
8.一种逻辑至物理地址映射表的写入方法,用于一数据储存装置,其中该数据储存装置包括一快闪存储器及一动态随机存取存储器,该快闪存储器用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表,该方法包括:
接收来自一主机的一主机指令,其中该主机指令包括一或多笔数据及相应的一或多个逻辑地址;
将该主机指令中的这些数据写入至该快闪存储器中的多个主动区块;以及
响应于这些主动区块被变更为多个未储存数据区块且这些未储存数据区块的一未储存数据区块数量大于或等于一未储存数据区块数量阈值时,分段地将这些未储存数据区块的数据的映射关系更新至相应的这些群组映射表,并将更新后的这些群组映射表写入该快闪存储器。
9.如权利要求8所述的逻辑至物理地址映射表的写入方法,其特征在于,还包括:
依据该数据储存装置需要进入一准备状态的一规定时间以计算出该数据储存装置在电力回复时可重建的预设未储存数据区块数量,其中该未储存数据区块数量阈值为该预设未储存数据区块数量的一半。
10.如权利要求9所述的逻辑至物理地址映射表的写入方法,其特征在于,还包括:当欲将该主机指令中的这些数据所组成的一特定数据区块储存至该快闪存储器中的一实体区块时,依据该特定数据区块及该实体区块的类型以将该未储存数据区块数量对应地增加一计数值。
11.如权利要求10所述的逻辑至物理地址映射表的写入方法,其特征在于,该特定数据区块及该实体区块的类型包括单阶储存单元、多阶储存单元、三阶储存单元及四阶储存单元,且对应于该单阶储存单元、该多阶储存单元、该三阶储存单元及该四阶储存单元的该计数值分别为1、2、3及4。
12.如权利要求8所述的逻辑至物理地址映射表的写入方法,其特征在于,还包括:
将该主机指令的这些所组成的各数据区块所包含的多个逻辑页面的一第一数量除以各数据区块的这些逻辑页面所对应的这些群组映射表的一第二数量以得到该数据排程比例,且各群组映射表的大小等于各逻辑页面的大小。
13.如权利要求12所述的逻辑至物理地址映射表的写入方法,其特征在于,还包括:
当欲将更新后的这些群组映射表写入该快闪存储器时,复制欲储存的各数据区块对应的该群组映射表以得到欲储存的各数据区块对应的一备份群组映射表。
14.如权利要求13所述的逻辑至物理地址映射表的写入方法,其特征在于,当启动该排程写入机制时,该方法还包括:
每当写入该第一数量的这些逻辑页面至该快闪存储器的这些主动区块,写入对应于该第一数量的这些逻辑页面的该备份群组映射表至该快闪存储器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862731137P | 2018-09-14 | 2018-09-14 | |
US62/731,137 | 2018-09-14 | ||
TW108126306A TWI712884B (zh) | 2018-09-14 | 2019-07-25 | 資料儲存裝置及邏輯至物理位址映射表之寫入方法 |
TW108126306 | 2019-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908926A CN110908926A (zh) | 2020-03-24 |
CN110908926B true CN110908926B (zh) | 2022-03-22 |
Family
ID=69772487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910806629.8A Active CN110908926B (zh) | 2018-09-14 | 2019-08-29 | 数据储存装置及逻辑至物理地址映射表的写入方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11036646B2 (zh) |
CN (1) | CN110908926B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4085594A1 (en) * | 2020-01-02 | 2022-11-09 | Level 3 Communications, LLC | Systems and methods for storing content items in secondary storage |
CN113448487B (zh) * | 2020-03-25 | 2024-06-21 | 慧荣科技股份有限公司 | 写入闪存管理表的计算机可读取存储介质、方法及装置 |
US11036625B1 (en) * | 2020-04-24 | 2021-06-15 | Micron Technology, Inc. | Host-resident translation layer write command associated with logical block to physical address of a memory device |
US11262938B2 (en) * | 2020-05-05 | 2022-03-01 | Silicon Motion, Inc. | Method and apparatus for performing access management of a memory device with aid of dedicated bit information |
CN113961140B (zh) * | 2020-07-02 | 2024-06-11 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
CN113946279A (zh) * | 2020-07-16 | 2022-01-18 | 慧荣科技股份有限公司 | 主机效能加速模式的数据读取方法及装置 |
CN113127378B (zh) * | 2020-07-16 | 2024-04-26 | 长江存储科技有限责任公司 | 数据读取方法、装置及数据存储设备 |
CN114063890A (zh) * | 2020-08-05 | 2022-02-18 | 宇瞻科技股份有限公司 | 数据备份方法及存储装置 |
CN112015341B (zh) * | 2020-08-26 | 2024-03-22 | 合肥康芯威存储技术有限公司 | 一种数据存储方法、存储系统及存储介质 |
CN112379830B (zh) * | 2020-11-03 | 2022-07-26 | 成都佰维存储科技有限公司 | 有效数据位图的创建方法、装置、存储介质及电子设备 |
CN112988069B (zh) * | 2021-03-11 | 2024-03-26 | 深圳宏芯宇电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制器 |
US11922011B2 (en) * | 2021-09-01 | 2024-03-05 | Micron Technology, Inc. | Virtual management unit scheme for two-pass programming in a memory sub-system |
CN114415942B (zh) * | 2021-12-21 | 2022-11-04 | 联芸科技(杭州)股份有限公司 | L2p映射表重建方法及固态硬盘 |
CN114328297A (zh) * | 2021-12-29 | 2022-04-12 | 合肥兆芯电子有限公司 | 映射表管理方法、存储器控制电路单元与存储器存储装置 |
CN115543865B (zh) * | 2022-11-25 | 2023-04-11 | 成都佰维存储科技有限公司 | 掉电保护方法、装置、可读存储介质及电子设备 |
CN116540950B (zh) * | 2023-07-05 | 2023-09-29 | 合肥康芯威存储技术有限公司 | 一种存储器件及其写入数据的控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346771A (zh) * | 2005-11-22 | 2009-01-14 | 桑迪士克股份有限公司 | 用于传统主机的方法和存储器系统 |
CN103677667A (zh) * | 2012-09-20 | 2014-03-26 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60043873D1 (de) * | 1999-06-01 | 2010-04-08 | Hitachi Ltd | Verfahren zur Datensicherung |
TW200814088A (en) * | 2006-09-05 | 2008-03-16 | Genesys Logic Inc | Method for increasing read/write lifespan of flash memory |
CN102279808A (zh) | 2011-09-06 | 2011-12-14 | 晨星软件研发(深圳)有限公司 | 一种嵌入式设备图像内存管理方法及装置 |
US9535785B2 (en) * | 2014-01-17 | 2017-01-03 | Macronix International Co., Ltd. | ECC method for flash memory |
CN111638852A (zh) * | 2014-12-31 | 2020-09-08 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
KR20180047402A (ko) | 2016-10-31 | 2018-05-10 | 삼성전자주식회사 | 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US10866732B2 (en) | 2017-03-10 | 2020-12-15 | Toshiba Memory Corporation | Namespace re-sizing |
US10643707B2 (en) * | 2017-07-25 | 2020-05-05 | Western Digital Technologies, Inc. | Group write operations for a data storage device |
TWI670600B (zh) * | 2017-09-18 | 2019-09-01 | 深圳大心電子科技有限公司 | 資料備份方法、資料恢復方法以及儲存控制器 |
-
2019
- 2019-08-29 CN CN201910806629.8A patent/CN110908926B/zh active Active
- 2019-09-04 US US16/560,033 patent/US11036646B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346771A (zh) * | 2005-11-22 | 2009-01-14 | 桑迪士克股份有限公司 | 用于传统主机的方法和存储器系统 |
CN103677667A (zh) * | 2012-09-20 | 2014-03-26 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Non-Patent Citations (2)
Title |
---|
An efficient mapping technique for flash memory using grouped blocks;H. Kwon;《2010 International Conference on Electronics and Information Engineering》;20100902;V1-491-V1-495 * |
LPCEP:基于HTF存储策略和实例映射表的长过程复杂事件处理模型;林树宽;《小型微型计算机系统》;20150115;71-76 * |
Also Published As
Publication number | Publication date |
---|---|
CN110908926A (zh) | 2020-03-24 |
US20200089620A1 (en) | 2020-03-19 |
US11036646B2 (en) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908926B (zh) | 数据储存装置及逻辑至物理地址映射表的写入方法 | |
US11593259B2 (en) | Directed sanitization of memory | |
US10296231B2 (en) | Data-storage device and data maintenance method thereof | |
US10789160B2 (en) | Utilizing different data storage policies in response to different characteristics of data | |
TWI512467B (zh) | 實體儲存對照表維護方法以及使用該方法的裝置 | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
US9304900B2 (en) | Data reading method, memory controller, and memory storage device | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
US11775389B2 (en) | Deferred error-correction parity calculations | |
KR20190061426A (ko) | 플래시 메모리 시스템 및 그 제어 방법 | |
CN114730290A (zh) | 将变化日志表移动至与分区对准 | |
TWI545433B (zh) | 實體儲存對照表維護方法以及使用該方法的裝置 | |
JP2020191055A (ja) | 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体 | |
CN114327240A (zh) | 计算机可读存储介质、闪存存储器的数据存储方法及装置 | |
TWI712884B (zh) | 資料儲存裝置及邏輯至物理位址映射表之寫入方法 | |
US20230236765A1 (en) | Storage controller performing active zone refresh, method of operating storage controller, and method of operating storage device having storage controller | |
CN116048234A (zh) | 存储装置及操作其的方法 | |
TWI754396B (zh) | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 | |
CN117616377A (zh) | 跨zns ssd中的超级设备的超级块分配 | |
US20230236964A1 (en) | Storage controller deallocating memory block, method of operating the same, and method of operating storage device including the same | |
US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same | |
EP4220414A1 (en) | Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same | |
TWI820473B (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 | |
KR20230115195A (ko) | 액티브 존 리프레시를 수행하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
CN116501655A (zh) | 将存储器块解除分配的存储控制器及其操作方法 |
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 |