CN108255739A - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN108255739A CN108255739A CN201711086369.9A CN201711086369A CN108255739A CN 108255739 A CN108255739 A CN 108255739A CN 201711086369 A CN201711086369 A CN 201711086369A CN 108255739 A CN108255739 A CN 108255739A
- Authority
- CN
- China
- Prior art keywords
- memory block
- memory
- count information
- storage system
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- 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/0253—Garbage collection, i.e. reclamation of unreferenced 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0653—Monitoring 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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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
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)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器***,其可以包括:存储器装置,其包括包含页面的多个存储块;以及控制器,其适于:响应于命令执行命令操作;根据命令操作将各个存储块的计数信息记录在计数信息表中;通过参照对应于偏移量的计数信息在源存储块候选列表中列出满足第一预定条件的存储块;以及在源存储块候选列表中列出的存储块中选择满足第二预定条件的存储块作为源存储块。偏移量可以表示各个存储块的计数信息与计数信息的平均值之间的差值。
Description
相关申请的交叉引用
本申请要求于2016年12月28日向韩国知识产权局提交的申请号为10-2016-0181274的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
示例性实施例涉及一种存储器***,并且更特别地,涉及一种处理关于存储器装置的数据的存储器***及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算***。由于该事实,诸如例如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有例如数据存储装置的存储器装置的存储器***。存储器***可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为使用存储器装置的存储器***不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的各种实施例涉及一种存储器***及其操作方法,该存储器***能够最小化存储器***的复杂度和性能劣化,并且最大化存储器装置的使用效率,从而快速且稳定地处理存储器装置的数据。
在实施例中,存储器***可以包括:存储器装置,其包括包含页面的多个存储块;以及控制器,其适于:响应于命令执行命令操作;根据命令操作将各个存储块的计数信息记录在计数信息表中;通过参照对应于偏移量(offset)的计数信息在源存储块候选列表中列出满足第一预定条件的存储块;以及在源存储块候选列表中列出的存储块中选择满足第二预定条件的存储块作为源存储块。偏移量可以表示各个存储块的计数信息与计数信息的平均值之间的差值。
满足第二预定条件的存储块可以是具有最大值的计数信息的存储块或者具有最大值的偏移量的存储块。
满足第一预定条件的存储块可以是其偏移量等于或大于阈值的存储块。
控制器可以进一步在存储块中选择具有最小值的计数信息的存储块作为目标存储块,并且控制器可以进一步控制存储器装置以对源存储块和目标存储块执行磨损均衡操作。
计数信息可以包括对各个存储块的擦除操作、读取操作、读取回收操作和读取重试操作中的一个或多个的操作次数。
计数信息可以包括包含在各个存储块中的有效页面的数量。
满足第二预定条件的存储块可以是具有最大值的有效页面的数量的存储块或者具有最小值的有效页面的数量的存储块。
控制器可以进一步在存储块中选择空存储块作为目标存储块,并且控制器可以进一步控制存储器装置以对源存储块和目标存储块执行垃圾收集操作。
在存储器***处于通电状态的情况下,控制器可以响应于执行命令操作将包括计数信息表的元数据记录在存储块中,并且当存储器***在执行命令操作期间断电并然后再次通电时,控制器可以对存储块执行启动操作和恢复操作,并然后可以通过记录在存储块中的计数信息表来检查存储块的后台操作的触发。
计数信息表和源存储块候选列表可以被配置成列表形式和/或位图形式中的至少一种形式。
在实施例中,存储器***的操作方法可以包括:响应于命令对存储器装置的包括页面的多个存储块执行命令操作;根据命令操作将各个存储块的计数信息记录在计数信息表中;通过参照对应于偏移量的计数信息在源存储块候选列表中列出满足第一预定条件的存储块;以及在源存储块候选列表中列出的存储块中选择满足第二预定条件的存储块作为源存储块。偏移量可以表示各个存储块的计数信息与计数信息的平均值之间的差值。
满足第二预定条件的存储块可以是具有最大值的计数信息的存储块或者具有最大值的偏移量的存储块。
满足第一预定条件的存储块可以是其偏移量等于或大于阈值的存储块。
该方法可以进一步包括:在存储块中选择具有最小值的计数信息的存储块作为目标存储块,以及控制存储器装置以对源存储块和目标存储块执行磨损均衡操作。
计数信息可以包括对各个存储块的擦除操作、读取操作、读取回收操作和读取重试操作中的一个或多个的操作次数。
计数信息可以包括包含在各个存储块中的有效页面的数量。
满足第二预定条件的存储块可以是具有最大值的有效页面的数量或具有最小值的有效页面的数量的存储块。
该方法可以进一步包括:在存储块中选择空存储块作为目标存储块,以及控制存储器装置以对源存储块和目标存储块执行垃圾收集操作。
该方法可以进一步包括:在存储器***处于通电状态的情况下,响应于执行命令操作将包括计数信息表的元数据记录在存储块中;当存储器***在执行命令操作期间断电并然后再次通电时,对存储块执行启动操作和恢复操作;以及通过记录在存储块中的计数信息表来检查存储块的后台操作的触发。
计数信息表和源存储块候选列表可以被配置成列表形式和/或位图形式中的至少一种形式。
附图说明
图1是说明根据本发明的实施例的数据处理***的框图。
图2是说明图1的存储器装置的示意图。
图3是说明图1的存储块的电路图。
图4是说明图1的存储器装置的结构的示意图。
图5至图7是说明图1至图4的存储器***的示意图。
图8是说明图5至图7的存储器***的操作的流程图。
图9至图17是示意性说明图1的数据处理***的应用示例的简图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意的是,本发明可以在不同的其它实施例、形式和变化中体现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。使用这些术语来将一个元件与另一元件区分。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实践。在其它情况下,为了不使本发明不必要地模糊,未详细地描述公知的进程结构和/或进程。
也注意的是,在一些实例中,除非另有明确说明,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用。
图1是说明根据本发明的实施例的数据处理***100的框图。
参照图1,数据处理***100可以包括主机102和存储器***110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可以包括至少一个OS(操作***),并且OS可以管理和控制主机102的总体功能和操作,并使用数据处理***100或存储器***110提供主机102和用户之间的操作。OS可以支持对应于用户的使用目的和使用的功能和操作。例如,根据主机102的可移动性,OS可以被划分为普通OS和移动OS。根据用户的环境,普通OS可以被划分为个人OS和企业OS。例如,配置为支持向一般用户提供服务的功能的个人OS可以包括Windows和Chrome,并且被配置为保护并支持高性能的企业OS可以包括Windows服务器、Linux和Unix。此外,配置为支持向用户提供移动服务和***的省电功能的移动OS可以包括安卓、iOS和Windows移动。此时,主机102可以包括多个OS,并且执行OS以对存储器***110执行对应于用户的请求的操作。
存储器***110可以响应于主机102的请求来操作以为主机102存储数据。存储器***110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、个人计算机存储卡国际协会(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)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器***110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中,其可以被包括在如上所例示的各种类型的存储器***中。
存储器***110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理的各种电子装置中的一个、射频识别(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-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归***码(RSC)、格形编码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。然而,ECC单元138不限于此。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可以包括多个存储块0至N-1,并且块0到N-1中的每一个可以包括例如2M个页面的多个页面,其中页面的数量可以根据电路设计而变化。包含在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)、存储5位或更多位数据的多层单元等。
图3是说明存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可以对应于包括在存储器***110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可以包括多个单元串340,多个单元串340联接到对应的多个位线BL0至BLm-1。每个列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以实施为能够存储多个位的数据信息的MLC。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后一个单元串联接到最后一个位线BLm-1。
虽然图3说明NAND闪速存储器单元,但是本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元,或者是包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,注意的是,存储器装置可以是包括导电浮栅作为电荷存储层的闪速存储器装置或包括介电层作为电荷存储层的电荷捕获闪存(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可包括每一个都具有3D结构(或垂直结构)的多个存储块BLK0至BLKN-1。
图5至图7是说明存储器***110的示意图。
在下文中,在本公开的实施例中,将以在下述情况下的数据处理作为示例来进行描述:在存储与从主机102接收的写入命令相对应的写入数据之后,在包含在控制器130的存储器144中的缓冲器/高速缓存器中,存储在缓冲器/高速缓存器中的数据被写入并存储,即被编程在包括在存储器装置150中的多个存储块中,并且映射数据响应于关于存储器装置150的编程操作而被更新。此外,在本公开的实施例中,将以在下述情况下的数据处理作为示例来进行描述:当从主机102接收到用于存储在存储器装置150中的数据的读取命令时,通过检查对应于读取命令的数据的映射数据来从存储器装置150读取对应于读取命令的数据,并且,在将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓存器中之后,将存储在缓冲器/高速缓存器中的数据提供给主机102。
进一步地,然而在本实施例中,为了便于说明,下面将以控制器130在存储器***110中执行数据处理操作作为示例来描述,应当注意的是,如上所述,包括在控制器130中的处理器134可以通过例如FTL(闪存转换层)来执行数据处理操作。例如,在本公开的实施例中,在将与从主机102接收的写入命令相对应的用户数据和元数据存储在包含在控制器130的存储器144中的缓冲器中之后,控制器130将存储在缓冲器中的数据写入并存储在包括在存储器装置150中的多个存储块中的可选存储块中,即,执行编程操作。
元数据可以包括用于响应于编程操作的存储块中存储的数据的第一映射数据和第二映射数据,其中第一映射数据包括逻辑/物理(L2P:逻辑到物理)信息(在下文中称为“逻辑信息”),第二映射数据包括物理/逻辑(P2L:物理到逻辑)信息(在下文中称为“物理信息”)。并且,元数据可以包括:关于与从主机102接收的命令相对应的命令数据的信息;关于与命令相对应的命令操作的信息;关于待对其执行命令操作的存储器装置150的存储块的信息;以及关于与命令操作相对应的映射数据的信息。换言之,元数据可以包括所有其余的信息和除了与从主机102接收的命令相对应的用户数据之外的数据。
即,在本公开的实施例中,例如,在从主机102接收写入命令的情况下,控制器130执行与从主机接收的命令相对应的命令操作,即,执行与写入命令相对应的编程操作。此时,与写入命令相对应的用户数据被写入并存储在存储器装置150的存储块中,例如,存储块中执行擦除操作的空存储块、开放存储块或空闲存储块;并且第一映射数据和第二映射数据被写入并存储在存储器装置150的存储块中的空存储块、开放存储块或空闲存储块中,其中第一映射数据包括L2P映射表或L2P映射列表,L2P映射表或L2P映射列表中记录有用于存储在存储块中的用户数据的逻辑地址与物理地址之间的映射信息,即逻辑信息,而第二映射数据包括P2L映射表或P2L映射列表,P2L映射表或P2L映射列表中记录有用于存储用户数据的存储块的物理地址与逻辑地址之间的映射信息,即物理信息。
此处,当从主机102接收写入命令时,控制器103将与写入命令相对应的用户数据写入并存储在存储块中,并且将包括用于存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在存储块中。特别地,响应于用户数据的数据段被存储在存储器装置150的存储块中,控制器130生成并更新元数据的元段,即第一映射数据的L2P段和第二映射数据的P2L段,作为映射数据的映射段,并且将映射段存储在存储器装置150的存储块中。此时,控制器130通过将存储在存储器装置150的存储块中的映射段加载到控制器130的存储器144中来更新存储在存储器装置150的存储块中的映射段。
进一步地,当从主机102接收读取命令时,控制器130从存储器装置150读取与从主机102接收的读取命令相对应的读取数据,将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓存器中,并然后将存储在缓冲器/高速缓存器中的数据提供给主机102,由此执行与读取命令相对应的读取操作。本发明的实施例可以被应用到在对存储器装置150的操作(例如,写入操作或读取操作)期间在存储器***110中发生突然断电(SPO)之后,存储器***110的电力恢复的情况。
在对存储器装置150的操作期间,在存储器***110中发生突然断电(SPO)之后存储器***110的电力恢复时,可以在存储器***110中执行启动操作和恢复操作。
在SPO之后完成启动操作和恢复操作时,可以对存储器装置150执行诸如磨损均衡操作和垃圾收集操作的后台操作。当在存储器***110中发生突然断电(SPO)之后存储器***110的电力恢复时,同时响应于从主机102提供的用于某个时间段的多个读取命令对存储器装置150执行多个读取操作,可以在存储器***110中执行启动操作和恢复操作。然后,通过检查对存储器装置150的后台操作的触发,可以执行后台操作。
参照图5,控制器130响应于从主机102提供的命令执行命令操作,例如,响应于从主机102提供的写入命令执行编程操作或响应于从主机102提供的读取命令执行读取操作。此时,控制器130将与写入命令相对应的用户数据写入并存储到存储器装置150的存储块552、554、562、564、572、574、582和584中。并且,控制器130响应于对存储块552、554、562、564、572、574、582和584的写入操作而生成并更新用于用户数据的元数据并且将元数据写入并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。
控制器130生成并更新表示用户数据被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中的信息,例如第一映射数据和第二映射数据,即,生成并更新第一映射数据的逻辑段,即L2P段,和第二映射数据的物理段,即P2L段,并然后将L2P段和P2L段存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。参照图6,存储器装置150包括多个存储器管芯610至670,每个存储器管芯包括多个平面612至624、632至644、652至664和672至684,每个平面包括多个存储块614至626、634至646、654至666和674至686。
包括在存储器装置150中的多个存储块中的每一个具有预定擦除计数(EC)。各个存储块的EC可以由于对各个存储块执行的擦除操作而更新。EC可以包括存储块的编程/擦除(P/E)周期或擦除/写入(E/W)周期。在某个存储块中执行擦除操作以超过预定EC的情况下,相应的存储块可以被处理为不能再使用的坏块。换言之,用于存储器装置150的存储块的预定EC表示对存储器装置150的存储块执行擦除操作的最大计数。
在本公开的实施例中,为了确保在预定EC内对存储器装置150的存储块均匀地执行擦除操作,可以对存储器装置150的存储块执行磨损均衡操作。控制器130根据存储块的读取计数、读取回收计数或读取重试计数对存储块执行磨损均衡操作。应当注意的是,还可以根据对存储块的解码操作和错误校正操作的计数来对各个存储块执行磨损均衡操作。例如,响应于多个读取命令对存储块执行多个读取操作,包含在存储块中的存储器单元的特性可能降级,并且存储块的可靠性可能劣化。因此,控制器130对存储块执行例如磨损均衡操作的后台操作。在这方面,控制器130可以基于存储器装置150的存储块的EC执行磨损均衡操作。
在磨损均衡操作期间,控制器130可以基于存储块的EC在存储块中选择源存储块和目标存储块,并然后可以在源存储块和目标存储块之间互换(swap)数据。
在对存储块的读取操作期间,可能对存储块产生读取干扰。为了防止由于读取干扰而引起的存储块中的数据丢失,控制器130可以根据存储块的读取计数执行读取回收操作。在读取回收操作期间,控制器130可以根据读取计数在存储块中选择源存储块和目标存储块,其中读取计数根据对各个存储块的读取操作来进行更新,可以将存储在源存储块中的数据移动到目标存储块中,并然后可以对源存储块执行擦除操作。
当对存储块的读取操作失败时,对存储块执行读取重试操作。控制器130可以根据对每个存储块的读取重试操作来更新对各个存储块的读取重试计数。
当为存储块的页面中编程的用户数据提供写入命令时,用户数据可以被移动到包括在存储块中的其它页面中。先前页面中存储的用户数据变为无效数据,并且先前页面变为无效页面。
在垃圾收集操作期间,控制器130可以检查封闭存储块(closed memory block)中的有效页面,封闭存储块中的每一个中的所有页面都充满数据,并且根据存储块的有效页面计数(VPC)对有效页面执行垃圾收集操作,并且从而可以生成空存储块。
在垃圾收集操作期间,控制器130可将包括在封闭存储块(即,源存储块)中的有效页面的有效数据移动到空存储块(即,目标存储块)中。控制器130可以根据各个存储块的VPC来选择封闭存储块作为源存储块。
根据本公开的实施例,当存储器***110的电力从SPO恢复时,在启动操作和恢复操作之后,对存储器装置150可以执行后台操作(例如,磨损均衡操作和垃圾收集操作),其中在对存储器装置150的操作(例如,写入操作或读取操作)期间在其中发生SPO。
参照图7,在存储器***110处于通电状态的情况下,控制器130将与从主机102接收的写入命令相对应的用户数据编程并存储在包括在存储器装置150中的多个存储块中的可选存储块中包括的页面中,其中可选存储块例如是存储块10 710、存储块11 715、存储块12 720、存储块13 725、存储块14 730、存储块15 735、存储块16 740、存储块17 745、存储块18 750、存储块19 755、存储块20 760、存储块21 765和存储块22 770。并且,控制器130从包括在存储器装置150中的多个存储块中的可选存储块中包括的页面读取与从主机102接收的读取命令相对应的用户数据,其中可选存储块例如是存储块10 710、存储块11 715、存储块12 720、存储块13 725、存储块14 730、存储块15 735、存储块16740、存储块17 745、存储块18 750、存储块19 755、存储块20 760、存储块21 765和存储块22 770,并且将读取的用户数据提供给主机102。进一步地,控制器130在包括在存储器装置150中的多个存储块中的可选存储块中执行与从主机102接收的擦除命令相对应的擦除操作,其中可选存储块例如是存储块10 710、存储块11 715、存储块12 720、存储块13 725、存储块14 730、存储块15 735、存储块16 740、存储块17 745、存储块18 750、存储块19 755、存储块20 760、存储块21 765和存储块22 770。参照图7,在对存储器装置150的编程操作期间,控制器130将表示各个存储块的有效页面的数量的VPC 708记录在计数信息表700中,该VPC 708由计数信息表700中的索引表示。
进一步地,在对存储器装置150的读取回收操作期间,根据各个存储块的读取计数,控制器130将表示各个存储块的读取回收操作的数量的读取回收计数(RRC计数)706记录在计数信息表700中,该读取回收计数706由计数信息表700中的索引表示。
虽然该描述示出与对各个存储块的读取回收操作相对应的读取回收计数706,但是控制器可以通过与读取回收计数706的上述情况类似的方式将表示与对各个存储块的读取操作相对应的读取计数的数量的读取计数或表示与对各个存储块的读取重试操作相对应的读取重试计数的数量的读取重试计数记录在计数信息表700中。
进一步地,在对存储器装置150的擦除操作期间,控制器130将表示对各个存储块的擦除操作的数量的擦除计数(EC)704记录在计数信息表700中,该擦除计数704由计数信息表700中的索引表示。
虽然该描述示出与对各个存储块的擦除操作相对应的擦除计数704,但是控制器可以通过与擦除计数704的上述情况类似的方式将各个存储块的编程/擦除周期或擦除/写入周期记录在计数信息表700中。
计数信息表700可以作为元数据被存储在例如第二缓冲器520的包括在控制器130的存储器144中的缓冲器中。计数信息表700可以被配置成如图7所示的列表的形式或被配置成位图的形式。即,在计数信息表700中,通过各个存储块的索引702表示EC 704的信息可以被配置成位图的形式,通过各个存储块的索引702表示读取回收计数706的信息可以被配置成位图的形式,并且通过各个存储块的索引702表示VPC 708的信息可以被配置成位图的形式。如图7所示,通过各个存储块的索引702表示EC 704的信息、表示读取回收计数706的信息和表示VPC 708的信息可以被配置成列表的形式。在下文中,为了便于说明,将通过将以下情况作为示例来进行详细描述:控制器130将用于包括在存储器装置150中的存储块中的存储块11 715、存储块12 720、存储块13 725、存储块14 730、存储块15 735、存储块16740、存储块17 745、存储块18 750、存储块19 755、存储块20 760、存储块21 765和存储块22 770的EC 704、读取回收计数706和VPC 708记录在计数信息表700中。
参照图7,在由于在存储器***110中的SPO而执行启动操作和恢复操作之后,控制器130通过将存储在存储器装置150的存储块中的计数信息表700加载到控制器130的存储器144的第二缓冲器520上并且通过识别由计数信息表700中的索引702表示的各个存储块的EC 704、读取回收计数706和VPC 708来检查磨损均衡操作和垃圾收集操作的触发。
特别地,控制器130从计数信息表700计算存储块的平均EC和平均读取回收计数。此外,控制器130可以从计数信息表700识别存储块的最大EC和最小EC、最大读取回收计数和最小读取回收计数。并且,控制器130根据各个存储块的EC 704和平均EC来计算各个存储块的EC的偏移量,并且根据各个存储块的读取回收计数706和平均读取回收计数来计算各个存储块的读取回收计数的偏移量。
控制器130将等于或大于相应阈值的EC的偏移量或读取回收计数的偏移量分别记录在源存储块列表存储块中。源存储块列表可以被配置成位图的形式或列表的形式。
控制器130触发对源存储块列表中列出的存储块的磨损均衡操作和垃圾收集操作。
控制器130从源存储块列表存储块选择具有最大EC或最大读取回收计数的存储块或具有最大偏移量的EC或最大偏移量的读取回收计数的存储块作为用于磨损均衡操作的源存储块,并且对选择的源存储块执行磨损均衡操作。
控制器130可以基于在源存储块列表中列出的存储块的VPC(记录在计数信息表700中)从源存储块列表选择具有最小VPC或最大VPC的存储块作为用于垃圾收集操作的源存储块,并且对选择的源存储块执行垃圾收集操作。在本公开的实施例中,为了便于说明,将以下情况作为示例来进行描述:具有最小VPC的存储块被选为源存储块。
当在如图7所示的计数信息表700中例示各个存储块的EC 704、读取回收计数706和VPC 708时,平均EC、平均读取回收计数可以分别为350和300。进一步地,最大EC可以是970,最小EC可以是25,最大读取回收计数可以是930,并且最小读取回收计数可以是40。
参照图7的示例,控制器130根据存储块15的值为560的EC与平均EC(即,350)计算出EC的偏移量的值为210。以类似的方式,控制器可以计算各个存储块的EC的偏移量。
参照图7的示例,控制器130根据存储块10的值为930的读取回收计数与平均读取回收计数(即,300)之间计算出读取回收计数的偏移量的值为630。以类似的方式,控制器可以计算各个存储块的读取回收计数的偏移量。
例如,当EC阈值的值预定为300时,控制器130将EC的偏移量等于或大于EC阈值300的存储块记录在源存储块列表中(即,EC偏移量的值为370的存储块16、EC偏移量的值为540的存储块17和EC偏移量的值为620的存储块20)。
例如,当读取回收阈值的值预定为200时,控制器130将读取回收计数的偏移量等于或大于读取回收阈值200的存储块记录在源存储块列表中(即,读取回收计数偏移量的值为630的存储块10、读取回收计数偏移量的值为530的存储块12和读取回收计数偏移量的值为380的存储块17)。
控制器130从源存储块列表选择具有最大偏移量的EC或最大EC或具有最大偏移量的读取回收计数或最大读取回收计数的存储块20作为用于磨损均衡操作的源存储块。控制器130从计数信息表700选择具有最小EC的存储块19作为用于磨损均衡操作的目标存储块。因此,控制器130可以控制存储器装置150分别对作为源存储块的存储块20和作为目标存储块的存储块19执行磨损均衡操作。
控制器130从表示具有最大EC或最大读取回收计数或具有最大偏移量的EC或最大偏移量的读取回收计数的存储块16、20、10、12和17的源存储块列表选择具有值为70的最小VPC(记录在计数信息表700中)的存储块16作为用于垃圾收集操作的源存储块。因此,控制器130可以控制存储器装置150分别对作为源存储块的存储块16和作为目标存储块的一个或多个空存储块执行垃圾收集操作。
图8是说明存储器***110的操作的流程图。
参照图7和图8,在步骤810中,存储器***110响应于命令来执行命令操作,例如,分别响应于写入命令、读取命令和擦除命令来执行编程操作、读取操作和擦除操作。响应于执行编程操作、读取操作和擦除操作,存储器***110记录包含在存储器装置150中的存储块的计数信息表700,并且将计数信息表700存储在包含在存储器装置150的存储块中的页面中。
在步骤820中,在当存储器***110在通电状态下执行命令操作时存储器***110中发生突然断电的情况下,确认存储器***110的突然断电,即确认存储器***110变为断电状态。
在步骤830中,在存储器***110从断电状态变为通电状态的情况下,在存储器***110中执行启动操作和恢复操作。
在步骤840中,通过使用记录在包含在存储器装置150中的存储块中的计数信息表700,检查存储器装置150的后台操作的触发,即,检查磨损均衡操作或垃圾收集操作的触发。
在步骤850中,对存储器装置150执行后台操作。即,在计数信息表700中列出的存储块中的源存储块候选列表中记录参照图7描述的满足预定条件的存储块(例如,EC的偏移量或读取回收计数的偏移量等于或大于相应阈值的存储块)。并且,在源存储块候选列表中列出的存储块中选择也参照图7描述的满足另一预定条件的存储块(例如,具有最大EC或最大读取回收计数的存储块或具有最大偏移量的EC或最大偏移量的读取回收计数的存储块、以及具有最小VPC或最大VPC的存储块)作为源存储块。然后,对源存储块执行磨损均衡操作或垃圾收集操作,即对源存储块执行互换操作或复制操作。
在步骤860中,如上所述,响应于命令来执行命令操作,例如,分别响应于写入命令、读取命令和擦除命令来执行编程操作、读取操作和擦除操作。响应于执行编程操作、读取操作和擦除操作,存储器***110记录包含在存储器装置150中的存储块的计数信息表700,并且将计数信息表700存储在包含在存储器装置150的存储块中的页面中。
在步骤870中,通过使用记录在包含在存储器装置150中的存储块中的计数信息表700,检查存储器装置150的后台操作的触发,即,检查磨损均衡操作或垃圾收集操作的触发。
在步骤880中,对存储器装置150执行后台操作。即,在计数信息表700中列出的存储块中的源存储块列表中记录参照图7描述的满足预定条件的存储块(例如,EC的偏移量或读取回收计数的偏移量等于或大于相应阈值的存储块)。并且,在源存储块列表中列出的存储块中选择也参照图7描述的满足另一预定条件的存储块(例如,具有最大EC或最大读取回收计数的存储块或具有最大偏移量的EC或最大偏移量的读取回收计数的存储块、以及具有最小VPC或最大VPC的存储块)作为源存储块。然后,对源存储块执行磨损均衡操作或垃圾收集操作,即对源存储块执行交换操作或复制操作。
图9至图17是示意性说明数据处理***100的应用示例的图。
图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、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可以进一步包括图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-RAM)。存储器装置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用作缓冲存储器时,RAM6222可以用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可以辅助低速存储器装置6230以高速操作。
ECC电路6223可以对应于图1所示的控制器130的ECC单元138。如参照图1描述的,ECC电路6223可以生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可以对提供给存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可以被存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可以使用奇偶校验位来校正错误。例如,如参照图1描述的,ECC电路6223可以使用LDPC码、BCH码、涡轮码、里德-所罗门(RS)码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可以通过主机接口6224将数据传输到主机6210/从主机6210接收数据,并且通过NVM接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可以通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可以具有诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可以连接到例如主机6210或另一外部装置的外部装置,并然后将数据传输到外部装置/从外部装置接收数据。特别地,因为存储器控制器6220被配置为通过一种或多种各种通信协议与外部装置通信,所以根据本实施例的存储器***和数据处理***可以应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性地说明根据本实施例的包括存储器***的数据处理***的另一示例的简图。图11示意性地说明应用根据本实施例的存储器***的SSD。
参照图11,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。存储器控制器6320可以对应于图1和图5的存储器***110的控制器130,并且存储器装置6340可以对应于图1和图5的存储器***110的存储器装置150。
更具体地,控制器6320可以通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或临时存储例如包括映射表的映射数据的多个闪速存储器NVM的元数据。缓冲存储器6325可以由诸如DRAM、SDRAM、DDR SDRAM、LPDDRSDRAM和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描述的主机接口132的并行接口。此外,主机接口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(移动工业处理器接口)中的MIPIM-PHY和MIPI UniPro(统一协议)的UFS接口来与彼此通信。此外,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过除UFS协议之外的例如UFD、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处的链路层交换交换来与彼此通信。在本实施例中,为了便于描述,已经例示其中一个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的链路层交换来与彼此通信。在本实施例中,为了便于描述,已经例示一个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可以通过在UniPro处的交换模块6740的链路层交换来与彼此通信,并且交换模块6740可以在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为了便于描述,已经例示一个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交换来与彼此通信。在本实施例中,为了便于描述,已经例示其中一个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、LPDDRSDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可以通过基于POP(堆叠式封装)来封装并安装。
网络模块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闪存和3维NAND闪存,并且被设置为诸如用户***6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1和图5描述的存储器***110。此外,存储模块6950可以实施为以上参照图11至图16所描述的SSD、eMMC和UFS。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当其中图1和图8的存储器***110被应用于用户***6900的移动电子装置时,应用处理器6930可以控制移动电子装置的总体操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和变型。
Claims (20)
1.一种存储器***,其包括:
存储器装置,其包括包含页面的多个存储块;以及
控制器,其适于:
响应于命令执行命令操作;
根据所述命令操作将各个存储块的计数信息记录在计数信息表中;
通过参照对应于偏移量的所述计数信息在源存储块候选列表中列出满足第一预定条件的存储块;以及
在所述源存储块候选列表中列出的所述存储块中选择满足第二预定条件的存储块作为源存储块,
其中,所述偏移量表示所述各个存储块的所述计数信息与所述计数信息的平均值之间的差值。
2.根据权利要求1所述的存储器***,其中,满足所述第二预定条件的存储块是具有最大值的计数信息的存储块或者具有最大值的偏移量的存储块。
3.根据权利要求2所述的存储器***,其中,满足所述第一预定条件的存储块是其偏移量等于或大于阈值的存储块。
4.根据权利要求2所述的存储器***,
其中,所述控制器进一步在所述存储块中选择具有最小值的计数信息的存储块作为目标存储块,以及
其中,所述控制器进一步控制所述存储器装置以对所述源存储块和所述目标存储块执行磨损均衡操作。
5.根据权利要求1所述的存储器***,其中,所述计数信息包括对所述各个存储块的擦除操作、读取操作、读取回收操作和读取重试操作中的一个或多个的操作次数。
6.根据权利要求1所述的存储器***,其中,所述计数信息包括包含在所述各个存储块中的有效页面的数量。
7.根据权利要求6所述的存储器***,其中,满足所述第二预定条件的存储块是具有最大值的有效页面的数量的存储块或者具有最小值的有效页面的数量的存储块。
8.根据权利要求7所述的存储器***,
其中,所述控制器进一步在所述存储块中选择空存储块作为目标存储块,以及
其中,所述控制器进一步控制所述存储器装置以对所述源存储块和所述目标存储块执行垃圾收集操作。
9.根据权利要求1所述的存储器***,
其中,在所述存储器***处于通电状态的情况下,所述控制器响应于执行所述命令操作,将包括所述计数信息表的元数据记录在所述存储块中,以及
其中,当所述存储器***在执行所述命令操作期间断电并然后再次通电时,所述控制器对所述存储块执行启动操作和恢复操作,并然后通过记录在所述存储块中的所述计数信息表来检查所述存储块的后台操作的触发。
10.根据权利要求1所述的存储器***,其中,所述计数信息表和所述源存储块候选列表被配置成列表形式和/或位图形式中的至少一种形式。
11.一种存储器***的操作方法,其包括:
响应于命令对存储器装置的多个存储卡执行命令操作,所述多个存储块包括页面;
根据所述命令操作将各个存储块的计数信息记录在计数信息表中;
通过参照对应于偏移量的所述计数信息在源存储块候选列表中列出满足第一预定条件的存储块;以及
在所述源存储块候选列表中列出的所述存储块中选择满足第二预定条件的存储块作为源存储块,
其中,所述偏移量表示所述各个存储块的所述计数信息与所述计数信息的平均值之间的差值。
12.根据权利要求11所述的方法,其中,满足所述第二预定条件的存储块是具有最大值的计数信息的存储块或者具有最大值的偏移量的存储块。
13.根据权利要求12所述的方法,其中,满足所述第一预定条件的存储块是其偏移量等于或大于阈值的存储块。
14.根据权利要求12所述的方法,其进一步包括:
在所述存储块中选择具有最小值的计数信息的存储块作为目标存储块,以及
控制所述存储器装置以对所述源存储块和所述目标存储块执行磨损均衡操作。
15.根据权利要求11所述的方法,其中,所述计数信息包括对所述各个存储块的擦除操作、读取操作、读取回收操作和读取重试操作中的一个或多个的操作次数。
16.根据权利要求11所述的方法,其中,所述计数信息包括包含在所述各个存储块中的有效页面的数量。
17.根据权利要求16所述的方法,其中,满足所述第二预定条件的存储块是具有最大值的有效页面的数量或者具有最小值的有效页面的数量的存储块。
18.根据权利要求17所述的方法,其进一步包括:
在所述存储块中选择空存储块作为目标存储块,以及
控制所述存储器装置以对所述源存储块和所述目标存储块执行垃圾收集操作。
19.根据权利要求11所述的方法,其进一步包括:
在所述存储器***处于通电状态的情况下,响应于执行所述命令操作将包括所述计数信息表的元数据记录在所述存储块中;
当所述存储器***在执行所述命令操作期间断电并然后再次通电时,对所述存储块执行启动操作和恢复操作;以及
通过记录在所述存储块中的所述计数信息表来检查所述存储块的后台操作的触发。
20.根据权利要求11所述的方法,其中,所述计数信息表和所述源存储块候选列表被配置成列表形式和/或位图形式中的至少一种形式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0181274 | 2016-12-28 | ||
KR1020160181274A KR20180076765A (ko) | 2016-12-28 | 2016-12-28 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255739A true CN108255739A (zh) | 2018-07-06 |
CN108255739B CN108255739B (zh) | 2023-04-28 |
Family
ID=62629582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711086369.9A Active CN108255739B (zh) | 2016-12-28 | 2017-11-07 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10157024B2 (zh) |
KR (1) | KR20180076765A (zh) |
CN (1) | CN108255739B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119252A (zh) * | 2019-05-21 | 2019-08-13 | 济南浪潮高新科技投资发展有限公司 | 一种通用闪存存储存储阵列的管理方法及装置 |
US10509583B1 (en) | 2018-07-26 | 2019-12-17 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller |
CN110716879A (zh) * | 2018-07-11 | 2020-01-21 | 爱思开海力士有限公司 | 存储器***及该存储器***的操作方法 |
CN110781023A (zh) * | 2018-07-25 | 2020-02-11 | 爱思开海力士有限公司 | 用于在存储器***中处理数据的设备和方法 |
CN110858180A (zh) * | 2018-08-22 | 2020-03-03 | 爱思开海力士有限公司 | 数据处理***及其操作方法 |
CN110968263A (zh) * | 2018-10-01 | 2020-04-07 | 爱思开海力士有限公司 | 存储器*** |
CN111159069A (zh) * | 2018-11-07 | 2020-05-15 | 慧荣科技股份有限公司 | 闪存控制器、管理闪存模块的方法及相关的电子装置 |
CN111176555A (zh) * | 2018-11-09 | 2020-05-19 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111209224A (zh) * | 2018-11-21 | 2020-05-29 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111309638A (zh) * | 2018-12-12 | 2020-06-19 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111400200A (zh) * | 2019-01-02 | 2020-07-10 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN112306376A (zh) * | 2019-08-01 | 2021-02-02 | 北京兆易创新科技股份有限公司 | 用户数据搬移的恢复方法、装置、电子设备及存储介质 |
CN112783435A (zh) * | 2019-11-05 | 2021-05-11 | 爱思开海力士有限公司 | 存储设备和操作存储设备的方法 |
CN117420963A (zh) * | 2023-12-18 | 2024-01-19 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102447602B1 (ko) * | 2017-10-25 | 2022-09-26 | 삼성전자주식회사 | 메모리 장치 및 그 동적 가비지 컬렉션 방법 |
KR102511341B1 (ko) * | 2018-02-27 | 2023-03-20 | 에스케이하이닉스 주식회사 | 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템과, 이들의 동작 방법 |
TW202001565A (zh) * | 2018-06-21 | 2020-01-01 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 |
KR20200018060A (ko) * | 2018-08-10 | 2020-02-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102546229B1 (ko) | 2018-10-05 | 2023-06-22 | 삼성전자주식회사 | 리드 리클레임 동작 시에 버퍼 메모리를 이용하는 스토리지 장치 |
KR20200058867A (ko) * | 2018-11-20 | 2020-05-28 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 |
KR102263040B1 (ko) * | 2019-04-23 | 2021-06-09 | 삼성전자주식회사 | 멀티 코어 솔리드 스테이트 드라이브의 운용 방법 |
KR20220010303A (ko) * | 2020-07-17 | 2022-01-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20220049230A (ko) * | 2020-10-14 | 2022-04-21 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 비휘발성 메모리 장치 내 오류를 확인하는 장치 및 방법 |
KR20230050695A (ko) * | 2021-10-08 | 2023-04-17 | 삼성전자주식회사 | 스토리지 장치 |
KR20230072062A (ko) | 2021-11-17 | 2023-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110320688A1 (en) * | 2010-06-29 | 2011-12-29 | Samsung Electronics Co., Ltd. | Memory Systems And Wear Leveling Methods |
CN105489242A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 数据储存器件及其操作方法 |
US20160104539A1 (en) * | 2014-10-08 | 2016-04-14 | Kyungryun Kim | Storage device and reliability verification method |
US20160110114A1 (en) * | 2014-10-15 | 2016-04-21 | Sangkwon Moon | Data storage device including nonvolatile memory device and operating method thereof |
US20160170682A1 (en) * | 2014-12-16 | 2016-06-16 | Sandisk Technologies Inc. | Tag-based wear leveling for a data storage device |
CN105718378A (zh) * | 2014-12-19 | 2016-06-29 | 爱思开海力士有限公司 | 存储***及其操作方法 |
US20160239383A1 (en) * | 2013-10-23 | 2016-08-18 | Tencent Technology (Shenzhen) Company Limited | Wear leveling method and apparatus and storage medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291152B2 (en) * | 2009-01-07 | 2012-10-16 | Silicon Motion, Inc. | Method for operating non-volatile memory and data storage system using the same |
TWI436369B (zh) * | 2009-11-13 | 2014-05-01 | Silicon Motion Inc | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 |
CN104008061B (zh) | 2013-02-22 | 2018-01-23 | 华为技术有限公司 | 内存回收方法及装置 |
KR20150045747A (ko) | 2013-10-21 | 2015-04-29 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
KR20150053092A (ko) | 2013-11-07 | 2015-05-15 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
KR102085127B1 (ko) | 2013-11-13 | 2020-04-14 | 삼성전자주식회사 | 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치 |
KR102272228B1 (ko) | 2014-05-13 | 2021-07-06 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
-
2016
- 2016-12-28 KR KR1020160181274A patent/KR20180076765A/ko not_active Application Discontinuation
-
2017
- 2017-09-12 US US15/701,624 patent/US10157024B2/en active Active
- 2017-11-07 CN CN201711086369.9A patent/CN108255739B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110320688A1 (en) * | 2010-06-29 | 2011-12-29 | Samsung Electronics Co., Ltd. | Memory Systems And Wear Leveling Methods |
US20160239383A1 (en) * | 2013-10-23 | 2016-08-18 | Tencent Technology (Shenzhen) Company Limited | Wear leveling method and apparatus and storage medium |
CN105489242A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 数据储存器件及其操作方法 |
US20160104539A1 (en) * | 2014-10-08 | 2016-04-14 | Kyungryun Kim | Storage device and reliability verification method |
US20160110114A1 (en) * | 2014-10-15 | 2016-04-21 | Sangkwon Moon | Data storage device including nonvolatile memory device and operating method thereof |
US20160170682A1 (en) * | 2014-12-16 | 2016-06-16 | Sandisk Technologies Inc. | Tag-based wear leveling for a data storage device |
CN105718378A (zh) * | 2014-12-19 | 2016-06-29 | 爱思开海力士有限公司 | 存储***及其操作方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716879B (zh) * | 2018-07-11 | 2023-03-17 | 爱思开海力士有限公司 | 存储器***及该存储器***的操作方法 |
CN110716879A (zh) * | 2018-07-11 | 2020-01-21 | 爱思开海力士有限公司 | 存储器***及该存储器***的操作方法 |
CN110781023A (zh) * | 2018-07-25 | 2020-02-11 | 爱思开海力士有限公司 | 用于在存储器***中处理数据的设备和方法 |
US10509583B1 (en) | 2018-07-26 | 2019-12-17 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller |
TWI686697B (zh) * | 2018-07-26 | 2020-03-01 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
CN110858180A (zh) * | 2018-08-22 | 2020-03-03 | 爱思开海力士有限公司 | 数据处理***及其操作方法 |
CN110858180B (zh) * | 2018-08-22 | 2023-04-14 | 爱思开海力士有限公司 | 数据处理***及其操作方法 |
CN110968263A (zh) * | 2018-10-01 | 2020-04-07 | 爱思开海力士有限公司 | 存储器*** |
CN111159069B (zh) * | 2018-11-07 | 2021-11-30 | 慧荣科技股份有限公司 | 闪存控制器、管理闪存模块的方法及相关的电子装置 |
CN111159069A (zh) * | 2018-11-07 | 2020-05-15 | 慧荣科技股份有限公司 | 闪存控制器、管理闪存模块的方法及相关的电子装置 |
US11113201B2 (en) | 2018-11-07 | 2021-09-07 | Silicon Motion, Inc. | Flash memory controller, method and associated electronic device for managing priority of quality detection or garbage collection of block |
CN111176555A (zh) * | 2018-11-09 | 2020-05-19 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111209224A (zh) * | 2018-11-21 | 2020-05-29 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111309638A (zh) * | 2018-12-12 | 2020-06-19 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111309638B (zh) * | 2018-12-12 | 2023-04-21 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN111400200A (zh) * | 2019-01-02 | 2020-07-10 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN110119252A (zh) * | 2019-05-21 | 2019-08-13 | 济南浪潮高新科技投资发展有限公司 | 一种通用闪存存储存储阵列的管理方法及装置 |
CN110119252B (zh) * | 2019-05-21 | 2022-02-18 | 山东浪潮科学研究院有限公司 | 一种通用闪存存储存储阵列的管理方法及装置 |
CN112306376A (zh) * | 2019-08-01 | 2021-02-02 | 北京兆易创新科技股份有限公司 | 用户数据搬移的恢复方法、装置、电子设备及存储介质 |
CN112306376B (zh) * | 2019-08-01 | 2024-05-17 | 兆易创新科技集团股份有限公司 | 用户数据搬移的恢复方法、装置、电子设备及存储介质 |
CN112783435A (zh) * | 2019-11-05 | 2021-05-11 | 爱思开海力士有限公司 | 存储设备和操作存储设备的方法 |
CN117420963A (zh) * | 2023-12-18 | 2024-01-19 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法 |
CN117420963B (zh) * | 2023-12-18 | 2024-02-23 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US10157024B2 (en) | 2018-12-18 |
CN108255739B (zh) | 2023-04-28 |
KR20180076765A (ko) | 2018-07-06 |
US20180181346A1 (en) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255739A (zh) | 存储器***及其操作方法 | |
CN108572927A (zh) | 存储器***及其操作方法 | |
CN108304141A (zh) | 存储器***及其操作方法 | |
CN107766257A (zh) | 存储器***及其操作方法 | |
CN109144408A (zh) | 存储器***及其操作方法 | |
CN110244907A (zh) | 存储器***及该存储器***的操作方法 | |
CN107562649A (zh) | 存储器***及其操作方法 | |
CN107818057A (zh) | 存储器***及其操作方法 | |
CN109388594A (zh) | 存储器***及其操作方法 | |
CN109656472A (zh) | 存储器***及其操作方法 | |
CN108121665A (zh) | 存储器***及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN108241587A (zh) | 存储器***以及存储器***的操作方法 | |
CN107591182A (zh) | 存储器***及其操作方法 | |
CN108345550A (zh) | 存储器*** | |
CN108388525A (zh) | 存储器***及其操作方法 | |
CN110058797A (zh) | 存储器***及其操作方法 | |
CN108257637A (zh) | 存储器***及其操作方法 | |
CN109521947A (zh) | 存储器***以及存储器***的操作方法 | |
CN109390003A (zh) | 存储器***及其操作方法 | |
CN108389602A (zh) | 存储器***及其操作方法 | |
CN110096385A (zh) | 存储器***及其操作方法 | |
CN108427536A (zh) | 存储器***及其操作方法 | |
CN107807887A (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 |