CN111768809A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN111768809A CN111768809A CN201911020407.XA CN201911020407A CN111768809A CN 111768809 A CN111768809 A CN 111768809A CN 201911020407 A CN201911020407 A CN 201911020407A CN 111768809 A CN111768809 A CN 111768809A
- Authority
- CN
- China
- Prior art keywords
- memory
- block
- read
- valid data
- memory block
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种存储器系统和操作该存储器系统的方法。该存储器系统可包括:存储器装置和控制器,其中存储器装置包括多个存储块,并且控制器被配置成控制存储器装置以响应于主机命令来执行读取操作,并且基于多个存储块中的每一个的读取计数来控制读取回收操作。在读取回收操作期间,控制器可根据从牺牲存储块读取的有效数据的量来选择目标存储块的编程模式,并且控制存储器装置以基于所选择的编程模式来将有效数据存储在目标存储块中。
Description
相关申请的交叉引用
本申请要求于2019年4月1日提交的申请号为10-2019-0038043的韩国专利申请的优先权,其公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,且更特别地,涉及一种存储器系统和操作该存储器系统的方法。
背景技术
计算机环境范例已经变得普遍存在,并且可随时随地使用计算机系统。诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。通常,这种便携式电子装置使用一种采用存储器装置的存储器系统(即,存储装置)。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
使用存储器装置的数据存储装置提供的优点在于,因为不存在机械驱动部件,所以稳定性和耐用性优异,信息访问速度增加并且功耗减少。作为具有这些优点的存储器系统的示例,数据存储装置包括通用串行总线(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是描述图1的半导体存储器的示图。
图5是示出根据本公开的实施例的图4的存储器单元阵列的框图。
图6是描述图5所示的存储块的电路图。
图7是根据本公开的实施例的描述存储器单元的阈值电压分布的阈值电压分布图。
图8是示出根据本公开的实施例的存储器系统的操作的流程图。
图9是示出根据本公开的实施例的存储器系统的读取回收操作期间的数据流的示图。
图10是描述根据本公开的实施例的存储器系统的操作的流程图。
图11是示出根据本公开的实施例的存储器系统的示图。
图12是示出根据本公开的实施例的存储器系统的示图。
图13是示出根据本公开的实施例的存储器系统的示图。
图14是示出根据本公开的实施例的存储器系统的示图。
具体实施方式
在本说明书或本申请中引入的本公开的实施例中的具体结构或功能描述仅用于描述本公开的实施例。描述不应被解释为受限于本说明书或本申请中描述的实施例。
本公开现将基于实施例进行详细描述。然而,本公开可以许多不同的形式来实现,并且不应被解释为仅限于本文中阐述的实施例,而是应被解释为覆盖落入本公开的构思和技术范围内的修改、等同方案或替换方案。然而,应当理解的是,本描述并不旨在将本公开限制于那些示例性实施例中,并且本公开不仅旨在覆盖示例性实施例,而且还旨在覆盖落入本公开的精神和范围内的各种替代方案、修改方案、等同方案和其他实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”等来描述各个元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的情况下,以下讨论的第一元件也可被称为第二元件。同样,第二元件也可被称为第一元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,其可以直接联接或连接到另一元件,或者在其间可存在中间元件。相反,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,则不存在中间元件。应以相同的方式来解释描述元件之间的关系的其它表述,诸如“在……之间”、“直接在……之间”、“相邻于”或“直接相邻于”。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指示所陈述的特征、整数、步骤、操作、元件、组件和/或其组合的存在,但并不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。将进一步理解的是,本文使用的术语应当被解释为具有与其在本说明书和相关技术的语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
将省略对本领域技术人员熟知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在省略不必要的描述,以便使本公开的主题清晰。
现将在下文中参照附图更全面地描述本公开的各个实施例,其中示出了本公开的优选实施例,使得本领域普通技术人员能够容易地实施本公开的技术方案。
图1是示出根据本公开的实施例的存储器系统1000的框图。
参照图1,存储器系统1000可包括存储器装置1100、控制器1200和主机1300。存储器装置1100可包括多个半导体存储器100。可将多个半导体存储器100划分成多个组。虽然在本实施例中,已将主机1300示出和描述为被包括在存储器系统1000中,但存储器系统1000可仅包括控制器1200和存储器装置1100,并且可将主机1300设置在存储器系统1000的外部。
在图1中,示出了多组半导体存储器100分别通过第一至第n通道CH1至CHn与控制器1200通信。下面将参照图4描述每个半导体存储器100。
每个组可通过一个公共通道与控制器1200通信。控制器1200可通过多个通道CH1至CHn控制存储器装置1100的多个半导体存储器100。
控制器1200联接在主机1300与存储器装置1100之间。控制器1200可响应于来自主机1300的请求来访问存储器装置1100。例如,控制器1200可响应于从主机1300接收的主机命令Host_CMD来控制存储器装置1100的读取操作、写入操作、擦除操作或后台操作。主机1300可在写入操作期间将地址ADD和数据DATA与主机命令Host_CMD一起传送,并且可在读取操作期间将地址ADD与主机命令Host_CMD一起传送。控制器1200可将读取操作期间读取的数据DATA传送到主机1300。控制器1200可提供存储器装置1100与主机1300之间的接口。控制器1200可运行固件,用以控制存储器装置1100。
当从主机1300接收到对应于读取命令的主机命令Host_CMD时,控制器1200可控制存储器装置1100以执行读取操作,并且可累积和管理存储器装置1100中包括的多个存储块中的每一个的读取计数。控制器1200可控制存储器装置1100以执行读取回收操作,该读取回收操作检测和选择具有大于预设参考计数的读取计数的牺牲存储块,并且将牺牲存储块中存储的有效数据存储在多个存储块中的目标存储块中。可从存储器装置1100中包括的、每个具有擦除状态的空闲块中选择目标存储块。此外,在读取回收操作期间,控制器1200可根据从存储器装置1100读取的有效数据的量来控制将有效数据存储在目标存储块中的编程模式。例如,在读取回收操作期间从牺牲存储块中读取的有效数据的量等于或小于预设参考量的情况下,相比牺牲存储块的编程模式,可以以更低层单元编程模式来将有效数据存储在目标存储块中。例如,如果牺牲存储块已以三层单元(TLC)编程模式来编程,则目标存储块可以单层单元(SLC)编程模式或多层单元(MLC)编程模式来存储有效数据。在从牺牲存储块中读取的有效数据的量大于预设参考量的情况下,可以以牺牲存储块的编程模式来将有效数据存储在目标存储块中。可根据存储器装置1100中包括的多个存储块中的空闲块的数量来调整预设参考量。例如,随着空闲块数量的增加,可增加预设参考量。随着空闲块数量的减少,可减少预设参考量。
主机1300可包括诸如以下的便携式电子装置:计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、相机、摄像机或移动电话。主机1300可使用主机命令Host_CMD来请求对存储器系统1000的写入操作、读取操作、擦除操作等。为了执行对存储器装置1100的写入操作,主机1300可向控制器1200传送对应于写入命令的主机命令Host_CMD、数据DATA和地址ADD。为了执行读取操作,主机1400可向控制器1200传送对应于读取命令的主机命令Host_CMD和地址ADD。此处,地址ADD可以是数据的逻辑地址。
控制器1200和存储器装置1100可被集成到单个半导体装置中。在实施例中,控制器1200和存储器装置1100可被集成到单个半导体装置中以形成存储卡。例如,控制器1200和存储器装置1100可被集成到单个半导体装置中并且形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑式闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
控制器1200和存储器装置1100可被集成到单个半导体装置中以形成固态驱动器(SSD)。SSD可包括被配置成将数据存储在半导体存储器中的存储装置。
在实施例中,存储器系统1000可被设置为诸如以下的电子装置中的各种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航装置、黑盒、数码相机、3维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境中发送/接收信息的装置、形成家庭网络的各种装置中的一种、形成计算机网络的各种电子装置中的一种、形成远程信息处理网络的各种电子装置中的一种、RFID装置、形成计算系统的各种元件中的一种,等等。
在实施例中,存储器装置1100或存储器系统1000可以各种类型的封装来实现。例如,存储器装置1100或存储器系统1000可以诸如以下的类型进行封装:堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、叠片包装管芯(Die in Waffle Pack)、晶圆形式管芯(Die in Wafer Form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
图2是示出图1的控制器1200的示图。
参照图2,控制器1200可包括主机控制块1210、处理器1220、缓冲存储器1230、回收控制块1240、错误校正块1250、闪存控制块1260和总线1270。
总线1270可提供控制器1200的组件之间的通道。
主机控制块1210可控制图1的主机1300与缓冲存储器1230之间的数据传送。例如,主机控制块1210可控制将从主机1300输入的数据缓冲到缓冲存储器1230中的操作。在实施例中,主机控制块1210可控制将缓冲在缓冲存储器1230中的数据输出到主机1300的操作。
主机控制块1210可向处理器1220传送从主机1300接收的主机命令和地址。
主机控制块1210可包括主机接口。
处理器1220可控制控制器1200的全部操作并且执行逻辑操作。处理器1220可通过主机控制块1210与图1的主机1300通信,并且通过闪存控制块1260与图1的存储器装置1100通信。处理器1220可通过将缓冲存储器1230使用为操作存储器或高速缓存存储器来控制存储器系统1000的操作。处理器1220可基于优先级对从主机1300接收的多个主机命令进行重新排列并且生成命令队列,并且可基于该命令队列来控制闪存控制块1260。
处理器1220可包括闪存转换层(在下文中,称为“FTL”)1221。
FTL 1221可驱动固件。固件可存储在直接联接到缓冲存储器1230或处理器1220的附加存储器(未示出)中,或者可存储在处理器1220中限定的存储空间中。在写入操作期间,FTL 1221可映射与从图1的主机1300输入的地址(例如,逻辑地址)相对应的物理地址。此外,在读取操作期间,FTL 1221可检查映射到从主机1300输入的逻辑地址的物理地址。
FTL 1221可响应于从主机1300接收的主机命令来生成用于控制闪存控制块1260的命令队列。
缓冲存储器1230可用作处理器1220的操作存储器或高速缓存存储器。缓冲存储器1230可存储待由处理器1220运行的代码和命令。缓冲存储器1230可存储由处理器1220处理的数据。
缓冲存储器1230可包括写入缓冲器1231和读取缓冲器1232。写入缓冲器1231可临时存储与写入命令一起从主机1300接收的数据,然后将临时存储的数据传送到存储器装置1100。在读取操作期间,读取缓冲器1232可临时存储从存储器装置1100接收的数据,并且然后将临时存储的数据传送到主机1300。此外,在读取回收操作期间,读取缓冲器1232可临时存储从存储器装置1100的牺牲存储块中接收的有效数据,然后将临时存储的有效数据传送到存储器装置1100中的目标存储块。
缓冲存储器1230可包括静态RAM(SRAM)或动态RAM(DRAM)。
回收控制块1240可管理存储器装置1100中包括的多个存储块中的每一个的读取计数,检测和选择多个存储块之中的具有大于预设参考计数的读取计数的存储块,并且控制缓冲存储器1230和闪存控制块1260来对牺牲存储块执行读取回收操作。
此外,在读取回收操作期间,回收控制块1240可根据从牺牲存储块中读取的有效数据的量来设置目标存储块的编程模式。例如,在读取回收操作期间从牺牲存储块中读取的有效数据的量等于或小于预设参考量的情况下,回收控制块1240可控制闪存控制块1260,使得相比牺牲存储块的编程模式,以更低层单元编程模式来将有效数据编程到目标存储块中。例如,如果牺牲存储块以TLC编程模式进行编程,则目标存储块可以SLC编程模式或MLC编程模式来存储有效数据,从而具有提高数据可靠性的有利效果。在从牺牲存储块中读取的有效数据的量大于预设参考量的情况下,回收控制块1240可控制闪存控制块1260,使得可以以牺牲存储块的编程模式来将有效数据存储在目标存储块中。
例如,回收控制块1240可作为处理器1220的组件而被包括在处理器1220中。
错误校正块1250可执行错误校正操作。错误校正块1250可基于待通过闪存控制块1260而被写入到图1的存储器装置1100的数据来执行错误校正码(ECC)编码操作。经ECC编码的数据可通过闪存控制块1260传送到存储器装置1100。错误校正块1250可对通过闪存控制块1260而从存储器装置1100接收的数据执行ECC解码操作。例如,错误校正块1250可作为闪存控制块1260的组件而被包括在闪存控制块1260中。
闪存控制块1260可响应于从处理器1220生成的命令队列,生成并输出用于控制存储器装置1100的内部命令。在写入操作期间,闪存控制块1260可控制将缓冲在缓冲存储器1230的写入缓冲器1231中的数据传送和写入到存储器装置1100的操作。在实施例中,在读取操作期间,闪存控制块1260可响应于命令队列,来控制将从存储器装置1100读取的数据缓冲在缓冲存储器1230的读取缓冲器1232中的操作。此外,在读取回收操作期间,闪存控制块1260可在回收控制块1240的控制下,来控制存储器装置1100以执行读取回收操作。例如,在读取回收操作期间,闪存控制块1260可控制存储器装置1100以从存储器装置1100中包括的多个存储块中的牺牲存储块中读取有效数据,并且可接收所读取的有效数据并且将所接收的有效数据存储在缓冲存储器1230的读取缓冲器1232中。此外,闪存控制块1260可控制存储器装置1100,使得以由回收控制块1240设置的编程模式,将读取缓冲器1232中存储的有效数据存储在存储器装置1100中包括的多个存储块中的目标存储块中。
闪存控制块1260可包括闪存接口。
图3是示出图2的回收控制块1240的配置的框图。
参照图3,回收控制块1240可包括读取计数管理块1241、读取回收控制单元1242、有效数据计数器1243和编程模式设置块1244。
读取计数管理块1241可对存储器装置1100中包括的多个存储块中的每一个的读取计数进行累积和计数。读取计数管理块1241可在存储块已经被执行编程操作之后,对每个存储块执行读取操作的次数进行管理,并且每当完成对存储块的读取操作时将存储块的读取计数增加1,并且对读取计数进行累积。
读取回收控制单元1242可生成和输出回收命令Reclaim_CMD,以用于控制对多个存储块之中的具有大于预设参考计数的读取计数的存储块的读取回收操作。例如,读取回收控制单元1242可检查由读取计数管理块1241管理的多个存储块中的每一个的读取计数,检测具有大于预设参考计数的读取计数的牺牲存储块,生成与对检测到的牺牲存储块的读取回收操作相对应的回收命令Reclaim_CMD,并且将该回收命令Reclaim_CMD输出到图2的闪存控制块1260。
此外,在读取回收操作期间,读取回收控制单元1242可从编程模式设置块1244接收关于所设置的编程模式的信息,并且基于关于所设置的编程模式的信息,控制闪存控制块1260以所设置的编程模式来将有效数据编程到目标存储块。
如果读取回收控制单元1242确定执行读取回收操作,则有效数据计数器1243可对从牺牲存储块读取的有效数据的量进行计数。
编程模式设置块1244可通过将由有效数据计数器1243计数的有效数据的量与预设参考量进行比较来设置有效数据的编程模式。例如,在读取回收操作期间从牺牲存储块读取的有效数据的量等于或小于预设参考量的情况下,编程模式设置块1244可将目标存储块的编程模式设置为相比牺牲存储块的编程模式的更低层单元编程模式。例如,如果牺牲存储块以TLC编程模式进行编程,则可将目标存储块的编程模式设置为SLC编程模式或MLC编程模式。
在从牺牲存储块读取的有效数据的量大于预设参考量的情况下,编程模式设置块1244可将目标存储块的编程模式设置为牺牲存储块的编程模式。
图4是描述图1的半导体存储器100的框图。
参照图4,半导体存储器100可包括存储器单元阵列110和外围电路PERI,其中存储器单元阵列110包括多个存储块BLK1至BLKz,外围电路PERI被配置成对多个存储块BLK1至BLKz中的所选择页面中包括的存储器单元执行编程操作、读取操作或擦除操作。外围电路PERI可包括控制电路120、电压供应电路130、页面缓冲器组140、列解码器150和输入/输出电路160。
存储器单元阵列110可包括多个存储块BLK1至BLKz。存储块BLK1至BLKz中的每一个可包括多个页面。多个页面中的每一个可包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。这将参照图5和图6进行更详细的描述。
控制电路120可响应于通过输入/输出电路160而从外部装置输入的内部命令CMD,来输出用于生成执行读取操作、编程操作或擦除操作所需电压的电压控制信号VCON,并且根据操作的类型来输出用于控制页面缓冲器组140中包括的页面缓冲器PB1至PBk的PB控制信号PBCON。此外,控制电路120可响应于通过输入/输出电路160而从外部装置输入的地址信号ADD,来输出行地址信号RADD和列地址信号CADD。
响应于控制电路120的电压控制信号VCON,电压供应电路130可向包括漏极选择线、字线WL和源极选择线的牺牲存储块的局部线供应存储器单元的编程操作、读取操作和擦除操作所需的操作电压。电压供应电路130可包括电压生成电路和行解码器。
响应于控制电路120的电压控制信号VCON,电压生成电路可向全局线输出存储器单元的编程操作、读取操作和擦除操作所需的操作电压。
响应于控制电路120的行地址信号RADD,行解码器可将全局线联接到局部线,使得从电压生成电路输出到全局线的操作电压可被传送到存储器单元阵列110中的牺牲存储块的局部线。
页面缓冲器组140可包括通过位线BL1至BLk与存储器单元阵列110联接的多个页面缓冲器PB1至PBk。响应于控制电路120的PB控制信号PBCON,页面缓冲器组140的页面缓冲器PB1至PBk可根据待存储到存储器单元的输入数据来选择性地对位线BL1至BLk进行预充电,或者可感测位线BL1至BLk的电压以从存储器单元中读取数据。
列解码器150可响应于从控制电路120输出的列地址信号CADD,选择页面缓冲器组140中包括的页面缓冲器PB1至PBk。列解码器150可响应于列地址信号CADD,连续地将待存储到存储器单元的数据DATA传送到页面缓冲器PB1至PBk。此外,在读取操作期间,列解码器150可响应于列地址信号CADD来连续地选择页面缓冲器PB1至PBk,使得存储器单元的被锁存到页面缓冲器PB1至PBk的数据DATA可被输出到外部装置。
在编程操作期间,输入/输出电路160可在控制电路120的控制下,将待存储到存储器单元的输入数据DATA传送到列解码器150,使数据DATA可被输入到页面缓冲器组140。当列解码器150将从输入/输出电路160传送的数据DATA传送到页面缓冲器组140的页面缓冲器PB1至PBk时,页面缓冲器PB1至PBk可将输入数据DATA存储在页面缓冲器PB1至PBk的内部锁存电路中。在读取操作期间,输入/输出电路160可通过列解码器150向外部装置输出从页面缓冲器组140的页面缓冲器PB1至PBk传送的数据DATA。
图5是示出根据本公开的实施例的图4的存储器单元阵列110的框图。
参照图5,存储器单元阵列110可包括多个存储块BLK1至BLKz。每个存储块具有三维结构。每个存储块可包括堆叠在衬底上的多个存储器单元。存储器单元布置在+X方向、+Y方向和+Z方向上。将参照图6更详细地描述每个存储块的结构。
图6是描述图5所示的存储块的电路图。
参照图6,每个存储块可包括联接在位线BL1至BLk与公共源极线CSL之间的多个串ST1至STk。串ST1至STk可分别与相应的位线BL1至BLk联接,并且共同与公共源极线CSL联接。每个串,例如ST1可包括具有联接到公共源极线CSL的源极的源极选择晶体管SST、多个存储器单元C01至Cn1以及具有联接到位线BL1的漏极的漏极选择晶体管DST。存储器单元C01至Cn1可串联联接在选择晶体管SST与DST之间。源极选择晶体管SST的栅极可联接到源极选择线SSL。存储器单元C01至Cn1的栅极可分别联接到字线WL0至WLn。漏极选择晶体管DST的栅极可联接到漏极选择线DSL。
可基于物理页面或基于逻辑页面来划分存储块中包括的存储器单元。例如,联接到单个字线(例如,WL0)的存储器单元C01至C0k可形成单个物理页面PAGE0。
图7是根据本公开的实施例的描述存储器单元的阈值电压分布的阈值电压分布图。
根据本公开的实施例的存储器单元中的每一个可存储多个数据位。例如,将能够存储1位数据的存储器单元称为单层单元(SLC),将能够存储2位数据的存储器单元称为多层单元(MLC),将能够存储3位数据的存储器单元称为三层单元(TLC),并且将能够存储4位数据的存储器单元称为四层单元(QLC)。在以下实施例中,将通过示例的方式来描述TLC的阈值电压分布。
参照图7,可将多个存储器单元编程为擦除状态E和第一至第七编程状态P1至P7,并且每个存储器单元可存储包括MSB数据、CSB数据和LSB数据的数据。
可将联接到一个字线的存储器单元定义为图6的一个物理页面(例如,PAGE 0)。可将一个物理页面中包括的存储器单元中的MSB数据组定义为MSB页面MSB_P,可将CSB数据组定义为CSB页面CSB_P,并且可将LSB数据组定义为LSB页面LSB_P。也就是说,每个物理页面可包括多个逻辑页面(MSB页面MSB_P、CSB页面CSB_P和LSB页面LSB_P)。
图8是示出根据本公开的实施例的存储器系统的操作的流程图。
将参照图1至图8描述根据本公开的实施例的操作存储器系统的方法。
控制器1200从主机1300接收对应于读取命令的地址和主机命令Host_CMD(步骤S810)。控制器1200可从主机1300接收多个主机命令Host_CMD。因此,控制器1200可接收至少一个或多个读取命令。在接收到多个读取命令的情况下,也接收到对应于各自读取命令的多个地址ADD。
控制器1200的处理器1220可响应于主机命令Host_CMD而生成对应于读取操作的命令队列,并且将所接收的地址ADD的逻辑地址映射到物理地址。闪存控制块1260可响应于处理器1220生成的命令队列而生成用于控制存储器装置1100的读取操作的内部命令CMD,并且将内部命令CMD和包括所映射的物理地址的地址ADD传送到存储器装置1100。
存储器装置1100响应于从控制器1200接收的内部命令CMD和地址ADD来执行读取操作(步骤S820)。例如,存储器装置1100可对存储器装置1100中包括的多个半导体存储器100之中的所选择半导体存储器中的牺牲存储块(例如,存储块BLK1至BKz中的至少一个存储块)的至少一个或多个所选择物理页面PPG执行读取操作,并且将所读取的数据传送到控制器1200。
控制器1200的缓冲存储器1230可在将从存储器装置1100接收的数据传送到主机1300之前,将该数据临时存储在读取缓冲器1232中。
回收控制块1240的读取计数管理块1241对已完成读取操作的存储块的读取计数进行累积和计数(步骤S830)。
读取回收控制单元1242检查由读取计数管理块1241管理的、多个存储块中的每一个的读取计数,并且检测具有大于预设参考计数A的读取计数的存储块(步骤S840)。
如果不存在具有大于预设参考计数A的读取计数的存储块(否),则存储器系统1000的操作可结束。
如果检测到具有大于预设参考计数A的读取计数的至少一个存储块(是),则控制器1200对检测到的存储块执行读取回收操作(步骤S850)。
下面将更详细地描述读取回收操作。
读取回收控制单元1242可选择具有大于预设参考计数A的读取计数的牺牲存储块,并且生成和输出用于控制对牺牲存储块的读取回收操作的回收命令Reclaim_CMD。闪存控制块1260可响应于回收命令Reclaim_CMD,来控制存储器装置1100以执行读取牺牲存储块中存储的有效数据的操作。
存储器装置1100在闪存控制块1260的控制下读取牺牲存储块中的有效数据,并且将所读取的有效数据传送到控制器1200(步骤S851)。
可将从牺牲存储块中读取的有效数据存储在缓冲存储器1230的读取缓冲器1323中。有效数据计数器1243可对读取缓冲器1232中存储的有效数据的量进行计数。
编程模式设置块1244通过将由有效数据计数器1243计数的有效数据的量与预设参考量进行比较,来设置有效数据的编程模式(步骤S852)。例如,在读取回收操作期间从牺牲存储块读取的有效数据的量等于或小于预设参考量的情况下,编程模式设置块1244可将目标存储块的编程模式设置为相比牺牲存储块的编程模式的更低层单元编程模式。例如,如果牺牲存储块以TLC编程模式进行编程,则可将目标存储块的编程模式设置为SLC编程模式或MLC编程模式。
在从牺牲存储块读取的有效数据的量大于预设参考量的情况下,编程模式设置块1244可将目标存储块的编程模式设置为牺牲存储块的编程模式。
读取回收控制单元1242可从编程模式设置块1244接收关于所设置的编程模式的信息,并且基于关于所设置的编程模式的信息,控制闪存控制块1260以所设置的编程模式将有效数据编程到目标存储块。
闪存控制块1260可控制存储器装置1100以所设置的编程模式将读取缓冲器1232中存储的有效数据编程到存储器装置1100中包括的多个存储块中的目标存储块中。存储器装置1100接收读取缓冲器1232中存储的有效数据,并且以由编程模式设置块1244设置的编程模式来将所接收的有效数据编程到目标存储块中(步骤S853)。
在实施例中,目标存储块可以是存储器装置1100中包括的多个存储块之中的具有擦除状态的空闲块。
图9是示出根据本公开的实施例的存储器系统的读取回收操作期间的数据流的示图。
在本公开的实施例中,下面将描述以TLC编程模式编程牺牲存储块(例如,BLK1)的示例。
参照图9,在读取回收操作期间,读取具有大于预设参考计数的读取计数的牺牲存储块BLK1中存储的有效数据,并且将该有效数据传送到缓冲存储器1230。在本公开的实施例中,有效数据将被示出和描述为被存储在存储块BLK1的一些页面(例如,PAGE0、PAGE1和PAGEn-1)中。
图3的编程模式设置块1244可基于缓冲存储器1230中存储的有效数据的量来设置目标存储块(例如,BLK2)的编程模式。在该实施例中,示出和描述了以下情况:因为有效数据的量等于或小于预设参考量,所以将目标存储块的编程模式设置为SLC编程模式。
可以SLC编程模式将缓冲存储器1230中存储的有效数据传送和编程到目标存储块BLK2,具体地,传送和编程到目标存储块BLK2的多个页面(例如,PAGE0至PAGEn-2)中。
虽然本公开的该实施例描述了在读取回收操作期间,对以TLC编程模式进行编程的牺牲存储块的有效数据进行读取,并将所读取的有效数据以SLC编程模式编程到目标存储块中,但是根据所读取的有效数据的量和存储器装置中包括的空闲块的数量,可以TLC编程模式、MLC编程模式或SLC编程模式将所读取的有效数据编程到目标存储块。
如上所述,在本公开的各个实施例中,在读取回收操作期间,当从牺牲存储块中读取的有效数据被编程到目标存储块时,以相比牺牲存储块的编程模式的更低层单元编程模式来编程所读取的有效数据,由此可提高有效数据的可靠性。此外,根据有效数据的量来选择编程模式,从而可防止空闲块的数量减少到预定值或更少。
图10是描述根据本公开的实施例的存储器系统的操作的流程图。
将参照图1至图7以及图10描述根据本公开的实施例的操作存储器系统的方法。
控制器1200从主机1300接收对应于读取命令的地址和主机命令Host_CMD(步骤S1010)。控制器1200可从主机1300接收多个主机命令Host_CMD。因此,控制器1200可接收至少一个或多个读取命令。在接收到多个读取命令的情况下,还接收到对应于各自读取命令的多个地址ADD。
控制器1200的处理器1220可响应于主机命令Host_CMD而生成对应于读取操作的命令队列,并且将所接收的地址ADD的逻辑地址映射到物理地址。闪存控制块1260可响应于处理器1220生成的命令队列而生成用于控制存储器装置1100的读取操作的内部命令CMD,并且将该内部命令CMD和包括所映射的物理地址的地址ADD传送到存储器装置1100。
存储器装置1100响应于从控制器1200接收的内部命令CMD和地址ADD来执行读取操作(步骤S1020)。例如,存储器装置1100可对存储器装置1100中包括的多个半导体存储器100之中的所选择半导体存储器中的所选择存储块(例如,存储块BLK1至BLKz中的至少一个存储块)中的至少一个或多个所选择物理页面PPG执行读取操作,并且将所读取的数据传送到控制器1200。
控制器1200的缓冲存储器1230可在将从存储器装置1100接收的数据传送到主机1300之前,将该数据临时存储在读取缓冲器1232中。
回收控制块1240的读取计数管理块1241对已完成读取操作的存储块的读取计数进行累积和计数(步骤S1030)。
读取回收控制单元1242检查由读取计数管理块1241管理的、多个存储块中的每一个的读取计数,并且检测具有大于预设参考计数A的读取计数的存储块(步骤S1040)。
如果不存在具有大于预设参考计数A的读取计数的存储块(否),则存储器系统1000的操作可结束。
如果检测到具有大于预设参考计数A的读取计数的至少一个存储块(是),则控制器1200对检测到的存储块执行读取回收操作(步骤S1050)。
下面将更详细地描述读取回收操作。
读取回收控制单元1242可选择具有大于预设参考计数A的读取计数的牺牲存储块,并且生成和输出用于控制对牺牲存储块的读取回收操作的回收命令Reclaim_CMD。闪存控制块1260可响应于回收命令Reclaim_CMD,来控制存储器装置1100以执行读取牺牲存储块中存储的有效数据的操作。
存储器装置1100在闪存控制块1260的控制下读取牺牲存储块的有效数据,并且将所读取的有效数据传送到控制器1200(步骤S1051)。
将从牺牲存储块读取的有效数据存储在缓冲存储器1230的读取缓冲器1232中。有效数据计数器1243对读取缓冲器1232中存储的有效数据的量进行计数,并且编程模式设置块1244将由有效数据计数器1243计数的有效数据的量与预设参考量B进行比较(步骤S1052)。
如果比较步骤S1052的结果指示从牺牲存储块中读取的有效数据的量大于预设参考量B(是),则编程模式设置块1244将目标存储块的编程模式设置为牺牲存储块的编程模式,并且读取回收控制单元1242控制闪存控制块1260以由编程模式设置块1244设置的编程模式来将有效数据编程到目标存储块。闪存控制块1260可控制存储器装置1100以所设置的编程模式将读取缓冲器1232中存储的有效数据编程到存储器装置1100中包括的多个存储块中的目标存储块中。存储器装置1100接收读取缓冲器1232中存储的有效数据,并且以由编程模式设置块1244设置的编程模式来将所接收的有效数据编程到目标存储块中(步骤S1053)。
例如,在牺牲存储块以TLC编程模式进行编程的情况下,可将目标存储块的编程模式设置为TLC编程模式。在牺牲存储块以MLC编程模式进行编程的情况下,可将目标存储块的编程模式设置为MLC编程模式。
如果比较步骤S1052的结果指示从牺牲存储块读取的有效数据的量等于或小于预设参考量B(否),则编程模式设置块1244将目标存储块的编程模式设置为相比牺牲存储块的更低层单元编程模式,并且读取回收控制单元1242控制闪存控制块1260以由编程模式设置块1244设置的编程模式来将有效数据编程到目标存储块。闪存控制块1260可控制存储器装置1100以所设置的编程模式将读取缓冲器1232中存储的有效数据编程到存储器装置1100中包括的多个存储块中的目标存储块中。存储器装置1100接收读取缓冲器1232中存储的有效数据,并且以由编程模式设置块1244设置的编程模式来将所接收的有效数据编程到目标存储块中(步骤S1054)。
例如,在牺牲存储块以TLC编程模式进行编程的情况下,可将目标存储块的编程模式设置为MLC编程模式或SLC编程模式。在牺牲存储块以MLC编程模式进行编程的情况下,可将目标存储块的编程模式设置为SLC编程模式。
图11是示出根据本公开的实施例的存储器系统3000的示图。
参照图11,存储器系统30000可被实现在移动电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置中。存储器系统30000可包括存储器装置1100和被配置成控制存储器装置1100的操作的存储器控制器1200。存储器控制器1200可在处理器3100的控制下控制存储器装置1100的数据访问操作,例如编程操作、擦除操作或读取操作。
被编程在存储器装置1100中的数据可在存储器控制器1200的控制下通过显示器3200输出。
无线电收发器3300可通过天线ANT发送和接收无线电信号。例如,无线电收发器3300可将通过天线ANT接收到的无线电信号改变为能够在处理器3100中处理的信号。因此,处理器3100可处理从无线电收发器3300输出的信号,并将处理后的信号传送到存储器控制器1200或显示器3200。存储器控制器1200可将由处理器3100处理的信号编程到存储器装置1100。此外,无线电收发器3300可将从处理器3100输出的信号改变为无线电信号,并且通过天线ANT将改变后的无线电信号输出到外部装置。输入装置3400可用于输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据。输入装置3400可被实现为诸如触摸板和计算机鼠标的定点装置、小键盘或键盘。处理器3100可控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实现为处理器3100的一部分或独立于处理器3100而设置的芯片。存储器控制器1200可使用图2所示的控制器1200的示例来实施。
图12是示出根据本公开的实施例的存储器系统40000的示图。
参照图12,存储器系统40000可被实现在个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可包括存储器装置1100和被配置成控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可根据从输入装置4200输入的数据,通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可被实现为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可控制存储器系统40000的全部操作,并且控制存储器控制器1200的操作。在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实现为处理器4100的一部分或独立于处理器4100而设置的芯片。存储器控制器1200可使用图2所示的控制器1200的示例来实施。
图13是示出根据本公开的实施例的存储器系统50000的示图。
参照图13,存储器系统50000可被实现在图像处理装置中,例如数码相机、配备有数码相机的便携式电话、配备有数码相机的智能电话或配备有数码相机的平板PC。
存储器系统50000可包括存储器装置1100和存储器控制器1200,该存储器控制器1200能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可将光学图像转换为数字信号。转换的数字信号可被传送到处理器5100或存储器控制器1200。在处理器5100的控制下,转换后的数字信号可通过显示器5300输出,或通过控制器1200存储到存储器装置1100。存储在存储器装置1100中的数据可在处理器5100或存储器控制器1200的控制下通过显示器5300输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实现为处理器5100的一部分或独立于处理器5100而设置的芯片。存储器控制器1200可使用图2所示的控制器1200的示例来实施。
图14是示出根据本公开的实施例的存储器系统70000的示图。
参照图14,存储器系统70000可被实现在存储卡或智能卡中。存储器系统70000可包括存储器装置1100、存储器控制器1200和卡接口7100。
控制器1200可控制存储器装置1100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但其不限于此。存储器控制器1200可使用图2所示的控制器1200的示例来实施。
卡接口7100可根据主机60000的协议来接口连接主机60000和存储器控制器1200之间的数据交换。在实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口可指能够支持由主机60000使用的协议的硬件、安装在硬件中的软件或者信号传送方案。
当存储器系统70000连接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器6100的控制下,通过卡接口7100和存储器控制器1200执行与存储器装置1100的数据通信。
如上所述,根据本公开的实施例,在读取回收操作期间,以相比牺牲存储块的编程模式的更低层单元编程模式,来将从牺牲存储块读取的数据存储到目标存储块。因此,可提高读取回收操作的可靠性。
虽然已经公开了本公开的实施例,但本领域的技术人员将理解的是,在不脱离本公开的范围和精神的情况下,可进行各种修改、添加和替换。
因此,本公开的范围必须由所附权利要求和权利要求的等同方案来限定,而不是由之前的描述来限定。
在以上讨论的实施例中,可选择性地执行或跳过全部步骤。另外,并非总以常规顺序来执行每个实施例中的步骤。此外,本说明书和附图中公开的实施例旨在帮助本领域普通技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,可以进行各种修改。
已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的精神来解释,而不限制本公开的主题。应当理解的是,本文描述的基本发明构思的许多变化和修改将仍然落入所附权利要求及其等同方案所限定的本公开的精神和范围内。
Claims (19)
1.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器,控制所述存储器装置以响应于主机命令来执行读取操作,并且基于所述多个存储块中的每一个的读取计数来控制读取回收操作,
其中在所述读取回收操作期间,所述控制器根据从牺牲存储块读取的有效数据的量来选择目标存储块的编程模式,并且控制所述存储器装置以基于所选择的编程模式来将所述有效数据存储在所述目标存储块中。
2.根据权利要求1所述的存储器系统,其中所述控制器选择所述多个存储块之中的具有大于预设参考计数的读取计数的存储块作为所述牺牲存储块,并且选择所述多个存储块之中的每个具有擦除状态的空闲块中的任意一个作为所述目标存储块。
3.根据权利要求1所述的存储器系统,其中所述控制器包括:
处理器,响应于所述主机命令而生成命令队列;
闪存控制块,响应于所述命令队列而控制所述存储器装置以执行所述读取操作;以及
回收控制块,控制所述闪存控制块以执行所述读取回收操作。
4.根据权利要求3所述的存储器系统,其中所述回收控制块包括:
读取计数管理块,对所述多个存储块中的每一个的读取计数进行管理;
读取回收控制单元,选择所述多个存储块之中的、具有大于预设参考计数的读取计数的存储块作为所述牺牲存储块,并且控制所述闪存控制块以对所述牺牲存储块执行所述读取回收操作;
有效数据计数器,在所述读取回收操作期间对从所述牺牲存储块读取的有效数据的量进行计数;以及
编程模式设置块,将由所述有效数据计数器计数的有效数据的量与预设参考量进行比较,并且选择所述目标存储块的编程模式。
5.根据权利要求4所述的存储器系统,其中在所述读取回收操作期间,所述读取回收控制单元控制所述闪存控制块以由所述编程模式设置块选择的编程模式来将所述有效数据存储到所述目标存储块中。
6.根据权利要求4所述的存储器系统,其中当所述有效数据的量等于或小于所述预设参考量时,所述编程模式设置块选择相比所述牺牲存储块的编程模式的更低层单元编程模式作为所述目标存储块的编程模式。
7.根据权利要求4所述的存储器系统,其中当所述有效数据的量大于所述预设参考量时,所述编程模式设置块选择所述牺牲存储块的编程模式作为所述目标存储块的编程模式。
8.根据权利要求4所述的存储器系统,其中根据所述多个存储块中的空闲块的数量来调整所述预设参考量。
9.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器,控制读取回收操作,所述读取回收操作读取所述多个存储块之中的、具有大于预设参考计数的读取计数的牺牲存储块中存储的有效数据,并且将所述有效数据编程到所述多个存储块中的目标存储块中,
其中所述控制器基于所述有效数据的量来选择所述目标存储块的编程模式。
10.根据权利要求9所述的存储器系统,其中当所述有效数据的量等于或小于预设参考量时,所述控制器选择相比所述牺牲存储块的编程模式的更低层单元编程模式作为所述目标存储块的编程模式。
11.根据权利要求10所述的存储器系统,其中当所述有效数据的量大于所述预设参考量时,所述控制器选择所述牺牲存储块的编程模式作为所述目标存储块的编程模式。
12.根据权利要求11所述的存储器系统,其中所述控制器选择所述多个存储块之中的每个具有擦除状态的空闲块中的任意一个作为所述目标存储块。
13.根据权利要求11所述的存储器系统,其中所述控制器基于空闲块的数量来调整所述预设参考量。
14.根据权利要求9所述的存储器系统,其中所述控制器包括:
处理器,响应于从外部装置接收的主机命令而生成命令队列;
闪存控制块,响应于所述命令队列而控制所述存储器装置以执行读取操作;以及
回收控制块,控制所述闪存控制块以基于所述多个存储块中的每一个的读取计数来执行所述读取回收操作。
15.根据权利要求14所述的存储器系统,其中所述回收控制块包括:
读取计数管理块,对所述多个存储块中的每一个的读取计数进行管理;
读取回收控制单元,选择所述多个存储块之中的、具有大于所述预设参考计数的读取计数的存储块作为所述牺牲存储块,并且控制所述闪存控制块以对所述牺牲存储块执行所述读取回收操作;
有效数据计数器,在所述读取回收操作期间对从所述牺牲存储块读取的有效数据的量进行计数;以及
编程模式设置块,将由所述有效数据计数器计数的有效数据的量与预设参考量进行比较,并且选择所述目标存储块的编程模式。
16.一种存储器系统的操作方法,所述操作方法包括:
根据第一编程方案来将数据编程到第一块中;并且
当所述第一块中存储的有效数据的量小于或等于阈值时,根据第二编程方案来将所述有效数据编程到第二块中,所述第二编程方案允许比所述第一编程方案更可靠的编程数据。
17.根据权利要求16所述的操作方法,其中所述阈值取决于所述存储器系统内的可用块的数量。
18.根据权利要求16所述的操作方法,其中所述第一编程方案是三层单元编程方案,即TLC编程方案。
19.根据权利要求16所述的操作方法,其中所述第二编程方案是单层单元编程方案,即SLC编程方案。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190038043A KR20200116354A (ko) | 2019-04-01 | 2019-04-01 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2019-0038043 | 2019-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111768809A true CN111768809A (zh) | 2020-10-13 |
Family
ID=72607568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911020407.XA Withdrawn CN111768809A (zh) | 2019-04-01 | 2019-10-25 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11163491B2 (zh) |
KR (1) | KR20200116354A (zh) |
CN (1) | CN111768809A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366763B2 (en) * | 2017-10-31 | 2019-07-30 | Micron Technology, Inc. | Block read count voltage adjustment |
KR20210100790A (ko) * | 2020-02-06 | 2021-08-18 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US20240020037A1 (en) * | 2022-07-14 | 2024-01-18 | Micron Technology, Inc. | Apparatus with memory block management and methods for operating the same |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102387956B1 (ko) | 2015-09-09 | 2022-04-19 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 |
US9727261B2 (en) * | 2015-09-24 | 2017-08-08 | Western Digital Technologies, Inc. | Weighted programming patterns in solid-state data storage systems |
KR20180059208A (ko) * | 2016-11-25 | 2018-06-04 | 삼성전자주식회사 | 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법 |
TWI681295B (zh) * | 2017-07-07 | 2020-01-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10509722B2 (en) * | 2017-08-31 | 2019-12-17 | Micron Technology, Inc. | Memory device with dynamic cache management |
JP7030463B2 (ja) * | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
-
2019
- 2019-04-01 KR KR1020190038043A patent/KR20200116354A/ko not_active Application Discontinuation
- 2019-09-20 US US16/577,369 patent/US11163491B2/en active Active
- 2019-10-25 CN CN201911020407.XA patent/CN111768809A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20200116354A (ko) | 2020-10-12 |
US11163491B2 (en) | 2021-11-02 |
US20200310688A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698635B2 (en) | Memory device and operating method capable of storing data in a plurality of name spaces | |
US11210004B2 (en) | Controller memory system to perform a single level cell (SLC), or multi level cell (MLC) or triple level cell (TLC) program operation on a memory block | |
CN111324550B (zh) | 存储器系统及其操作方法 | |
CN111338976A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN111009277A (zh) | 存储器系统及其操作方法 | |
US11163491B2 (en) | Memory system and method of operating the same | |
CN112185449A (zh) | 存储器系统以及操作存储器系统的方法 | |
US11004504B2 (en) | Controller, memory system including the controller, and operating method of the memory system | |
CN111951871A (zh) | 存储器装置、包括存储器装置的存储器系统及其操作方法 | |
US11113189B2 (en) | Memory system to perform read reclaim and garbage collection, and method of operating the same | |
US11269769B2 (en) | Memory system and method of operating the same | |
US20200160918A1 (en) | Memory system and method of operating the same | |
CN112908395A (zh) | 存储器系统及其操作方法 | |
US20200125281A1 (en) | Memory system and method of operating the same | |
US11841805B2 (en) | Memory system for storing map data in host memory and operating method of the same | |
CN111240585A (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
CN114791887A (zh) | 存储器系统以及操作存储器设备的方法 | |
CN112017716A (zh) | 存储器装置、包括其的存储器系统及存储器系统操作方法 | |
CN111105833B (zh) | 存储器装置、存储器系统及操作存储器系统的方法 | |
US11093325B2 (en) | Controller, memory system including the same, and method of operating memory system | |
US20220091779A1 (en) | Memory system and operating method of the memory system | |
CN113257318A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201013 |