CN110716883B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110716883B CN110716883B CN201910509695.9A CN201910509695A CN110716883B CN 110716883 B CN110716883 B CN 110716883B CN 201910509695 A CN201910509695 A CN 201910509695A CN 110716883 B CN110716883 B CN 110716883B
- Authority
- CN
- China
- Prior art keywords
- physical address
- memory
- count
- data
- remapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- 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
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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
- G06F2212/1024—Latency reduction
-
- 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/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种存储器系统。该存储器系统可以包括:非易失性存储器装置,包括多个存储块,每个存储块包括多个页面;以及控制器,适用于:管理将逻辑地址映射到物理地址的映射信息;将通过超过第一阈值计数成为重映射命令的目标物理地址的物理地址分类为特定物理地址;并且将页面之中的与特定物理地址对应的特定页面中存储的数据分类为冷数据,其中响应于重映射命令,控制器进一步:通过映射信息检测与第一逻辑地址对应的目标物理地址;并且将目标物理地址重映射到第二逻辑地址,并且其中第一阈值计数是2或更大的自然数。
Description
相关申请的交叉引用
本申请要求于2018年7月13日提交的申请号为10-2018-0081882的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
各个实施例涉及一种存储器系统,更具体地,涉及一种包括非易失性存储器装置的存储器系统及其操作方法。
背景技术
计算机环境范例已经变为可在任何时间任何地点使用的普适计算系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个用于存储数据的存储器装置的存储器系统。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高信息访问速度以及低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够根据来自主机的重映射命令有效地对存储在其中的数据进行分类的存储器系统及其操作方法。
在实施例中,一种存储器系统可以包括:非易失性存储器装置,包括多个存储块,每个存储块包括多个页面;以及控制器,适用于:管理将逻辑地址映射到物理地址的映射信息;将通过超过第一阈值计数成为重映射命令的目标物理地址的物理地址分类为特定物理地址;并且将页面之中的与特定物理地址对应的特定页面中存储的数据分类为冷数据。响应于重映射命令,控制器可进一步:通过映射信息检测与第一逻辑地址对应的目标物理地址;并且将目标物理地址重映射到第二逻辑地址。第一阈值计数可以是2或更大的自然数。
在将检测到的物理地址重映射到第二逻辑地址之后,控制器可以进一步增大目标物理地址的重映射计数。
在增大目标物理地址的重映射计数之后,控制器可以进一步检测目标物理地址的重映射计数是否超过第一阈值计数,并且当重映射计数超过第一阈值计数时,控制器可以将目标物理地址分类为特定物理地址。
控制器可进一步根据数据的分类初始化特定物理地址的重映射计数。
在初始化特定物理地址的重映射计数之后,每当特定物理地址成为目标物理地址时,控制器可进一步增大特定物理地址的重映射计数。
响应于与写入逻辑地址和写入数据一起提供的写入命令,控制器可进一步:检测映射信息中映射到写入逻辑地址的第一物理地址;将第二物理地址重映射到写入逻辑地址;将写入数据存储在页面之中的与第二物理地址对应的页面中。当第一物理地址已被分类为特定物理地址时,控制器可以不将第二物理地址分类为特定物理地址。
响应于与写入逻辑地址和写入数据一起提供的写入命令,控制器可进一步:检测映射信息中映射到写入逻辑地址的第一物理地址;将第二物理地址重映射到写入逻辑地址;并且将写入数据存储在页面之中的与第二物理地址对应的页面中。当第一物理地址已被分类为特定物理地址时,控制器可进一步减小第一物理地址的重映射计数,并将减小的值分配给第二物理地址的重映射计数。
控制器可进一步:检查第二物理地址的重映射计数是否小于第二阈值计数;当第二物理地址的重映射计数小于第二阈值计数时,不将第二物理地址分类为特定物理地址。第二阈值计数可以被设定为小于或等于第一阈值计数的自然数。
在包括在存储块中的全部页面之中的存储冷数据的特定页面的数量达到设定数量的情况下,控制器可进一步:通过合并操作将冷数据移动到存储块之中的特定存储块中;并将特定存储块作为冷块进行管理。
控制器可进一步:选择存储块之中的无效页面的数量超过设定百分比的存储块;通过合并操作将存储在所选存储块的有效页面中的数据之中被分类为冷数据的数据移动到存储块之中的第一存储块;通过合并操作将未被分类为冷数据的数据移动到存储块中的第二存储块;将第一存储块作为冷块进行管理;并将第二存储块作为正常块或热块进行管理。
在实施例中,提供一种用于操作存储器系统的方法,该存储器系统包括非易失性存储器装置,该非易失性存储器装置包括多个存储块,每个存储块包括多个页面,该方法可以包括:管理将逻辑地址映射到物理地址的映射信息;将通过超过第一阈值计数成为重映射命令的目标物理地址的物理地址分类为特定物理地址;将页面之中的与特定物理地址对应的特定页面中存储的数据分类为冷数据,该方法可以进一步包括响应于重映射命令:通过映射信息检测与第一逻辑地址对应的目标物理地址;并将目标物理地址重映射到第二逻辑地址。第一阈值计数可以是2或更大的自然数。
该方法可进一步包括在重映射目标物理地址之后增大目标物理地址的重映射计数。
该方法可进一步包括在增大重映射计数之后检测目标物理地址的重映射计数是否超过第一阈值计数。在重映射计数超过第一阈值计数的情况下,目标物理地址可以被分类为特定物理地址。
该方法可进一步包括根据数据的分类来初始化特定物理地址的重映射计数。
该方法可进一步包括:在初始化特定物理地址的重映射计数之后,每当特定物理地址成为目标物理地址时,增大特定物理地址的重映射计数。
该方法可进一步包括:响应于与写入逻辑地址和写入数据一起提供的写入命令:检测映射信息中映射到写入逻辑地址的第一物理地址;将第二物理地址重映射到写入逻辑地址;将写入数据存储在页面之中的与第二物理地址对应的页面中。当第一物理地址已被分类为特定物理地址时,第二物理地址可以不被分类为特定物理地址。
该方法可进一步包括响应于与写入逻辑地址和写入数据一起提供的写入命令:检测映射信息中映射到写入逻辑地址的第一物理地址;将第二物理地址重映射到写入逻辑地址;将写入数据存储在与页面中的第二物理地址对应的页面中。并且该方法可进一步包括当第一物理地址已被分类为特定物理地址时:减小第一物理地址的重映射计数;并将减小的值分配给第二物理地址的重映射计数。
该方法可进一步包括:检查第二物理地址的重映射计数是否小于第二阈值计数;当第二物理地址的重映射计数小于第二阈值计数时,不将第二物理地址分类为特定物理地址。第二阈值计数可以被设定为小于或等于第一阈值计数的自然数。
该方法可进一步包括:在存储块中的全部页面中存储冷数据的特定页面的数量达到设定数量的情况下:通过合并操作将冷数据移动到存储块中的特定存储块;并将特定存储块作为冷块进行管理。
该方法可进一步包括:选择存储块中无效页面的数量超过设定百分比的存储块;通过合并操作将存储在所选存储块的有效页面中的数据中被分类为冷数据的数据移动到存储块中的第一存储块;通过合并操作将未被分类为冷数据的数据移动到存储块中的第二存储块;将第一存储块作为冷块进行管理;并将第二存储块作为正常块或热块进行管理。
在实施例中,存储器系统可以包括:存储器装置,包括多个页面;以及控制器,适用于将由物理地址表示的页面中存储的数据指定为冷数据,其中,作为满足条件的结果,该物理地址成为改变映射到其的逻辑地址的重映射操作的目标物理地址;并且控制存储器装置以将存储在一个或多个页面中的冷数据收集到另一页面中。
附图说明
对于本发明所属领域的技术人员来说,本发明的这些和其它特征和优点将根据以下参照附图的详细描述而变得显而易见,其中:
图1是示出包括根据本发明的实施例的存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5、图6A和图6B是根据本公开的实施例的帮助解释根据存储器系统中的重映射命令对存储的数据进行分类的操作的框图;
图7、图8A和图8B是根据本公开的实施例的帮助解释根据存储器系统中的重映射命令对存储的数据进行分类的操作的流程图;以及
图9至图17是示意性地示出根据本发明的各个实施例的图1所示的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的其它实施例、形式和变型来实施,因此不应该被解释为限于这里阐述的实施例。相反,提供所描述的实施例使得本公开是完整的和全面的,并且将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等识别各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。因此,在不脱离本发明的精神和范围的情况下,在一个示例中的第一元件在另一个示例中可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些示例中,为了清楚地说明实施例的特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,该元件可直接在另一元件上、连接到或联接到另一元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间的唯一元件或者也可存在一个或多个中间元件。除非上下文另有说明,否则两个元件无论是直接连接/联接还是间接连接/联接,它们之间的通信可以是有线的或无线的。
本文使用的术语的目的仅用于描述特定实施例,并不旨在限制本发明。除非上下文另外明确地说明,否则本文使用的单数形式旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可以在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些示例中,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一实施例的其它特征或元件组合使用。
图1是示出包括根据本发明的实施例的存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器系统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)和闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可存储用于主机120的数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,其中单个半导体装置可被包括在如上例示的各种类型的存储器系统中的任何一个。
存储器系统110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络的各种电子装置中的一种、射频识别(RFID)装置或构成计算系统的各种组件中的一种。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供到主机102。存储器装置150可以包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156。存储块152至156中的每一个可以包括多个页面,并且每个页面可以包括联接到字线的多个存储器单元。
控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理单元(PMU)140、NAND闪速控制器(NFC)142以及存储器144,其全部通过内部总线可操作地联接。
主机接口132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC组件138可检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC组件138可通过在ECC编码进程期间使用的ECC码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC组件138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC组件138可以不校正错误位,反而可输出错误校正失败信号。
ECC组件138可通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)的编码调制执行错误校正。然而,错误校正技术不限于此。这样,ECC组件138可包括用于适当的错误校正的任何和所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
NFC 142可用作用于接口连接控制器130和存储器装置150的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或特别地是NAND闪速存储器时,NFC 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待提供给存储器装置150的数据。NFC 142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。特别地,NFC 142可支持控制器130和存储器装置150之间的数据传输。
存储器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之间传输数据的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件以控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行坏块管理操作,坏块管理操作用于检查被包括在存储器装置150中的多个存储块152至156之中的、在编程操作期间由于NAND闪速存储器的特性发生编程失败的坏块。管理单元可将坏块的编程失败数据写入到新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可以降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块BLK0至BLKN-1,并且这些块中的每一个可以包括例如2M个页面的多个页面,页面的数量可以根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位或更多位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可以包括多个三层单元(TLC),每个三层单元存储3位数据。在另一实施例中,存储器装置可包括多个四层单元(QLC),每个四层单元存储4位数据。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于多个存储块152至156中的任意一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每个列的单元串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、图6A和图6B是根据本公开的实施例的帮助解释根据存储器系统中的重映射命令对存储的数据进行分类的操作的框图。
首先,参照图5,可以看出通过参照图1所示的数据处理系统100的配置,示出包括主机102和存储器系统110的数据处理系统100的配置。
如上参照图5所述,存储器系统110包括控制器130和存储器装置150。
存储器装置150包括如上参照图5所述的多个存储块BLOCK<0:4>。每个存储块BLOCK<0:4>包括多个页面P<11:44>。
在图中可以看出,在存储块BLOCK<0:4>中的每个存储块中包括以四行和四列的矩阵形式的16个页面P<11:44>。因此,对应于第一行的四个页面的参考符号可以被定义为P<11,12,13,1 4>,对应于第二行的四个页面的参考符号可以被定义为P<21,22,23,24>,对应于第三行的四个页面的参考符号可以被定义为P<31,32,33,34>,并且对应于第四行的四个页面的参考符号可以被定义为P<41,42,43,44>。
由于16个页面P<11:44>被包括在存储块BLOCK<0:4>中的每一个存储块中并且参考符号以重复方式使用,所以当使用参考符号来区分存储块时,可以使用以下定义。表示包含在第零存储块BLOCK0中的16个页面的参考符号可以被定义为BLOCK0_P<11:44>,表示包括在第一存储块BLOCK1中的16个页面的参考符号可以被定义为BLOCK1_P<11:44>,表示包括在第二存储块BLOCK2中的16个页面的参考符号可以被定义为BLOCK2_P<11:44>,表示包括在第三存储块BLOCK3中的16个页面的参考符号可以被定义为BLOCK3_P<11:44>,并且表示包括在第四存储块BLOCK4中的16个页面的参考符号可以被定义为BLOCK4_P<11:44>。
作为参考,虽然在图5中公开了在存储器系统110中仅包括一个非易失性存储器装置150的配置,但这仅是示例;多个非易失性存储器装置可以包括在存储器系统110中。此外,虽然在图5中公开了在非易失性存储器装置150中包括五个存储块BLOCK<0:4>的配置,但这也仅是示例;在非易失性存储器装置150中可以包括多于或少于五个存储块。进一步,虽然在图5中公开了在存储块BLOCK<0:4>中的每一个存储块中包括16个页面P<11:44>的配置,但这也仅是示例;在存储块BLOCK<0:4>中的每一个存储块中实际可以包括多于或少于16个页面。
主机接口132、处理器134、ECC组件138、PMU 140、NAND闪存控制器142和存储器144在图1中被示出为在控制器130中,并且这些组件在图5中被示出为未在控制器130中,图5中省略了这些组件仅用于清楚的目的;这些组件可以包括在控制器130中。
在以下描述中使用的参考符号可以如下定义。对应于逻辑地址的参考符号是LAS,对应于物理地址的参考符号是PAS,对应于命令的参考符号是CMD,重映射命令中的术语“重映射”可以对应于参考符号REMAP或RM,并且对应于特定页面的参考符号是SPG。而且,对应于与重映射命令对应的物理地址的参考符号是PAR,对应于与重映射命令对应的逻辑地址的参考符号是LAR,对应于与写入命令对应的物理地址的参考符号是PAW,对应于与写入命令对应的逻辑地址的参考符号是LAW,并且参考符号<x>和<y>中的x和y中的每一个表示任选的自然数。
详细地,在操作501中,控制器130管理用于将在主机102中使用的逻辑地址LAS映射到对应于页面BLOCK<0:4>_P<11:44>的物理地址PAS的映射信息。
在操作502中,控制器130在物理地址PAS中选择超过第一阈值计数而成为重映射命令REMAP_CMD的目标物理地址的物理地址PAR<x>,并且将选择的物理地址PAR<x>分类为特定物理地址PAS<y>。第一阈值计数可以是2或更大的自然数。
在操作503中,控制器130将存储在与特定物理地址PAS<y>对应的特定页面SPG<y>中的数据分类为冷数据。
当从主机102应用对应于重映射命令REMAP_CMD的第一逻辑地址LAR1和第二逻辑地址LAR2时,在操作5012中,控制器130通过映射信息检测与第一逻辑地址LAR1对应的物理地址PAR<x>,然后将检测到的物理地址PAR<x>重映射到第二逻辑地址LAR2。
详细描述操作5012,对应于重映射命令REMAP_CMD,控制器130重映射或改变映射到物理地址的逻辑地址。
例如,对应于重映射命令REMAP_CMD,具有值100的第一逻辑地址LAR1和具有值200的第二逻辑地址LAR2可以被应用于控制器130。响应于此,控制器130可以通过映射信息检测被映射到具有值100的第一逻辑地址LAR1的具有值5200的物理地址PAR<x>。然后,响应于重映射命令REMAP_CMD,控制器130将具有值100的现有第一逻辑地址LAR1改变为具有值200的第二逻辑地址LAR2,以重映射映射到具有值5200的物理地址PAR<x>的逻辑地址。
如从操作5012的描述中所理解的,控制器130响应于从主机102施加的重映射命令REMAP_CMD不改变存储在非易失性存储器装置150中的数据的物理状态,例如不复制、移动或擦除数据。相反,控制器130响应于重映射命令REMAP_CMD改变逻辑信息,即逻辑地址,以用于在主机102中管理存储在非易失性存储器装置150中的数据。
在这方面,在将特定数据存储在非易失性存储器装置150中之后,即使重映射操作是将特定数据分类为冷数据的操作503的充足基础(sufficient basis),特定数据的物理状态也不改变,其中重映射操作根据操作5012执行改变用于管理主机102中的特定数据的逻辑信息以在操作502中超过第一阈值计数。
换言之,控制器130在根据操作501确定一个物理地址PAR<x>以存储特定数据之后将一个物理地址PAR<x>分类为特定物理地址PAS<y>,其中即使根据操作5012和操作502改变待映射的逻辑地址以超过第一阈值计数,也不改变物理地址PAR<x>的值。因此,在控制器130中根据操作503将存储在由特定物理地址PAS<y>指示的特定页面SPG<y>中的数据分类为冷数据的操作可以是确定存储在非易失性存储器装置150中的数据的特性的操作的充足基础。
被确定为对应于来自主机102的重映射命令REMAP_CMD的物理地址PAR<x>和超过第一阈值计数且对应于来自主机102的重映射命令REMAP_CMD的特定物理地址PAS<y>表示物理地址PAS中的任何一个。例如,可以检测到分别对应于第零存储块BLOCK0的第一页面P<11>、第五页面P<21>、第八页面P<24>和第13页面P<41>的四个物理地址PAR<B01,B05,B08,B013>中的每一个至少一次变成重映射命令REMAP_CMD的目标物理地址。“x”可以是四个值即B01、B05、B08和B013中的任何一个值。作为参考,在用作“x”的值的参考符号B01、B05、B08和B013中,通常使用的B0是对应于第零存储块BLOCK0的参考符号,1是表示对应于第一页面P<11>的物理地址的参考符号,5是表示对应于第五页面P<21>的物理地址的参考符号,8是表示对应于第八页面P<24>的物理地址的参考符号,并且13是表示对应于第十三页面P<41>的物理地址的参考符号。
可以例示的是,在检测到的四个物理地址PAR<B01,B05,B08,B013>中,被检测为超过第一阈值计数且对应于重映射命令REMAP_CMD并且因此被分类为特定物理地址PAS<y>的物理地址的数量是2,即仅包括对应于第零存储块BLOCK0的第一页面P<11>和第五页面P<21>的物理地址PAR<B01,B05>。“y”可以是两个值即B01和B05中的任何一个值。作为参考,用作“y”的值的参考符号B01和B05与用作“x”的值的上述参考符号具有相同的模式。即,在用作“y”的值的参考符号B01和B05中,通常使用的B0是对应于第零存储块BLOCK0的参考符号,1是表示对应于第1页面P<11>的物理地址的参考符号,并且5是表示对应于第五页面P<21>的物理地址的参考符号。
也就是说,在通过操作5012在所有物理地址PAS中选择一个物理地址PAR<x>作为重映射命令REMAP_CMD的目标物理地址之后,控制器130检测在操作5012中选择的PAR<x>是否超过第一阈值计数而成为重映射命令REMAP_CMD的目标物理地址,并且通过操作502确定是否将在操作5012中选择的PAR<x>分类为特定物理地址PAS<y>。每次从主机102施加重映射命令REMAP_CMD时,通过操作5012可以改变与重映射命令REMAP_CMD相对应的一个物理地址PAR<x>。多个物理地址PAR<x>可以至少一次同时成为重映射命令REMAP_CMD的目标物理地址。控制器130可以通过它们各自的计数来管理已经成为重映射命令REMAP_CMD的目标物理地址的物理地址PAS。当然,在多个物理地址PAR<x>通过超过第一阈值计数而同时成为重映射命令REMAP_CMD的目标物理地址的情况下,控制器130可以同时管理多个特定物理地址PAS<y>。
作为参考,控制器130可以通过管理包括在物理地址PAS中的每一个之中的多个位之中的预先确定的特定位的值的方案,检测至少一次成为重映射命令REMAP_CMD的目标物理地址的物理地址PAR<x>和在物理地址PAS中通过超过第一阈值计数而成为重映射命令REMAP_CMD的目标物理地址的特定物理地址PAS<y>。在物理地址PAS中的每一个之中包括的多个位中,预先确定的特定位可以是通常不使用的保留位中的任何一个。
例如,控制器130可以将其中设置的第一位具有值1的物理地址分类为至少一次成为重映射命令REMAP_CMD的目标物理地址的物理地址PAR<x>,并且可以将其中设置的第二位具有值1的物理地址分类为通过超过第一阈值计数而成为重映射命令REMAP_CMD的目标物理地址的特定物理地址PAS<y>。
详细描述上述操作502,控制器130使用重映射计数RM_CNT<x>,以在物理地址PAS之中选择通过超过第一阈值计数而成为重映射命令REMAP_CMD的目标物理地址的物理地址PAR<x>。
首先,在通过操作5012检测作为重映射命令REMAP_CMD的目标物理地址的物理地址PAR<x>并将物理地址PAR<x>映射到第二逻辑地址LAR2之后,在操作5021中控制器130增大对应于检测到的物理地址PAR<x>的重映射计数RM_CNT<x>的值。
例如,在操作5012中检测到的物理地址PAR<x>第一次成为重映射命令REMAP_CMD的目标物理地址的情况下,控制器130将在操作5012中检测到的物理地址PAR<x>的重映射计数RM_CNT<x>从0增大到1。在操作5012中检测到的物理地址PAR<x>第二次成为重映射命令REMAP_CMD的目标物理地址的情况下,控制器130将在操作5012中检测到的物理地址PAR<x>的重映射计数RM_CNT<x>从1增大到2。
作为另一示例,在操作5012中与第零存储块BLOCK0的第一页面P<11>对应的物理地址PAR<B01>第二次成为重映射命令REMAP_CMD的目标物理地址的情况下,控制器130将对应于与第零存储块BLOCK0的第一页面P<11>对应的物理地址PAR<B01>的重映射计数RM_CNT<B01>从1增大到2。在操作5012中对应于第零存储块BLOCK0的第五页面P<21>的物理地址PAR<B05>第一次成为重映射命令REMAP_CMD的目标物理地址的情况下,控制器130将对应于与第零存储块BLOCK0的第五页面P<21>对应的物理地址PAR<B05>的重映射计数RM_CNT<B05>从0增大到1。
以这种方式,在通过操作5021增大与在操作5012中检测到的物理地址PAR<x>相对应的重映射计数RM_CNT<x>的值之后,控制器130检查对应于检测到的物理地址PAR<x>的重映射计数RM_CNT<x>的值是否超过第一阈值计数,并且在作为检查的结果的重映射计数RM_CNT<x>的值超过第一阈值计数的情况下,在操作5022中将检测到的物理地址PAR<x>分类为特定物理地址PAS<y>。
例如,当假设第一阈值计数是2时,在操作5022中,控制器130不将在操作5021中重映射计数RM_CNT<x>增大到1或2的物理地址PAR<x>分类为特定物理地址PAS<y>。另一方面,在操作5022中,控制器130将通过操作5021重映射计数RM_CNT<x>增大到3的物理地址PAR<x>分类为特定物理地址PAS<y>。
作为另一示例,当假设第一阈值计数是2时,在操作5021中,控制器130可以增大对应于第零存储块BLOCK0的第一页面P<11>的物理地址PAR<B01>的重映射计数RM_CNT<B01>。然而,在操作5022中,控制器130不将与第零存储块BLOCK0的第一页面P<11>对应的物理地址PAR<B01>分类为特定物理地址PAS<y>。在操作5021中,控制器130可以将对应于第零存储块BLOCK0的第五页面P<21>的物理地址PAR<B05>的重映射计数RM_CNT<B05>增大到3。因此,在操作5022中,控制器130将对应于第零存储块BLOCK0的第五页面P<21>的物理地址PAR<B05>分类为特定物理地址PAS<y>。
如上所述,控制器130可以通过操作502中包括的操作5021和操作5022将物理地址PAS中的特定物理地址PAS<y>进行分类,并通过上述操作503将存储在对应于特定物理地址PAS<y>的特定页面SPG<y>中的数据分类为冷数据。
响应于操作503被执行,即执行将存储在与特定物理地址PAS<y>对应的特定页面SPG<y>中的数据分类为冷数据的操作,控制器130在操作5023中初始化对应于特定物理地址PAS<y>的重映射计数RM_CNT<x>。例如,对应于特定物理地址PAS<y>的重映射计数RM_CNT<x>的值被初始化为0。
以这种方式,在执行操作5023之后,在操作5024中,每当特定物理地址PAS<y>被分类时,控制器130增大与特定物理地址PAS<y>对应的重映射计数RM_CNT<x>。
换言之,通过操作5023在存储在对应于特定物理地址PAS<y>的特定页面SPG<y>中的数据被分类为冷数据时初始化对应于特定物理地址PAS<y>的重映射计数RM_CNT<x>之后,通过操作5024,每当特定物理地址PAS<y>被分类时,控制器130再次增大与特定物理地址PAS<y>对应的重映射计数RM_CNT<x>。由此,控制器130可以基于操作503管理特定物理地址PAS<y>被分类的计数。
在操作5014中,当从主机102施加对应于写入命令WRITE_CMD的写入逻辑地址LAW和写入数据WRITE_DATA时,控制器130通过映射信息检测映射到写入逻辑地址LAW的第一物理地址PAW1,然后将第二物理地址PAW2而不是检测到的第一物理地址PAW1映射到写入逻辑地址LAW。即,在操作5014中,控制器130响应于写入命令WRITE_CMD将映射到写入逻辑地址LAW的第一物理地址PAW1重映射到第二物理地址PAW2。在操作504中,在通过操作5014将第二物理地址PAW2映射到写入逻辑地址LAW之后,控制器130响应于写入命令WRITE_CMD将写入数据WRITE_DATA存储在与第二物理地址PAW2对应的页面中。
与上述操作504独立,在操作5025中,控制器130检查在操作5014中映射到写入逻辑地址LAW的第一物理地址PAW1是否已通过操作502被分类为特定物理地址PAS<y>。例如,在第一物理地址PAW1中包括的位中的第二位的值是0的情况下,控制器130确定第一物理地址PAW1尚未被分类为特定物理地址PAS<y>。相反,在第一物理地址PAW1中包括的位中的第二位的值是1的情况下,控制器130确定第一物理地址PAW1已被分类为特定物理地址PAS<y>。
在操作5025中检查到第一物理地址PAW1尚未被分类为特定物理地址PAS<y>的情况下,控制器130不执行单独的附加操作并立即执行上述操作504。
相反,在操作5025中检查到第一物理地址PAW1已被分类为特定物理地址PAS<y>的情况下,控制器130可以执行如下所描述的操作5026A和操作5026B中的任何一个操作。
详细地,描述操作5026A,在操作5025中检查到第一物理地址PAW1已被分类为特定物理地址PAS<y>的情况下,控制器130不将第二物理地址PAW2分类为特定物理地址PAS<y>。
也就是说,在操作5026A中,控制器130确定在操作5014中将第二物理地址PAW2而不是第一物理地址PAW1重映射到写入逻辑地址LAW的操作的含义,因为已经被存储在与第一物理地址PAW1对应的页面中的数据与存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA作为完全不同的数据而彼此独立。
因此,在操作5026A中,即使存储在与被分类为特定物理地址PAS<y>的第一物理地址PAW1相对应的页面中的数据已经被分类为冷数据,控制器130也不将第二物理地址PAW2分类为特定物理地址PAS<y>,从而不将存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA分类为冷数据。
描述操作5026B,在操作5025中确定第一物理地址PAW1已被分类为特定物理地址PAS<y>的情况下,控制器130减小对应于在操作5014中已经被映射到写入逻辑地址LAW的第一物理地址PAW1的重映射计数RM_CNT<x>的值,将减小的值分配给第二物理地址PAW2的重映射计数RM_CNT<x>,然后检查对应于第二物理地址PAW2的重映射计数RM_CNT<x>的值是否小于第二阈值计数。在作为检查的结果的重映射计数RM_CNT<x>的值小于第二阈值计数的情况下,控制器130不将第二物理地址PAW2分类为特定物理地址PAS<y>。第二阈值计数可以被设定为小于或等于第一阈值计数。
换言之,在操作5026B中,控制器130确定在操作5014中将第二物理地址PAW2而不是第一物理地址PAW1重映射到写入逻辑地址LAW的操作的含义,因为已经存储在与第一物理地址PAW1对应的页面中的数据与存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA具有紧密关系。例如,确定存储在与第一物理地址PAW1对应的页面中的数据的更新版本是存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA。
因此,在操作5026B中,因为通过操作503存储在与被分类为特定物理地址PAS<y>的第一物理地址PAW1相对应的页面中的数据已经被分类为冷数据,所以控制器130检查存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA是否满足特定条件,并且根据检查结果,选择性地将存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA分类为冷数据。
为了检查存储在与第二物理地址PAW2相对应的页面中的写入数据WRITE_DATA是否满足特定条件,控制器130减小与在操作5014中已经被映射到写入逻辑地址LAW的第一物理地址PAW1对应的重映射计数RM_CNT<x>的值,将减小的值分配给第二物理地址PAW2的重映射计数RM_CNT<x>,然后检查对应于第二物理地址PAW2的重映射计数值RM_CNT<x>的值是否小于第二阈值计数。
在作为检查的结果的对应于第二物理地址PAW2的重映射计数RM_CNT<x>的值小于第二阈值计数的情况下,控制器130不将第二物理地址PAW2分类为特定的物理地址PAS<y>,因此存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA不被分类为冷数据。
在作为检查的结果的对应于第二物理地址PAW2的重映射计数RM_CNT<x>的值等于或大于第二阈值计数的情况下,控制器130将第二物理地址PAW2分类为特定物理地址PAS<y>,因此存储在与第二物理地址PAW2对应的页面中的写入数据WRITE_DATA被分类为冷数据。
由于操作5026A和操作5026B是互相独立的,因此不能同时执行两个操作。选择两个操作中的哪一个可取决于特定条件和/或系统设计。
在操作505A中,在存储冷数据的特定页面SPG<y>的数量达到设定数量的情况下,控制器130通过合并操作将存储在分散地包括在存储块BLOCK<0:4>中的设定数量的特定页面SPG<y>中的冷数据移动到存储块BLOCK<0:4>中的特定存储块,然后将特定存储块作为冷块进行管理。
参照图6A描述上述操作505A的示例。
首先,可以假设在整个存储块BLOCK<0:4>中,第零存储块BLOCK0、第一存储块BLOCK1和第二存储块BLOCK2中的每一个处于编程操作被完成的闭合状态,并且第三存储块BLOCK3和第四存储块BLOCK4中的每一个处于空闲状态。
通过操作505A之前的操作501、502、503和504,控制器130执行分类任务,使得三个冷数据A、B和C以及一个正常或热数据1存储在第零存储块BLOCK0中,六个正常或热数据2、3、4、5、6和7以及一个冷数据D存储在第一存储块BLOCK1中并且四个冷数据E、F、G和H和一个正常或热数据8存储在第二存储块BLOCK2中。
即,通过操作505A之前的操作501、502、503和504,控制器130将第零存储块BLOCK0的第22页面BLOCK0_P22、第34页面BLOCK0_P34和第43页面BLOCK0_P43,第一存储块BLOCK1的第44页面BLOCK1_P44,以及第二存储块BLOCK2的第12页面BLOCK2_P12、第31页面BLOCK2_P31、第41页面BLOCK2_P41和第42页面BLOCK2_P42分类为特定页面SPG<BLOCK0_P22,BLOCK0_P34,BLOCK0_P43,BLOCK1_P44,BLOCK2_P12,BLOCK2_P31,BLOCK2_P41,BLOCK2_P42>,因此,将存储在特定页面SPG<BLOCK0_P22,BLOCK0_P34,BLOCK0_P43,BLOCK1_P44,BLOCK2_P12,BLOCK2_P31,BLOCK2_P41,BLOCK2_P42>中的数据A、B、C、D、E、F、G和H分类为冷数据。
此后,通过操作505A,控制器130可以检测到特定页面SPG<BLOCK0_P22,BLOCK0_P34,BLOCK0_P43,BLOCK1_P44,BLOCK2_P12,BLOCK2_P31,BLOCK2_P41,BLOCK2_P42>的数量已经达到作为设定数量的8。根据检测结果,控制器130通过合并操作将存储在八个特定页面SPG<BLOCK0_P22,BLOCK0_P34,BLOCK0_P43,BLOCK1_P44,BLOCK2_P12,BLOCK2_P31,BLOCK2_P41,BLOCK2_P42>中的冷数据A、B、C、D、E、F、G和H移动到第三存储块BLOCK3,并将第三存储块BLOCK3作为冷块进行管理。
进一步,在操作505B中,控制器130选择其中无效页面的数量超过设定百分比的存储块,通过合并操作将存储在所选择的存储块的有效页面中的冷数据移动到第一存储块,并通过合并操作将剩余数据移动到第二存储块。在操作505B中,控制器130将第一存储块作为冷块进行管理,并且将第二存储块作为正常块或热块进行管理。
参照图6B描述上述操作505B的示例。
首先,可以假设第零存储块BLOCK0、第一存储块BLOCK1和第二存储块BLOCK2中的每一个处于编程操作被完成的闭合状态,并且第三存储块BLOCK3和第四存储块BLOCK4中的每一个处于空闲状态。
通过操作505B之前的操作501、502、503和504,控制器130执行分类任务,使得三个冷数据A、B和C以及一个正常或热数据1存储在第零存储块BLOCK0中,六个正常或热数据2、3、4、5、6和7以及一个冷数据D存储在第一存储块BLOCK1中并且四个冷数据E、F、G和H和一个正常或热数据8存储在第二存储块BLOCK2中。
即,通过操作505B之前的操作501、502、503和504,控制器130将第零存储块BLOCK0的第22页面BLOCK0_P22、第34页面BLOCK0_P34和第43页面BLOCK0_P43,第一存储器的第44页面BLOCK1_P44,以及第二存储块BLOCK2的第12页面BLOCK2_P12、第31页面BLOCK2_P31、第41页面BLOCK2_P41和第42页面BLOCK2_P42分类为特定页面SPG<BLOCK0_P22,BLOCK0_P34,BLOCK0_P43,BLOCK1_P44,BLOCK2_P12,BLOCK2_P31,BLOCK2_P41,BLOCK2_P42>,因此将存储在特定页面SPG<BLOCK0_P22,BLOCK0_P34,BLOCK0_P43,BLOCK1_P44,BLOCK2_P12,BLOCK2_P31,BLOCK2_P41,BLOCK2_P42>中的数据A、B、C、D、E、F、G和H分类为冷数据。
此后,通过操作505B,控制器130选择在每个存储块中无效页面的数量超过作为设定百分比的60%的第零存储块BLOCK0和第二存储块BLOCK2,通过合并操作将存储在所选择的第零存储块BLOCK0和第二存储块BLOCK2的有效页面中的冷数据A、B、C、E、F、G和H存储在第三存储块BLOCK3中,并通过合并操作将剩余数据1和8移动到第四存储块BLOCK4中。控制器130将第三存储块BLOCK3作为冷块进行管理,并将第四存储块BLOCK4作为正常块或热块进行管理。
由于操作505A和操作505B是互相独立的,因此不能同时执行两个操作。选择两个操作中的哪一个可取决于特定条件和/或系统设计。
图7、图8A和图8B是根据本公开的实施例的帮助解释根据存储器系统中的重映射命令对存储的数据进行分类的操作的流程图。
首先,参照图7,流程图示出了根据以上参照图5、图6A和图6B描述的本公开的实施例的在存储器系统110的操作中响应于重映射命令REMAP_CMD将物理地址PAS中的特定物理地址PAS<y>进行分类并因此将存储在特定页面SPG<y>中的数据分类为冷数据的操作。
详细地,参照图7,如果从主机102施加重映射命令REMAP_CMD,则在操作S10中开始控制器130的操作。
响应于操作S10,控制器130在操作S20中增大作为重映射命令REMAP_CMD的目标物理地址的物理地址PAR<x>的重映射计数RM_CNT<x>。
在操作S30中,检测物理地址PAR<x>的重映射计数RM_CNT<x>的值是否超过第一阈值计数A。
在操作S30中检测到物理地址PAR<x>的重映射计数RM_CNT<x>的值不超过第一阈值计数A的情况下(操作S30为“否”),不执行单独的附加操作。
在操作S30中检测到物理地址PAR<x>的重映射计数RM_CNT<x>的值超过第一阈值计数A的情况下(操作S30为“是”),控制器130在操作S40中检查物理地址PAR<x>是否已经被分类为特定物理地址PAS<y>。
在操作S40中检测到物理地址PAR<x>已经被分类为特定物理地址PAS<y>的情况下(操作S40为“是”),不执行单独的附加操作。在操作S40中检测到物理地址PAR<x>已经被分类为特定物理地址PAS<y>的情况(操作S40为“是”)对应于通过下面将描述的操作S50预先将与操作S10中的重映射命令REMAP_CMD相对应的物理地址PAR<x>分类为特定物理地址PAS<y>的情况。因此,在操作S40中检测到物理地址PAR<x>已经被分类为特定物理地址PAS<y>的情况下(操作S40为“是”),下面将描述的操作S50和操作S60不会被执行。
在操作S40中物理地址PAR<x>被检测为尚未被分类为特定物理地址PAS<y>的情况下(操作S40为“否”),在操作S50中,物理地址PAR<x>被分类为特定的物理地址PAS<y>,并且存储在与特定物理地址PAS<y>对应的特定页面SPG<y>中的数据被分类为冷数据。
在操作S50中将存储在特定页面SPG<y>中的数据分类为冷数据之后,在操作S60中初始化与重映射命令REMAP_CMD相对应的物理地址PAR<x>的重映射计数RM_CNT<x>。
参照图8A和图8B,流程图示出了根据以上参照图5、图6A和图6B描述的本公开的实施例的在存储器系统110的操作中响应于写入命令WRITE_CMD不将物理地址PAR<x>分类到特定物理地址PAS<y>的操作。参照图8A,公开了与以上参照图5描述的操作5026A对应的流程图。并且,参照图8B,公开了与以上参照图5描述的操作5026B对应的流程图。
详细地,参照图8A,如果从主机102施加写入命令WRITE_CMD和与其对应的写入逻辑地址LAW,则控制器130在操作S70中通过映射信息检测映射到写入逻辑地址LAW的第一物理地址PAW1,然后将检测到的第一物理地址PAW1重映射到第二物理地址PAW2。也就是说,控制器130检测正被映射到写入逻辑地址LAW的第一物理地址PAW1,然后检测待被重映射到写入逻辑地址LAW的第二物理地址PAW2。
在操作S80中检测第一物理地址PAW1是否已被分类为特定物理地址PAS<y>。
在操作S80中第一物理地址PAW1被分类为特定物理地址PAS<y>的情况下(操作S80为“是”),则在操作S90中第二物理地址PAW2不被分类为特定物理地址PAS<y>。
在操作S80中第一物理地址PAW1未被分类为特定物理地址PAS<y>的情况下(操作S80为“否”),不执行单独的附加操作。
参照图8B,操作S71和操作S81与以上参照图8A描述的操作S70和操作S80相同。
详细地,参照图8B,如果从主机102施加写入命令WRITE_CMD和与其对应的写入逻辑地址LAW,则控制器130在操作S71中通过映射信息检测映射到写入逻辑地址LAW的第一物理地址PAW1,然后将检测到的第一物理地址PAW1重映射到第二物理地址PAW2。也就是说,控制器130检测正被映射到写入逻辑地址LAW的第一物理地址PAW1,然后检测待被重映射到写入逻辑地址LAW的第二物理地址PAW2。
在操作S81中检测第一物理地址PAW1是否已被分类为特定物理地址PAS<y>。
在操作S81中第一物理地址PAW1未被分类为特定物理地址PAS<y>的情况下(操作S81为“否”),不执行单独的附加操作。
在操作S81中第一物理地址PAW1被分类为特定物理地址PAS<y>的情况下(操作S81为“是”),在操作S85中,对应于第一物理地址PAW1的重映射计数RM_CNT<x>的值减小,并且将减小的值分配给在操作S71中的第二物理地址PAW2的重映射计数RM_CNT<x>的值。
然后,在操作S86中检查第二物理地址PAW2的重映射计数RM_CNT<x>的分配值是否小于第二阈值计数B。
在操作S86中重映射计数RM_CNT<x>的分配值被确定为小于第二阈值计数的情况下(操作S86为“是”),在操作S91中,第二物理地址PAW2不被分类为特定物理地址PAS<y>。
在操作S86中重映射计数RM_CNT<x>的值被确定为等于或大于第二阈值计数的情况下(操作S86为“否”),在操作S87中,第二物理地址PAW2被分类为特定物理地址PAS<y>,因此,将存储在对应于第二物理地址PAW2的特定页面SPG<y>中的数据(即,写入数据WRITE_DATA)分类为冷数据。
现在,将参照图9至图17详细描述其中可应用上面参照图1至图8B描述的数据处理系统和存储器装置150和控制器130的存储器系统110的电子产品。
图9至图17是示意性地示出图1的数据处理系统的应用示例的示图。
图9是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图9示意性示出应用存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接到通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口连接并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1和图5描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正组件。存储器控制器6120可进一步包括图5所示的元件。
存储器控制器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)。
图10是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可作为参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1和图5所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1和图5所示的存储器系统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的数据。当RAM 6222用作高速缓存存储器时,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码、涡轮码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224与主机6210交换数据,并通过NVM接口6225与存储器装置6230交换数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可利用具有无线通信功能,无线通信功能具有诸如WiFi或长期演进(LTE)的移动通信协议。存储器控制器6220可连接到外部装置,例如主机6210或另一外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置进行通信,因此存储器系统和数据处理系统可应用于有线/无线电子装置,特别是移动电子装置。
图11是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性示出应用了存储器系统的SSD。
参照图11,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6340可对应于图1和图5的存储器系统中的存储器装置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的非易失性存储器来实施。图10示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可被设置在控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口连接功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口连接功能。
此外,可提供应用图1和图5的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘的冗余阵列)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性地示出应用存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1至图5的存储器系统110中的控制器130,并且存储器装置6440可对应于图1和图5的存储器系统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)接口。
图13至图16是示意性示出包括根据其它实施例的存储器系统的数据处理系统的其它示例的示图。图13至图16示意性地示出应用存储器系统的UFS(通用闪速存储)系统。
参照图13至图16,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和图5中所示的存储器系统110实现。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图9描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过例如MIPI(移动产业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如UFDs、MMC、SD、迷你-SD和微型-SD彼此通信。
在图13所示的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处的链路层交换来彼此通信。在图13的实施例中,通过示例示出一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并联或以星型形式连接到主机6410,并且多个UFS卡可并联或以星型形式连接到UFS装置6520,或者串联或以链型形式连接到UFS装置6520。
在图14所示的UFS系统6600中,主机6610、UFS装置6620、UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在图14的实施例中,通过示例示出一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并联或以星型形式连接到交换模块6640,并且多个UFS卡可串联或以链型形式连接到UFS装置6620。
在图15所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过交换模块6740在UniPro处的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720的内部或外部与UFS装置6720集成为一个模块。在图15的实施例中,通过示例示出一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,在另一实施例中,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接到主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接到UFS装置6720。
在图16所示的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交换来彼此通信。在图16的实施例中,通过示例示出一个UFS装置6820连接到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,在另一实施例中,多个UFS装置可并联或以星型形式连接到主机6810,或串联或以链型形式连接到主机6810,并且多个UFS卡可并联或以星型形式连接到UFS装置6820,或串联或以链型形式连接到UFS装置6820。
图17是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图17是示意性地示出应用存储器系统的用户系统的示图。
参照图17,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在例如OS的用户系统6900中的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、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闪存,并且存储模块6950可被设置为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1至图5描述的存储器系统110。此外,存储模块6950可被实施为如上参照图11至图16所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1和图5的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据或支持从触摸面板接收数据的功能。
在本公开的实施例中,通过将针对超过第一阈值计数而生成的来自主机的重映射命令的数据分类为冷数据来管理这些数据。由此,可以有效地对存储在存储器系统中的数据进行分类。
尽管已经说明和描述了各个实施例,但是对于本领域技术人员将显而易见的是,根据本公开,在不脱离所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (18)
1.一种存储器系统,包括:
非易失性存储器装置,包括多个存储块,每个所述存储块包括多个页面;以及
控制器:
管理将逻辑地址映射到物理地址的映射信息;
将通过超过第一阈值计数成为重映射命令的目标物理地址的物理地址分类为特定物理地址;并且
将所述页面之中的与所述特定物理地址对应的特定页面中存储的数据分类为冷数据,
其中响应于所述重映射命令,所述控制器进一步:
通过所述映射信息检测与第一逻辑地址对应的所述目标物理地址;并且
将所述目标物理地址重映射到第二逻辑地址,
其中所述第一阈值计数是2或更大的自然数,并且
其中在将所检测到的物理地址重映射到所述第二逻辑地址之后,所述控制器进一步增大所述目标物理地址的重映射计数。
2.根据权利要求1的存储器系统,
其中在增大所述目标物理地址的所述重映射计数之后,所述控制器进一步检测所述目标物理地址的所述重映射计数是否超过所述第一阈值计数,并且
其中当所述重映射计数超过所述第一阈值计数时,所述控制器将所述目标物理地址分类为所述特定物理地址。
3.根据权利要求2所述的存储器系统,其中所述控制器进一步根据所述数据的分类初始化所述特定物理地址的所述重映射计数。
4.根据权利要求3所述的存储器系统,其中在初始化所述特定物理地址的所述重映射计数之后,每当所述特定物理地址成为所述目标物理地址时,所述控制器进一步增大所述特定物理地址的所述重映射计数。
5.根据权利要求4的存储器系统,其中
响应于与写入逻辑地址和写入数据一起提供的写入命令,所述控制器进一步:
检测所述映射信息中映射到所述写入逻辑地址的第一物理地址;
将第二物理地址重映射到所述写入逻辑地址;并且
将所述写入数据存储在所述页面之中的与所述第二物理地址对应的页面中,
其中当所述第一物理地址被分类为所述特定物理地址时,所述控制器不将所述第二物理地址分类为所述特定物理地址。
6.根据权利要求4的存储器系统,其中
响应于与写入逻辑地址和写入数据一起提供的写入命令,所述控制器进一步:
检测所述映射信息中映射到所述写入逻辑地址的第一物理地址;
将第二物理地址重映射到所述写入逻辑地址;并且
将所述写入数据存储在所述页面之中的与所述第二物理地址对应的页面中,
其中当所述第一物理地址已被分类为所述特定物理地址时,所述控制器进一步减小所述第一物理地址的所述重映射计数,并将减小的值分配给所述第二物理地址的所述重映射计数。
7.根据权利要求6的存储器系统,
其中所述控制器进一步:
检查所述第二物理地址的所述重映射计数是否小于第二阈值计数;并且
当所述第二物理地址的所述重映射计数小于所述第二阈值计数时,不将所述第二物理地址分类为所述特定物理地址,并且
其中,所述第二阈值计数被设定为小于或等于所述第一阈值计数的自然数。
8.根据权利要求1所述的存储器系统,其中在包括在所述存储块中的全部页面之中的存储冷数据的特定页面的数量达到设定数量的情况下,所述控制器进一步:
通过合并操作将所述冷数据移动到所述存储块之中的特定存储块;并且
将所述特定存储块作为冷块进行管理。
9.根据权利要求1所述的存储器系统,其中所述控制器进一步:
选择所述存储块之中的无效页面的数量超过设定百分比的存储块;
通过合并操作将存储在所选择的存储块的有效页面中的数据之中的被分类为冷数据的数据移动到所述存储块之中的第一存储块;
通过所述合并操作将未被分类为冷数据的数据移动到所述存储块之中的第二存储块;
将所述第一存储块作为冷块进行管理;并且
将所述第二存储块作为正常块或热块进行管理。
10.一种操作存储器系统的方法,所述存储器系统包括非易失性存储器装置,所述非易失性存储器装置包括多个存储块,每个所述存储块包括多个页面,所述方法包括:
管理将逻辑地址映射到物理地址的映射信息;
将通过超过第一阈值计数成为重映射命令的目标物理地址的物理地址分类为特定物理地址;并且
将所述页面之中的与所述特定物理地址对应的特定页面中存储的数据分类为冷数据,
所述方法进一步包括响应于重映射命令:
通过所述映射信息检测与第一逻辑地址对应的所述目标物理地址;并且
将所述目标物理地址重映射到第二逻辑地址,
其中所述第一阈值计数是2或更大的自然数,
所述方法进一步包括在重映射所述目标物理地址之后增大所述目标物理地址的重映射计数。
11.根据权利要求10所述的方法,进一步包括在增大所述重映射计数之后检测所述目标物理地址的所述重映射计数是否超过所述第一阈值计数,
其中在所述重映射计数超过所述第一阈值计数的情况下,所述目标物理地址被分类为所述特定物理地址。
12.根据权利要求11所述的方法,进一步包括根据所述数据的分类来初始化所述特定物理地址的所述重映射计数。
13.根据权利要求12所述的方法,进一步包括在初始化所述特定物理地址的所述重映射计数之后,每当所述特定物理地址成为所述目标物理地址时,增大所述特定物理地址的所述重映射计数。
14.根据权利要求13所述的方法,进一步包括响应于与写入逻辑地址和写入数据一起提供的写入命令:
检测所述映射信息中映射到所述写入逻辑地址的第一物理地址;
将第二物理地址重映射到所述写入逻辑地址;并且
将所述写入数据存储在所述页面之中的与所述第二物理地址对应的页面中,
其中当所述第一物理地址被分类为所述特定物理地址时,所述第二物理地址不被分类为所述特定物理地址。
15.根据权利要求13所述的方法,进一步包括响应于与写入逻辑地址和写入数据一起提供的写入命令:
检测所述映射信息中映射到所述写入逻辑地址的第一物理地址;
将第二物理地址重映射到所述写入逻辑地址;并且
将所述写入数据存储在所述页面之中的与所述第二物理地址对应的页面中,并且
进一步包括当所述第一物理地址已被分类为所述特定物理地址时:
减小所述第一物理地址的所述重映射计数;并且
将减小的值分配给所述第二物理地址的所述重映射计数。
16.根据权利要求15所述的方法,进一步包括:
检查所述第二物理地址的所述重映射计数是否小于第二阈值计数;并且
当所述第二物理地址的所述重映射计数小于所述第二阈值计数时,不将所述第二物理地址分类为所述特定物理地址,并且
其中所述第二阈值计数被设定为小于或等于所述第一阈值计数的自然数。
17.根据权利要求10所述的方法,进一步包括:在所述存储块中的全部页面之中的存储冷数据的特定页面的数量达到设定数量的情况下:
通过合并操作将所述冷数据移动到所述存储块之中的特定存储块;并且
将所述特定存储块作为冷块进行管理。
18.根据权利要求10所述的方法,进一步包括:
选择所述存储块之中的无效页面的数量超过设定百分比的存储块;
通过合并操作将存储在所选择的存储块的有效页面中的数据之中的被分类为冷数据的数据移动到所述存储块之中的第一存储块;
通过所述合并操作将未被分类为冷数据的数据移动到所述存储块之中的第二存储块;
将所述第一存储块作为冷块进行管理;并且
将所述第二存储块作为正常块或热块进行管理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180081882A KR20200007595A (ko) | 2018-07-13 | 2018-07-13 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR10-2018-0081882 | 2018-07-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716883A CN110716883A (zh) | 2020-01-21 |
CN110716883B true CN110716883B (zh) | 2023-05-02 |
Family
ID=69138883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910509695.9A Active CN110716883B (zh) | 2018-07-13 | 2019-06-13 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10921998B2 (zh) |
KR (1) | KR20200007595A (zh) |
CN (1) | CN110716883B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU5142900A (en) | 1999-05-21 | 2000-12-12 | Arthrocare Corporation | Systems and methods for electrosurgical treatment of intervertebral discs |
US7070596B1 (en) | 2000-08-09 | 2006-07-04 | Arthrocare Corporation | Electrosurgical apparatus having a curved distal section |
KR20210066559A (ko) * | 2019-11-28 | 2021-06-07 | 에스케이하이닉스 주식회사 | 컨트롤러 및 이를 포함하는 메모리 시스템 |
CN113448782B (zh) * | 2020-03-27 | 2022-05-13 | 长鑫存储技术有限公司 | 存储器的测试方法、存储介质和计算机设备 |
KR20210121696A (ko) * | 2020-03-31 | 2021-10-08 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 |
KR20220007300A (ko) * | 2020-07-10 | 2022-01-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN112286843B (zh) * | 2020-08-12 | 2022-04-08 | 深圳安捷丽新技术有限公司 | 数据存储系统的系统和方法 |
US20220171713A1 (en) * | 2020-11-30 | 2022-06-02 | Micron Technology, Inc. | Temperature-aware data management in memory sub-systems |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
US9141528B2 (en) | 2011-05-17 | 2015-09-22 | Sandisk Technologies Inc. | Tracking and handling of super-hot data in non-volatile memory systems |
KR20130076429A (ko) * | 2011-12-28 | 2013-07-08 | 삼성전자주식회사 | 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치 |
KR20140050941A (ko) * | 2012-10-22 | 2014-04-30 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 관리 방법 |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9336129B2 (en) * | 2013-10-02 | 2016-05-10 | Sandisk Technologies Inc. | System and method for bank logical data remapping |
KR20160027805A (ko) * | 2014-09-02 | 2016-03-10 | 삼성전자주식회사 | 비휘발성 메모리 장치를 위한 가비지 컬렉션 방법 |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
KR20180060370A (ko) * | 2016-11-29 | 2018-06-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20190074677A (ko) * | 2017-12-20 | 2019-06-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-07-13 KR KR1020180081882A patent/KR20200007595A/ko not_active Application Discontinuation
-
2019
- 2019-04-05 US US16/375,975 patent/US10921998B2/en active Active
- 2019-06-13 CN CN201910509695.9A patent/CN110716883B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110716883A (zh) | 2020-01-21 |
KR20200007595A (ko) | 2020-01-22 |
US10921998B2 (en) | 2021-02-16 |
US20200019327A1 (en) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304141B (zh) | 存储器系统及其操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
CN110716883B (zh) | 存储器系统及其操作方法 | |
TWI756297B (zh) | 記憶體系統及其操作方法 | |
CN108121665B (zh) | 存储器系统及其操作方法 | |
US10606710B2 (en) | Controller, memory system and operating method thereof | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN108345550B (zh) | 存储器系统 | |
CN108268212B (zh) | 控制器及操作方法 | |
CN107491396B (zh) | 存储器系统及其操作方法 | |
CN110473582B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN108932203B (zh) | 数据处理系统和数据处理方法 | |
CN110362270B (zh) | 存储器系统及其操作方法 | |
CN109697171B (zh) | 控制器及其操作方法 | |
US10019173B1 (en) | Memory system and operating method thereof | |
CN108389602B (zh) | 存储器系统及其操作方法 | |
CN111309638B (zh) | 存储器系统及其操作方法 | |
CN110647290B (zh) | 存储器系统及其操作方法 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
CN110489271B (zh) | 存储器系统及其操作方法 | |
CN110197692B (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 |