CN115132252A - 存储装置及其操作方法 - Google Patents

存储装置及其操作方法 Download PDF

Info

Publication number
CN115132252A
CN115132252A CN202111224632.2A CN202111224632A CN115132252A CN 115132252 A CN115132252 A CN 115132252A CN 202111224632 A CN202111224632 A CN 202111224632A CN 115132252 A CN115132252 A CN 115132252A
Authority
CN
China
Prior art keywords
memory
read
block
blocks
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202111224632.2A
Other languages
English (en)
Inventor
宋旻梧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN115132252A publication Critical patent/CN115132252A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Abstract

本公开涉及一种电子装置。一种存储器控制器,该存储器控制器控制存储器封装件,该存储器封装件包括多个存储器管芯,每个存储器管芯包括多个存储块,多个存储块以超级块为单位进行控制,每个超级块包括从多个存储器管芯中的每一个中选择的至少一个存储块,该存储器控制器包括:回收信息存储装置,存储回收信息,该回收信息包括读取计数以及与读取计数相关的迁移级别信息;以及读取回收控制器,将读取计数超过阈值计数的目标块以及根据回收信息选择的牺牲块中存储的数据迁移到与目标块所属的超级块不同的另一超级块,其中牺牲块包括与包括目标块的存储器管芯不同的存储器管芯中包括的存储块之中迁移级别信息最高的存储块。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求于2021年3月25日提交的申请号为10-2021-0039125的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储装置以及操作该存储装置的方法。
背景技术
近来,计算机环境的范例已经改变成使得计算机系统随时随地可用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。便携式电子装置通常使用采用存储器装置的存储器系统,即数据存储装置。数据存储装置用作便携式电子装置的主存储装置或辅助存储装置。
因为使用存储器装置的数据存储装置不具有任何机械驱动部件,所以具有优异的稳定性和耐久性。另外,数据存储装置还提供了更快的信息访问速度和低功耗。被实现为具有这些优点的存储器系统的数据存储装置的示例可以包括通用串行总线(USB)、具有各个接口的存储卡以及固态驱动器(SSD)。
存储器装置通常被分类为易失性存储器装置和非易失性存储器装置。
非易失性存储器装置以相对较低的写入速度和读取速度来操作,但非易失性存储器装置可以在没有电力供应的情况下保留所存储的数据。因此,当需要存储无论电力的供应如何都应当保留的数据时,可以使用非易失性存储器装置。非易失性存储器装置的示例包括只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FRAM)。闪速存储器通常可以被分类为NOR型存储器和NAND型存储器。
发明内容
本公开的各个实施例针对一种执行改进的读取回收操作的存储装置以及该存储装置的操作方法。
根据本公开的实施例,一种存储器控制器,该存储器控制器控制存储器封装件,存储器封装件包括多个存储器管芯,每个存储器管芯包括多个存储块,多个存储块以超级块为单位进行控制,每个超级块包括从多个存储器管芯中的每一个中选择的至少一个存储块,该存储器控制器可以包括:回收信息存储装置,存储回收信息,该回收信息包括多个存储块的读取计数以及与读取计数相关的迁移级别;以及读取回收控制器,将目标块和牺牲块中存储的数据迁移到与目标块所属的超级块不同的另一超级块,目标块为多个存储块之中读取计数超过阈值计数的存储块,并且牺牲块是根据回收信息来选择的,其中牺牲块包括与包括目标块的存储器管芯不同的存储器管芯中包括的存储块之中其迁移级别指示最高迁移级别的一个或多个存储块。
根据本公开的实施例,一种存储装置可以包括:存储器封装件,包括多个存储器管芯,多个存储器管芯包括多个存储块;以及存储器控制器,以超级块为单位来控制多个存储块,每个超级块包括从多个存储器管芯中选择的存储块,其中存储器控制器包括:回收信息存储装置,存储回收信息,该回收信息包括多个存储块的读取计数以及与多个存储块中存储的数据的可靠性相关的迁移级别;以及读取回收控制器,将目标块和多个牺牲块中存储的数据迁移到与目标块所属的超级块不同的另一超级块,目标块为多个存储块之中读取计数超过阈值计数的存储块,并且多个牺牲块是根据回收信息来选择的,其中迁移级别包括与多个存储块的读取计数所属的多个读取计数范围相对应的迁移级别,并且其中读取回收控制器在多个存储块之中从最高迁移级别开始按降序选择设定数量的存储块作为牺牲块。
根据本公开的实施例,一种操作存储器控制器的方法,该存储器控制器控制存储器封装件,存储器封装件包括多个存储器管芯,每个存储器管芯包括多个存储块,多个存储块以超级块为单位进行控制,每个超级块包括从多个存储器管芯中的每一个中选择的至少一个存储块,该方法可以包括:存储回收信息,该回收信息包括多个存储块的读取计数以及与读取计数相关的迁移级别;并且将目标块和多个牺牲块中存储的数据迁移到与目标块所属的超级块不同的另一超级块,目标块为多个存储块之中读取计数超过阈值计数的存储块,并且多个牺牲块是根据回收信息来选择的,其中,多个牺牲块包括与包括目标块的存储器管芯不同的其它存储器管芯中包括的存储块之中其迁移级别指示最高迁移级别的一个或多个存储块。
根据本公开的实施例,一种存储装置可以包括:多个存储器管芯,包括多个存储块;以及存储器控制器,被配置成:对多个存储器管芯之中的目标存储器管芯的目标存储块执行读取操作,目标存储块属于多个超级块中的目标超级块,每个超级块包括分别从多个存储器管芯中选择的多个存储块;基于读取操作,更新目标存储块的读取计数;基于目标存储块的更新后的读取计数以及多个存储块之中剩余存储块的读取计数,确定多个存储块的迁移级别,迁移级别中的每一个与读取计数成正比;当更新后的读取计数大于阈值读取计数时,从多个存储器管芯之中除了目标存储器管芯之外的剩余存储器管芯中的每一个中确定牺牲块,牺牲块是剩余存储器管芯中的每一个中的存储块之中具有最高迁移级别的存储块;并且将目标存储器管芯的目标存储块和剩余存储器管芯的牺牲块中存储的数据迁移到多个超级块之中除了包括目标存储块和牺牲块的超级块之外的开放超级块。
附图说明
图1是示出根据本公开的实施例的包括存储器装置的存储装置的示图;
图2是示出根据本公开的实施例的图1的存储器封装件中包括的存储器装置的示图;
图3是示出根据本公开的实施例的图2的存储块的结构的示图;
图4是示出根据本公开的实施例的存储器封装件的示图;
图5是示出根据本公开的实施例的图1的存储器封装件中包括的超级块的示图;
图6是示出根据本公开的实施例的存储器控制器的示图;
图7A示出根据本公开的实施例的存储每个存储块的读取计数的表;
图7B示出根据本公开的实施例的存储每个存储块的迁移级别信息的表;
图8是示出根据本公开的实施例的读取回收操作的示图;
图9是示出根据本公开的实施例的存储回收信息的方法的流程图;
图10是示出根据本公开的实施例的执行读取回收操作的方法的流程图;
图11是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图;
图12是示出应用了根据本公开的实施例的存储装置的固态驱动器系统的框图;并且
图13是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
根据本说明书中公开的本公开的构思的实施例的具体结构或功能描述仅用于描述根据该构思的实施例,并且根据该构思的实施例可以通过各种形式来执行,但是具体实施方式不限于在本说明书中描述的实施例。
可以对根据构思的实施例应用各种修改和改变,以使得将在附图中示出实施例并在说明书中描述实施例。然而,根据本公开的构思的实施例不应当被解释为限于特定的公开,并且包括不脱离本公开的精神和技术范围的所有改变、等效方案或替代方案。
虽然诸如“第一”和“第二”的术语可以用于描述各种组件,但不应当将这种组件理解为限于上述术语。上述术语用于区分一个组件和另一组件,例如,在不脱离根据本公开的构思的范围的情况下,第一组件可以被称为第二组件,并且类似地,第二组件可以被称为第一组件。
将理解的是,当元件被称为“连接”或“联接”到另一元件时,该元件可以直接连接或联接到另一元件,或者也可以存在中间元件。相反,当一个元件被称为“直接连接”或“直接联接”到另一元件时,不存在中间元件。可以类似地解释描述组件之间关系的其它表述,诸如“在……之间”、“直接在……之间”或者“与……相邻”和“与……直接相邻”。
本公开中所使用的术语仅用于描述特定实施例,并不旨在限制本公开。除非上下文另外明确指示,否则本公开中的单数形式也旨在包括复数形式。在本说明书中,应当理解的是,术语“包括”或“具有”指示存在说明书中描述的特征、数量、步骤、操作、组件、部分或其组合,但并不排除存在或添加一个或多个其它特征、数量、步骤、操作、组件、部件或其组合的可能性。
只要没有不同定义,那么本文中使用的包括技术术语或科学术语的所有术语都具有本公开所属领域的技术人员通常理解的含义。常用词典中定义的术语应当被理解为与相关技术的上下文中的含义相同,并且除非在本说明书中另有明确定义,否则不应当被理解为具有理想化或过于形式化的含义。
在一些实施例中,将不再详细描述公知的过程、装置结构和技术,以避免使本发明不清楚。这旨在通过省略不必要的描述来更清楚地公开本公开的主旨。
下文中,将参照附图详细描述本公开的实施例,以便本领域技术人员能够容易地实施本公开的技术精神。
图1是示出根据本公开的实施例的包括存储器装置的存储装置50的示图。
参照图1,存储装置50可以包括存储器封装件1000和控制存储器封装件1000的操作的存储器控制器200。存储装置50可以被配置成响应于主机300的控制而存储数据。存储装置50的示例可以包括移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板PC或车载式信息娱乐系统。
根据与主机300的通信标准或接口,存储装置50可以被制造为各种类型的存储装置中的一种。例如,存储装置50可以被配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,安全数字(SD)、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以以各种类型的封装中的任意一种来制造。例如,存储装置50可以被制造为诸如以下的任意封装类型:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)、晶圆级堆叠封装(WSP)等。
存储器封装件1000可以存储数据。存储器封装件1000可以响应于存储器控制器200的控制而操作。存储器封装件1000中包括的存储数据的多个存储器装置可以包括存储器单元阵列(未示出),存储器单元阵列包括存储器单元。
存储器单元中的每一个可以被配置为存储一位数据的单层单元(SLC)、存储两位数据的多层单元(MLC)、存储三位数据的三层单元(TLC)、或存储四位数据的四层单元(QLC)。
存储器单元阵列(未示出)可以包括多个存储块。存储块中的每一个可以包括多个存储器单元。每个存储块可以包括多个页面。根据实施例,页面可以是将数据存储在存储器封装件1000中的单位或读取存储器封装件1000中存储的数据的单位。存储块可以是擦除数据的单位。
根据实施例,存储器封装件1000的示例的可以包括:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)和自旋转移力矩随机存取存储器(STT-RAM)。作为示例而非限制,存储器封装件1000为NAND闪速存储器。
存储器封装件1000可以从存储器控制器200接收命令CMD和地址ADDR。存储器封装件1000可以被配置成访问存储器单元阵列中响应于所接收的地址而选择的区域。存储器封装件1000可以对由地址ADDR选择的区域执行与命令CMD相对应的操作。例如,存储器封装件1000可以执行编程操作、读取操作和擦除操作。在编程操作期间,存储器封装件1000可以将数据存储在由地址ADDR选择的区域中。在读取操作期间,存储器封装件1000可以从由地址ADDR选择的区域中读取数据。在擦除操作期间,存储器封装件1000可以擦除由地址ADDR选择的区域中存储的数据。
根据实施例,存储器封装件1000可以包括多个平面。平面可以指独立地执行一个或多个操作的单位。例如,存储器封装件1000可以包括两个、四个或八个平面。多个平面可以同时独立地执行编程操作、读取操作或擦除操作。
存储器控制器200可以控制存储装置50的一般操作。
当向存储装置50施加电力时,存储器控制器200可以运行固件FW。当存储器封装件1000是闪速存储器装置时,固件FW可以包括:主机接口层(HIL),控制与主机300的通信;闪存转换层(FTL),控制主机300和存储器封装件1000之间的通信;以及闪存接口层(FIL),控制与存储器封装件1000的通信。
根据实施例,存储器控制器200可以包括:读取回收控制器210,控制存储器封装件1000以执行读取回收操作;以及回收信息存储装置220,存储与读取回收操作相关的信息。
在实施例中,存储器控制器200可以从主机300接收写入数据和逻辑块地址(LBA),并且可以将逻辑块地址LBA转换为物理块地址(PBA),该物理块地址指示待存储存储器封装件1000中包括的数据的存储器单元的地址。在本说明书中,逻辑块地址LBA可以具有与“逻辑性地址”或“逻辑地址”相同的含义。在本说明书中,物理块地址PBA可以具有与“物理性地址”或“物理地址”相同的含义。
存储器控制器200可以响应于主机300的请求而控制存储器封装件1000以执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将编程命令、物理块地址PBA和数据提供到存储器封装件1000。在读取操作期间,存储器控制器200可以将读取命令和物理块地址PBA提供到存储器封装件1000。在擦除操作期间,存储器控制器200可以将擦除命令和物理块地址PBA提供到存储器封装件1000。
根据本公开的实施例,存储器控制器200可以生成命令、地址和数据并将它们传送到存储器封装件1000,而不考虑来自主机300的请求。例如,存储器控制器200可以提供用于执行在执行损耗均衡、读取回收和垃圾收集时所涉及的读取操作和编程操作的命令、地址和数据。
在另一实施例中,存储器控制器200可以控制存储器封装件1000的读取操作,根据读取操作的结果来确定对其执行读取操作的存储器单元的劣化特性,并且执行读取回收操作以改进存储器单元的保留特性。存储器控制器200可以执行读取回收操作以改善存储器单元的阈值电压值的劣化。
根据实施例,存储器控制器200可以控制至少两个存储器封装件1000。存储器控制器200可以以交错方案来控制存储器封装件1000以提高操作性能。根据交错方案,对至少两个存储器封装件1000的操作可以彼此重叠。然而,根据交错方案,至少两个存储器封装件1000可以并行操作。
缓冲存储器(未示出)可以临时存储从主机300提供的数据,即,待存储在存储器封装件1000中的数据,或者可以临时存储从存储器封装件1000读取的数据。根据实施例,缓冲存储器可以是易失性存储器装置。例如,缓冲存储器(未示出)可以是动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
主机300可以使用诸如以下的各种通信标准或接口中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法。
图2是示出根据本公开的实施例的图1的存储器封装件1000中包括的存储器装置100的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140、电压生成器150和电流感测电路160。地址解码器120、读取和写入电路130、电压生成器150和电流感测电路160可以被统称为由控制逻辑140控制的外围电路。
存储器单元阵列110可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可以通过字线WL联接到地址解码器120。多个存储块BLK1至BLKz可以通过位线BL1至BLm联接到读取和写入电路130。多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。根据实施例,多个存储器单元可以是具有垂直沟道结构的非易失性存储器单元。存储器单元阵列110可以具有二维结构。然而,根据实施例,存储器单元阵列110可以具有三维结构。存储器单元阵列110中包括的多个存储器单元中的每一个可以存储至少一位数据。根据实施例,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储一位数据的单层单元(SLC)。根据另一实施例,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储两位数据的多层单元(MLC)。根据另一实施例,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储三位数据的三层单元(TLC)。根据另一实施例,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储四位数据的四层单元(QLC)。根据实施例,存储器单元阵列110中包括的多个存储器单元中的每一个可以存储五位或更多位数据。
地址解码器120可以通过字线WL联接到存储器单元阵列110。地址解码器120可以由控制逻辑140控制。地址解码器120可以通过存储器装置100中的输入/输出缓冲器(未示出)接收地址。
地址解码器120可以被配置成对所接收到的地址的块地址进行解码。地址解码器120可以根据经解码的块地址来选择至少一个存储块。另外,在读取电压施加操作期间,地址解码器120可以将电压生成器150生成的读取电压Vread施加到所选择的存储块的所选择的字线,并且可以将通过电压Vpass施加到未选择的字线。另外,在编程验证操作期间,地址解码器120可以将由电压生成器150生成的验证电压施加到所选择的存储块的所选择的字线,并且可以将通过电压Vpass施加到未选择的字线。
地址解码器120可以被配置成对所接收到的地址的列地址进行解码。地址解码器120可以将经解码的列地址传送到读取和写入电路130。
可以以页面为单位来执行存储器装置100的读取操作和编程操作。在读取操作和编程操作的请求下接收到的地址可以包括块地址、行地址和列地址。地址解码器120可以响应于块地址和行地址而选择一个存储块和一个字线。列地址可以由地址解码器120解码并且被提供到读取和写入电路130。在本公开中,联接到一个字线的存储器单元可以被称为“物理页面”。
读取和写入电路130可以包括多个页面缓冲器PB1至PBm。读取和写入电路130可以在存储器单元阵列110的读取操作期间作为“读取电路”来操作,并且在存储器单元阵列110的写入操作期间作为“写入电路”来操作。页面缓冲器PB1至PBm可以通过位线BL1至BLm联接到存储器单元阵列110。在读取操作和编程验证操作期间,页面缓冲器PB1至PBm可以向联接到存储器单元的位线持续供应感测电流,以便通过感测节点来感测存储器单元的阈值电压,并且可以感测由与其相对应的存储器单元的编程状态引起的电流量的改变,以锁存感测数据。读取和写入电路130可以响应于从控制逻辑140输出的页面缓冲器控制信号而操作。在本说明书中,写入电路的写入操作可以指针对所选择的存储器单元的编程操作。
在读取操作期间,读取和写入电路130可以感测存储器单元的数据,临时存储读取数据,并且将数据DATA输出到存储器装置100的输入/输出缓冲器(未示出)。根据实施例,除了页面缓冲器PB1至PBm(或页面寄存器)之外,读取和写入电路130还可以包括列选择器。根据本公开的实施例,读取和写入电路130可以是页面缓冲器。
控制逻辑140可以联接到地址解码器120、读取和写入电路130、电压生成器150和电流感测电路160。控制逻辑140可以通过存储器装置100的输入/输出缓冲器(未示出)来接收命令CMD和控制信号CTRL。控制逻辑140可以被配置成响应于控制信号CTRL而控制存储器装置100的一般操作。另外,控制逻辑140可以输出控制信号以控制页面缓冲器PB1至PBm的感测节点预充电电位电平。控制逻辑140可以控制读取和写入电路130以执行存储器单元阵列110的读取操作。
控制逻辑140可以响应于通过信号PASS或失败信号FAIL而确定对预定目标编程状态的验证操作是通过还是失败。
在读取操作期间,电压生成器150可以响应于从控制逻辑140输出的控制信号而生成读取电压Vread和通过电压Vpass。电压生成器150可以包括接收内部电源电压以生成具有各个电压电平的多个电压的多个泵浦电容器,并且可以响应于控制逻辑140的控制而通过选择性地启用多个泵浦电容器来生成多个电压。
在验证操作期间,电流感测电路160可以响应于从控制逻辑140接收的允许位VRY_BIT<#>而生成参考电流和参考电压。电流感测电路160可以将所生成的参考电压与从读取和写入电路130中包括的页面缓冲器PB1至PBm接收的感测电压VPB进行比较,或者可以将所生成的参考电流与从读取和写入电路130中包括的页面缓冲器PB1至PBm接收的感测电流进行比较,从而输出通过信号PASS或失败信号FAIL。
地址解码器120、读取和写入电路130、电压生成器150和电流感测电路160可以用作被配置成对存储器单元阵列110执行读取操作、写入操作和擦除操作的“外围电路”。控制逻辑140可以控制外围电路对存储器单元阵列110执行读取操作、写入操作和擦除操作。
图3是示出根据本公开的实施例的图2的存储块BLK1至BLKz之中的存储块BLKz的结构的示图。
图3示出存储块BLKz,存储块BLKz是图2所示的存储块BLK1至BLKz中的一个。
参照图3,彼此平行布置的多个字线可以联接在第一选择线与第二选择线之间。第一选择线可以是源极选择线SSL,并且第二选择线可以是漏极选择线DSL。更具体地,存储块BLKz可以包括联接在位线BL1至BLm与源极线SL之间的多个串ST。位线BL1至BLm可以分别连接到串ST,并且源极线SL可以共同连接到串ST。串ST可以具有相同的配置。因此,将作为示例详细描述连接到第一位线BL1的串ST。
串ST可以包括串联联接在源极线SL与第一位线BL1之间的源极选择晶体管SST、多个存储器单元MC1至MC16以及漏极选择晶体管DST。每个串ST可以包括至少一个源极选择晶体管SST、至少一个漏极选择晶体管DST,并且可以存在比图3所示的存储器单元MC1至MC16更多的存储器单元。
源极选择晶体管SST的源极可以联接到源极线SL,并且漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元MC1至MC16可以串联联接在源极选择晶体管SST与漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以联接到源极选择线SSL,漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,并且存储器单元MC1至MC16的栅极可以联接到多个字线WL1至WL16。不同的串ST中包括的存储器单元之中联接到相同字线的一组存储器单元可以被称为物理页面PG。因此,存储块BLKz可以包括与字线WL1至WL16的数量一样多的物理页面PG。
单个存储器单元可以存储一位数据。该存储器单元通常被称为单层单元(SLC)。一个物理页面PG可以存储一个逻辑页面(LPG)数据。一个LPG数据可以包括与一个物理页面PG中包括的单元的数量一样多的数据位。
一个存储器单元可以存储两位或更多位数据。一个物理页面PG可以存储与两个或更多个逻辑页面LPG相对应的数据。
图4是示出根据本公开的实施例的存储器封装件1000的示图。
参照图4,存储器封装件1000可以包括多个存储器管芯。下文中,存储器管芯中每一个可以与图2所示的存储器装置100相对应。如图4所示,虽然图2所示的存储器装置的附图标记“100”仅分配给#3存储器管芯3,但是每个存储器管芯可以与图2的存储器装置100相对应。换句话说,存储器封装件1000可以包括如同图2所示的存储器装置100的多个存储器管芯。
如图4所示,存储器控制器200可以通过通道控制多个管芯。存储器封装件1000中包括的多个存储器管芯之中预定数量的存储器管芯可以通过通道联接到存储器控制器200。联接到存储器控制器200的预定数量的存储器管芯可以由存储器控制器200来顺序地控制。
根据本公开的实施例,四个存储器管芯DIE 0、DIE 1、DIE 2和DIE 3可以通过通道Ch 0联接到存储器控制器200。接下来的四个存储器管芯(DIE 4、DIE 5、DIE 6和DIE 7)可以通过通道Ch 1联接到存储器控制器200。存储器封装件1000中包括的多个存储器管芯可以通过多个通道联接到存储器控制器200。
存储器控制器200可以通过多个通道控制与其联接的多个存储器管芯。存储器控制器200可以通过通道控制对所联接的存储块执行的读取操作、写入操作和擦除操作。更具体地,存储器控制器200可以通过通道Ch 0控制对存储器管芯DIE 0中包括的存储块的读取操作,并且可以控制对存储器管芯DIE 1中包括的存储块的读取操作。存储器控制器200可以控制对存储器管芯DIE 2和DIE 3中包括的存储块的操作。以相同的方式,存储器控制器200可以通过通道Ch 1控制对存储器管芯DIE 4、DIE 5、DIE 6和DIE 7中包括的存储块的操作。
图5是示出根据本公开的实施例的图1的存储器封装件1000中包括的超级块的示图。
作为示例而非限制,图5所示的存储器封装件1000包括存储器管芯DIE 0、DIE 1、DIE 2和DIE 3,并且存储器管芯中的每一个包括存储块BLK0至BLKi。
参照图5,可以生成超级块,超级块包括从存储器管芯DIE 0、DIE 1、DIE 2和DIE 3中的每一个中选择的至少一个存储器管芯。更具体地,超级块SB 0可以包括被分别包括在存储器管芯DIE 0、DIE 1、DIE 2和DIE 3中的存储块BLK0。以相同的方式,超级块SB 1可以包括分别被包括在存储器管芯中的存储块BLK 1。存储器封装件1000可以包括多个超级块。
可以以超级块为单位控制存储器封装件1000中包括的存储块。参照图4,存储器控制器200可以通过通道Ch 0控制存储器管芯DIE 0、DIE 1、DIE 2和DIE 3中包括的存储块的操作。当以超级块为单位控制存储器封装件1000中包括的存储块时,存储器控制器200可以控制超级块SB0中包括的存储块的操作。
当以超级块为单位控制存储器封装件1000中包括的存储块时,存储器控制器200可以顺序地控制存储块。另外,不同存储器管芯中包括的存储块的操作可以不相互影响。例如,因为相同超级块中包括的存储块被包括在不同的存储器管芯中,所以存储器管芯DIE 0中包括的存储块的操作可以不影响存储器管芯DIE 1中包括的存储块的操作。
根据本公开的实施例,在对超级块SB 0中包括的存储器管芯DIE 0的存储块BLK 0执行编程操作的同时,存储器控制器200可以对相同超级块中包括的存储器管芯DIE 1的存储块BLK 0执行读取操作。因此,当顺序地控制存储块的操作时,可以提高存储器操作的性能速度。
图6是示出根据本公开的实施例的存储器控制器200的示图。
参照图6,存储器控制器200可以包括读取回收控制器210和回收信息存储装置220。存储器控制器200可以控制存储器封装件1000以执行读取回收操作,以防止因存储器封装件1000中包括的存储器单元的阈值电压的改变而导致的数据丢失。
读取回收控制器210可以控制存储器封装件1000以执行读取回收操作。读取回收控制器210可以检查多个存储器单元中的每一个的读取计数。当存储器单元中的每一个的读取计数超过阈值计数时,可以触发读取回收操作。读取回收控制器210可以将回收信息存储在回收信息存储装置220中。在一些实施例中,回收信息可以包括多个存储器单元中的每一个的读取计数以及与读取计数相关联的迁移级别信息。当触发对与读取计数超过阈值计数的存储块相对应的目标块的读取回收操作时,读取回收控制器210可以将根据回收信息选择的多个牺牲块中存储的数据迁移到除了目标块所属的超级块之外的另一超级块。读取回收控制器210可以将存储器管芯之中与包括目标块的存储器管芯不同的其它存储器管芯中包括的存储块之中具有最高迁移级别信息的存储块确定为牺牲块。存储器管芯中的每一个中的仅一个存储块可以被选择并且被包括在牺牲块中。
读取回收控制器210可以包括回收信息管理器211和牺牲块选择器212。回收信息管理器211可以更新与存储器封装件1000的读取操作相对应的回收信息。回收信息管理器211可以将与多个存储块的读取计数所属的多个读取计数范围相对应的级别信息设置为被包括在迁移级别信息中。更具体地,回收信息管理器211可以增加执行了读取操作的存储块的读取计数。另外,当已经执行读取操作的存储块的读取计数超过与该存储块的迁移级别信息(或迁移级别)相对应的读取计数范围的最大值时,回收信息管理器211可以增加相应存储块的迁移级别。当多个存储器管芯中包括的存储块具有相同的迁移级别时,牺牲块选择器212可以将具有较高读取计数的存储块选择为牺牲块。
存储器封装件1000中包括的多个存储器管芯可以包括多个存储器平面。多个存储器平面可以包括多个存储块。读取回收控制器210可以分别从多个存储器平面确定牺牲块。当多个存储器管芯包括多个存储器平面时,存储器平面中包括的存储块中的每一个的回收信息可以被存储在回收信息存储装置220中。
与在存储器管芯的读取操作期间应用的防御算法相关的信息可以被存储在回收信息存储装置220中。更具体地,关于存储器封装件中包括的存储器管芯的预定默认读取电压与由存储器管芯的读取操作期间应用的防御算法改变的读取电压之间的差的信息可以被存储在回收信息存储装置220中。当预定默认读取电压与由防御算法改变的读取电压之间的差超过阈值时,读取回收控制器210可以增加存储器管芯中包括的存储块的迁移级别。
在本公开的实施例中,读取回收控制器210可以在多个存储块之中,从最高迁移级别开始按降序选择预定数量的存储块作为牺牲块。可以从与牺牲块相同的存储器管芯中选择多个存储块。
在本公开的实施例中,存储器控制器200可以将回收信息存储在回收信息存储装置220中。该回收信息可以包括多个存储器单元中的每一个的读取计数以及与多个存储块中存储的数据的可靠性相关联的迁移级别信息(或迁移级别)。与数据的可靠性相关的信息可以包括如下的信息:关于存储器封装件中包括的存储器管芯的预定默认读取电压与由存储器管芯的读取操作期间应用的防御算法改变的读取电压之间的差的信息。当与数据的可靠性相关的信息中包括的读取电压之间的差超过阈值时,回收信息管理器211可以增加顶部存储器管芯中包括的存储块的迁移级别。另外,当相对于比在软解码操作期间设置的最佳读取电压更大的读取电压,存储器封装件1000中包括的存储块的读取操作已经通过时,读取回收控制器210可以将相应存储块确定为目标块。当确定了目标块时,可以触发读取回收操作。然而,即使当存储块的读取计数小于阈值计数时,也可以执行读取回收操作。
作为示例而非限制,在图7A、图7B和图8中,存储器封装件包括4个存储器管芯DIE0、DIE 1、DIE 2和DIE 3,并且存储器管芯中的每一个包括4个存储块BLK 0、BLK 1、BLK 2和BLK 3。
图7A示出根据本公开的实施例的存储每个存储块的读取计数的表。图7B示出根据本公开的实施例的存储每个存储块的迁移级别信息(或迁移级别)的表。
参照图7A和图7B所示的表,横轴表示存储器管芯的编号,并且纵轴表示存储块的编号。图7A所示的表可以存储存储块的读取计数,并且图7B所示的表可以存储迁移级别信息。如图7A所示的读取计数可以对应于多个读取计数范围。图7B中的迁移级别信息可以对应于或表示多个读取计数范围。
更具体地,当读取计数在零至小于50k(即,50,000)之间时,迁移级别信息可以为Lv0。当读取计数在50k至小于100k时,迁移级别信息可以为Lv1。当读取计数在100k至小于150k时,迁移级别信息可以为Lv2。当读取计数在150k至小于200k时,迁移级别信息可以为Lv3。当读取计数为200k或更多时,迁移级别信息可以为Lv4。本文中,阈值计数为199999。
图8是示出根据本公开的实施例的读取回收操作的示图。
如图6所示的存储器控制器200可以控制存储器封装件1000以执行读取回收操作。如图7A和图7B所示的表可以被存储在回收信息存储装置220中。在图8所示的示例中,图7A和图7B中的表中存储的回收信息在每个存储块上显示。在图8中,当读取计数为200k或更多时,触发读取回收操作。
读取回收控制器210可以监测存储器管芯830的存储块831的读取计数是否超过阈值计数。可以对与包括读取计数超过阈值计数的目标块的超级块850不同的超级块890执行读取回收操作。更具体地,读取回收控制器210可以确定将数据迁移到超级块890的牺牲块。可以在除了存储器管芯830之外的剩余存储器管芯810、820和840中确定牺牲块。在存储器管芯810中,两个存储块(812和814)可具有最高迁移级别(即,Lv 2)。牺牲块选择器212可以在具有相同迁移级别(即,Lv 2)的存储块812、814之中选择具有较高读取计数(即,115k)的存储块814作为牺牲块。在存储器管芯820中可存在一个具有最高迁移级别(即,Lv 3)的存储块822。可以选择存储块822作为牺牲块。在存储器管芯840中可存在一个具有最高迁移级别(即,Lv 3)的存储块843。可以选择存储块843作为牺牲块。
读取回收控制器210可以将目标块831和牺牲块814、822和843中存储的数据迁移到另一超级块890。在图8所示的示例中,块831、814、822和843中的数据可以被迁移到相同的存储器管芯。然而,读取回收控制器210可能会迁移数据,而不管存储器管芯编号。
根据本公开的实施例,读取回收控制器210可以在多个存储块之中从最高迁移级别开始按降序选择预定数量的存储块作为牺牲块。可以选择具有迁移级别Lv 3、Lv 2的三个牺牲块821、822和843。可以不从存储器管芯810中选择牺牲块。
图9是示出根据本公开的实施例的存储回收信息的方法的流程图。可以参照图1和图6来描述图9的方法。
参照图9,在操作S901,存储器控制器200可以对存储器封装件1000执行读取操作。当执行读取操作时,可以改变存储器单元的阈值电压值。为了防止由存储器单元的阈值电压值的改变而导致的存储的数据丢失,可以执行读取回收操作。
在操作S903,回收信息管理器211可以增加已经执行读取操作的存储块的读取计数。读取回收控制器210可以将回收信息存储在回收信息存储装置220中。在一些实施例中,回收信息可以包括存储块的读取计数以及与读取计数相关联的迁移级别信息。回收信息管理器211可以将与多个存储块的读取计数所属的多个读取计数范围相对应的级别信息确定为迁移级别信息。
在操作S905,回收信息管理器211可以根据增加的读取计数来更新存储块的迁移级别信息。更具体地,当已经执行读取操作的存储块的读取计数超过与该存储块的级别信息相对应的读取计数范围的最大值时,回收信息管理器211可以增加该存储块的迁移级别。根据另一实施例,当存储器封装件中包括的存储器管芯的预定默认读取电压与因存储器管芯的读取操作期间应用的防御算法而改变的读取电压之间存在差异时,回收信息管理器211可以增加相应存储器管芯中包括的存储块的迁移级别。
图10是示出根据本公开的实施例的执行读取回收操作的方法的示图。可以参照图1和图6来描述图10的方法。
参照图10,在操作S1010,读取回收控制器210可以确定存储块的读取计数是否超过阈值读取计数。当存储块的读取计数没有超过阈值读取计数时,读取回收操作可以不执行而终止。根据本公开的另一实施例,读取回收控制器210可以根据相对于比在软解码操作期间设置的最佳读取电压更高的读取电压,对存储器封装件中包括的存储块的读取是否通过,来确定是否触发读取回收操作。当相对于比在软解码操作期间设置的最佳读取电压更高的读取电压,对存储器封装件1000中包括的存储块的读取通过时,可以认为相应存储块的读取计数可能超过阈值读取计数。
在操作S1020,读取回收控制器210可以确定牺牲块。牺牲块可以是根据回收信息来选择的多个存储块。可以将牺牲块中存储的数据连同读取计数超过阈值读取计数的目标块中存储的数据一起迁移到另一超级块。读取回收控制器210可以选择存储器管芯之中与包括目标块的存储器管芯不同的其它存储器管芯中包括的存储块之中具有最高迁移级别的存储块作为牺牲块。根据本公开的另一实施例,读取回收控制器210可以在多个存储块之中从最高迁移级别开始按降序选择预定数量的存储块作为牺牲块。
在操作S1030,读取回收控制器210可以将目标块和牺牲块中存储的数据迁移到与目标块所属的超级块不同的另一超级块。
根据另一实施例,当多个存储块中的任意一个的读取计数超过阈值计数时,可以触发读取回收操作。由于快速触发了读取回收操作,因此可以避免由存储器单元的阈值电压的偏移而导致的数据丢失。
根据本公开的实施例,可以仅选择需要读取回收的存储块并进行读取回收。与对包括需要读取回收的存储块的超级块中包括的数据的迁移相比,可以减少回收次数。
根据本公开的实施例,可以通过在读取回收操作期间对与具有更高迁移级别信息的存储块相对应的牺牲块中存储的数据以及目标块中存储的数据进行迁移来分布执行读取回收的时段。
图11是示出应用了根据本公开的实施例的存储装置的存储卡系统2000的框图。
参照图11,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100可以联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以被配置成提供存储器装置2200与主机之间的接口。存储器控制器2100可以被配置成驱动用于控制存储器装置2200的固件。存储器控制器2100可以具有与上文参照图1描述的存储器控制器200相同的配置。
在实施例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、闪存接口和ECC电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信标准或接口中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi、蓝牙和高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可以由上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)、自旋转移力矩磁性RAM(STT-MRAM)。
存储器装置2200和存储器控制器2100可以被集成到单个半导体装置中以形成存储卡。例如,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中并且形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC或微型MMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD或SDHC)、通用闪存(UFS)等。
图12是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统3000的框图。
参照图12,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号,并且可以通过电源连接器3002接收电力。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以执行如上文参照图1所描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号而控制多个闪速存储器3221至322n。在实施例中,信号可以基于主机3100和SSD 3200的接口。例如,信号可以由诸如以下的各种通信标准或接口中的至少一种来定义:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi、蓝牙和高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电源连接器3002联接到主机3100。可以向辅助电源3230供应来自主机3100的电力并利用该电力对辅助电源3230进行充电。当主机3100供电不平稳时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以位于SSD 3200的内部或外部。例如,辅助电源3230可以设置在主板中,并且可以向SSD 3200供应辅助电力。
缓冲存储器3240可以作为SSD 3200的缓冲存储器而操作。例如,缓冲存储器3240可以临时地存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时地存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图13是示出应用了根据本公开的实施例的存储装置的用户系统4000的框图。
参照图13,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行用户系统4000中包括的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可以包括用于控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性RAM或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可以基于堆叠式封装(POP)进行封装,然后可以被设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙或WiFi通信。在实施例中,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。在实施例中,存储模块4400可以被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可以被设置为用户系统4000的诸如存储卡或外部驱动器的可移动存储介质(即,可移动驱动器)。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以以与参照图1描述的存储器封装件1000相同的方式来操作。存储模块4400可以以与上文参照图1描述的存储装置50相同的方式来操作。
用户接口4500可以包括向应用处理器4100输入数据或命令或者向外部装置输出数据的接口。在实施例中,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
根据本公开,可以提供一种执行改进的读取回收操作的存储装置。
已经在附图和说明书中描述了本公开的各个实施例。虽然本文使用了特定术语,但是这些仅是为了描述本公开的实施例。因此,本公开不限于上述实施例,并且在本公开的精神和范围内,可以存在许多变型。对于本领域技术人员应当显而易见的是,除了本文公开的实施例和所附权利要求之外,还可以基于本公开的技术范围进行各种修改。此外,可以组合实施例以形成另外的实施例。

Claims (20)

1.一种存储器控制器,所述存储器控制器控制存储器封装件,所述存储器封装件包括多个存储器管芯,每个存储器管芯包括多个存储块,所述多个存储块以超级块为单位进行控制,每个超级块包括从所述多个存储器管芯中的每一个中选择的至少一个存储块,所述存储器控制器包括:
回收信息存储装置,存储回收信息,所述回收信息包括所述多个存储块的读取计数以及与所述读取计数相关的迁移级别;以及
读取回收控制器,将目标块和牺牲块中存储的数据迁移到与所述目标块所属的超级块不同的另一超级块,所述目标块为所述多个存储块之中读取计数超过阈值计数的存储块,并且所述牺牲块是根据所述回收信息来选择的,
其中所述牺牲块包括所述多个存储器管芯之中与包括所述目标块的存储器管芯不同的存储器管芯中包括的存储块之中的、所述迁移级别指示最高迁移级别的一个或多个存储块。
2.根据权利要求1所述的存储器控制器,其中所述读取回收控制器进一步包括:回收信息管理器,响应于所述存储器封装件的读取操作更新所述回收信息。
3.根据权利要求2所述的存储器控制器,其中所述回收信息管理器设置与所述多个存储块的读取计数所属的多个读取计数范围相对应的迁移级别。
4.根据权利要求3所述的存储器控制器,其中所述回收信息管理器增加执行了读取操作的存储块的读取计数,并且当执行了所述读取操作的所述存储块的读取计数超过与所述存储块的迁移级别相对应的读取计数范围的最大值时,增加所述存储块的迁移级别。
5.根据权利要求1所述的存储器控制器,其中所述读取回收控制器进一步包括:牺牲块选择器,当所述多个存储器管芯中包括的存储块的迁移级别相同时,选择具有更高读取计数的存储块作为所述牺牲块中的一个。
6.根据权利要求1所述的存储器控制器,其中所述多个存储器管芯包括多个存储器平面,
所述多个存储器平面包括所述多个存储块,并且
其中所述读取回收控制器从所述多个存储器平面中确定所述牺牲块。
7.根据权利要求2所述的存储器控制器,其中当存储器管芯的设定默认读取电压与由所述存储器管芯的读取操作期间应用的防御算法改变的读取电压之间的差超过阈值时,所述回收信息管理器增加所述存储器封装件的存储器管芯中包括的存储块的迁移级别。
8.一种存储装置,包括:
存储器封装件,包括多个存储器管芯,所述多个存储器管芯包括多个存储块;以及
存储器控制器,以超级块为单位来控制所述多个存储块,每个超级块包括分别从所述多个存储器管芯中选择的存储块,
其中所述存储器控制器包括:
回收信息存储装置,存储回收信息,所述回收信息包括所述多个存储块的读取计数以及与所述多个存储块中存储的数据的可靠性相关的迁移级别;以及
读取回收控制器,将目标块和多个牺牲块中存储的数据迁移到与所述目标块所属的超级块不同的另一超级块,所述目标块为所述多个存储块之中读取计数超过阈值计数的存储块,并且所述多个牺牲块是根据所述回收信息来选择的,
其中所述迁移级别包括与所述多个存储块的读取计数所属的多个读取计数范围相对应的迁移级别,并且
其中所述读取回收控制器在所述多个存储块之中从最高迁移级别开始按降序选择设定数量的存储块作为所述牺牲块。
9.根据权利要求8所述的存储装置,其中所述读取回收控制器进一步包括:回收信息管理器,响应于所述存储器封装件的读取操作更新所述回收信息。
10.根据权利要求9所述的存储装置,其中所述回收信息管理器设置与所述多个存储块的读取计数所属的所述多个读取计数范围相对应的迁移级别。
11.根据权利要求9所述的存储装置,其中所述回收信息管理器增加执行了读取操作的存储块的读取计数,并且当执行了所述读取操作的所述存储块的读取计数超过与所述存储块的迁移级别相对应的读取计数范围的最大值时,增加所述存储块的迁移级别。
12.根据权利要求8所述的存储装置,其中所述读取回收控制器进一步包括:牺牲块选择器,当所述多个存储块的迁移级别相同时,选择具有更高读取计数的存储块。
13.根据权利要求9所述的存储装置,其中与所述数据的可靠性相关的信息包括:关于所述存储器封装件中包括的存储器管芯的设定默认读取电压与由所述存储器管芯的所述读取操作期间应用的防御算法改变的读取电压之间的差的信息,并且
其中当与所述数据的可靠性相关的信息中包括的差超过阈值时,所述回收信息管理器增加所述存储器管芯中包括的存储块的迁移级别。
14.根据权利要求13所述的存储装置,其中相对于比在软解码操作期间设置的最佳读取电压更高的读取电压,当对所述存储器封装件中包括的存储块的读取操作已经通过时,所述读取回收控制器将所述存储块确定为所述目标块。
15.一种操作存储器控制器的方法,所述存储器控制器控制存储器封装件,所述存储器封装件包括多个存储器管芯,每个存储器管芯包括多个存储块,所述多个存储块以超级块为单位进行控制,每个超级块包括从所述多个存储器管芯中的每一个中选择的至少一个存储块,所述方法包括:
存储回收信息,所述回收信息包括所述多个存储块的读取计数以及与所述读取计数相关的迁移级别;并且
将目标块和多个牺牲块中存储的数据迁移到与所述目标块所属的超级块不同的另一超级块,所述目标块为所述多个存储块之中读取计数超过阈值计数的存储块,并且所述多个牺牲块是根据所述回收信息来选择的,
其中所述多个牺牲块包括所述存储器管芯之中与包括所述目标块的存储器管芯不同的其它存储器管芯中包括的存储块之中的、所述迁移级别指示最高迁移级别的一个或多个存储块。
16.根据权利要求15所述的方法,其中将所述数据迁移到所述另一超级块包括:更新与所述存储器封装件的读取操作相对应的所述回收信息。
17.根据权利要求16所述的方法,其中更新所述回收信息包括:设置与所述多个存储块的所述读取计数所属的多个读取计数范围相对应的迁移级别。
18.根据权利要求17所述的方法,其中更新所述回收信息包括:
增加执行了读取操作的存储块的读取计数;并且
当执行了所述读取操作的所述存储块的读取计数超过与所述存储块的迁移级别相对应的读取计数范围的最大值时,增加所述存储块的迁移级别。
19.根据权利要求15所述的方法,其中将所述数据迁移到所述另一超级块进一步包括:当所述多个存储器管芯中包括的存储块的迁移级别相同时,选择具有更高读取计数的存储块作为所述牺牲块中的一个。
20.根据权利要求16所述的方法,进一步包括:
更新所述回收信息,并且
当存储器管芯的设定默认读取电压与由所述存储器管芯的读取操作期间应用的防御算法改变的读取电压之间的差超过阈值时,增加所述存储器封装件的所述存储器管芯中包括的存储块的迁移级别。
CN202111224632.2A 2021-03-25 2021-10-21 存储装置及其操作方法 Withdrawn CN115132252A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210039125A KR20220133693A (ko) 2021-03-25 2021-03-25 스토리지 장치 및 그 동작 방법
KR10-2021-0039125 2021-03-25

Publications (1)

Publication Number Publication Date
CN115132252A true CN115132252A (zh) 2022-09-30

Family

ID=83364543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111224632.2A Withdrawn CN115132252A (zh) 2021-03-25 2021-10-21 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US11726694B2 (zh)
KR (1) KR20220133693A (zh)
CN (1) CN115132252A (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190009580A (ko) 2017-07-19 2019-01-29 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
KR20190088184A (ko) * 2018-01-18 2019-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102549548B1 (ko) 2018-05-08 2023-06-30 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작 방법 및 전자 장치
KR20200059774A (ko) 2018-11-21 2020-05-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
US11726694B2 (en) 2023-08-15
KR20220133693A (ko) 2022-10-05
US20220308782A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
CN110389720B (zh) 存储装置及其操作方法
CN111435289B (zh) 映射数据访问性能提高的存储器控制器及其操作方法
US11307803B2 (en) Storage device for suspending program operation and performing read operation and operating method thereof
CN112905502A (zh) 存储装置及其操作方法
CN114267392A (zh) 存储器控制器、存储装置及其操作方法
US11481272B2 (en) Memory controller and method of operating the same
CN111352855B (zh) 具有提高的映射更新速度的存储装置及其操作方法
US11614895B2 (en) Data storage device for read operation and method of the same
US11449417B2 (en) Memory controller performing host-aware performance booster mode and method of operating the same
US20210216469A1 (en) Memory controller and method of operating the same
US11543986B2 (en) Electronic system including host, memory controller and memory device and method of operating the same
CN114443507A (zh) 存储器系统及其操作方法
CN114077387A (zh) 存储装置及其操作方法
CN111435333B (zh) 存储装置及其操作方法
US11417402B2 (en) Storage device and operating method thereof
US20220057938A1 (en) Memory controller and operating method thereof
US11543998B2 (en) Memory controller for controlling different numbers of memory devices and storage device including the same
CN114356209A (zh) 存储装置及其操作方法
CN114115708A (zh) 存储装置及其操作方法
CN111506515B (zh) 存储器控制器及其操作方法
CN114398295A (zh) 存储装置及其操作方法
CN114510371A (zh) 存储装置及操作存储装置的方法
CN113555054A (zh) 存储装置及其操作方法
CN113126895A (zh) 存储装置及其操作方法
US11726694B2 (en) Storage device and operating method thereof

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220930