CN105739914B - 数据处理系统及其操作方法 - Google Patents
数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN105739914B CN105739914B CN201510497274.0A CN201510497274A CN105739914B CN 105739914 B CN105739914 B CN 105739914B CN 201510497274 A CN201510497274 A CN 201510497274A CN 105739914 B CN105739914 B CN 105739914B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- host
- read
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000015654 memory Effects 0.000 claims abstract description 175
- 230000008569 process Effects 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 16
- 239000004020 conductor Substances 0.000 description 68
- 239000010410 layer Substances 0.000 description 62
- 239000003989 dielectric material Substances 0.000 description 29
- 239000000758 substrate Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 239000012634 fragment Substances 0.000 description 11
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 10
- 239000012535 impurity Substances 0.000 description 10
- 229910052710 silicon Inorganic materials 0.000 description 10
- 239000010703 silicon Substances 0.000 description 10
- 239000002210 silicon-based material Substances 0.000 description 10
- 239000000463 material Substances 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 239000002344 surface layer Substances 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 101150064834 ssl1 gene Proteins 0.000 description 5
- 101000641216 Aquareovirus G (isolate American grass carp/USA/PB01-155/-) Non-structural protein 4 Proteins 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 101150062870 ssl3 gene Proteins 0.000 description 3
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101000927946 Homo sapiens LisH domain-containing protein ARMC9 Proteins 0.000 description 2
- 102100036882 LisH domain-containing protein ARMC9 Human genes 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229910000449 hafnium oxide Inorganic materials 0.000 description 2
- WIHZLLGSGQNAGK-UHFFFAOYSA-N hafnium(4+);oxygen(2-) Chemical compound [O-2].[O-2].[Hf+4] WIHZLLGSGQNAGK-UHFFFAOYSA-N 0.000 description 2
- 239000007769 metal material Substances 0.000 description 2
- TWNQGVIAIRXVLR-UHFFFAOYSA-N oxo(oxoalumanyloxy)alumane Chemical compound O=[Al]O[Al]=O TWNQGVIAIRXVLR-UHFFFAOYSA-N 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 229910052814 silicon oxide Inorganic materials 0.000 description 2
- 101100321938 Arabidopsis thaliana AAPT2 gene Proteins 0.000 description 1
- 101100078997 Arabidopsis thaliana MWL1 gene Proteins 0.000 description 1
- 101100078998 Arabidopsis thaliana MWL2 gene Proteins 0.000 description 1
- 102100023708 Coiled-coil domain-containing protein 80 Human genes 0.000 description 1
- 102100034579 Desmoglein-1 Human genes 0.000 description 1
- 102100034578 Desmoglein-2 Human genes 0.000 description 1
- 101000978383 Homo sapiens Coiled-coil domain-containing protein 80 Proteins 0.000 description 1
- 101000924316 Homo sapiens Desmoglein-1 Proteins 0.000 description 1
- 101000924314 Homo sapiens Desmoglein-2 Proteins 0.000 description 1
- 101000949825 Homo sapiens Meiotic recombination protein DMC1/LIM15 homolog Proteins 0.000 description 1
- 101001046894 Homo sapiens Protein HID1 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 101150013204 MPS2 gene Proteins 0.000 description 1
- 102100022877 Protein HID1 Human genes 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 150000004767 nitrides Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
一种数据处理系统,包括:主机设备,被配置为传送读取/写入命令,读取/写入命令包括与从主机接收的数据请求相对应的数据的数据信息;以及存储系统,包括储存数据的存储块和高速缓存,被配置为从主机设备接收读取/写入命令、核查数据信息以及基于数据信息而在存储块或高速缓存中处理数据。
Description
相关申请的交叉引用
本申请要求于2014年12月19日在韩国知识产权局提交的第10-2014-0184812号韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体合并于此。
技术领域
本发明的示例性实施例涉及一种数据处理系统,更具体地,涉及一种处理主机与存储系统之间的数据的数据处理系统及其操作方法。
背景技术
最近,计算环境的范式已经变为普适计算,使得可以在任意时间和任意地点使用计算机系统。因为如此,诸如移动电话、数字相机以及笔记本计算机的便携式电子设备的使用已经迅速增加。这样的便携式电子设备通常使用具有存储器件(即,数据储存设备)的存储系统。数据储存设备用作便携式电子设备内的主存储器件或辅助存储器件。
具有存储器件的数据储存设备是有利的,因为:由于没有活动部件,故稳定性和耐久性优异,信息存取速度快,并且功耗低。具有拥有这些优点的存储系统的数据储存设备的例子包括:通用串行总线(USB)存储器件、具有各种接口的存储卡以及固态驱动(SSD)。
发明内容
各种实施例涉及一种可以在主机与存储系统之间快速且稳定地处理数据的数据处理系统及其操作方法。
在实施例中,数据处理系统可以包括:主机设备,适用于传送包括与从主机接收的数据请求相对应的数据的数据信息的读取/写入命令;以及存储系统,包括储存数据的存储块和高速缓存,并适用于从主机设备接收读取/写入命令、核查数据信息以及基于数据信息而在存储块或高速缓存中处理数据。
数据信息可以包括指示数据是否是热数据的信息,并在数据是热数据时包括数据的等级信息。
数据信息可以以上下文的形式包括在读取/写入命令中。
数据信息可以由基于数据请求的数据的读取计数或读取频率来确定。
主机设备可以包括:主机缓存,适用于通过LRU(最近最少使用)算法来更新并储存数据;以及列表缓存,适用于储存热数据的地址。
主机缓存可以划分成多个第一片段,数据可以基于数据请求而根据LRU算法中的LRU优先权来储存在主机缓存的第一片段中。
主机设备可以核查数据是否是在储存在主机缓存的第一片段中的数据,当核查为数据是储存在主机缓存的第一片段中的数据时,主机设备可以从主机缓存的第一片段读取数据或将数据写入到主机缓存的第一片段中。
列表缓存可以划分成多个第二片段,热数据的地址可以基于数据请求而按照热数据的等级来储存在列表缓存的第二片段中。
等级信息可以基于储存在列表缓存的第二片段中的热数据的地址而包括在读取/写入命令中。
高速缓存可以划分成多个第三片段,数据可以基于包括在读取/写入命令中的等级信息而按照数据的等级来储存在高速缓存的第三片段中。
存储系统可以核查数据是否是储存在高速缓存的第三片段中的数据,当核查为数据是储存在高速缓存的第三片段中的数据时,存储系统可以从高速缓存的第三片段读取数据或将数据写入高速缓存的第三片段中。
当基于数据信息而核查为数据不是热数据时,存储系统可以从存储块读取数据或将数据写入存储块中。
在实施例中,用于操作数据处理系统的方法包括:从主机接收数据请求;计数数据请求,并传送包括与数据请求相对应的数据的数据信息的读取/写入命令;核查包括在读取/写入命令中的数据信息;以及响应于数据信息而在多个存储块或高速缓存中处理数据。
数据信息可以包括指示数据是否是热数据的信息,并在数据是热数据时包括指示数据的等级的等级信息,数据信息可以基于数据请求而由数据的读取计数或读取频率来确定。
数据信息可以以上下文的形式包括在读取命令/写入命令中。
计数数据请求可以包括:基于数据请求而按照热数据的等级来将热数据的地址储存在列表缓存的第一片段中。
等级信息可以基于储存在列表缓存的第一片段中的热数据的地址而包括在读取/写入命令中。
在高速缓存中处理数据可以包括:核查数据是否是储存在高速缓存的第二片段中的数据,当核查为数据是储存在高速缓存的第二片段中的数据时,基于等级信息而按照数据的等级来从高速缓存的第二片段读取数据或将数据写入高速缓存的第二片段中。
在存储块中处理数据可以包括:当基于数据信息而核查为数据不是热数据时,从存储块读取数据或将数据写入存储块中。
接收数据请求可以包括:核查数据是否是通过LRU(最近最少使用)算法更新并储存在主机缓存的多个第三片段中的数据,在数据是更新并储存在主机缓存的第三片段中的数据时,基于数据请求而按照LRU算法中的LRU优先权来从主机缓存的第三片段读取数据或将数据写入主机缓存的第三片段中。
附图说明
图1是图示根据实施例的包括存储系统的数据处理系统的示图。
图2是图示在图1中示出的存储系统中的存储器件的示图。
图3是图示根据实施例的存储器件中的存储块的电路图。
图4到图11是示意性地图示根据实施例的存储系统中的存储器件的示图。
图12是用来帮助解释根据实施例的图1的数据处理系统中的数据处理操作的示意图。
图13是用来帮助解释根据实施例的在图1的数据处理系统中处理数据的操作过程的示意性流程图。
具体实施方式
下面将参照附图来更详细地描述各种实施例。然而,本发明可以以不同的形式实现,而不应解释为局限于此处阐述的实施例。相反地,提供这些实施例使得本公开将彻底的和完整的,这些实施例将把本发明的范围充分地传达给本领域技术人员。贯穿本公开,相同的附图标记在整个本发明的各种附图和实施中指代相同的部件。
附图未必按比例绘制,且在某些情况下,可以对比例进行夸大,以清楚地说明实施例的特征。当元件被称作连接或耦接到另一元件时,应当理解,前者可以直接连接或耦接到后者,或者经由它们之间的中间元件而电连接或耦接到后者。此外,当描述一个“包含”(或“包括”)或“具有”某些元件时,应当理解,如果没有特别限制,则其可以仅包含(或包括)或仅具有那些元件,或者其可以包含(或包括)或具有其他元件和那些元件。除非另外指出,否则单数形式的术语可以包括复数形式。
图1是图示根据本发明实施例的包括存储系统的数据处理系统的示图。
参见图1,数据处理系统100可以包括主机102和存储系统110。
例如,主机102包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子设备或者诸如台式计算机、游戏机、TV和投影仪的电子设备。
存储系统110响应于来自主机102的请求而操作,具体地,存储系统110储存要由主机102访问的数据。换言之,存储系统110可以用作主机102的主存储器件或辅助存储器件。根据与主机102电耦接的主机接口的协议,可以用各种储存设备中的任意一种来实施存储系统110。例如,可以用诸如固态驱动(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、小尺寸MMC(RS-MMC)和微型MMC、安全数字(SD)卡、迷你SD和微型SD、通用串行总线(USB)储存设备、通用闪存(UFS)设备、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒等的各种储存设备中的任意一种来实施存储系统110。
实现存储系统110的储存设备可以用易失性存储器件(诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM))或者非易失性存储器件(诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁式RAM(MRAM)和电阻式RAM(RRAM))来实施。
存储系统110包括:存储器件150,储存由主机102访问的数据;以及控制器130,控制存储器件150中的数据的储存。
控制器130和存储器件150可以集成在一个半导体设备中。例如,控制器130和存储器件150可以集成在一个半导体设备中而构成固态驱动(SSD)。当存储系统110用作SSD时,与存储系统110电耦接的主机102的操作速度可以显著提高。
控制器130和存储器件150可以集成在一个半导体设备中而构成存储卡。例如,控制器130和存储器件150可以集成在一个半导体设备中,而构成诸如个人计算机存储卡国际协会(PCMCIA)卡、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、RS-MMC和微型MMC、安全数字(SD)卡、迷你SD、微型SD和SDHC以及通用闪存(UFS)设备的存储卡。
对于另一个例子,存储系统110可以构成计算机、超移动PC(UMPC)、工作站、上网本、个人数字助手(PDA)、便携式计算机、网络板(web tablet)、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航设备、黑匣子、数字相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字录音机、数字音频播放器、数字图像记录仪、数字图像播放器、数字录像机、数字视频播放器、构成数据中心的储存器、能够在无线环境下传送并接收信息的设备、构成家庭网络的各种电子设备中的一种、构成计算机网络的各种电子设备中的一种、构成远程信息处理网络的各种电子设备中的一种、RFID设备或构成计算系统的各种组件中的一种。
存储系统110的存储器件150可以在电源被中断时保持储存的数据,具体地,在写入操作期间储存由主机102提供的数据,而在读取操作期间将储存的数据提供给主机102。存储器件150包括多个存储块152、154和156。存储块152、154和156中的每个包括多个页。每个页包括多个存储单元,多个字线(WL)电耦接到多个存储单元。存储器件150可以是非易失性存储器件,例如闪速存储器。闪速存储器可以具有三维(3D)层叠结构。由于后面将参照图2到图11详细地描述存储器件150的结构和存储器件150的三维(3D)层叠结构,故现在将省略对其的详细描述。
存储系统110的控制器130响应于来自主机102的请求而控制存储器件150。例如,控制器130将从存储器件150读取的数据提供给主机102,将由主机102提供的数据储存在存储器件150中。出于此目的,控制器130控制存储器件150的诸如读取操作、写入操作、编程操作和擦除操作的所有操作。
详细地,控制器130包括主机接口单元132、处理器134、错误校正码(ECC)单元138、电源管理单元140、NAND闪存控制器142和存储器144。
主机接口单元132处理由主机102提供的命令和数据,并可以被配置为通过各种接口协议中的至少一种来与主机102通信,各种接口协议为诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连-快速(PCI-E)、串行附加SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型盘接口(ESDI)和集成驱动电子(IDE)。
ECC单元138检测并校正在读取操作期间从存储器件150读取的数据中包含的错误。即,在对从存储器件150读取的数据执行错误校正解码操作之后,ECC单元138可以确定错误校正解码操作是否成功,响应于确定结果而输出指示信号,并基于由ECC编码过程所产生的校验位而校正读取数据的错误位。如果错误位的数目等于或者大于可校正错误位的阈值,则ECC单元138不能校正错误位,并可以输出指示不能校正错误位的错误校正失败信号。
ECC单元138可以基于诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格母(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、格码调制(TCM)、块编码调制(BCM)等的编码调制而执行错误校正操作。
NFC 142用作控制器130和存储器件150之间的存储器接口,以允许控制器130响应于来自主机102的请求而控制存储器件150。当存储器件150是闪存卡时,具体地,当存储器件150是NAND闪速存储器时,NFC 142产生用于存储器件150的控制信号,并在处理器134的控制下处理数据。
存储器144用作存储系统110和控制器130的工作存储器,并储存用于驱动存储系统110和控制器130的数据。详细地,当控制器130响应于来自主机102的请求而控制存储器件150时,例如,当控制器130将从存储器件150读取的数据提供给主机102,并将由主机102提供的数据储存在存储器件150中时,出于此目的,当控制器130控制存储器件150的诸如读取操作、写入操作、编程操作和擦除操作的操作时,存储器144储存允许由存储系统110来执行的操作所需要(即,在控制器130和存储器件150之间)的数据。
存储器144可以用易失性存储器来实施。例如,存储器144可以用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储器144储存在主机102与存储器件150之间执行读取操作和写入操作所需要的数据。为了储存数据,存储器144包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134控制存储系统110的常规操作,并响应于来自主机102的写入请求或读取请求而控制对存储器件150的写入操作或读取操作。处理器134驱动被称作闪存转换层(FTL)的固件,以控制存储系统110的常规操作。处理器134可以用微处理器或中央处理单元(CPU)来实施。
处理器134中包括用来执行存储器件150的“不良管理”(例如,不良块管理)的管理单元(未示出)。管理单元核查包括在存储器件150中的多个存储块,找到不良的(对于进一步使用来讲不满足条件的)存储块,并执行不良块管理。当存储器件150是闪速存储器(例如,NAND闪速存储器)时,在写入操作期间(例如,在编程操作期间)可能由于NAND逻辑函数的特性而出现编程失败。“不良管理”(即,不良块管理)表示将其中已经出现编程失败的存储块处理为不良,并在新的存储块中对编程失败的数据进行编程。在下文中,将参照图2到图11详细地描述根据实施例的存储系统中的存储器件。
图2是图示在图1中示出的存储系统110中的存储器件150的示图。
参见图2,存储器件150包括多个存储块,例如,第零块(BLOCK0)210、第一块(BLOCK1)220、第二块(BLOCK2)230和第N-1块(BLOCKN-1)240。块210、220、230和240中的每个包括多个页,例如,2M数目的页(2MPAGES)。虽然为了解释的方便而描述为多个存储块中的每个包括2M数目的页,但需要注意的是,多个存储块中的每个可以包括M数目的页。每个页包括多个存储单元,多个字线(WL)电耦接到多个存储单元。
此外,存储器件150根据在每个存储单元中可以储存或表达的比特数而可以包括如单层单元(SLC)存储块和多层单元(MLC)存储块的多个存储块。SLC存储块包括用存储单元(每个存储单元能够储存1比特数据)实施的多个页,可以具有高的数据计算性能和优良的耐久性。MLC存储块包括用存储单元(每个存储单元能够储存多比特数据,例如,两比特数据或更多比特数据)实施的多个页,可以具有比SLC存储块大的数据储存空间,即,可以高度集成。包括用每个存储单元能够储存3比特数据的存储单元实施的多个页的MLC存储块可以限定为三层单元(TLC)存储块。
存储块210、220、230和240中的每个在写入操作期间储存由图1中的主机设备102提供的数据,在读取操作期间将储存的数据提供给主机102。
图3是图示根据本发明实施例的存储器件中的存储块的电路图。
参见图3,存储器件300的存储块330可以包括分别电耦接到位线BL0到BLm-1的多个单元串340。每列的单元串340可以包括至少一个漏极选择晶体管DST以及至少一个源极选择晶体管SST。多个存储单元或多个存储单元晶体管MC0到MCn-1可以串联地电耦接在选择晶体管DST与SST之间。各存储单元MC0到MCn-1可以由多层单元(MLC)构成,每个多层单元(MLC)储存多个比特的数据信息。串340可以分别电耦接到对应的位线BL0到BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源极线。
虽然图3作为例子示出由NAND闪速存储单元构成的存储块330,但需要注意的是,根据实施例的存储器件300的存储块330不局限为NAND闪速存储器,而可以由NOR闪速存储器、其中组合至少两种类型的存储单元的混合闪速存储器或其中控制器置于存储芯片内的one-NAND闪速存储器来实现。半导体器件的操作特性不仅可以应用到其中电荷储存层由导电浮栅构成的闪速存储器件,还可以应用到其中电荷储存层由介电层构成的电荷俘获闪存(CTF)。
存储器件300的电压供给块310可以提供根据操作模式而供给给各字线的字线电压(例如,编程电压、读取电压和通过电压(pass voltage))以及供给给基体(bulk)(例如,其中形成有存储单元的阱区)的电压。电压供给块310可以在控制电路(未示出)的控制下执行电压发生操作。电压供给块310可以产生多个可变读取电压以产生多个读取数据,在控制电路的控制下选择存储单元阵列的存储块或扇区中的一个存储块或扇区,选择选中的存储块的字线中的一个,将字线电压提供给选中的字线和未选中的字线。
存储器件300的读取/写入电路320由控制电路控制,并可以根据操作模式而用作感测放大器或写入驱动器。例如,在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储单元阵列读取数据的感测放大器。此外,在编程操作期间,读取/写入电路320可以用作根据要储存在存储单元阵列中的数据而驱动位线的写入驱动器。读取/写入电路320可以在编程操作期间从缓冲器(未示出)接收要写入到存储单元阵列中的数据,并且可以根据输入数据而驱动位线。出于此目的,读取/写入电路320可以包括分别与列(或位线)或列对(或位线对)相对应的的多个页缓冲器322、324和326,在页缓冲器322、324和326的每个中可以包括多个锁存器(未示出)。
在下文中,将参照图4到图11对在存储器件用三维(3D)非易失性存储器件实施时的根据实施例的存储系统中的存储器件150进行详细描述。
图4是图示在图2中示出的存储器件150的存储块的框图。
参见图4,存储器件150可以包括多个存储块BLK0到BLKN-1,存储块BLK0到BLKN-1中的每个可以以三维(3D)结构或垂直结构来实现。例如,各存储块BLK0到BLKN-1可以包括在第一方向到第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的结构。
各存储块BLK0到BLKN-1可以包括在第二方向上延伸的多个NAND串NS。多个NAND串可以设置在第一方向和第三方向上。每个NAND串NS可以电耦接到位线BL、至少一个源极选择线SSL、至少一个地选择线GSL、多个字线WL、至少一个虚设字线DWL以及共源极线CSL。即,各存储块BLK0到BLKN-1可以电耦接到多个位线BL、多个源极选择线SSL、多个地选择线GSL、多个字线WL、多个虚设字线DWL以及多个共源极线CSL。
图5是在图4中示出的多个存储块BLK0到BLKN-1中的特定存储块的透视图。图6是沿着图5中示出的存储块BLKi的I-I’线截取的剖视图。
参见图5和图6,存储器件150的多个存储块之中的特定存储块BLKi可以包括在第一方向到第三方向上延伸的结构。
可以设置衬底5111。衬底5111可以包括用第一类型杂质掺杂的硅材料。例如,衬底5111可以包括用p型杂质掺杂的硅材料或者可以是p型阱(例如,袋状p阱(pocket p-well)),并包括围绕p型阱的n型阱。虽然在实施例中为了解释上的方便而假定衬底5111是p型硅,但需要注意的是,衬底5111不局限为p型硅。
在第一方向上延伸的多个掺杂区5311到5314可以设置在衬底5111之上。例如,多个掺杂区5311到5314可以包含与衬底5111不同的第二类型杂质。例如,多个掺杂区5311到5314可以用n型杂质掺杂。虽然在实施例中为了解释上的方便而假定第一掺杂区5311到第四掺杂区5314是n型,但需要注意的是,第一掺杂区5311到第四掺杂区5314不局限于n型。
在衬底5111之上的位于第一掺杂区5311和第二掺杂区5312之间的区域中,在第一方向上延伸的多个介电材料5112可以沿第二方向顺序地设置。例如,多个介电材料5112和衬底5111可以在第二方向上以预定距离相互分开。例如,多个介电材料5112可以在第二方向上以预定距离相互分开。例如,介电材料5112可以包括诸如氧化硅的介电材料。
在衬底5111之上的位于第一掺杂区5311和第二掺杂区5312之间的区域中,可以设置多个柱5113,多个柱5113顺序地设置在第一方向上并在第二方向上穿过介电材料5112。例如,多个柱5113可以分别穿过介电材料5112,并且可以与衬底5111电耦接。例如,每个柱5113可以由多种材料构成。例如,每个柱5113的表面层5114可以包括用第一类型的杂质掺杂的硅材料。例如,每个柱5113的表面层5114可以包括用与衬底5111相同类型的杂质掺杂的硅材料。虽然在实施例中为了解释上的方便而假定每个柱5113的表面层5114包括p型硅,但需要注意的是,每个柱5113的表面层5114不局限于p型硅。
每个柱5113的内层5115可以由介电材料形成。例如,每个柱5113的内层5115可以用诸如氧化硅的介电材料填充。
在第一掺杂区5311和第二掺杂区5312之间的区域中,介电层5116可以沿着介电材料5112、柱5113和衬底5111的暴露的表面而设置。例如,介电层5116的厚度可以比介电材料5112之间的距离的一半小。换言之,其中可以设置除介电材料5112和介电层5116之外的材料的区域,可以设置在(i)设置在介电材料5112中的第一介电材料的底表面之上的介电层5116与(ii)设置在介电材料5112中的第二介电材料的顶表面之上的介电层5116之间。介电材料5112位于第一介电材料之下。
在第一掺杂区5311与第二掺杂区5312之间的区域中,导电材料5211到5291可以设置在介电层5116的暴露的表面之上。例如,在第一方向上延伸的导电材料5211可以设置在与衬底5111相邻的介电材料5112与衬底5111之间。具体地,在第一方向上延伸的导电材料5211可以设置在(i)置于衬底5111之上的介电层5116与(ii)置于与衬底5111相邻的介电材料5112的底表面之上的介电层5116之间。
在第一方向上延伸的导电材料可以设置在(i)置于介电材料5112中的特定介电材料的顶表面之上的介电层5116与(ii)置于介电材料5112中的另一介电材料的底表面之上的介电层5116之间,该另一介电材料置于特定介电材料5112之上。例如,在第一方向上延伸的多个导电材料5221到5281可以设置在介电材料5112之间。在第一方向上延伸的导电材料5291可以设置在最上介电材料5112之上。例如,在第一方向上延伸的导电材料5211到5291可以是金属材料。例如,在第一方向上延伸的导电材料5211到5291可以是诸如多晶硅的导电材料。
在第二掺杂区5312与第三掺杂区5313之间的区域中,可以设置与第一掺杂区5311和第二掺杂区5312之间的结构相同的结构。例如,在第二掺杂区5312与第三掺杂区5313之间的区域中,可以设置:多个介电材料5112,在第一方向上延伸;多个柱5113,顺序地安置在第一方向上,并在第二方向上穿过多个介电材料5112;介电层5116,设置在多个介电材料5112和多个柱5113的暴露的表面之上;以及多个导电材料5212到5292,在第一方向上延伸。
在第三掺杂区5313与第四掺杂区5314之间的区域中,可以设置与第一掺杂区5311和第二掺杂区5312之间的结构相同的结构。例如,在第三掺杂区5313与第四掺杂区5314之间的区域中,可以设置:多个介电材料5112,在第一方向上延伸;多个柱5113,顺序地安置在第一方向上,并在第二方向上穿过多个介电材料5112;介电层5116,设置在多个介电材料5112和多个柱5113的暴露的表面之上;以及多个导电材料5213到5293,在第一方向上延伸。
漏极5320可以分别设置在多个柱5113之上。例如,漏极5320可以是用第二类型杂质掺杂的硅材料。例如,漏极5320可以是用n型杂质掺杂的硅材料。虽然为了方便而假定漏极5320包括n型硅,但需要注意的是,漏极5320不局限于n型硅。例如,每个漏极5320的宽度可以大于每个对应的柱5113的宽度。例如,每个漏极5320可以以焊垫形状设置于每个对应的柱5113的顶表面之上。
在第三方向上延伸的导电材料5331到5333可以设置在漏极5320之上。导电材料5331到5333可以沿第一方向顺序地设置。各导电材料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的剖面图。
参见图7,在图6中示出的晶体管结构TS中,介电层5116可以包括第一子介电层5117、第二子介电层5118和第三子介电层5119。
每个柱5113中的p型硅的表面层5114可以用作主体。与柱5113相邻的第一子介电层5117可以用作隧道介电层,并且可以包括热氧化层。
第二子介电层5118可以用作电荷储存层。例如,第二子介电层5118可以用作电荷俘获层,并且可以包括氮化物层或者诸如氧化铝层或氧化铪层等的金属氧化物层。
与导电材料5233相邻的第三子介电层5119可以用作阻挡介电层。例如,与在第一方向上延伸的导电材料5233相邻的第三子介电层5119可以形成为单层或多层。第三子介电层5119可以是诸如氧化铝层或氧化铪层等的具有比第一子介电层5117和第二子介电层5118大的介电常数的高k介电层。
导电材料5233可以用作栅极或控制栅极。即,栅极或控制栅极5233、阻挡介电层5119、电荷储存层5118、隧道介电层5117以及主体5114可以形成晶体管结构或存储单元晶体管结构。例如,第一子介电层5117到第三子介电层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串NS电耦接到一个位线BL的电荷俘获型存储器的NAND闪速存储块。
虽然在图5到图7中图示为在第一方向上延伸的导电材料5211到5291、5212到5292以及5213到5293设置为9层,但需要注意的是,在第一方向上延伸的导电材料5211到5291、5212到5292以及5213到5293不局限于设置为9层。例如,在第一方向上延伸的导电材料可以设置为8层、16层或任意多层。换言之,在一个NAND串NS中,晶体管的数目可以是8、16或更多。
虽然在图5到图7中图示为3个NAND串NS电耦接到一个位线BL,但需要注意的是,实施例不局限于3个NAND串NS电耦接到一个位线BL的情况。例如,在存储块BLKi中,m数目的NAND串NS可以电耦接到一个位线BL,m是正整数。根据电耦接到一个位线BL的NAND串NS的数目,也可以控制在第一方向上延伸的导电材料5211到5291、5212到5292以及5213到5293的数目以及共源极线5311到5314的数目。
此外,虽然在图5到图7中图示为3个NAND串NS电耦接到在第一方向上延伸的一个导电材料,但需要注意的是,实施例不局限于3个NAND串NS电耦接到在第一方向上延伸的一个导电材料的情况。例如,n个NAND串NS可以电耦接到在第一方向上延伸的一个导电材料,n是正整数。根据电耦接到在第一方向上延伸的一个导电材料的NAND串NS的数目,也可以控制位线5331到5333的数目。
图8是图示具有参照图5到图7描述的第一结构的存储块BLKi的等效电路图。
参见图8,在具有第一结构的特定块BLKi中,NAND串NS11到NS31可以设置在第一位线BL1和共源极线CSL之间。第一位线BL1可以对应于图5和图6中的在第三方向上延伸的导电材料5331。NAND串NS12到NS32可以设置在第二位线BL2与共源极线CSL之间。第二位线BL2可以对应于图5和图6中的在第三方向上延伸的导电材料5332。NAND串NS13到NS33可以设置在第三位线BL3和共源极线CSL之间。第三位线BL3可以对应于图5和图6中的在第三方向上延伸的导电材料5333。
每个NAND串NS的源极选择晶体管SST可以电耦接到对应的位线BL。每个NAND串NS的地选择晶体管GST可以电耦接到共源极线CSL。存储单元MC可以设置在每个NAND串NS的源极选择晶体管SST与地选择晶体管GST之间。
在实施例中,为了解释的方便,将作为例子来描述:NAND串NS可以通过行和列的单元来限定,共同电耦接到一个位线的NAND串NS可以形成一列。例如,电耦接到第一位线BL1的NAND串NS11到NS31可以对应于第一列,电耦接到第二位线BL2的NAND串NS12到NS32可以对应于第二列,电耦接到第三位线BL3的NAND串NS13到NS33可以对应于第三列。电耦接到一个源极选择线SSL的NAND串NS可以形成一行。例如,电耦接到第一源极选择线SSL1的NAND串NS11到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。在不同行中的源极选择晶体管SST可以分别电耦接到不同的源极选择线SSL1、SSL2和SSL3。
在同一行的NAND串NS中的位于相同高度的存储单元可以共享字线WL。即,在相同高度,电耦接到不同行中的NAND串NS的存储单元MC的字线WL可以共同地相互电耦接。相同行的NAND串NS中的位于相同高度的虚设存储单元DMC可以共享虚设字线DWL。即,在相同高度或水平,电耦接到不同行中的NAND串NS的虚设存储单元DMC的虚设字线DWL可以相互电耦接。
例如,位于相同水平或高度或层的字线WL或虚设字线DWL可以在设置有沿第一方向延伸的导电材料5211到5291、5212到5292以及5213到5293的层处,共同地相互电耦接。例如,沿第一方向延伸的导电材料5211到5291、5212到5292以及5213到5293可以通过接触而共同地电耦接到上层。在上层处,在第一方向上延伸的导电材料5211到5291、5212到5292以及5213到5293可以共同地相互电耦接。换言之,在同一行中的NAND串NS的地选择晶体管GST可以共享地选择线GSL。此外,在不同行中的NAND串NS的地选择晶体管GST可以共享地选择线GSL。即,NAND串NS11到NS13、NS21到NS23以及NS31到NS33可以共同地电耦接到地选择线GSL。
共源极线CSL可以共同地电耦接到NAND串NS。例如,在衬底5111上方的有源区之上,第一掺杂区5311到第四掺杂区5314可以相互电耦接。例如,第一掺杂区5311到第四掺杂区5314可以通过接触而电耦接到上层,在上层处,第一掺杂区5311到第四掺杂区5314可以共同地相互电耦接。
即,如图8中示出的,相同高度或水平的字线WL可以共同地相互电耦接。相应地,当选中处于特定高度的特定字线WL时,可以选中电耦接到该特定字线WL的所有NAND串NS。在不同行中的NAND串NS可以电耦接到不同的源极选择线SSL。相应地,在电耦接到同一字线WL的NAND串NS之中,通过选择源极选择线SSL1到SSL3中的一个,可以将未选中行中的NAND串NS与位线BL1到BL3电隔离。换言之,通过选择源极选择线SSL1到SSL3中的一个,可以选中一行的NAND串NS。此外,通过选择位线BL1到BL3中的一个,可以以列为单位来选择在选中行中的NAND串NS。
在每个NAND串NS中,可以设置虚设存储单元DMC。在图8中,虚设存储单元DMC设置在每个NAND串NS中的第三存储单元MC3与第四存储单元MC4之间。即,第一存储单元MC1到第三存储单元MC3可以设置在虚设存储单元DMC与地选择晶体管GST之间。第四存储单元MC4到第六存储单元MC6可以设置在虚设存储单元DMC与源极选择晶体管SST之间。每个NAND串NS的存储单元MC可以由虚设存储单元DMC划分成存储单元组。在划分的存储单元组中,与地选择晶体管GST相邻的存储单元(例如,MC1到MC3)可以称作下存储单元组,与源极选择晶体管SST相邻的存储单元(例如,MC4到MC6)可以称作上存储单元组。
在下文中,将参照图9到图11对根据实施例的存储系统中的存储器件用与第一结构不同的结构的三维(3D)非易失性存储器件来实施时的情况进行详细的描述。
图9是透视图,该透视图意性地图示在根据实施例的存储器件用与上面参照图5到图8描述的第一结构不同的第二结构的三维(3D)非易失性存储器件来实施时的结构,并示出图4的多个存储块中的具有第二结构的特定存储块BLKj,图10是图示沿着图9的VII-VII’线截取的特定存储块BLKj的剖面图。
参见图9和图10,图1的存储器件150的多个存储块之中的特定存储块BLKj可以包括在第一方向到第三方向上延伸的结构。
可以设置衬底6311。例如,衬底6311可以包括用第一类型杂质掺杂的硅材料。例如,衬底6311可以包括用p型杂质掺杂的硅材料或者可以是p型阱(例如,袋状p阱),并包括围绕p型阱的n型阱。虽然在实施例中为了解释的方便而假定衬底6311是p型硅,但需要注意的是,衬底6311不局限于p型硅。
在x轴方向和y轴方向上延伸的第一导电材料6321到第四导电材料6324设置在衬底6311之上。第一导电材料6321到第四导电材料6324在z轴方向上以预定距离分开。
在x轴方向和y轴方向上延伸的第五导电材料6325到第八导电材料6328设置在衬底6311之上。第五导电材料6325到第八导电材料6328设置为在z轴方向上以预定距离分开。第五导电材料6325到第八导电材料6328设置为在y轴方向上与第一导电材料6321到第四导电材料6324分开。
设置穿过第一导电材料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相同的材料。
在x轴方向和y轴方向上延伸的第二类型的掺杂材料6312设置在下柱DP之上。例如,第二类型的掺杂材料6312可以包括n型硅材料。第二类型的掺杂材料6312用作共源极线CSL。
漏极6340设置在上柱UP之上。例如,漏极6340可以包括n型硅材料。在y轴方向上延伸的第一上导电材料6351和第二上导电材料6352设置在漏极6340之上。
第一上导电材料6351和第二上导电材料6352在x轴方向上分开。例如,第一上导电材料6351和第二上导电材料6352可以由金属形成。例如,第一上导电材料6351和第二上导电材料6352与漏极6340可以通过接触插塞而相互电耦接。第一上导电材料6351和第二上导电材料6352分别用作第一位线BL1和第二位线BL2。
第一导电材料6321用作源极选择线SSL,第二导电材料6322用作第一虚设字线DWL1,第三导电材料6323和第四导电材料6324分别用作第一主字线MWL1和第二主字线MWL2。第五导电材料6325和第六导电材料6326分别用作第三主字线MWL3和第四主字线MWL4,第七导电材料6327用作第二虚设字线DWL2,第八导电材料6328用作漏极选择线DSL。
下柱DP以及与下柱DP相邻的第一导电材料6321到第四导电材料6324形成下串。上柱UP以及与上柱UP相邻的第五导电材料6325到第八导电材料6328形成上串。下串和上串通过管型栅PG而电耦接。下串的一端电耦接到用作公共源极线CSL的第二类型的掺杂材料6312。上串的一端经由漏极6340而电耦接到对应的位线。一个下串和一个上串形成一个单元串,单元串电耦接在用作公共源极线CSL的第二类型的掺杂材料6312与用作位线BL的上导电材料层6351和6352中的对应的一个之间。
即,下串包括源极选择晶体管SST、第一虚设存储单元DMC1以及第一主存储单元MMC1和第二主存储单元MMC2。上串包括第三主存储单元MMC3和第四主存储单元MMC4、第二虚设存储单元DMC2以及漏极选择晶体管DST。
在图9和图10中,上串和下串可以形成NAND串NS,NAND串NS可以包括多个晶体管结构TS。由于上面参照图7详细地描述了包括在图9和图10的NAND串NS中的晶体管结构,故此处将省略对其的详细描述。
图11是图示具有如上面参照图9和图10所描述的第二结构的存储块BLKj的等效电路的电路图。为了解释的方便,仅示出在以第二结构实现的特定存储块BLKj中成对的第一串和第二串。
参见图11,如上面参照图9和图10所描述的,在存储器件150的多个存储块之中的具有第二结构的特定存储块BLKj中,其中每个单元串用通过管型栅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。在下文中,将参照图12和图13对根据实施例的数据处理系统中的主机与存储系统之间的数据处理(即,数据读取操作和数据写入操作)进行详细地描述。
图12是帮助解释根据实施例的数据处理系统110中的数据处理操作的示意图。在下文中,为了简化解释,将作为例子来描述:当主机设备1200从图1中示出的数据处理系统100中的主机102接收数据请求(例如,数据读取请求或数据写入请求)时,与主机102相对应的主机设备1200与存储系统110中的数据处理,即,主机102与存储系统110之间的数据处理。
此外,尽管下面为了简化解释作为例子而将描述,作为主机设备1200的控制器的主机控制器1210和存储系统110的控制器130执行数据处理系统100中的数据处理操作,但需要注意的是,如上所述,包括在控制器130中的处理器134可以执行数据处理,主机控制器1210也可以包括用来执行数据处理的处理器(未示出)。
参见图12,数据处理系统100包括与主机102相对应的主机设备1200以及存储系统110。
主机设备1200包括:主机控制器1210,响应于来自主机102的数据请求(例如,数据读取请求和数据写入请求)来控制要执行的数据处理;以及主机缓存1220和列表缓存1230,在执行数据处理时储存对应的数据和信息。
当从主机102接收数据写入请求时,主机控制器1210控制主机设备1200,使得与数据写入请求相对应的数据储存在存储器件150中,相应地,主机设备1200将与数据写入请求相对应的数据和信息提供给存储系统110。当从主机102接收数据读取请求时,主机控制器1210控制主机设备1200,使得与数据读取请求相对应的数据提供给主机102,相应地,主机设备1200将与数据读取请求相对应的数据和信息提供给存储系统110。
主机缓存1220储存与从主机102接收的数据读取请求或数据写入请求相对应的数据,储存在主机缓存1220中的数据通过LRU(最近最少使用)算法而更新。主机缓存1220划分为多个片段1222、1224、1226和1228,数据响应于数据读取请求或数据写入请求通过LRU算法来更新并储存在主机缓存1220的片段1222、1224、1226和1228中。
通过对从主机102接收的数据写入请求或数据读取请求计数,列表缓存1230储存请求数目(即,请求计数或请求频率)超过预定阈值的数据(即,热数据)的信息(例如,地址)。列表缓存1230可以基于请求计数或请求频率而确定热数据的等级,即,可以基于请求计数或请求频率而顺序地安置热数据信息,然后按照等级来储存信息。此外,可以基于请求计数或请求频率来对热数据设定优先权,列表缓存1230可以基于优先权的设定来储存热数据信息。列表缓存1230划分成多个片段1232、1234、1236和1238,热数据的地址按照热数据的等级与数据读取请求或数据写入请求对应地储存在列表缓存1230的片段1232、1234、1236和1238中。
主机缓存1220和列表缓存1230可以以与上面参照图1描述的控制器130的存储器144相同的方式而实现为易失性存储器。例如,主机缓存1220和列表缓存1230中的每个可以实现为SRAM(静态随机存取存储器)或DRAM(动态随机存取存储器)。如上所述,主机缓存1220和列表缓存1230储存用于在主机102与存储系统110之间处理数据(例如,准备以及执行数据写入操作和数据读取操作)所必需的数据。
存储系统110包括:存储器件150,响应于来自如上所述的主机102的请求而储存由主机设备1200提供的数据;控制器130,控制数据储存到存储器件150;以及高速缓存1240,当在控制器130的控制下而在存储系统110中处理数据时,储存对应的数据。
高速缓存1240可以以与上面参照图1描述的控制器130的存储器144相同的方式来实现为易失性存储器。例如,高速缓存1240可以实现为SRAM(静态随机存取存储器)或DRAM(动态随机存取存储器)。高速缓存1240可以包括在控制器130的存储器144中。在下文中,为了简化解释,将作为例子来描述:高速缓存1240置于控制器130的外部但置于存储系统110中。
存储器件150包括多个存储块1250、1260和1270,存储块1250、1260和1270中的每个包括多个页Page0、Page1、Page2、Page3、Page4、Page5和Page6。在下文中,将对在从主机102接收数据请求时在数据处理系统100(具体地,主机设备1200和存储系统110)中的数据处理进行详细的描述。
首先,当主机设备1200从主机102接收数据请求时,主机控制器1210核查与数据请求(例如,数据读取请求或数据写入请求)相对应的数据是否是储存在主机缓存1220中的数据。如上所述,主机缓存1220储存与数据读取请求或数据写入请求相对应的数据,具体地,数据储存在主机缓存1220的片段1222、1224、1226和1228中。主机控制器1210响应于数据读取请求或数据写入请求而通过LRU算法来更新储存在主机缓存1220的片段1222、1224、1226和1228中的数据。
例如,与数据读取请求或数据写入请求相对应的数据通过LRU算法而被更新并储存在主机缓存1220的片段1222、1224、1226和1228中。具体地,响应于数据读取请求或数据写入请求,与数据读取请求或数据写入请求相对应的数据基于LRU算法中的LRU优先权而储存在主机缓存1220的片段1222、1224、1226和1228中。例如,基于数据读取请求或数据写入请求而具有LRU算法中的最高优先权的数据可以储存在主机缓存1220的片段101222中,具有次于储存在片段101222中的数据的优先权的数据可以储存在主机缓存1220的片段201224中。具有次于储存在片段201224中的数据的优先权的数据可以储存在主机缓存1220的片段301226中,基于数据读取请求或数据写入请求而具有LRU算法中的最低优先权的数据可以储存在主机缓存1220的片段401228中。
当与从主机102接收的数据读取请求或数据写入请求相对应的数据是储存在主机缓存1220中的数据时,在主机缓存1220中处理与从主机102接收的数据读取请求或数据写入请求相对应的数据,例如,在主机缓存1220中执行读取/写入操作。换言之,当与从主机102接收的数据读取请求相对应的数据是储存在主机缓存1220的片段1222、1224、1226和1228中的数据时,将储存在主机缓存1220的片段1222、1224、1226和1228中的数据提供给主机102,作为与来自主机102的数据读取请求相对应的数据。当与从主机102接收的数据写入请求相对应的数据是储存在主机缓存1220的片段1222、1224、1226和1228中的数据时,更新并储存与数据写入请求相对应的数据,作为储存在主机缓存1220的片段1222、1224、1226和1228中的数据。
当与从主机102接收的数据读取请求或数据写入请求相对应的数据不是储存在主机缓存1220中的数据时,主机控制器1210对从主机102接收的数据读取请求或数据写入请求计数,由此核查与数据读取请求或数据写入请求相对应的数据的请求计数或请求频率。此外,主机控制器1210核查请求计数或请求频率是否超过预定阈值,即,核查与数据读取请求或数据写入请求相对应的数据是否是热数据。
当与从主机接收的数据读取请求或数据写入请求相对应的数据不是热数据时,主机控制器1210将数据请求命令(例如,与从主机102接收的数据读取请求或数据写入请求相对应的数据读取命令或数据写入命令)传送给存储系统110。即,主机设备1200将与从主机102接收的数据读取请求或数据写入请求相对应的数据读取命令或数据写入命令传送给存储系统110。
存储系统110响应于从主机设备1200接收的数据请求命令(即,数据读取命令或数据写入命令)而处理存储器件150的存储块1250、1260和1270中的对应的数据(例如,执行读取/写入操作)。也就是说,存储系统110的控制器130从存储块1250、1260和1270中读取与从主机设备1200接收的数据读取命令相对应的数据,并将数据传送给主机设备1200,使得数据可以提供给主机102。此外,控制器130将与从主机设备1200接收的数据写入命令相对应的数据写入存储块1250、1260和1270中,由此将数据储存在存储器件150中。
当与从主机102接收的数据读取请求或数据写入请求相对应的数据是热数据时,主机控制器1210在列表缓存1230中更新与数据读取请求或数据写入请求相对应的数据的地址(即,热数据的地址)。如上所述,列表缓存1230划分成多个片段1232、1234、1236和1238,热数据的地址储存在列表缓存1230的片段1232、1234、1236和1238中。热数据的地址可以按照基于请求计数或请求频率的等级来储存。在基于请求计数或请求频率设定优先权之后,可以按照等级来储存热数据的地址。
例如,请求计数或请求频率具有最高等级的热数据的地址可以储存在列表缓存1230的片段A 1232中,请求计数或请求频率具有次于储存在片段A 1232中的热数据的等级的等级(即,高等级)的热数据的地址可以储存在列表缓存1230的片段B 1234中。请求计数或请求频率具有次于储存在片段B 1234中的热数据的等级的等级(即,低等级)的热数据的地址可以储存在列表缓存1230的片段C 1236中,请求计数或请求频率具有最低等级的热数据的地址可以储存在列表缓存1230的片段D 1238中。
储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址基于与从主机102接收的数据读取请求或数据写入请求相对应的请求计数或请求频率而更新,即,热数据的等级基于请求计数或请求频率而更新。相应地,热数据的地址按照等级来更新,并储存在列表缓存1230的片段1232、1234、1236和1238中。
在核查储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址之后,主机控制器1210将与从主机102接收的数据读取请求或数据写入请求相对应的数据(即,与储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址相对应的数据请求命令,例如,与从主机102接收的数据读取请求或数据写入请求相对应的数据读取命令或数据写入命令)传送给存储系统110。换言之,主机设备1200将与从主机102接收的数据读取请求或数据写入请求相对应的数据读取命令或数据写入命令以及储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址传送给存储系统110。
详细地,由于与从主机102接收的数据读取请求或数据写入请求相对应的数据不是热数据,故主机控制器1210通过储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址,将热数据的等级信息插入与从主机102接收的数据读取请求或数据写入请求相对应的数据读取命令或数据写入命令中,然后将包括热数据的等级信息的数据读取命令或数据写入命令传送给存储系统110。
与储存在列表缓存1230的片段1232、1234、1236和1238中的热数据相对应的热数据的等级信息可以以上下文的形式包括在数据读取命令或数据写入命令中。指示对应的数据是热数据的信息以及热数据的等级信息可以以上下文的形式包括在数据读取命令或数据写入命令中。
即,当与从主机102接收的数据读取请求或数据写入请求相对应的数据是热数据时,主机控制器1210通过储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址而将指示数据是热数据的信息以及热数据的等级信息以上下文的形式插入数据请求(即,数据读取命令或数据写入命令)中,并将数据读取命令或数据写入命令传送给存储系统110。
存储系统110响应于从主机设备1200接收的数据请求命令(即,数据读取命令或数据写入命令),处理存储系统110的高速缓存1240中的对应的数据(例如,执行读取/写入操作)。换言之,存储系统110的控制器130从高速缓存1240读取与从主机设备1200接收的数据读取命令相对应的数据,并将数据传送给主机设备1200,使得数据可以提供给主机102。此外,控制器130将与从主机设备1200接收的数据写入命令相对应的数据写入并储存在高速缓存1240中。
高速缓存1240划分成多个片段1242、1244、1246和1248,与储存在列表缓存1230的片段1232、1234、1236和1238中的地址相对应的热数据储存在高速缓存1240的片段1242、1244、1246和1248中。即,储存在高速缓存1240的片段1242、1244、1246和1248中的数据与储存在列表缓存1230的片段1232、1234、1236和1238中的热数据的地址相互映射。
例如,与储存在列表缓存1230的片段A 1232中的地址相对应的热数据(即,最高等级的热数据2)储存在高速缓存1240的片段1242中,与储存在列表缓存1230的片段B 1234中的地址相对应的热数据(即,高等级的热数据5)储存在高速缓存1240的片段1244中。与储存在列表缓存1230的片段C 1236中的地址相对应的热数据(即,低等级的热数据3)储存在高速缓存1240的片段1246中,与储存在列表缓存1230的片段D 1238中的地址相对应的热数据(即,最低等级的热数据6)储存在高速缓存1240的片段1248中。
也就是说,控制器130通过从主机设备1200接收的数据读取命令或数据写入命令,来核查由主机102请求的数据为热数据以及热数据的等级信息。此外,控制器130基于等级信息而按照热数据的等级来将热数据储存在高速缓存1240的片段1242、1244、1246和1248中。高速缓存1240的片段1242、1244、1246和1248可以通过按照等级划分来管理,并可以基于等级信息而对高速缓存1240的片段1242、1244、1246和1248设定优先权。换言之,控制器130可以在基于通过从主机设备1200接收的数据读取命令或数据写入命令而核查的等级信息来设定优先权以匹配列表缓存1230的片段1232、1234、1236和1238之后,将热数据按照等级储存在高速缓存1240的片段1242、1244、1246和1248中。
当通过从主机设备1200接收的数据读取命令或数据写入命令而核查到对应的热数据是储存在高速缓存1240的片段1242、1244、1246和1248中的数据时,如上所述,控制器130处理高速缓存1240的片段1242、1244、1246和1248中的对应的热数据。当对应的热数据不是储存在高速缓存1240的片段1242、1244、1246和1248中的数据时,控制器130从存储器件150的存储块1250、1260和1270读取对应的热数据,并在高速缓存1240的片段1242、1244、1246和1248中处理对应的热数据(即,执行读取/写入操作)。当通过从主机设备1200接收的数据读取命令或数据写入命令而核查到储存在高速缓存1240的片段1242、1244、1246和1248中的数据不是热数据(例如,是冷数据)时,控制器130读取储存在高速缓存1240的片段1242、1244、1246和1248中的冷数据,并在存储器件150的存储块1250、1260和1270中处理冷数据(例如,执行读取/写入操作)。在下文中,将参照图13详细地描述根据实施例的在数据处理系统中处理数据的操作。
图13是用来帮助解释根据实施例的在数据处理系统100中处理数据的操作过程的示意性流程图。
参见图13,在步骤1305,数据处理系统从主机接收数据请求,例如,数据读取请求或数据写入请求。
在步骤1310,核查由主机请求的数据(即,与从主机接收的数据请求相对应的数据)是否是储存在主机设备的主机缓存中的数据。
当作为在步骤1310的核查的结果而确定与从主机接收的数据读取请求或数据写入请求相对应的数据是储存在主机缓存中的数据时,在主机缓存中处理对应的数据,例如,在步骤1315执行用于从主机缓存读取对应的数据或将对应的数据写入主机缓存的操作。
当作为在步骤1310的核查的结果而确定与从主机接收的数据读取请求或数据写入请求相对应的数据不是储存在主机缓存中的数据时,在步骤1320,对从主机接收的数据请求(即,数据读取请求或数据写入请求)计数。也就是说,核查数据读取请求和数据写入请求的数目(即,请求计数或请求频率)。
然后,在步骤1325,核查数据请求计数(即,数据的请求计数或请求频率)是否超过预定阈值。换言之,核查与从主机接收的数据读取请求或数据写入请求相对应的数据是否是热数据。
当作为在步骤1325的核查结果而确定与从主机接收的数据读取请求或数据写入请求相对应的数据不是热数据时,在步骤1345,将与从主机接收的数据读取请求或数据写入请求相对应的数据请求命令(即,数据读取命令或数据写入命令)传送给存储系统。
其后,在步骤1350,由于与从主机接收的数据读取请求或数据写入请求相对应的数据不是热数据,故在存储块中处理对应的数据,例如,执行用于从存储块读取对应的数据的操作或用于将对应的数据写入存储块的操作。
当作为在步骤1325的核查结果而确定与从主机接收的数据读取请求或数据写入请求相对应的数据是热数据时,在步骤1330更新列表缓存,并在步骤1335将与从主机接收的数据读取请求或数据写入请求相对应的数据请求命令(即,数据读取命令或数据写入命令)传送给存储系统。指示数据是热数据的信息以及热数据的等级信息以上下文的形式包括在数据读取命令或数据写入命令中。
然后,在步骤1340,由于与从主机接收的数据读取请求或数据写入请求相对应的数据是热数据,故在存储系统的高速缓存中处理对应的数据,例如,执行用于从存储系统的高速缓存读取对应的数据的操作或用于将对应的数据写入存储系统的高速缓存中的操作。
因为上面参照图12详细地描述了数据处理系统中的数据处理,例如,用于核查与从主机接收的数据请求相对应的数据是否是热数据,以及基于核查结果来处理与从主机接收的数据请求相对应的数据的操作,故此处将省略对其的进一步描述。
如从上面描述所明显的,根据实施例的数据处理系统及其操作方法可以在主机与存储系统之间快速且稳定地处理数据。
尽管已经出于说明性目的描述了各种实施例,但对于本领域技术人员将明显的是,可以在不脱离如所附权利要求书中所限定的本发明的主旨和范围的情况下做出各种改变和修改。
通过以上实施例可见,本申请可以提供以下技术方案。
技术方案1.一种数据处理系统,包括:
主机设备,适用于传送读取/写入命令,读取/写入命令包括与从主机接收的数据请求相对应的数据的数据信息;以及
存储系统,包括储存所述数据的高速缓存和存储块,并适用于从主机设备接收读取/写入命令、核查数据信息以及基于数据信息而在存储块或高速缓存中处理所述数据。
技术方案2.根据技术方案1所述的数据处理系统,其中,数据信息包括指示所述数据是否是热数据的信息,并且在所述数据是热数据时包括所述数据的等级信息。
技术方案3.根据技术方案2所述的数据处理系统,其中,数据信息以上下文的形式包括在读取/写入命令中。
技术方案4.根据技术方案2所述的数据处理系统,其中,数据信息基于数据请求而由所述数据的读取计数或读取频率来确定。
技术方案5.根据技术方案2所述的数据处理系统,其中,主机设备包括:
主机缓存,适用于通过最近最少使用算法来更新并储存所述数据;以及
列表缓存,适用于储存热数据的地址。
技术方案6.根据技术方案5所述的数据处理系统,
其中,主机缓存划分成多个第一片段,以及
其中,所述数据基于数据请求而通过最近最少使用算法中的最近最少使用优先权来储存在主机缓存的第一片段中。
技术方案7.根据技术方案6所述的数据处理系统,其中,主机设备核查所述数据是否是储存在主机缓存的第一片段中的数据,并且当核查为所述数据是储存在主机设备的第一片段中的数据时,主机设备从主机缓存的第一片段读取所述数据或将所述数据写入主机缓存的第一片段。
技术方案8.根据技术方案5所述的数据处理系统,
其中,列表缓存划分成多个第二片段,以及
其中,热数据的地址基于数据请求而按照热数据的等级储存在列表缓存的第二片段中。
技术方案9.根据技术方案8所述的数据处理系统,其中,等级信息基于储存在列表缓存的第二片段中的热数据的地址而包括在读取/写入命令中。
技术方案10.根据技术方案9所述的数据处理系统,
其中,高速缓存划分成多个第三片段,以及
其中,所述数据基于包括在读取/写入命令中的等级信息而按照所述数据的等级来储存在高速缓存的第三片段中。
技术方案11.根据技术方案10所述的数据处理系统,其中,存储系统核查所述数据是否是储存在高速缓存的第三片段中的数据,并且当核查为所述数据是储存在高速缓存的第三片段中的数据时,存储系统从高速缓存的第三片段读取所述数据或将所述数据写入高速缓存的第三片段中。
技术方案12.根据技术方案2所述的数据处理系统,其中,当基于数据信息而核查为所述数据不是热数据时,存储系统从存储块读取所述数据或将所述数据写入存储块中。
技术方案13.一种用于操作数据处理系统的方法,包括:
从主机接收数据请求;
对数据请求计数并传送读取/写入命令,读取/写入命令包括与数据请求相对应的数据的数据信息;
核查包括在读取/写入命令中的数据信息;以及
响应于数据信息而在多个存储块或高速缓存中处理所述数据。
技术方案14.根据技术方案13所述的方法,其中,数据信息包括指示所述数据是否是热数据的信息,并且在所述数据是热数据时包括指示所述数据的等级的等级信息,数据信息基于数据请求而由所述数据的读取计数或读取频率确定。
技术方案15.根据技术方案14所述的方法,其中,数据信息以上下文的形式包括在读取/写入命令中。
技术方案16.根据技术方案14所述的方法,其中,对数据请求计数包括:
基于数据请求而按照热数据的等级来将热数据的地址储存在列表缓存的第一片段中。
技术方案17.根据技术方案16所述的方法,其中,等级信息基于储存在列表缓存的第一片段中的热数据的地址而包括在读取/写入命令中。
技术方案18.根据技术方案17所述的方法,其中,在高速缓存中处理所述数据包括:
核查所述数据是否是储存在高速缓存的第二片段中的数据;以及
当核查为所述数据是储存在高速缓存的第二片段中的数据时,基于等级信息而按照所述数据的等级来从高速缓存的第二片段读取所述数据或将所述数据写入高速缓存的第二片段中。
技术方案19.根据技术方案14所述的方法,其中,在存储块中处理所述数据包括:
当基于数据信息而核查为所述数据不是热数据时,从存储块读取所述数据或将所述数据写入存储块。
技术方案20.根据技术方案13所述的方法,其中,接收数据请求包括:
核查所述数据是否是通过最近最少使用算法而更新并储存在主机缓存的多个第三片段中的数据;以及
当所述数据是被更新并储存在主机缓存的第三片段中的数据时,基于数据请求而通过最近最少使用算法中的最近最少使用优先权来从主机缓存的第三片段读取所述数据或将所述数据写入主机缓存的第三片段中。
Claims (18)
1.一种数据处理系统,包括:
主机设备,适用于传送读取/写入命令,读取/写入命令包括与从主机接收的数据请求相对应的数据的数据信息;以及
存储系统,包括储存所述数据的高速缓存和存储块,并适用于从主机设备接收读取/写入命令、核查数据信息以及基于数据信息而在存储块或高速缓存中处理所述数据,
其中,数据信息包括指示所述数据是否是热数据的信息,并且在所述数据是热数据时包括所述数据的等级信息。
2.根据权利要求1所述的数据处理系统,其中,数据信息以上下文的形式包括在读取/写入命令中。
3.根据权利要求1所述的数据处理系统,其中,数据信息基于数据请求而由所述数据的读取计数或读取频率来确定。
4.根据权利要求1所述的数据处理系统,其中,主机设备包括:
主机缓存,适用于通过最近最少使用算法来更新并储存所述数据;以及
列表缓存,适用于储存热数据的地址。
5.根据权利要求4所述的数据处理系统,
其中,主机缓存划分成多个第一片段,以及
其中,所述数据基于数据请求而通过最近最少使用算法中的最近最少使用优先权来储存在主机缓存的第一片段中。
6.根据权利要求5所述的数据处理系统,其中,主机设备核查所述数据是否是储存在主机缓存的第一片段中的数据,并且当核查为所述数据是储存在主机设备的第一片段中的数据时,主机设备从主机缓存的第一片段读取所述数据或将所述数据写入主机缓存的第一片段。
7.根据权利要求4所述的数据处理系统,
其中,列表缓存划分成多个第二片段,以及
其中,热数据的地址基于数据请求而按照热数据的等级储存在列表缓存的第二片段中。
8.根据权利要求7所述的数据处理系统,其中,等级信息基于储存在列表缓存的第二片段中的热数据的地址而包括在读取/写入命令中。
9.根据权利要求8所述的数据处理系统,
其中,高速缓存划分成多个第三片段,以及
其中,所述数据基于包括在读取/写入命令中的等级信息而按照所述数据的等级来储存在高速缓存的第三片段中。
10.根据权利要求9所述的数据处理系统,其中,存储系统核查所述数据是否是储存在高速缓存的第三片段中的数据,并且当核查为所述数据是储存在高速缓存的第三片段中的数据时,存储系统从高速缓存的第三片段读取所述数据或将所述数据写入高速缓存的第三片段中。
11.根据权利要求1所述的数据处理系统,其中,当基于数据信息而核查为所述数据不是热数据时,存储系统从存储块读取所述数据或将所述数据写入存储块中。
12.一种用于操作数据处理系统的方法,包括:
从主机接收数据请求;
对数据请求计数并传送读取/写入命令,读取/写入命令包括与数据请求相对应的数据的数据信息;
核查包括在读取/写入命令中的数据信息;以及
响应于数据信息而在多个存储块或高速缓存中处理所述数据,
其中,数据信息包括指示所述数据是否是热数据的信息,并且在所述数据是热数据时包括指示所述数据的等级的等级信息,以及数据信息基于数据请求而由所述数据的读取计数或读取频率确定。
13.根据权利要求12所述的方法,其中,数据信息以上下文的形式包括在读取/写入命令中。
14.根据权利要求12所述的方法,其中,对数据请求计数包括:
基于数据请求而按照热数据的等级来将热数据的地址储存在列表缓存的第一片段中。
15.根据权利要求14所述的方法,其中,等级信息基于储存在列表缓存的第一片段中的热数据的地址而包括在读取/写入命令中。
16.根据权利要求15所述的方法,其中,在高速缓存中处理所述数据包括:
核查所述数据是否是储存在高速缓存的第二片段中的数据;以及
当核查为所述数据是储存在高速缓存的第二片段中的数据时,基于等级信息而按照所述数据的等级来从高速缓存的第二片段读取所述数据或将所述数据写入高速缓存的第二片段中。
17.根据权利要求12所述的方法,其中,在存储块中处理所述数据包括:
当基于数据信息而核查为所述数据不是热数据时,从存储块读取所述数据或将所述数据写入存储块。
18.根据权利要求16所述的方法,其中,接收数据请求包括:
核查所述数据是否是通过最近最少使用算法而更新并储存在主机缓存的多个第三片段中的数据;以及
当所述数据是被更新并储存在主机缓存的第三片段中的数据时,基于数据请求而通过最近最少使用算法中的最近最少使用优先权来从主机缓存的第三片段读取所述数据或将所述数据写入主机缓存的第三片段中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0184812 | 2014-12-19 | ||
KR1020140184812A KR102309471B1 (ko) | 2014-12-19 | 2014-12-19 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105739914A CN105739914A (zh) | 2016-07-06 |
CN105739914B true CN105739914B (zh) | 2020-06-09 |
Family
ID=56129563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510497274.0A Active CN105739914B (zh) | 2014-12-19 | 2015-08-13 | 数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9652380B2 (zh) |
KR (1) | KR102309471B1 (zh) |
CN (1) | CN105739914B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US11977484B2 (en) | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US10698732B2 (en) * | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
KR102540765B1 (ko) * | 2016-09-07 | 2023-06-08 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
US11360704B2 (en) | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
KR20210111993A (ko) * | 2020-03-04 | 2021-09-14 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
KR20210157537A (ko) * | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
KR20220169772A (ko) | 2021-06-21 | 2022-12-28 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455283A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种混合存储系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4738038B2 (ja) | 2005-03-25 | 2011-08-03 | 株式会社東芝 | メモリカード |
KR101257848B1 (ko) | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
KR101051504B1 (ko) | 2009-06-16 | 2011-07-22 | 인하대학교 산학협력단 | 저전력과 입출력 성능 향상을 위한 n-블록 선반입 기반의 하이브리드 하드디스크 입출력 시스템 |
KR20110041843A (ko) | 2009-10-16 | 2011-04-22 | 엘지전자 주식회사 | 하이브리드 저장장치 및 그 동작방법 |
KR101811297B1 (ko) * | 2011-03-15 | 2017-12-27 | 삼성전자주식회사 | 불휘발성 메모리를 제어하는 메모리 컨트롤러 |
US9703505B2 (en) * | 2013-12-30 | 2017-07-11 | Teradata Us, Inc. | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US20160004644A1 (en) * | 2014-07-02 | 2016-01-07 | Lsi Corporation | Storage Controller and Method for Managing Modified Data Flush Operations From a Cache |
-
2014
- 2014-12-19 KR KR1020140184812A patent/KR102309471B1/ko active IP Right Grant
-
2015
- 2015-05-20 US US14/717,708 patent/US9652380B2/en active Active
- 2015-08-13 CN CN201510497274.0A patent/CN105739914B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455283A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种混合存储系统 |
Also Published As
Publication number | Publication date |
---|---|
KR102309471B1 (ko) | 2021-10-07 |
US9652380B2 (en) | 2017-05-16 |
CN105739914A (zh) | 2016-07-06 |
US20160179685A1 (en) | 2016-06-23 |
KR20160075166A (ko) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105739914B (zh) | 数据处理系统及其操作方法 | |
CN106708757B (zh) | 存储器系统及其操作方法 | |
CN105989885B (zh) | 存储系统及其操作方法 | |
CN105719703B (zh) | 存储系统及其操作方法 | |
CN106708744B (zh) | 存储系统和存储系统的操作方法 | |
CN105608015B (zh) | 存储系统及其操作方法 | |
CN106776352B (zh) | 存储器系统和存储器系统的操作方法 | |
CN106710615B (zh) | 存储器系统和存储器系统的操作方法 | |
CN106960679B (zh) | 存储器系统及存储器系统的操作方法 | |
CN106910521B (zh) | 存储器系统及其操作方法 | |
KR20170061221A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN105938418B (zh) | 存储系统及其操作方法 | |
CN106802770B (zh) | 存储器系统及其操作方法 | |
CN106933506B (zh) | 存储器系统及存储器系统的操作方法 | |
CN105718378B (zh) | 存储系统及其操作方法 | |
CN105845177B (zh) | 存储系统及其操作方法 | |
CN106935264B (zh) | 存储器系统及其操作方法 | |
KR20160143259A (ko) | 메모리 시스템 및 그의 동작방법 | |
CN106775441B (zh) | 存储器系统 | |
CN106775443B (zh) | 存储器系统及其操作方法 | |
CN106560781B (zh) | 数据处理系统 | |
CN106407133B (zh) | 存储系统及其操作方法 | |
CN106126437B (zh) | 存储系统 | |
CN106406749B (zh) | 存储系统及其操作方法 | |
KR102513491B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |