CN106897025A - 数据处理系统及其操作方法 - Google Patents

数据处理系统及其操作方法 Download PDF

Info

Publication number
CN106897025A
CN106897025A CN201610616614.1A CN201610616614A CN106897025A CN 106897025 A CN106897025 A CN 106897025A CN 201610616614 A CN201610616614 A CN 201610616614A CN 106897025 A CN106897025 A CN 106897025A
Authority
CN
China
Prior art keywords
node
data
information
storage areas
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610616614.1A
Other languages
English (en)
Other versions
CN106897025B (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
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN106897025A publication Critical patent/CN106897025A/zh
Application granted granted Critical
Publication of CN106897025B publication Critical patent/CN106897025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种数据处理系统,其可以包括:主机,其适于通过平衡树结构管理多个数据,在该平衡树结构中,每个节点被设定为预定容量,其中数据的每个包含关于该数据所位于的节点的信息来作为节点信息;以及存储器系统,其具有每个与预定容量对应的多个物理存储区域,并且存储器系统适于基于在主机应用的数据中的每一个数据中包含的节点信息来收集在两个不同的新节点中包含的数据,并且将所收集的数据存储在多个物理存储区域中的一个物理存储区域中。

Description

数据处理系统及其操作方法
相关申请的交叉引用
本申请要求在2015年12月21日向韩国知识产权局提交的申请号为10-2015-0182777的韩国专利申请的优先权,通过引用将该韩国专利申请的全部内容合并于此。
技术领域
本发明总体涉及数据处理系统,并且更特别地,涉及一种用于更有效地管理多个索引数据的数据处理系统。
背景技术
计算机环境范例已经变成可以在任意时间和任意地点使用的普适计算系统。由此,诸如移动电话、数码相机和笔记本电脑等便携式电子装置的使用已经快速增加。便携式电子装置通常采用如下的存储器系统:该存储器系统具有作为主数据存储器装置或辅助数据存储器装置使用的一个或多个半导体存储器装置。
由于半导体存储器装置没有活动部件,因此半导体存储器装置通常提供优异的稳定性、耐久性、高信息访问速度和低功耗。半导体存储器装置的公知示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各种实施例涉及能够有效地存储以平衡树(B-树)结构管理的多个索引数据的数据处理系统及其操作方法。
在实施例中,数据处理系统可以包括:主机,其适于通过平衡树结构管理多个数据,在平衡树结构中,每个节点被设定为预定容量,数据的每个包含关于数据所位于的节点的信息来作为节点信息;以及存储器系统,其具有每个与预定容量对应的多个物理存储区域,并且所述存储器系统适于基于在主机应用的数据中的每一个数据中包含的节点信息来收集在两个不同的新节点中包含的数据,并且将所收集的数据存储在多个物理存储区域中的一个物理存储区域中。
在非新节点的休止(rest)节点的情况下,存储器系统可以将包含在休止节点中的数据存储在多个物理存储区域中的一个物理存储区域中。
存储器系统可以将仅特定值彼此不同的两个物理地址分配到多个物理存储区域中的一个物理存储区域,然后存储器系统可以将仅特定值彼此不同的两个物理地址分别映射到表示两个新节点的两个不同的逻辑地址。
节点信息可以包括:识别(ID)信息,所述识别信息用于识别对应的数据所位于的节点;以及指示信息,所述指示信息表示数据所位于的节点是否为新节点。
当在多个数据之中,在根据指示信息被分类的新节点中包含的数据被分类到包括第一值的ID信息的第一节点的数据和包括第二值的ID信息的第二节点的数据时,存储器系统可以将仅特定值彼此不同的两个物理地址分别映射到表示第一节点和第二节点的两个不同的逻辑地址。
当在多个数据之中,在根据指示信息被分类的休止节点中包含的数据被分类到包括第三值的ID信息的第三节点的数据时,存储器系统可以将一个物理地址分配到多个物理存储区域中的一个物理存储区域,并且可以将所分配的物理地址映射到表示第三节点的一个逻辑地址。
在实施例中,数据处理系统可以包括:主机,所述主机适于通过平衡树结构管理多个数据,在平衡树结构中,每个节点被设定为第一容量,数据的每个包含关于数据所位于的节点的信息来作为节点信息;以及存储器系统,所述存储器系统具有每个与为第一容量的一半的第二容量对应的多个物理存储区域,且所述存储器系统适于基于在主机应用的数据中的每一个数据中包含的节点信息来将在一个新节点中包含的数据存储在多个物理存储区域中的一个物理存储区域中,并且将在一个休止节点中包含的数据存储在多个物理存储区域之中的两个物理存储区域中,所述休止节点表示不是新节点的节点。
节点信息可以包括:识别(ID)信息,所述识别信息用于识别对应的数据所位于的节点;以及指示信息,所述指示信息表示数据所位于的节点是否为新节点。
当在多个数据之中,在根据指示信息被分类的新节点中包含的数据被分类成包括第一值的ID信息的第一节点的数据和包括第二值的ID信息的第二节点的数据时,存储器系统可以将与两个不同的物理存储区域对应的两个不同的物理地址分别映射到表示第一节点和第二节点的两个不同的逻辑地址。
当在多个数据之中,在根据旗标信息被分类的休止节点中包含的数据被分类到包括第三值的ID信息的第三节点的数据时,存储器系统可以将与两个不同的物理区域对应的两个不同的物理地址中的任意一个物理地址映射到表示第三节点的上半部分的逻辑地址并且可以将另一物理地址映射到表示第三节点的下半部分的逻辑地址。
在实施例中,提供了数据处理系统的操作方法,所述数据处理系统可以包括:主机,所述主机适于通过平衡树结构管理多个数据,在平衡树结构中,每个节点被设定为预定容量,数据的每个包含关于数据所位于的节点的信息来作为节点信息;以及存储器系统,所述存储器系统具有每个与预定容量对应的多个物理存储区域。存储器系统的操作可以包括:分离步骤,基于主机应用的数据的每个中包含的节点信息,将多个数据分离成包含在新节点中的数据和包含在表示非新节点的节点的休止节点中的数据;以及第一存储步骤,在所述分离步骤之后,收集在两个不同的新节点中包含的数据并且将所收集的数据存储在多个物理存储区域中的一个物理存储区域中。
所述操作方法还可以包括在所述分离步骤之后,将在休止节点中包含的数据存储在多个物理存储区域中的一个物理存储区域中的第二存储步骤。
第一存储步骤可以包括:将仅特定值彼此不同的两个物理地址分配到多个物理存储区域中的一个物理存储区域;以及将仅特定值彼此不同的两个物理地址分别映射到表示两个新节点的两个不同的逻辑地址。
节点信息可以包括:识别(ID)信息,所述识别信息用于识别对应的数据所位于的节点;以及指示信息,所述指示信息表示数据所位于的节点是否为新节点。
当在分离步骤中参照指示信息被分类的新节点中包含的数据被分类成包含第一值的ID信息的第一节点的数据和包含第二值的ID信息的第二节点的数据时,两个物理地址的映射可以包括将仅特定值彼此不同的两个物理地址分别映射到表示第一节点和第二节点的两个不同的逻辑地址。
当在分离步骤中参照指示信息被分类的休止节点中包含的数据被分类成包含第三值的ID信息的第三节点的数据时,第二存储步骤可以包括将一个物理地址分配到物理存储区域中的一个物理存储区域,以及将所分配的物理地址映射到表示第三节点的一个逻辑地址。
在实施例中,提供了一种数据处理系统的操作方法,所述数据处理系统可以包括:主机,所述主机适于通过平衡树结构管理多个数据,在所述平衡树结构中,每个节点被设定为第一容量,数据的每个包含关于数据所位于的节点的信息来作为节点信息;以及存储器系统,所述存储器系统具有每个与为第一容量的一半的第二容量对应的多个物理存储区域。存储器系统的操作可以包括:分离步骤,基于主机应用的数据的每个中包含的节点信息,将多个数据分离成包含在新节点中的数据和包含在表示非新节点的节点的休止节点中的数据;第一存储步骤,在分离步骤之后,将在一个新节点中包含的数据存储在多个物理存储区域中的一个物理存储区域中;以及第二存储步骤,在分离步骤之后,将在一个休止节点中包含的数据存储在多个物理存储区域之中的两个物理存储区域中。
节点信息可以包括:识别(ID)信息,所述识别信息用于识别对应的数据所位于的节点;以及指示信息,所述指示信息表示数据所位于的节点是否为新节点。
当在分离步骤中参照指示信息被分类的新节点中包含的数据被分类成包含第一值的ID信息的第一节点的数据和包含第二值的ID信息的第二节点的数据时,第一存储步骤可以包括将与两个物理存储区域对应的两个不同的物理地址分别映射到表示第一节点和第二节点的两个不同的逻辑地址。
当在分离步骤中参照旗标信息被分类的休止节点中包含的数据被分类到包含第三值的ID信息的第三节点的数据时,第二存储步骤可以包括将与两个不同的物理区域对应的两个不同的物理地址中的任意一个物理地址映射到表示第三节点的上半部分的逻辑地址,以及将另一物理地址映射到表示第三节点的下半部分的逻辑地址。
附图说明
图1是示出了根据本发明的实施例的包括存储器系统的数据处理系统的图。
图2是示出了在图1中示出的存储器系统中采用的存储器装置的示例的图。
图3是示出了根据本发明的实施例的可以在存储器装置中采用的存储块的示例的电路图。
图4至图11是示出了根据本发明的各种实施例的可以在存储器装置中采用的存储器装置的示例的图。
图12A至图12F示出了根据本发明的实施例的平衡树(B-树)结构的示例。
图13是示出了根据本发明的实施例的由数据处理系统中的主机以平衡树(B-树)结构管理的多个索引数据的图。
图14是根据本发明的第一实施例的数据处理系统的图。
图15是示出了根据本发明的第一实施例的在数据处理系统中索引数据的逻辑地址和物理地址之间的映射的示例的图。
图16是示出了根据本发明的第一实施例的数据处理系统的操作的流程图。
图17是根据本发明的第二实施例的数据处理系统的图。
图18是示出了根据本发明的第二实施例的在数据处理系统中索引数据的逻辑地址和物理地址之间的映射的示例的图。
图19是示出了根据本发明的第二实施例的数据处理系统的操作的流程图。
图20是示出了根据本发明的实施例的数据处理系统的效果的图。
具体实施方式
以下将参照附图更详细地说明各种实施例。然而,可以以不同的方式实现本发明,并且本发明应当认为不限于此处阐述的实施例。而是,提供这些实施例使得本公开将是全面和完整的,并且这些实施例将完全把本发明传达给本领域技术人员。遍及本公开,在本发明的各种附图和实施例中,相似的参考标号指代相似的部件。
应理解,尽管可能在此处使用术语“第一”、“第二”、“第三”等来说明各个元件,但是这些元件不受这些术语的限制。使用这些术语来区分一个元件和另一元件。因而,在不背离本公开的精神和范围的情况下,还可以将以下说明的第一元件称为第二元件或第三元件。
还应理解,当一个元件被称为“连接到”或“联接到”另一元件时,其可以直接在另一元件上、直接连接到或联接到另一元件,或者可以存在一个或多个中间元件。另外,还应理解,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的仅有元件,或者在这两个元件之间还可以存在一个或多个中间元件。
此处使用的术语仅用于说明具体的实施例的目的而无意于限制本公开。如此处使用地,除非上下文明确指出,否则单数形式“一”和“一个”也意于包括复数形式。还应理解,在本说明书中使用的术语“包括”、“包括有”、“包含”和“包含有”具体表示所说明的元件的存在而不排除存在或增加一个或多个其它元件。如此处使用地,术语“和/或”包含相关列出的项目中的一个或多个项目的任意和所有组合。
除非另有定义,否则此处使用的包含技术术语和科学术语的所有术语具有与本发明构思所属领域技术人员通常理解的含义相同的含义。还应理解,诸如在通常使用的字典中定义的那些术语应该被解释成具有与它们在相关领域的上下文中的含义一致的含义,并且除非在此处明确定义,否则不以理想化或过于正式的意义来解释上述术语。
在以下的说明中,阐述了很多具体的细节,以便提供对本公开的透彻理解。可以在不具有这些具体细节的一部分或者全部的情况下实现本公开。在其它的示例中,没有详细地说明公知的进程结构和/或进程,以便不会不必要地模糊本公开。
在下文中,将参照附图详细地说明本公开的多个实施例。
现在参照图1,根据本发明的实施例,提供数据处理系统100。数据处理系统100可以包括主机102和存储器系统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)、静态随机存取存储器(SRAM)等易失性存储器装置来实现用于存储器系统110的存储装置。可选地,用于存储器系统110的存储装置可以实现为诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和电阻式RAM(RRAM)等的非易失性存储器装置。
存储器系统110可以包括用于存储数据的存储器装置150和用于控制数据在存储器装置150中的存储的控制器130。可以通过主机102存取在存储器装置150中存储的数据。
控制器130和存储器装置150可以集成在单个半导体装置中。例如,控制器130和存储器装置150可以集成在被配置为固态驱动器(SSD)的半导体装置中。将存储器系统110配置为SSD通常可以使得主机102的操作速度显著提升。
控制器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。一个或多个存储器装置150可以基本上相同。一个或多个存储器装置可以是不同的存储器装置。存储器装置150可以包括一个或多个存储块152、154和156。存储块152、154和156中的每个存储块可以包括多个页面。页面的每个可以包括电联接到多个字线(WL)的多个存储器单元。存储器装置150可以是即使当电源中断或关闭时能够保留所存储的数据的非易失性存储器装置。根据实施例,存储器装置可以是闪速存储器。存储器装置可以是具有三维(3D)堆叠结构的闪速存储器装置。稍后参照图2至图11描述具有三维(3D)堆叠结构的非易失性存储器装置150的示例。
控制器130可以控制存储器装置150的诸如读取、写入、编程和/或擦除操作的全部操作。通常,控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以响应于来自主机102的读取请求而将从存储器装置150读取的数据提供到主机102。或者,也作为示例,控制器可以响应于写入请求而将从主机102提供的数据存储到存储器装置150中。
可以使用任意适合的控制器。例如,控制器130可以包括主机接口单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142和存储器144。
主机接口单元132可以处理从主机102提供的指令和/或数据。主机接口单元132可以通过诸如通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)等的各种接口协议中的至少一种与主机102通信。主机接口单元132可以包括适于与主机102以及当可能需要时的控制器130的其它组件通信的任意合适的电路、系统或装置。
ECC单元138可以检测和校正在读取操作期间从存储器装置150读取的数据的错误。可以采用各种检测和校正技术。例如,如果通过ECC单元138检测的错误位的数量大于或等于可校正的错误位的阈值数量,则ECC单元138可不校正错误位并输出指示校正错误位失败的错误校正失败信号。
ECC单元138可以基于任意合适的错误校正方案来执行错误校正操作。例如,ECC单元138可以基于诸如例如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网络编码调制(TCM)、分组编码调制(BCM)等的编码调制方案来执行错误校正操作。ECC单元138可以包括错误检测和校正操作所需要的任意合适的电路、系统或装置。
PMU 140可以为控制器130提供和管理电力。例如,如可能需要的,PMU 140可以为控制器130的各个组件提供和管理电力。
NFC 142可以作为控制器130和存储器装置150之间的存储器接口以使得控制器130响应于来自主机102的请求而控制存储器装置150。例如,NFC 142可以产生用于存储器装置150的控制信号。例如,当存储器装置150是闪速存储器,尤其是NAND闪速存储器时,NFC可以在处理器134的控制下处理数据。
存储器144可以作为存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。例如,当控制器130控制存储器装置150的操作时,存储器144可以存储控制器130和存储器装置150用于诸如读取、写入、编程和擦除操作的操作的数据。
存储器144可以是或包括易失性存储器。例如,存储器144可以是或包括静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。如上所述,存储器144可以存储主机102和存储器装置150用于读取和/或写入操作的数据。存储器144可以是或包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134可以控制存储器系统110的一般操作。例如,处理器134可以响应于来自主机102的写入请求而控制存储器装置150的写入操作。此外,例如,处理器134可以响应于来自主机102的读取请求而控制存储器装置150的读取操作。处理器134可以驱动也被称为闪存转换层(FTL)的固件,以用于控制存储器系统110的一般操作。可以利用微处理器、中央处理单元(CPU)等来实现处理器134。可以使用任意合适的处理器。
例如,在处理器134中可以包括管理单元(未示出)以用于执行存储器装置150的坏块管理。因此,管理单元可以找到在存储器装置150中包含的坏存储块,即对于进一步使用处于不满意状态的存储块,并且对坏存储块执行坏块管理操作。例如,当采用诸如NAND闪速存储器的闪速存储器作为存储器装置150时,由于NAND逻辑功能的固有特性使得在写入操作期间可能发生编程失败。在坏块管理期间,编程失败的存储块(例如,坏存储块)的数据可被编程到新的存储块中。由于编程失败导致的坏块可使存储器装置尤其是具有3D堆叠结构的存储器装置的利用效率严重劣化,因而消极影响存储器系统110的可靠性。
参照图2,存储器装置150可以包括多个存储块,例如第零块至第(N-1)块210至240,其中N是正整数。多个存储块210至240中的每个可以包括多个页面,例如2M个页面(2M页面),其中M为正整数。多个页面中的每个均可以包含被电联接到多个字线的多个存储器单元。应注意,可以采用任意数量的合适的块且每块中可以采用任意数量的页面。
存储块根据每个存储器单元中可存储的位的数量可以是单层单元(SLC)存储块和/或多层单元(MLC)存储块。SLC存储块可以包含利用每个能够存储1位数据的存储器单元实现的多个页面。MLC存储块可以包含利用每个能够存储多位数据例如2位或更多位数据的存储器单元实现的多个页面。包括利用每个能够存储3位数据的存储器单元实现的多个页面的MLC存储块可被采用且将被称为三层单元(TLC)存储块。
多个存储块210至240中的每个可以在写入操作期间存储从主机装置102提供的数据,并且可以在读取操作期间将所存储的数据提供到主机102。
参照图3,存储器装置150的存储块152可以包括分别电联接到位线BL0至BLm-1的多个单元串340。各单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可以串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可以由每个存储多位数据信息的多层单元(MLC)组成。存储器单元可以具有任意合适的结构。
在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
作为示例,图3示出了由NAND闪速存储器单元配置的存储块152。然而,应注意,存储块152不限于NAND闪速存储器并且在其它的实施例中可以由NOR闪速存储器、组合有至少两种存储器单元的混合型闪速存储器或者具有内置在存储器芯片中的控制器的NAND闪速存储器实现。此外,半导体装置的操作特性不仅可以适用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且适用于其中电荷存储层由介电层配置的电荷捕获闪存(CTF)。
还应注意,存储器装置150不限于仅是闪速存储器装置。例如,存储器装置150可以是DRAM或SRAM装置。
存储器装置150的电压发生器310可以根据操作模式产生待供给到各个字线的字线电压,例如编程电压、读取电压或通过电压。电压发生器310可以生成待供给到体材料(bulk)例如存储器单元形成在其中的阱区的电压。电压发生器310可以在控制电路(未示出)的控制下执行电压生成操作。电压发生器310可以生成多个可变读取电压以生成多个读取数据。电压发生器310可以在控制电路的控制下选择存储块或存储器单元阵列的扇区中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供到所选择的字线和未选择的字线。
存储器装置150的读取/写入电路320可以通过控制电路控制,并且可以根据操作模式而作为读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以作为用于从存储器单元阵列读取数据的读出放大器。此外,在编程操作期间,读取/写入电路320可以作为用于根据待被存储在存储器单元列阵中的数据驱动位线的写入驱动器。读取/写入电路320在编程操作期间可以从缓冲器(未示出)接收待被写入存储器单元阵列中的数据,并且可以根据所输入的数据驱动位线。为此,读取/写入电路320可以包括分别与列(或位线)或者列对(或位线对)对应的多个页面缓冲器322、324和326。页面缓冲器322、324和326中的每个可以包括多个锁存器(未示出)。
图4是示出了根据本发明的实施例的存储器装置150的多个存储块152至156的示例的框图。
如图4所示,存储器装置150可以包括多个存储块BLK0至BLKN-1。存储块BLK0至BLKN-1中的每个可以3D结构或竖直结构实现。各个存储块BLK0至BLKN-1可以包括在第一方向至第三方向例如x轴方向、y轴方向和z轴方向上延伸的多种结构。
各个存储块BLK0至BLKN-1可以包括在第二方向上延伸的多个NAND串NS(图8)。可以在第一方向和第三方向上设置多个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型杂质的硅材料。衬底5111可以是p型阱,例如袋(pocket)p阱。衬底5111可以进一步包括围绕p型阱的n型阱。尽管在本发明的实施例中,衬底5111被例示为p型硅,但是应注意,衬底5111不限于p型硅。
在衬底5111上方可以设置在第一方向上延伸的多个掺杂区域5311至5314。掺杂区域在第三方向上以规定间隔隔开。多个掺杂区域5311至5314可以包含与在衬底5111中使用的杂质的类型不同的第二类型杂质。例如,多个掺杂区域5311至5314可以掺杂有n型杂质。尽管在本发明的实施例中第一掺杂区域至第四掺杂区域5311至5314被例示为n型,但是应注意它们不限于n型。
在第一掺杂区域5311和第二掺杂区域5312之间的衬底5111上方的区域中,在第一方向上延伸的多个介电材料区域5112可以在第二方向上分隔开规定间隔。还可以使介电材料区域5112与衬底5111在第二方向上分开预设距离。各介电材料区域5112可以在第二方向上彼此分开预设距离。介电材料5112可以包含诸如氧化硅的任意合适的介电材料。
在两个连续的掺杂区域之间例如在掺杂区域5311和5312之间的衬底5111上方,多个柱状物5113在第一方向上分隔开规定间隔。多个柱状物5113在第二方向上延伸并且可以穿过介电材料区域5112使得它们可以与衬底5111电联接。每个柱状物5113可以包含一种或多种材料。例如,每个柱状物5113可以包括内层5115和外表面层5114。表面层5114可以包含掺杂有杂质的掺杂硅材料。例如,表面层5114可以包含掺杂有与衬底5111相同的杂质或相同类型的杂质的硅材料。尽管在本发明的实施例中表面层5114被例示为包含p型硅,但表面层5114不限于p型硅,并且本领域技术人员可以容易地想到其它实施例,其中衬底5111和柱状物5113的表面层5114可以掺杂有n型杂质。
每个柱状物5113的内层5115可以由介电材料形成。内层5115可以是或包含诸如氧化硅的介电材料。
在第一掺杂区域5311和第二掺杂区域5312之间的区域中,可以沿着介电材料区域5112、柱状物5113和衬底5111的暴露表面设置介电层5116。介电层5116的厚度可以小于介电材料区域5112之间的距离的一半。换句话说,不同于介电材料5112和介电层5116的材料的区域可以设置在(i)介电材料区域5112的第一介电材料的底面下方的介电层5116和(ii)设置在介电材料区域5112的第二介电材料的顶面上方的介电材料5116之间。介电材料区域5112可以位于第一介电材料下方。
在诸如第一掺杂区域5311和第二掺杂区域5312之间的区域的连续的掺杂区域之间的区域中,可以在介电层5116的暴露表面上方设置多个导电材料区域5211至5291。在第一方向上延伸的多个导电材料区域可以与多个介电材料区域5112交错配置且在第二方向上分隔开规定间隔。介电层5116填充导电材料区域和介电材料区域5112之间的空间。因此,例如在第一方向上延伸的导电材料区域5211可以设置在与衬底5111相邻的介电材料区域5112和衬底5111之间。特别地,在第一方向上延伸的导电材料区域5211可以设置在(i)布置在衬底5111上方的介电层5116和(ii)布置在与衬底5111相邻的介电材料区域5112的底面下方的介电层5116之间。
在第一方向上延伸的导电材料区域5211至5291中的每一个导电材料区域可以设置在(i)布置在介电材料区域5112中的一个介电材料区域的顶面上方的介电层5116和(ii)布置在下一个介电材料区域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。
可以在多个柱状物5113上方分别设置漏极5320。漏极5320可以由掺杂有第二类型杂质的硅材料制成。漏极5320可以由掺杂有n型杂质的硅材料制成。尽管为了便于说明,漏极5320被例示为包含n型硅,但是应注意,漏极5320不限于n型硅。例如,每个漏极5320的宽度可以大于每个对应的柱状物5113的宽度。每个漏极5320可以焊盘形状被设置在各对应的柱状物5113的顶面上方。
可以在漏极5320上方设置在第三方向上延伸的导电材料区域5331至5333。导电材料区域5331至5333中的每一个导电材料区域可以在第一方向上彼此具有预设的分离距离且延伸地布置在连续地设置在第三方向上的漏极5320上方。各个导电材料区域5331至5333可以与其下方的漏极5320电联接。漏极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中,介电层5116可以包括第一子介电层至第三子介电层5117、5118和5119。
柱状物5113中的每一个柱状物中的p型硅的表面层5114可以作为主体。与柱状物5113相邻的第一子介电层5117可以作为隧穿介电层或者可以包括热氧化层。
第二子介电层5118可以作为电荷存储层。第二子介电层5118可以作为电荷捕获层并且可以包括氮化物层或者诸如氧化铝层、氧化铪层等的金属氧化物层。
与导电材料5233相邻的第三子介电层5119可以作为阻挡介电层。与在第一方向上延伸的导电材料5233相邻的第三子介电层5119可以形成为单层或多层。第三子介电层5119可以为诸如氧化铝层、氧化铪层等的高-k介电层,该介电层的介电常数大于第一子介电层5117和第二子介电层5118的介电常数。
导电材料5233可以用作栅或控制栅。例如,栅或控制栅5233、阻挡介电层5119、电荷存储层5118、隧穿介电层5117和主体5114可以形成晶体管或存储器单元晶体管结构。例如,第一子介电层至第三子介电层5117至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不限于此。例如,在第一方向上延伸的导电材料区域可以设置有八(8)层、十六(16)层或任意多层。例如,在一个NAND串NS中,晶体管的数量可以为8、16或更多。
尽管在图5至图7中示出了三(3)个NAND串NS电联接到一个位线BL,但是应注意实施例不限于此。在存储块BLKi中,m个NAND串NS可以电联接到一位线BL,m是正整数。在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293的数量和共源线5311至5314的数量可以随着电联接到一个位线BL的NAND串NS的数量变化。
此外,尽管图5至图7示出了三(3)个NAND串NS电联接到在第一方向上延伸的一个导电材料,但是应注意,实施例不限于此。例如,n个NAND串NS可以电联接到在第一方向上延伸的一个导电材料,n是正整数。位线5331至5333的数量可以随着电联接到在第一方向上延伸的一个导电材料的NAND串NS的数量变化。
参照图8,在具有第一结构的块BLKi中,可以在第一位线BL1和共源线CSL之间设置多个NAND串NS11至NS31。第一位线BL1可以与图5和图6中的在第三方向上延伸的导电材料区域5331对应。可以在第二位线BL2和共源线CSL之间设置NAND串NS12至NS32。第二位线BL2可以与图5和图6中的在第三方向上延伸的导电材料区域5332对应。可以在第三位线BL3和共源线CSL之间设置NAND串NS13至NS33。第三位线BL3可以与图5和图6中的在第三方向上延伸的导电材料区域5333对应。
每个NAND串NS的源极选择晶体管SST可以电联接到对应的位线BL。每个NAND串NS的接地选择晶体管GST可以电联接到共源线CSL。可以在每个NAND串NS的源极选择晶体管SST和接地选择晶体管GST之间设置存储器单元MC1至MC6。
在本示例中,NAND串NS可以由行和列的单元定义。电联接到一个位线的NAND串NS可以形成一列。电联接到第一位线BL1的NAND串NS11至NS31可以与第一列对应。电联接到第二位线BL2的NAND串NS12至NS32可以与第二列对应。电联接到第三位线BL3的NAND串NS13至NS33可以与第三列对应。电联接到一个源极选择线SSL的NAND串NS可以形成一行。电联接到第一源极选择线SSL1的NAND串NS11至NS13可以形成第一行。电联接到第二源极选择线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可以彼此电联接。
对于可以设置在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293的层中的每一层,位于同一水平或高度或层的字线WL或虚拟字线DWL可以彼此电联接。在第一方向上延伸的导电材料区域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。在衬底5111上的有源区域上,第一掺杂区域至第四掺杂区域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。
在各NAND串NS中,可以设置虚拟存储器单元DMC。在图8中,例如,可以在每个NAND串NS中的第三存储器单元MC3和第四存储器单元MC4之间设置虚拟存储器单元DMC。例如,可以在虚拟存储器单元DMC和接地选择晶体管GST之间设置第一存储器单元至第三存储器单元MC1至MC3。可以在虚拟存储器单元DMC和源极选择晶体管SST之间设置第四存储器单元至第六存储器单元MC4至MC6。可以通过虚拟存储器单元DMC将每个NAND串NS的存储器单元MC划分成两(2)个存储器单元组。在所划分的存储器单元组中,与接地选择晶体管GST相邻的存储器单元例如MC1至MC3可以被称为下部存储器单元组,与串选择晶体管SST相邻的剩余存储器单元例如MC4至MC6可以被称为上部存储器单元组。
以下,将参照图9至图11进行详细的说明,图9至图11示出了根据利用与第一结构不同的三维(3D)非易失性存储器装置实现的实施例的存储器系统中的存储器装置。
图9是示意性地示出了利用与以上参照图5至图8说明的第一结构不同的三维(3D)非易失性存储器装置实现的存储器装置并且示出了图4的多个存储块中的存储块BLKj的立体图。图10是示出了沿着图9的线VII-VII'截取的存储块BLKj的剖视图。
参照图9和图10,存储块BLKj可以包括在第一方向上至第三方向上延伸的结构并且可包括衬底6311。衬底6311可以包括掺杂有第一类型杂质的硅材料。例如,衬底6311可以包括掺杂有p型杂质的硅材料。衬底6311可以是p型阱,例如袋p阱。衬底6311可以进一步包括围绕p型阱的n型阱。尽管在所说明的实施例中衬底6311被例示为p型硅,但是应注意,衬底6311不限于p型硅。
在衬底6311上方设置在x轴方向和y轴方向上延伸的第一导电材料区域至第四导电材料区域6321至6324。第一导电材料区域6321至第四导电材料区域6324可以在z轴方向上分离预设的距离。
可以在衬底6311上方设置在x轴方向和y轴方向上延伸的第五导电材料区域至第八导电材料区域6325至6328。第五导电材料区域至第八导电材料区域6325至6328可以在z轴方向上分离预设的距离。第五导电材料区域至第八导电材料区域6325至6328可以与第一导电材料区域至第四导电材料区域6321至6324在y轴方向上分离。
可以设置穿过第一导电材料区域至第四导电材料区域6321至6324的多个下部柱状物DP。各下部柱状物DP可以在z轴方向上延伸。而且,可以设置穿过第五导电材料区域至第八导电材料区域6325至6328的多个上部柱状物UP。各上部柱状物UP可以在z轴方向上延伸。
下部柱状物DP和上部柱状物UP中的每一个可以包括内部材料6361、中间层6362和表面层6363。中间层6362可以用作单元晶体管的沟道。表面层6363可以包括阻挡介电层、电荷存储层和隧穿介电层。
下部柱状物DP和上部柱状物UP可以通过管栅PG彼此电联接。管栅PG可以布置在衬底6311中。例如,管栅PG可以包括与下部柱状物DP和上部柱状物UP相同的材料。
可以在下部柱状物DP上方设置在x轴方向和y轴方向上延伸的第二类型的掺杂材料6312。例如,第二类型的掺杂材料6312可以包括n型硅材料。第二类型的掺杂材料6312可以用作共源线CSL。
可以在上部柱状物UP上方设置漏极6340。漏极6340可以包括n型硅材料。可以在漏极6340上方设置在y轴方向上延伸的第一上部导电材料区域6351和第二上部导电材料区域6352。
第一上部导电材料区域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和上部导电材料层6351和6352中的用作位线BL的对应的一个上部导电材料层之间电联接的一个单元串。
例如,下部串可以包括源极选择晶体管SST、第一虚拟存储器单元DMC1以及第一主存储器单元MMC1和第二主存储器单元MMC2。上部串可以包括第三主存储器单元MMC3和第四主存储器单元MMC4、第二虚拟存储器单元DMC2以及漏极选择晶体管DST。
在图9和图10中,上部串和下部串可以形成NAND串NS。NAND串NS可以包括多个晶体管结构TS。由于以上参照图7详细地说明了在图9和图10中的NAND串NS中包括的晶体管结构,因此在此将省略对其的详细说明。
图11是示出了具有以上参照图9和图10说明的第二结构的存储块BLKj的等效电路的电路图。为了方便,仅示出了第一串ST1和第二串ST2,它们在第二结构的存储块BLKj中形成一对。
参照图11,在具有第二结构的存储块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可以电联接到第二源极选择线SSL2。
<平衡树(B-树)结构>
以下将说明管理索引数据的操作。
索引数据可以被定义为用于访问用户数据的内容所需要的信息。
因此,图1的主机102可以通过大小相对小的索引数据访问大小相对大的用户数据。
例如,为了主机102快速地访问期望的用户数据,重要的是快速地找到与用户数据对应的索引数据。因而,主机102可以树结构管理索引数据。
例如,当主机102以平衡树(B-树)结构管理多个索引数据时,主机102可以在等量时间内访问多个索引数据之中的任意数据。因而,B-树结构被频繁地用于管理多个索引数据。
图12A和图12F示出了根据本发明的实施例的用于在数据处理系统100中管理多个索引数据所采用的B-树结构的示例。
B-树结构可以如下定义。
第一,多个节点可以被配置成具有树结构,一个节点可以包括一个至H个索引数据,其中H是等于或大于二的整数。
第二,在多个节点之中的不是叶节点的节点中的每个可以包括数量范围从H/2至H+1的子节点,叶节点被设定到最深的树层并且没有子节点,在对应的节点中包括的索引数据的值可以与通过划分在两个或更多个数据节点中包括的索引数据的值而得到的值对应。
第三,在多个节点之中的被设定到最浅的树层且没有母节点的根节点可以具有两个或更多个子节点。
第四,所有叶节点可以具有相同的树层。
参照图12A,如1210所表示的,首先可以输入值为4的索引数据,接下来按照记载的顺序采用顺次的方式输入值为6的索引数据、值为8的索引数据和值为18的索引数据。也就是,图12A示出了输入总共四个数据4、6、8和18的状态。
采用这种方式,如1210所表示的索引数据的输入可以形成如1215表示的B-树结构。
具体地,当输入值为4的第一索引数据时,如1215所表示的,可以将第一索引数据存储在作为根节点ROOT的第零节点NODE<0>中。此时,尽管第零节点NODE<0>是新产生的节点,但是第零节点NODE<0>没有被分类到新节点中,这是因为第零节点NODE<0>是根节点ROOT。
然后,可以输入值为6的第二索引数据并且将其存储在作为根节点的第零节点NODE<0>中。
采用这种方式,由于两个索引数据4和6可以被存储在作为根节点ROOT的一个节点或第零节点NODE<0>中直到两个索引数据被输入,因此不存在子节点。这是因为图12A中示出的B-树在一个节点中最多存储两个数据。当在一个节点中可以存储大于两个数据的数据时,直到在根节点中存储了该更大数量的数据,才存在子节点。
然后,当值为8的第三索引数据被输入时,已经被存储在根节点中的数据基于其值而可以变成具有两个子节点的结构,这是因为根节点没有空间存储第三索引数据。
也就是,与尝试被存储在根节点ROOT中的索引数据4、6和8之中的中间值对应的值为6的索引数据可以被存储在根节点ROOT中。基于存储在根节点ROOT中的值为6的索引数据,可以在第一节点NODE<1>中存储值为4的索引数据,可以在第二节点NODE<2>中存储值为8的索引数据。此时,由于第一节点NODE<1>和第二节点NODE<2>是子节点并且是新产生的节点,所以第一节点NODE<1>和第二节点NODE<2>被分类到新节点NEW中。
然后,可以输入值为18的第四索引数据并将其存储在第二节点NODE<2>中。采用这种方式,当在第二节点NODE<2>中另外存储了值为18的索引数据时,第二节点NODE<2>不被分类到新节点NEW中,而是被分类到休止节点REST中。
根据图12B的实施例,如1220表示的,在图12A中输入的索引数据4、6、8和18之后可以输入值为20的第五索引数据,然后可以输入值为22的第六索引数据。
采用这种方式,如1220表示的索引数据的输入可以形成如1225表示的B-树结构。
具体地,当如1225表示地输入值为20的第五索引数据时,可以尝试将已经存储在第二节点NODE<2>中的数据移动到作为第二节点NODE<2>的母节点的根节点ROOT,这是因为第二节点NODE<2>没有空间来存储第五索引数据。此时,由于根节点ROOT具有空间来存储第五索引数据,因此已经存储在第二节点NODE<2>中的数据可以移动到根节点ROOT,并且基于所移动数据的值,B-树结构可以变成具有两个子节点的结构。
也就是,与尝试存储在第二节点NODE<2>中的索引数据8、18和20之中的中间值对应的值为18的索引数据可以移动和存储在根节点ROOT中。基于存储在根节点ROOT中的值为18的索引数据,可以在第二节点NODE<2>中存储值为8的索引数据,并且可以在第三节点NODE<3>中存储值为20的索引数据。此时,由于第三节点NODE<3>是子节点并且是新产生的节点,所以第三节点NODE<3>可以被分类到新节点NEW中。此外,由于如图12A所示第二节点NODE<2>已经被分类到休止节点REST中,因此即使在图12B中,第二节点NODE<2>也可以继续维持第二节点NODE<2>被分类到休止节点REST中的状态。
然后,可以输入值为22的第六索引数据并且将其存储在第三节点NODE<3>中。采用这种方式,由于在第三节点NODE<3>中另外存储了值为22的索引数据,第三节点NODE<3>不被分类到新节点NEW中,而是被分类到休止节点REST中。
根据图12C的实施例,如1230所表示的,在图12A和图12B中输入的索引数据4、6、8、18、20和22之后可以输入值为24的第七索引数据。
采用这种方式,由1230表示的索引数据的输入可以形成由1235表示的B-树结构。
具体地,当如1235所表示地输入值为24的第七索引数据时,可以尝试将已经存储在第三节点NODE<3>中的数据移动到根节点ROOT,这是因为第三节点NODE<3>没有空间存储第七索引数据。此时,由于根节点ROOT没有空间存储第七索引数据,因此可以形成新的根节点,同时已经存储在根节点ROOT中的数据移动到高一级的层,并且可以将B-树结构变成在新形成的根节点周围具有六个子节点的结构。
也就是,尽管与尝试在第三节点NODE<3>中存储的索引数据20、22和24之中的中间值对应的值为22的索引数据被尝试存储在作为其母节点的根节点ROOT中,但是值为22的索引数据不能存储在根节点ROOT中,这是因为根节点ROOT没有空间。因而,与尝试在根节点ROOT中存储的索引数据6、18和22之中的中间值对应的值为18的索引数据可以被移动到高一级的层并且被设定到新的根节点ROOT。此时,基于存储在新的根节点ROOT中的索引数据18,已经存储在先前根节点ROOT中的索引数据6和22可以分别存储在新的第一节点NODE<1>和新的第二节点NODE<2>中。
此外,已经存储在作为在先前根节点ROOT中的值为6的索引数据的子节点的先前第一节点NODE<1>和先前第二节点NODE<2>中的索引数据4和8可以移动并分别存储在新的第三节点NODE<3>和新的第四节点NODE<4>中,该新的第三节点NODE<3>和新的第四节点NODE<4>被新设定成值为6的索引数据被存储在其中的第一节点NODE<1>的子节点。
此外,由于已经存储在先前第三节点NODE<3>中且尝试移动并存储在先前根节点ROOT中的值为22的索引数据被存储在新的第二节点NODE<2>中,因此基于新的第二节点NODE<2>,已经被存储在先前第三节点NODE<3>中的值为20的索引数据和已经尝试存储在先前第三节点NODE<3>中的值为24的索引数据可以被分别存储在新的第五节点NODE<5>和新的第六节点NODE<6>中。
如上所述,在图12C中示出的B-树结构中的根节点ROOT下的所有子节点可以分类到新节点NEW中,这是因为根节点ROOT是新设定的。
根据图12D的实施例,如1240所表示的,在图12A、图12B和图12C中输入的索引数据4、6、8、18、20、22和24之后可以输入值为26的第八索引数据。
采用这种方式,由1240表示的索引数据的输入可以形成由1245表示的B-树结构。
具体地,当如1245所表示地输入值为26的第八索引数据时,第八索引数据可以存储在第六节点NODE<6>中,这是因为第六节点NODE<6>有空间来存储第八索引数据。由于在第六节点NODE<6>中另外存储了值为26的索引数据,第六节点NODE<6>不被分类到新节点NEW中,而是被分类到休止节点REST中。
根据图12E的实施例,如1250所表示的,在图12A至图12D中已经输入的索引数据4、6、8、18、20、22、24和26之后可以输入值为28的第九索引数据。
采用这种方式,由1250表示的索引数据的输入可以具有如符号1255表示的B-树结构。
具体地,当如1255表示地输入值为28的第九索引数据时,已经存储在第六节点NODE<6>中的数据可以尝试移动到作为第六节点NODE<6>的母节点的第二节点NODE<2>,这是因为第六节点NODE<6>没有空间来存储第九索引数据。此时,由于第二节点NODE<2>有空间来存储第八索引数据,因此已经存储在第六节点NODE<6>中的数据可以移动到第二节点NODE<2>,并且基于所移动的数据的值可以将B-树结构变成具有两个子节点的结构。
也就是,与尝试存储在第六节点NODE<6>中的索引数据24、26和28之中的中间值对应的值为26的索引数据可以移动并存储在第二节点NODE<2>中。基于在第二节点NODE<2>中存储的索引数据26,值为24的索引数据可以存储在第六节点NODE<6>中,并且值为28的索引数据可以存储在第七节点NODE<7>中。此时,由于第七节点NODE<7>是子节点且是新产生的节点,因此第七节点NODE<7>可以被分类到新节点NEW中。此外,由于如图12D所示,第六节点NODE<6>已经被分类到休止节点REST中,因此即使在图12E中,第六节点NODE<6>也可以继续维持第六节点NODE<6>被分类到休止节点REST的状态。由于在第二节点NODE<2>中另外存储了值为26的索引数据,第二节点NODE<2>不被分类到新节点NEW中,而是被分类到休止节点REST中。
根据图12F的实施例,如1260所表示的,在图12A至图12E中输入的索引数据4、6、8、18、20、22、24、26和28之后可以输入值为30的第十索引数据。
采用这种方式,如1260表示的索引数据的输入可以具有如1270表示的B-树结构。
具体地,当如1270表示地输入值为30的第十索引数据时,第十索引数据可以存储在第七节点NODE<7>中,这是因为第七节点NODE<7>有空间来存储第十索引数据。由于在第七节点NODE<7>中另外存储了值为30的索引数据,第七节点NODE<7>不被分类到新节点NEW中,而是被分类到休止节点REST中。
如参照图12A至图12F描述的,只要节点不是根节点ROOT,则在B-树结构中包含的所有节点可以包含在新节点NEW或休止节点REST中。
此时,新节点NEW可以表示在改变索引数据的算术运算期间新形成节点的状态并且具有仅在节点的整个容量的一半中存储有效数据的特性。
具体地,根据图12A的实施例,在第一节点NODE<1>和第二节点NODE<2>被分类到新节点NEW的时间点,在第一节点NODE<1>和第二节点NODE<2>中的每个中可以最多存储两个索引数据,但是可以在第一节点NODE<1>和第二节点NODE<2>中的每一个节点中存储仅一个索引数据或索引数据4或8,以便维持B-树结构。此外,在值为18的索引数据被添加到第二节点NODE<2>的时间点,第二节点NODE<2>可以被转换成休止节点REST。此时,由于没有数据添加到第一节点NODE<1>,因此第一节点NODE<1>可以被继续地分类到新节点NEW中。
根据图12B的实施例,在第三节点NODE<3>被分类到新节点NEW中的时间点,在第三节点NODE<3>中可以最多存储两个索引数据,但是在第三节点NODE<3>中可以存储仅一个索引数据或者索引数据20,以便维持B-树结构。此外,即使随着在图12B中形成了第三节点NODE<3>而仅剩余一半数据的状态下,在图12A中已经被分类到休止节点REST中的第二节点NODE<2>仍可以被继续地分类到休止节点REST中。然后,在值为22的索引数据被添加到第三节点NODE<3>的时间点,第三节点NODE<3>可以转换成休止节点REST。此时,由于没有数据被添加到第一节点NODE<1>,因此第一节点NODE<1>可以被继续地分类到新节点NEW中。
此外,当图12B中示出的B-树结构变成图12C中示出的B-树结构时,可以新定义根节点ROOT。因而,根节点ROOT下的大多数节点可以被分类到新节点NEW中。也就是,尽管在第一节点至第六节点NODE<1:6>被分类到新节点NEW的时间点,第一节点至第六节点NODE<1:6>中的每一个节点中可以最多存储两个索引数据,但是可以在第一节点至第六节点NODE<1:6>中的每一个节点中存储仅一个索引数据或值为4、6、8、20、22或24的索引数据,以便维持B-树结构。
此外,在图12D中,在值为26的索引数据被添加到第六节点NODE<6>的时间点,第六节点NODE<6>可以转换成休止节点REST。此时,由于没有数据被添加到第一节点至第五节点NODE<1:5>,所以第一节点至第五节点NODE<1:5>可以继续地被分类到新节点NEW中。
根据图12E的实施例,在第七节点NODE<7>被分类到新节点NEW的时间点,在第七节点NODE<7>中可以最多存储两个索引数据,但是在第七节点NODE<7>中可以存储仅一个索引数据或者索引数据28,以便维持B-树结构。此外,在图12D中已经被分类到休止节点REST中的第六节点NODE<6>即使随着在图12E中形成了第七节点NODE<7>而仅剩余一半数据的状态下仍可以被继续地分类到休止节点REST中。此外,在值为26的索引数据被添加到第二节点NODE<2>的时间点,第二节点NODE<2>可以转换成休止节点REST。此时,由于没有数据被添加到第一节点NODE<1>以及第三节点至第六节点NODE<3:6>,因此第一节点NODE<1>以及第三节点至第六节点NODE<3:6>可以被继续地分类到新节点NEW中。
根据图12F的实施例,在值为30的索引数据被添加到第七节点NODE<7>的时间点,第七节点NODE<7>可以转换成休止节点REST。此外,即使在图12F中数据被添加到第七节点NODE<7>的时间点,在图12E中已经被分类到休止节点REST的第二节点NODE<2>和第六节点NODE<6>也可以被继续地分类到休止节点REST中。此时,由于没有数据被添加到第一节点NODE<1>以及第三节点至第六节点NODE<3:6>,因此第一节点NODE<1>以及第三节点至第六节点NODE<3:6>可以被继续地分类到新节点NEW中。
当在B-树结构中节点被分类到休止节点REST时,不可能确定仅在节点的内部存储空间的一半中还是在节点的所有内部存储空间中存储了有效数据。然而,当节点被分类到新节点NEW时,可以确定仅在节点的内部存储空间的一半中存储了有效数据。
图13是根据本发明的实施例的由数据处理系统中的主机以平衡树(B-树)结构管理的多个索引数据的简图。
<第一实施例>
通过参照图1中示出的数据处理系统100的配置,图14示出了根据本发明的第一实施例的用于执行管理索引数据的操作的数据处理系统100的配置。也就是,根据本发明的第一实施例,数据处理系统100可以包括主机102和存储器系统110。存储器系统110可以包含控制器130和非易失性存储器装置150。
参照图13和图14,在数据处理系统100中通过主机102以B-树结构管理的多个索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据可以根据该索引数据位于其中的节点的状态而以不同的形式被存储。
具体地,通过主机102以B-树结构管理的索引数据INDEX_DA<1:N>[+ND]的每一个索引数据可以包含关于索引数据位于其中的节点的节点信息[+ND]。此时,通过主机102管理的B-树结构的每个节点可以设定成节点具有预定容量的状态。
存储器系统110可以具有被划分成多个物理存储区域P0、P1、P2、P3、P4、P5、P6……的内部物理存储空间,各物理存储区域对应于预定的容量。也就是,在存储器系统110中包括的存储器装置150的存储空间可以被划分成多个物理存储区域P0、P1、P2、P3、P4、P5、P6……,各物理存储区域被设定成预定的容量。
用于参考,当假设预定容量为2时,则在图12A至图12F中示出的B-树结构中包含的节点中的每一个节点可以存储两个索引数据。根据设计者的选择,预定容量可以被设定为大于2的数。此外,预定容量可以被设定成在存储器系统110中包括的存储器装置150中通过一次写入操作而可以被写入的数据的最大数量。例如,当存储器装置150是非易失性存储器装置时,预定容量可以与通过一次写入操作而可以被写入的页面的最大数量。
图13和图14示出了假设预定容量为4的情况下,B-树结构的每个节点中存储最多四个索引数据的示例。也就是,如图14所示,通过存储器系统110管理的物理存储区域P0、P1、P2、P3、P4、P5、P6……中的每一个物理存储区域可以存储最多四个索引数据。此外,如图13所示,在通过主机102管理的B-树结构中包含的节点NODE<0:8>中的每一个节点可以包含最多四个数据。
因而,在图13和图14中示出的数据处理系统100中,在通过主机102管理的B-树结构中包含的节点NODE<0:8>中的每一个节点中可以存储的索引数据的最大数量等于在通过存储器系统110管理的物理存储区域P0、P1、P2、P3、P4、P5、P6……中的每一个物理存储区域中可以存储的索引数据的最大数量。
以下将更详细地说明根据本发明的第一实施例的存储器系统110的操作。
首先,存储器系统110可以检查主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据的节点信息[+ND]并且确定索引数据INDEX_DA<1:N>[+ND]的每个被包含在新节点NEW和休止节点REST之间的哪个节点中(1410)。
例如,在通过主机102管理的多个节点NODE<0:8>之中,第零节点NODE<0>、第三节点NODE<3>、第五节点NODE<5>、第六节点NODE<6>和第七节点NODE<7>可以被分类到休止节点REST中。因而,在被从主机102传输到存储器系统的多个索引数据INDEX_DA<1:N>[+ND]之中的包含在第零节点NODE<0>、第三节点NODE<3>、第五节点NODE<5>、第六节点NODE<6>和第七节点NODE<7>中的索引数据的每个可以含有表示包含索引数据的对应节点被包含在休止节点REST中的节点信息[+ND]。
另一方面,在通过主机102管理的多个节点NODE<0:8>之中,第一节点NODE<1>、第二节点NODE<2>、第四节点NODE<4>和第八节点NODE<8>可以被分类到新节点NEW中。因而,在被从主机102传输到存储器系统110的多个索引数据INDEX_DA<1:N>[+ND]之中的包含在第一节点NODE<1>、第二节点NODE<2>、第四节点NODE<4>和第八节点NODE<8>中的索引数据的每个可以含有表示包含索引数据的对应节点被包含在新节点NEW中的节点信息[+ND]。
如此,当存储器系统110检查主机102应用的索引数据INDEX_DA<1:N>[+ND]的每个的节点信息[+ND]时,存储器系统110可以识别对应的索引数据被包含在哪个节点中。
当在主机102应用的多个索引数据INDEX_DA<1:N>[+ND]之中检查到两个不同的索引数据为新节点NEW时,存储器系统110可以收集被分类到新节点NEW中的两个不同的索引数据并且将所收集的索引数据存储在一个物理存储区域P5或P6中(1420)。
被分类到新节点NEW中的两个索引数据可以存储在一个物理存储区域P5或P6中的原因在于:如参照图12C至图12F说明的,当索引数据被分类到新节点NEW中时,仅使用预定容量的一半,该预定容量对应于可以在以B-树结构管理的节点中的每一个节点中存储的索引数据的最大数量。
也就是,如图13所示,在主机102管理的B-树结构中被分类到新节点NEW中的第一节点NODE<1>、第二节点NODE<2>、第四节点NODE<4>和第八节点NODE<8>可以如下方式进行管理:仅将包含与可以存储在各节点NODE<0:8>中的索引数据的最大数量对应的四个索引数据之中的两个索引数据的空间设定为有效空间,剩余的空间被设定为空的空间。
在传统的方法中,当在通过主机102管理的B-树结构中包含的节点NODE<0:8>的每个占据了存储器系统110中的一个物理存储区域P0、P1、P2、P3、P4、P5、P6或……时,即使仅节点的存储空间的一半包含有效的索引数据,被分类到新节点NEW中的节点NODE<1、2、4、8>的每个应该使用一个物理存储区域P0、P1、P2、P3、P4、P5、P6或……的整个部分。
然而,如图14所示,根据本发明的第一实施例的存储器系统110可以收集被分类到新节点NEW中的节点NODE<1、2、4、8>之中的两个节点NODE<1、2>/NODE<4、8>,并且将两个节点存储在一个物理存储区域P5或P6中。因而,其中存储被分类到新节点NEW中的索引数据的物理存储区域P5或P6可以被与在各节点中可以存储的最大数量的索引数据对应的四个数据完全填充。
由于存储器系统110识别出与两个节点NODE<1、2>/NODE<4、8>对应的数据被存储在被分类到新节点NEW中的索引数据存储在其中的物理存储区域P5或P6中,因此即使当索引数据将来被更新到休止节点REST中时,存储器系统110也可以没有任何问题地管理被分类到新节点NEW中的索引数据。
当主机102应用的多个索引数据INDEX_DA<1:N>[+ND]之中检查到索引数据为休止节点REST时,存储器系统110可以将被分类到休止节点REST中的一个索引数据存储在一个物理存储区域P0、P1、P2、P3或P4中(1430)。
如此,当被分类到休止节点REST中的一个索引数据被存储在一个物理存储区域P0、P1、P2、P3或P4时,可以采用与传统方法相同的方式来存储索引数据。
例如,如图13和图14所示,在通过主机102管理的B-树结构中被分类到休止节点REST中的第零节点NODE<0>、第三节点NODE<3>、第五节点NODE<5>和第六节点NODE<6>中所包含的索引数据可以被分别存储在被包含在存储器系统110中的多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中的第零物理存储区域至第四物理存储区域P<0:4>中。
图15示出了在图13和图14中示出的数据处理系统100中包含在新节点NEW中的索引数据的逻辑地址和物理地址的映射方法不同于包含在休止节点REST中的索引数据的逻辑地址-物理地址的映射方法。
在图15中示出的表中,节点NODE<0:8>的每个可以由“逻辑地址”表示。
具体地,表示各个索引数据INDEX_DA<1:N>[+ND]的逻辑地址可以具有不同的值。然而,在图15中,不管在节点NODE<0:8>的每个节点中包含的索引数据的数量,可以给予节点NODE<0:8>中的每一个节点一个逻辑地址。
例如,参照图13和图14,第三节点NODE<3>可以包含三个索引数据。此时,在第三节点NODE<3>中包含的三个索引数据中的每一个索引数据可以具有不同的逻辑地址。然而,在图15中示出的表中,由于三个索引数据共同具有其中该三个索引数据被包含在第三节点NODE<3>中的共性,因此可以使该三个索引数据结合并且作为一个表值写入。
在图15中示出的表中,可以仅选择性地写入用于识别物理存储区域的值和特定值作为“物理地址”。此后,用于识别物理存储区域的值将被称为物理存储区域识别值。
首先,分别表示多个物理存储区域P0、P1、P2、P3、P4、P5、P6……的物理地址可以具有不同的值。
例如,在多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中,表示第零物理存储区域P0的物理地址值可以被设定为0,表示第一物理存储区域P1的物理地址值可以被设定为1,表示第二物理存储区域P2的物理地址值可以被设定为2,表示第三物理存储区域P3的物理地址值可以被设定为3,表示第四物理存储区域P4的物理地址值可以被设定为4,表示第五物理存储区域P5的物理地址值可以被设定为5,表示第六物理存储区域P6的物理地址值可以被设定为6,表示第七物理存储区域P7的物理地址值可以被设定为7,表示第八物理存储区域P8的物理地址值可以被设定为8。采用这种方式,表示各个物理存储区域P0、P1、P2、P3、P4、P5、P6……的物理地址可以具有不同的值。
此时,尽管在图15中没有详细地示出,但是除了用于识别多个物理存储区域P0、P1、P2、P3、P4、P5、P6……的值以外,“物理地址”可以包含没有具体定义其用途的值,例如,当假设“物理地址”包括32位时,32位中的一位或两位可以在没有具体定义其用途的状态下被管理。
通过使用在“物理地址”中没有具体定义其用途的特定值,根据本发明的第一实施例的存储器系统110可以将被分类到新节点NEW中的两个节点NODE<1、2>/NODE<4、8>连接到物理存储区域P0、P1、P2、P3、P4、P5、P6或……。
为了该操作,存储器系统110可以将仅其特定值彼此不同的两个物理地址分配到物理存储区域P0、P1、P2、P3、P4、P5、P6或……,并且将仅其特定值彼此不同的两个物理地址映射到表示被分类到新节点NEW中的两个节点NODE<1、2>/NODE<4、8>的两个不同的逻辑地址。
例如,如图15所示,表示在被分类到新节点NEW中的第一节点NODE<1>中包含的数据的逻辑地址可以具有物理存储区域识别值5和特定值0。此外,表示在被分类到新节点NEW中的第二节点NODE<2>中包含的数据的逻辑地址可以具有物理存储区域识别值5和特定值1。如此,被分类到新节点NEW中的第一节点NODE<1>和第二节点NODE<2>可以具有相同的物理存储区域识别值5,但是具有不同的特定值0和1。因而,被分类到新节点NEW中的第一节点NODE<1>和第二节点NODE<2>可以存储在存储器系统110的一个物理存储区域P5中,而各个节点的值可以通过特定值进行区别。
类似地,表示在被分类到新节点NEW中的第四节点NODE<4>中包含的数据的逻辑地址可以具有物理存储区域识别值6和特定值0。此外,表示在被分类到新节点NEW中的第八节点NODE<8>中包含的数据的逻辑地址可以具有物理存储区域识别值6和特定值1。如此,被分类到新节点NEW中的第四节点NODE<4>和第八节点NODE<8>可以具有相同的物理存储区域识别值6,但是可具有不同的特定值0和1。因而,被分类到新节点NEW中的第四节点NODE<4>和第八节点NODE<8>可以存储在存储器系统110的一个物理存储区域P6中,而各个节点的值可以通过它们的特定值进行区别。
此时,以下将更详细地说明用于将仅其特定值彼此不同的两个物理地址映射到表示被分类到新节点NEW中的两个节点NODE<1、2>/NODE<4、8>的两个不同的物理地址的方法。
主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据中包含的节点信息[+ND]可以包含用于识别对应的索引数据所位于的节点的识别(ID)信息和表示索引数据所位于的节点是包含在新节点NEW中还是休止节点REST中的指示信息(例如,旗标)。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第一节点NODE<1>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到特定值为0且物理存储区域识别值为5的物理地址。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第二节点NODE<2>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到特定值为1且物理存储区域识别值为5的物理地址。
通过上述过程,被分类到新节点NEW中的第一节点NODE<1>和第二节点NODE<2>中包含的索引数据可以被映射到具有相同的物理存储区域识别值5同时具有不同的特定值0和1的两个物理地址。因而,如图14所示,在被分类到新节点NEW中的第一节点NODE<1>和第二节点NODE<2>中包含的索引数据可以一起被存储在第五物理存储区域P5中。
类似地,在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第四节点NODE<4>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到特定值为0且物理存储区域识别值为6的物理地址。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第八节点NODE<8>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到特定值为1且物理存储区域识别值为6的物理地址。
通过上述过程,被分类到新节点NEW中的第四节点NODE<4>和第八节点NODE<8>中包含的索引数据可以被映射到具有相同的物理存储区域识别值6同时具有不同的特定值0和1的两个物理地址。因而,如图14所示,在被分类到新节点NEW中的第四节点NODE<4>和第八节点NODE<8>中包含的索引数据可以一起被存储在第六物理存储区域P6中。
在根据本发明的第一实施例的存储器系统110中,被分类到休止节点REST中的节点NODE<0、3、5、6、7>可以不使用在“物理地址”中没有具体限定其用途的特定值。也就是,可以将映射到表示包含在被分类到休止节点REST中的节点NODE<0、3、5、6、7>中的数据的逻辑地址的物理地址设定在物理地址具有仅一个特定值的状态下。
具体地,如上所述,主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据中包含的节点信息[+ND]可以包含用于识别对应的索引数据所位于的节点的ID信息(未示出)和表示索引数据所位于的节点是包含在新节点NEW中还是休止节点REST中的旗标信息(未示出)。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第零节点NODE<0>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为0且特定值为0的物理地址。此时,特定值为1且物理存储区域识别值为0的物理地址可以被设定为不被映射到表示任意其它节点的逻辑地址。因而,如图14所示,包含在被分类到休止节点REST中的第零节点NODE<0>中的索引数据可以单独存储在第零物理存储区域P0中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第三节点NODE<3>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为1且特定值为0的物理地址。此时,物理存储区域识别值为1且特定值为1的物理地址可以被设定为不被映射到表示任意其它节点的逻辑地址。因而,如图14所示,包含在被分类到休止节点REST中的第三节点NODE<3>中的索引数据可以单独存储在第一物理存储区域P1中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第五节点NODE<5>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为2且特定值为0的物理地址。此时,物理存储区域识别值为2且特定值为1的物理地址可以被设定为不被映射到表示任意其它节点的逻辑地址。因而,如图14所示,包含在被分类到休止节点REST中的第五节点NODE<5>中的索引数据可以单独存储在第二物理存储区域P2中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第六节点NODE<6>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为3且特定值为0的物理地址。此时,物理存储区域识别值为3且特定值为1的物理地址可以被设定为不被映射到表示任意其它节点的逻辑地址。因而,如图14所示,包含在被分类到休止节点REST中的第六节点NODE<6>中的索引数据可以单独存储在第三物理存储区域P3中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第七节点NODE<7>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为4且特定值为0的物理地址。此时,物理存储区域识别值为4且特定值为1的物理地址可以被设定为不被映射到表示任意其它节点的逻辑地址。因而,如图14所示,包含在被分类到休止节点REST中的第七节点NODE<7>中的索引数据可以单独存储在第四物理存储区域P4中。
图16是示出了根据本发明的第一实施例的数据处理系统的操作的流程图。
图16示出了根据本发明的第一实施例的存储器系统110存储多个索引数据INDEX_DA<1:N>[+ND]的序列。
具体地,在步骤S10中,存储器系统110可以检查在主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据中包含的节点信息[+ND],并且确定是被分类到新节点NEW中的索引数据被输入还是被分类到休止节点REST中的索引数据被输入。
此时,当从主机102输入的多个索引数据INDEX_DA<1:N>[+ND]是被分类到新节点NEW中的索引数据时,在步骤S20中,存储器系统110可以检查在存储器系统110中管理的多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中是否存在仅其一半被使用的物理存储区域。也就是,存储器系统110可以检查在存储器系统110中管理的多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中是否存在由于被分类到新节点NEW中的索引数据被先前地存储在其中而使得仅其一半被使用的物理存储区域。
当在多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中存在仅其一半被使用的物理存储区域时,在步骤S50中,存储器系统110可以使用对应的物理存储区域的另一半来存储在步骤S10中被输入的、分类到新节点NEW中的索引数据。
另一方面,当在多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中不存在仅其一半被使用的物理存储区域时,在步骤S30中,存储器系统110可以在多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中选择一个完全空的物理存储区域并且使用所选的物理存储区域的一半来存储在步骤S10中输入的、分类到新节点NEW中的索引数据。
此外,当从主机102输入的多个索引数据INDEX_DA<1:N>[+ND]是被分类到休止节点REST中的索引数据时,在步骤S40中,存储器系统110可以在多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中选择一个完全空的物理存储区域并且使用所选的物理存储区域的整个部分来存储在步骤S10中输入的、分类到休止节点REST中的索引数据。
通过存储在步骤S10中输入的、被分类到休止节点REST或新节点NEW中的索引数据的操作S30、S40或S50,在步骤S60中,存储器系统110可以更新地址映射表。
如上所述,当以B-树结构管理的多个索引数据之中被分类到休止节点REST中的索引数据被存储在物理空间中时,根据本发明的第一实施例的数据处理系统可以将包含在一个休止节点REST中的索引数据存储在一个物理存储区域中。然而,当被分类到新节点NEW中的索引数据被存储在物理空间时,数据处理系统可以收集在两个新节点NEW中包含的索引数据并且将所收集的索引数据存储在一个物理存储区域中。
因而,如下面图20所示,根据本发明的第一实施例的存储器系统中被占据来存储分类到新节点NEW中的索引数据的物理空间(新节点区域)可以减小到传统的存储器系统的物理空间的一半(30%→15%)。
<第二实施例>
通过参照图1中示出的数据处理系统100的配置,图17示出了根据本发明的第二实施例的用于执行管理索引数据的操作的数据处理系统100的配置。也就是,根据本发明的第二实施例的数据处理系统100可以包括主机102和存储器系统110。存储器系统110可以包括控制器130和非易失性存储器装置150。
图18是示出了在根据本发明的第二实施例的数据处理系统中用于索引数据的逻辑地址和物理地址之间的映射的示例的图。
图17和图18示出了根据对应的索引数据所位于的节点的状态而采用不同的形式存储在根据本发明的第二实施例的数据处理系统100中由主机102以B-树结构管理的索引数据INDEX_DA<1:N>[+ND]的每个。
具体地,由主机102以B-树结构管理的索引数据INDEX_DA<1:N>[+ND]的每个可以包含关于索引数据所位于的节点的节点信息[+ND]。此时,由主机102管理的B-树结构的各节点可以被设定为节点具有第一容量的状态。
存储器系统110可以具有被划分成每个与第二容量对应的多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……的内部物理存储空间。也就是,包含在存储器系统110中的存储器装置150的存储空间可以被划分成每个被设定为第二容量的多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……。
此时,第一容量可以为第二容量的两倍。
当假设第一容量为2时,如图12A至12F所示,包含在B-树结构中的节点中的每一个节点可以存储两个索引数据。此时,第二容量可以被设定为1。然而,根据设计者的选择,第一容量还可以被设定为大于2的数值。
此外,第二容量可以被设定为可以通过一次写入操作被写入在存储器系统110中包括的存储器装置150中的数据的最大容量。例如,当存储器装置150为非易失性存储器装置时,第二容量可以与可以通过一次写入操作被写入的页面的最大容量对应。
因而,可以使用两个物理存储区域来存储在B-树结构中包含的多个节点NODE<0:8>之中的一个节点中包含的索引数据。
图17和图18示出了假设第一容量为4的情况下在B-树结构的各节点中存储最多四个索引数据的示例。此时,第二容量可以被设定为2。
因而,如图17所示,由存储器系统110管理的物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……中的每一个物理存储区域可以存储最多两个索引数据。
此外,如图18所示,由主机102管理的B-树结构中包含的节点NODE<0:8>中的每一个节点可以包含最多四个数据。
因而,在图17和图18中示出的数据处理系统100中,可以存储在由主机102管理的B-树结构中包含的节点NODE<0:8>中的每一个节点中的索引数据的最大数量可以为可以存储在由存储器系统110管理的物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……中的每一个物理存储区域中的索引数据的最大数量的两倍。
因此,由主机102管理的B-树结构中包含的节点NODE<0:8>中的每一个节点可以被设定成与多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的两个物理存储区域对应。例如,在B-树结构中包含的多个节点NODE<0:8>之中的第零节点NODE<0>可以被设定成与多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第零物理存储区域P0和第一物理存储区域P1对应,并且第三节点NODE<3>可以被设定成与多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第二物理存储区域P2和第三物理存储区域P3对应。
以下将更详细地说明根据本发明的第二实施例的存储器系统110的操作。
首先,存储器系统110可以检查主机102应用的索引数据INDEX_DA<1:N>[+ND]中每一个索引数据的节点信息[+ND]并且确定索引数据INDEX_DA<1:N>[+ND]的每个被包含在新节点NEW和休止节点REST之间的哪个节点中。
例如,在由主机102管理的多个节点NODE<0:8>之中,第零节点NODE<0>、第三节点NODE<3>、第五节点NODE<5>、第六节点NODE<6>和第七节点NODE<7>可以被分类到休止节点REST中。因而,在从主机102传输到存储器系统的多个索引数据INDEX_DA<1:N>[+ND]之中的被包含在第零节点NODE<0>、第三节点NODE<3>、第五节点NODE<5>、第六节点NODE<6>和第七节点NODE<7>中的索引数据的每个可以含有节点信息[+ND],该节点信息[+ND]表示包括对应的索引数据的节点被包含在休止节点REST中。
另一方面,在由主机102管理的多个节点NODE<0:8>之中,第一节点NODE<1>、第二节点NODE<2>、第四节点NODE<4>和第八节点NODE<8>可以被分类到新节点NEW中。因而,在从主机102传输到存储器系统110的多个索引数据INDEX_DA<1:N>[+ND]之中的被包含在第一节点NODE<1>、第二节点NODE<2>、第四节点NODE<4>和第八节点NODE<8>中的索引数据的每个可以包含节点信息[+ND],该节点信息[+ND]表示包含对应的索引数据的节点被包含在新节点NEW中。
如此,当存储器系统110检查主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个的节点信息[+ND]时,存储器系统110可以识别对应的索引数据被包含在哪个节点中。
此外,当在主机102应用的多个索引数据INDEX_DA<1:N>[+ND]之中检查到索引数据为休止节点REST时,存储器系统110可以将被分类到休止节点REST中的一个索引数据存储在两个物理存储区域P0、P1/P2、P3/P4、P5/P6、P7/P8、P9中(1730)。
如此,在被分类到休止节点REST中的一个索引数据被存储在两个物理存储区域P0、P1/P2、P3/P4、P5/P6、P7/P8、P9中时,可采用与传统的方法同样的方式存储索引数据。
例如,如图17和图18所示,在主机102中管理的B-树结构中被分类到休止节点REST中的第零节点NODE<0>中所包含的索引数据可以存储在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第零物理存储区域P0和第一物理存储区域P1中。
在主机102中管理的B-树结构中被分类到休止节点REST中的第三节点NODE<3>中所包含的索引数据可以存储在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第二物理存储区域P2和第三物理存储区域P3中。
在主机102中管理的B-树结构中被分类到休止节点REST中的第五节点NODE<5>中所包含的索引数据可以存储在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第四物理存储区域P4和第五物理存储区域P5中。
在主机102中管理的B-树结构中被分类到休止节点REST中的第六节点NODE<6>中所包含的索引数据可以存储在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第六物理存储区域P6和第七物理存储区域P7中。
在主机102中管理的B-树结构中被分类到休止节点REST中的第七节点NODE<7>中所包含的索引数据可以存储在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中的第八物理存储区域P8和第九物理存储区域P9中。
当在主机102应用的多个索引数据INDEX_DA<1:N>[+ND]之中检查到索引数据为新节点NEW时,存储器系统110可以将被分类到新节点NEW中的一个索引数据存储在一个物理存储区域P10、P11、P12或P13(1720)。
被分类到新节点NEW中的一个索引数据可以存储在一个物理存储区域P10、P11、P12或P13中的原因在于:如参照图12A至图12F所说明的,当索引数据被分类到新节点NEW中时,仅使用了第一容量的一半,第一容量对应于可以存储在以B-树结构管理的节点中的每一个节点中的索引数据的最大数量。换句话说,也就是因为被分类到新节点NEW中的索引数据的数量始终与第二尺寸对应。
也就是,如图13所示,可以采用如下的方式管理在由主机102管理的B-树结构中被分类到新节点NEW中的第一节点NODE<1>、第二节点NODE<2>、第四节点NODE<4>和第八节点NODE<8>:仅包括与可以存储在节点NODE<0:8>中的每一个节点中的最大数量的索引数据对应的四个索引数据之中的两个索引数据的空间作为有效空间被管理,并且剩余的空间作为空的空间被管理。
因而,在传统的方法中,当由主机102管理的B-树结构中包含的节点NODE<0:8>中的每一个节点占据存储器系统110中的两个物理存储区域P0、P1/P2、P3/P4、P5/P6、P7/P8、P9时,即使仅节点的存储空间中的一半包含有效索引数据,分类到新节点NEW中的节点NODE<1、2、4、8>的每个也应该使用全部两个物理存储区域。
然而,当节点NODE<1、2、4、8>被分类到新节点NEW中时,如图17所示,根据本发明的第二实施例的存储器系统110可以将一个节点NODE<1、2、4、8>存储在一个物理存储区域P10、P11、P12或P13中。因而,其中如图17所示地存储被分类到新节点NEW中的索引数据的物理存储区域P10、P11、P12或P13可以被与可以存储在其中的索引数据的最大数量对应的两个数据完全填充。
由于存储器系统110识别出被分类到新节点NEW中的索引数据仅存储在一个物理存储区域P10、P11、P12或P13中,因此即使索引数据将来被更新到休止节点REST中,存储器系统110也可以在没有任何问题的情况下管理被分类到新节点NEW中的索引数据。
图18示出了在图17和图18中示出的数据处理系统100中新节点NEW中包含的索引数据的逻辑地址和物理地址的映射方法不同于包含在休止节点REST中的索引数据的逻辑地址-物理地址的映射方法。
在图18示出的表中,可以由“逻辑地址”表示节点NODE<0:8>的每一个节点。
具体地,表示各个索引数据INDEX_DA<1:N>[+ND]的逻辑地址可以具有不同的值。然而,在图15B中,不管在节点NODE<0:8>中的每一个节点中包含的索引数据的数量,可以给予节点NODE<0:8>中的每一个节点一个逻辑地址。
例如,参照图17和图18,第三节点NODE<3>可以包含三个索引数据。此时,在第三节点NODE<3>中包含的三个索引数据中的每一个索引数据可以具有不同的逻辑地址。然而,在图18中示出的表中,由于三个索引数据共同具有其中该三个索引数据被包含在第三节点NODE<3>中的共性,因此可以使该三个索引数据结合并且作为一个表值写入。
在图18中示出的表中,“物理地址”可以仅包含物理存储区域识别值。
分别表示多个物理存储区域P0、P1、P2、P3、P4、P5、P6……的物理地址可以具有不同的值。
例如,在多个物理存储区域P0、P1、P2、P3、P4、P5、P6……之中,表示第零物理存储区域P0的物理地址值可以被设定为0,表示第一物理存储区域P1的物理地址值可以被设定为1,表示第二物理存储区域P2的物理地址值可以被设定为2,表示第三物理存储区域P3的物理地址值可以被设定为3,表示第四物理存储区域P4的物理地址值可以被设定为4,表示第五物理存储区域P5的物理地址值可以被设定为5,表示第六物理存储区域P6的物理地址值可以被设定为6,表示第七物理存储区域P7的物理地址值可以被设定为7,表示第八物理存储区域P8的物理地址值可以被设定为8。采用这种方式,表示各个物理存储区域P0、P1、P2、P3、P4、P5、P6……的物理地址可以具有不同的值。
根据本发明的第二实施例的存储器系统110可以将被分类到新节点NEW中的节点NODE<1、2、4或8>映射到物理存储区域P10、P11、P12或P13。
因而,表示在被分类到新节点NEW中的第一节点NODE<1>中包括的数据的逻辑地址可以具有值为10的物理存储区域识别值。
此外,表示在被分类到新节点NEW中的第二节点NODE<2>中包括的数据的逻辑地址可以具有值为11的物理存储区域识别值。
此外,表示在被分类到新节点NEW中的第四节点NODE<4>中包括的数据的逻辑地址可以具有值为12的物理存储区域识别值。
此外,表示在被分类到新节点NEW中的第八节点NODE<8>中包括的数据的逻辑地址可以具有值为13的物理存储区域识别值。
此时,可以如下更详细地说明将表示被分类到新节点NEW中的一个节点NODE<1、2、4或8>的逻辑地址映射到物理地址的方法。
首先,主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据中包含的节点信息[+ND]可以包含用于识别对应的索引数据所位于的节点的ID信息(未示出)和表示索引数据所位于的节点是包含在新节点NEW中还是包含在休止节点REST中的旗标信息(未示出)。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第一节点NODE<1>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为10的物理地址。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第二节点NODE<2>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为11的物理地址。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第四节点NODE<4>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为12的物理地址。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第八节点NODE<8>对应的ID值同时包含被分类到新节点NEW中的旗标值的情况下,表示对应的索引数据的逻辑地址可以被映射到物理存储区域识别值为13的物理地址。
被分类到休止节点REST中的节点NODE<0、3、5、6、7>中的每一个节点可以被映射到两个物理存储区域P0、P1/P2、P3/P4、P5/P6、P7/P8、P9。
因而,表示在被分类到休止节点REST中的第零节点NODE<0>中包含的索引数据的逻辑地址可以具有0和1两个值作为物理存储区域识别值。
此外,表示在被分类到休止节点REST中的第三节点NODE<3>中包含的索引数据的逻辑地址可以具有2和3两个值作为物理存储区域识别值。
此外,表示在被分类到休止节点REST中的第五节点NODE<5>中包含的索引数据的逻辑地址可以具有4和5两个值作为物理存储区域识别值。
此外,表示在被分类到休止节点REST中的第六节点NODE<6>中包含的索引数据的逻辑地址可以具有6和7两个值作为物理存储区域识别值。
此外,表示在被分类到休止节点REST中的第七节点NODE<7>中包含的索引数据的逻辑地址可以具有8和9两个值作为物理存储区域识别值。
此时,可以如下更详细地说明将表示被分类到休止节点REST中的一个节点NODE<0、3、5、6、7>的逻辑地址映射到两个物理地址的方法。
具体地,如上所述,主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据中包含的节点信息[+ND]可以包含用于识别对应的索引数据所位于的节点的ID信息(未示出)和表示索引数据所位于的节点是包含在新节点NEW中还是包含在休止节点REST中的旗标信息(未示出)。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第零节点NODE<0>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,物理存储区域识别值为0的物理地址可以被映射到表示对应的索引数据的上半部分的逻辑地址,物理存储区域识别值为1的物理地址可以被映射到表示对应的索引数据的下半部分的逻辑地址。因而,如图17所示,在被分类到休止节点REST中的第零节点NODE<0>中包含的索引数据可以被划分且存储在第零物理存储区域P0和第一物理存储区域P1中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第三节点NODE<3>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,物理存储区域识别值为2的物理地址可以被映射到表示对应的索引数据的上半部分的逻辑地址,物理存储区域识别值为3的物理地址可以被映射到表示对应的索引数据的下半部分的逻辑地址。因而,如图17所示,在被分类到休止节点REST中的第三节点NODE<3>中包含的索引数据可以被划分且存储在第二物理存储区域P2和第三物理存储区域P3中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第五节点NODE<5>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,物理存储区域识别值为4的物理地址可以被映射到表示对应的索引数据的上半部分的逻辑地址,物理存储区域识别值为5的物理地址可以被映射到表示对应的索引数据的下半部分的逻辑地址。因而,如图17所示,在被分类到休止节点REST中的第五节点NODE<5>中包含的索引数据可以被划分且存储在第四物理存储区域P4和第五物理存储区域P5中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第六节点NODE<6>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,物理存储区域识别值为6的物理地址可以被映射到表示对应的索引数据的上半部分的逻辑地址,物理存储区域识别值为7的物理地址可以被映射到表示对应的索引数据的下半部分的逻辑地址。因而,如图17所示,在被分类到休止节点REST中的第六节点NODE<6>中包含的索引数据可以被划分且存储在第六物理存储区域P6和第七物理存储区域P7中。
在多个索引数据INDEX_DA<1:N>[+ND]之中,在索引数据根据节点信息[+ND]具有与第七节点NODE<7>对应的ID值同时包含被分类到休止节点REST中的旗标值的情况下,物理存储区域识别值为8的物理地址可以被映射到表示对应的索引数据的上半部分的逻辑地址,物理存储区域识别值为9的物理地址可以被映射到表示对应的索引数据的下半部分的逻辑地址。因而,如图17所示,在被分类到休止节点REST中的第七节点NODE<7>中包含的索引数据可以被划分且存储在第八物理存储区域P8和第九物理存储区域P9中。
图19是示出了根据本发明的第二实施例的数据处理系统的操作的流程图。
图19示出了存储器系统110存储多个索引数据INDEX_DA<1:N>[+ND]的序列。
具体地,在步骤S110中,存储器系统110可以检查在主机102应用的索引数据INDEX_DA<1:N>[+ND]中的每一个索引数据中包含的节点信息[+ND],并且确定是输入被分类到新节点NEW中的索引数据还是输入被分类到休止节点REST中的索引数据。
此时,当从主机102输入的多个索引数据INDEX_DA<1:N>[+ND]是被分类到新节点NEW中的索引数据时,在步骤S120中,存储器系统110可以在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中选择完全空的物理存储区域并且使用所有被选择的物理存储区域存储在步骤S110中输入的被分类到新节点NEW中的索引数据。
然后,当从主机102输入的多个索引数据INDEX_DA<1:N>[+ND]是被分类到休止节点REST中的索引数据时,在步骤S130中,存储器系统110可以在多个物理存储区域P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13……之中选择完全空的两个物理存储区域P0、P1/P2、P3/P4、P5/P6、P7/P8、P9并且使用所有被选择的物理存储区域存储在步骤S110中输入的被分类到休止节点REST中的索引数据。
通过存储在步骤S110中输入的被分类到休止节点REST或新节点NEW中的索引数据的操作S120或S130,在步骤S140中,存储器系统110可以更新地址映射表。
如上所述,当在以B-树结构管理的多个索引数据之中被分类到休止节点REST中的索引数据被存储在物理空间中时,根据本发明的第二实施例的数据处理系统可以将包含在一个休止节点REST中的索引数据存储在两个物理存储区域中。然而,当被分类到新节点NEW中的索引数据被存储在物理空间中时,数据处理系统可以将包含在一个新节点NEW中的索引数据存储在一个物理存储区域中。
因而,如图20所示,在根据本发明的第二实施例的存储器系统中被占据来存储分类到的新节点NEW中的索引数据的物理空间(新节点区域)可以减小到传统的存储器系统中的物理空间的一半(30%→15%)。
根据本发明的实施例,数据处理系统及其操作方法可以不同地控制用于将多个索引数据之中的包含在新节点中的索引数据存储到物理空间中的方法和用于将包含在休止节点而非新节点中的索引数据存储到物理空间中的方法。
因而,数据处理系统及其操作方法可以使由数据占据的物理空间的容量最小化。
尽管为了说明的目的已经说明了各种实施例,但是对于本领域技术人员显而易见的是,可以在不背离如权利要求书中限定的本发明的精神和/或范围的情况下进行各种变更和变型。

Claims (20)

1.一种数据处理系统,其包括:
主机,所述主机用于通过平衡树结构管理多个数据,在所述平衡树结构中,每个节点被设定为预定容量,其中所述数据的每个包含关于所述数据所位于的节点的信息来作为节点信息;以及
存储器系统,所述存储器系统具有每个与所述预定容量对应的多个物理存储区域,并且所述存储器系统适于基于在所述主机应用的所述数据中的每一个数据中包含的所述节点信息来收集在两个不同的新节点中包含的数据,并且将所收集的数据存储在所述多个物理存储区域中的一个物理存储区域中。
2.根据权利要求1所述的数据处理系统,其中,在非所述新节点的休止节点的情况下,所述存储器系统将包含在所述休止节点中的数据存储在所述多个物理存储区域中的一个物理存储区域中。
3.根据权利要求2所述的数据处理系统,其中,所述存储器系统将仅特定值彼此不同的两个物理地址分配到所述多个物理存储区域中的一个物理存储区域,然后所述存储器系统将仅特定值彼此不同的所述两个物理地址分别映射到表示两个所述新节点的两个不同的逻辑地址。
4.根据权利要求3所述的数据处理系统,其中,所述节点信息包括:
识别信息,即ID信息,所述识别信息用于识别对应的数据所位于的节点;以及
指示信息,所述指示信息表示所述数据所位于的所述节点是否为新节点。
5.根据权利要求4所述的数据处理系统,其中,当在所述多个数据之中,在根据所述指示信息被分类的所述新节点中包含的所述数据被分类成包括第一值的ID信息的第一节点的数据和包括第二值的ID信息的第二节点的数据时,所述存储器系统将仅特定值彼此不同的所述两个物理地址分别映射到表示所述第一节点和所述第二节点的两个不同的逻辑地址。
6.根据权利要求5所述的数据处理系统,其中,当在所述多个数据之中,在根据所述指示信息被分类的所述休止节点中包含的数据被分类成包括第三值的ID信息的第三节点的数据时,所述存储器系统将一个物理地址分配到所述多个物理存储区域中的一个物理存储区域并且将所分配的物理地址映射到表示所述第三节点的一个逻辑地址。
7.一种数据处理系统,其包括:
主机,所述主机适于通过平衡树结构管理多个数据,在所述平衡树结构中,每个节点被设定为第一容量,其中所述数据的每个包含关于所述数据所位于的节点的信息来作为节点信息;以及
存储器系统,所述存储器系统具有每个与为所述第一容量的一半的第二容量对应的多个物理存储区域,并且所述存储器系统适于基于在所述主机应用的所述数据中的每一个数据中包含的所述节点信息来将在一个新节点中包含的数据存储在所述多个物理存储区域中的一个物理存储区域中,并且将在一个休止节点中包含的数据存储在所述多个物理存储区域之中的两个物理存储区域中,所述休止节点表示不是所述新节点的节点。
8.根据权利要求7所述的数据处理系统,其中,所述节点信息包括:
识别信息,即ID信息,所述识别信息用于识别对应的数据所位于的节点;以及
指示信息,所述指示信息表示所述数据所位于的所述节点是否为新节点。
9.根据权利要求8所述的数据处理系统,其中,当在所述多个数据之中,在根据所述指示信息被分类的所述新节点中包含的所述数据被分类成包括第一值的ID信息的第一节点的数据和包括第二值的ID信息的第二节点的数据时,所述存储器系统将与两个不同的物理存储区域对应的两个不同的物理地址分别映射到表示所述第一节点和所述第二节点的两个不同的逻辑地址。
10.根据权利要求9所述的数据处理系统,其中,当在所述多个数据之中,在根据旗标信息被分类的所述休止节点中包含的数据被分类成包括第三值的ID信息的第三节点的数据时,所述存储器系统将与两个不同的物理区域对应的两个不同的物理地址中的任意一个物理地址映射到表示所述第三节点的上半部分的逻辑地址并且将另一物理地址映射到表示所述第三节点的下半部分的逻辑地址。
11.一种数据处理系统的操作方法,所述数据处理系统包括:主机,所述主机适于通过平衡树结构管理多个数据,在所述平衡树结构中,每个节点被设定为预定容量,其中所述数据的每个包含关于所述数据所位于的节点的信息来作为节点信息;以及存储器系统,所述存储器系统具有每个与所述预定容量对应的多个物理存储区域,
其中所述存储器系统的操作包括:
分离步骤,基于所述主机应用的所述数据的每个中包含的所述节点信息,将所述多个数据分离成包含在新节点中的数据和包含在表示非所述新节点的节点的休止节点中的数据;以及
第一存储步骤,在所述分离步骤之后,收集在两个不同的新节点中包含的数据并且将所收集的数据存储在所述多个物理存储区域中的一个物理存储区域中。
12.根据权利要求11所述的操作方法,其中,所述操作方法进一步包括在所述分离步骤之后,将在所述休止节点中包含的数据存储在所述多个物理存储区域中的一个物理存储区域中的第二存储步骤。
13.根据权利要求12所述的操作方法,其中,所述第一存储步骤包括:
将仅特定值彼此不同的两个物理地址分配到所述多个物理存储区域中的一个物理存储区域;并且
将仅特定值彼此不同的所述两个物理地址分别映射到表示两个所述新节点的两个不同的逻辑地址。
14.根据权利要求13所述的操作方法,其中,所述节点信息包括:
识别信息,即ID信息,所述识别信息用于识别对应的数据所位于的节点;以及
指示信息,所述指示信息表示所述数据所位于的所述节点是否为新节点。
15.根据权利要求14所述的操作方法,其中,当在所述分离步骤中参照所述指示信息被分类的所述新节点中包含的所述数据被分类成包含第一值的ID信息的第一节点的数据和包含第二值的ID信息的第二节点的数据时,
所述两个物理地址的映射包括将仅特定值彼此不同的所述两个物理地址分别映射到表示所述第一节点和所述第二节点的两个不同的逻辑地址。
16.根据权利要求15所述的操作方法,其中,当在所述分离步骤中参照所述指示信息被分类的所述休止节点中包含的所述数据被分类成包含第三值的ID信息的第三节点的数据时,
所述第二存储步骤包括将一个物理地址分配到所述多个物理存储区域中的一个物理存储区域,以及将所分配的物理地址映射到表示所述第三节点的一个逻辑地址。
17.一种数据处理系统的操作方法,所述数据处理系统包括:主机,所述主机适于通过平衡树结构管理多个数据,在所述平衡树结构中,每个节点被设定为第一容量,其中所述数据的每个包含关于所述数据所位于的节点的信息来作为节点信息;以及存储器系统,所述存储器系统具有每个与为所述第一容量的一半的第二容量对应的多个物理存储区域,
其中所述存储器系统的操作包括:
分离步骤,基于所述主机应用的所述数据的每个中包含的所述节点信息,将所述多个数据分离成包含在新节点中的数据和包含在表示非所述新节点的节点的休止节点中的数据;
第一存储步骤,在所述分离步骤之后,将在一个新节点中包含的数据存储在所述多个物理存储区域中的一个物理存储区域中;以及
第二存储步骤,在所述分离步骤之后,将在一个休止节点中包含的数据存储在所述多个物理存储区域之中的两个物理存储区域中。
18.根据权利要求17所述的操作方法,其中,所述节点信息包括:
识别信息,即ID信息,所述识别信息用于识别对应的数据所位于的节点;以及
指示信息,所述指示信息表示所述数据所位于的所述节点是否为新节点。
19.根据权利要求18所述的操作方法,其中,当在所述分离步骤中参照所述指示信息被分类的所述新节点中包含的所述数据被分类成包含第一值的ID信息的第一节点的数据和包含第二值的ID信息的第二节点的数据时,
所述第一存储步骤包括将与所述两个物理存储区域对应的两个不同的物理地址分别映射到表示所述第一节点和所述第二节点的两个不同的逻辑地址。
20.根据权利要求19所述的操作方法,其中,当在所述分离步骤中参照旗标信息被分类的所述休止节点中包含的所述数据被分类成包含第三值的ID信息的第三节点的数据时,
所述第二存储步骤包括将与两个不同的物理区域对应的两个不同的物理地址中的任意一个物理地址映射到表示所述第三节点的上半部分的逻辑地址,以及将另一物理地址映射到表示所述第三节点的下半部分的逻辑地址。
CN201610616614.1A 2015-12-21 2016-07-29 数据处理系统及其操作方法 Active CN106897025B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150182777A KR20170073944A (ko) 2015-12-21 2015-12-21 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
KR10-2015-0182777 2015-12-21

Publications (2)

Publication Number Publication Date
CN106897025A true CN106897025A (zh) 2017-06-27
CN106897025B CN106897025B (zh) 2020-07-14

Family

ID=59066372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610616614.1A Active CN106897025B (zh) 2015-12-21 2016-07-29 数据处理系统及其操作方法

Country Status (3)

Country Link
US (1) US10007617B2 (zh)
KR (1) KR20170073944A (zh)
CN (1) CN106897025B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995772A (zh) * 2022-08-08 2022-09-02 南京三百云信息科技有限公司 客户数据迁移存储方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102535700B1 (ko) * 2016-02-01 2023-05-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10976965B1 (en) * 2020-10-14 2021-04-13 First Capitol Consulting, Inc. Optimization of in-memory processing of data represented by an acyclic graph so that the removal and re-materialization of data in selected nodes is minimized
US11875036B2 (en) 2021-01-13 2024-01-16 Samsung Electronics Co., Ltd. Computing system including host and storage system and having increased write performance

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573746A (zh) * 2003-05-30 2005-02-02 微软公司 使用b树的位置访问
CN102067236A (zh) * 2008-06-12 2011-05-18 美光科技公司 在快闪存储器装置上存储数据的方法
CN102609530A (zh) * 2012-02-14 2012-07-25 江苏新大诚信息技术有限公司 一种分区域双树结构的空间数据库索引方法
CN102651009A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 一种存储系统中检索数据的方法和设备
US20130346725A1 (en) * 2012-06-20 2013-12-26 Microsoft Corporation Structuring storage based on latch-free b-trees
US20140281360A1 (en) * 2013-03-15 2014-09-18 Skyera, Inc. Apparatus and method for insertion and deletion in multi-dimensional to linear address space translation
US20150193489A1 (en) * 2014-01-06 2015-07-09 International Business Machines Corporation Representing dynamic trees in a database

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922389B1 (ko) 2007-07-04 2009-10-19 삼성전자주식회사 플래시 메모리를 위한 색인 스킴
GB0810695D0 (en) * 2008-06-12 2008-07-16 Metaforic Ltd Anti-tampering MMU defence
KR101377923B1 (ko) 2011-12-08 2014-03-24 한양대학교 에리카산학협력단 지연 갱신을 수행하는 b-트리를 사용하여 플래시 메모리 내에 데이터를 저장하는 장치 및 방법
US8943283B2 (en) * 2012-08-31 2015-01-27 International Business Machines Corporation Converting a first address mapping function for mapping addresses to storage locations to a second address mapping function
US9558297B1 (en) * 2014-03-27 2017-01-31 EMC IP Holding Company LLC Memory management techniques

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573746A (zh) * 2003-05-30 2005-02-02 微软公司 使用b树的位置访问
CN102067236A (zh) * 2008-06-12 2011-05-18 美光科技公司 在快闪存储器装置上存储数据的方法
CN102651009A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 一种存储系统中检索数据的方法和设备
CN102609530A (zh) * 2012-02-14 2012-07-25 江苏新大诚信息技术有限公司 一种分区域双树结构的空间数据库索引方法
US20130346725A1 (en) * 2012-06-20 2013-12-26 Microsoft Corporation Structuring storage based on latch-free b-trees
US20140281360A1 (en) * 2013-03-15 2014-09-18 Skyera, Inc. Apparatus and method for insertion and deletion in multi-dimensional to linear address space translation
US20150193489A1 (en) * 2014-01-06 2015-07-09 International Business Machines Corporation Representing dynamic trees in a database

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995772A (zh) * 2022-08-08 2022-09-02 南京三百云信息科技有限公司 客户数据迁移存储方法及装置

Also Published As

Publication number Publication date
US20170177494A1 (en) 2017-06-22
CN106897025B (zh) 2020-07-14
US10007617B2 (en) 2018-06-26
KR20170073944A (ko) 2017-06-29

Similar Documents

Publication Publication Date Title
CN106708757A (zh) 存储器系统及其操作方法
CN106776353B (zh) 存储器系统及其操作方法
CN106802769A (zh) 存储器系统及其操作方法
CN106909521A (zh) 存储器系统及其操作方法
CN105988938A (zh) 存储系统及其操作方法
CN105989885A (zh) 存储系统及其操作方法
CN106708744A (zh) 存储系统和存储系统的操作方法
CN106775444B (zh) 存储器系统及其操作方法
CN106257399A (zh) 存储系统及其操作方法
CN106776352A (zh) 存储器系统和存储器系统的操作方法
CN106847339A (zh) 存储器装置及其操作方法
CN106775442A (zh) 存储器系统及其操作方法
CN106648452A (zh) 存储器系统及其操作方法
CN106250052A (zh) 存储系统及其操作方法
CN106960679A (zh) 存储器系统及存储器系统的操作方法
CN107102815A (zh) 存储器系统及其操作方法
CN106920570A (zh) 存储器系统及其操作方法
CN106610904A (zh) 存储系统及其操作方法
CN106910521A (zh) 存储器系统及其操作方法
CN106598877A (zh) 存储器系统及该存储器系统的操作方法
CN106710615A (zh) 存储器系统和存储器系统的操作方法
CN106802770A (zh) 存储器系统及其操作方法
CN106919345A (zh) 存储器系统及其操作方法
CN106935264A (zh) 存储器系统及其操作方法
CN106933505A (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