CN109521946B - 数据处理系统及其操作方法 - Google Patents
数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN109521946B CN109521946B CN201810584635.9A CN201810584635A CN109521946B CN 109521946 B CN109521946 B CN 109521946B CN 201810584635 A CN201810584635 A CN 201810584635A CN 109521946 B CN109521946 B CN 109521946B
- Authority
- CN
- China
- Prior art keywords
- memory device
- memory
- data
- pointer
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims description 20
- 230000015654 memory Effects 0.000 claims abstract description 278
- 238000013500 data storage Methods 0.000 claims description 65
- 230000008859 change Effects 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 7
- 238000007667 floating Methods 0.000 claims description 6
- 229920000642 polymer Polymers 0.000 claims description 5
- VLCQZHSMCYCDJL-UHFFFAOYSA-N tribenuron methyl Chemical compound COC(=O)C1=CC=CC=C1S(=O)(=O)NC(=O)N(C)C1=NC(C)=NC(OC)=N1 VLCQZHSMCYCDJL-UHFFFAOYSA-N 0.000 description 100
- 238000010586 diagram Methods 0.000 description 23
- 239000000872 buffer Substances 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000012937 correction Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 6
- 238000013403 standard screening design Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 2
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- ACWBQPMHZXGDFX-QFIPXVFZSA-N valsartan Chemical compound C1=CC(CN(C(=O)CCCC)[C@@H](C(C)C)C(O)=O)=CC=C1C1=CC=CC=C1C1=NN=NN1 ACWBQPMHZXGDFX-QFIPXVFZSA-N 0.000 description 1
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
- 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
-
- 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
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0658—Controller construction arrangements
-
- 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
-
- 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
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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据处理系统,其包括:主机,其适于以包括指针值和关键值的树形结构来管理多个数据,数据中的每一个包括用于区分指针值和关键值的区别信息;以及存储器系统,其包括用于控制第一存储器装置和第二存储器装置的控制器,其中控制器基于区别信息将从主机施加的数据中的每一个划分成指针值和关键值,并且随后,将数据的指针值存储在第一存储器装置中并且将数据的关键值存储在第二存储器装置中。
Description
相关申请的交叉引用
本申请要求于2017年9月18日提交的申请号为10-2017-0119424的韩国专利申请的优先权,其公开整体通过引用并入本文。
技术领域
本发明的各个示例性实施例涉及一种以树形结构管理多个数据的数据处理系统以及数据处理系统的操作方法。
背景技术
计算机环境范例已经变为使得计算系统能够在任何时间和任何地点使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种能够有效地存储以树形结构管理的多个数据的数据处理系统以及该数据处理系统的操作方法。
根据本发明的实施例,一种数据处理系统包括:主机,其适于以包括指针值和关键值(key values)的树形结构来管理多个数据,数据中的每一个包括用于区分指针值和关键值的区别信息;以及存储器系统,其包括用于控制第一存储器装置和第二存储器装置的控制器,其中控制器基于区别信息将从主机施加的数据中的每一个划分成指针值和关键值,并且随后,将数据的指针值存储在第一存储器装置中并且将数据的关键值存储在第二存储器装置中。
当指针值在控制器中被更新时,第一存储器装置可以支持重写操作,并且指针值的物理位置可以不改变。
第一存储器装置可以是以下中的任何一种:动态随机存取存储器(DRAM)、静态RAM(SRAM)、相变RAM(PRAM)、纳米浮栅存储器(NFGM)、聚合物RAM(PoRAM)、磁性RAM(MRAM)、铁电RAM(FeRAM)和电阻式RAM(RRAM)。
每当在控制器中关键值被更新时,第二存储器装置可以不支持重写操作,并且关键值的物理位置可以改变。
第二存储器装置可以是闪速存储器。
控制器可以将存储数据的关键值的第二存储器装置的物理位置信息包括在第一存储器装置中存储的数据的指针值中。
第一存储器装置可以包括用于存储数据的指针值的多个第一数据存储区和对应于第一数据存储区域的多个第一元存储区域,并且其中控制器可以将数据的指针值存储在第一数据存储区域中,并且将第二存储器装置的物理位置信息存储在第一元存储区域中。
控制器可以将存储数据的关键值的第二存储器装置的物理位置信息包括在第一存储器装置中存储的数据的指针值中,并且将存储数据的指针值的第一存储器装置的物理位置信息包括在第二存储器装置中存储的数据的关键值中。
第一存储器装置可以包括用于存储数据的指针值的多个第一数据存储区域和对应于第一数据存储区域的多个第一元存储区域,其中第二存储器装置可以包括用于存储数据的关键值的多个第二数据存储区域以及对应于第二数据存储区域的多个第二元存储区域,并且其中控制器可以将数据的指针值存储在第一数据存储区域中,将第二存储器装置的位置信息存储在第一元存储区域中,将数据的关键值存储在第二数据存储区域中并且将第一存储器装置的位置信息存储在第二元存储区域中。
树形结构可以是平衡树结构。
根据本发明的实施例,一种数据处理系统的操作方法,该数据处理系统包括:主机,其以包括指针值和关键值的树形结构来管理多个数据,数据中的每一个包括用于区分指针值和关键值的区别信息,以及存储器系统,其包括用于控制第一存储器装置和第二存储器装置的控制器,该操作方法包括:基于区别信息将从主机施加的数据中的每一个划分成指针值和关键值;将数据的指针值存储在第一存储器装置中;以及将数据的关键值存储在第二存储器装置中。
第一存储器装置可以支持重写操作,并且当指针值通过指针值的存储被更新时,指针值的物理位置可以不改变。
第一存储器装置可以是以下中的任何一种:动态随机存取存储器(DRAM)、静态RAM(SRAM)、相变RAM(PRAM)、纳米浮栅存储器(NFGM)、聚合物RAM(PoRAM)、磁性RAM(MRAM)、铁电RAM(FeRAM)和电阻式RAM(RRAM)。
第二存储器装置可以不支持重写操作,并且每当关键值通过关键值的存储被更新时,关键值的物理位置可以改变。
第二存储器装置可以是闪速存储器。
指针值的存储将通过关键值的存储而被存储在第二存储器装置中的数据的关键值的物理位置信息包括在第一存储器装置中存储的数据的指针值中。
第一存储器装置可以包括用于存储数据的指针值的多个第一数据存储区和对应于第一数据存储区域的多个第一元存储区域,并且其中指针值的存储可以包括将数据的指针值存储在第一数据存储区域中,并且将第二存储器装置的物理位置信息存储在第一元存储区域中。
指针值的存储将通过关键值的存储而被存储在第二存储器装置中的数据的关键值的物理位置信息包括在第一存储器装置中存储的数据的指针值中,并且关键值的存储可以将通过指针值的存储而被存储在第一存储器装置中的数据的指针值的物理位置信息包括在第二存储器装置中存储的数据的关键值中。
第一存储器装置可以包括用于存储数据的指针值的多个第一数据存储区域和对应于第一数据存储区域的多个第一元存储区域,其中第二存储器装置可以包括用于存储数据的关键值的多个第二数据存储区域以及对应于第二数据存储区域的多个第二元存储区域,并且其中指针值的存储可以包括将数据的指针值存储在第一数据存储区域中,并且将第二存储器装置的位置信息存储在第一元存储区域中,并且其中关键值的存储可以包括将数据的关键值存储在第二数据存储区域中并且将第一存储器装置的位置信息存储在第二元存储区域中。
主机可以以平衡树结构管理数据。
根据本发明的实施例,一种存储器系统包括:重写支持存储器装置;闪速存储器装置;以及控制器,其适于控制重写支持存储器装置和闪速存储器装置将具有其节点的指针值和关键值的平衡树结构的数据存储在其中,其中控制器控制重写支持存储器装置在其中存储和更新指针值,并且其中控制器控制闪速存储器装置在其中存储和更新关键值。
控制器还可以生成存储在闪速存储器装置中的关键值的位置信息,并且其中控制器可以进一步控制重写支持存储器装置在其中存储和更新关键值的位置信息。
附图说明
图1是说明包括根据本发明的实施例的存储器系统的数据处理系统的框图。
图2是说明图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是说明图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是说明图2所示的存储器装置的示例性三维结构的框图。
图5是示出根据本发明的实施例的数据处理系统的操作的框图。
图6是示出根据本发明的实施例的主机以树形结构管理数据的操作的示图。
图7A和图7B是示出根据本发明的实施例的存储器系统管理数据的操作的示图。
图8至图16是示意性示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其它实施例、形式及其变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的各种特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是说明包括根据本发明的实施例的存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的非便携式电子装置。
主机102可以包括至少一个OS(操作系统),并且OS可以管理和控制主机102的总体功能和操作,并且在主机102和使用数据处理系统100或存储器系统110的用户之间提供操作。OS可以支持对应于用户的使用目的和使用的功能和操作。例如,根据主机102的移动性,OS可以被划分为通用OS和移动OS。根据用户的环境,通用OS可以被划分为个人OS和企业OS。例如,被配置为支持向一般用户提供服务的功能的个人OS可以包括Windows和Chrome,并且被配置为保护和支持高性能的企业OS可以包括Windows服务器、Linux和Unix。此外,配置为支持向用户提供移动服务并且系统的省电功能的移动OS可以包括安卓、iOS和WindowsMobile。主机102可以包括多个OS,并且执行OS以对存储器系统110执行对应于用户的请求的操作。此处,主机102可以将对应于用户的请求的多个命令提供给存储器系统110,并且因此存储器系统110可以执行对应于多个命令,即对应于用户的请求的某些操作。
存储器系统110可响应于主机102的请求操作以为主机102存储数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC,SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可通过各种类型的存储装置实施。包括在存储器系统110中的存储装置的非限制性示例可包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可为主机102存储数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。例如,控制器130和存储器装置150可以被集成为一个半导体器装置以构成SSD。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可以被提高。在另一示例中,控制器130和存储器装置150可以被集成为一个半导体器装置以构成存储卡。例如,控制器130和存储器装置150可以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡、CF卡、SMC(智能媒体卡)、记忆棒、包括RS-MMC和微型MMC的MMC、包括迷你SD、微型SD和SDHC的SD卡、或UFS装置。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。在实施例中,存储器装置150可包括多个存储器管芯(未示出),每个存储器可以包括多个平面(未示出),每个平面可以包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是具有三维(3D)堆叠结构的闪速存储器,其将在下文参照图4更详细地描述。
稍后将参照图2至图4详细描述存储器装置150的结构和存储器装置150的3D堆叠结构。稍后将参照图6详细描述存储器装置150包括多个存储器管芯,每个存储器管芯包括多个平面,并且每个平面包括多个存储块152至156,在此将省略对它们的进一步描述。因此,本文将省略重复的描述。
控制器130可响应于来自主机102的请求控制存储器装置150。具体地,控制器可以控制存储器装置150的读取操作、写入操作(也称为编程操作)和擦除操作。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储至存储器装置150中。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、诸如NAND闪速控制器的存储器接口单元142以及存储器144,其全部通过内部总线可操作地联接。
主机接口单元132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。主机接口单元132可以经由固件,即,用于与主机102交换数据的主机接口层(HIL)来驱动。
ECC单元138可以校正待由存储器装置150处理的数据的错误位,并且可以包括ECC编码器和ECC解码器。ECC编码器可对待被编程到存储器装置150中的数据执行错误校正编码以生成添加有奇偶校验位的数据。包括奇偶校验位的数据可以被存储在存储器装置150中。ECC解码器可检测并校正包括在从存储器装置150读取的数据中的错误。换言之,ECC单元138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不校正错误位,并且可输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
存储器接口单元142可用作存储器/存储接口,其用于接口连接控制器130和存储器装置150使得控制器130可以响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器接口单元142可以是NAND闪速控制器(NFC)并且可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。存储器接口单元142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口单元142可支持控制器130和存储器装置150之间的数据传输。存储器接口单元142可以经由固件,即,用于与存储器装置150交换数据的闪存接口层(FIL)来驱动。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
如上所述,存储器144可以包括编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存以及映射缓冲器/高速缓存,以存储在主机102和存储器装置150之间执行数据写入操作和读取操作所需的数据以及控制器130和存储器装置150执行这些操作所需的数据。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。并且,处理器134可以被实现为微处理器或中央处理单元(CPU)。
例如,控制器130可以通过被实施为微处理器、CPU等的处理器134在存储器装置150中执行由主机102请求的操作。换言之,控制器130可以执行对应于从主机102接收的命令的命令操作。在本文中,控制器130可以执行作为与从主机102接收的命令对应的命令操作的前台操作。例如,控制器130可以执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作,以及对应于作为设置命令的设置参数命令或设置特征命令的参数设置操作。
并且,控制器130可以通过被实施为微处理器或CPU的处理器134对存储器装置150执行后台操作。在本文中,对存储器装置150执行的后台操作可以包括:将被存储在存储器装置150的存储块152至156中的一些存储块中的数据复制并处理到其它存储块中的操作,例如,垃圾收集(GC)操作;在存储器装置150的存储块152至156之间或存储块152至156的数据之间执行交换的操作,例如,耗损均衡(WL)操作;将控制器130中存储的映射数据存储在存储器装置150的存储块152至156中的操作,例如,映射清除(flush)操作;或者管理存储器装置150的坏块的操作,例如,检测和处理包括在存储器装置150中的存储块152至156中的坏块的坏块管理操作。
并且,在根据本发明的实施例的存储器系统110中,例如,控制器130可以在存储器装置150中执行对应于从主机102接收的多个命令的多个命令操作,例如,对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作。并且,控制器130可以根据命令操作更新元数据(特别是映射数据)。
特别地,在根据本发明的实施例的存储器系统中,当存储器系统110的控制器130对包括在存储器装置150的多个存储块执行对应于从主机102接收的多个命令的多个命令操作时,例如,编程操作、读取操作和擦除操作,由于多个命令操作可能发生存储块的特性恶化,并且由于存储块中的特性恶化,存储器装置150的使用效率可能降低。因此,根据命令操作的执行,可以考虑存储器装置150的参数在存储器装置150中执行复制操作或交换操作。
例如,在根据本发明的实施例的存储器系统中,当控制器130对包括在存储器装置150中的存储块执行对应于从主机102接收的多个写入命令的编程操作时,控制器130可以对存储器装置150执行例如垃圾收集操作的复制操作,以提高包括在存储器系统110中的存储器装置150的使用效率。
并且,在根据本发明的实施例的存储器系统中,当控制器130对包括在存储器装置150中的存储块执行对应于从主机102接收的多个擦除命令的擦除操作时,包括在存储器装置150中的存储块中的每一个可以具有擦除计数限制,并且因此,控制器130可以在擦除计数限制的范围内执行对应于擦除命令的擦除操作。例如,当控制器130在超过擦除计数限制的同时对特定存储块执行擦除操作时,特定的存储块可能被视为可能不再可用的坏块。在本文中,存储器装置150的存储块的擦除计数限制可以表示可对存储器装置150的存储块执行擦除操作的最大计数。因此,在根据本发明的实施例的存储器系统中,可以在有限擦除计数的范围内对存储器装置150的存储块均匀地执行擦除操作。并且,为了确保对存储器装置150的存储块的擦除操作的操作可靠性,可以考虑到存储器装置150的存储块的参数、利用存储器装置150的存储块来处理数据。例如,可以在存储器装置150中执行交换操作,例如,耗损均衡操作。
并且,在根据本发明的实施例的存储器系统中,当控制器130对包括在存储器装置150中的存储块执行对应于从主机102接收的多个读取命令的读取操作时,在某些存储块中可能发生由重复读取操作引起的读取干扰,特别是当控制器130在某些存储块中重复执行读取操作时。因此,控制器130可以对特定存储块执行读取回收操作以保护由于读取干扰导致的特定存储块的数据丢失。换言之,在根据本发明的实施例的存储器系统中,控制器130可以执行作为对存储在特定存储块中的数据进行复制,并将复制的数据存储到存储器装置150中的其它存储块中的读取回收操作的复制操作。
在本文中,在根据本发明的实施例的存储器系统中,考虑到根据与从主机102接收的命令对应的命令操作的执行的参数,例如,根据编程操作的存储器装置150的存储块的有效页面计数(VPC)、根据擦除操作的擦除计数、根据编程操作的编程计数以及根据读取操作的读取计数,控制器130可以对一些存储块不仅执行交换操作和复制操作,而且还可以执行的坏块管理操作。并且,在根据本发明的实施例的存储器系统中,考虑到对应于对存储器装置150的存储块执行的交换操作和复制操作以及坏块管理操作的参数,控制器130可以对存储器装置150的存储块执行例如垃圾收集操作的复制操作。在本文中,在根据本发明的实施例的存储器系统中,由于稍后将参照图5至图7B详细描述考虑到对应于命令操作的参数,对应于从主机102接收的多个命令的命令操作的执行以及对存储器装置150执行的交换操作和复制操作的执行,因此将省略重复的描述。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行坏块管理操作,其用于检查被包括在存储器装置150中的多个存储块152至156中在编程操作期间由于例如NAND闪速存储器的存储器装置的特性发生编程失败的坏块。管理单元可将坏块的编程失败数据写入到新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
图2是说明在图1的存储器系统110中采用的存储器装置150的示例性配置的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK 0至BLOCK N-1,并且存储块BLOCK 0至BLOCK N-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。
并且,包括在各个存储块BLOCK 0至BLOCK N-1中的存储器单元可以是下列中的一个或多个:存储1位数据的单层单元(SLC)存储块或者存储2位数据的多层单元(MLC)存储块。因此,根据在存储块中的存储器单元的每一个中表示或存储的位的数量,存储器装置150可以包括SLC存储块或MLC存储块。SLC存储块可以包括由存储器单元实现的多个页面,每个存储器单元存储一位数据,并且通常可以具有高数据计算性能和高耐久性。MLC存储块可以包括由存储器单元实现的多个页面,每个存储器单元存储多位数据(例如,2位或更多位),并且通常可以具有比SLC存储块更大的数据存储空间,即更高的集成密度。在另一实施例中,存储器装置150可以包括多个三层单元(TLC)存储块。在又一实施例中,存储器装置150可以包括多个四层单元(QLC)存储块。TLC存储块可以包括由每一个能够存储3位数据的存储器单元实施的多个页面。QLC存储块可以包括由每一个能够存储4位数据的存储器单元实施的多个页面。为了便于描述,虽然本发明的实施例示例性地描述存储器装置150可以是非易失性存储器,但是其可以由以下中的任何一个来实施:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM(ReRAM))、铁电随机存取存储器(FRAM)以及自旋转移力矩磁阻随机存取存储器(STT-RAM(STT-MRAM))。
图3是说明存储器装置150中的存储块330的存储器单元阵列的示例性配置的电路图。例如,存储块330可以对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任一个。
参照图3,存储块330可以包括联接到多个相应的位线BL0至BLm-1的多个单元串340。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示共源线。每个单元串340可以电联接到位线BL、至少一个漏极选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL和共源线CSL。每列单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可串联地被联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可通过能够存储多位数据信息的MLC来实施。单元串340中的每一个可被电联接到多个位线BL0至BLm-1中的对应位线。例如,如图3所示,第一单元串被联接到第一位线BL0,最后的单元串被联接到最后的位线BLm-1。
虽然图3示出了NAND闪速存储器单元,但是本公开不限于此。应注意的是,存储器单元可以是NOR闪速存储器单元,或包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。还应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器装置。
存储器装置150可进一步包括提供字线电压的电压供应单元310,字线电压包括根据操作模式供应至字线的编程电压、读取电压和通过电压。电压供应单元310的电压生成操作可通过控制电路(未示出)来控制。在控制电路的控制下,电压供应单元310可选择存储器单元阵列的存储块(或扇区)中的一个、选择被选择的存储块的字线中的一个以及根据需要将字线电压提供给被选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是说明存储器装置150的示例性3D结构的示意图。
存储器装置150可通过2D或3D存储器装置来实施。特别地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,存储块中的每一个具有3D结构(或垂直结构)。
在下文中,将参照图5至图7B详细描述在根据本发明的实施例的存储器系统中针对存储器装置的数据处理操作,特别是当执行对应于从主机102接收的多个命令的多个命令操作时执行的数据处理操作。
图5是示出根据本发明的实施例的数据处理系统100的操作的框图。具体地,图5示出了数据处理系统100管理数据NODE_DA<0:N>的操作。
图6是示出根据本发明的实施例的主机102以树形结构管理数据的操作的示图。具体地,图6示出主机102在数据NODE_DA<0:N>对应于包括指针值和关键值的节点的树形结构中管理数据NODE_DA<0:N>的操作。
图6所示的树形结构可以是由以下四个特征定义的平衡树。
第一,树形结构具有多个节点0、1、2和3。节点0至3中的每一个具有多个关键值KEY_VALs(在图6中表示为“K”)。关键值KEY_VAL的数量的范围从1到H,H是等于或大于2的整数。
在树形结构中,叶节点位于树的最低层并且没有子节点,并且根节点位于树的最高层并且没有父节点。图6例示具有父-子关系的根节点0和叶节点1至3。
其次,除叶节点1至3之外的所有节点0中的每一个具有多个指针值POINTER_VAL(在图6中表示为“P”)。指针值POINTER_VAL的数量的范围从2到H+1。除了叶节点1至3之外的节点0的关键值KEY_VAL是子节点1、2和3之中的两个或更多个的关键值KEY_VAL中的一个。
第三,根节点0至少具有两个子节点。
最后,所有叶节点1、2和3具有相同的树层。
例如,如图6所示,主机102可以通过具有四个节点0、1、2和3的树形结构来管理数据NODE_DA<0:3>。根节点0可以包括两个关键值KEY_VAL和指示三个子节点1、2和3的三个指针值POINTER_VAL。另外,叶节点1、2和3的每一个可以包括两个关键值KEY_VAL和不指示任何子节点的三个指针值POINTER_VAL。
在这种平衡树结构中,当由于“游离树形结构(wandering tree structure)”的问题而对与数据NODE_DA<0:N>中的任何一个数据对应的子节点的关键值KEY-VAL执行更新时,还可以对相应父节点的指针值POINTER_VAL执行更新。例如,在图6中,当执行对子节点1的关键值KEY_VAL的更新时,还可以执行对父节点0的指针值POINTER_VAL的更新。
根据前述描述,多个节点0、1、2和3中的每一个可以包括指针值POINTER_VAL和关键值KEY_VAL。在数据NODE_DA<0:N>中的每一个中实际使用的值可以是关键值KEY_VAL,并且指针值POINTER_VAL可以是为了维持多个节点0、1、2和3的树形结构而添加到数据NODE_DA<0:N>的值。
根据现有技术的存储器系统,当数据NODE_DA<0:N>被存储在非易失性存储器装置中时,虽然存储各个数据NODE_DA<0:N>的区域是分开的,但是通常将单个数据存储在单个存储区域中。例如,通常将单个数据存储在单个页面中。特别地,因为数据NODE_DA<0:N>的大小并不小,通常将数据NODE_DA<0:N>存储在不支持重写操作但支持大容量的非易失性存储器装置中,诸如闪速存储器。
因此,每当节点的关键值KEY_VAL或指针值POINTER_VAL被更新时,存储相应数据的页面必须无效,并且更新的数据被存储在新页面中。
然而,由于“游离树形结构”的问题,数据NODE_DA<0:N>被更新以管理树形结构的次数,即,指针值POINTER_VAL被更新的次数,大于数据NODE_DA<0:N>的值被更新的次数,即,关键值KEY_VAL被更新的次数。换言之,在传统系统中,可能存在的问题在于:由于在树形结构中管理的数据NODE_DA<0:N>中发生的更新,存储区域被更新的次数可能变得太大。
以下根据本发明的实施例描述的数据处理系统100可以解决根据现有技术的数据处理系统中所示的问题。
再次参照图5,存储器系统110可以包括第一存储器装置1501和第二存储器装置1502。
主机102可以以树形结构来管理多个数据NODE_DA<0:N>[+PKD]。多个数据NODE_DA<0:N>[+PKD]中的每一个可以具有指针值POINTER_VAL<0:N>和关键值KEY_VAL<0:N>。用于区分指针值POINTER_VAL<0:N>和关键值KEY_VAL<0:N>的区别信息[+PKD]可以被包括在数据NODE_DA<0:N>[+PKD]中的每一个中。换言之,以上参照图6描述的主机102可以以树形结构管理具有指针值POINTER_VAL<0:N>和关键值KEY_VAL<0:N>的数据NODE_DA<0:N>[+PKD]。
在操作1301中,控制器130可以基于从主机102施加的数据NODE_DA<0:N>[+PKD]的区别信息[+PKD]将数据NODE_DA<0:N>[+PKD]中的每一个划分为指针值POINTER_VAL<0:N>和关键值KEY_VAL<0:N>。
在操作1302中,控制器130可以将各个数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>存储在第一存储器装置1501中。
在操作1303中,控制器130可以将相应数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>存储在第二存储器装置1502中。
第一存储器装置1501可以支持重写操作。例如,第一存储器装置1501可以是以下中的任何一种:动态随机存取存储器(DRAM)、静态RAM(SRAM)、相变RAM(PRAM)、纳米浮栅存储器(NFGM)、聚合物RAM(PoRAM)、磁性RAM(MRAM)、铁电RAM(FeRAM)和电阻式RAM(RRAM)。
因此,当存储在第一存储器装置1501中的各个数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>被更新时,其物理位置可能不被改变。换言之,一旦各个数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>中的每一个被存储在第一存储器装置1501中,除非数据NODE_DA<0:N>[+PKD]中的每一个被删除,否则存储的物理位置可以不被改变。
第二存储器装置1502可以不支持重写操作。例如,第二存储器装置1502可以是闪速存储器。
因此,每当存储在第二存储器装置1502中的各个数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>被更新时,其物理位置可以被改变。
在操作1304中,控制器130可以将表示数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>被存储在第二存储器装置1502中的位置的位置信息包括在被存储在第一存储器装置1501中的数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>中。
在操作1305中,控制器130可以将表示数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>被存储在第一存储器装置1501中的位置的位置信息包括在被存储在第二存储器装置1502中的数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>中。
根据设计,前述操作1304和1305两者都可以被应用,或者可以仅应用操作1304。
例如,在仅应用操作1304的本发明的第一实施例中,控制器130可以将表示数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>存储在第二存储器装置1502中的位置的位置信息包括在被存储在第一存储器装置1501中的数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>中,并且可以在第二存储器装置1502中仅存储数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>。下面将参照图7A更详细地描述控制器130的操作1301、1302、1303和1304。
例如,在应用操作1304和1305两者的本发明的第二实施例中,控制器130可以将表示数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>存储在第二存储器装置1502中的位置的位置信息包括在被存储在第一存储器装置1501中的数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>中,并且还可以将表示数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>被存储在第一存储器装置1501中的位置的位置信息包括在存储在第二存储器装置1502中的数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>中。下面将参照图7B更详细地描述控制器130的操作1301、1302、1303、1304和1305。
图7A和图7B是示出根据本发明的实施例的存储器系统管理数据的操作的示图。
在下文中,将提供关于如何处理在参照图5描述的数据处理系统100的存储器系统110中的操作期间从主机102传输的数据NODE_DA<0:N>[+PKD]的描述。
具体地,图7A示出根据本发明的第一实施例的参照图5所描述的控制器130的操作1301、1302、1303和1304。图7B示出根据本发明的第二实施例的参照图5所描述的控制器130的操作1301、1302、1303、1304和1305。
参照图7A,第一存储器装置1501可以包括多个第一数据存储区域DR<10:13>,其用于存储数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>;和多个第一元数据存储区域MR<10:13>,其对应于第一数据存储区域DR<10:13>。
第二存储器装置1502可以包括多个第二数据存储区域DR<20:23>,其用于存储数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>。
在操作1301中,控制器130可以基于区别信息[+PKD]将从主机102传输的数据NODE_DA<0:N>[+PKD]划分为指针值POINTER_VAL<0:N>和关键值KEY_VAL<0:N>。
在操作1302中,控制器130可以将数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>存储在第一存储器装置1501的第一数据存储区域DR<10:13>中。
在操作1303中,控制器130可以将数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>存储在第二存储器装置1502的第二数据存储区域DR<20:23>中。
在操作1304中,控制器130可以将表示其中数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>被存储在第二存储器装置1502中的第二数据存储区域DR<20:23>的位置信息DR<20:23>_PA存储在其中存储数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>的第一存储器装置1501的第一元存储区域MR<10:13>中。
当控制器130如上所述地操作时,存储在第一存储器装置1501的第一数据存储区域DR<10:13>中的数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>可以由在虚线框701中的树形结构表示。数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>仍表示树形结构。
进一步地,存储在第二存储器装置1502的第二数据存储区域DR<20:23>中的数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>可以由在虚线框702中的树形结构表示。
在该情况下,数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>可能不足以确定哪个节点包括树形结构中的关键值KEY_VAL<0:N>。因此,存储在第一存储器装置1501的第一元存储区域MR<10:13>中的、指示在第二存储器装置1502中存储数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>的第二数据存储区域DR<20:23>的位置信息DR<20:23>_PA可能是必需的。虚线703、704、705和706可以表示逻辑地链接树形结构的节点(即,数据NODE_DA<0:N>[+PKD])和关键值KEY_VAL<0:N>的位置信息。换言之,存储在第一存储器装置1501的第一数据存储区域DR<10:13>中的指针值POINTER_VAL<0:N>可以通过存储在第一元存储区域MR<10:13>中的位置信息DR<20:23>_PA而被逻辑地链接到存储在第二存储器装置1502的第二数据存储区域DR<20:23>中的关键值KEY_VAL<0:N>。
例如,当主机102在树形结构中管理四个数据NODE_DA<0:3>[+PKD]时,在操作1301中,存储器系统110的控制器130可以将从主机102传输的四个数据NODE_DA<0:3>[+PKD]划分成四个指针值POINTER_VAL<0:3>和四个关键值KEY_VAL<0:3>。
在操作1302中,控制器130可以将四个指针值POINTER_VAL<0:3>分别存储在第一存储器装置1501包括的第一数据存储区域DR<10:13>中。
在操作1303中,控制器130可以将四个关键值KEY_VAL<0:3>分别存储在第二存储器装置1502包括的第二数据存储区域DR<20:23>中。
在操作1304中,控制器130可以将表示其中数据NODE_DA<0:3>[+PKD]的关键值KEY_VAL<0:3>被存储在第二存储器装置1502中的第二数据存储区域DR<20:23>的位置信息DR<20:23>_PA存储在存储有数据NODE_DA<0:3>[+PKD]的指针值POINTER_VAL<0:3>的第一存储器装置1501中包括的第一元存储区域MR<10:13>中。
参照图7B,第一存储器装置1501可以包括用于存储数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>的多个第一数据存储区域DR<10:13>和对应于第一数据存储区域DR<10:13>的多个第一元数据存储区域MR<10:13>。
第二存储器装置1502可以包括用于存储数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>的多个第二数据存储区域DR<20:23>和对应于第二数据存储区域DR<20:23>的多个第二元数据存储区域MR<20:23>。
在操作1301中,控制器130可以基于区别信息[+PKD]将从主机102传输的数据NODE_DA<0:N>[+PKD]划分为指针值POINTER_VAL<0:N>和关键值KEY_VAL<0:N>。
在操作1302中,控制器130可以将数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>存储在第一存储器装置1501的第一数据存储区域DR<10:13>中。
在操作1303中,控制器130可以将数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>存储在第二存储器装置1502的第二数据存储区域DR<20:23>中。
在操作1304中,控制器130可以将表示其中数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>被存储在第二存储器装置1502中的第二数据存储区域DR<20:23>的位置信息DR<20:23>_PA存储在存储有数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>的第一存储器装置1501的第一元存储区域MR<10:13>中。
在操作1305中,控制器130可以表示其中数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>被存储在第一存储器装置1501中的第一数据存储区域DR<10:13>的位置信息DR<10:13>_PA存储在在存储有数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>的第二存储器装置1502的第二元存储区域MR<20:23>中。
当控制器130如上所述地操作时,存储在第一存储器装置1501的第一数据存储区域DR<10:13>中的数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>可以由在虚线框707中的树形结构表示。数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:N>仍表示树形结构。
进一步地,存储在第二存储器装置1502的第二数据存储区域DR<20:23>中的数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>可以由在虚线框708中的树形结构表示。
在该情况下,数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>可能不足以确定哪个节点包括树形结构中的关键值KEY_VAL<0:N>。因此,存储在第一存储器装置1501的第一元存储区域MR<10:13>中的、指示在第二存储器装置1502中存储数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>的第二数据存储区域DR<20:23>的位置信息DR<20:23>_PA可能是必需的。虚线709、710、711和712可以表示逻辑地链接树形结构的节点(即,数据NODE_DA<0:N>[+PKD])和关键值KEY_VAL<0:N>的位置信息。换言之,存储在第一存储器装置1501的第一数据存储区域DR<10:13>中的指针值POINTER_VAL<0:N>可以通过存储在第一元存储区域MR<10:13>中的位置信息DR<20:23>_PA而被逻辑地链接到存储在第二存储器装置1502的第二数据存储区域DR<20:23>中的关键值KEY_VAL<0:N>。
由于数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:N>被存储在不支持重写操作的第二存储器装置1502中,因此关键值KEY_VAL<0:N>可以随时被碎片化。为了有效地管理碎片化的关键值KEY_VAL<0:N>,可以确定碎片化的关键值KEY_VAL<0:N>位于哪个节点。因此,如由虚线709、710、711和712所表示的这种结构所示,指示第一存储器装置1501的第一数据存储区域DR<10:13>并且被存储在第二存储器装置1502的第二元存储区域MR<20:23>中的位置信息DR<20:23>_PA可能是必需的。换言之,存储在第二存储器装置1502的第二数据存储区域DR<20:23>中的关键值KEY_VAL<0:N>可以通过存储在第二元存储区域MR<20:23>中的位置信息DR<20:13>_PA而逻辑地链接到存储在第一存储器装置1501的第一数据存储区域DR<10:23>中的指针值POINTER_VAL<0:N>。
例如,当主机102在树形结构中管理四个数据NODE_DA<0:3>[+PKD]时,在操作1301中,存储器系统110的控制器130可以将从主机102传输的四个数据NODE_DA<0:3>[+PKD]划分成四个指针值POINTER_VAL<0:3>和四个关键值KEY_VAL<0:3>。
在操作1302中,控制器130可以将四个指针值POINTER_VAL<0:3>分别存储在第一存储器装置1501包括的第一数据存储区域DR<10:13>中。
在操作1303中,控制器130可以将四个关键值KEY_VAL<0:3>分别存储在第二存储器装置1502包括的第二数据存储区域DR<20:23>中。
在操作1304中,控制器130可以将表示其中数据NODE_DA<0:3>[+PKD]的关键值KEY_VAL<0:3>被存储在第二存储器装置1502中的第二数据存储区域DR<20:23>的位置信息DR<20:23>_PA存储在存储有数据NODE_DA<0:3>[+PKD]的指针值POINTER_VAL<0:3>的第一存储器装置1501中包括的第一元存储区域MR<10:13>中。
在操作1305中,控制器130可以将表示其中数据NODE_DA<0:N>[+PKD]的指针值POINTER_VAL<0:3>被存储在第一存储器装置1501中的第一数据存储区域DR<10:13>的位置信息DR<10:13>_PA存储在存储有数据NODE_DA<0:N>[+PKD]的关键值KEY_VAL<0:3>的第二存储器装置1502的第二元存储区域MR<20:23>中。
根据本发明的实施例,即使当出现“游离树形结构”的问题时,也可以防止存储数据NODE_DA<0:N>[+PKD]的空间过度增加。
当更新子节点的关键值KEY_VAL<0:N>,也更新父节点的指针值POINTER_VAL<0:N>时,出现“游离树形结构”的问题。
根据本发明的实施例,由于指针值POINTER_VAL<0:N>被存储在支持重写操作的第一存储器装置1501中,即使父节点的指针值POINTER_VAL<0:N>被更新,也可以不改变父节点的指针值POINTER_VAL<0:N>的物理存储位置。
因此,虽然在子节点的关键值KEY_VAL<0:N>被更新时,父节点的指针值POINTER_VAL<0:N>被更新,但是可能仅需要用于存储子节点的更新的关键值KEY_VAL<0:N>的额外空间,并且用于存储父节点的更新的指针值POINTER_VAL<0:N>的空间可以保持不变。因此,可以防止用于存储数据NODE_DA<0:N>[+PKD]的空间过度增加。
图8至图16是示意性示出根据各个实施例的图1至图6的数据处理系统的应用示例的示图。
图8是示意性地说明包括根据本实施例的存储器系统的数据处理系统的示例的示图。图8示意性地说明应用了根据本实施例的存储器系统的存储卡系统。
参照图8,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图6描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1至图6描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括在图1至图6中描述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。存储器装置6130可以包括如图5的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。另外,存储器控制器6120以及存储器装置6130可构成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图9是示意性说明包括存储器系统110的数据处理系统6200的另一实施例的示图。
参照图9,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图8所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图6中描述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图6中描述的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图10是示意性地说明包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图10示意性地说明应用了根据本实施例的存储器系统110的SSD。
参照图10,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图6的存储器系统110中的控制器130,并且存储器装置6340可对应于图1和图6的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图9说明缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1和图6的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图11是示意性地说明包括根据实施例的存储器系统的数据处理系统的另一实施例的示图。图11示意性地说明应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图11,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图6的存储器系统110中的控制器130,并且存储器装置6440可对应于图1和图6的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图12至图15是示意性地说明包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图12至图15示意性地说明应用了根据实施例的存储器系统的UFS(通用闪存)系统。
参照图12至图15,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1和图6中所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图9至图11描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图8描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
在图12所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接至主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至主机6510,并且多个UFS卡可并联或以星型形式连接至UFS装置6520,或者串联或以链型形式连接至UFS装置6520。
在图13所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图14所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交换模块6740,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图15所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接至主机6810且一个UFS卡6830连接至UFS装置6820的配置。然而,多个UFS装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个UFS卡可并联或以星型形式连接至UFS装置6820,或串联或以链型形式连接至UFS装置6820。
图16是示意性地说明包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图16示意性地说明应用了根据实施例的存储器系统的用户系统的示图。
参照图16,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户系统6900中的部件,并且包括控制包括在用户系统6900中的部件的控制器、接口和图形引擎。应用处理器6930可以被设置为片上系统(SoC)。
存储器模块6920可作为用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)来封装并安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940可支持有线通信,还可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可被应用于有线和/或无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可以将存储的数据传输到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移动存储介质。存储模块6950可对应于参照图1和图6描述的存储器系统110。此外,存储模块6950可以被实施为参照图10至图15描述的SSD、eMMC以及UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1和图6的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作通信模块以用于控制与外部装置的有线和/或无线通信。用户界面6910可以将由处理器6930处理的数据显示在移动电子装置的显示/触摸模块上,或者支持从触摸板接收数据的功能。
根据本发明的实施例,当包括以树形结构管理的指针值和关键值的多个数据被存储在存储器系统中时,虽然大小相对较小,但是相对经常更新的指针值可以被存储在支持重写操作的第一存储器装置中,并且虽然大小相对较大,但是不相对经常更新的关键值可以被存储在不支持重写操作的第二存储器装置中。因此,存储器系统可以根据它们的特性有效地存储数据的指针值和关键值。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (14)
1.一种数据处理系统,其包括:
主机,其适于以包括多个节点的树形结构来管理数据,每个节点包括一个或多个关键值和两个或更多个指针值,每个指针值指示子节点;以及
存储器系统,其包括用于控制支持重写操作的第一存储器装置和不支持重写操作的第二存储器装置的控制器,
其中所述控制器将所述多个节点的所述指针值存储在所述第一存储器装置中,将与指针值属于相同节点的关键值的位置信息存储在所述第一存储器装置中,并将所述多个节点的所述关键值存储在所述第二存储器装置中。
2.根据权利要求1所述的数据处理系统,其中所述第一存储器装置是以下中的任何一种:动态随机存取存储器,即DRAM、静态RAM,即SRAM、相变RAM,即PRAM、纳米浮栅存储器,即NFGM、聚合物RAM,即PoRAM、磁性RAM,即MRAM、铁电RAM,即FeRAM和电阻式RAM,即RRAM。
3.根据权利要求1所述的数据处理系统,其中所述第二存储器装置是闪速存储器。
4.根据权利要求1所述的数据处理系统,
其中所述第一存储器装置包括多个第一数据存储区域和对应于所述第一数据存储区域的多个第一元存储区域,并且
其中所述控制器将所述多个节点的所述指针值存储在所述第一数据存储区域中,并且将所述第二存储器装置的关键值的位置信息存储在所述第一元存储区域中。
5.根据权利要求4所述的数据处理系统,其中所述控制器将与关键值属于相同节点的指针值的位置信息存储在所述第二存储器装置中。
6.根据权利要求5所述的数据处理系统,
其中所述第二存储器装置包括多个第二数据存储区域和对应于所述第二数据存储区域的多个第二元存储区域,并且
其中所述控制器将所述数据的所述关键值存储在所述第二数据存储区域中并将所述第一存储器装置的指针值的位置信息存储在所述第二元存储区域中。
7.根据权利要求1所述的数据处理系统,其中所述树形结构是平衡树结构。
8.一种数据处理系统的操作方法,所述数据处理系统包括:主机,其以包括多个节点的树形结构来管理数据,每个节点包括一个或多个关键值和两个或更多个指针值,每个指针值指示子节点;以及存储器系统,其包括用于控制支持重写操作的第一存储器装置和不支持重写操作的第二存储器装置的控制器,所述操作方法包括:
将所述多个节点的所述指针值存储在所述第一存储器装置中;
将与指针值属于相同节点的关键值的位置信息存储在所述第一存储器装置中;以及
将所述多个节点的所述关键值存储在所述第二存储器装置中。
9.根据权利要求8所述的操作方法,其中所述第一存储器装置是以下中的任何一种:动态随机存取存储器,即DRAM、静态RAM,即SRAM、相变RAM,即PRAM、纳米浮栅存储器,即NFGM、聚合物RAM,即PoRAM、磁性RAM,即MRAM、铁电RAM,即FeRAM和电阻式RAM,即RRAM。
10.根据权利要求8所述的操作方法,其中所述第二存储器装置是闪速存储器。
11.根据权利要求8所述的操作方法,
其中所述第一存储器装置包括多个第一数据存储区域和对应于所述第一数据存储区域的多个第一元存储区域,
其中所述指针值的存储包括将所述数据的所述指针值存储在所述第一数据存储区域中,并且
其中所述关键值的位置信息的存储包括将所述关键值的位置信息存储在所述第一元存储区域中。
12.根据权利要求11所述的操作方法,进一步包括:
将与关键值属于相同节点的所述指针值的位置信息存储在所述第二存储器装置中。
13.根据权利要求12所述的操作方法,
其中所述第二存储器装置包括多个第二数据存储区域和对应于所述第二数据存储区域的多个第二元存储区域,
其中所述关键值的存储包括将所述数据的所述关键值存储在所述第二数据存储区域中,并且
其中所述指针值的位置信息的存储包括将所述指针值的位置信息存储在所述第二元存储区域中。
14.根据权利要求8所述的操作方法,其中所述树形结构是平衡树结构。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170119424A KR20190031692A (ko) | 2017-09-18 | 2017-09-18 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법 |
KR10-2017-0119424 | 2017-09-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109521946A CN109521946A (zh) | 2019-03-26 |
CN109521946B true CN109521946B (zh) | 2022-03-15 |
Family
ID=65720315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810584635.9A Expired - Fee Related CN109521946B (zh) | 2017-09-18 | 2018-06-08 | 数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190087114A1 (zh) |
KR (1) | KR20190031692A (zh) |
CN (1) | CN109521946B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394874A (zh) | 2019-08-13 | 2021-02-23 | 华为技术有限公司 | 一种键值kv的存储方法、装置及存储设备 |
US20220261363A1 (en) * | 2021-02-16 | 2022-08-18 | Micron Technology, Inc. | Controller for managing multiple types of memory |
US20220365705A1 (en) * | 2021-05-17 | 2022-11-17 | Micron Technology, Inc. | Object management in tiered memory systems |
CN117785018A (zh) * | 2022-09-22 | 2024-03-29 | 超聚变数字技术有限公司 | 键值存储方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4575798A (en) * | 1983-06-03 | 1986-03-11 | International Business Machines Corporation | External sorting using key value distribution and range formation |
JP4366845B2 (ja) * | 2000-07-24 | 2009-11-18 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びにプログラム提供媒体 |
US7210019B2 (en) * | 2004-03-05 | 2007-04-24 | Intel Corporation | Exclusive access for logical blocks |
US8589574B1 (en) * | 2005-12-29 | 2013-11-19 | Amazon Technologies, Inc. | Dynamic application instance discovery and state management within a distributed system |
KR100922389B1 (ko) * | 2007-07-04 | 2009-10-19 | 삼성전자주식회사 | 플래시 메모리를 위한 색인 스킴 |
JP4561872B2 (ja) * | 2008-05-15 | 2010-10-13 | ソニー株式会社 | 記録再生装置及び情報処理方法 |
CN101419571A (zh) * | 2008-12-04 | 2009-04-29 | 上海大学 | 基于Hash算法的在NOR FLASH中存储配置参数的方法 |
CN103548000A (zh) * | 2011-03-21 | 2014-01-29 | 惠普发展公司,有限责任合伙企业 | 数据备份优先化 |
KR20170027036A (ko) * | 2015-09-01 | 2017-03-09 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 |
US10866737B2 (en) * | 2015-09-17 | 2020-12-15 | Intel Corporation | Apparatus, method and system to store information for a solid state drive |
-
2017
- 2017-09-18 KR KR1020170119424A patent/KR20190031692A/ko unknown
-
2018
- 2018-04-06 US US15/947,271 patent/US20190087114A1/en not_active Abandoned
- 2018-06-08 CN CN201810584635.9A patent/CN109521946B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20190087114A1 (en) | 2019-03-21 |
CN109521946A (zh) | 2019-03-26 |
KR20190031692A (ko) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399311B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN107766257B (zh) | 存储器系统及其操作方法 | |
CN110765035B (zh) | 存储器系统及其操作方法 | |
CN107562649B (zh) | 存储器系统及其操作方法 | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109388594B (zh) | 存储器系统及其操作方法 | |
CN109284202B (zh) | 控制器及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN110058797B (zh) | 存储器系统及其操作方法 | |
US20180074718A1 (en) | Memory system and method for operating the same | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN109390003B (zh) | 存储器系统及其操作方法 | |
CN110321069B (zh) | 存储器系统及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN108121665B (zh) | 存储器系统及其操作方法 | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN110096385B (zh) | 存储器系统及其操作方法 | |
CN109697171B (zh) | 控制器及其操作方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN108932202B (zh) | 存储器系统及其操作方法 | |
CN110781095A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220315 |