CN112131141A - 存储器系统 - Google Patents

存储器系统 Download PDF

Info

Publication number
CN112131141A
CN112131141A CN201911273792.9A CN201911273792A CN112131141A CN 112131141 A CN112131141 A CN 112131141A CN 201911273792 A CN201911273792 A CN 201911273792A CN 112131141 A CN112131141 A CN 112131141A
Authority
CN
China
Prior art keywords
segment
mapping
data
mapped
target
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.)
Withdrawn
Application number
CN201911273792.9A
Other languages
English (en)
Inventor
李东妵
金大洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN112131141A publication Critical patent/CN112131141A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开提供了一种能够有效地管理元数据的存储器系统。该存储器系统包括:非易失性存储器装置,用于存储多个映射段组,每个映射段组包括映射段,该映射段包括主机的至少一个物理地址和至少一个逻辑地址之间的映射信息;以及控制器,用于从多个映射段组之中的选择的映射段组中的每一个中加载一个映射段,并且根据对应于第一目标逻辑地址的目标映射段是否在所加载的一个映射段中,响应于包括从主机接收的第一目标逻辑地址的编程请求,不同地配置待清除到非易失性存储器装置的清除数据。

Description

存储器系统
相关申请的交叉引用
本申请要求于2019年6月25日提交的申请号为10-2019-0075467的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开总体上涉及一种存储器系统,更特别地,涉及一种能够有效地管理元数据的存储器系统。
背景技术
存储器系统可以包括存储器控制器和非易失性存储器装置。
当从主机接收到包括逻辑地址和数据的编程请求时,存储器控制器可以分配与接收的逻辑地址相对应的物理地址,并且控制非易失性存储器装置,使得数据被存储在所分配的物理地址中。
存储器控制器可以管理其中存储数据的物理地址与对应于该物理地址的逻辑地址之间的映射信息。
发明内容
实施例提供了一种能够以小存储器容量来管理大容量元数据的存储器系统。
根据本公开的一方面,提供了一种存储器系统,该存储器系统包括:非易失性存储器装置,被配置为存储多个映射段组,每个映射段组包括映射段,该映射段包括主机的至少一个物理地址与至少一个逻辑之间的映射信息;以及控制器,被配置为从多个映射段组之中的选择的映射段组中的每一个中加载一个映射段,并且根据对应于第一目标逻辑地址的目标映射段是否在所加载的一个映射段中,响应于包括从主机接收的第一目标逻辑地址的编程请求,不同地配置待清除到非易失性存储器装置的清除数据。
根据本公开的另一方面,提供了一种存储器系统,该存储器系统包括:非易失性存储器装置,映射信息和清除数据被清除到该非易失性存储器装置中,映射信息包括在非易失性存储器装置中、多个映射段组中的每一个中的多个映射段的每一个存储的物理地址,并且清除数据包括映射段之中的第一映射段被清除到的物理地址;以及控制器,被配置为:加载映射信息,加载在映射信息被清除之后清除的清除数据,并且在所加载的映射信息中更新存储所加载的清除数据中的第一映射段的物理地址。
根据本公开的另一方面,提供了一种控制器的操作方法,该控制器用于控制存储多个映射段组的存储器装置,该操作方法包括:高速缓存组之中的选择的一个或多个中的每一个中的段;高速缓存映射信息,该映射信息指示各个组内的高速缓存的段和段的物理地址;清除包括一个或多个日志的第一清除数据,每个日志指示一个或多个高速缓存命中段的变化;清除第二清除数据,该第二清除数据包括高速缓存的段之中的牺牲段和该牺牲段以及用以替换牺牲段的目标段的一个或多个相邻段的信息;高速缓存目标段并更新高速缓存的映射信息;当第一和第二清除数据被清除设定次数时,清除包括高速缓存的映射信息的第三清除数据;在断电之后通电时,通过高速缓存清除的映射信息并参考第二清除数据来重建映射信息,该第二清除数据断电之前第三清除数据之后被清除;并且参照重建的映射信息中的信息,并通过顺序地重放断电之前清除与高速缓存的段相对应的第二清除数据之后清除的第一清除数据中包括的日志,高速缓存一个或多个段;其中牺牲段、相邻段和目标段属于同一组。
附图说明
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出根据本公开的实施例的存储器系统的示图。
图3是示出根据本公开的实施例的存储器系统的示图。
图4是示出诸如图1至图3所示的非易失性存储器装置的示图。
图5是示出诸如图4所示的存储器单元阵列的示图。
图6是示出诸如图5所示的用户数据区域的示图。
图7是示出地址映射表的示图。
图8是示出根据本公开的实施例的缓冲存储器的示图。
图9是示出根据本公开的实施例的配置清除数据的示例的示图。
图10是示出根据本公开的实施例的配置清除数据的示例的示图。
图11是示出根据本公开的实施例的在缓冲存储器中更新的信息的示图。
图12是示出根据本公开的实施例的重建映射信息的进程的示图。
图13是示出根据本公开的实施例的加载当前高速缓存的映射段的进程的示图。
图14是示出根据本公开的实施例的重建当前高速缓存的映射段的进程的示图。
图15是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
图16是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
图17是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
图18是示出存储块的示图。
图19是示出应用了本公开的实施例的存储器系统的示图。
具体实施方式
本文公开的特定结构和功能描述仅仅是说明性的,以为了描述本发明的实施例。本发明可以以各种形式和方式来实施,因此不限于在此阐述的实施例。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储器系统的示图。
存储器系统2000a可以包括被配置为存储数据的非易失性存储器装置2200a和被配置为响应于来自主机1000a的请求来控制非易失性存储器装置2200a的存储器控制器2100a。
主机1000a可以是被配置为将数据存储在存储器系统2000a中或从存储器系统2000a检索数据的装置或系统。例如,主机1000a可以包括计算机、便携式数字装置、平板电脑、数码相机、数字音频播放器、电视、无线通信装置或蜂窝电话中的至少一个,但是本公开的实施例不限于此。
存储器控制器2100a可以控制存储器系统2000a的全部操作。存储器控制器2100a可以响应于来自主机1000a的请求而执行各种操作。例如,存储器控制器2100a可以对非易失性存储器装置2200a执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器2100a可以将编程命令、地址和数据传送到非易失性存储器装置2200a。在读取操作中,存储器控制器2100a可以将读取命令和地址传送到非易失性存储器装置2200a,并且从非易失性存储器装置2200a接收读取数据。在擦除操作中,存储器控制器2100a可以将擦除命令和地址传送到非易失性存储器装置2200a。
非易失性存储器装置2200a可以在存储器控制器2100a的控制下执行编程操作、读取操作、擦除操作等。例如,非易失性存储器装置2200a可以从存储器控制器2100a接收编程命令、地址和数据,并根据编程命令和地址来存储数据。例如,非易失性存储器装置2200a可以根据从存储器控制器2100a接收的读取命令和地址来执行读取操作,并将读取数据提供给存储器控制器2100a。例如,非易失性存储器装置2200a可以根据从存储器控制器2100a接收的擦除命令和地址来执行擦除操作。
存储器控制器2100a可以包括主机接口2110a、存储器接口2120a、中央处理单元(CPU)2130a和缓冲存储器2150a。主机接口2110a、存储器接口2120a和缓冲存储器2150a可以由CPU 2130a控制。
主机接口2110a可以将从主机1000a接收的编程请求、读取请求、擦除请求等传送到CPU 2130a。在编程操作中,主机接口2110a可以从主机1000a接收与编程请求相对应的数据,并将所接收到的数据存储在缓冲存储器2150a中。在读取操作中,主机接口2110a可以将存储在缓冲存储器2150a中的读取数据传送到主机1000a。主机接口2110a可以通过使用各种接口协议中的任意一种来与主机1000a进行通信。例如,主机接口2110a可以通过使用诸如以下的至少一种接口协议来与主机1000a通信:高速非易失性存储器(NVMe)、高速外围组件互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、移动行业处理器接口(MIPI)、通用闪存(UFS)、小型计算机系统接口(SCSI)或串联SCSI(SAS)。然而,本公开的实施例不限于此。
存储器接口2120a可以通过使用各种接口协议中的任意一种来与非易失性存储器装置2200a进行通信。
在编程操作中,存储器接口2120a可以将从CPU 2130a接收的编程命令和地址以及存储在缓冲存储器2150a中的数据传送到非易失性存储器装置2200a。
在读取操作中,存储器接口2120a可以将从CPU 2130a接收的读取命令和地址传送到非易失性存储器装置2200a。在读取操作中,存储器接口2120a可以将从非易失性存储器装置2200a接收的读取数据存储在缓冲存储器2150a中,并通知CPU 2130a已接收到读取数据。
CPU 2130a可以执行各种计算或生成命令和地址,以控制非易失性存储器装置2200a。例如,CPU 2130a可以响应于从主机接口2110a传送的请求而生成编程操作、读取操作、擦除操作等所需的各种命令和各种地址。
当从主机接口2110a接收到编程请求时,CPU 2130a可以生成编程命令和地址,并且控制存储器接口2120a,使得所生成的编程命令、所生成的地址以及存储在缓冲存储器2150a中的数据被传送到非易失性存储器装置2200a。
当从主机接口2110a接收到读取请求时,CPU 2130a可以生成读取命令和地址,并且控制存储器接口2120a,使得所生成的读取命令和所生成的地址被传送到非易失性存储器装置2200a。当存储器接口2120a通知CPU 2130a已接收到读取数据时,CPU 2130a可以控制主机接口2110a,使得存储在缓冲存储器2150a中的读取数据被传送到主机1000a。
当从主机接口2110a接收到擦除请求时,CPU 2130a可以生成擦除命令和地址,并且控制存储器接口2120a,使得所生成的擦除命令和所生成的地址被传送到非易失性存储器装置2200a。
CPU 2130a可以将用于存储器系统2000a的管理的各种元数据加载到缓冲存储器2150a,并且在缓冲存储器2150a中更新所加载的元数据。元数据可以包括例如地址映射表、有效页面信息或编程/擦除计数中的至少一个,但是本公开的实施例不限于此。
在编程操作中,CPU 2130a可以分配与包括在编程请求中的逻辑地址相对应的物理地址,并且更新包括逻辑地址和物理地址之间的映射信息的地址映射表。另外,CPU2130a可以将对应于编程请求而接收到的数据编程在与所分配的物理地址相对应的存储区域中。
在读取操作中,CPU 2130a可以参考地址映射表来识别与包括在读取请求中的逻辑地址相对应的物理地址,并且通过访问与所识别的物理地址相对应的存储区域来接收读取数据。
CPU 2130a可以将存储在非易失性存储器装置2200a中的地址映射表加载到缓冲存储器2150a,并且更新缓冲存储器2150a中的地址映射表。
CPU 2130a可以生成逻辑地址和物理地址之间的映射信息作为日志数据,并且将所生成的日志数据清除到非易失性存储器装置2200a,其中该映射信息在加载到缓冲存储器2150a的地址映射表中被更新。
在实施例中,CPU 2130a可以仅将存储在非易失性存储器装置2200a中的地址映射表的一部分加载到缓冲存储器2150a。
在实施例中,地址映射表可以包括多个映射段组。每个映射段组可以包括多个映射段,并且同一映射段组的映射段可以彼此相邻。因此,同一段组的每个映射段可以称为该组中其它映射段中的每一个的相邻映射段。
在实施例中,每个映射段可包括多个映射片(slice)。每个映射片可以包括对应于多个存储区域的逻辑地址和物理地址之间的映射信息。每个存储区域可以对应于一个页面、一个存储块、一个平面或一个管芯,但是本公开的实施例不限于此。
在实施例中,CPU 2130a可以对每个映射段组的仅一个映射段加载或高速缓存到缓冲存储器2150a中。例如,当地址映射表包括四个映射段组时,CPU 2130a可以对每个映射段组加载一个映射段,即,将总共四个映射段加载到缓冲存储器2150a中。
在实施例中,CPU 2130a可以将存储在非易失性存储器装置2200a中的映射段映射信息加载到缓冲存储器2150a中(参见图8的映射段映射信息2154)。映射段映射信息可以包括映射段中的每一个的标识信息2154a和与映射段中的每一个相对应的逻辑地址信息2154b。CPU 2130a可以识别与编程请求或读取请求中的逻辑地址(目标逻辑地址)相对应的映射段(目标映射段)。
在实施例中,CPU 2130a可以管理缓冲存储器2150a中的映射信息(参见图8的映射信息2152)。映射信息可以包括映射段组标识信息2152a、当前高速缓存的映射段标识信息2152b或映射段位置信息2152c中的至少一个。映射段组标识信息2152a可以是用于识别构成地址映射表的映射段组的信息。当前高速缓存的映射段标识信息2152b可以是用于识别当前加载到缓冲存储器2150a中的映射段的信息。映射段位置信息2152c可以包括与在其中每个映射段被存储(或清除)在非易失性存储器装置2200a中的存储区域相对应的物理地址。
在实施例中,CPU 2130a可以检查目标映射段是否被加载到缓冲存储器2150a中。例如,CPU 2130a可以参考映射信息中的当前高速缓存的映射段标识信息,来检查目标映射段是否被加载到缓冲存储器2150a中。
在编程操作中,当目标映射段被加载到缓冲存储器2150a中时,CPU 2130a可以根据与目标逻辑地址相对应地新分配的物理地址来更新目标映射段,并对与新分配的物理地址相对应的存储区域执行编程操作。CPU 2130a可以生成包括目标映射段的更新项目的日志数据,并且将所生成的日志数据存储在缓冲存储器2150a中的日志条目中。日志条目可以表示在缓冲存储器2150a中分配的空间,以便存储日志数据。
在编程操作中,当没有将目标映射段加载到缓冲存储器2150a中时,CPU 2130a可以将目标映射段的相邻映射段清除到非易失性存储器装置2200a,并将目标映射段加载到缓冲存储器2150a中。清除到非易失性存储器装置2200a的相邻映射段可以被称为牺牲映射段,并且处于与目标映射段相同的映射段组中。CPU 2130a可以参考包括在映射信息2152中的映射段位置信息2152c,以便将目标映射段加载到缓冲存储器2150a中。
在读取操作中,当目标映射段被加载到缓冲存储器2150a中时,CPU 2130a可以参考目标映射段来识别与目标逻辑地址相对应的物理地址,并对与所识别的物理地址相对应的存储区域执行读取操作。
在读取操作中,当目标映射段未被加载到缓冲存储器2150a中时,CPU 2130a可以将目标映射段的相邻映射段清除到非易失性存储器装置2200a,并将目标映射段加载到缓冲存储器2150a中。清除到非易失性存储器装置2200a的相邻映射段可以被称为牺牲映射段。CPU 2130a可以参考包括在映射信息中的映射段位置信息,以便将目标映射段加载到缓冲存储器2150a中。
在另一实施例中,在读取操作中,当将目标映射段未加载到缓冲存储器2150a中时,CPU不将目标映射段的相邻映射段清除到非易失性存储器装置2200a,并且可以暂时将目标映射段加载到缓冲存储器2150a。当随后的读取请求中包括的逻辑地址不对应于临时加载的目标映射段时,可以将临时加载到缓冲存储器2150a中的目标映射段从缓冲存储器2150a中卸载。
当加载到缓冲存储器2150a中的映射段之中的牺牲映射段被清除到非易失性存储器装置2200a时,CPU 2130a可以更新包括在映射信息2152中的映射段位置信息2152c。也就是说,CPU 2130a可以将与牺牲映射段被清除到的存储区域相对应的物理地址反映到映射段位置信息2152c。
在实施例中,每当满足设置条件时,CPU 2130a可以配置清除数据,并且将所配置的清除数据清除到非易失性存储器装置2200a。例如,CPU 2130a可以在生成设置大小的日志数据、目标映射段未加载到缓冲存储器2150a中和/或执行设定次数的清除操作时配置清除数据。在每种情况下,清除数据可以不同地配置。
在实施例中,当生成设置大小的日志数据时,CPU 2130a可以配置清除数据,该清除数据包括所生成的日志数据(即,图9中的清除数据的日志条目)以及加载到缓冲存储器2150a中的映射段之中的任意一个映射段中的任意一个映射片。
在实施例中,当目标映射段(例如,图10中的映射段MS_B1)未加载到缓冲存储器2150a中时,CPU 2130a可以配置清除数据,该清除数据包括牺牲映射段的标识信息(即,图10中的清除数据的#MS_A1)、目标映射段的相邻映射段之中除牺牲映射段之外的其它相邻映射段的位置信息(即,图10中的清除数据的#MS_C1、PADD_MS_C1)或牺牲映射段(即,图10中的清除数据的MS_A1)中的至少一个。
在实施例中,当执行设定次数的清除操作时,CPU 2130a可以配置包括在缓冲存储器2150a中管理的映射信息2152的清除数据。设定次数可以任意地确定或通过实验确定。例如,设定次数可以被确定为大于地址映射表中包括的映射段的数量。
在实施例中,清除数据可以进一步包括上下文信息(参见图9和10中的清除数据的CTX)。上下文信息可以包括表示配置清除数据的原因的信息。例如,上下文信息可以包括表示是否由于生成了设置大小的日志数据或者由于目标映射段未加载到缓冲存储器2150a中而配置了清除数据的信息。
当配置了清除数据时,CPU 2130a可以将所配置的清除数据清除到非易失性存储器装置2200a。当由于目标映射段未加载到缓冲存储器2150a而配置清除数据时,CPU 2130a可以根据与清除数据中包括的牺牲映射段被清除到的存储区域相对应的物理地址来更新映射信息2152(参见图11)。另外,CPU 2130a可以将目标映射段加载到缓冲存储器2150a中(参见图11中的“当前高速缓存的映射段区域”的“MS_B1”)。
CPU 2130a可以根据对应于目标逻辑地址分配的物理地址来更新加载到缓冲存储器2150a中的目标映射段,并生成包括目标映射段的更新项目的日志数据(参见图9中的清除数据的日志数据)。
在断电时,CPU 2130a可以配置包括日志条目中包括的日志数据的清除数据,并且将所配置的清除数据清除到非易失性存储器装置2200a。清除数据可以包括上下文信息、日志数据或映射片中的至少一个。包括在清除数据中的映射片可以是加载到缓冲存储器2150a中的映射段之中的任意一个映射段中包括的映射片。
在通电时,CPU 2130a可以在缓冲存储器2150a中重建最近的映射信息。最近的映射信息可以表示在断电时在缓冲存储器2150a中管理的映射信息。
CPU 2130a可以通过对非易失性存储器装置2200a执行搜索来识别最后清除的映射信息,并且将所识别的映射信息加载到缓冲存储器2150a中。可以使用二进制搜索技术以便检查最后清除的映射信息,但是本公开的实施例不限于此。
CPU 2130a可以通过将在最后清除的映射信息被清除之后清除的清除数据反映到最近清除的映射信息来重建最近的映射信息。
在实施例中,在清除最后清除的映射信息之后清除的清除数据之中,CPU 2130a可以识别出具有上下文信息的清除数据(参见图9和10中的清除数据的CTX),该上下文信息表示由于目标映射段未加载到缓冲存储器2150a中而配置了清除数据。
CPU 2130a可以通过按清除所识别的清除数据的顺序选择清除数据,并且顺序地重放牺牲映射段的标识信息(即,图10中的清除数据的#MS_A1)和包括在所选择的清除数据中的相邻映射段的位置信息(即,图10中的清除数据的#MS_C1、PADD_MS_C1),来重建最近的映射信息。
当重建最近的映射信息时,CPU 2130a可以确定与重建映射信息2152中包括的当前高速缓存的映射段标识信息2152b相对应的映射段将被加载到缓冲存储器2150a中。与重建映射信息2152中包括的当前高速缓存的映射段标识信息2152b相对应的映射段可以是在断电时存在于缓冲存储器2150a中的映射段。
CPU 2130a可以参考重建映射信息2152中包括的映射段位置信息2152c,来识别存储区域的物理地址,在该存储区域中存储了与重建映射信息2152中包括的当前高速缓存的映射段标识信息2152b相对应的映射段。
CPU 2130a可以通过访问与所标识的物理地址相对应的存储区域来将当前高速缓存的映射段加载到缓冲存储器2150a中。当前高速缓存的映射段可以是在断电时高速缓存在缓冲存储器2150a中的映射段。
CPU 2130a可以执行日志重放操作,以便将加载到缓冲存储器2150a中的当前高速缓存的映射段更新为最近状态。
CPU 2130a可以通过顺序地重放在按照清除日志数据的顺序清除相应的映射段之后清除的日志数据来更新当前高速缓存的映射段中的每一个。
当对当前高速缓存的映射段中的每一个的日志重放操作完成时,可以重建当前高速缓存的映射段以反映断电时的状态。
缓冲存储器2150a可以是用于在存储器控制器2100a控制非易失性存储器装置2200a的同时临时存储数据的临时存储器装置。
在编程操作中,缓冲存储器2150a可以存储从主机接口2110a接收的数据,并且将所存储的数据传送到存储器接口2120a。
在读取操作中,缓冲存储器2150a可以存储从非易失性存储器装置2200a接收的读取数据,并且将所存储的读取数据传送到主机接口2110a。
缓冲存储器2150a可以用作用于存储存储器控制器2100a的操作所需的各种信息的存储装置。缓冲存储器2150a可以存储多个表。在实施例中,其中逻辑和物理地址彼此映射的地址映射表可以加载到缓冲存储器2150a中。在实施例中,仅地址映射表的一部分可以被加载到缓冲存储器2150a中。在实施例中,映射信息2152可以加载到缓冲存储器2150a中。在实施例中,缓冲存储器2150a可以包括日志条目2158,并且日志数据可以被存储在日志条目2158中(参见图9)。在实施例中,映射段映射信息2154可以被加载到缓冲存储器2150a中(参见图8)。
图2是示出根据本公开的实施例的存储器系统的示图。
存储器系统2000b可以包括被配置为存储数据的非易失性存储器装置2200b、被配置为响应于来自主机1000b的请求来控制非易失性存储器装置2200b的存储器控制器2100b以及被配置为在存储器控制器2100b控制非易失性存储器装置2200b时临时存储数据的缓冲存储器2150b。
图2所示的主机1000b、非易失性存储器装置2200b和缓冲存储器2150b可以执行与如图1所示的主机1000a、非易失性存储器装置2200a和缓冲存储器2150a相同的操作。
存储器控制器2100b可以包括主机接口2110b、存储器接口2120b、中央处理单元(CPU)2130b和缓冲存储器接口2140b。
图2所示的主机接口2110b、存储器接口2120b和CPU 2130b可以执行与图1所示的主机接口2110a、存储器接口2120a和CPU 2130a相同的操作。
缓冲存储器接口2140b可以通过使用各种接口协议中的任意一种来执行与缓冲存储器2150b的通信。
图3是示出根据本公开的实施例的存储器系统的示图。
存储器系统2000c可以包括被配置为存储数据的非易失性存储器装置2200c和被配置为响应于来自主机1000c的请求来控制非易失性存储器装置2200c的存储器控制器2100c。
存储器控制器2100c可以包括主机接口2110c、存储器接口2120c、中央处理单元(CPU)2130c和缓冲存储器2150c。
图3所示的主机接口2110c、存储器接口2120c、CPU 2130c、缓冲存储器2150c和非易失性存储器装置2200c可以执行与图1所示的主机接口2110a、存储器接口2120a、CPU2130a、缓冲存储器2150a和非易失性存储器装置2200a相同的操作。
主机1000c可以包括主机存储器1050c。主机存储器1050c可以是用于在存储器控制器2100c控制非易失性存储器装置2200c的同时临时存储数据的临时存储区域。
在实施例中,CPU 2130c可以进一步将加载到缓冲存储器2150c中的一些元数据加载到主机存储器1050c中。例如,CPU 2130c可以进一步将加载到缓冲存储器2150c中的映射段加载到主机存储器1050c中。进一步加载到主机存储器1050c中的映射段可以是重建映射段。
在实施例中,当加载到缓冲存储器2150c中的映射段被更新时,CPU 2130c可以将对应的更新内容反映到加载到主机存储器1050c中的映射段。例如,当更新加载到缓冲存储器2150c中的映射段之中的目标映射段时,CPU 2130c可以更新与加载到主机存储器1050c中的映射段之中的目标映射段相同的映射段。
在实施例中,当加载到缓冲存储器2150c中的映射段之中的目标映射段的相邻映射段被清除到非易失性存储器装置2200c时,CPU 2130c可以从主机存储器1050c中卸载与加载到主机存储器1050c中的映射段之中的相邻映射段相同的映射段。
图4是示出图1至图3所示的非易失性存储器装置的示图。
图4中所示的非易失性存储器装置2200可以是分别在图1和图3中示出的非易失性存储器装置2200a、非易失性存储器装置2200b或非易失性存储器装置2200c。
非易失性存储器装置2200可以包括控制逻辑2210、外围电路2200和存储器单元阵列2240。
控制逻辑2210可以在存储器控制器(例如,图1所示的2100a、图2所示的2100b或图3所示的2100c)的控制下控制外围电路2220。
控制逻辑2210可以响应于通过输入/输出电路2226从存储器控制器接收到的命令CMD和地址ADD来控制外围电路2200。例如,控制逻辑2210可以响应于命令CMD和地址ADD输出操作信号OP_CMD、行地址RADD、列地址CADD、页面缓冲器控制信号PBSIGNALS和允许位VRY_BIT<#>。控制逻辑2210可以响应于从电流感测电路2234接收的通过信号PASS或失败信号FAIL来确定验证操作是通过还是失败。
外围电路2200可以执行用于将数据存储在存储器单元阵列2240中的编程操作、用于输出存储在存储器单元阵列2240中的数据的读取操作、以及用于擦除存储在存储器单元阵列2240中的数据的擦除操作。
外围电路2220可以包括电压发生器2222、行解码器2224、输入/输出电路2226、列解码器2228、页面缓冲器组2232和电流感测电路2234。
电压发生器2222可响应于从控制逻辑2210接收的操作信号OP_CMD而生成在编程、读取和擦除操作中使用的各种操作电压Vop。例如,电压发生器2222可以将编程电压、验证电压、通过电压、读取电压、擦除电压、导通电压等传送到行解码器2224。
行解码器2224可以响应于从控制逻辑2210接收到的行地址RADD,将工作电压Vop传送到联接到存储器单元阵列2240中包括的存储块之中的选择的存储块的局部线LL。局部线LL可以包括局部字线、局部漏极线和局部源极选择线。此外,局部线LL可以包括联接到存储块的各种线,诸如源极线。
输入/输出电路2226可以将通过输入/输出线IO从存储器控制器接收的命令CMD和地址ADD传送到控制逻辑2210,或者与列解码器2228交换数据DATA。
列解码器2228可以响应于从控制逻辑2210接收的列地址CADD在输入/输出电路2226和页面缓冲器组2232之间传送数据。例如,列解码器2228可以通过数据线DL与页面缓冲器PB1至PBm交换数据,或者通过列线CL与输入/输出电路2226交换数据。
页面缓冲器组2232可以与共同联接到存储块BLK1到BLKi的位线BL1到BLm联接。页面缓冲器组2232可以包括联接到位线BL1至BLm的多个页面缓冲器PB1至PBm。例如,可以针对每个位线联接一个页面缓冲器。页面缓冲器PB1至PBm可以响应于从控制逻辑2210接收的页面缓冲器控制信号PBSIGNALS而操作。例如,页面缓冲器PB1至PBm可以在编程操作中临时存储从存储器控制器接收的编程数据,并根据该编程数据来调整施加到位线BL1至BLm的电压。此外,页面缓冲器PB1至PBm可以在读取操作中临时存储通过位线BL1至BLm接收的数据,或者感测位线BL1至BLm的电压或电流。
电流感测电路2234可以响应于允许位VRY_BIT<#>而生成参考电流,并且通过将由参考电流生成的参考电压与从页面缓冲器组2232接收的感测电压VPB进行比较来输出通过信号PASS或失败信号FAIL。
存储器单元阵列2240可以包括其中存储数据的多个存储块BLK1至BLKi。非易失性存储器装置2200的操作所需的用户数据和各种信息可以存储在存储块BLK1至BLKi中。存储块BLK1至BLKi可以以二维结构或三维结构实施,并且彼此相同地配置。
图5是示出图4所示的存储器单元阵列的示图。
存储器单元阵列2240可以包括用户数据区域2242和元数据区域2244。用户数据区域2242和元数据区域2244中的每一个可以包括多个存储区域。存储区域中的每一个可以对应于一个存储器单元、多个存储器单元、一个页面、多个页面、一个存储块或多个存储块。
从主机(例如,图1所示的1000a、图2所示的1000b或图3所示的1000c)编程请求的数据可以存储在用户数据区域2242中。
可以在元数据区域2244中存储(或清除)管理存储器系统所需的各种元数据(例如,图1所示的2000a、图2所示的2000b或图3所示的2000c)。例如,与地址映射表、映射信息、有效页面信息或编程/擦除计数中的至少一个相对应的元数据可以被存储(或清除)在元数据区域2244中。
图6是示出图5所示的用户数据区域的示图。
通过示例的方式,在图6中示出了其中在用户数据区域2242中包括12000个存储区域的配置,尽管本公开的实施例不限于此。
在图6所示的示例中,PADD_xxxxx表示与存储区域相对应的物理地址。
用户数据区域2242中包括的存储区域可以被分组为多个存储区域组UDA_A1至UDA_A4、UDA_B1至UDA_B4以及UDA_C1至UDA_C4。在实施例中,存储区域组UDA_A1至UDA_A4、UDA_B1至UDA_B4以及UDA_C1至UDA_C4中的每一个可以包括相同数量的存储区域。在图6中,示出了每个存储区域组包括1000个存储区域的示例。例如,存储区域组UDA_A1可以包括与物理地址PADD_a0001至PADD_a1000相对应的存储区域。
从主机(例如,图1所示的1000a、图2所示的1000b或图3所示的1000c)编程请求的数据可以存储在用户数据区域2242中。在图6中,“用户数据”表示从主机编程请求的数据被存储在存储区域中,“被擦除”表示没有数据被存储在存储区域中。
图7是示出地址映射表的示图。
图7所示的地址映射表可以存储在图5所示的元数据区域2244中。
地址映射表可以包括与图5所示的用户数据区域2242中包括的各个存储区域相对应的物理地址和与各个物理地址相对应的逻辑地址之间的映射信息。
地址映射表可以包括其编号与用户数据区域2242中包括的存储区域的编号相对应的条目。地址映射表中包括的条目中的每一个可以包括一个逻辑地址和与一个逻辑地址相对应的一个物理地址之间的映射信息。
地址映射表中包括的条目可以被分组为多个映射段。也就是说,地址映射表可以包括多个映射段MS_A1至MS_A4、MS_B1至MS_B4以及MS_C1至MS_C4。
在实施例中,映射段中的每一个可以对应于用户数据区域2242中的各个存储区域组。例如,图7所示的映射段MS_A1可以对应于图6所示的存储区域组UDA_A1。类似地,图7所示的映射段MS_A2至MS_A4、MS_B1至MS_B4以及MS_C1至MS_C4可以分别对应于存储区域组UDA_A2至UDA_A4、UDA_B1至UDA_B4以及UDA_C1至UDA_C4。
映射段MS_A1至MS_A4、MS_B1至MS_B4以及MS_C1至MS_C4中的每一个可以包括与对应于其的存储区域组相对应的地址映射信息。例如,映射段MS_A1可以包括与存储区域组UDA_A1相对应的地址映射信息。
在图7中,PADD_MS_xx表示其中存储映射段xx的存储区域的物理地址。
在实施例中,地址映射表中包括的映射段可以被分组为多个映射段组MSG。例如,映射段MS_A1、MS_B1和MS_C1可以分组为映射段组MSG1,映射段MS_A2、MS_B2和MS_C2可以分组为映射段组MSG2,映射段MS_A3、MS_B3和MS_C3可以分组为映射段组MSG3并且映射段MS_A4、MS_B4和MS_C4可以分组为映射段组MSG4。
如上所述,与目标映射段相同的映射段组的映射段中的每一个可以被称为目标映射段的相邻映射段。例如,当目标映射段是映射段MS_A1时,映射段MS_B1和MS_C1中的每一个可以被称为目标映射段MS_A1的相邻映射段。
图8是示出根据本公开的实施例的缓冲存储器的示图。
图8所示的缓冲存储器2150可以是图1所示的缓冲存储器2150a、图2所示的缓冲存储器2150b或图3所示的缓冲存储器2150c。
映射信息2152或映射段映射信息2154中的至少一个可以被加载到缓冲存储器2150中。
可以在存储器系统(例如,图1所示的2000a、图2所示的2000b或图3所示的2000c)通电时,从非易失性存储器装置(例如,图1所示的2200a、图2所示的2200b或图3所示的2200c)加载映射信息2152。在实施例中,可以根据从非易失性存储器装置接收的数据在缓冲存储器2150中重建从非易失性存储器装置加载的映射信息2152。
映射信息2152可以包括映射段组标识信息2152a、当前高速缓存的映射段标识信息2152b或映射段位置信息2152c中的至少一个。映射段组标识信息2152a可以是用于识别构成地址映射表的映射段组的信息。当前高速缓存的映射段标识信息2152b可以是用于识别当前加载到当前高速缓存的映射段区域2156中的映射段的标识信息。映射段位置信息2152c可以表示与其中存储映射段的非易失性存储器装置的存储区域相对应的物理地址。
可以在存储器系统的通电时,从非易失性存储器装置加载映射段映射信息2154。映射段映射信息2154可以包括映射段中的每一个的标识信息2154a和与各个映射段相对应的逻辑地址信息2154b。
缓冲存储器2150可以包括当前高速缓存的映射段区域2156或日志条目2158中的至少一个。
可以将与目标逻辑地址相对应的目标映射段加载到当前高速缓存的映射段区域2156中。例如,在编程操作中,可以将与编程请求中包括的目标逻辑地址相对应的目标映射段从非易失性存储器装置加载到缓冲存储器2150中。例如,可以参考映射段映射信息2154来识别与目标逻辑地址相对应的映射段,并且可以参考映射段位置信息2152c从其中存储所识别的映射段的非易失性存储器装置的存储区域中加载所识别的映射段。
在实施例中,每个映射段组的一个映射段可以加载到当前高速缓存的映射段区域2156中。例如,当地址映射表包括四个映射段组时,每个映射段组的一个映射段即总共四个映射段可以被加载到缓冲存储器2150中。在图8中,示出了将属于不同映射段组的映射段MS_A1、MS_B2、MS_C3和MS_A4加载到当前高速缓存的映射段区域2156中的示例。
如下所述,当与目标逻辑地址相对应的目标映射段未加载到当前高速缓存的映射段区域2156中时,目标映射段的相邻映射段可以被清除到非易失性存储器装置,并且目标映射段可以加载到当前高速缓存的映射段区域2156中。
日志数据可以存储在日志条目2158中。当加载在当前高速缓存的映射段区域2156中的映射段的地址映射信息被更新时,日志数据可以包括关于更新的项目的信息。例如,当对应于目标逻辑地址分配新物理地址时,目标逻辑地址和对应于目标逻辑地址新分配的物理地址之间的映射信息可以包括在日志数据中。
在实施例中,加载到当前高速缓存的映射段区域2156中的映射段可以进一步加载到图3所示的主机存储器1050c中。在实施例中,可以从主机存储器1050c中卸载与加载到当前高速缓存的映射段区域2156中的映射段之中的清除到非易失性存储器装置的映射段相同的映射段。在实施例中,当加载到当前高速缓存的映射段区域2156中的映射段之中的任意一个映射段被更新时,可以更新与加载到主机存储器1050c中的映射段之中的更新的映射段相同的映射段。
图9是示出根据本公开的实施例的配置清除数据的示例的示图。
在参照图9描述的实施例中,假设了将映射段MS_A1、MS_B2、MS_C3和MS_A4加载到当前高速缓存的映射段区域2156中的情况。
当从主机(例如,图1所示的1000a、图2所示的1000b或图3所示的1000c)接收到编程请求时,可以分配与包括在编程请求中的目标逻辑地址相对应的物理地址。
在参照图9描述的实施例中,假设了编程请求中包括的所有目标逻辑地址属于加载到当前高速缓存的映射段区域2156中的映射段MS_A1、MS_B2、MS_C3和MS_A4的情况。
可以根据新分配的物理地址来更新映射段MS_A1、MS_B2、MS_C3和MS_A4。在图9中,示出了其中对应于目标逻辑地址LADD_a0001、LADD_a1000、LADD_b1001、LADD_c3000、LADD_a3001和LADD_a3002分配新物理地址PADD_a0001、PADD_a1000、PADD_b1001、PADD_c3000、PADD_a3001和PADD_a3002,并且根据所分配的物理地址PADD_a0001、PADD_a1000、PADD_b1001、PADD_c3000、PADD_a3001和PADD_a3002更新MS_A1、MS_B2、MS_C3和MS_A4的示例。
每当分配了与目标逻辑地址相对应的新物理地址时,即,每当映射段被更新时,可以生成包括更新的项目的日志数据以存储在日志条目2158中。
在实施例中,当收集了足够的日志数据以完全填充日志条目2158时,即,当所生成的日志数据的数量等于设定数量时,可以配置待清除到非易失性存储器装置的清除数据。
如上所述,当清除数据被配置为其生成的数量与设定数量相对应的日志数据时,清除数据可以包括上下文信息CTX、日志数据或映射片中的至少一个。
如上所述,上下文信息CTX可以表示配置清除数据的原因。例如,当清除数据被配置为其生成的数量等于设定数量的日志数据时,上下文信息CTX可以被设置为“0”。
映射片可以是加载到当前高速缓存的映射段区域2156中的映射段之中的任意一个映射段的一部分。
配置的清除数据可以被清除到非易失性存储器装置的元数据区域2244。
图10是示出根据本公开的实施例的配置清除数据的示例的示图。
在参照图10描述的实施例中,假设在参照图9描述的清除数据被清除之后,对应于逻辑地址LADD_b1002的日志数据被生成以存储在日志条目2158中,并且接收到包括目标逻辑地址LADD_b0001的编程请求。
可以参考映射段映射信息2154来识别目标逻辑地址LADD_b0001所属的映射段。当目标逻辑地址LADD_b0001被包括在映射段MS_B1中时,映射段MS_B1可以被称为目标映射段。
为了更新地址映射信息,目标映射段MS_B1将被加载到当前高速缓存的映射段区域2156中。并且,在将目标映射段MS_B1加载到当前高速缓存的映射段区域2156中之前,将选择加载到当前高速缓存的映射段区域2156中的映射段之中的目标映射段MS_B1的相邻映射段MS_A1作为待清除到非易失性存储器装置的牺牲映射段。为此,可以配置清除数据。
如上所述,当由于目标映射段未加载到当前高速缓存的映射段区域2156中而配置清除数据时,该清除数据可以包括上下文信息CTX、日志数据、牺牲映射段(MS)标识符、相邻映射段(MS)信息或牺牲映射段中的至少一个。
如上所述,上下文信息CTX可以表示配置清除数据的原因。例如,当清除数据被配置为目标映射段未加载到当前高速缓存的映射段区域2156中时,上下文信息CTX可以被设置为“1”。
相邻映射段信息可以包括目标映射段的相邻映射段之中除牺牲映射段之外的其它相邻映射段的标识信息、或与其它相邻映射段中的每一个存储在其中的存储区域相对应的物理地址中的至少一个。在图10所示的示例中,由于目标映射段MS_B1的相邻映射段是映射段MS_A1和MS_C1,并且牺牲映射段是映射段MS_A1,因此相邻映射段MS_C1的标识信息#MS_C1或其中存储相邻映射段MS_C1的存储区域的物理地址PADD_MS_C1中的至少一个可以被包括在相邻映射段信息中。
配置的清除数据可以被清除到非易失性存储器装置的元数据区域2244。
图11是示出根据本公开的实施例的在缓冲存储器中更新的信息的示图。
在参照图11描述的实施例中,假设清除了参照图10描述的清除数据的情况。
当清除当前高速缓存的映射段区域2156内的牺牲映射段MS_A1时,目标映射段MS_B1可以加载到当前高速缓存的映射段区域2156内用于清除的牺牲映射段的区域中。另外,分配了与目标逻辑地址LADD_b0001相对应的物理地址PADD_b0001,并且可以更新目标映射段MS_B1。另外,包括目标映射段MS_B1的更新项目的日志数据可以存储在日志条目2158中。
并且,当清除了牺牲映射段MS_A1时,可以根据与清除了牺牲映射段MS_A1的非易失性存储器装置的存储区域相对应的物理地址来更新映射信息2152。例如,当牺牲映射段MS_A1被清除到与物理地址PADD*_MS_A1相对应的存储区域时,可以将与牺牲映射段MS_A1相对应的物理地址从物理地址PADD_MS_A1更新为物理地址PADD*_MS_A1。
同时,当目标映射段MS_B1被加载到当前高速缓存的映射段区域2156中时,映射信息2152的当前高速缓存的映射段标识信息2152b可以被更新。由于清除了牺牲映射段MS_A1并且目标映射段MS_B1加载到当前高速缓存的映射段区域2156中,因此可以将与映射段组MSG1相对应的当前高速缓存的映射段标识信息2152b从#MS_A1更新为#MS_B1。
图12是示出根据本公开的实施例的重建映射信息的进程的示图。
在存储器系统通电时,清除到非易失性存储器装置的数据之中的最新清除的映射信息可以加载到缓冲存储器2150中。
当最新清除的映射信息2152被加载到缓冲存储器2150中时,可以搜索包括在断电时清除最新清除的映射信息2152之后清除的牺牲映射段的清除数据。可以参考上下文信息CTX来搜索包括牺牲映射段的清除数据。例如,可以搜索包括被设置为“1”的上下文信息CTX的清除数据作为包括牺牲映射段的清除数据。
在顺序地搜索在最新清除的映射信息2152之后清除的数据之中的包括牺牲映射段的所有清除数据时,可以反映包括在搜索到的清除数据中的信息,从而重建映射信息。
例如,可以基于包括牺牲映射段的清除数据(即,图10中的清除数据的MS_A1)中包括的牺牲映射段(MS)标识符(即,图10中的清除数据的#MS_A1)或相邻映射段(MS)信息(即,图10中的清除数据的#MS_C1、PADD_MS_C1)中的至少一个,来识别紧接着在清除包括牺牲映射段的清除数据之后加载到缓冲存储器2150中的映射段。例如,当牺牲映射段标识符是#MS_A1并且相邻映射段信息是#MS_C1时,可以将加载到缓冲存储器2150中的映射段识别为#MS_B1。因此,可以将映射信息中与映射段组MSG1相对应的当前高速缓存的映射段标识信息从#MS_A1校正为#MS_B1。
另外,在包括牺牲映射段的清除数据中包括的相邻映射段信息中与相邻映射段相对应的物理地址可以被反映到映射信息。例如,当加载到缓冲存储器2150中的映射信息表示与映射段MS_A1相对应的物理地址是PADD_MS_A1,并且包括在映射段信息中的映射段位置信息表示PADD*_MS_A1时,加载到缓冲存储器2150中的映射信息可以从PADD_MS_A1校正为PADD*_MS_A1。
图13是示出根据本公开的实施例的在通电时加载映射段的进程的示图。
在参照图13描述的实施例中,假设了如参照图12所述重建映射信息的情况。
当重建映射信息时,可以将与包括在重建的映射信息中的当前高速缓存的映射段标识信息2152b相对应的映射段加载到当前高速缓存的映射段区域2156中。为此,可以参考重建的映射信息中包括的映射段位置信息2152c。也就是说,访问与包括在映射段位置信息2152c中的物理地址相对应的存储区域,从而将与当前高速缓存的映射段标识信息相对应的映射段加载到当前高速缓存的映射段区域2156中。
在图13中,示出了其中访问物理地址PADD*_MS_A1,以便加载与#MS_A1相对应的映射段MS_A1的示例。
按照相同的原则,访问物理地址PADD_MS_A2,以便加载映射段MS_A2。访问物理地址PADD_MS_B3,以便加载映射段MS_B3。访问物理地址PADD_MS_A4,以便加载映射段MS_A4。
图14是示出根据本公开的实施例的重建当前高速缓存的映射段的进程的示图。
在参照图14描述的实施例中,如参照图13所述加载当前高速缓存的映射段。
当当前高速缓存的映射段加载到当前高速缓存的映射段区域2156中时,可以在顺序地加载在将相应的当前高速缓存的映射段清除到非易失性存储器装置之后清除的日志数据的同时,执行日志重放操作。
例如,可以在清除当前高速缓存的映射段MS_A1之后清除包括在清除数据中的日志数据的同时,按照清除日志数据的顺序来重放当前高速缓存的映射段MS_A1。
根据相同的原则,可以在将在清除当前高速缓存的映射段MS_A2之后清除的清除数据中包括的日志数据按清除日志数据的顺序进行重放的同时,重建当前高速缓存的映射段MS_A2。可以按照相同的原则对当前高速缓存的映射段MS_B3和MS_A4执行日志重放操作。
当日志重放操作完成时,在存储器系统断电时,可以在缓冲存储器2150的当前高速缓存的映射段区域2156中将映射段重建为当前高速缓存的映射段。
在实施例中,可以将在当前高速缓存的映射段区域2156中重建的映射段加载到图3所示的主机存储器1050c中。
图15是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
在步骤1501中,存储器控制器(图1所示的2100a、图2所示的2100b或图3所示的2100c)可以接收包括目标逻辑地址的编程请求。
在步骤1503中,存储器控制器可以确定与目标逻辑地址相对应的目标映射段是否已经被加载到缓冲存储器中。当确定对应于目标逻辑地址的目标映射段已经加载到缓冲存储器中时,可以执行步骤1505。当确定与目标逻辑地址相对应的目标映射段尚未被加载到缓冲存储器中时,可以执行步骤1511。
在步骤1505中,存储器控制器可以分配与目标逻辑地址相对应的物理地址,并根据所分配的物理地址更新目标映射段。存储器控制器可以生成表示更新项目的日志数据。
在步骤1507中,存储器控制器可以检查是否需要清除操作。例如,当所生成的日志数据的数量对应于设定数量时或当执行了设定次数的清除操作时,存储器控制器可以确定需要清除操作。当确定需要清除操作时(在1507处为是),可以执行步骤1509。当确定不需要清除操作时(在1507处为否),可以执行步骤1501。
在步骤1509中,存储器控制器可以配置清除数据,并且将所配置的清除数据清除到非易失性存储器装置。当所生成的日志数据的数量对应于设定数量时,存储器控制器可以配置清除数据,该清除数据包括上下文信息、日志数据或映射片中的至少一个。当执行了设定次数的清除操作时,存储器控制器可以将在缓冲存储器中管理的映射信息配置为清除数据。
同时,当确定与目标逻辑地址相对应的目标映射段尚未加载到缓冲存储器中时执行的步骤S1511中,存储器控制器可以配置清除数据,并将所配置的清除数据清除到非易失性存储器装置。其中,存储器控制器可以配置清除数据,该清除数据包括上下文信息、日志数据、牺牲映射段标识符(即,图10中的清除数据的#MS_A1)、相邻映射段信息(即,图10中的清除数据#MS_C1、PADD_MS_C1)或牺牲映射段中的至少一个。
在步骤1513中,存储器控制器可以将目标映射段加载到缓冲存储器中。
在步骤1515中,存储器控制器可以更新映射信息。例如,存储器控制器可以将与其中清除了牺牲映射段的存储区域相对应的物理地址反映到映射信息。而且,存储器控制器可以将加载到缓冲存储器中的目标映射段的标识信息反映到当前高速缓存的映射段标识信息2152b。
在步骤1517中,存储器控制器可以分配与目标逻辑地址相对应的物理地址,并根据所分配的物理地址更新目标映射段。存储器控制器可以生成包括目标映射段的更新项目的日志数据。
图16是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
在步骤1601中,存储器控制器(图1所示的2100a、图2所示的2100b或图3所示的2100c)可以接收包括目标逻辑地址的读取请求。
在步骤1603中,存储器控制器可以确定与目标逻辑地址相对应的目标映射段是否已经加载到缓冲存储器中。当确定对应于目标逻辑地址的目标映射段已经加载到缓冲存储器中时(在1603处为是),可以执行步骤1605。当确定与目标逻辑地址相对应的目标映射段尚未加载到缓冲存储器中时(在1603处为否),可以执行步骤1611。
在步骤1605中,存储器控制器可以参考目标映射段来识别与目标逻辑地址相对应的物理地址,并且对与所识别的物理地址相对应的存储区域执行读取操作。
同时,当确定与目标逻辑地址相对应的目标映射段尚未加载到缓冲存储器中时执行的步骤1611中,存储器控制器可以将与目标逻辑地址相对应的目标映射段加载到缓冲存储器中。
在实施例中,存储器控制器可以在被加载到缓冲存储器中的映射段之中选择目标映射段的相邻映射段作为牺牲映射段,并在所选择的牺牲映射段被清除到非易失性存储器装置之后将目标映射段加载到缓冲存储器中。
在另一实施例中,存储器控制器不将被加载到缓冲存储器中的映射段之中的目标映射段的相邻映射段清除到非易失性存储器装置,而是可以将目标映射段加载到缓冲存储器中。
在步骤1613中,存储器控制器可以参考目标映射段来识别与目标逻辑地址相对应的物理地址,并且对与所识别的物理地址相对应的存储区域执行读取操作。
当在步骤1611中被加载到缓冲存储器中的映射段之中的目标映射段的相邻段未被清除到非易失性存储器装置时,可以执行步骤1615。
在步骤1615中,当在步骤1611中加载的目标映射段中不包括后续读取请求中包括的目标逻辑地址时,存储器控制器可以从缓冲存储器中卸载对应的目标映射段。
图17是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
在步骤1701中,存储器控制器(图1所示的2100a、图2所示的2100b或图3所示的2100c)可以通过搜索非易失性存储器装置的存储区域来识别最新清除的映射信息,并将所识别的映射信息加载到缓冲存储器。可以在存储器系统通电时执行步骤1701。
在步骤1703中,存储器控制器可以在清除最新清除的映射信息之后清除的清除数据之中搜索与映射段一起清除的清除数据。
在步骤1705中,存储器控制器可以参考搜索到的清除数据来重建加载到缓冲存储器中的映射信息。例如,存储器控制器可以参考牺牲映射段标识符(即,图10中的清除数据的#MS_A1)或搜索到的清除数据中包括的相邻映射段信息(即,图10中的清除数据的#MS_C1、PADD_MS_C1)中的至少一个来重建映射信息。
在步骤1707中,存储器控制器可以参考重建的映射信息中包括的当前高速缓存的映射段标识信息2152b和映射段位置信息2152c,将当前高速缓存的映射段加载到缓冲存储器中。
在步骤1709中,存储器控制器可以通过重放在清除对应的当前高速缓存的映射段之后清除的日志数据,来重建加载到缓冲存储器中的当前高速缓存的映射段中的每一个。
图18是示出存储块的示图。
存储器单元阵列可包括多个存储块。在图18中示出了多个存储块之中的代表存储块BLki。
在存储块BLKi中,相互平行布置的多个字线可以联接在第一选择线和第二选择线之间。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。具体地,存储块BLKi可以包括联接在位线BL1至BLm与源极线SL之间的多个串ST。位线BL1至BLm可以分别联接到串ST,并且源极线SL可以共同联接到串ST。串ST可以彼此相同地配置,因此,作为示例详细描述联接到第一位线BL1的串ST。
串ST可以包括源极选择晶体管SST、多个存储器单元F1至F16和漏极选择晶体管DST,其在源极线SL和第一位线BL1之间串联联接。至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST可以包括在一个串ST中,并且16个以上的存储器单元可以包括在一个串ST中。
源极选择晶体管SST的源极可以联接到源极线SL,漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元F1至F16可以串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。包括在不同串ST中的源极选择晶体管SST的栅极可以联接到源极选择线SSL,包括在不同串ST中的漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,并且不同串ST中的存储器单元F1到F16的栅极可以联接到多个字线WL1至WL16。可以将不同串ST中的存储器单元之中的联接到同一字线的一组存储器单元称为物理页面PPG。因此,其数量对应于字线WL1至WL16的物理页面PPG可以包括在存储块BLKi中。
一个存储器单元可以存储一位数据。该存储器单元可以被称为单层单元(SLC)。因此,一个物理页面PPG可以存储一个逻辑页面(LPG)数据。一个LPG数据可以包括数量与一个物理页面PPG中包括的单元的数量相对应的数据位。例如,当在一个存储器单元中存储两位或更多位数据时,一个物理页面PPG可以存储两个或更多个逻辑页面LPG。例如,可以将两个LPG数据存储在以MLC类型驱动的存储器装置中的一个物理页面PPG中,并且可以将三个LPG数据存储在以TLC类型驱动的存储器装置中的一个物理页面PPG中。
图19是示出应用了本公开的实施例的存储器系统的示图。
用户系统900可以包括应用处理器910、易失性存储器装置920、网络模块930、非易失性存储器装置940和用户接口950。
应用处理器910可以驱动各种程序或操作系统(OS)中的至少一个来控制用户系统900。应用处理器910可以执行与图1所示的CPU2130a、图2所示的CPU 2130b或图3所示的CPU2130c相同的操作。
易失性存储器装置920可以用作用于用户系统900的操作的主存储器、工作存储器、缓冲存储器或高速缓存存储器。易失性存储器装置920可以包括DRAM、SRAM等。非易失性存储器装置920可以与图1所示的缓冲存储器2150a、图2所示的缓冲存储器2150b或图3所示的缓冲存储器2150c相同。
网络模块930可以执行与外部装置的通信。例如,网络模块930可以通过使用诸如以下的至少一种来执行与外部装置的通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)或长期演进(LTE)。
非易失性存储器装置940可以存储数据。例如,非易失性存储器装置940可以存储从应用处理器910接收的数据,或者将存储的数据传送到应用处理器910。非易失性存储器装置940可以被设置为诸如存储卡或外部驱动器的可拆卸的存储介质。非易失性存储器装置940可以与图1所示的非易失性存储器装置2200a、图2所示的非易失性存储器装置2200b或图3所示的非易失性存储器装置2200c相同或在功能上相同。
用户接口950可以从用户接收数据或向用户输出数据。例如,用户接口950可以包括键盘、小键盘、按钮、触摸屏、摄像机、麦克风、扬声器等。
根据本公开的实施例,以小存储器容量有效地管理大容量元数据。
尽管出于清楚和理解的目的已经详细地示出和描述了各个实施例,但是本发明不限于任何特定的实施例或任何特定的细节。如本领域技术人员根据本公开将理解的,存在实现本发明的可选方式。因此,公开的实施例是说明性的而非限制性的。本发明包括落入权利要求及其等同方案的范围内的所有变化和修改。

Claims (22)

1.一种存储器系统,包括:
非易失性存储器装置,存储多个映射段组,所述多个映射段组中的每一个包括映射段,所述映射段包括主机的至少一个物理地址与至少一个逻辑之间的映射信息;以及
控制器:
从所述多个映射段组之中的选择的映射段组中的每一个中加载一个映射段,并且
根据对应于所述第一目标逻辑地址的目标映射段是否在所加载的一个映射段中,响应于包括从所述主机接收的第一目标逻辑地址的编程请求,不同地配置待清除到所述非易失性存储器装置的清除数据。
2.根据权利要求1所述的存储器系统,进一步包括:临时存储器装置,存储所述一个映射段。
3.根据权利要求1所述的存储器系统,其中所述控制器包括:临时存储器装置,存储所述一个映射段。
4.根据权利要求1所述的存储器系统,其中所述控制器加载所述一个映射段并将所加载的一个映射段存储在所述主机的临时存储区域中。
5.根据权利要求1所述的存储器系统,其中当所述目标映射段存在于所加载的一个映射段中时,所述控制器:
更新对应于所述目标映射段内的第一目标逻辑地址的物理地址,
配置所述清除数据以包括指示所述目标映射段的更新的日志数据。
6.根据权利要求5所述的存储器系统,其中所述控制器:当生成设定数量的日志数据时,将所生成的日志数据清除到所述非易失性存储器装置。
7.根据权利要求1所述的存储器系统,其中所述控制器:当所述目标映射段不是所加载的一个映射段时:
选择与所述目标映射段相同的映射段组的相邻映射段作为牺牲映射段,并且
配置所述清除数据以包括所选择的牺牲映射段。
8.根据权利要求7所述的存储器系统,其中所述控制器进一步:加载包括存储在所述非易失性存储器装置中的映射段中的每一个的物理地址的映射信息。
9.根据权利要求8所述的存储器系统,其中所述控制器:配置所述清除数据以包括所述映射信息的所述物理地址,所述映射信息对应于相同的映射段组中除所述目标映射段和牺牲映射段之外的其余映射段中的每一个。
10.根据权利要求8所述的存储器系统,其中所述控制器:在将包括所述牺牲映射段的所述清除数据清除到所述非易失性存储器装置之后,在所述映射信息中更新与所述牺牲映射段相对应的物理地址。
11.根据权利要求8所述的存储器系统,其中所述控制器:在将包括所述牺牲映射段的所述清除数据清除到所述非易失性存储器装置之后加载所述目标映射段。
12.根据权利要求11所述的存储器系统,其中所述控制器:
更新所加载的目标映射段中、与所述第一目标逻辑地址相对应的所述物理地址,
配置所述清除数据以包括指示所加载的目标映射段的更新的日志数据。
13.根据权利要求1所述的存储器系统,其中所述控制器进一步:当与从所述主机接收的第二目标逻辑地址相对应的目标映射段不是所加载的一个映射段时,响应于包括所述第二目标逻辑地址的第一读取请求,加载与所述第二目标逻辑相对应的所述目标映射段。
14.根据权利要求13所述的存储器系统,其中在加载与所述第二目标逻辑地址相对应的所述目标映射段之后,所述控制器:当第三目标逻辑地址不对应于与所述第二目标逻辑地址相对应的所述目标映射段时,响应于从所述主机接收的包括所述第三目标逻辑地址的第二读取请求,卸载对应于所述第二目标逻辑地址的所述目标映射段。
15.一种存储器系统,包括:
非易失性存储器装置,映射信息和清除数据被清除到所述非易失性存储器装置中,所述映射信息包括在所述非易失性存储器装置中、多个映射段组中的每一个中的多个映射段的每一个存储的物理地址,并且所述清除数据包括所述映射段之中的第一映射段被清除到的物理地址;以及
控制器:
加载所述映射信息,
加载在所述映射信息被清除之后清除的所述清除数据,并且
在所加载的映射信息中更新存储所加载的清除数据中的所述第一映射段的物理地址。
16.根据权利要求15所述的存储器系统,进一步包括:临时存储器装置,存储所加载的映射信息和所加载的清除数据。
17.根据权利要求15所述的存储器系统,其中所述控制器包括:临时存储器装置,存储所加载的映射信息和所加载的清除数据。
18.根据权利要求15所述的存储器系统,
其中所加载的清除数据进一步包括所述映射段组之中、与所述第一映射段相同的映射段组的第二映射段的标识信息,
其中所述控制器将所述第二映射段的标识信息包括在所加载的映射信息中。
19.根据权利要求18所述的存储器系统,其中所述控制器进一步加载与所述第二映射段的标识信息相对应的所述第二映射段。
20.根据权利要求19所述的存储器系统,其中:
所述非易失性存储器装置进一步存储与所述映射段中的至少一个相对应的日志数据,并且
所述控制器进一步加载在所述非易失性存储器装置中存储的日志数据之中、在清除所述第二映射段之后清除的日志数据,并通过重放所加载的日志数据来更新所加载的第二映射段。
21.根据权利要求20所述的存储器系统,其中所述控制器将所更新的第二映射段存储在主机的临时存储区域中。
22.一种控制器的操作方法,所述控制器控制存储多个映射段组的存储器装置,所述操作方法包括:
高速缓存所述组之中的选择的一个或多个中的每一个中的段;
高速缓存映射信息,所述映射信息指示各个所述组内的高速缓存的段和段的物理地址;
清除包括一个或多个日志的第一清除数据,所述一个或多个日志中的每一个指示一个或多个高速缓存命中段的变化;
清除第二清除数据,所述第二清除数据包括高速缓存的段之中的牺牲段和所述牺牲段以及用以替换所述牺牲段的目标段的一个或多个相邻段的信息;
高速缓存所述目标段并更新高速缓存的映射信息;
当所述第一清除数据和所述第二清除数据被清除设定次数时,清除包括所述高速缓存的映射信息的第三清除数据;
在断电之后通电时,通过高速缓存清除的映射信息并参考所述第二清除数据来重建所述映射信息,所述第二清除数据断电之前所述第三清除数据之后被清除;并且
参照重建的映射信息中的信息,并通过顺序地重放断电之前清除与高速缓存的段相对应的所述第二清除数据之后清除的所述第一清除数据中包括的所述日志,高速缓存一个或多个段;
其中所述牺牲段、所述相邻段和所述目标段属于同一组。
CN201911273792.9A 2019-06-25 2019-12-12 存储器系统 Withdrawn CN112131141A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0075467 2019-06-25
KR1020190075467A KR20210000414A (ko) 2019-06-25 2019-06-25 메모리 시스템

Publications (1)

Publication Number Publication Date
CN112131141A true CN112131141A (zh) 2020-12-25

Family

ID=73850113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911273792.9A Withdrawn CN112131141A (zh) 2019-06-25 2019-12-12 存储器系统

Country Status (3)

Country Link
US (1) US10997073B2 (zh)
KR (1) KR20210000414A (zh)
CN (1) CN112131141A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115563026A (zh) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11651209B1 (en) 2019-10-02 2023-05-16 Google Llc Accelerated embedding layer computations
US11461025B2 (en) * 2020-11-05 2022-10-04 Macronix International Co., Ltd. Data retention in memory devices
KR20220130526A (ko) * 2021-03-18 2022-09-27 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI375887B (en) * 2008-10-31 2012-11-01 A Data Technology Co Ltd Flash memory device with wear-leveling mechanism and controlling method thereof
KR20110016320A (ko) 2009-08-11 2011-02-17 주식회사 유니듀 플래시 메모리를 블록 그룹으로 구분하여 관리하는 방법
US8886870B2 (en) * 2010-05-25 2014-11-11 Marvell World Trade Ltd. Memory access table saving and restoring system and methods
US8909851B2 (en) * 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8972651B2 (en) * 2011-10-05 2015-03-03 Hitachi, Ltd. Storage system and storage method
US9170932B1 (en) * 2012-05-22 2015-10-27 Western Digital Technologies, Inc. System data storage mechanism providing coherency and segmented data loading
KR102050723B1 (ko) 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 그 데이터 관리 방법
KR102447471B1 (ko) * 2015-06-24 2022-09-27 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치
US9870248B2 (en) * 2015-08-13 2018-01-16 Red Hat Israel, Ltd. Page table based dirty page tracking
US10540102B2 (en) * 2016-09-30 2020-01-21 Amazon Technologies, Inc. Physical media aware spacially coupled journaling and replay
KR102458312B1 (ko) * 2017-06-09 2022-10-24 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
US10628051B2 (en) * 2018-07-13 2020-04-21 Seagate Technology Llc Reducing a data storage device boot time

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115563026A (zh) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Also Published As

Publication number Publication date
US20200409845A1 (en) 2020-12-31
US10997073B2 (en) 2021-05-04
KR20210000414A (ko) 2021-01-05

Similar Documents

Publication Publication Date Title
US10997065B2 (en) Memory system and operating method thereof
US11789860B2 (en) Logical to physical mapping management using low-latency non-volatile memory
US11068408B2 (en) Memory system and operating method thereof
US10956060B2 (en) Memory system dynamically allocating memory spaces and method of operating the same
US10997073B2 (en) Memory system
US9870836B2 (en) Memory system and method of controlling nonvolatile memory
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US11386005B2 (en) Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
KR20100094241A (ko) 예비 블록을 포함하지 않는 불휘발성 메모리 장치
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
US20170329539A1 (en) Data writing method, memory control circuit unit and memory storage device
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
TWI709975B (zh) 寫入控制方法以及資料儲存裝置及其控制器
CN113590505A (zh) 地址映射方法、固态硬盘控制器及固态硬盘
US10977144B2 (en) Memory system and method of operating the same
US20210232343A1 (en) Memory controller, memory system, and operating method thereof
JP2009217630A (ja) メモリシステム
KR20090046568A (ko) 플래시 메모리 시스템 및 그것의 쓰기 방법
CN117632038B (zh) 损耗平衡方法、存储器存储装置及存储器控制电路单元
US20240094923A1 (en) Memory system
JP5694212B2 (ja) 管理情報生成方法およびメモリシステム
US20240004554A1 (en) Partial erasing management method, memory storage device, and memory control circuit unit
CN111949197B (zh) 一种3d tlc闪存存储器及其数据写入方法和装置

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201225

WW01 Invention patent application withdrawn after publication