CN109753233B - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN109753233B
CN109753233B CN201810813067.5A CN201810813067A CN109753233B CN 109753233 B CN109753233 B CN 109753233B CN 201810813067 A CN201810813067 A CN 201810813067A CN 109753233 B CN109753233 B CN 109753233B
Authority
CN
China
Prior art keywords
mapping information
transaction
write data
memory
flag
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
Application number
CN201810813067.5A
Other languages
English (en)
Other versions
CN109753233A (zh
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 CN109753233A publication Critical patent/CN109753233A/zh
Application granted granted Critical
Publication of CN109753233B publication Critical patent/CN109753233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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/1008Correctness of operation, e.g. memory ordering
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种存储器系统,其包括:非易失性存储器装置,其包括多个存储块;以及控制器,其包括易失性存储器并且被配置为:将从主机传递的多个写入数据存储在多个存储块中的存储块中;以及在易失性存储器中管理与所存储的写入数据相对应的映射信息,其中控制器被配置为检查多个写入数据是否被分组到事务,基于检查结果选择性地将事务标记设置到映射信息;以及当未设置事务标记时,选择性地将映射信息存储在存储块中。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2017年11月8日提交的申请号为10-2017-0148005 的韩国专利申请的优先权,其公开通过引用整体并入本文。
技术领域
本发明的各个示例性实施例涉及一种存储器系统。特别地,示例 性实施例涉及一种能够有效地管理数据的控制器及其操作方法。
背景技术
计算环境的范例朝向使人们或用户随时随地使用他们或通常提供 的计算系统的普适计算推进。在普适计算的时代,对诸如移动电话、 数码相机和笔记本电脑的便携式电子装置的需求正在快速增长。这些 电子装置通常包括使用作为数据存储装置的存储器装置的存储器系 统。数据存储装置可以用作便携式电子装置的主存储器单元或辅助存 储器单元。
由于与硬盘装置相比,使用存储器装置的数据存储装置不具有机 械驱动单元(例如,具有读取/写入头的机械臂),所以它可以具有优 异的稳定性和耐久性。而且,与硬盘装置相比,数据存储装置具有快 速的数据访问速率以及低功耗。具有这种优点的数据存储装置的非限 制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存 储卡和固态硬盘(SSD)等。
发明内容
本发明的各个实施例涉及一种能够有效地管理响应于多个写入数 据的映射信息的存储器系统。
根据本发明的实施例,一种存储器系统包括:非易失性存储器装 置,其包括多个存储块;以及控制器,其包括易失性存储器并且被配 置为:将从主机传递的多个写入数据存储在多个存储块中的存储块中; 以及在易失性存储器中管理与所存储的写入数据相对应的映射信息, 其中控制器被配置为检查多个写入数据是否被分组到事务(transaction),基于检查结果选择性地将事务标记设置到映射信息; 以及当未设置事务标记时,选择性地将映射信息存储在存储块中。
映射信息包括第一映射信息和第二映射信息,第一映射信息是用 于存储在存储块中的写入数据的逻辑到物理信息,第二映射信息是物 理到逻辑信息,并且控制器被配置为:检查多个写入数据是否被分组 到事务;基于检查结果,选择性地将事务标记设置到第二映射信息; 以及当未将事务标记设置到第二映射信息时,选择性地将与第二映射 信息相对应的第一映射信息存储在存储块中。
控制器可以被配置为每当写入数据被存储在存储块中时,基于写 入数据中的每个是否被分组到事务,将写入数据划分为被分组到事务 的第一写入数据和未被分组到事务的第二写入数据,并且将事务标记 设置到在易失性存储器中管理的第二映射信息之中的、与第一写入数 据相对应的第二映射信息。
控制器可以被配置为在每个第一设置时刻,仅选择与在易失性存 储器中管理的全部第二映射信息之中的、未设置事务标记的第二映射 信息相对应的第一映射信息,并且将选择的第一映射信息存储在存储 块中。
控制器可以被配置为在第一设置时刻,不将与在易失性存储器中 管理的全部第二映射信息之中的、设置了事务标记的第二映射信息相 对应的第一映射信息存储在存储块中,并且继续在易失性存储器中管 理第一映射信息。
当第一写入数据的事务被提交时,控制器可以被配置为清除在事 务的提交时刻之前、被设置到与第一写入数据相对应的第二映射信息 的事务标记,以使与第一写入数据相对应的第二映射信息处于未设置 事务标记的状态。
当第一写入数据的事务被中止时,控制器可以被配置为即使在事 务的中止时刻之后、也保留在所述事务的中止时刻之前、被设置到与 第一写入数据相对应的第二映射信息的事务标记,并且从易失性存储 器移除与第一写入数据相对应的第一映射信息和第二映射信息。
控制器可以被配置为在每个第二设置时刻,仅选择在易失性存储 器中管理的全部第二映射信息之中的、未设置事务标记的第二映射信 息,并且将所选择的第二映射信息存储在存储块中。
控制器可以被配置为在每个第二设置时刻,将在易失性存储器中 管理的全部第二映射信息与表示是否设置了事务标记的信息一起存储 在存储块中。
控制器可以被配置为响应于与写入数据相对应的写入命令中包括 的事务ID信息,来检查写入数据中的每个是否被分组到事务。
根据本发明的实施例,一种存储器系统的操作方法,该存储器系 统包括非易失性存储器装置和控制器,其中非易失性存储器装置包括 多个存储块,控制器包括易失性存储器,操作方法可以包括:第一存 储步骤,通过控制器将从主机传递的多个写入数据存储在存储块中; 以及管理步骤,通过控制器管理存储在易失性存储器中的、与存储的 写入数据相对应的映射信息,其中管理步骤包括:第一检查步骤,检 查写入数据是否被分组到事务;设置步骤,参照第一检查步骤的结果, 选择性地将事务标记设置到映射信息;第二检查步骤,在设置步骤之 后,检查是否将事务标记设置到了映射信息;以及第二存储步骤,参 照第二检查步骤的结果,选择性地将映射信息存储在存储块中。
映射信息可以包括第一映射信息和第二映射信息,第一映射信息 是用于存储在存储块中的写入数据的逻辑到物理信息,第二映射信息 是物理到逻辑信息,并且可以通过参照第一检查步骤的结果,选择性 地将事务标记设置到第二映射信息来执行设置步骤,可以通过检查是 否将所述事务标记设置到了第二映射信息来执行第二检查步骤,并且 可以通过参照第二检查步骤的结果,选择性地将与第二映射信息相对 应的第一映射信息存储在存储块中来执行第二存储步骤。
可以通过每当写入数据被存储在存储块中时,基于检查写入数据 中的每个是否被分组到事务的结果,将写入数据划分为分组到事务的 第一写入数据和未分组到事务的第二写入数据来执行第一检查步骤, 并且设置步骤可以包括参照第一检查步骤的结果,将事务标记设置到 在易失性存储器中管理的全部第二映射信息之中的、与第一写入数据 相对应的第二映射信息。
可以通过在每个第一设置时刻,参照第二检查步骤的结果,仅选 择与在易失性存储器中管理的全部第二映射信息之中的、未设置事务 标记的第二映射信息相对应的第一映射信息并且将所选择的第一映射 信息存储在存储块中来执行第二存储步骤。
可以通过参照第二检查步骤的结果,不将与在易失性存储器中管 理的全部第二映射信息之中的、设置了事务标记的第二映射信息相对 应的第一映射信息存储在存储块中并且继续在易失性存储器中管理第 一映射信息来执行第二存储步骤。
操作方法可以进一步包括第三检查步骤,检查第一写入数据的事 务是否被提交,并且通过参照第三检查步骤的结果,当检查到第一写 入数据的事务被提交时,清除在事务的提交时刻之前、被设置到与第 一写入数据相对应的第二映射信息的事务标记,以使与第一写入数据 相对应的第二映射信息处于未设置事务标记的状态来执行设置步骤。
操作方法可以进一步包括第四检查步骤,检查第一写入数据的事 务是否被中止;以及删除步骤,在设置步骤之后,参照第四检查步骤 的结果,当检查到第一写入数据的事务被中止时,从易失性存储器删 除与第一写入数据相对应的第一映射信息和第二映射信息,并且通过 参照第四检查步骤的结果,当检查到第一写入数据的事务被中止时, 即使在事务的中止时刻之后,也保留在事务的中止时刻之前、被设置 到与第一写入数据相对应的第二映射信息的事务标记来执行设置步 骤。
可以通过在每个第二设置时刻,仅选择在易失性存储器中管理的 全部第二映射信息之中的、未设置事务标记的第二映射信息并且将所 选择的第二映射信息存储在存储块中来执行第二存储步骤。
可以通过在每个第二设置时刻,将在易失性存储器中管理的全部 第二映射信息与表示是否设置了事务标记的信息一起存储在存储块中 来执行第二存储步骤。
可以通过响应于与写入数据相对应的写入命令中包括的事务ID信 息,来检查写入数据中的每个是否被分组到事务来执行第一检查步骤。
根据本发明的实施例,一种存储器系统,其可以包括:非易失性 存储器装置,其包括多个存储块;以及控制器,其与非易失性存储器 装置电联接并具有易失性存储器,并且被配置为:基于存储在易失性 存储器中的映射信息,将写入数据写入至少一个存储块中;检查多个 写入数据是否被分组到事务,基于检查结果,选择性地将事务标记设 置到相应的映射信息;以及选择性地将未设置事务标记的映射信息更 新到存储块。
附图说明
本文的描述参考附图,其中在若干附图中相同的附图标记指代相 同的部分,并且其中:
图1是示出根据本公开的示例的包括存储器系统的数据处理系统 的框图;
图2是示出在图1所示的存储器系统的存储器装置的示例性配置的 示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的 示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维(3D)结构的示意 图;
图5是示出根据本公开的示例的存储器系统的数据处理操作的示 图;
图6是示出根据本公开的示例的存储器系统管理与被分组到事务 的多个写入数据相对应的映射信息的操作的示图;
图7A和图7B是示出如图6所示的存储器系统管理与分组到事务的 多个写入数据相对应的映射信息的操作的示例的示图;
图8是示出如图6所示的存储器系统中的与被分组到事务的多个写 入数据相对应的映射信息的示例形式的示图;
图9是示出存储器系统管理与被分组到事务的多个写入数据相对 应的映射信息的操作的流程图;以及
图10至图18是示意性示出根据本发明的各个实施例的数据处理系 统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本公开的各个示例。本公开可以以不 同的其它实施例、形式和其变化实施,并且不应被解释为限于本文阐 述的实施例。相反,提供描述的实施例使得本公开将是彻底且完整的, 并且将向本发明所属领域的技术人员完全传达本公开。在本公开中, 相同的附图标记在本公开的各个附图和示例中表示相同的部分。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三” 等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用 于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和 范围的情况下,以下所述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实 施例的特征,比例可能已经被夸大。当元件被称为连接至或联接到另 一元件时,应当理解的是前者可直接连接或联接到后者,或者经由其 间的中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一 元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可 存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两 个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可 存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制 本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨 在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、 “包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个 或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括 一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有 术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的 含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些 术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义 一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具 体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。 在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的 进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易 见的是,除非另有明确说明,否则结合一个实施例所所述的特征或元 件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统 110的主机102。
例如,主机102可以是诸如移动电话、MP3播放器和膝上型计算机 的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪等的非便携 式电子装置。
存储器系统110可响应于来自主机102的请求进行操作或执行具体 功能或操作,并且特别地,可存储待由主机102访问的数据。存储器系 统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接 口的协议,存储器系统110可利用可与主机102电联接的各种类型的存 储装置中的任何一种来实施。合适的存储装置的示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC (RS-MMC)和微型MMC、安全数字(SD)卡、迷你SD和微型SD、 通用串行总线(USB)存储装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用诸如以下的易失性存储器装置 来实施:动态随机存取存储器(DRAM)和静态RAM(SRAM),和/ 或存储器系统110的存储装置可利用诸如以下的非易失性存储器装置 来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM (PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM (MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储待由主机102访问的数据的存储器装置 150,以及可控制数据在存储器装置150中的存储的控制器130。
控制器130和存储器装置150可被集成到单个半导体装置中,单个 半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110可被配置成以下的一部分:计算机、超移动PC (UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、 网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便 携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相 机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音 频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数 字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在 无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之 一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的 各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种部 件之一。
存储器装置150可以是非易失性存储器装置,并且即使在不供应电 力时,其也可保留其中存储的数据。存储器装置150可通过写入操作来 存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提 供给主机102。存储器装置150可包括多个存储块152至156,存储块152 至156中的每一个可包括多个页面。多个页面中的每一个可包括多个字线(WL)电联接的多个存储器单元。
控制器130可控制存储器装置150的诸如读取操作、写入操作、编 程操作和擦除操作的全部操作。存储器系统110的控制器130可响应于 来自主机102的请求来控制存储器装置150。控制器130可将从存储器装 置150读取的数据提供给主机102,和/或可将通过主机102提供的数据 存储到存储器装置150中。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正 码(ECC)单元138、电源管理单元(PMU)140、诸如存储器接口(I/F) 单元142的存储器装置控制器以及存储器144,其全部通过内部总线可 操作地联接。
主机接口单元132可处理从主机102提供的命令和数据,并可通过 诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线 (USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算 机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、 并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小 型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可在读取操作期间检测并校正从存储器装置150读取 的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数 量时,ECC单元138不校正错误位,但是可输出指示校正错误位失败的 错误校正失败信号。
ECC单元138可基于诸如以下的编码调制执行错误校正操作:低密 度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆 (Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门 (Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调 制(TCM)以及分组编码调制(BCM)等。ECC单元138可包括用于 基于上述代码中的至少一种来执行错误校正操作的电路、模块、系统 或装置中的所有或一些。
PMU 140可提供和管理控制器130的电力。
存储器接口142可用作处理控制器130和存储器装置150之间传递 的命令和数据的接口,以允许控制器130响应于来自主机102的请求来 控制存储器装置150。在当存储器装置150是闪速存储器时,特别地, 当存储器装置150是NAND闪速存储器时的情况下,存储器接口142可 在处理器134的控制下生成用于存储器装置150的控制信号,并可以处 理输入到存储器装置150或从存储器装置150输出的数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且 存储用于操作或驱动存储器系统110和控制器130的临时数据或交易数 据。控制器130可响应于来自主机102的请求控制存储器装置150。控制 器130可将从存储器装置150读取的数据传递到主机102中,并且将通过 主机102输入的数据存储到存储器装置150中。存储器144可用于存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随 机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。 虽然图1例示设置在控制器130内部的存储器144,但是本公开不限于 此。也就是说,存储器144可被设置在控制器130的内部或外部。例如, 存储器144可由具有传送在存储器144和控制器130之间传送的数据和/ 或信号的存储器接口的外部易失性存储器实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动或 执行固件来控制存储器系统110的全部操作。固件可以被称为闪存转换 层(FTL)。
FTL可执行作为主机102和存储器装置150之间的接口的操作。主 机102可以通过FTL将写入操作和读取操作的请求传输到存储器装置 150。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL 可存储映射数据。因此,控制器130可通过映射数据将从主机102提供 的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存 储器装置150可如普通装置那样执行操作。此外,通过基于映射数据的 地址映射操作,当控制器130更新特定页面的数据时,由于闪速存储器 装置的特性,控制器130可将对另一空白页面编程新数据并且可使特定 页面的旧数据无效。进一步地,控制器130可将新数据的映射数据存储 到FTL中。
处理器134可利用微处理器或中央处理单元(CPU)来实施。存储 器系统110可包括一个或多个处理器134。
管理单元(未示出)可被包括在处理器134中。管理单元可执行存 储器装置150的坏块管理。管理单元可发现存储器装置150中包含的不 符合进一步使用的要求的坏存储块,并对坏存储块执行坏块管理。当 存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND 逻辑功能的特性,在写入操作期间,例如,在编程操作期间,可能发 生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据 可被编程到新的存储块中。坏块可能使具有3D堆叠结构的存储器装置 150的利用效率和存储器系统110的可靠性严重劣化,因此需要可靠的 坏块管理。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK 0至BLOCK N-1,并且块BLOCK 0至BLOCK N-1中的每一个可包括多个页面,例 如2M个页面,页面的数量可根据电路设计而变化。根据每个存储器单 元中可存储或表达的位数,存储器装置150可包括多个存储块,如单层 单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括 利用每一个都能够存储1位数据的存储器单元实施的多个页面。MLC 存储块可包括利用每一个都能够存储例如两位或更多位数据的多位数 据的存储器单元实施的多个页面。包括利用每一个都能够存储3位数据 的存储器单元实施的多个页面的MLC存储块可被定义为三层单元 (TLC)存储块。
图3是示出存储器装置150中的存储块330的电路图。
参照图3,存储块330可以对应于多个存储块152至156中的任何一 个。
参照图3,存储器装置150的存储块330可包括分别电联接到位线 BL0至BLm-1的多个单元串340。每列单元串340可包括至少一个漏极选 择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个 存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管DST和 SST之间。各个存储器单元MC0至MCn-1可由每一个都可存储1位信息 的单层单元(SLC)或者由每一个都可存储多位数据信息的多层单元 (MLC)来配置。串340可分别电联接到对应的位线BL0至BLm-1。作 为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线, “CSL”表示共源线。
虽然图3仅作为示例示出了由NAND闪速存储器单元构成的存储 块330,但注意的是,根据实施例的存储器装置150的存储块330不限于 NAND闪速存储器。存储块330可通过NOR闪速存储器、其中组合了至 少两种存储器单元的混合闪速存储器、或其中控制器被内置在存储器 芯片中的1-NAND闪速存储器实现。半导体装置的操作特性不仅可被应 用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应 用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可提供待根据操作模式而被提供给 各个字线的例如编程电压、读取电压和通过电压的字线电压以及待提 供给例如其中形成有存储器单元的阱区的体材料(bulk)的电压。电 源电路310可在控制电路(未示出)的控制下执行电压生成操作。电源 电路310可生成多个可变读取电压以生成多个读取数据,在控制电路的 控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选择的 存储块的字线中的一个,并将字线电压提供给所选择的字线和未选择 的字线。
存储器装置150的读取/写入电路320可由控制电路控制,并且可根 据操作模式用作读出放大器或写入驱动器。在验证操作/正常读取操作 期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵 列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存 储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器 单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320 可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲 器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器 (未示出)。
图4是示出存储器装置150的3D结构的示意图。
存储器150可由2D或3D存储器装置来实施。具体地,如图4所示, 存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。 当存储器装置150具有3D结构时,存储器装置150可包括多个存储块 BLK0至BLKN-1,其每一个具有3D结构(或垂直结构)。
图5是示出根据本发明的实施例的存储器系统的数据处理操作的 示图。
参照图5,控制器130可以执行与从主机102接收的命令相对应的命 令操作。通过示例而非限制的方式,控制器130可以执行与从主机102 接收的编程命令相对应的编程操作。在本文中,控制器130可以将对应 于编程命令的用户数据编程和存储在存储器装置150的存储块552、 554、562、564、572、574、582、584的每一个中包括的多个页面内。
控制器130可以生成并更新用户数据的元数据,并且然后将生成和 更新的元数据编程并存储在存储器装置150的存储块552、554、562、 564、572、574、582、584中。元数据可以包括存储在存储块552、554、 562、564、572、574、582、584中的用户数据的逻辑到物理(L2P)信 息和物理到逻辑(P2L)信息两者。另外,元数据可以包括关于与从主 机102接收的命令相对应的命令数据的信息、关于与命令相对应的命令 操作的信息、关于被执行命令操作的存储器装置150的存储块的信息以 及关于与命令操作相对应的映射数据的信息。换言之,元数据可以包 括除与从主机102接收的命令相对应的用户数据之外的所有其它信息和数据。
例如,控制器130可以将与从主机102接收的编程命令相对应的用 户数据缓存并缓冲在控制器130的存储器144中包括的第一缓冲器510 中。即,控制器130可以将用户数据的数据段512存储在作为数据缓冲 器/缓存的第一缓冲器510中。随后,控制器130可以将存储在第一缓冲 器510中的数据段512编程并存储在存储器装置150的存储块552、554、562、564、572、574、582、584中包括的页面中。
由于用户数据的数据段512被编程并存储在存储器装置150的存储 块552、554、562、564、572、574、582、584中包括的页面中,因此 控制器130可以生成作为元数据的L2P段522和P2L段524,并且将生成 的L2P段522和P2L段524存储在控制器130的存储器144中包括的第二 缓冲器520中。L2P段522和P2L段524可以以列表形式存储在控制器130 的存储器144中包括的第二缓冲器520中。随后,控制器130可以通过映 射清除操作或检查点操作(checkpoint operation),将存储在第二缓冲 器520中的L2P段522和P2L段524编程并存储在存储器装置150的存储 块552、554、562、564、572、574、582、584中包括的页面中。
控制器130可以执行与从主机102接收的命令相对应的命令操作。 例如,控制器130可以执行与读取命令相对应的读取操作。控制器130 可以将对应于读取命令的用户数据的L2P段522和P2L段524加载到第 二缓冲器520并且对其进行检查。随后,控制器130可以从通过检查而 已知的存储位置,即,存储块552、554、562、564、572、574、582、 584之中的具体存储块的具体页面,读取用户数据的数据段512,将数 据段512存储在第一缓冲器510中,并且将存储在第一缓冲器510中的数 据段512传送到主机102。
图6是示出根据本发明的实施例的存储器系统管理与被分组到事 务的多个写入数据相对应的映射信息的操作的示图。
图6示出参照图1所示的数据处理系统100的配置而包括主机102和 存储器系统110的数据处理系统100的配置。
如前面参照图1所述,存储器系统110可以包括控制器130和存储器 装置150。
如前面参照图1所述,存储器装置150可以包括多个存储块151至 155。
为了便于描述,在图6中示出仅单个非易失性存储器装置150被包 括在存储器系统110中。然而,根据各个实施例,多个非易失性存储器 装置可以被包括在存储器系统110中。
为了便于描述,图6没有示出图1的主机接口(I/F)单元132、处理 器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、 NAND闪速控制器142和存储器144。应当理解,那些单元(或部件) 可以被包括在控制器130中。
在操作中,主机102可以生成多个写入数据WTDT<1:N+M>和用于 控制将写入数据WTDT<1:N+M>存储在存储器系统110中的操作的多 个写入命令WCMD<1:N+M>,并且将生成的写入数据WTDT<1:N+M> 和写入命令WCMD<1:N+M>传送到存储器系统110。写入数据 WTDT<1:N+M>可以包括被分组到事务的第一写入数据WTDT1<1:N> 和未被分组到事务的第二写入数据WTDT2<1:M>。写入命令 WCMD<1:N+M>可以包括对应于第一写入数据WTDT1<1:N>的第一写入命令WCMD1<1:N>和对应于第二写入数据WTDT2<1:M>的第二 写入命令WCMD2<1:M>。主机102可以将事务ID[+TID]分配至第一写 入命令WCMD1<1:N>,从而通知存储器系统110,第一写入数据 WTDT1<1:N>被分组到事务。相反,主机102可以不将事务ID[+TID] 赋予至第二写入命令WCMD2<1:M>,从而通知存储器系统110,第二 写入数据WTDT2<1:M>是未被分组到事务的一般数据。一般数据可以 包括用户数据或元数据或两者。
注意到的是,基于被选择性地分配至写入命令WCMD<1:N+M>的 事务ID[+TID]而通知存储器系统110,写入数据WTDT<1:N+M>是否被 分组到事务(事务性数据)的主机102的操作仅被描述为示例性的而非 限制的。根据用户的选择,可以使用任何其它合适的方式来通知或识 别写入数据是否是事务性的。
响应于从主机102接收的写入命令WCMD<1:N+M>,存储器系统 110可以将写入数据WTDT<1:N+M>存储在存储器装置150中。
在本文中,由于写入数据WTDT<1:N+M>被分组到事务,因此包 括在数据处理系统100中的存储器系统110的写入操作可不同于在传统 数据处理系统中执行的写入操作。
因此,单个事务可以对多个写入数据WTDT<1:N+M>进行分组, 例如,写入数据WTDT<1:N+M>之中的用于相同目的的第一写入数据 WTDT1<1:N>。
通过示例而非限制的方式,在包括存储器系统的数据库中,可以 根据操作目的(在本文中也被称为操作类型),将新输入以用于多个操 作目的,诸如修改、添加或更新已存储在数据库中的先前数据,的数 据分别分组到一个事务。例如,用于修改已存储在数据库中的数据的 新数据段可以被添加到单个事务组中,并且用于添加已存储在数据库 中的数据的新数据段可以被添加到另一单个事务组中。
当分组到事务的第一写入数据WTDT1<1:N>从主机102传输到存 储器系统110时,如果所有第一写入数据WTDT1<1:N>被正常传输和存 储,则第一写入数据WTDT1<1:N>可以处于提交状态,在提交状态中 所有第一写入数据WTDT1<1:N>有效。另一方面,如果第一写入数据 WTDT1<1:N>中的任何一个未被适当传输和存储,则分组到事务的第 一写入数据WTDT1<1:N>可以处于中止状态,在中止状态中所有第一 写入数据WTDT1<1:N>无效。进一步地,根据主机102的中止请求,分 组到事务的第一写入数据WTDT1<1:N>可以被认为处于中止状态。简 而言之,仅当第一写入数据WTDT1<1:N>被检查为处于提交状态时, 分组到事务的第一写入数据WTDT1<1:N>可以被视为有意义的,即, 有效的、可用的或生效的。
通过示例而非限制的方式,为了使被分组到单个事务的第一写入 数据WTDT1<1:N>在存储器系统110中被检查为处于提交状态,所有N 个第一写入数据WTDT1<1:N>应当从主机102正常地传输到存储器系 统110并存储在存储器系统110中,并且在同一时间,即同时,主机不 应当发出中止请求。因此,如果分组到单个事务的N个第一写入数据 WTDT1<1:N>中的任何一个未被正常传输和存储或者如果在事务完成 之前,即仍在执行事务期间,主机102发出中止请求,则所有第一写入 数据WTDT1<1:N>可在存储器系统110中被检查为处于中止状态。
在本文中,将第一写入数据WTDT1<1:N>分组到处于提交状态或 处于中止状态的事务的分配操作通常也被称为用于确保事务原子性的 操作。图6示出仅写入数据WTDT<1:N+M>中的第一写入数据 WTDT1<1:N>被分组到一个事务,但这仅是示例而非对本公开的限制。 例如,根据各个实施例,写入数据WTDT<1:N+M>可以被分组(或划 分或分割)到多个独立事务,并且,可以将事务ID分配至每个事务, 使得事务中的每一个可以基于其事务ID[+TID]而被区分。
更具体地,存储器系统110可以包括控制器130和存储器装置150。 存储器装置可以包括多个存储块151至155。
控制器130可以将从主机102接收的多个写入数据WTDT<1:N+M> 存储在存储块151至155中,并且在内部的易失性存储器中管理对应于 写入数据WTDT<1:N+M>的映射信息L2P和P2L。包括在控制器130中 的易失性存储器可以是图5所示的控制器130的存储器144,其没有直接 在图6中示出。
控制器130可以检查写入数据WTDT<1:N+M>是否被分组到事务, 并且可以基于检查结果,选择性地对映射信息L2P和P2L设置事务标记 TX_FLAG。随后,控制器130可以基于是否设置了事务标记TX_FLAG, 来选择性地将映射信息L2P和P2L存储在存储块151至155中。
具体地,控制器130可以对与被分组到事务的第一写入数据 WTDT1<1:N>相对应并在易失性存储器中管理的两个不同的映射信息 L2P和P2L设置事务标记TX_FLAG,并且可以不对与未被分组到事务 的第二写入数据WTDT2<1:M>相对应并在易失性存储器中管理的两个 不同的映射信息L2P和P2L设置事务标记TX_FLAG。
随后,当控制器130将在易失性存储器中管理的映射信息L2P和 P2L存储在存储块151至155中时,基于是否设置了事务标记TX_FLAG, 控制器130可以选择性地将映射信息L2P和P2L存储在存储块151至155 中。
换言之,控制器130可以不将在易失性存储器中管理的映射信息 L2P和P2L之中的、与被分组到事务的第一写入数据WTDT1<1:N>相对 应的映射信息L2P和P2L存储在存储块151至155中,直到事务被提交。
根据本发明的实施例的控制器130进行如上所述操作的原因可以 是如下原因。
传统上,在执行映射清除操作或检查点操作时,控制器130用于将 在易失性存储器中管理的全部映射信息L2P和P2L存储在存储块151至 155中。
然而,在第一写入数据WTDT1<1:N>被提交之前,与被分组到事 务的第一写入数据WTDT1<1:N>相对应的映射信息L2P和P2L可不被 存储在存储块151至155中。
这是因为在提交之前,被分组到事务的第一写入数据 WTDT1<1:N>可能在任何时间是无效的,并且因此,对应于第一写入 数据WTDT1<1:N>的映射信息L2P和P2L的值也可能是无效的。假设, 在事务被提交之前,与被分组到事务的第一写入数据WTDT1<1:N>相 对应的映射信息L2P和P2L被存储在存储块151至155中,在第一写入数 据WTDT1<1:N>被存储之后,事务可能被中止。因此,并不容易将存 储在存储块151至155中的映射信息L2P和P2L返回。为此,与被分组到 事务的第一写入数据WTDT1<1:N>相对应的映射信息L2P和P2L可不被存储在存储块151至155中,直到检查被分组到事务的第一写入数据 WTDT1<1:N>是否被提交。
因此,在将在易失性存储器144中管理的映射信息L2P和P2L存储 在存储块151至155中之前,传统控制器130用于检查在易失性存储器中 管理的映射信息L2P和P2L中,是否包括与被分组到未被提交的事务的 第一写入数据WTDT1<1:N>相对应的映射信息L2P和P2L。作为检查结 果,传统控制器130可以跳过执行将映射信息L2P和P2L存储在存储块 151至155中的操作,其中该映射信息L2P和P2L对应于未被提交的事 务。
例如,传统控制器用于在将在易失性存储器中管理的映射信息L2P 和P2L存储在存储块中之前,执行搜索在事务表中是否包括映射信息 L2P和P2L的操作。然而,每当控制器执行将映射信息L2P和P2L存储在 存储块151中的操作时搜索在事务表中是否包括映射信息L2P和P2L, 可能导致控制器的负载大大增加。在控制器中管理的事务表可以指用 于管理与被分组在单个事务的数据,诸如第一写入数据WTDT1<1:N>, 相对应的事务信息的表。由于在控制器130中,管理事务表的操作与管 理映射信息L2P和P2L的操作分开进行对于本领域技术人员是公知的, 因此本文将不提供对其的详细描述。
然而,如上所述,根据本发明实施例的控制器130可以对在易失性 存储器中管理的映射信息L2P和P2L设置事务标记TX_FLAG,并且然 后基于是否设置了事务标记TX_FLAG,来选择是否将映射信息L2P和 P2L存储在存储块151至155中。因此,每当控制器130将映射信息L2P 和P2L存储在存储块151至155中时,不需要搜索在事务表中是否包括映 射信息L2P和P2L。
同时,如以上参照图5所述,映射信息L2P和P2L可以包括存储在 存储块151至155中的写入数据WTDT<1:N+M>的第一映射信息L2P (即,逻辑到物理信息)和第二映射信息P2L(即,物理到逻辑信息)。
可以在控制器130的易失性存储器中管理第一映射信息L2P和第二 映射信息P2L。在设置时刻,在易失性存储器中管理的第一映射信息 L2P和第二映射信息P2L可以被存储在非易失性存储器装置150中包括 的存储块151至155中。例如,第一映射信息L2P可以在第一设置时刻被 存储在存储块151至155中,而第二映射信息P2L可以在第二设置时刻被 存储在存储块151至155中。第一设置时刻和第二设置时刻可以是相同 的时刻或不同的时刻(也被称为时间点或时间(timing))。例如,当执 行映射清除操作时,第一设置时刻和第二设置时刻可以是相同的。当 存储块151至155中的具体存储块关闭时,第一设置时刻和第二设置时 刻可以是不同的。第一映射信息L2P和第二映射信息P2L可以被存储在 存储块151至155中的相同存储块中或不同存储块中。
如上所述,映射信息L2P和P2L可以被管理为第一映射信息L2P和 第二映射信息P2L。因此,根据本发明实施例的控制器130可以检查是 否写入数据WTDT<1:N+M>被分组到事务,基于检查结果选择性地对 第二映射信息P2L设置事务标记TX_FLAG,并且然后基于是否对第二 映射信息P2L设置了事务标记TX_FLAG而选择性地将对应于第二映射 信息P2L的第一映射信息L2P存储在存储块151至155中。基于物理信息 顺序地布置的第二映射信息P2L可以存储对应于每个物理信息的每个 逻辑信息。第二映射信息P2L可以包含不存储对应于任何物理信息的任 何逻辑信息的空位。控制器130可以通过空位,选择性地设置事务标记 TX_FLAG。通过示例而非限制的方式,在图8中可以看到,逻辑信息 被存储在包括总共32位的第二映射信息P2L的28位[27:00]中并且事务 标记TX_FLAG被设置到剩余位28、29、30、31中的位30。换言之,可 以假设,当第二映射信息P2L的第30位具有值‘0’时,不设置事务标 记TX_FLAG,而当第二映射信息P2L的第30位具有值‘1’时,设置事 务标记TX_FLAG。将对第二映射信息P2L设置事务标记TX_FLAG的方 法可以仅是本公开的示例,并且可以根据设计要求或装置类型以其它 方法设置事务标记TX_FLAG。
具体地,基于每当写入数据WTDT<1:N+M>被存储在存储块151至 155中时检查写入数据WTDT<1:N+M>是否被分组到事务的结果,控制 器130可以将从主机102传递或接收的写入数据WTDT<1:N+M>分成两 组数据:分组到事务的第一写入数据WTDT1<1:N>和未被分组到事务 的第二写入数据WTDT2<1:M>。
在步骤1301中,控制器130可以检查包括在从主机102接收的、对 应于写入数据WTDT<1:N+M>的写入命令WCMD<1:N+M>中的事务 ID[+TID]。例如,具有具体值的事务ID[+TID]可以被设置到与写入数 据WTDT<1:N+M>之中的、被分组到事务的第一写入数据 WTDT1<1:N>相对应的第一写入命令WCMD1<1:N>。事务ID[+TID]可 以不被设置到与写入数据WTDT<1:N+M>之中的、未被分组到事务的 第二写入数据WTDT2<1:M>相对应的第二写入命令WCMD2<1:M>。
因此,在步骤1302中,基于在步骤1301中示出的操作的结果,控 制器130可以分别将写入命令WCMD<1:N+M>和写入数据 WTDT<1:N+M>划分成两组:即第一组和第二组,其中第一组包括第 一写入命令WCMD1<1:N>和分组到事务的第一写入数据 WTDT1<1:N>,以及第二组包括第二写入命令WCMD2<1:M>和未被分 组到事务的第二写入数据WTDT2<1:M>。
在步骤1303中,控制器130可以响应于第一写入命令 WCMD1<1:N>,将第一写入数据WTDT1<1:N>存储在存储块151至155 中。
在步骤1305中,基于步骤1303中示出的操作的结果,控制器130 可以生成对应于第一写入数据WTDT1<1:N>的第一映射信息L2P和第 二映射信息P2L并且在易失性存储器中管理它们,以及对与第一写入数 据WTDT1<1:N>相对应的第二映射信息P2L设置事务标记TX_FLAG。
类似地,在步骤1304中,控制器130可以响应于第二写入命令 WCMD2<1:M>,将第二写入数据WTDT2<1:M>存储在存储块151至155 中。
在步骤1306中,基于步骤1304中示出的操作的结果,控制器可以 生成对应于第二写入数据WTDT2<1:M>的第一映射信息L2P和第二映 射信息P2L并且可以在易失性存储器中管理它们。控制器可以不对与第 二写入数据WTDT2<1:M>相对应的第二映射信息P2L设置事务标记 TX_FLAG。
随后,控制器130可以在第一设置时刻,仅选择与在易失性存储器 中管理的全部第二映射信息P2L之中的、未被设置事务标记TX_FLAG 的第二映射信息P2L相对应的第一映射信息L2P。控制器130可以将选 择的第一映射信息L2P存储在存储块151至155中。
相反,控制器130可以在第一设置时刻,跳过将与在易失性存储器 中管理的全部第二映射信息P2L之中的、被设置事务标记TX_FLAG的 第二映射信息P2L相对应的第一映射信息L2P存储在存储块151至155 中。
即,在第一设置时刻,控制器130可以不无条件地将在易失性存储 器中管理的全部第一映射信息L2P存储在存储块151至155中。在步骤 1307中,控制器130可以在第一设置时刻,检查是否对在易失性存储器 中管理的全部第二映射信息P2L设置了事务标记TX_FLAG。作为检查 结果,控制器130可以仅选择与未设置事务标记TX_FLAG的第二映射 信息P2L相对应的第一映射信息L2P。控制器130可以将选择的第一映 射信息L2P存储在存储块151至155中。
换言之,控制器130可以在第一设置时刻,检查是否对在易失性存 储器中管理的全部第二映射信息P2L设置了事务标记TX_FLAG,并且 作为检查结果,可以跳过将与设置了事务标记TX_FLAG的第二映射信 息P2L相对应的第一映射信息L2P存储在存储块151至155中。因此,在 第一设置时刻,控制器130可以不将与设置了事务标记TX_FLAG的第 二映射信息P2L相对应的第一映射信息L2P存储在存储块151至155中, 并且可以继续在易失性存储器中管理该第一映射信息L2P。
在步骤1310中,控制器130可以选择并执行以下将描述的两种方法 中的任何一种,以在第二设置时刻将在易失性存储器中管理的第二映 射信息P2L存储在存储块151至155中。
第一种方法是,在1310的步骤A中,在第二设置时刻,控制器130 可以仅选择在易失性存储器中管理的全部第二映射信息P2L之中的、未 设置事务标记TX_FLAG的第二映射信息P2L并且将选择的第二映射信 息P2L存储在存储块151至155中。
在第一种方法中,在第二设置时刻,控制器130可以不无条件地将 在易失性存储器中管理的全部第二映射信息P2L存储在存储块151至 155中。控制器130可以在第二设置时刻,检查是否对在易失性存储器 中管理的全部第二映射信息P2L设置了事务标记TX_FLAG,作为检查 结果,选择未设置事务标记TX_FLAG的第二映射信息P2L,并且将选 择的第二映射信息P2L存储在存储块151至155中。
即,控制器130可以在第二设置时刻,检查是否对在易失性存储器 中管理的全部第二映射信息P2L设置了事务标记TX_FLAG,并且作为 检查结果,可以跳过将设置了事务标记TX_FLAG的第二映射信息P2L 存储在存储块151至155中。因此,控制器130可在第二设置时刻,不将 设置了事务标记TX_FLAG的第二映射信息P2L存储在存储块151至155 中,而是可以继续在易失性存储器中管理第二映射信息P2L。
第二种方法是,在1310的步骤B中,在第二设置时刻,控制器130 将在易失性存储器中管理的全部第二映射信息P2L与表示是否设置了 事务标记TX_FLAG的信息一起存储在存储块151至155中。
在第二种方法中,在第二设置时刻,控制器130可以将在易失性存 储器中管理的全部第二映射信息P2L存储在存储块151至155中。另外, 控制器130可以将表示是否对在易失性存储器中管理的全部第二映射 信息P2L设置了事务标记TX_FLAG的信息存储在存储块151至155中。
因此,在第二种方法中,当存储在易失性存储器中管理的第二映 射信息P2L时,控制器130可能不需要执行检查是否设置了事务标记 TX_FLAG的操作。相反,当将存储在存储块151至155中的第二映射信 息P2L加载到易失性存储器上时,控制器130可以检查是否设置了事务 标记TX_FLAG,仅选择未设置事务标记TX_FLAG的第二映射信息 P2L,并且将选择的第二映射信息P2L加载到易失性存储器上。
在步骤1308中,当对应于第一写入数据WTDT1<1:N>的事务被提 交时,控制器130可以将在事务的提交时刻之前、对与第一写入数据 WTDT1<1:N>相对应的第二映射信息P2L设置的事务标记TX_FLAG清 除,以使与第一写入数据WTDT1<1:N>相对应的第二映射信息P2L处于 未设置事务标记TX_FLAG的状态。
对应于第一写入数据WTDT1<1:N>的事务被提交的事实可能表示 允许将对应于第一写入数据WTDT1<1:N>的第一映射信息L2P和第二 映射信息P2L存储在存储块151至155中。而且,控制器130可以在事务 的提交时刻之前,将事务标记TX_FLAG设置到对应于第一写入数据 WTDT1<1:N>的第二映射信息P2L。
在对应于第一写入数据WTDT1<1:N>的事务被提交之后,控制器 130可以清除对与第一写入数据WTDT1<1:N>相对应的第二映射信息 P2L设置的事务标记TX_FLAG,以使与第一写入数据WTDT1<1:N>相 对应的第二映射信息P2L处于未设置事务标记TX_FLAG的状态,使得 在第一设置时刻,对应于第一写入数据WTDT1<1:N>的第一映射信息 L2P可以被存储在存储块151至155中。
在步骤1309中,当对应于第一写入数据WTDT1<1:N>的事务被中 止时,即使在事务的中止时刻之后,控制器130也可以保留在事务的中 止时刻之前对与第一写入数据WTDT1<1:N>相对应的第二映射信息 P2L设置的事务标记TX_FLAG,并且从易失性存储器移除对应于第一 写入数据WTDT1<1:N>的第一映射信息L2P。
对应于第一写入数据WTDT1<1:N>的事务被中止的事实可能被视 为不允许将对应于第一写入数据WTDT1<1:N>的第一映射信息L2P和 第二映射信息P2L存储在存储块151至155中。而且,控制器130可以在 事务的中止时刻之前,对与第一写入数据WTDT1<1:N>相对应的第二 映射信息P2L设置事务标记TX_FLAG。
在对应于第一写入数据WTDT1<1:N>的事务被中止之后,即使在 事务的中止时刻之后,控制器130也可以保留对与第一写入数据 WTDT1<1:N>相对应的第二映射信息P2L设置的事务标记TX_FLAG, 使得即使在第一设置时刻,对应于第一写入数据WTDT1<1:N>的第一 映射信息L2P也可不被存储在存储块151至155中。
而且,在对应于第一写入数据WTDT1<1:N>的事务被中止之后, 可以不再需要在易失性存储器中管理对应于第一写入数据 WTDT1<1:N>的第一映射信息L2P和第二映射信息P2L。因此,在对应 于第一写入数据WTDT1<1:N>的事务被中止之后,控制器130可以移除 对应于第一写入数据WTDT1<1:N>的第一映射信息L2P和第二映射信 息P2L。在对应于第一写入数据WTDT1<1:N>的事务被中止之后,控制 器130执行从易失性存储器移除对应于第一写入数据WTDT1<1:N>的 第一映射信息L2P和第二映射信息P2L的操作。然而,可不预先确定控制器的移除操作并且可根据设计要求来调整控制器的移除操作。
图7A和图7B是示出如图6所示的存储器系统管理与被分组到事务 的多个写入数据相对应的映射信息的操作的示例的示图。
图7A示出在如图6所示的存储器系统110管理与被分组到事务的多 个写入数据WTDT<1:N+M>相对应的映射信息的操作中,提交事务的 情况。
为了说明目的,假设在图7A所示的时刻A,六个写入数据 WTDT<1:6>从主机102传输到存储器系统110。存储器系统110的控制器 130可以将写入数据WTDT<1:6>存储在非易失性存储器装置150的存 储块151至155中,生成与存储写入数据WTDT<1:6>的操作相对应的第 一映射信息L2P和第二映射信息P2L,并且将第一映射信息L2P和第二 映射信息P2L管理为表704和表702。
具体地,可以假设,第一写入数据WTDT<1>未被分组到事务并存 储在与值为‘100’的逻辑地址LBA和值为‘0’的物理地址PBA相对 应的物理区域中。因此,对应于第一写入数据WTDT<1>的第二映射信 息P2L可以包括利用值为‘0’的物理地址PBA来映射值为‘100’的逻 辑地址LBA的信息。而且,其事务标记TX_FLAG可不被设置且可具有 值‘0’。同样,对应于第一写入数据WTDT<1>的第一映射信息L2P可 以包括利用值为‘100’的逻辑地址LBA来映射值为‘0’的物理地址 PBA的信息。
可以假设,第二写入数据WTDT<2>未被分组到事务并存储在与值 为‘104’的逻辑地址LBA和值为‘1’的物理地址PBA相对应的物理 区域中。因此,对应于第二写入数据WTDT<2>的第二映射信息P2L可 以包括利用值为‘1’的物理地址PBA来映射值为‘104’的逻辑地址LBA的信息,并且其事务标记TX_FLAG不被设置且具有值‘0’。对应 于第二写入数据WTDT<2>的第一映射信息L2P可以处于以值为‘104’ 的逻辑地址LBA来映射值为‘1’的物理地址PBA的状态中。
可以假设,第三写入数据WTDT<3>被分组到事务并存储在与值为 ‘400’的逻辑地址LBA和值为‘2’的物理地址PBA相对应的物理区 域中。因此,对应于第三写入数据WTDT<3>的第二映射信息P2L可以 处于以值为‘2’的物理地址PBA来映射值为‘400’的逻辑地址LBA的状态中,并且对应于第三写入数据WTDT<3>的第二映射信息P2L包 括值为‘1’的事务标记TX_FLAG,因此事务标记TX_FLAG被设置。 对应于第三写入数据WTDT<3>的第一映射信息L2P可以处于以值为 ‘400’的逻辑地址LBA来映射值为‘2’的物理地址PBA的状态中。
可以假设,第四写入数据WTDT<4>未被分组到事务并存储在与值 为‘601’的逻辑地址LBA和值为‘3’的物理地址PBA相对应的物理 区域中。因此,对应于第四写入数据WTDT<4>的第二映射信息P2L可 以处于以值为‘3’的物理地址PBA来映射值为‘601’的逻辑地址LBA 的状态中,并且对应于第四写入数据WTDT<4>的第二映射信息P2L包 括值为‘0’的事务标记TX_FLAG,因此事务标记TX_FLAG未被设置。 对应于第四写入数据WTDT<4>的第一映射信息L2P可以处于以值为 ‘601’的逻辑地址LBA来映射值为‘3’的物理地址PBA的状态中。
可以假设,第五写入数据WTDT<5>被分组到事务并存储在与值为 ‘404’的逻辑地址LBA和值为‘4’的物理地址PBA相对应的物理区 域中。因此,对应于第五写入数据WTDT<5>的第二映射信息P2L可以 处于以值为‘4’的物理地址PBA来映射值为‘404’的逻辑地址LBA的状态中,并且对应于第五写入数据WTDT<5>的第二映射信息P2L包 括值为‘1’的事务标记TX_FLAG,因此事务标记TX_FLAG被设置。 对应于第五写入数据WTDT<5>的第一映射信息L2P可以处于以值为 ‘404’的逻辑地址LBA来映射值为‘4’的物理地址PBA的状态中。
可以假设,第六写入数据WTDT<6>被分组到事务并存储在与值为 ‘408’的逻辑地址LBA和值为‘5’的物理地址PBA相对应的物理区 域中。因此,对应于第六写入数据WTDT<6>的第二映射信息P2L可以 处于以值为‘5’的物理地址PBA来映射值为‘408’的逻辑地址LBA的状态中,并且对应于第六写入数据WTDT<6>的第二映射信息P2L包 括值为‘1’的事务标记TX_FLAG,因此事务标记TX_FLAG被设置。 对应于第五写入数据WTDT<5>的第一映射信息L2P可以处于以值为 ‘408’的逻辑地址LBA来映射值为‘5’的物理地址PBA的状态中。
综上所述,第三写入数据WTDT<3>、第五写入数据WTDT<5>和 第六写入数据WTDT<6>可以是被分组到事务的三个第一写入数据 WTDT1<1:3>。因此,对应于第一写入数据WTDT1<1:3>的第二映射信 息P2L可以处于包括值为‘1’的事务标记TX_FLAG并且因此事务标记TX_FLAG被设置的状态。第一写入数据WTDT<1>、第二写入数据 WTDT<2>和第四写入数据WTDT<4>可以是未被分组到事务的三个第 二写入数据WTDT2<1:3>。因此,对应于第二写入数据WTDT2<1:3> 的第二映射信息P2L可以处于包括值为‘0’的事务标记TX_FLAG并且 因此事务标记TX_FLAG未被设置的状态。
在该状态下,当在第一设置时刻,第一映射信息表704中包括的所 有第一映射信息L2P被存储在存储块151至155中时,控制器130可以检 查是否对包括在第二映射信息表702中的所有第二映射信息P2L设置了 事务标记TX_FLAG,基于检查结果,仅选择与未设置事务标记 TX_FLAG的第二映射信息P2L相对应的第一映射信息L2P,并且将选 择的第一映射信息L2P存储在存储块151至155中(编程)。控制器130 可以基于检查结果,不将与设置了事务标记TX_FLAG的第二映射信息 P2L相对应的第一映射信息L2P存储在存储块151至155中(跳过编程)。
具体地,控制器130可以检查到对应于第二写入数据WTDT2<1:3> 的映射值为‘0’的物理地址PBA和值为‘100’的逻辑地址LBA的第 二映射信息P2L、映射值为‘1’的物理地址PBA和值为‘104’的逻辑 地址LBA的第二映射信息P2L、以及映射值为‘3’的物理地址PBA和值为‘601’的逻辑地址LBA的第二映射信息P2L处于包括值为‘0’的 事务标记TX_FLAG并且因此事务标记TX_FLAG未被设置的状态。因 此,控制器130可以在第一设置时刻,将对应于第二写入数据 WTDT2<1:3>的映射值为‘100’的逻辑地址LBA和值为‘0’的物理 地址PBA的第一映射信息L2P、映射值为‘104’的逻辑地址LBA和值 为‘1’的物理地址PBA的第一映射信息L2P、以及映射值为‘601’的 逻辑地址LBA和值为‘3’的物理地址PBA的第一映射信息L2P,存储 在存储块151至155中(编程)。
而且,控制器130可以检查到在第二映射信息P2L中,对应于第一 写入数据WTDT1<1:3>的利用值为‘2’的物理地址PBA来映射值为 ‘400’的逻辑地址LBA的第一信息、利用值为‘4’的物理地址PBA 来映射值为‘404’的逻辑地址LBA的第二信息、以及利用值为‘5’ 的物理地址PBA来映射值为‘408’的逻辑地址LBA的第三信息,处于 包括值为‘1’的事务标记TX_FLAG并且事务标记TX_FLAG被设置的 状态。因此,控制器130可以在第一设置时刻,不将在第一映射信息L2P 中的、对应于第一写入数据WTDT1<1:3>的利用值为‘400’的逻辑地 址LBA来映射值为‘2’的物理地址PBA的第一信息、利用值为‘404’ 的逻辑地址LBA来映射值为‘4’的物理地址PBA的第二信息、以及利 用值为‘408’的逻辑地址LBA来映射值为‘5’的物理地址PBA的第 三信息,存储在存储块151至155中(跳过编程)。
图7A中所示的时刻B可以被假设为在时刻A之后,从主机102向存 储器系统110进一步传输两个写入数据WTDT<7:8>的时刻。存储器系 统110的控制器130可以将写入数据WTDT<7:8>存储在非易失性存储 器装置150的存储块151至155中,生成与存储写入数据WTDT<7:8>的 操作相对应的第一映射信息L2P和第二映射信息P2L,并且将第一映射 信息L2P和第二映射信息P2L管理为表704和表702。
在时刻B,假设写入数据WTDT<7:8>从主机102传输到存储器系统 110,并且事务被提交。即,在时刻B,可以假设第八写入数据WTDT<8> 从主机102传输到存储器系统110以变为四个第一写入数据 WTDT1<1:4>,并且提交事务。
可以以与上文针对在时刻A接收的写入数据WTDT<1:6>描述的方 式相同的方式来生成第一映射信息L2P和第二映射信息P2L并且将第 一映射信息L2P和第二映射信息P2L管理为表704和表702。
可以假设,第七写入数据WTDT<7>未被分组到事务并存储在与值 为‘800’的逻辑地址LBA和值为‘6’的物理地址PBA相对应的物理 区域中。因此,对应于第七写入数据WTDT<7>的第二映射信息P2L可 以包括利用值为‘6’的物理地址PBA来映射值为‘800’的逻辑地址LBA的信息。由于事务标记TX_FLAG的值为‘0’,因此事务标记 TX_FLAG未被设置。对应于第七写入数据WTDT<7>的第一映射信息 L2P是利用值为‘800’的逻辑地址LBA来映射值为‘6’的物理地址PBA。
可以假设,第八写入数据WTDT<8>被分组到事务并存储在与值为 ‘808’的逻辑地址LBA和值为‘7’的物理地址PBA相对应的物理区 域中。因此,对应于第八写入数据WTDT<8>的第二映射信息P2L可以 处于以值为‘7’的物理地址PBA来映射值为‘808’的逻辑地址LBA的状态中,并且对应于第八写入数据WTDT<8>的第二映射信息P2L包 括值为‘1’的事务标记TX_FLAG,从而表示事务标记TX_FLAG被设 置。对应于第八写入数据WTDT<8>的第一映射信息L2P可以是利用值 为‘808’的逻辑地址LBA来映射值为‘7’的物理地址PBA。
在该情况下,当在第八写入数据WTDT<8>被传输且分配为四个第 一写入数据WTDT1<1:4>之后提交事务时,控制器130可以清除事务标 识TX_FLAG的值或将事务标识TX_FLAG的值从值‘1’初始化到值 ‘0’,其中事务标识TX_FLAG关于与存储在存储块151至155中的第一 写入数据WTDT1<1:4>相对应的第二映射信息P2L,从而将设置事务标 记TX_FLAG的状态改变为未设置事务标记TX_FLAG的其它状态。因 此,包括在第二映射信息表702中的八个第二映射信息P2L可包括值为 ‘0’的事务标记TX_FLAG。
在该状态下,当在第一设置时刻,第一映射信息表704中包括的所 有第一映射信息L2P被存储在存储块151至155中时,控制器130可以检 查是否对包括在第二映射信息表702中的所有第二映射信息P2L设置了 事务标记TX_FLAG,基于检查结果,仅选择与未设置事务标记 TX_FLAG的第二映射信息P2L相对应的第一映射信息L2P,并且将选 择的第一映射信息L2P存储在存储块151至155中(编程)。然而,控制 器130可以基于检查结果,不将与设置了事务标记TX_FLAG的第二映 射信息P2L相对应的第一映射信息L2P存储在存储块151至155中(跳过 编程)。
由于在时刻B,事务被提交并且包括在第二映射信息表702中的八 个第二映射信息P2L包括值为‘0’的事务标记TX_FLAG,因此控制器130可以检查第二映射信息表702,并且然后作为检查结果,在第一设 置时刻将包括在第一映射信息表704中的八个第一映射信息L2P存储在 存储块151至155中(编程)。
图7B示出在如图6所示的存储器系统110管理与分组到事务的多个 写入数据WTDT<1:N+M>相对应的映射信息的操作中,中止事务的情 况。
可以看出,图7B中所示的时刻C与图7A中所示的时刻A完全相同。 因此,将省略关于图7B的时刻C的描述。
图7B中示出的时刻D可以被假设为在时刻C之后,从主机102向存 储器系统110进一步传输两个写入数据WTDT<7:8>的时刻,并且存储 器系统110的控制器130可以将写入数据WTDT<7:8>存储在非易失性 存储器装置150的存储块151至155中,生成与存储写入数据WTDT<7:8>的操作相对应的第一映射信息L2P和第二映射信息P2L,并 且将第一映射信息L2P和第二映射信息P2L管理为表704和表702。
在时刻D,可以假设在写入数据WTDT<7:8>从主机102传输到存储 器系统110之后的情况下中止事务。即,在时刻D,可以假设第八写入 数据WTDT<8>从主机102传输到存储器系统110以变为四个第一写入 数据WTDT1<1:4>,并且然后中止事务。
可以以与针对图7A的时刻B描述的方式相同的方式来将八个写入 数据WTDT<1:8>传输并存储存储块151至155中,并且然后可以生成第 一映射信息L2P和第二映射信息P2L并且以表702和704管理第一映射 信息L2P和第二映射信息P2L。
在该情况下,当第八写入数据WTDT<8>被传输以变为四个第一写 入数据WTDT1<1:4>并且事务被中止时,控制器130可以保持与存储在 存储块151至155中的第一写入数据WTDT1<1:4>相对应的第二映射信 息P2L的事务标记TX_FLAG具有值‘1’,使得保持设置事务标记 TX_FLAG的状态。因此,包括在第二映射信息表702中的、对应于第 一写入数据WTDT1<1:4>的第二映射信息P2L的事务标记TX_FLAG可 以继续具有值‘1’。
在该状态下,当在第一设置时刻,包括在第一映射信息表704中的 所有第一映射信息L2P被存储在存储块151至155中时,控制器130可以 检查是否对包括在第二映射信息表702中的所有第二映射信息P2L设置 或建立事务标记TX_FLAG,基于检查结果仅选择与未设置事务标记 TX_FLAG的第二映射信息P2L相对应的第一映射信息L2P,并且将选 择的第一映射信息L2P存储在存储块151至155中(编程)。然而,控制 器130可以基于检查结果,不将与设置了事务标记TX_FLAG的第二映 射信息P2L相对应的第一映射信息L2P存储在存储块151至155中(跳过 编程)。
具体地,控制器130可以检查到在第二映射信息P2L中的、对应于 第二写入数据WTDT2<1:4>的利用值为‘0’的物理地址PBA来映射值 为‘100’的逻辑地址LBA的第一信息、利用值为‘1’的物理地址PBA 来映射值为‘104’的逻辑地址LBA的第二信息、利用值为‘3’的物 理地址PBA来映射值为‘601’的逻辑地址LBA的第三信息、以及利用 值为‘6’的物理地址PBA来映射值为‘800’的逻辑地址LBA的第四 信息,处于事务标记TX_FLAG未被设置并且具有值‘0’的状态。因 此,控制器130可以在第一设置时刻,将在第一映射信息L2P中的、对 应于第二写入数据WTDT2<1:4>的利用值为‘100’的逻辑地址LBA来 映射值为‘0’的物理地址PBA的第一信息、利用值为‘104’的逻辑 地址LBA来映射值为‘1’的物理地址PBA的第二信息、利用值为‘601’ 的逻辑地址LBA来映射值为‘3’的物理地址PBA的第三信息以及利用 值为‘800’的逻辑地址LBA来映射值为‘6’的物理地址PBA的第四 信息,存储在存储块151至155中(编程)。
而且,控制器130可以检查到在第二映射信息P2L中的、对应于第 一写入数据WTDT1<1:4>的利用值为‘2’的物理地址PBA来映射值为 ‘400’的逻辑地址LBA的第一信息、利用值为‘4’的物理地址PBA 来映射值为‘604’的逻辑地址LBA的第二信息、利用值为‘5’的物 理地址PBA来映射值为‘408’的逻辑地址LBA的第三信息、以及利用 值为‘7’的物理地址PBA来映射值为‘808’的逻辑地址LBA的第四 信息,处于其事务标记TX_FLAG被设置的状态,因为事务标记 TX_FLAG具有值‘1’。因此,控制器130可以在第一设置时刻,不将 对应于第一写入数据WTDT1<1:4>的以值为‘400’的逻辑地址LBA来 映射值为‘2’的物理地址PBA的第一映射信息L2P、以值为‘604’的 逻辑地址LBA来映射值为‘4’的物理地址PBA的第一映射信息L2P、 以值为‘408’的逻辑地址LBA来映射值为‘5’的物理地址PBA的第 一映射信息L2P、以及以值为‘808’的逻辑地址LBA来映射值为‘7’ 的物理地址PBA的第一映射信息L2P,存储在存储块151至155中(跳过 编程)。
由于对应于第一写入数据WTDT1<1:4>的事务被中止,因此控制 器130可以从第一映射信息表704中选择并移除对应于第一写入数据 WTDT1<1:4>的四个第一映射信息L2P(移除)。虽然未在附图中直接 示出,但是由于对应于第一写入数据WTDT1<1:4>的事务被中止,控 制器130可以从第二映射信息表702中选择并移除对应于第一写入数据 WTDT1<1:4>的四个第二映射信息P2L,并且可以将表示是否设置或建 立事务标记TX_FLAG的信息存储在存储块151至155中。从第一映射信 息表704和第二映射信息表702移除对应于第一写入数据WTDT1<1:4> 的四个第一映射信息L2P和四个第二映射信息P2L的时间可以不被预 先限定并且可以根据设计要求调整。
图9是示出如图6所示的存储器系统管理与被分组到事务的多个写 入数据相对应的映射信息的操作的流程图。
参照图9,在步骤S10中,可以在从主机102传输多个写入数据 WTDT<1:N+M>时,开始存储器系统110的操作。
在步骤S20中,存储器系统110可以将从主机102传输的写入数据 WTDT<1:N+M>存储在存储块151至155中。
在步骤S30中,存储器系统110可以对应于步骤S20的操作,生成第 一映射信息L2P和第二映射信息P2L。
当通过步骤S30的操作生成第一映射信息L2P和第二映射信息P2L 时,在步骤S40中,可以检查到第一映射信息L2P和第二映射信息P2L 中的哪些对应于写入数据WTDT<1:N+M>之中的、被分组到事务的第 一写入数据WTDT1<1:N>或者对应于写入数据WTDT<1:N+M>之中 的、未被分组到事务的第二写入数据WTDT2<1:M>。
作为步骤S40的检查结果,在步骤S50中,可以选择对应于第一写 入数据WTDT1<1:N>的第二映射信息P2L,并且可以设置事务标记 TX_FLAG。因此,作为步骤S40的检查结果,可以不对与第二写入数 据WTDT2<1:M>相对应的第二映射信息P2L设置事务标记TX_FLAG。
随后,在步骤S60中,在第一设置时刻,仅在易失性存储器中管理 的全部第二映射信息P2L之中的、与未设置事务标记TX_FLAG的第二 映射信息P2L相对应的第一映射信息L2P可以被选择并存储在存储块 151至155中。因此,在易失性存储器144中管理的全部第二映射信息P2L 之中的、与设置了事务标记TX_FLAG的第二映射信息P2L相对应的第 一映射信息L2P可以不被存储在存储块151至155中并且可以继续在易 失性存储器144中管理。
随后,当在步骤S70中提交事务时(“是”),在步骤S75中,可以清 除包括在易失性存储器中管理的全部第二映射信息P2L之中的、对应于 提交的事务的第二映射信息P2L中的事务标记TX_FLAG。因此,对应 于与提交的事务相对应的第二映射信息P2L的第一映射信息L2P可以 被存储在存储块151至155中。
相反,当在步骤S80中中止事务时(“是”),可以保留包括在易失 性存储器中管理的全部第二映射信息P2L之中的、对应于中止的事务的 第二映射信息P2L中的事务标记TX_FLAG。因此,在步骤S85中,对应 于与中止的事务相对应的第二映射信息P2L的第一映射信息L2P可以 从第一映射信息表704移除。
在本公开的示例中,当在易失性存储器中管理映射信息时,其中 在将多个写入数据存储在非易失性存储器装置中的进程中生成该映射 信息,设置表示写入数据是否被分组到事务的事务标记,并且然后至 少基于是否设置了事务标记,选择性地将映射信息存储在非易失性存 储器装置中。
通过上述操作,可以在与被分组到事务的多个写入数据相对应的 映射信息之中,容易且迅速地选择待被存储在非易失性存储器装置中 的映射信息。
在下文中,将参照图10至图18详细描述由包括以上通过参照图1 至图9描述的存储器装置150和控制器130的存储器系统110构成的数据 处理系统和电子装置。
图10至图18是示意性示出根据各个实施例的图1至图9的数据处理 系统的应用示例的示图。
图10是示意性地示出包括根据实施例的存储器系统的数据处理系 统的示例的示图。图10示意性地示出包括根据实施例的存储器系统的 存储卡系统。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装 置6130和连接器6110。
更具体地,存储器控制器6120可连接到存储器装置6130,并被配 置成访问存储器装置6130。存储器装置6130可以由非易失性存储器实 现。通过示例而非限制的方式,存储器控制器6120可被配置成控制存 储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器 控制器6120可被配置成提供存储器装置6130和主机之间的接口和/或 驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对 应于参照图1至图9所述的存储器系统110的控制器130,并且存储器装 置6130可对应于参照图1至图9所述的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存 储器接口和错误校正单元。存储器控制器6120可进一步包括图1所述的 元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部 装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过 诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行 总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件 互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、 并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、 电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI和蓝牙。因此, 根据实施例的存储器系统和数据处理系统可被应用于有线/无线电子 装置,或者特别是移动电子装置。
存储器装置6130可由易失性存储器来实施。例如,存储器装置6130 可由诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、 NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁 电RAM(FRAM)以及自旋力矩转移磁性RAM(STT-MRAM)。存储 器装置6130可包括如在图5的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置 中。例如,存储器控制器6120和存储器装置6130可通过被集成到单个 半导体装置中来构造固态驱动器(SSD)。此外,存储器控制器6120和 存储器装置6130可构成存储卡,诸如PC卡(PCMCIA:个人计算机存 储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、 记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、 SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪速存储(UFS)。
图11是示意性地示出包括根据实施例的存储器系统的数据处理系 统的另一示例的示图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存 储器的存储器装置6230和用于控制存储器装置6230的存储器控制器 6220。图11所示的数据处理系统6200可用作如参照图1所述的诸如存储 卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230 可对应于图1至图9所述的存储器系统110中的存储器装置150,并且存 储器控制器6220可对应于图1至图9所述的存储器系统110中的控制器 130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置 6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包 括一个或多个CPU 6221、诸如RAM6222的缓冲存储器、ECC电路6223、 主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的操作,例如读取操作、写入 操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据 CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓 冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可 被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输至存储器装置6230的数据或从存储器 装置6230传输至主机6210的数据。当RAM6222用作高速缓冲存储器 时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参 照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数 据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给 存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位 的数据。奇偶校验位可存储在存储器装置6230中。ECC电路6223可对 从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223 可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223 可使用LDPC码、BCH码、Turbo码、里德-所罗门码、卷积码、RSC或 诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224将数据或信号传输到主机 6210或从主机6210接收数据或信号,并且通过NVM接口6225将数据或 信号传输到存储器装置6230或从存储器装置6230接收数据或信号。主 机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND 接口连接到主机6210。存储器控制器6220可具有诸如WiFi或长期演进 (LTE)的移动通信协议的无线通信功能。存储器控制器6220可连接 到例如主机6210或另一外部装置的外部装置,并且然后将数据传输到 外部装置/从外部装置接收数据。由于存储器控制器6220被配置成通过 各种通信协议的一种或多种与外部装置进行通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别 是移动电子装置。
图12是示意性地示出包括根据实施例的存储器系统的数据处理系 统的示例的示图。图12示意性地示出应用了根据实施例的存储器系统 的SSD。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储 器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的 控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储 器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装 置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、 ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储 器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包含在存 储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多 个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存 储器6325可由易失性存储器或非易失性存储器来实现,其中易失性存 储器诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM, 非易失性存储器诸如FRAM、ReRAM、STT-MRAM和PRAM。为了描 述,图12示出缓冲存储器6325存在于控制器6320内部,但是缓冲存储 器6325可位于或布置于控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340中 的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读 取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储 器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与外部装置例如主机6310的接口功能,并且 非易失性存储器接口6326可提供与通过多个通道连接的存储器装置 6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施 数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。RAID系统 可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当 RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的写入命令的 RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当 RAID控制器响应于从主机6310提供的读取命令执行读取操作时, RAID控制器可根据多个RAID级别,即从主机6310提供的读取命令的 RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图13是示意性说明包括根据实施例的存储器系统的数据处理系统 的另一示例的示图。图13示意性说明应用了根据实施例的存储器系统 的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个 NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的 存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存 储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。 控制器6430可包括一个或多个内核6432、主机接口6431和例如NAND 接口6433的存储器接口。
内核6432可控制eMMC 6400的操作,主机接口6431可提供控制器 6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器 装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作 例如参照图1所述的MMC接口的并行接口。此外,主机接口6431可用 作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图14至图17是示意性示出包括根据实施例的存储器系统的数据处 理系统的其它示例的示图。图14至图17示意性示出应用根据实施例的 存储器系统的UFS(通用闪存)系统。
参照图14至图17,UFS系统6500、6600、6700和6800可分别包括 主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以 及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可 用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装 置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、 6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710 和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730 和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装 置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS 卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。 例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可参照图10至图12所述的数据处理系统6200、SSD 6300或 eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可参 照图6所述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、 6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、 6730和6830可通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY 和MIPI UniPro(统一协议)的UFS接口彼此通信。此外,UFS装置6520、 6620、6720和6820与UFS卡6530、6630、6730和6830可通过UFS协议以 外的各种协议彼此通信,例如,UFD、MMC、SD、迷你-SD和微型-SD。
在图14所示的UFS系统6500中,主机6510、UFS装置6520以及UFS 卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与 UFS装置6520和UFS卡6530中的至少一个通信。主机6510可通过例如在 UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。在 该情况下,UFS装置6520和UFS卡6530可通过在主机6510的UniPro处的 链路层交换来与彼此通信。在示例中,为了便于描述,已经例示其中 一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多 个UFS装置和UFS卡可并联或以星形的形式连接至主机6510,并且多个 UFS卡可并联或以星形的形式连接至UFS装置6520,或者串联或以链的 形式连接至UFS装置6520(在本文中,星形的形式表示单个装置与多 个其它装置或卡联接的布置以用于集中控制)。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡 6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的 交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的 交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和 UFS卡6630可通过在UniPro处的交换模块6640的链路层交换来与彼此 通信。在示例中,为了便于描述,已经例示一个UFS装置6620和一个 UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡 可并联或以星形的形式连接至交换模块6640,并且多个UFS卡可串联 或以链的形式连接至UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡 6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的 交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交 换模块6740,与UFS装置6720或UFS卡6730通信。在该情况下,UFS装 置6720和UFS卡6730可通过在UniPro处的交换模块6740的链路层交换 来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS 装置6720集成为一个模块。在实施例中,为了便于描述,已经例示一 个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而, 每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星形 的形式连接到主机6710,或者串联或以链的形式彼此连接。此外,多 个UFS卡可并联或以星形的形式连接到UFS装置6720。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡 6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操 作,以便与主机6810和UFS卡6830通信。UFS装置6820可通过用于与主 机6810通信的M-PHY和UniPro模块之间的交换操作和用于与UFS卡 6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标 识符)交换操作来与主机6810或UFS卡6830通信。此处,主机6810和 UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID 交换来彼此通信。在实施例中,已经例示其中一个UFS装置6820连接 到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,多个 UFS装置可并联或以星形的形式连接至主机6810,或串联或以链的形 式连接至主机6810,并且多个UFS卡可并联或以星形的形式连接至UFS 装置6820,或串联或以链的形式连接至UFS装置6820。
图18是示意性示出包括根据实施例的存储器系统的数据处理系统 的另一示例的示图。图18是示意性示出应用了根据实施例的存储器系 统的用户系统的示图。
参照图18,用户系统6900可包括应用处理器6930、存储器模块 6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如 OS的部件,并且包括控制包括在用户系统6900中的组件的控制器、接 口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、 缓冲存储器或缓存存储器。存储器模块6920可包括诸如DRAM、 SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如 PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理 器6930和存储器模块6920可基于POP(堆叠封装)的被封装并安装。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支 持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、 全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、 时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性 (WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显 示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。 因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有 线和/或无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据, 然后可将所存储的数据传输到应用处理器6930。存储模块6950可由非 易失性半导体存储器装置实现,例如相变RAM(PRAM)、磁性RAM (MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND 闪存,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可 移除存储介质。存储模块6950可对应于参照图1所述的存储器系统110。 此外,存储模块6950可被实施为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或 用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如 键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、 麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及 诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源 矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和监 视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装 置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940 可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口 6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理 的数据或支持从触摸面板接收数据的功能。
虽然已经关于具体实施例描述了本发明,但是对于本领域技术人 员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和 范围的情况下,可进行各种改变和修改。

Claims (19)

1.一种存储器系统,其包括:
非易失性存储器装置,其包括多个存储块;以及
控制器,其包括易失性存储器并且被配置为:
将从主机传递的多个写入数据存储在所述多个存储块中的存储块中;以及
在所述易失性存储器中管理与所存储的写入数据相对应的映射信息,
其中所述控制器被配置为检查所述多个写入数据是否被分组到事务,基于检查结果选择性地将事务标记设置到所述映射信息;以及当未设置所述事务标记时,选择性地将所述映射信息存储在所述存储块中,
其中所述映射信息包括第一映射信息和第二映射信息,所述第一映射信息是用于存储在所述存储块中的所述写入数据的逻辑到物理信息,并且所述第二映射信息是物理到逻辑信息,以及
其中所述控制器进一步被配置为:
检查所述多个写入数据是否被分组到所述事务;
基于检查结果,选择性地将所述事务标记设置到所述第二映射信息;以及
当未将所述事务标记设置到所述第二映射信息时,选择性地将与所述第二映射信息相对应的第一映射信息存储在所述存储块中。
2.根据权利要求1所述的存储器系统,其中所述控制器被配置为每当所述写入数据被存储在所述存储块中时,基于所述写入数据中的每个是否被分组到所述事务,将所述写入数据划分为被分组到所述事务的第一写入数据和未被分组到所述事务的第二写入数据,并且将所述事务标记设置到在所述易失性存储器中管理的所述第二映射信息之中的、与所述第一写入数据相对应的第二映射信息。
3.根据权利要求2所述的存储器系统,其中所述控制器被配置为在每个第一设置时刻,仅选择与在所述易失性存储器中管理的全部第二映射信息之中的、未设置所述事务标记的第二映射信息相对应的第一映射信息,并且将所选择的第一映射信息存储在所述存储块中。
4.根据权利要求3所述的存储器系统,其中所述控制器被配置为在所述第一设置时刻,不将与在所述易失性存储器中管理的全部第二映射信息之中的、设置了所述事务标记的第二映射信息相对应的第一映射信息存储在所述存储块中,并且继续在所述易失性存储器中管理所述第一映射信息。
5.根据权利要求4所述的存储器系统,其中当所述第一写入数据的事务被提交时,所述控制器被配置为清除在所述事务的提交时刻之前、被设置到与所述第一写入数据相对应的第二映射信息的事务标记,以使与所述第一写入数据相对应的第二映射信息处于未设置所述事务标记的状态。
6.根据权利要求4所述的存储器系统,其中当所述第一写入数据的事务被中止时,所述控制器被配置为即使在所述事务的中止时刻之后,也保留在所述事务的中止时刻之前、被设置到与所述第一写入数据相对应的第二映射信息的事务标记,并且从所述易失性存储器移除与所述第一写入数据相对应的第一映射信息和第二映射信息。
7.根据权利要求4所述的存储器系统,其中所述控制器被配置为在每个第二设置时刻,仅选择在所述易失性存储器中管理的全部第二映射信息之中的、未设置所述事务标记的第二映射信息,并且将所选择的第二映射信息存储在所述存储块中。
8.根据权利要求4所述的存储器系统,其中所述控制器被配置为在每个第二设置时刻,将在所述易失性存储器中管理的全部第二映射信息与表示是否设置了所述事务标记的信息一起存储在所述存储块中。
9.根据权利要求2所述的存储器系统,其中所述控制器被配置为响应于与所述写入数据相对应的写入命令中包括的事务ID信息,来检查所述写入数据中的每个是否被分组到所述事务。
10.一种存储器系统的操作方法,所述存储器系统包括非易失性存储器装置和控制器,所述非易失性存储器装置包括多个存储块,所述控制器包括易失性存储器,所述操作方法包括:
第一存储步骤,通过所述控制器将从主机传递的多个写入数据存储在所述存储块中;以及
管理步骤,通过所述控制器管理存储在所述易失性存储器中的、与所存储的写入数据相对应的映射信息,
其中所述管理步骤包括:
第一检查步骤,检查所述写入数据是否被分组到事务;
设置步骤,参照所述第一检查步骤的结果,选择性地将事务标记设置到所述映射信息;
第二检查步骤,在所述设置步骤之后,检查是否将所述事务标记设置到了所述映射信息;以及
第二存储步骤,参照所述第二检查步骤的结果,选择性地将所述映射信息存储在所述存储块中,
其中所述映射信息包括第一映射信息和第二映射信息,所述第一映射信息是用于存储在所述存储块中的所述写入数据的逻辑到物理信息,并且所述第二映射信息是物理到逻辑信息,
其中通过参照所述第一检查步骤的结果,选择性地将所述事务标记设置到所述第二映射信息来执行所述设置步骤,
其中通过检查是否将所述事务标记设置到了所述第二映射信息来执行所述第二检查步骤,以及
其中通过参照所述第二检查步骤的结果,选择性地将与所述第二映射信息相对应的第一映射信息存储在所述存储块中来执行所述第二存储步骤。
11.根据权利要求10所述的操作方法,
其中通过每当所述写入数据被存储在所述存储块中时,基于检查所述写入数据中的每个是否被分组到所述事务的结果,将所述写入数据划分为被分组到所述事务的第一写入数据和未被分组到所述事务的第二写入数据来执行所述第一检查步骤,以及
其中所述设置步骤包括参照所述第一检查步骤的结果,将所述事务标记设置到在所述易失性存储器中管理的第二映射信息之中的、与所述第一写入数据相对应的第二映射信息。
12.根据权利要求11所述的操作方法,其中通过在每个第一设置时刻,参照所述第二检查步骤的结果,仅选择与在所述易失性存储器中管理的全部第二映射信息之中的、未设置所述事务标记的第二映射信息相对应的第一映射信息并且将所选择的第一映射信息存储在所述存储块中来执行所述第二存储步骤。
13.根据权利要求12所述的操作方法,其中通过在所述第一设置时刻,参照所述第二检查步骤的结果,不将与在所述易失性存储器中管理的全部第二映射信息之中的、设置了所述事务标记的第二映射信息相对应的第一映射信息存储在所述存储块中并且继续在所述易失性存储器中管理所述第一映射信息来执行所述第二存储步骤。
14.根据权利要求13所述的操作方法,其进一步包括:
第三检查步骤,检查所述第一写入数据的事务是否被提交,
其中通过参照所述第三检查步骤的结果,当检查到所述第一写入数据的事务被提交时,清除在所述事务的提交时刻之前、被设置到与所述第一写入数据相对应的第二映射信息的事务标记,以使与所述第一写入数据相对应的第二映射信息处于未设置所述事务标记的状态来执行所述设置步骤。
15.根据权利要求13所述的操作方法,其进一步包括:
第四检查步骤,检查所述第一写入数据的事务是否被中止;以及
删除步骤,在所述设置步骤之后,参照所述第四检查步骤的结果,当检查到所述第一写入数据的事务被中止时,从所述易失性存储器删除与所述第一写入数据相对应的第一映射信息和第二映射信息,
其中通过参照所述第四检查步骤的结果,当检查到所述第一写入数据的事务被中止时,即使在所述事务的中止时刻之后,也保留在所述事务的中止时刻之前、被设置到与所述第一写入数据相对应的第二映射信息的事务标记来执行所述设置步骤。
16.根据权利要求13所述的操作方法,其中通过在每个第二设置时刻,仅选择在所述易失性存储器中管理的全部第二映射信息之中的、未设置所述事务标记的第二映射信息并且将所选择的第二映射信息存储在所述存储块中来执行所述第二存储步骤。
17.根据权利要求13所述的操作方法,其中通过在每个第二设置时刻,将在所述易失性存储器中管理的全部第二映射信息与表示是否设置了所述事务标记的信息一起存储在所述存储块中来执行所述第二存储步骤。
18.根据权利要求11所述的操作方法,其中通过响应于与所述写入数据相对应的写入命令中包括的事务ID信息,检查所述写入数据中的每个是否被分组到所述事务来执行所述第一检查步骤。
19.一种存储器系统,其包括:
非易失性存储器装置,其包括多个存储块;以及
控制器,其与所述非易失性存储器装置电联接并具有易失性存储器,并且被配置为:
基于存储在所述易失性存储器中的映射信息,将写入数据写入至少一个存储块中;
检查多个写入数据是否被分组到事务,
基于检查结果,选择性地将事务标记设置到相应的映射信息;以及
选择性地将未设置所述事务标记的映射信息更新到所述存储块,
其中所述映射信息包括第一映射信息和第二映射信息,所述第一映射信息是用于存储在所述存储块中的所述写入数据的逻辑到物理信息,并且所述第二映射信息是物理到逻辑信息,以及
其中所述控制器进一步被配置为:
检查所述多个写入数据是否被分组到所述事务;
基于检查结果,选择性地将所述事务标记设置到所述第二映射信息;以及
当未将所述事务标记设置到所述第二映射信息时,选择性地将与所述第二映射信息相对应的第一映射信息存储在所述存储块中。
CN201810813067.5A 2017-11-08 2018-07-23 存储器系统及其操作方法 Active CN109753233B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0148005 2017-11-08
KR1020170148005A KR20190052368A (ko) 2017-11-08 2017-11-08 메모리 시스템 및 메모리 시스템의 동작방법

Publications (2)

Publication Number Publication Date
CN109753233A CN109753233A (zh) 2019-05-14
CN109753233B true CN109753233B (zh) 2022-04-29

Family

ID=66328644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810813067.5A Active CN109753233B (zh) 2017-11-08 2018-07-23 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US10838874B2 (zh)
KR (1) KR20190052368A (zh)
CN (1) CN109753233B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200037584A (ko) 2018-10-01 2020-04-09 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 데이터베이스 시스템
US11940925B2 (en) * 2021-12-29 2024-03-26 Micron Technology, Inc. Performing memory access operations with a logical-to-physical mapping table with reduced size

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US8266365B2 (en) * 2008-12-17 2012-09-11 Sandisk Il Ltd. Ruggedized memory device
US20140143476A1 (en) * 2012-11-16 2014-05-22 Rotem Sela Usage of cache and write transaction information in a storage device
KR20140113176A (ko) * 2013-03-15 2014-09-24 삼성전자주식회사 매핑 정보 업데이트 방법 및 이를 이용한 메모리 시스템
GB2527529B (en) * 2014-06-24 2021-07-14 Advanced Risc Mach Ltd A device controller and method for performing a plurality of write transactions atomically within a non-volatile data storage device
KR20180019419A (ko) * 2016-08-16 2018-02-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작방법

Also Published As

Publication number Publication date
KR20190052368A (ko) 2019-05-16
US20190138454A1 (en) 2019-05-09
CN109753233A (zh) 2019-05-14
US10838874B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
US10366761B2 (en) Memory system and operating method thereof
CN109144408B (zh) 存储器系统及其操作方法
CN107562649B (zh) 存储器系统及其操作方法
CN109947358B (zh) 存储器系统及其操作方法
CN110858180B (zh) 数据处理系统及其操作方法
CN110825318B (zh) 控制器及其操作方法
CN107450845B (zh) 存储器系统及其操作方法
CN109656837B (zh) 存储器系统及其操作方法
US20180101454A1 (en) Memory system and operation method for the same
CN110347330B (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
US20180074718A1 (en) Memory system and method for operating the same
CN108694138B (zh) 控制器及其操作方法
CN108108308B (zh) 存储器系统及其操作方法
CN107562653B (zh) 存储器系统及其操作方法
CN107807887B (zh) 存储器系统及其操作方法
CN108733616B (zh) 包括多处理器的控制器及其操作方法
CN110570894A (zh) 存储器系统及该存储器系统的操作方法
US10168907B2 (en) Memory system and operating method thereof
CN110765029B (zh) 控制器及用于操作该控制器的方法
CN110825316A (zh) 控制器及该控制器的操作方法
CN110704331A (zh) 控制器及其操作方法
CN110618786A (zh) 存储器系统及存储器系统的操作方法
CN110968521B (zh) 存储器系统及其操作方法
CN110007851B (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