CN106708757B - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN106708757B CN106708757B CN201610490742.6A CN201610490742A CN106708757B CN 106708757 B CN106708757 B CN 106708757B CN 201610490742 A CN201610490742 A CN 201610490742A CN 106708757 B CN106708757 B CN 106708757B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- segment
- controller
- mapping data
- 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
Images
Classifications
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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
-
- 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
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/60—Details of cache memory
-
- 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
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
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)
- Computer Security & Cryptography (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器***,其可以包括:存储器装置,其包括多个存储块,每个存储块具有适于存储从主机请求的数据的多个页面;以及控制器,其包括存储器,并且适于:将对应于从主机接收的写入命令的写入数据存储在存储块的第一存储块中、将对应于写入到第一存储块的写入数据的第一映射数据和第二映射数据存储在存储块的第二存储块中以及将第一映射数据的第一片段的片段列表存储在存储器中。
Description
相关申请的交叉引用
本申请要求于2015年11月13日提交的申请号为10-2015-0159580的韩国专利申请的优先权,该韩国专利申请的公开全文通过应用并入本申请。
技术领域
本发明的示例性实施例涉及一种存储器***,并且更特别地,涉及一种用于将数据处理至存储器装置的存储器***及其操作方法。
背景技术
计算机环境范例已经转变为可随时随地使用的普适计算***。因此,诸如移动电话、数码相机以及笔记本电脑的便携式电子装置的使用持续快速增加。便携式电子装置一般使用具有一个或多个半导体存储器装置的存储器***存储数据。本文仅简称为存储器装置的半导体存储器装置可以用作便携式电子装置的主存储器装置或者辅助存储器装置。
由于不同于其它类型的数据存储装置,半导体存储器装置不具有活动部件,所以半导体存储器装置提供优良的稳定性、持久性、高的信息存取速度以及低能量消耗。具有这样的优势的半导体存储器装置的实例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。对更大容量、更快速的便携式电子装置的持续的消费者需求产生了对改进的、更快速的并且更可靠的存储器***的要求。
发明内容
本公开的各种实施例涉及一种能够快速且稳定地将数据处理至存储器装置的存储器***以及其操作方法。
在本公开的实施例中,存储器***可以包括:存储器装置,其包括适于存储从主机接收的数据的多个存储块;以及控制器,其包括控制器存储器,该控制器适于:将对应于从主机接收的写入命令的写入数据存储在多个存储块的第一存储块中、将对应于写入到第一存储块的写入数据的第一映射数据和第二映射数据存储在多个存储块的第二存储块中以及将第一映射数据的多个第一片段的片段列表存储在存储器中。
控制器可以将第二映射数据的第二片段存储在存储器中,并且针对每个第一片段排序已存储在存储器中的第二片段。
控制器可以通过形成排序的第二片段之间的条目(entry)、树(tree)、链接(link)和哈希(hash)表中的一个或多个针对每个第一片段构建片段列表。
当更新已存储在第二存储块中的第一映射数据时,控制器可通过片段列表检查第一映射数据的第一片段中需要更新的第三片段。
控制器可以将第三片段载入到存储器,并且随后检查第三片段和片段列表中针对第三片段的排序的第二片段的对应的一个。
控制器可以更新已载入存储器的第三片段中的排序的第二片段的对应的一个,并且随后将第三片段存储在第二存储块中。
片段列表中的第一片段之间可以具有逻辑地址偏移,并且控制器可以基于逻辑地址偏移,针对每个第一片段排序第二片段。
控制器可以逻辑地址顺序针对每个第一片段排序第二片段。
第一映射数据可以包括对应于至第一存储块的数据存储的逻辑信息,并且第二映射数据可以包括对应于至第一存储块的数据存储的物理信息。
控制器可以通过片段列表,检查关于对应于从主机接收的读取命令的读取数据的逻辑信息和物理信息。
在本发明的实施例中,存储器***的操作方法可以包括:从主机接收针对存储器装置的多个存储块的写入命令;以及将对应于写入命令的写入数据存储在存储块的第一存储块中,将对应于写入第一存储块的写入数据的第一映射数据和第二映射数据存储到存储块的第二存储块中,以及将第一映射数据的第一片段的片段列表存储在包括于存储器装置的控制器中的存储器中。
片段列表的存储可以包括将第二映射数据的第二片段存储在存储器中,以及针对每个第一片段排序已存储在存储器中的第二片段。
片段列表的存储可以进一步包括通过形成排序的第二片段之间的条目、树、链接和哈希表中的一个或多个,针对每个第一片段构建片段列表。
操作方法可以进一步包括:利用片段列表,通过检查第一映射数据的第一片段中需要更新的第三片段,更新已存储在第二存储块中的第一映射数据。
第一映射数据的更新可以包括将第三片段载入至存储器,以及检查第三片段和片段列表中针对第三片段的排序的第二片段的对应的一个。
第一映射数据的更新可以进一步包括更新已载入至存储器的第三片段中的排序的第二片段的对应的一个,并且随后将第三片段存储在第二存储块中。
片段列表中的第一片段之间可以具有逻辑地址偏移,并且第二片段可以基于逻辑地址偏移针对每个第一片段进行排序。
第二片段可以逻辑地址顺序针对每个第一片段进行排序。
第一映射数据可以包括对应于至第一存储块的数据存储的逻辑信息,并且第二映射数据可以包括对应于至第一存储块的数据存储的物理信息。
操作方法可以进一步包括:检查关于对应于从主机接收的读取命令的读取数据的逻辑信息和物理信息;以及使用检查的逻辑信息和物理信息从第一存储块读取所述读取数据。
附图说明
图1是示出根据本发明的一个实施例的包括存储器***的数据处理***的简图,其中存储器***包括存储器装置和控制器。
图2是示出图1的存储器装置的示例配置的简图。
图3是图1的存储器装置的一个存储块的电路图。
图4至图11是示出图1的存储器装置的示例结构的简图。
图12和图13是根据本发明的一个实施例的存储器***的数据处理操作的简图。
图14是示出根据本发明的一个实施例的存储器***的数据处理操作的流程图。
具体实施方式
下面将参照附图更加详细地描述各种实施例。然而,本发明可以不同的形式呈现且不应被解释为限于在本文中提出的实施例。而是,这些实施例被提供使得本公开将是彻底且完整的,并且将向相关领域的技术人员完全地传达本发明。在整个公开中,相似的参照数字表示本发明的各附图和实施例中的相似部件。还应该注意的是,在本说明书中,“连接/联接”不仅指一个部件直接联接另一个部件,而且指通过中间部件间接联接另一个部件。另外,单数形式可包括复数形式,只要未另外特别地提到。应该容易理解的是,在本发明中的“上”和“上方”的意思应该以最宽的方式来解释,使得“上”不仅指“直接在某事物上”,而且指通过其间的中间特征或层而“在某事物上”,并且“上方”不仅指直接在某事物的顶部上而且指通过其间的中间特征或层在某事物的顶部上。当第一层被称为在第二层“上”或在基板“上”时,其不仅可以指第一层直接形成在第二层或基板上的情况,而且可以指第一层和第二层或基板之间存在第三层的情况。
将理解的是,虽然本文中术语“第一”、“第二”、“第三”等可以用于描述各种元件、部件、区域、层和/或部分,但这些元件、部件、区域、层和/或部分不应受这些术语限制。这些术语用于区别一个元件、部件、区域、层或部分与另一元件、部件、区域、层或部分。因此,在不背离本发明的精神和范围的情况下,下文描述的第一元件、部件、区域、层或部分可以称为第二元件、部件、区域、层或部分。
此外,将理解的是,当在本说明书中使用时,术语“包括”、“包括有”“包含”、“包含有”、“有”或“具有”是指提及的特征、整体、操作、元件和/或部件的存在,但不排除一个或多个其它未提及的特征、整体、操作、元件、部件和/或其组合的存在或添加。在本文中使用时,术语“和/或”包括一个或多个相关列出项目的任何和所有组合。
除非另外说明,否则包括本文使用的技术和科学术语的所有术语具有与本发明构思所属技术领域的技术人员通常所理解的意义相同的意义。此外,将理解的是,诸如在常用词典里定义的那些术语应当解释为具有与其在相关技术上下文中的意义一致的意义,并且将不以理想化或过于正式的意义来解释,除非在本文中明确地如此定义。
在下列说明中,陈述了大量具体的细节,以提供本发明的透彻理解。本发明可以在没有部分或全部这些具体细节的情况下实施。在其它情况下,为了不使本发明被不必要地模糊,未详细描述公知的工艺结构和/或工艺。
以下,将参照附图更详细地描述本发明的各种实施例。
图1是示出根据本发明的一个实施例的包括存储器***的数据处理***的框图。
参照图1,数据处理***100可以包括主机102和存储器***110。
主机102可以是或者包括例如便携式电子装置,诸如移动电话、MP3播放器、笔记本电脑等。主机102也可以是或者包括例如电子装置,诸如台式电脑、游戏机、电视机、放映机等。
存储器***110可响应于来自主机102的请求来操作。例如,存储器***110可以存储待被主机102访问的数据。存储器***110可以用作主机102的主存储器***。存储器***可以用作主机102的辅助存储器***。
根据与主机102电联接的主机接口的协议,存储器***110可以是或者包括各种存储装置中的任意一种。存储器***110可以是或者包括诸如以下的各种存储装置中的任意一种:固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、减小尺寸的MMC(RS-MMC)和微型-MMC、安全数字(SD)卡、小型-SD和微型-SD、通用串行总线(USB)存储装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器***110的存储装置可以是或者包括易失性存储器装置,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等。存储器***110的存储装置可以是或者包括非易失性存储器装置,诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)等。
存储器***110可以包括存储器装置150和控制器130。存储器装置可以存储待被主机102访问的数据。控制器130可以控制数据在存储器装置150中的存储。
控制器130和存储器装置150可以集成到单个半导体装置中。例如,控制器130和存储器装置150可以集成到被配置为固态驱动器(SSD)的单个半导体装置中。当存储器***110被配置为SSD时,与存储器***110电联接的主机102的操作速度可以显著地增加。
控制器130和存储器装置150可以集成到被配置为存储卡的单个半导体装置中。控制器130和存储卡150可集成到被配置为诸如以下的存储卡的单个半导体装置中:个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体(SM)卡(SMC)、记忆棒、多媒体卡(MMC)、RS-MMC和微型MMC、安全数字(SD)卡、小型-SD、微型-SD和SDHC、通用闪速存储(UFS)装置等。
对于另一个实例,存储器***110可以是或者包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑匣子、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储器、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、RFID装置、配置计算***的各种组成元件中的一种等。
在写入操作期间,存储器装置150可以存储主机102提供的数据。在读取操作期间,存储器装置150可以将存储的数据提供至主机102。存储器装置150可以包括多个存储块152、154和156。存储块152、154和156中的每个可以包括多个页面。每个页面可以包括多个存储器单元,多个字线(WL)可以电联接至多个存储器单元。
存储器装置150可以在装置的电源中断或关闭时保留所存储的数据。存储器装置150可以是非易失性存储器装置,例如,闪速存储器。闪速存储器可以具有三维(3D)堆栈结构。稍后将参照图2至11更加详细地描述存储器装置150的3D堆栈结构。
控制器130可以响应于来自主机102的请求控制存储器装置150。控制器130可以控制存储器装置150和主机102之间的数据流。例如,控制器130可以将从存储器装置150读取的数据传输至主机102,和/或将由主机102提供的数据传输至存储器装置150以存储在其中。为此,控制器130可以控制存储器装置150的全部操作,诸如,例如,读取操作、写入操作、编程操作和擦除操作。
在图1的示例中,控制器130可以包括主机接口单元132、处理器134、错误校正码(ECC)单元138、电源管理单元140、NAND闪速控制器142以及存储器144。
主机接口单元132可以处理由主机102提供的命令和/或数据。主机接口单元132可以通过诸如以下的各种接口协议中的至少一个与主机102通信:例如,通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-E)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、加强型小型磁盘接口(ESDI)、集成驱动电路(IDE)等。主机接口单元132可以包括主机102和控制器130之间的接口所需的所有电路、***或装置。
ECC单元138可以检测和/或校正读取操作期间从存储器装置150读取的数据中的错误。例如,当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元138可以不校正错误位,并且可以输出指示校正错误位失败的错误校正失败信号。
ECC单元138可以基于诸如以下的编码调制来执行错误校正操作:例如,低密度奇偶校验检查(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、turbo码、里德-所罗门(RS)码、卷积码、递归***码(RSC)、格码调制(TCM)、分组编码调制(BCM)等。ECC单元138可以包括如错误校正操作所需的所有电路、***或装置。
PMU 140可以提供和/或管理用于控制器130的电源,即,包括在控制器130中的组成元件的电源。可以使用任何合适的电源模块。
NFC 142可以用作控制器130和存储器装置150之间的存储器接口,以使控制器130例如响应于来自主机102的请求控制存储器装置150。当存储器装置150是闪速存储器时,并且例如当存储器装置150是NAND闪速存储器时,NFC 142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理数据。虽然图1的实施例的接口单元142是适于使NAND闪速存储器与控制器接口连接的NFC单元,但本发明不限于这种方式。存储器接口单元142可以是适于将存储器装置150接口连接至控制器的任何适合的存储器接口单元。应注意的是,接口单元142的特定架构和功能可以根据采用的存储器装置的类型而变化。
存储器144可以用作存储器***110和控制器130的工作存储器,并且存储用于驱动存储器***110和/或控制器130的数据。控制器130可以响应于来自主机102的请求控制存储器装置150。例如,如上所述,控制器130可以将从存储器装置150读取的数据提供至主机102,并将由主机102提供的数据存储至存储器装置150中。当控制器130控制存储器装置150的操作时,存储器144可以存储控制器130和存储器装置150用于诸如读取、写入、编程和擦除操作的操作的数据。
存储器144可以是或者包括任何合适的存储器装置。存储器144可以是易失性存储器。存储器144可以是或者包括静态随机存取存储器(SRAM)。存储器144可以是或者包括动态随机存取存储器(DRAM)。存储器144可以包括任何合适的架构。例如,存储器144可以包括本领域已知的编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134可以控制存储器***110的一般操作。处理器134可以响应于来自主机102的写入或读取请求控制存储器装置150的写入或读取操作。处理器134可以是或者包括任何合适的处理器。
处理器134可以驱动被称作闪存转换层(FTL)的固件以控制存储器***110的一般操作。处理器134可以是或者包括微处理器。可以使用任何合适的微处理器。处理器134可以是或者包括中央处理单元(CPU)。
坏块管理单元(未示出)可以包含在处理器134中,以执行存储器装置150的坏块管理。坏块管理单元可发现被包含在存储器装置150中的对于进一步使用处于不满意状态的坏存储块,并对坏存储块执行坏块管理。当存储器装置150是闪速存储器例如NAND闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如,在编程操作期间,可能发生编程失败。在坏块管理操作期间,编程失败的存储块或坏存储块的数据可以编程到新的存储块中。由于编程失败产生的坏块可能使存储器装置150的利用效率和存储器***100的可靠性严重劣化。因此,可靠的坏块管理可以包括在处理器134中以解决这些问题。
图2示出根据本发明的一个实施例的图1的存储器***110的存储器装置150。
参照图2,存储器装置150可以包括多个存储块,例如第0至第(N-1)块210-240。多个存储块210-240中的每个可以包括多个页面,例如2M数量的页面(2M页面),但本发明不限于此。多个页面中的每个页面可以包括多个存储器单元,多个字线可以电联接至多个存储器单元。
根据包含于存储块中的每个存储器单元中可存储或表达的位的数量,存储块可以是单层单元(SLC)存储块或者多层单元(MLC)存储块。SLC存储块可以包括含有每个存储器单元能够存储1位数据的多个存储器单元的多个页面。MLC存储块可以包括含有每个存储器单元能够存储多位数据例如两位或更多位数据的多个存储器单元的多个页面。包括通过每个能够存储3位数据的存储器单元实现的多个页面的MLC存储块可以称为三层单元(TLC)存储块。
多个存储块210至240中的每个可以在写入操作期间存储由主机装置102提供的数据,并且可以在读取操作期间将存储的数据提供至主机102。
图3是示出图1所示的多个存储块152至156中的一个的电路图。
参照图3,存储器装置150的存储块152,例如存储块152,可以包括电联接至各个位线BL0至BLm-1的多个单元字符串340。每个单元字符串340可以包括至少一个漏极选择晶体管DST、至少一个源极选择晶体管SST以及串联地电联接在漏极选择晶体管DST和源极选择晶体管SST之间的多个存储器单元或者多个存储器单元晶体管MC0至MCn-1。各个存储器单元MC0至MCn-1可以由单层单元(SLC)配置,每个单层单元(SLC)存储单个位的数据信息。各个存储器单元MC0至MCn-1可以由多层单元(MLC)配置,每个多层单元(MLC)存储多个位的数据信息。字符串340可以分别电联接至对应的位线BL0至BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示共源线。
虽然图3示出由NAND闪速存储器单元配置的存储块152作为示例,但是应当注意存储器装置150的存储块152不限于NAND闪速存储器,并且可以通过NOR闪速存储器、结合至少两种存储器单元的混合闪速存储器或控制器内置在存储器芯片中的1-NAND闪速存储器来实现。半导体装置的操作特征可不仅应用于电荷存储层由导电浮栅配置的闪速存储器装置,而且可应用于电荷存储层由介电层配置的电荷捕获闪存(CTF)。
存储器装置150的电压供应块310可以提供待根据操作模式供应至各个字线的字线电压,例如,编程电压、读取电压和过电压(pass voltage),以及待供应到体材料(bulks)例如其中形成有存储器单元的阱区的电压。电压供应块310可以在控制电路(未示出)的控制下执行电压生成操作。电压供应块310可以生成多个可变的读取电压以生成多个读取数据、在控制电路的控制下选择存储块或存储器单元阵列的扇区中的一个、选择被选择的存储块的一个字线并且将字线电压提供至选择的字线和未选择的字线。
存储器装置150的读取/写入电路320可以由控制电路控制,并且可以根据操作模式用作感测放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的感测放大器。而且,在编程操作期间,读取/写入电路320可以用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。读取/写入电路320可以在编程操作期间从缓冲器(未示出)接收待写入存储器单元阵列中的数据,并且可以根据输入的数据驱动位线。为此,读取/写入电路320可以包括对应于各个列(或者位线)或者列对(或者位线对)的多个页面缓冲器322、324和326。多个锁存器(未示出)也可以被包括在各个页面缓冲器322、324和326中。
图4至11是示出存储器装置150的各种实施例的示意图。
图4是示出图1所示的存储器装置150的多个存储块152至156的示例的框图。
参照图4,存储器装置150可以包括多个存储块BLK0至BLK0至BLKN-1。存储块BLK0至BLKN-1的每个可以三维(3D)结构或纵向结构实现。各个存储块BLK0至BLKN-1可以包括在第一至第三方向例如x轴方向、y轴方向和z轴方向上延伸的结构。
各个存储块BLK0至BLKN-1可以包括在第二方向上延伸的多个NAND字符串NS。多个NAND字符串NS可以设置在第一方向和第三方向上。每个NAND字符串NS可以电联接至位线BL、至少一个源极选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL以及共源线CSL。即,各个存储块BLK0至BLKN-1可以电联接至多个位线BL、多个源极选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL以及多个共源线CSL。
图5是图4所示的多个存储块BLK0至BLKN-1的一个存储块BLKi的立体图。图6是图5所示的存储块BLKi沿线I-I'截取的截面图。
参照图5和图6,存储块BLKi可以包括在第一至第三方向上延伸的结构。
可以设置基板5111。基板5111可以包括掺杂有第一类型杂质的硅材料。基板5111可以包括掺杂有p-型杂质的硅材料或可以是p-型阱,例如袋(pocket)p-阱,并且包括围绕p-型阱的n-型阱。虽然假定基板5111是p-型硅,但是应注意基板5111不限于p-型硅。
在第一方向上延伸的多个掺杂区域5311至5314可以设置在基板5111上方。多个掺杂区域5311至5314可以包含不同于基板5111的第二类型杂质。多个掺杂区域5311至5314可以掺杂有n-型杂质。虽然此处假定第一至第四掺杂区域5311至5314是n-型,但应注意第一至第四掺杂区域5311至5314不限于为n-型。
在第一掺杂区域5311和第二掺杂区域5312之间的基板5111上方的区域中,在第一方向上延伸的多个介电材料5112可以顺序地设置在第二方向上。介电材料5112和基板5111可以在第二方向上以预定距离彼此分开。介电材料5112可以在第二方向上以预定距离彼此分开。介电材料5112可以包括诸如二氧化硅的介电材料。
在第一掺杂区域5311和第二掺杂区域5312之间的基板5111上方的区域中,可以设置在第一方向上顺序设置并且在第二方向上穿过介电材料5112的多个柱状物5113。多个柱状物5113可以分别地穿过介电材料5112并且可以与基板5111电联接。每个柱状物5113可以由多种材料构成。每个柱状物5113的表面层5114可以包括掺杂有第一类型杂质的硅材料。每个柱状物5113的表面层5114可以包括掺杂有与基板5111相同类型的杂质的硅材料。虽然这里假定每个柱状物5113的表面层5114可以包括p-型硅,但应注意每个柱状物5113的表面层5114不限于为p-型硅。
每个柱状物5113的内层5115可以由介电材料形成。每个柱状物5113的内层5115可以由诸如二氧化硅的介电材料填充。
在第一掺杂区域5311和第二掺杂区域5312之间的区域中,可以沿着介电材料5112、柱状物5113和基板5111的暴露表面设置介电层5116。介电层5116的厚度可小于介电材料5112之间的距离的一半。换言之,可以设置不同于介电材料5112和介电层5116的材料的区域可设置在(i)设置在介电材料5112的第一介电材料的底面上方的介电层5116和(ii)设置在介电材料5112的第二介电材料的顶面上方的介电层5116之间。介电材料5112位于第一介电材料下面。
在第一掺杂区域5311和第二掺杂区域5312之间的区域中,导电材料5211-5291可设置在介电层5116的暴露表面上方。在第一方向上延伸的导电材料5211可以设置在邻近基板5111的介电材料5112和基板5111之间。例如,在第一方向上延伸的导电材料5211可设置在(i)设置在基板5111上方的介电层5116和(ii)设置在邻近基板5111的介电材料5112的底面上方的介电层5116之间。
在第一方向上延伸的导电材料可设置在(i)设置在介电材料5112中的一个的顶面上方的介电层5116和(ii)设置在置于特定介电材料5112上方的介电材料5112的另一介电材料的底面上方的介电层5116之间。在第一方向上延伸的导电材料5221-5281可设置在介电材料5112之间。在第一方向上延伸的导电材料5291可设置在最上面的介电材料5112上方。在第一方向上延伸的导电材料5211-5291可以是金属材料。在第一方向上延伸的导电材料5211-5291可以是诸如多晶硅的导电材料。
在第二掺杂区域5312和第三掺杂区域5313之间的区域中,可设置与第一掺杂区域5311和第二掺杂区域5312之间的结构相同的结构。例如,在第二掺杂区域5312和第三掺杂区域5313之间的区域中,可设置:在第一方向上延伸的多个介电材料5112、在第一方向上顺序地设置且在第二方向上穿过多个介电材料5112的多个柱状物5113、设置在多个介电材料5112的暴露表面和多个柱状物5113的暴露表面上方的介电层5116以及在第一方向上延伸的多个导电材料5212-5292。
在第三掺杂区域5313和第四掺杂区域5314之间的区域中,可设置与第一掺杂区域5311和第二掺杂区域5312之间的结构相同的结构。例如,在第三掺杂区域5313和第四掺杂区域5314之间的区域中,可设置:在第一方向上延伸的多个介电材料5112、在第一方向上顺序地设置且在第二方向上穿过多个介电材料5112的多个柱状物5113、设置在多个介电材料5112和多个柱状物5113的暴露表面上方的介电层5116以及在第一方向上延伸的多个导电材料5213-5293。
漏极5320可分别设置在多个柱状物5113上方。漏极5320可以是掺杂有第二类型杂质的硅材料。漏极5320可以是掺杂有n-型杂质的硅材料。尽管为了方便起见假定漏极5320包括n-型硅,但应注意的是,漏极5320不限于为n-型硅。例如,每个漏极5320的宽度可大于每个对应的柱状物5113的宽度。每个漏极5320可以焊盘垫块(pad)的形状设置在每个对应的柱状物5113的顶面上方。
在第三方向上延伸的导电材料5331-5333可设置在漏极5320上方。导电材料5331-5333可以沿第一方向以均匀间隔隔开。各个导电材料5331-5333可与在第三方向上沿相同行设置的对应柱状物区域的漏极5320电联接。各个导电材料5331-5333可通过接触插塞(未示出)与在第三方向上沿相同行设置的对应柱状物区域的漏极电联接。各个导电材料5331-5333可以是或者包括金属材料。各个导电材料5331-5333可以是诸如多晶硅的导电材料。
在图5和图6中,各自的柱状物5113可与介电层5116和在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293一起形成字符串。各自的柱状物5113可与介电层5116和在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293一起形成NAND字符串NS。每个NAND字符串NS可包括多个晶体管结构TS。
图7是图6中所示的晶体管结构TS的放大截面图。
参照图7,在图6中所示的晶体管结构TS中,介电层5116可包括第一子介电层5117、第二子介电层5118和第三子介电层5119。
在每个柱状物5113中的p-型硅的表面层5114可作为主体。邻近柱状物5113的第一子介电层5117可作为隧穿介电层,且可包括热氧化层。
第二子介电层5118可作为电荷存储层。第二子介电层5118可作为电荷捕获层,且可包括氮化物层或诸如氧化铝层、氧化铪层等的金属氧化物层。
邻近导电材料5233的第三子介电层5119可作为阻断介电层。邻近在第一方向上延伸的导电材料5233的第三子介电层5119可形成为单层或多层。第三子介电层5119可以是介电常数大于第一子介电层5117和第二子介电层5118的诸如氧化铝层、氧化铪层等的高k介电层。
导电材料5233可作为栅或控制栅。即,栅或控制栅5233、阻断介电层5119、电荷存储层5118、隧穿介电层5117和主体5114可形成晶体管或存储器单元晶体管结构。例如,第一子介电层5117、第二子介电层5118和第三子介电层5119可形成氧化物-氮化物-氧化物(ONO)结构。在实施例中,为方便起见,在每个柱状物5113中的p-型硅的表面层5114将被称为第二方向上的主体。
存储块BLKi可包括多个柱状物5113。即,存储块BLKi可包括多个NAND字符串NS。详细地,存储块BLKi可包括在第二方向上或垂直于基板5111的方向上延伸的多个NAND字符串NS。
每个NAND字符串NS可包括设置在第二方向上的多个晶体管结构TS。每个NAND字符串NS的多个晶体管结构TS中的至少一个可作为字符串源极晶体管SST。每个NAND字符串NS的多个晶体管结构TS中的至少一个可作为接地选择晶体管GST。
栅或控制栅可对应于在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293。换言之,栅或控制栅可在第一方向上延伸,且形成字线和至少一个源极选择线SSL与至少一个接地选择线GSL的至少两个选择线。
在第三方向上延伸的导电材料5331-5333可电联接至NAND字符串NS的一端。在第三方向上延伸的导电材料5331-5333可作为位线BL。即,在一个存储块BLKi中,多个NAND字符串NS可电联接至一个位线BL。
在第一方向上延伸的第二类型掺杂区域5311-5314可被设置至NAND字符串NS的另一端。在第一方向上延伸的第二类型掺杂区域5311-5314可作为共源线CSL。
即,存储块BLKi可包括在垂直于基板5111的方向上延伸的多个NAND字符串NS,且可作为例如电荷捕获类型存储器的NAND闪速存储块,其中多个NAND字符串NS电联接至一个位线BL。
尽管图5-图7中示出了在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293被设置为9层,但应注意的是,在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293不限于设置为9层。例如,在第一方向上延伸的导电材料可设置为8层、16层或任何多个层。换言之,在一个NAND字符串NS中,晶体管的数量可以是8个、16个或更多个。
尽管图5-图7中示出了3个NAND字符串NS被电联接至一个位线BL,但应注意的是,实施例不限于具有被电联接至一个位线BL的3个NAND字符串NS。在存储块BLKi中,m数量的NAND字符串NS可电联接至一个位线BL,m为正整数。根据电联接至一个位线BL的NAND字符串NS的数量,在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293的数量和共源线5311-5314的数量也可被控制。
进一步地,尽管图5-图7中示出了3个NAND字符串NS被电联接至在第一方向上延伸的一个导电材料,但应注意的是,实施例不限于具有被电联接至在第一方向上延伸的一个导电材料的3个NAND字符串NS。例如,n数量的NAND字符串NS可被电联接至在第一方向上延伸的一个导电材料,n为正整数。根据被电联接至在第一方向上延伸的一个导电材料的NAND字符串NS的数量,位线5331-5333的数量也可被控制。
图8是示出参照图5-图7所述的具有第一结构的存储块BLKi的等效电路图。
参照图8,在具有第一结构的块BLKi中,NAND字符串NS11-NS31可设置在第一位线BL1和共源线CSL之间。第一位线BL1可对应于图5和图6的在第三方向上延伸的导电材料5331。NAND字符串NS12-NS32可设置在第二位线BL2和共源线CSL之间。第二位线BL2可对应于图5和图6的在第三方向上延伸的导电材料5332。NAND字符串NS13-NS33可设置在第三位线BL3和共源线CSL之间。第三位线BL3可对应于图5和图6的在第三方向上延伸的导电材料5333。
每个NAND字符串NS的源极选择晶体管SST可电联接至对应的位线BL。每个NAND字符串NS的接地选择晶体管GST可电联接至共源线CSL。存储器单元MC可以设置在每个NAND字符串NS的源极选择晶体管SST和接地选择晶体管GST之间。
在该示例中,NAND字符串NS可由行和列的单元定义,且电联接至一个位线的NAND字符串NS可形成一列。电联接至第一位线BL1的NAND字符串NS11-NS31可对应于第一列,电联接至第二位线BL2的NAND字符串NS12-NS32可对应于第二列,并且电联接至第三位线BL3的NAND字符串NS13-NS33可对应于第三列。电联接至一个源极选择线SSL的NAND字符串NS可形成一行。电联接至第一源极选择线SSL1的NAND字符串NS11-NS31可形成第一行,电联接至第二源极选择线SSL2的NAND字符串NS21-NS23可形成第二行,并且电联接至第三源极选择线SSL3的NAND字符串NS31-NS33可形成第三行。
在每个NAND字符串NS中,可定义高度。在每个NAND字符串NS中,邻近接地选择晶体管GST的存储器单元MC1的高度可具有值“1”。在每个NAND字符串NS中,当从基板5111被测量时,存储器单元的高度可随着存储器单元靠近源极选择晶体管SST而增加。在每个NAND字符串NS中,邻近源极选择晶体管SST的存储器单元MC6的高度可以是7。
在相同行中的NAND字符串NS的源极选择晶体管SST可共享源极选择线SSL。在不同行中的NAND字符串NS的源极选择晶体管SST可分别电联接至不同的源极选择线SSL1、SSL2和SSL3。
相同行中的NAND字符串NS中的相同高度处的存储器单元可共享字线WL。即,在相同高度处,电联接至不同行中的NAND字符串NS的存储器单元MC的字线WL可被电联接。相同行的NAND字符串NS中的相同高度处的虚拟存储器单元DMC可共享虚拟字线DWL。即,在相同高度或水平处,电联接至不同行中的NAND字符串NS的虚拟存储器单元DMC的虚拟字线DWL可被电联接。
位于相同水平或高度或层处的字线WL或虚拟字线DWL可在可设置在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293的层处彼此电联接。在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293可通过接触部共同电联接至上层。在上层处,在第一方向上延伸的导电材料5211-5291、5212-5292和5213-5293可被电联接。换言之,在相同行中的NAND字符串NS的接地选择晶体管GST可共享接地选择线GSL。进一步地,在不同行中的NAND字符串NS的接地选择晶体管GST可共享接地选择线GSL。即,NAND字符串NS11-NS13、NS21-NS23和NS31-NS33可电联接至接地选择线GSL。
共源线CSL可电联接至NAND字符串NS。在有源区域(active region)上方和在基板5111上方,第一至第四掺杂区域5311-5314可被电联接。第一至第四掺杂区域5311-5314可通过接触部电联接至上层,且在上层处,第一至第四掺杂区域5311-5314可被电联接。
即,如图8中所示,相同高度或水平的字线WL可被电联接。因此,当位于特定高度处的字线WL被选择时,电联接至字线WL的所有NAND字符串NS可被选择。在不同行中的NAND字符串NS可电联接至不同源极选择线SSL。因此,在电联接至相同字线WL的NAND字符串NS中,通过选择源极选择线SSL1-SSL3中的一个,未选择的行中的NAND字符串NS可与位线BL1-BL3电隔离。换言之,通过选择源极选择线SSL1-SSL3中的一个,NAND字符串NS的行可被选择。此外,通过选择位线BL1-BL3中的一个,所选择的行中的NAND字符串NS可在列的单元中被选择。
在每个NAND字符串NS中,可设置虚拟存储器单元DMC。在图8中,虚拟存储器单元DMC可在每个NAND字符串NS中被设置在第三存储器单元MC3和第四存储器单元MC4之间。即,第一至第三存储器单元MC1-MC3可设置在虚拟存储器单元DMC和接地选择晶体管GST之间。第四至第六存储器单元MC4-MC6可设置在虚拟存储器单元DMC和源极选择晶体管SSL之间。每个NAND字符串NS的存储器单元MC可被虚拟存储器单元DMC划分成存储器单元组。在划分的存储器单元组中,邻近接地选择晶体管GST的存储器单元例如MC1-MC3可被称为下部存储器单元组,且邻近字符串选择晶体管SST的存储器单元例如MC4-MC6可被称为上部存储器单元组。
在下文中,将参照图9-图11做出详细说明,图9-图11示出根据利用不同于第一结构的3D非易失性存储器装置实现的实施例的存储器***中的存储器装置。
图9是示意性说明利用3D非易失性存储器装置来实现的存储装置以及示出图4的多个存储块的存储块BLKj的立体图,其中3D非易失性存储器装置不同于上文参照图5-图8所述的第一结构。图10是沿图9的线VII-VII'截取的存储块BLKj的截面图。
参照图9和图10,存储块BLKj可包括在第一至第三方向上延伸的结构。
可以设置基板6311。例如,基板6311可包括掺杂有第一类型杂质的硅材料。例如,基板6311可包括掺杂有p-型杂质的硅材料或可以是p-型阱,例如袋p-阱,且包括围绕p-型阱的n-型阱。尽管为了方便在描述的实施例中假定基板6311为p-型硅,但应注意的是,基板6311不限于为p-型硅。
在x轴方向和y轴方向上延伸的第一至第四导电材料6321-6324可被设置在基板6311上方。第一至第四导电材料6321-6324可在z轴方向上分开预定距离。
在x轴方向和y轴方向上延伸的第五至第八导电材料6325-6328可设置在基板6311上方。第五至第八导电材料6325-6328可在z轴方向上分开预定距离。第五至第八导电材料6325-6328可在y轴方向上与第一至第四导电材料6321-6324分开。
多个下部柱状物DP可穿过第一至第四导电材料6321-6324。每个下部柱状物DP可在z轴方向上延伸。而且,多个上部柱状物UP可穿过第五至第八导电材料6325-6328。每个上部柱状物UP可在z轴方向上延伸。
下部柱状物DP和上部柱状物UP中的每个可包括内部材料6361、中间层6362和表面层6363。中间层6362可用作单元晶体管的通道。表面层6363可包括阻断介电层、电荷存储层和隧穿介电层。
下部柱状物DP和上部柱状物UP可通过管栅PG电联接。管栅PG可被设置在基板6311中。例如,管栅PG可包括与下部柱状物DP和上部柱状物UP采用的材料相同的材料。
在x轴方向和y轴方向上延伸的第二类型的掺杂材料6312可设置在下部柱状物DP上方。例如,第二类型的掺杂材料6312可包括n-型硅材料。第二类型的掺杂材料6312可用作共源线CSL。
漏极6340可设置在上部柱状物UP上方。漏极6340可包括n-型硅材料。在y轴方向上延伸的第一上部导电材料6351和第二上部导电材料6352可设置在漏极6340上方。
第一上部导电材料6351和第二上部导电材料6352可在x轴方向上分开。第一上部导电材料6351和第二上部导电材料6352可由金属形成。第一上部导电材料6351、第二上部导电材料6352和漏极6340可通过接触插塞电联接。第一上部导电材料6351和第二上部导电材料6352可分别作为第一位线BL1和第二位线BL2。
第一导电材料6321可作为源极选择线SSL,第二导电材料6322可作为第一虚拟字线DWL1,并且第三导电材料6323和第四导电材料6324可分别作为第一主字线MWL1和第二主字线MWL2。第五导电材料6325和第六导电材料6326可分别作为第三主字线MWL3和第四主字线MWL4,第七导电材料6327可作为第二虚拟字线DWL2,并且第八导电材料6328可作为漏极选择线DSL。
下部柱状物DP和邻近下部柱状物DP的第一至第四导电材料6321-6324可形成下部字符串。上部柱状物UP和邻近上部柱状物UP的第五至第八导电材料6325-6328可形成上部字符串。下部字符串和上部字符串可通过管栅PG电联接。下部字符串的一端可电联接至作为共源线CSL的第二类型的掺杂材料6312。上部字符串的一端可通过漏极6340电联接至对应的位线。一个下部字符串和一个上部字符串可以形成一个单元字符串,其电联接在作为共源线CSL的第二类型的掺杂材料6312和作为位线BL的上部导电材料层6351-6352中的对应的一个之间。
即,下部字符串可包括源极选择晶体管SST、第一虚拟存储器单元DMC1、第一主存储器单元MMC1和第二主存储器单元MMC2。上部字符串可包括第三主存储器单元MMC3、第四主存储器单元MMC4、第二虚拟存储器单元DMC2和漏极选择晶体管DST。
在图9和图10中,上部字符串和下部字符串可形成NAND字符串NS,且NAND字符串NS可包括多个晶体管结构TS。由于上文参照图7详细地描述了包括在图9和图10中的NAND字符串NS中的晶体管结构,所以在此将省略其详细说明。
图11是示出如上参照图9和图10所述的具有第二结构的存储块BLKj的等效电路的电路图。为方便起见,仅示出形成第二结构的存储块BLKj中的一对的第一字符串和第二字符串。
参照图11,在存储器装置150的多个块中的具有第二结构的存储块BLKj内,单元字符串可以定义多个对的这种方式来设置,其中,单元字符串中的每个都利用如上参照图9和图10所述的通过管栅PG电联接的一个上部字符串和一个下部字符串来实现。
即,在具有第二结构的特定存储块BLKj中,沿第一通道CH1(未示出)堆叠的存储器单元CG0-CG31,例如,至少一个源极选择栅SSG1和至少一个漏极选择栅DSG1,可形成第一字符串ST1,并且沿第二通道CH2(未示出)堆叠的存储器单元CG0-CG31,例如,至少一个源极选择栅SSG2和至少一个漏极选择栅DSG2,可形成第二字符串ST2。
第一字符串ST1和第二字符串ST2可电联接至相同漏极选择线DSL和相同源极选择线SSL。第一字符串ST1可电联接至第一位线BL1,且第二字符串ST2可电联接至第二位线BL2。
尽管图11中描述了第一字符串ST1和第二字符串ST2可被电联接至相同漏极选择线DSL和相同源极选择线SSL,但是可以设想不同的布局。例如,在实施例中,第一字符串ST1和第二字符串ST2可电联接至相同源极选择线SSL和相同位线BL,第一字符串ST1可电联接至第一漏极选择线DSL1,并且第二字符串ST2可电联接至第二漏极选择线DSL2。进一步地,可想到第一字符串ST1和第二字符串ST2可电联接至相同漏极选择线DSL和相同位线BL,第一字符串ST1可电联接至第一源极选择线SSL1,并且第二字符串ST2可电联接至第二源极选择线。
下文,将参照图12至图14更详细地描述处理数据至根据本发明的一个实施例的存储器***中的存储器装置的操作,例如,响应于从主机102接收的命令将命令数据处理至存储器装置150的操作。
图12和图13是示出根据本发明的一个实施例的存储器***的数据处理操作的简图。下文,为了简化,作为示例,假定图1中所示的存储器***110处理与从主机102接收的命令相对应的命令数据,并且对存储器装置150执行命令操作。即,存储器***110可以将对应于写入命令的写入数据写入并存储到包括在存储器装置150中的多个存储块中。存储器***110也可以更新对应于存储在多个存储块中的写入数据的映射数据,并且将更新的映射数据存储到多个存储块中。例如,存储器***110可以将对应于主机102接收的写入命令的写入数据存储在从存储器装置的多个存储块中选择的第一存储块中,并且可以将更新的映射数据存储到从存储器装置的多个存储块中选择的第二存储块中。第一存储块和第二存储块可以是相同或不同的存储块。在一个实施例中,第一存储块和第二存储块是不同的存储块。
此外,将描述由控制器130执行存储器***110的数据处理操作作为示例。如上所述,例如,包括在控制器130中的处理器134可以通过FTL执行数据处理操作。控制器130可以是存储器***110的主要部分。
当控制器130执行对应于从主机102接收的命令的写入操作时,控制器130可以检查对应于写入操作的映射数据。例如,映射数据可以包括包含L2P(逻辑到物理)信息(下文称为“逻辑信息”)的第一映射数据和包含P2L(物理到逻辑)信息(下文称为“物理信息”)的第二映射数据。控制器130可以更新映射数据,并且将更新的映射数据存储在存储器装置150的一个或多个存储块中。然后,当控制器130执行对应于从主机102接收的命令的写入或者读取操作时,控制器130可以检查并更新已存储在存储器装置150的存储块中的映射数据,并且执行写入或者读取操作或者处理与从主机102接收的命令相对应的命令数据。
在本发明的一个实施例中,当控制器130从主机102接收写入命令时,控制器130可以将对应于写入命令的用户数据写入并存储到存储器装置150的例如用户数据块的存储块中的开放块或自由块中,并且将对应于用户数据的第一映射数据和第二映射数据更新并存储在存储器装置150的例如映射块的存储块中的开放块或自由块中。第一映射数据可以包括包含关于已存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息即逻辑信息的L2P映射表,并且第二映射数据可以包括包含关于用户数据存储在其中的存储块的物理地址和逻辑地址之间的映射信息即物理信息的P2L映射表。
具体地,当从主机102接收写入命令时,控制器130可以将对应于写入命令的用户数据写入并存储到用户存储块中,并且将关于用户数据的第一映射数据和第二映射数据存储到映射存储块中。此时,控制器130也可以针对第一映射数据的每个逻辑片段(L2P片段)对包含第二映射数据的物理信息的物理片段(例如,P2L片段)进行排序。然后,控制器130可以形成针对每个逻辑片段的排序的物理片段的条目、树、链接或哈希表。此外,因为对应于写入命令的用户数据存储在存储块中,所以控制器130可以形成针对用户数据的每个逻辑片段的排序的物理片段的条目、树、链接或哈希表,并且生成逻辑片段列表,例如,L2P写入片段列表。然后,控制器130可将生成的逻辑片段列表存储在包括在控制器130中的存储器144(下文也称为控制器存储器)中,例如,存储在存储器144的映射缓冲器或者映射缓存中。
在逻辑片段列表中,包含写入的用户数据的存储块的物理信息的物理片段(例如,P2L片段)可以根据用户数据的写入操作针对包含写入的用户数据的逻辑信息的每个逻辑片段(例如,L2P片段)排序。可以包括对应于每个逻辑片段的排序的物理片段的条目、树、链接或哈希表。即,逻辑片段列表可以包括关于其中形成物理片段的条目的逻辑片段的列表信息。对应于每个逻辑片段的物理片段可以物理片段的逻辑地址顺序针对逻辑片段排序,并且可以形成逻辑片段中排序的物理片段之间的条目、树、链接或哈希表。
在本发明的一个实施例中,当控制器130从主机102接收命令并且执行与接收的命令相对应的命令操作时,控制器130可以通过存储在控制器130的存储器144中的第一映射数据的逻辑片段的逻辑片段列表,检查第一映射数据和第二映射数据。具体地,当为了检查与命令相对应的命令数据的映射数据而将存储在存储器装置150的存储块中的映射块中的第一映射数据和第二映射数据载入至控制器130的存储器144时,控制器130可以通过逻辑片段列表检查对应于第一映射数据的第二映射数据。因此,不需要在载入至控制器130的存储器144的第二映射数据中进行对应于命令数据的第一映射数据的物理信息的扫描操作。
即,在存储在存储器装置150的存储块中的第一映射数据的逻辑片段载入至控制器130的存储器144之后,通过存储在控制器130的存储器144中的逻辑片段列表,控制器130可以检查已载入到控制器130的存储器144的第一映射数据的逻辑片段的物理片段的条目。物理片段的条目可以形成在逻辑片段列表中的各个逻辑片段中。因此,控制器130可以快速并准确地检查对应于命令数据的第一映射数据的逻辑片段的物理片段,或者快速并准确地检查对应于命令数据的第一映射数据的第二映射数据。因此,与从主机102接收的命令相对应的命令操作可以比利用现有存储器***更快速地执行。因此,根据本发明的一个实施例的存储器***110可以比现有存储器***更快速地对存储器装置150执行数据处理操作。
例如,当控制器130从主机102接收写入命令并执行对应于写入命令的写入操作时,控制器130可以将对应于写入命令的写入数据写入并存储至存储器装置150的多个存储块的用户数据块的开放块中。当控制器130更新对应于写入操作的映射数据时,控制器130可以检查逻辑片段列表,并且检查存储在存储器装置150的存储块的映射块中的第一映射数据的逻辑片段中待更新的逻辑片段。然后,控制器130可以将待更新的逻辑片段载入到控制器130的存储器144、检查关于载入的第一映射数据的逻辑片段的逻辑片段列表中的物理片段的条目并且更新对应于写入操作的第一映射数据。此外,控制器130可以利用通过写入操作配置的逻辑片段列表,更新存储在存储器装置150的存储块中的映射块中的第二映射数据。如上所述,在逻辑片段列表中,包含写入的用户数据的存储块的物理信息的物理片段(例如,P2L片段)可以根据写入操作针对包含写入的用户数据的逻辑信息的每个逻辑片段(例如,L2P片段)排序,并且可以包括对应于每个逻辑片段的排序的物理片段的条目、树、链接或哈希表。
因此,为了检查需要更新的对应于第一映射数据的逻辑片段的物理片段,控制器130可不需要对与第一映射数据的逻辑片段对应的第二映射数据的物理片段的扫描操作。在通过逻辑片段列表检查第一映射数据的逻辑片段后,控制器130可以检查逻辑片段列表中需要更新的形成在第一映射数据的逻辑片段中的物理片段的条目、树、链接或哈希表,使得快速并准确地检查需要更新的对应于第一映射数据的逻辑片段的物理片段。特别地,当控制器130更新对应于写入操作的映射数据时,控制器130不需要对第二映射数据的对应于从存储器装置150的存储块中的映射块载入至控制器130的存储器144的第一映射数据的各个片段的片段进行扫描操作。因此,可以快速地执行对应于写入操作的映射数据的更新。
此外,当控制器130从主机102接收读取命令并且执行对应于读取命令的读取操作时,控制器130可以通过逻辑片段列表检查关于对应于读取命令的读取数据的第一映射数据的逻辑片段,检查形成在已检查的逻辑片段中的物理片段的条目,并且检查关于读取数据的第二映射数据的物理片段,即,读取数据的物理信息。因此,控制器130可以读取存储在存储器装置150的存储块中的用户数据块中的数据,并且将对应于读取命令的读取数据提供给主机102。在本发明的实施例中,控制器130可以通过逻辑片段列表检查关于对应于读取命令的读取数据的最近写入更新信息。即,控制器130可以检查关于读取数据的第一映射数据的逻辑片段以及第二映射数据的对应物理片段,即,读取数据的物理信息。
因此,控制器130可以通过逻辑片段列表快速并准确地检查作为关于读取数据的最近写入更新信息的对应于读取数据的逻辑片段的物理片段。特别地,即使当用于扫描存储在存储器装置150的存储块中的映射块中的第二映射数据的物理片段的扫描操作的数量最小化时,控制器130可以检查对应于读取数据的逻辑片段的物理片段,即物理信息,由此快速地检查关于对应于读取操作的读取数据的映射数据。下文,将参照图12和图13更详细地描述根据本发明的实施例的存储器***。
参照图12和图13,控制器130可以将与从主机102接收的例如写入命令的命令相对应的写入数据写入并存储到存储器装置150的存储块中的用户数据块1300的开放块1310-1330中,并且根据对用户数据块1300的写入操作,控制器130可以将写入数据的映射数据更新并存储到存储器装置的存储块中的映射块1350的开放块1360-1380中。
更具体地,控制器130可以将对应于从主机102接收的写入命令的写入数据,例如具有逻辑地址100、200、300、301、302、2000和2010的数据(下文分别称为数据100、数据200、数据300、数据301、数据302、数据2000和数据2010),写入到存储器装置150的用户数据块1300,例如,包括在用户数据块1300中的开放块1310-1330中的第一开放块1310中。
例如,描述了将数据100至数据2010写入并存储在包括于存储器装置150的用户数据块1300中的开放块1310-1330中的第一开放块1310的各个页面即页面_0-页面_6中。
即,控制器130可以将对应于从主机102接收的写入命令的写入数据即数据100、数据200、数据300、数据301、数据302、数据2000和数据2010分别写入至包括于存储器装置150的存储块中的用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0-页面_6。此外,控制器130可以将对应于写入操作的映射数据更新并存储到存储器装置150的存储块中的映射块1350的开放块1360-1380中。换言之,控制器130可以将对应于写入操作的第一映射数据的逻辑片段L2P_片段存储在第一开放块1360和第二开放块1370中,并且将对应于写入操作的第二映射数据的物理片段P2L_片段存储在第三开放块1380中。
此外,当控制器130执行对应于从主机102接收的写入命令的写入操作使得数据100、数据200、数据300、数据301、数据302、数据2000和数据2010被写入至用户数据块1300的第一开放块1310的第一页面至第七页面即页面_0-页面_6时,包含关于用户数据块1300的第一开放块1310的物理信息的第二映射数据的物理片段可以存储在包括于控制器130的存储器144中的映射块1210的开放块1212、1214和1216中。
更具体地,当数据100、数据200、数据300、数据301、数据302、数据2000和数据2010被写入至用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0-页面_6时,包含对应于写入操作的物理信息的第二映射数据的物理片段可以存储在包括于控制器130的存储器144中的映射块1210的第一开放块1212中。此时,指示数据100被写入至存储器装置150的用户数据块1300的第一开放块1310的第一页面即页面_0的物理片段100(1220)可以存储在包括于控制器130的存储器144中的映射块1210的第一开放块1212中。相似地,物理片段200(1222)、300(1224)、301(1226)、302(1228)、2000(1230)和2010(1232)可以存储在包括于控制器130的存储器144中的映射块1210的第一开放块1212中。
此外,当包括在第一映射数据中的逻辑片段之间设定预定的逻辑地址偏移或者包括在第一映射数据中的逻辑片段之间具有预定的逻辑地址偏移时,关于写入至用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0-页面_6的数据100、数据200、数据300、数据301、数据302、数据2000和数据2010的逻辑信息可以基于逻辑地址偏移包含在第一映射数据的对应的逻辑片段中。下文,为了简单说明,作为实例,将描述包括在第一映射数据中的逻辑片段之间的逻辑地址偏移为2000。
即,当包括在第一映射数据中的逻辑片段之间的逻辑地址偏移为2000时,关于写入至用户数据块1300的第一开放块1310的第一页面至第五页面即页面_0-页面_4的数据100、数据200、数据300、数据301和数据302的逻辑信息可以包含在第一映射数据的第一逻辑片段0例如逻辑片段L2PSeg_0中,并且关于写入至用户数据块1300的第一开放块1310中的第六页面和第七页面即页面_5和页面_6的数据2000和数据2010的逻辑信息可以包含在第一映射数据的第二逻辑片段例如逻辑片段L2PSeg_1中。
此外,当数据100、数据200、数据300、数据301、数据302、数据2000和数据2010被写入至用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0-页面_6时,控制器130可以针对第一映射数据的每个逻辑片段对与写入操作对应的物理片段排序,通过形成针对每个逻辑片段排序的物理片段之间的条目、树、链接或哈希表而构建逻辑片段列表1240,并且将逻辑片段列表1240存储在包括于控制器130中的存储器144例如存储器144的映射缓冲器或者映射缓存中。
例如,控制器130可以针对存储在包括于存储器144中的映射块1210的第一开放块1212中的物理片段中的第一映射数据的第一逻辑片段对物理片段排序,即,以逻辑地址顺序针对逻辑片段L2PSeg_0对物理片段100(1220)、物理片段200(1222)、物理片段300(1224)、物理片段301(1226)和物理片段302(1228)排序,并且随后通过形成排序的物理片段即针对逻辑片段L2PSeg_0排序的P2L片段1250、1252、1254、1256和1258之间的条目、树、链接或哈希表配置逻辑片段列表1240的第一逻辑片段列表1242。此时,控制器130可构建逻辑片段列表1240,使得对于第一逻辑片段列表1242的逻辑片段L2PSeg_0,第一至第五P2L片段1250、1252、1254、1256和1258对应于物理片段100(1220)、200(1222)、300(1224)、301(1226)和302(1228)。
此外,控制器130可以针对存储在包括于存储器144中的映射块1210的第一开放块1212中的物理片段中的第一映射数据的第二逻辑片段对物理片段排序,即,以逻辑地址顺序针对逻辑片段L2PSeg_1对物理片段2000(1230)和物理片段2010(1232)排序。然后,控制器130可以通过形成排序的物理片段即针对逻辑片段L2PSeg_1排序的P2L片段1260和1262之间的条目、树、链接或哈希表配置逻辑片段列表1240的第一逻辑片段列表1242。此时,控制器130可以配置逻辑片段列表1240,使得对于第一逻辑片段列表1242中的逻辑片段L2PSeg_1,第一P2L片段1260对应于物理片段2000(1230)并且第二P2L片段1262对应于物理片段2010(1232)。
此外,逻辑片段列表1240可以具有包括指示对应于对存储器装置150的用户数据块1300的写入操作的逻辑片段的信息的标头(header)区域。可以针对对应于包括在标头区域中的指示信息的每个逻辑片段排序物理片段,并且P2L条目可以形成在设定到排序的物理片段的节点中。此时,其中形成P2L条目的节点可以包括排序的物理片段之间的物理偏移。
此外,当数据100、数据200、数据300、数据301、数据302、数据2000和数据2010被写入至用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0-页面_6时,控制器130可以根据写入操作更新已存储在存储器装置150的映射块1350的第一开放块1360和第二开放块1370中的第一映射数据。为了更新第一映射数据,控制器130可以检查根据写入操作需要更新的第一映射数据的逻辑片段,并且将存储在第一开放块1360和第二开放块1370中的第一映射数据的逻辑片段载入至控制器130的存储器144,例如包括在控制器130的存储器144中的映射缓冲器或者映射缓存。
此时,控制器130可以通过逻辑片段列表1240检查需要更新的第一映射数据的逻辑片段。例如,控制器130可以通过第一逻辑片段列表1242检查作为需要更新的逻辑片段的逻辑片段L2PSeg_0和L2PSeg_1,并且将逻辑片段从存储器装置150的映射块1350载入至控制器130的存储器144。
更具体地,当数据100、数据200、数据300、数据301、数据302、数据2000和数据2010被写入至用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0-页面_6时,为了更新对应于数据100、数据200、数据300、数据301、数据302、数据2000和数据2010的第一映射数据,控制器130可以检查已存储在第一开放块1360和第二开放块1370中的第一映射数据的逻辑片段中对应于数据100、数据200、数据300、数据301、数据302、数据2000和数据2010的逻辑片段。
即,控制器130可以检查关于数据100、数据200、数据300、数据301和数据302的逻辑信息包含在第一映射数据的第一逻辑片段例如逻辑片段L2PSeg_0中,并且关于数据2000和数据2010的逻辑信息包含在第一映射数据的第二逻辑片段例如逻辑片段L2PSeg_1中。因此,为了更新关于数据100、数据200、数据300、数据301和数据302的第一映射数据,控制器130可以向存储器144载入逻辑片段L2P_Seg0(1270),并且为了更新关于数据2000和数据2010的第一映射数据,控制器130可以向存储器144载入逻辑片段L2P_Seg1(1290)。
此时,由于如上所述逻辑片段之间的逻辑地址偏移为2000,所以从存储器装置150的映射块1350载入控制器130的存储器144的逻辑片段L2P_Seg0(1270)可以包括指示对应于逻辑地址0-1999的物理地址的逻辑/物理地址表(1272/1274),并且从存储器装置150的映射块1350载入控制器130的存储器144的逻辑片段L2P_Seg1(1290)可以包括指示对应于逻辑地址2000-3999的物理地址的逻辑/物理地址表(1292/1294)。
此时,为了更新已载入存储器144的逻辑片段L2P_Seg0(1270),控制器130可以不扫描已存储在存储器144的映射块1210中的对应于逻辑片段L2P_Seg0(1270)的物理片段,而是检查逻辑片段列表1240中针对逻辑片段L2PSeg_0的其中形成有条目、树、链接或哈希表的P2L片段1250、1252、1254、1256和1258。即,在不扫描存储在存储器144的映射块1210中的针对载入至存储器144的逻辑片段L2P_Seg0(1270)的物理片段的情况下,控制器130可以检查逻辑片段列表1240中的逻辑片段L2PSeg_0的P2L片段1250、1252、1254、1256和1258,由此检查针对逻辑片段L2P_Seg0(1270)的物理片段。
控制器130可以更新已载入至控制器130的存储器144的逻辑片段L2P_Seg0(1270)中的P2L片段1250、1252、1254、1256和1258。即,控制器130可以更新已载入至控制器130的存储器144的逻辑片段L2P_Seg0(1270)中的逻辑/物理地址100/0(1276)、逻辑/物理地址200/1(1278)、逻辑/物理地址300/2(1280)、逻辑/物理地址301/3(1282)和逻辑/物理地址302/4(1284)。
此外,为了更新已载入至存储器144的逻辑片段L2P_Seg1(1290),控制器130可以不扫描存储在存储器144的映射块1210中的对应于逻辑片段L2P_Seg1(1290)的物理片段,而是检查逻辑片段列表1240中针对逻辑片段L2PSeg_1的其中形成有的条目、树、链接或哈希表的P2L片段1260和1262。即,在不扫描存储在存储器144的映射块1210中的针对载入至存储器144的逻辑片段L2P_Seg1(1290)的物理片段的情况下,控制器130可以检查逻辑片段列表1240中的逻辑片段L2PSeg_1的P2L片段1260和1262,由此检查针对逻辑片段L2P_Seg1(1290)的物理片段。
控制器130可以更新已载入至控制器130的存储器144的逻辑片段L2P_Seg1(1290)中的P2L片段1260和1262,或者更新已载入至控制器130的存储器144的L2P_Seg1(1290)中的逻辑/物理地址2000/5(1296)和逻辑/物理地址2010/6(1298)。
此外,当数据100、数据200、数据300、数据301、数据302、数据2000和数据2010被写入至用户数据块1300的第一开放块1310中的第一页面至第七页面即页面_0–页面_6时,控制器130可以更新对应于数据100、数据200、数据300、数据301、数据302、数据2000和数据2010的第一映射数据,并且然后将更新的第一映射数据存储在存储器装置150的映射块1350中。此外,由于第二映射数据的物理片段存储在控制器130的存储器144中,控制器130可以将第二映射数据存储在存储器装置150的映射块1350中。
根据本发明的实施例,当存储器***将对应于从主机102接收的写入命令的数据写入并存储在存储器装置150的存储块中时,存储器***可以针对关于写入的数据的每个逻辑片段对物理片段排序,并通过形成针对每个逻辑片段排序的物理片段之间的条目、树、链接或哈希表来构建逻辑片段列表。当更新关于写入的数据的映射数据例如第一映射数据时,存储器***可以通过逻辑片段列表快速地检查需要更新的第一映射数据的逻辑片段以及针对逻辑片段的物理片段。具体地,存储器***可以通过逻辑片段列表快速地检查针对逻辑片段的物理片段,而不扫描物理片段。此外,甚至在用于从主机102接收的读取命令的读取操作期间,存储器***可以通过逻辑片段列表快速地检查针对读取数据的逻辑片段的物理片段。现在,参照图14,将更详细地描述根据本发明的实施例的存储器***的数据处理操作。
图14是示出根据本发明的一个实施例的存储器***的数据处理操作的流程图。
参照图14,在步骤1410中,存储器***可以从主机接收命令,例如,写入命令。在步骤1420中,存储器***可以将对应于写入命令的写入数据存储在包括于存储器装置中的存储块中,例如,用户数据块的开放块中。
此时,存储器***可以根据对存储器装置的用户数据块的写入操作,针对写入数据的每个逻辑片段对物理片段排序。然后,存储器***可以构建具有形成在排序的物理片段之间的条目、树、链接或哈希表的逻辑片段列表,并且将逻辑片段列表存储在控制器的存储器中。
在步骤1430中,存储器***可以根据对存储器装置的用户数据块的写入操作,检查需要更新的第一映射数据的逻辑片段,并且更新第一映射数据的逻辑片段。
然后,在步骤1440中,存储器***可以将更新的映射数据存储在包括在存储器装置中的存储块中,例如映射块的开放块中。
由于已经参照图12和图13详细地描述了对应于从主机接收的写入命令的写入数据的存储操作、对应于写入数据的存储的逻辑片段列表的构建操作、使用逻辑片段列表更新和存储映射数据的操作以及使用逻辑片段列表的读取操作,因此在此省略其详细说明。
根据本发明的实施例,存储器***及其操作方法可以更快速且稳定地将数据处理至存储器装置。
尽管为了说明的目的已经描述了各种实施例,但对于本领域技术人员将明显的是,在不脱离如权利要求所限定的本发明的精神和/或范围的情况下可以做出各种改变和变型。
Claims (20)
1.一种存储器***,其包括:
存储器装置,其包括多个存储块,所述多个存储块包括用于存储数据的至少一个第一存储块和用于存储包括第一映射数据和第二映射数据的映射数据的至少一个第二存储块,其中,所述第一映射数据和所述第二映射数据具有彼此相反的关系;以及
控制器,其包括至少一个控制器存储器,所述控制器适于:
将利用来自主机的写入命令输入的多个写入数据存储在所述第一存储块中,并且更新与所述多个写入数据中的每一个相对应的第二映射数据;
其中所述控制器被配置为:
基于所述多个写入数据的第一片段分组所述多个写入数据的第二片段以生成片段列表;
在所述控制器存储器中存储所述片段列表;以及
检查所述片段列表以更新所述第一映射数据。
2.根据权利要求1所述的存储器***,其中所述控制器将来自所述第二存储块的所述第二映射数据的第二片段加载到所述控制器存储器中,并且将存储在所述控制器存储器中的所述第二片段排序到所述第一片段的每个组中。
3.根据权利要求2所述的存储器***,其中所述控制器通过形成所排序的第二片段之间的条目、树、链接和哈希表中的一个或多个,针对所述第一片段的每个组构建所述片段列表。
4.根据权利要求3所述的存储器***,其中当更新存储在所述第二存储块中的所述第一映射数据时,所述控制器通过所述片段列表检查所述第一映射数据的第一片段中需要更新的第三片段。
5.根据权利要求4所述的存储器***,其中所述控制器将所述第三片段载入至所述存储器,并且随后检查所述第三片段和所述片段列表中针对所述第三片段的所排序的第二片段的对应的一个。
6.根据权利要求5所述的存储器***,其中所述控制器更新载入至所述存储器的所述第三片段中的所排序的第二片段的对应的一个,并且随后将所述第三片段存储在所述第二存储块中。
7.根据权利要求3所述的存储器***,其中:
所述片段列表中的所述第一片段之间具有逻辑地址偏移;并且
所述控制器基于所述逻辑地址偏移,针对所述第一片段的每个组排序所述第二片段。
8.根据权利要求2所述的存储器***,其中所述控制器以逻辑地址顺序针对每个所述第一片段排序所述第二片段。
9.根据权利要求1所述的存储器***,其中:
所述第一映射数据包括对应于至所述第一存储块的数据存储的逻辑到物理信息;并且
所述第二映射数据包括对应于至所述第一存储块的所述数据存储的物理到逻辑信息。
10.根据权利要求1所述的存储器***,其中所述控制器通过所述片段列表检查关于对应于从所述主机接收的读取命令的读取数据的逻辑信息和物理信息。
11.一种存储器***的操作方法,其包括:
将数据存储在存储器装置的至少一个第一存储块中;
将包括第一映射数据和第二映射数据的映射数据存储在存储器装置的至少一个第二存储块中,其中,所述第一映射数据和所述第二映射数据具有彼此相反的关系;
利用来自主机的多个写入数据接收写入命令;
将对应于所述写入命令的多个写入数据存储在所述第一存储块中,并且更新对应于所述多个写入数据的每一个的第二映射数据;
基于所述多个写入数据的第一片段分组所述多个写入数据的第二片段分组以生成片段列表;
将所述片段列表存储在控制器存储器中;以及
检查所述片段列表以更新所述第一映射数据。
12.根据权利要求11所述的操作方法,进一步包括:
将来自所述第二存储块的第二映射数据的第二片段加载到所述控制器存储器中,并且将存储在所述控制器存储器中的所述第二片段排序到所述第一片段的每个组中。
13.根据权利要求12所述的操作方法,其中所述片段列表的存储进一步包括:
通过形成所排序的第二片段之间的条目、树、链接和哈希表中的一个或多个,针对所述第一片段的每个组构建所述片段列表。
14.根据权利要求13所述的操作方法,其进一步包括:
利用所述片段列表,通过检查所述第一映射数据的第一片段中需要更新的第三片段,更新存储在所述第二存储块中的所述第一映射数据。
15.根据权利要求14所述的操作方法,其中所述第一映射数据的更新包括:
将所述第三片段载入至所述存储器,并且检查所述第三片段和所述片段列表中针对所述第三片段的所排序的第二片段的对应的一个。
16.根据权利要求15所述的操作方法,其中所述第一映射数据的更新进一步包括:
更新载入至所述存储器的所述第三片段中的所排序的第二片段的对应的一个,并且随后将所述第三片段存储到所述第二存储块中。
17.根据权利要求13所述的操作方法,其中:
所述片段列表中的所述第一片段之间具有逻辑地址偏移;并且
基于所述逻辑地址偏移,针对所述第一片段的每个组排序所述第二片段。
18.根据权利要求12所述的操作方法,其中以逻辑地址顺序针对每个所述第一片段排序所述第二片段。
19.根据权利要求11所述的操作方法,其中:
所述第一映射数据包括对应于至所述第一存储块的数据存储的逻辑到物理信息;并且
所述第二映射数据包括对应于至所述第一存储块的所述数据存储的物理到逻辑信息。
20.根据权利要求11所述的操作方法,其进一步包括:
通过所述片段列表,检查关于对应于从所述主机接收的读取命令的读取数据的逻辑信息和物理信息;以及
使用所检查的逻辑信息和物理信息从所述第一存储块读取所述读取数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150159580A KR20170056765A (ko) | 2015-11-13 | 2015-11-13 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2015-0159580 | 2015-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708757A CN106708757A (zh) | 2017-05-24 |
CN106708757B true CN106708757B (zh) | 2020-12-29 |
Family
ID=58690032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610490742.6A Active CN106708757B (zh) | 2015-11-13 | 2016-06-28 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10168952B2 (zh) |
KR (1) | KR20170056765A (zh) |
CN (1) | CN106708757B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289544B2 (en) * | 2016-07-19 | 2019-05-14 | Western Digital Technologies, Inc. | Mapping tables for storage devices |
KR102666489B1 (ko) * | 2016-09-09 | 2024-05-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11947489B2 (en) | 2017-09-05 | 2024-04-02 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11748203B2 (en) | 2018-01-11 | 2023-09-05 | Robin Systems, Inc. | Multi-role application orchestration in a distributed storage system |
US11582168B2 (en) | 2018-01-11 | 2023-02-14 | Robin Systems, Inc. | Fenced clone applications |
US11392363B2 (en) | 2018-01-11 | 2022-07-19 | Robin Systems, Inc. | Implementing application entrypoints with containers of a bundled application |
US11099937B2 (en) | 2018-01-11 | 2021-08-24 | Robin Systems, Inc. | Implementing clone snapshots in a distributed storage system |
US11023328B2 (en) * | 2018-07-30 | 2021-06-01 | Robin Systems, Inc. | Redo log for append only storage scheme |
US10976938B2 (en) * | 2018-07-30 | 2021-04-13 | Robin Systems, Inc. | Block map cache |
KR20200031924A (ko) * | 2018-09-17 | 2020-03-25 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 스토리지 장치 |
US11036439B2 (en) | 2018-10-22 | 2021-06-15 | Robin Systems, Inc. | Automated management of bundled applications |
US11086725B2 (en) | 2019-03-25 | 2021-08-10 | Robin Systems, Inc. | Orchestration of heterogeneous multi-role applications |
US11256434B2 (en) | 2019-04-17 | 2022-02-22 | Robin Systems, Inc. | Data de-duplication |
KR20200122685A (ko) * | 2019-04-18 | 2020-10-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법 |
US11226847B2 (en) | 2019-08-29 | 2022-01-18 | Robin Systems, Inc. | Implementing an application manifest in a node-specific manner using an intent-based orchestrator |
US11520650B2 (en) | 2019-09-05 | 2022-12-06 | Robin Systems, Inc. | Performing root cause analysis in a multi-role application |
US11249851B2 (en) | 2019-09-05 | 2022-02-15 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11347684B2 (en) | 2019-10-04 | 2022-05-31 | Robin Systems, Inc. | Rolling back KUBERNETES applications including custom resources |
US11113158B2 (en) | 2019-10-04 | 2021-09-07 | Robin Systems, Inc. | Rolling back kubernetes applications |
US11403188B2 (en) | 2019-12-04 | 2022-08-02 | Robin Systems, Inc. | Operation-level consistency points and rollback |
US11108638B1 (en) | 2020-06-08 | 2021-08-31 | Robin Systems, Inc. | Health monitoring of automatically deployed and managed network pipelines |
US11528186B2 (en) | 2020-06-16 | 2022-12-13 | Robin Systems, Inc. | Automated initialization of bare metal servers |
US11740980B2 (en) | 2020-09-22 | 2023-08-29 | Robin Systems, Inc. | Managing snapshot metadata following backup |
US11743188B2 (en) | 2020-10-01 | 2023-08-29 | Robin Systems, Inc. | Check-in monitoring for workflows |
US11271895B1 (en) | 2020-10-07 | 2022-03-08 | Robin Systems, Inc. | Implementing advanced networking capabilities using helm charts |
US11456914B2 (en) | 2020-10-07 | 2022-09-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity with KUBERNETES |
US11750451B2 (en) | 2020-11-04 | 2023-09-05 | Robin Systems, Inc. | Batch manager for complex workflows |
US11556361B2 (en) | 2020-12-09 | 2023-01-17 | Robin Systems, Inc. | Monitoring and managing of complex multi-role applications |
TWI822386B (zh) * | 2022-10-11 | 2023-11-11 | 慧榮科技股份有限公司 | 橋接控制晶片與相關的訊號處理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241472B (zh) * | 2008-03-07 | 2010-12-22 | 威盛电子股份有限公司 | 映射管理方法及*** |
US8516219B2 (en) | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
US9256527B2 (en) * | 2010-07-27 | 2016-02-09 | International Business Machines Corporation | Logical to physical address mapping in storage systems comprising solid state memory devices |
US8417914B2 (en) | 2011-01-06 | 2013-04-09 | Micron Technology, Inc. | Memory address translation |
KR101392174B1 (ko) | 2011-11-09 | 2014-05-09 | 한양대학교 산학협력단 | 소거 대상 블록의 매핑 테이블을 저장하는 플래시 메모리 제어장치 및 방법 |
CN103324581B (zh) * | 2012-03-23 | 2016-02-10 | 群联电子股份有限公司 | 编程存储单元与数据读取方法、存储器控制器与储存装置 |
KR102072449B1 (ko) * | 2012-06-01 | 2020-02-04 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법 |
CN103530062B (zh) * | 2012-07-03 | 2016-12-21 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
TWI514140B (zh) * | 2013-02-05 | 2015-12-21 | Via Tech Inc | 非揮發性記憶裝置及其操作方法 |
US9218279B2 (en) * | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
CN104102585B (zh) * | 2013-04-03 | 2017-09-12 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
-
2015
- 2015-11-13 KR KR1020150159580A patent/KR20170056765A/ko unknown
-
2016
- 2016-04-11 US US15/096,119 patent/US10168952B2/en active Active
- 2016-06-28 CN CN201610490742.6A patent/CN106708757B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106708757A (zh) | 2017-05-24 |
KR20170056765A (ko) | 2017-05-24 |
US20170139645A1 (en) | 2017-05-18 |
US10168952B2 (en) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708757B (zh) | 存储器***及其操作方法 | |
US10185516B2 (en) | Memory system for re-ordering plural commands and operating method thereof | |
CN105989885B (zh) | 存储***及其操作方法 | |
CN106909521B (zh) | 存储器***及其操作方法 | |
CN105608015B (zh) | 存储***及其操作方法 | |
CN105739914B (zh) | 数据处理***及其操作方法 | |
CN106708744B (zh) | 存储***和存储***的操作方法 | |
US20170147246A1 (en) | Memory system and operating method thereof | |
CN106710615B (zh) | 存储器***和存储器***的操作方法 | |
US9940063B2 (en) | Memory system and operating method thereof | |
CN106776352B (zh) | 存储器***和存储器***的操作方法 | |
US10146480B2 (en) | Memory system and operating method of memory system | |
CN106960679B (zh) | 存储器***及存储器***的操作方法 | |
CN106910521B (zh) | 存储器***及其操作方法 | |
CN106775444B (zh) | 存储器***及其操作方法 | |
CN106802770B (zh) | 存储器***及其操作方法 | |
US9754675B2 (en) | Memory system and operation method thereof | |
CN106933506B (zh) | 存储器***及存储器***的操作方法 | |
CN106935264B (zh) | 存储器***及其操作方法 | |
CN106933505B (zh) | 存储器***及其操作方法 | |
CN106775443B (zh) | 存储器***及其操作方法 | |
CN106775441B (zh) | 存储器*** | |
CN106126437B (zh) | 存储*** | |
US10558632B2 (en) | Data processing system | |
CN106407133B (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 |