CN111309518A - 存储器系统和存储器系统的操作方法 - Google Patents
存储器系统和存储器系统的操作方法 Download PDFInfo
- Publication number
- CN111309518A CN111309518A CN201911023429.1A CN201911023429A CN111309518A CN 111309518 A CN111309518 A CN 111309518A CN 201911023429 A CN201911023429 A CN 201911023429A CN 111309518 A CN111309518 A CN 111309518A
- Authority
- CN
- China
- Prior art keywords
- memory
- checkpoint
- dies
- information
- identification information
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 373
- 238000000034 method Methods 0.000 title claims description 19
- 238000011084 recovery Methods 0.000 claims abstract description 25
- 238000013507 mapping Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 25
- 238000012545 processing Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 239000013256 coordination polymer Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000004888 barrier function Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000013403 standard screening design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 2
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明涉及一种存储器系统,该存储器系统包括多个管芯,该管芯包括多个存储块,每个管芯包括第一区域和第二区域;以及控制器,该控制器包括存储多条检查点信息的存储器和处理器,其中处理器包括:检查点管理器,通过根据多条检查点信息的大小,对多个存储块编程识别信息和检查点信息来执行检查点操作;以及恢复管理器,当发生SPO时,通过使用在每个管芯的存储块中最后编程的最后检查点信息和最后识别信息来恢复由于突然断电(SPO)而停止的操作。
Description
相关申请的交叉引用
本申请要求于2018年12月12日向韩国知识产权局提交的申请号为10-2018-0159842的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本发明的各个实施例总体涉及一种存储器装置。特别地,实施例涉及一种存储器系统和存储器系统的操作方法。
背景技术
近来,计算机环境范例已经变为允许计算机系统在任何时间和任何地点使用的普适计算。基于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。通常,这些便携式电子装置使用具有存储器装置的存储器系统,即数据存储装置。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
发明内容
本发明的各个实施例涉及一种能够改善多个管芯的交叉操作的性能的存储器系统,以及该存储器系统的操作方法。
根据实施例,一种存储器系统包括:多个管芯,该管芯包括多个存储块,每个管芯包括第一区域和第二区域;控制器,该控制器包括存储多条检查点信息的存储器和处理器,其中处理器包括:检查点管理器,该检查点管理器通过根据多条检查点信息的大小,对多个存储块编程识别信息和检查点信息来执行检查点操作;以及恢复管理器,当发生突然断电(SPO)时,通过使用在每个管芯的存储块中最后编程的最后检查点信息和最后识别信息来恢复由于SPO而停止的操作。
根据实施例,一种存储器系统的操作方法,该存储器系统包括控制器和多个管芯,该控制器包括存储器和处理器,以及多个管芯包括多个存储块,该操作方法包括:根据存储在存储器中的检查点信息的大小,计算一个或多个的目标管芯的数量以执行第一检查点操作;通过根据所计算的目标管芯的数量,对多个管芯之中的一个或多个管芯的存储块顺序地执行第一检查点操作的方式,来编程必要(essential)检查点信息和与该必要检查点信息相对应的识别信息;检查所计算的目标管芯的数量是否等于多个管芯的数量;当所计算的目标管芯的数量小于多个管芯的数量时,通过对多个管芯之中的、除所述目标管芯之外的其余目标管芯执行第二检查点操作,来编程虚拟检查点信息和与该虚拟检查点信息相对应的识别信息。
根据实施例,一种存储器系统,包括:多个管芯,每个管芯包括用于存储多条检查点信息的多个存储块;以及控制器:将多条检查点信息顺序地编程在多个管芯的相应存储块中;从多个管芯中的最后编程存储块中读取多条检查点信息;确定所读取的多条检查点信息是否连续;当确定所读取的多条检查点信息是连续时,使用所读取的多条检查点信息执行恢复操作。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出根据实施例的关于存储器系统中的存储器装置的数据处理操作的示图。
图3是示出根据实施例的存储器系统中的超级存储块的概念的示图。
图4A和图4B是示出一般的检查点操作的示图。
图5是示出根据实施例的存储器系统的操作的示图。
图6和图7是示出根据实施例的存储器系统的第一和第二检查点操作的流程图。
图8是示出根据实施例的存储器系统的恢复操作的流程图。
图9至图17示意性地示出根据本发明的各个实施例的图1所示的数据处理系统的应用示例的示图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。但注意的是,本发明可以以不同的形式实施。此外,本发明的各个方面和各个特征可以与所示实施例不同的方式配置或布置。因此,本发明不应被理解为限于在本文中所阐述的实施例。相反,提供所描述的实施例,使得本公开是彻底且完整的,并且将本发明充分传达给本发明所属领域的技术人员。另外,在整个说明书中,对“一个实施例”“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这样的短语的不同引用不一定针对同一实施例。
将进一步被理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接连接或联接至其它元件,或者也可以存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,它可以是这两个元件之间的唯一元件,或也可以存在一个或多个中间元件。除非另有说明或上下文另有指明,否则无论是直接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的。
如本文所使用的,单数形式也可以包括复数形式,反之亦然,除非上下文另有明确指出。除非另外说明或上下文清楚地指示为单数形式,否则在本申请和所附权利要求书中使用的冠词“一”和“一个”通常应被理解为表示“一个或多个”。
将进一步理解的是,当在本说明书中使用时,术语“包括”,“包包括有”,“包含”和“包含有”指定所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
下面将参照附图详细地描述本发明的各个实施例。
图1是示出了根据实施例的包括存储器系统的数据处理系统100的框图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以通过例如以下的各种电子装置中的任何一种来实施:诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置,或者诸如台式计算机、游戏机、电视(TV)和投影仪的非便携式电子装置,即有线和无线电子装置。
主机102包括至少一个操作系统(OS)。操作系统通常管理和控制主机102的功能和操作,并且通过使用数据处理系统100或存储器系统110来提供主机102和用户之间的互操作性。操作系统支持与用户使用目的和操作系统的使用相对应的功能和操作。例如,根据主机102的移动性,操作系统可以是通用操作系统或移动操作系统。根据用户的使用环境,通用操作系统可以是个人操作系统或企业操作系统。例如,配置为支持向普通用户提供功能的服务的个人操作系统可以包括Windows和Chrome,配置为确保并支持高性能的企业操作系统可以包括Windows服务器、Linux和Unix。配置为支持针对用户的移动服务提供功能和系统省电功能的移动操作系统可以包括Android、iOS、Windows Mobile等。主机102可以包括多个操作系统,并且运行操作系统以对存储器系统110执行与用户请求对应的操作。主机102向存储器系统110发送与用户请求对应的多个命令,并且因此,存储器系统110执行与命令对应的操作,即与用户请求对应的操作。
存储器系统110响应主机102的请求而操作,并且特别地,存储待被主机102访问的数据。换句话说,存储器系统110可以用作主机102的主存储器装置或辅助存储器装置。根据与主机102联接的主机接口协议,存储器系统110可以被实现为各种存储装置中的任何一种。例如,存储器系统110可以被实现为固态驱动器(SSD)、多媒体卡(例如,MMC、嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)以及微型MMC)、安全数字卡(例如,SD、小型SD以及微型SD)、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡以及记忆棒中的任何一种。
实现存储器系统110的存储装置中的任意一种可以是易失性存储器装置,诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM),或者非易失性存储器装置,诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁性RAM(MRAM)和/或电阻RAM(RRAM)。
存储器系统110包括控制器130和存储器装置150,存储器装置150存储待被主机102访问的数据。控制器130控制数据在存储器装置150中的存储。
控制器130和存储器装置150可以集成在一个半导体装置中。例如,控制器130和存储器装置150可以被集成到一个半导体装置中并且配置固态驱动器(SSD)。在将存储器系统110用作SSD的情况下,联接到存储器系统110的主机102的运行速度可以被提高。控制器130和存储器装置150可以集成到一个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡(例如,SM以及SMC)、记忆棒、多媒体卡(例如,MMC,RS-MMC以及微型MMC)、安全数字卡(例如,SD、迷你-SD、微型-SD以及SDHC)和/或通用闪存(UFS)装置。
在另一实施例中,存储器系统110可以被设置于计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板电脑、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下发送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种电路元件之一。
即使没有供应电力,存储器装置150也可以保留所存储的数据。特别地,存储器装置150通过写入操作来存储从主机102提供的数据,并且通过读取操作来将所存储的数据提供给主机102。存储器装置150包括多个存储器管芯1501至150n。
多个存储器管芯1501至150n中的每一个包括多个存储块BLK1至BLKz,多个存储块BLK1至BLKz中的每个包括多个页面。每个页面包括联接到多个字线(WL)的多个存储器单元。存储器装置150包括多个平面,每个平面包括多个存储块,例如块BLK1至BLKz。特别地,存储器装置150可以包括多个存储器管芯1501至150n,多个存储器管芯1501至150n中的每个包括多个平面。存储器装置150可以是非易失性存储器装置,例如闪速存储器。闪速存储器可以具有三维(3D)堆叠结构。
控制器130响应来自于主机102的请求而控制存储器装置150。例如,控制器130将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150。为此,控制器130控制存储器装置150的操作,例如读取、写入、编程和擦除操作。
控制器130包括主机接口(I/F)132、处理器134、存储器接口(I/F)142和存储器144。
主机接口132可以处理从主机102接收的命令、数据等。作为示例而非限制,主机接口单元132可以包括命令队列。
主机接口132处理主机102的命令和数据,并且可以被配置为通过诸如以下的各种接口协议中的至少一种与主机102进行通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、集成电子驱动器(IDE)和移动工业处理器接口(MIPI)。可以通过被称为主机接口层(HIL)的固件来驱动主机接口132,主机接口层(HIL)是与主机102交换数据的区域。
存储器接口142用作存储器接口和/或存储接口,该存储器接口和/或存储接口执行控制器130和存储器装置150之间的接口连接以允许控制器130响应来自于主机102的请求而控制存储器装置150。在存储器装置150是闪速存储器的情况下,特别是在存储器装置150是NAND闪速存储器的情况下,存储器接口142作为NAND闪存控制器(NFC),根据处理器134的控制来生成用于存储器装置150的控制信号并处理数据。存储器接口142可以支持处理控制器130和存储器装置150之间的命令和数据的接口,例如NAND闪存接口的操作,特别是控制器130和存储器装置150之间的数据输入/输出。存储器接口142可以通过被称为闪存接口层(FIL)的固件来驱动,闪存接口层(FIL)是与存储器装置150交换数据的区域。
作为存储器系统110和控制器130的工作存储器的存储器144存储用于驱动存储器系统110和控制器130的数据。当控制器130响应来自于主机102的请求而控制存储器装置150时,控制器130可以将从存储器装置150读取的数据提供给主机102,和/或将从主机102提供的数据存储在存储器装置150中。为此,当控制器130控制存储器装置150的操作(诸如读取、写入、编程和擦除操作)时,存储器144存储允许待由存储器系统110,即在控制器130和存储器装置150之间执行的这种操作所需的数据。
存储器144可以由易失性存储器实现。例如,存储器144可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)实现。此外,如图1所示,存储器144可以设置在控制器130内。可选地,存储器144可以在控制器130的外部,并且在这方面,,存储器144可以被实现为通过存储器接口与控制器130通信的单独外部易失性存储器。
如上所述,存储器144存储用于在主机102与存储器装置150之间执行读取和写入操作的数据,以及在执行数据读取和写入操作时的数据。对于这样的数据存储,存储器144包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134控制存储器系统110的各种操作。特别地,处理器134响应于来自主机102的写入请求或读取请求而控制存储器装置150的编程操作或读取操作。处理器134驱动被称为闪存转换层(FTL)的固件,以控制存储器系统110的一般操作。处理器134可以是一个以上的处理器,每个处理器可以由微处理器或中央处理器单元(CPU)来实现。
例如,控制器130通过处理器134来在存储器装置150中执行从主机102请求的操作,即利用存储器装置150来执行与从主机102接收的命令相对应的命令操作。控制器130可以执行前台操作作为与从主机102接收的命令相对应的命令操作。例如,前台操作包括与写入命令相对应的编程操作、与读取命令相对应的读取操作、与擦除命令相对应的擦除操作或者与作为设置命令的设置参数命令或设置特征命令相对应的参数设置操作。
处理器134可以包括检查点管理器135和恢复管理器136。换句话说,检查点管理器135和恢复管理器136可以由处理器134驱动。
每当在检查点执行条件下到达检查点执行时间时,检查点管理器135可以将存储在存储器144中的检查点信息编程到每个管芯。检查点信息可以包括必要检查点信息和虚拟检查点信息。必要检查点信息可以包括存储在存储器144中的映射段的映射信息。虚拟检查点信息可以包括使用虚拟数据生成的信息。具体地,当在检查点执行条件下到达检查点执行时间时,检查点管理器135根据存储在存储器144中的必要检查点信息的大小,即映射段的大小,来检查能够编程必要检查点信息的一个或多个管芯的数量。随后,检查点管理器135将必要检查点信息编程到与所检查到的管芯数量一样多的一个或多个管芯中的存储块中。检查点管理器135在多个管芯之中检查是否存在除了存储有必要检查点信息的管芯之外的管芯。当检查结果指示存在其他管芯时,检查点管理器135可以通过对其他管芯执行检查点操作来编程虚拟检查点信息。当对多个管芯执行检查点操作以编程检查点信息时,可以一起存储能够识别检查点信息的多条识别信息。控制器130可以在完成对每个管芯的编程操作之后不执行屏障操作,而是在完成对每个管芯的编程操作时立即执行检查点操作,从而提高交叉操作的性能。
当在对存储器装置执行编程操作的同时在存储器系统中发生突然断电(SPO)时,恢复管理器136通过使用检查点信息和与检查点信息相对应的识别信息,来恢复编程到多个存储器装置中的数据丢失。换句话说,当发生SPO时,存储在作为易失性存储器的存储器144中的检查点信息在供电之后可能不会保留在存储器144中,而在作为非易失性存储器的存储块中存储的检查点信息在供电之后可被保留在存储块中。恢复管理器136可以在存储在管芯的存储块中的多条识别信息之中搜索最后存储的识别信息,并且使用与最后存储的识别信息对应的检查点信息来控制存储器系统110恢复由于SPO而已经停止的操作。
如本公开中所使用的,术语“电路”可以指以下所有内容:(a)纯硬件电路实施方式(诸如仅在模拟和/或数字电路中的实施方式)以及(b)电路和软件(和/或固件)的组合,诸如(如果适用的话):(i)处理器的组合或(ii)处理器的部分/软件的组合(包括一起工作以形成诸如移动电话或服务器的设备以执行各种功能的数字信号处理器、软件和存储器)以及(c)电路,诸如需要软件或固件进行操作的微处理器或微处理器的部分,即使软件或固件物理上不存在。“电路”的定义适用于该术语在本申请中的所有使用,包括在任何权利要求中的使用。作为另一示例,如在本申请中使用的,术语“电路”还涵盖仅处理器(或多个处理器)或处理器的一部分及其附加的软件和/或固件的实施方式。例如,如果适用于特定要求保护元件,则术语“电路”还覆盖用于存储装置的集成电路。
在这方面,将参照图5来详细描述检查点管理器135和恢复管理器136。
图2示出了根据实施例的关于存储器系统中的存储器装置的数据处理操作的示图。
参照图2,控制器130可以执行与从主机102接收的命令相对应的命令操作,例如与编程命令相对应的编程操作。控制器130可以将与编程命令相对应的用户数据编程并且存储在存储器装置150的存储块BLK0至BLK7中的多个页面中。作为参考,图2中的存储块BLK1至BLKz可以对应于图1中的存储块BLK1至BLKz。
控制器130生成和更新用户数据的元数据,并且将元数据编程并存储在存储器装置150的存储块BLK1至BLKz中。元数据可以包括存储在存储块BLK1至BLKz中的用户数据的逻辑到物理(逻辑/物理或L2P)信息以及物理到逻辑(物理/逻辑或P2L)信息。另外,元数据可以包括关于与从主机102接收的命令相对应的命令数据的信息、关于与该命令相对应的命令操作的信息、关于待被执行命令操作的存储器装置150的存储块的信息、以及关于与命令操作相对应的映射数据信息。元数据可以包括与从主机102接收到的命令相对应的、除用户数据之外的各种信息和数据。
例如,控制器130将与从主机102接收的编程命令相对应的用户数据高速缓存和缓冲在控制器130的第一缓冲器510中。也就是说,控制器130将用户数据的数据段512存储在作为数据缓冲器/高速缓存的第一缓冲器510中。第一缓冲器510可以包括在控制器130的存储器144中。此后,控制器130将存储在第一缓冲器510中的数据段512编程和存储在存储器装置150的存储块BLK1至BLKz中包括的页面中。
当用户数据的数据段512被编程并存储在存储块BLK1至BLKz中的页面中时,控制器130生成作为元数据的L2P段522和P2L段524。控制器130可以将L2P段522和P2L段524存储在控制器130的第二缓冲器520中。第二缓冲器520可以包括在控制器130的存储器144中。在第二缓冲器520中,L2P段522和P2L段524可以以列表的形式进行存储。然后,控制器130通过映射清除操作来将L2P段522和P2L段524编程并存储在存储块BLK1至BLKz的页面中。
控制器130执行与从主机102接收的命令相对应的命令操作。例如,控制器130执行与读取命令相对应的读取操作。控制器130通过将与读取命令相对应的用户数据的L2P段522和P2L段524加载到第二缓冲器520中来检查它们。然后,控制器130从通过检查步骤而获得的存储位置读取用户数据的数据段512。即控制器130从存储块BLK1至BLKz之中的特定存储块中的特定页面读取数据段512。然后,控制器130将数据段512存储在第一缓冲器510中,并且将数据段512提供给主机102。
图3是示出根据实施例的存储器系统中的超级存储块的概念的示图。
参照图3,存储器系统110的存储器装置150可以包括多个存储器管芯1501至150n。例如,存储器装置150可以包括第一存储器管芯1501和第二存储器管芯1502。
第一存储器管芯1501和第二存储器管芯1502中的每一个可以包括多个平面。例如,第一存储器管芯1501可以包括第一平面PLANE00和第二平面PLANE01,第二存储器管芯1502可以包括第三平面PLANE10和第四平面PLANE11。每个平面可以包括多个块。例如,第一平面PLANE00可以包括第一至第N存储块BLOCK000至BLCOK00N。第二平面PLANE01可以包括第一至第N存储块BLOCK010至BLCOK01N。第三平面PLANE10可以包括第一至第N存储块BLOCK100至BLCOK10N。第四平面PLANE11可以包括第一至第N存储块BLOCK110至BLCOK11N。
第一存储器管芯1501能够通过第零通道CH0输入和输出数据。第二存储器管芯1502能够通过第一通道CH1输入和输出数据。第零通道CH0和第一通道CH1可以以交叉方案来输入和输出数据。
第一存储器管芯1501包括分别对应于多个通路WAY0和WAY1的多个平面PLANE00和PLANE01,该多个平面PLANE00和PLANE01能够通过共享第零通道CH0以交叉方案来输入和输出数据。
第二存储器管芯1502包括分别对应于多个通路WAY2和WAY3的多个平面PLANE10和PLANE11,该多个平面PLANE10和PLANE11能够通过共享第一通道CH1以交叉方案来输入和输出数据。
存储器装置150中的多个存储块可以以基于使用相同通路或通道的物理位置而被划分成组。
虽然图3的实施例示出了在存储器装置150中存在两个管芯并且每个管芯具有两个平面的配置,但本发明不限于该配置。可以基于系统设计考虑来使用任何合适的管芯和平面配置。每个平面中的存储块数量也可不同。
图1中的控制器130可以基于存储块的物理位置,对位于不同管芯或不同平面的多个存储块之中的、可被同时选择的存储块进行分组,并且将存储块组作为超级存储块进行管理。
根据设计者的选择,可以以各种方式来执行控制器130将存储块分组为超级存储块并且管理超级存储块的方案。以下以三种方案为例进行说明。
根据第一方案,控制器130对存储器装置150的第一存储器管芯1501的第一平面PLANE00中的存储块BLOCK000和第二平面PLANE01中的存储块BLOCK010进行分组,并且将所分组的存储块BLOCK000和BLOCK010作为单个超级存储块A1进行管理。当将第一方案应用于第二存储器管芯1502时,控制器130可以对第二存储器管芯1502的第一平面PLANE10中的存储块BLOCK100和第二平面PLANE11中的存储块BLOCK110进行分组,并且将所分组的存储块BLOCK100和BLOCK110作为单个超级存储块A2进行管理。
根据第二方案,控制器130对第一存储器管芯1501的第一平面PLANE00中的存储块BLOCK002和第二存储器管芯1502的第一平面PLANE10中的存储块BLOCK102进行分组,并且将所分组的存储块BLOCK002和BLOCK102作为单个超级存储块B1进行管理。另外,根据第二方案,控制器130可以对第一存储器管芯1501的第二平面PLANE01中的存储块BLOCK012和第二存储器管芯1502的第二平面PLANE11中的存储块BLOCK112进行分组,并且将所分组的存储块BLOCK012和BLOCK112作为单个超级存储块B2进行管理。
根据第三方案,控制器130将第一存储器管芯1501的第一平面PLANE00中的存储块BLOCK001、第一存储器管芯1501的第二平面PLANE01中的存储块BLOCK011、第二存储器管芯1502的第一平面PLANE10中的存储块BLOCK101以及第二存储器管芯1502的第二平面PLANE11中的存储块BLOCK111进行分组,并且将所分组的存储块BLOCK001、BLOCK011、BLOCK101和BLOCK111作为单个超级存储块C进行管理。
相应地,通过诸如通道交叉方案、存储器管芯交叉方案、存储器芯片交叉方案或通路交叉方案的交叉方案,可以基本上同时选择每个超级存储块中的存储块。
根据本发明的实施例,基于第一逻辑块地址(LBA)和第二LBA的模式,映射段的大小可以被不同地调整并且被更新到存储器装置150,从而减少存储器装置150的更新次数。
虽然已经针对特定实施例对本发明进行了说明和描述,但是根据前述描述,对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求书中所限定的本发明的精神和范围的情况下可以进行各种改变和修改。
图4A和图4B是示出一般的检查点操作的示图。
参照图4A,控制器130可以执行检查点操作,该检查点操作周期性地将存储器144中的检查点信息CP_INFO编程到存储器装置150中的多个存储块BLK1至BLKz中的存储块BLKz。检查点信息可以是用于执行以上参照图1描述的后台操作或根据主机102的请求的操作所需的数据。当在控制器130的控制下,多个管芯1501至150n中的每一个中的多个存储块,即开放块通过交叉方案、以数据段或映射段为单位被更新时,可以执行检查点操作。在对开放块执行检查点操作之前和之后,控制器130可以执行屏障操作。屏障操作是指示管芯1501至150n的交叉操作被破坏的操作。即,执行屏障操作的原因是确保直到执行检查点操作之前,数据存储在存储器管芯1501至150n中的存储块中。
参照图4B,控制器130可以分别对第一至第四管芯1501至1504执行第一至第四编程操作tProgram_1至tProgram_4。当第一至第四编程操作tProgram_1至tProgram_4完成时,控制器130可以执行第一屏障操作B1。随后,控制器130可以分别对第一至第四管芯1501至1504执行第一至第四检查点操作tCheck Point_1至tCheck Point_4。当第一至第四检查点操作tCheck Point_1至tCheck Point_4完成时,控制器130可以执行第二屏障操作B2。这样,在控制器130完成编程操作之后并且在执行检查点操作之前,可能会产生空闲时间,因此可能会降低管芯的交叉操作的性能。另外,在控制器130对第一至第四管芯完成编程操作之后执行屏障操作和检查点操作的情况下,在对第一至第四管芯执行编程操作的同时,如果发生SPO,则之前已经被完全编程的数据可能会丢失。为了解决该问题,将参照图5至图8进行详细描述
图5是示出根据实施例的存储器系统110的操作的示图。例如,图5仅示意性地示出了图1的数据处理系统100中的与本发明相关的配置。
参照图5,存储器系统110可以包括存储器装置150和控制器130。
存储器装置150可以包括第一至第四存储器管芯1501至1504。第一至第四存储器管芯1501至1504中的每一个可以包括第一区域和第二区域。第一区域可以包括能够执行与从主机接收到的命令相对应的命令操作的多个存储块。第二区域可以包括能够根据检查点操作来存储检查点信息的多个存储块。为了方便起见,图5中仅示出了第二区域。例如,每个管芯的第二区域可以包括一个存储块BLK_1,且存储块BLK_1可以包括5个页面。当将数据编程到每个管芯中的每个存储块中时,控制器130可以执行单触发编程操作。单触发编程操作表示通过一个编程操作将多位数据编程到多层单元的操作。此时,可以将作为单触发编程操作单位的数据大小定义为“预定大小”。换句话说,在每个管芯的第一存储块中的任何一个页面上不存在虚拟数据的情况下,执行单触发编程操作所需的数据大小可以被定义为“预定大小”。例如,每个管芯的第一存储块的每一个页面的预定大小可以是32KB,并且可以通过交叉方案来将128KB或更小的数据编程到四个管芯。可选地,可以将数据的大小设置为大于或小于预定大小的大小。
控制器130可以包括存储器144和处理器134
存储器144可以包括检查点信息列表CP_LIST,在控制器130的控制下将检查点信息周期性地存储到检查点信息列表CP_LIST中。存储在检查点信息列表CP_LIST中的检查点信息可以是执行后台操作或根据主机请求的操作所需的数据。
处理器134可以包括检查点管理器135和恢复管理器136。
检查点管理器135可以包括执行时间确定电路1351和执行电路1352。检查点管理器135可以通过执行时间确定电路1351来周期性地检查第一检查点操作的执行时间。当检查到第一检查点操作的执行时间时,执行电路1352可以对存储器装置150执行第一检查点操作。在这方面,下面将提供详细描述。
执行时间确定电路1351可以周期性地检查第一检查点操作的执行时间,并且确定是否执行第一检查点操作。可以将目标块从第一至第四管芯1501至1504中的多个存储块之中的第一开放块改变为第二开放块的情况,或者以预定大小对第一至第四管芯1501至1504执行编程操作的情况设置为第一检查点操作的执行时间。在本实施例中,描述了将目标块从第一至第四管芯1501至1504的每一个的第一区域中的多个存储块之中的第一开放块改变为第二开放块的情况设置为第一检查点操作的执行时间。可选地,第一检查点操作的执行时间可以通过各种方式进行设置。
当控制器130从主机接收多个写入命令时,执行时间确定电路1351检查第一至第四管芯1501至1504的第一区域中的多个存储块之中的开放块是否被改变为关闭块。换句话说,执行时间确定电路1351检查开放块是否被改变为其他开放块。当检查结果指示第一管芯1501至第四管芯1504中的存储块之中的开放块未被改变为关闭块时,控制器130可以通过交叉方案来对管芯中的开放块执行与从主机102接收的写入命令相对应的写入命令操作。当检查结果指示第一至第四管芯1501至1504中的存储块之中的开放块被改变为关闭块时,执行时间确定电路1351可确定执行第一检查点操作的时间。
执行电路1352通过存储在存储器144的检查点列表中的检查点信息的大小,来计算用于执行第一检查点操作的目标管芯的数量“N”。执行电路1352可以通过使用检查点信息的大小和针对每个管芯设置的预定大小来计算目标管芯的数量“N”。执行电路1352可以以目标管芯的数量“N”来执行第一检查点操作。执行电路1352可以检查全部管芯的数量“A”是否等于目标管芯的数量“N”。当检查结果指示全部管芯的数量“A”不等于目标管芯的数量“N”(即,目标管芯的数量“N”小于全部管芯的数量“A”)时,执行电路1352可以对全部管芯中的除了目标管芯之外的其余管芯执行第二检查点操作,并且存储虚拟检查点信息和与虚拟检查点信息相对应的识别信息。
首先,描述执行电路1352执行第一检查点操作的情况。当存储器144的检查点信息列表中的检查点信息的大小是100KB,并且可以对每个管芯执行编程操作的预定大小是32KB时,执行电路1352可以对总共4个管芯执行第一检查点操作。执行电路1352可以将第一至第四检查点信息CP_1至CP_4和与第一至第四检查点信息CP_1至CP_4对应的第一至第四识别信息T1至T4顺序地编程到第一至第四管芯的每一个中的第一存储块中。换句话说,执行电路1352可以顺序地将第一检查点信息CP_1和第一识别信息T1编程到第一管芯的第一存储块中,将第二检查点信息CP_2和第二识别信息T2编程到第二管芯的第一存储块中,将第三检查点信息CP_3和第三识别信息T3编程到第三管芯的第一存储块中,第四检查点信息CP_4和第四识别信息T4编程到第四管芯的第一存储块中。
接下来,描述执行电路1352执行第一和第二检查点操作的情况。当存储器144的检查点信息列表中的检查点信息的大小为64KB时,执行电路1352可以对总共2个目标管芯执行第一检查点操作,并且存储检查点信息和与检查点信息对应的识别信息。例如,执行电路1352可以在第一管芯的第一存储块中存储第五检查点信息CP_5和第五识别信息T5,并且在第二管芯的第一存储块中存储第六检查点信息CP_6和第六识别信息T6。执行电路1352可以检查全部管芯的数量“A”是否等于目标管芯的数量“N”。当检查结果指示全部管芯的数量“A”不等于目标管芯的数量“N”时,执行电路1352可以对全部管芯中的除了目标管芯之外的其余管芯执行第二检查点操作,并且编程虚拟检查点信息和与虚拟检查点信息对应的识别信息。例如,控制器130可以顺序地将第一虚拟检查点信息和第七识别信息T7编程到第三管芯的第一存储块中,并且将第二虚拟检查点信息和第八识别信息T8编程到第四管芯的第一存储块中。另一方面,当全部管芯的数量“A”等于目标管芯的数量“N”时,执行电路1352可以完成检查点操作。
当在对多个管芯进行编程操作期间在存储器系统中发生SPO时,恢复管理器136通过使用检查点信息和识别信息来恢复编程到第一至第四管芯1501至1504中的数据丢失。换句话说,当在响应于主机请求的命令操作期间在存储器系统中发生SPO时,恢复管理器136检查在第一至第四管芯1501至1504的每一个中的、存储有检查点信息的存储块中最后存储的识别信息。例如,在第一至第四管芯1501至1504的每一个的存储块中最后存储的识别信息是第一管芯1501的存储块中的第五识别信息T5、第二管芯1502的存储块中的第六识别信息T6、第三管芯1503的存储块中的第七识别信息T7和第四管芯1504的存储块中的第八识别信息T8。恢复管理器136检查所检查到的多条识别信息是否具有连续模式。检查结果指示多条识别信息具有按照第五识别信息T5、第六识别信息T6、第七识别信息T7和第八识别信息T8的顺序的连续模式。以这种方式,当多条识别信息具有连续模式时,恢复管理器136可以使用与多条识别信息对应的检查点信息来执行数据恢复操作。例如,恢复管理器136可以通过使用与第五识别信息T5相对应的第五检查点信息CP_5、与第六识别信息T6相对应的第六检查点信息CP_6、与第七识别相对应的第一虚拟检查点信息D_CP_1以及与第八识别信息T8相对应的第二虚拟检查点信息D_CP_2来恢复数据。
另一方面,当在第一至第四管芯1501至1504的存储块中检查到的识别信息不具有连续模式时,恢复管理器136检查所检查到的识别信息中的多条先前识别信息的位置,从而检查先前识别信息是否具有连续模式。当先前识别信息具有连续模式时,恢复管理器136可以使用与多条先前识别信息相对应的多条检查点信息来执行数据恢复操作。
图6和图7是示出根据实施例的存储器系统110的第一和第二检查点操作的流程图。
参照图6,控制器130可以通过周期性地检查第一检查点操作的执行时间来确定是否执行第一检查点操作。可以将目标块从第一至第四管芯1501至1504的每一个的第一区域中的多个存储块之中的第一开放块改变为第二开放块的情况,或者以预定大小对第一至第四管芯1501至1504执行编程操作的情况设置为第一检查点操作的执行时间。在本实施例中,将作为示例描述目标块从在第一至第四管芯1501至1504的每一个的第一区域中的多个存储块之中的第一开放块改变为第二开放块的情况。可选地,第一检查点操作的执行时间可以通过各种方式进行设置。
在步骤S601中,控制器130从主机102接收多个写命令。在步骤S603和S605中,控制器130检查第一至第四管芯1501至1504中的每一个的第一区域中的存储块之中的、作为目标块的第一开放块是否改变为关闭块,以及第二开放块是否改变为目标块。当检查结果指示在第一开放块中剩余有空闲页面空间时(即,步骤S605中为“否”),控制器130可以确定未到执行第一检查点操作的时间。在步骤S607中,控制器130可以对多个管芯的每一个中的第一开放块执行写入命令操作。当检查结果指示由于第一至第四管芯1501至1504中的第一开放块中不存在空闲页面空间而将目标块改变为第二开放块时,控制器130确定已到执行第一检查点操作的时间(即,步骤S605中为“是”)。
在步骤S609中,控制器130计算目标管芯的数量“N”以执行第一检查点操作。参照图7来详细描述用于计算目标管芯的数量“N”以执行第一检查点操作的方法。参照图7,在步骤S701中,控制器130检查存储器144的检查点列表中的检查点信息的大小。随后,在步骤S703中,控制器130可以通过使用所检查到的检查点信息的大小和针对每个管芯设置的预定大小来计算目标管芯的数量“N”。例如,当针对每个管芯设置的预定大小为32KB,并且检查点信息的大小为64KB时,目标管芯的数量“N”为2。
返回参照图6,在步骤S611中,控制器130可以以所计算的目标管芯的数量“N”来执行第一检查点操作,并且在步骤S613中,存储一条或多条检查点信息和与该一条或多条检查点信息对应的识别信息。例如,控制器130可以将第一检查点信息CP_1和第一识别信息T1存储在第一管芯的存储块中,并且将第二检查点信息CP_2和第二识别信息T2存储在第二管芯的存储块中。
在步骤S615中,控制器130检查全部管芯的数量“A”是否等于目标管芯的数量“N”。当检查结果指示全部管芯的数量“A”不等于目标管芯的数量“N”时(即,在步骤S615中为“否”),在步骤S617中,控制器130检查多个管芯之中的、没有被执行第一检查点操作的其余目标管芯的数量“M”。在步骤S619中,控制器130可以对与其余目标管芯的数量“M”相对应的一个或多个其余目标管芯执行第二检查点操作,并且在步骤S621中,存储虚拟检查点信息和与虚拟检查点信息对应的识别信息。例如,由于第一和第二检查点信息以及第一和第二识别信息被存储在第一至第四管芯之中的第一和第二管芯的存储块中,所以控制器130可以顺序地将第一虚拟检查点信息D_CP_1和第七识别信息T7存储在第三管芯的存储块中,并且将第二虚拟检查点信息D_CP_2和第八识别信息T8顺序地存储在第四管芯的存储块中。
当检查结果指示全部管芯的数量“A”等于目标管芯的数量“N”(即,在步骤S615中为“是”)时,控制器130完成检查点操作。
图8是示出根据实施例的存储器系统110的恢复操作的流程图。
参考图8,在步骤S801中,控制器130可以检测是否发生突然断电(SPO)。当发生SPO时,作为易失性存储器的存储器144中的检查点信息可能在供电之后不会保留在存储器144中,而作为非易失性存储器的存储块中的检查点信息可在供电之后仍然保留在存储块中。
在步骤S803中,当在对管芯执行编程操作的同时在存储器系统110中发生SPO时,控制器130检查第一至第四管芯的每一个中的第一存储块中最后存储的识别信息。例如,第一至第四管芯的每一个中的第一存储块中最后存储的识别信息是第一管芯的第一存储块中的第五识别信息T5、第二管芯的第一存储块中的第六识别信息T6、第三管芯的第一存储块中的第七识别信息T7以及第四管芯的第一存储块中的第八识别信息T8。
在步骤S805和S807中,控制器130检查所检查到的多条识别信息是否具有连续模式。当检查结果指示识别信息的模式是连续的(即,在步骤S807中为“是”)时,在步骤S809中,控制器130可以通过使用与多条识别信息相对应的检查点信息来执行数据恢复操作。例如,可以看出多条识别信息具有按照第五识别信息T5、第六识别信息T6、第七识别信息T7和第八识别信息T8的顺序的连续模式。相应地,控制器130可以通过使用与第五识别信息T5相对应的第五检查点信息、与第六识别信息T6相对应的第六检查点信息、与第七识别信息T7相对应的第一虚拟检查点信息和与第八识别信息T8相对应的第二虚拟检查点信息来执行数据恢复操作。
当检查结果指示识别信息的模式不连续(即,在步骤S807中为“否”)时,在步骤S811中,控制器130可以检查所检查到的多条识别信息的多条先前识别信息,并且从步骤S805开始重新执行进程。
参照图9至17,描述了根据实施例的应用包括如上所述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备。
图9是示出根据实施例的包括存储器系统的数据处理系统的示图。例如,图9示出应用了存储器系统的存储卡系统6100。
参照图9,存储卡系统6100包括连接器6110、存储器控制器6120和存储器装置6130。
存储器控制器6120与由非易失性存储器(NVM)实施的存储器装置6130连接,以进行访问。例如,存储器控制器6120控制存储器装置6130的读取、写入、擦除和后台操作。存储器控制器6120提供存储器装置6130和主机(未示出)之间的接口,并且驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可以对应于以上参照图1描述的存储器系统110中的控制器130,并且存储器装置6130可以对应于以上参照图1描述的存储器系统110中的存储器装置150。
因此,存储器控制器6120可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口以及错误校正电路的电路。
存储器控制器6120可以通过连接器6110与例如参照图1描述的上述主机102的外部装置通信。例如,如以上参照图1所描述的,存储器控制器6120可以被配置为通过诸如以下的各种通信协议中的至少一种来与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围电路互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi或Wi-Fi和蓝牙。因此,存储器系统和数据处理系统可以应用于有线和/或无线电子装置,特别是移动电子装置。
存储器装置6130可以由诸如电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移力矩磁性RAM(STT-MRAM)的非易失性存储器来实现。
存储器控制器6120和存储器装置6130可以集成到一个半导体装置中以形成固态驱动器(SSD)或诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会卡(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(例如,SM以及SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC以及eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD以及SDHC)或通用闪存(UFS)。
图10是示出根据实施例的包括存储器系统的数据处理系统6200的示图。
参照图10,数据处理系统6200包括由至少一个非易失性存储器(NVM)实现的存储器装置6230以及控制存储器装置6230的存储器控制器6220。数据处理系统6200可以是诸如存储卡(例如,CF、SD和微型SD)的存储介质。存储器装置6230可以对应于以上参照图1描述的存储器系统110中的存储器装置150,并且存储器控制器6220可以对应于以上参照图1描述的存储器系统110中的控制器130。
存储器控制器6220响应于来自主机6210的请求,控制对存储器装置6230的读取、写入和擦除操作。存储器控制器6220包括至少一个CPU6221、例如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及例如NVM接口6225的存储器接口。
CPU 6221可以控制存储器装置6230的一般操作,例如读取、写入、文件系统管理、坏页面管理等。RAM 6222根据CPU 6221的控制来进行操作,并且可以用作工作存储器、缓冲存储器、高速缓存存储器等。在RAM 6222用作工作存储器的情况下,将由CPU6221处理的数据临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM 6222用于缓冲待被从主机6210发送到存储器装置6230或从存储器装置6230发送到主机6210的数据。在RAM6222用作高速缓存存储器的情况下,RAM 6222可用于使存储器装置6230以高速运行。
ECC电路6223生成用于校正从存储器装置6230接收的数据中的失败位或错误位的错误校正码(ECC)。ECC电路6223对待被提供给存储器装置6230的数据执行错误校正编码,并生成具有附加奇偶校验位的数据。奇偶校验位可以被存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行错误校正解码。ECC电路6223可以通过使用奇偶校验位来校正错误。例如,如以上参照图1所描述的,ECC电路6223可以通过使用诸如LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC、TCM以及BCM的各种编码调制中的任意一种来校正错误。
存储器控制器6220通过主机接口6224与主机6210交换数据,并且通过NVM接口6225与存储器装置6230交换数据。主机接口6224可以通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口来与主机6210连接。此外,当通过诸如WiFi或长期演进(LTE)的移动通信协议而实现无线通信功能时,存储器控制器6220可以通过连接到外部装置(例如主机6210或其他外部装置)来发送和接收数据。具体地,由于存储器控制器6220被配置为通过各种通信协议中的至少一种来与外部装置通信,因此存储器系统和数据处理系统可以被应用于有线和/或无线电子装置,特别是移动电子设备。
图11是示出根据实施例的包括存储器系统的数据处理系统的示图。例如,图11示出了应用了存储器系统的固态驱动器(SSD)6300。
参考图11,SSD 6300包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可以对应于以上参照图1描述的存储器系统110中的控制器130。存储器装置6340可以对应于以上参照图1描述的存储器系统110中的存储器装置150。
控制器6320通过多个通道CH1、CH2、CH3、……和CHi与存储器装置6340连接。控制器6320包括至少一个处理器6321、ECC电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325临时存储从主机6310接收的数据或从存储器装置6340中的多个闪存存储器NVM接收的数据,或临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可以由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM以及GRAM的易失性存储器实现,但不限于此,或由诸如FRAM、ReRAM、STT-MRAM以及PRAM的非易失性存储器来实现,但不限于此。虽然在图11中示出了缓冲存储器6325被布置在控制器6320的内部,但是缓冲存储器6325可以被布置在控制器6320的外部。
在编程操作中,ECC电路6322计算待被编程在存储器装置6340中的数据的错误校正码值。在读取操作中,ECC电路6322基于错误校正码值,对从存储器装置6340读取的数据执行错误校正操作。在对失败数据的恢复操作中,ECC电路6322对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324提供针对外部装置(例如主机6310)的接口功能。非易失性存储器接口6326提供针对通过多个通道CH1、CH2、CH3、……和Chi而连接的存储器装置6340的接口功能。
由于使用了每个被应用以上参照图1描述的存储器系统110的多个SSD 6300,因此可以实现例如独立磁盘冗余阵列(RAID)系统的数据处理系统。在RAID系统中,可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过从主机6310接收写入命令来执行编程操作的情况下,RAID控制器可以在多个RAID级别,即多个SSD6300之中,选择与所接收的写入命令的RAID级别信息相对应的至少一个存储器系统,即至少一个SSD 6300,并且可以将与写入命令相对应的数据输出到所选择的SSD 6300。在通过从主机6310接收读取命令来执行读取操作的情况下,RAID控制器可以在多个RAID级别,即多个SSD 6300之中,选择与所接收到的读取命令的RAID级别信息相对应的至少一个存储器系统,即至少一个SSD6300,并且可以将从所选择的SSD 6300输出的数据提供给主机6310。
图12是示出根据实施例的包括存储器系统的数据处理系统的示图。例如,图12示出了应用了存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图12,eMMC 6400包括控制器6430和由至少一个NAND闪速存储器实现的存储器装置6440。控制器6430可以对应于以上参照图1描述的存储器系统110中的控制器130。存储器装置6440可以对应于以上参照图1描述的存储器系统110中的存储器装置150。
控制器6430通过多个通道与存储器装置6440连接。控制器6430包括至少一个内核6432、主机接口(I/F)6431和存储器接口,即NAND接口(I/F)6433。
内核6432控制eMMC 6400的一般操作。主机接口6431提供控制器6430和主机6410之间的接口功能。NAND接口6433提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以是并行接口,例如以上参照图1所描述的MMC接口,并且主机接口6431也可以是串行接口,例如超高速(UHS)-I/UHS-II和UFS接口
图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描述的存储器系统110。例如,在各个UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以以上参照图10至12中描述的数据处理系统6200、SSD 6300或eMMC 6400的形式实现,且UFS卡6530、6630、6730和6830可以以上参照图9描述的存储卡系统6100的形式实现。
在各个UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过例如移动行业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)的通用闪存(UFS)接口来执行通信操作。UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过除UFS协议以外的其他协议,例如诸如通用串行总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD以及微型SD的各种卡协议,来执行通信操作。
在图13所示的UFS系统6500中,UniPro存在于主机6510、UFS装置6520和UFS卡6530的每一个中。主机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卡可以以并联或星型形式的布置联接到主机6510。而且,多个UFS卡可以以并联、星型、串联或链式形式的布置中的任何一种联接至UFS装置6520。
在图14所示的UFS系统6600中,UniPro存在于主机6610、UFS装置6620和UFS卡6630的每一个中。主机6610通过执行交换操作的交换模块6640,例如在UniPro中执行例如L3交换的链路层交换的交换模块6640,来执行与UFS装置6620或UFS卡6630的通信。UFS装置6620和UFS卡6630可以通过交换模块6640在UniPro中的链路层交换来执行通信操作。虽然作为示例描述了一个UFS装置6620和一个UFS卡6630联接到交换模块6640。但是应该注意,多个UFS装置和多个UFS卡可以以并联或星型形式的布置联接到交换模块6640。而且,多个UFS卡可以以并联、星型、串联或链式形式的布置中的任何一种联接到UFS装置6620。
在图15所示的UFS系统6700中,UniPro存在于主机6710、UFS装置6720和UFS卡6730的每一个中。主机6710通过执行交换操作的交换模块6740,例如在UniPro中执行例如L3交换的链路层交换的交换模块6740,来执行与UFS装置6720或UFS卡6730的通信。UFS装置6720和UFS卡6730可以通过交换模块6740在UniPro中的链路层交换来执行通信操作。交换模块6740可以被实现为在UFS装置6720内部或外部的一个模块。虽然作为示例描述了一个UFS装置6720和一个UFS卡6730联接到交换模块6740。但是应当注意,分别实现有交换模块6740和UFS装置6720的多个模块可以以并联或星型的布置联接到主机6710。另外,各个模块可以以串联或链型形式的布置联接,或者多个UFS卡可以以并联或星型形式的布置联接至交换模块6740。
在图16所示出的UFS系统6800中,M-PHY和UniPro存在于在主机6810、UFS装置6820和UFS卡6830的每一个中。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。而且,多个UFS卡可以以并联、星型、串联或链式形式的布置中的任何一种联接至一个UFS装置6820。
图17是示出根据实施例的包括存储器系统的数据处理系统的示图。例如,图17示出了应用了存储器系统的用户系统6900。
参照图17,用户系统6900包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
应用处理器6930驱动包括在用户系统6900和操作系统(OS)中的电路。例如,应用处理器6930可以包括用于控制包括在用户系统6900中的电路的控制器、接口、图形引擎等。应用处理器6930可以以片上系统(SoC)设置。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可以包括易失性随机存取存储器,诸如DRAM、SDRAM、DDRSDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM以及LPDDR3 SDRAM,或非易失性随机存取存储器,诸如PRAM、ReRAM、MRAM以及FRAM。例如,应用处理器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闪存以及3D NAND闪存。另外,可以将存储模块6950设置为可移动存储介质,诸如用户系统6900的存储卡和外部驱动器。也就是说,存储模块6950可以对应于以上参照图1描述的存储器系统110,且可以被实现为以上参照图12至16中描述的上述SSD、eMMC和UFS。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器的用户输出接口。
根据实施例,在以上参照图1描述的存储器系统110被应用于用户系统6900的移动电子装置的情况下,如上所述,应用处理器6930控制移动电子装置的一般操作,并且网络模块6940用作控制与外部装置的有线和/或无线通信的通信模块。作为移动电子装置的显示器和触摸模块的用户接口6910显示由应用处理器6930处理的数据或支持来自触摸面板的数据输入。
根据实施例,由于没有对多个管芯执行屏障操作而是执行检查点操作,因此可以减少写入操作与检查点操作之间的空闲时间,从而提高交叉性能。
另外,当对多个管芯执行多个检查点操作时,生成与检查点操作相对应的多个识别信息。相应地,当发生SPO时,可以通过使用检查点操作的识别信息来高效地恢复数据。
已经针对特定的实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离所附权利要求书所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种存储器系统,包括:
多个管芯,包括多个存储块,所述多个管芯中的每个包括第一区域和第二区域;以及
控制器,包括存储多条检查点信息的存储器和处理器,
其中所述处理器包括:
检查点管理器,通过根据所述多条检查点信息的大小,对所述多个存储块编程识别信息和检查点信息来执行检查点操作;以及
恢复管理器,当发生突然断电即SPO时,通过使用在所述多个管芯中的每个的存储块中最后编程的最后检查点信息和最后识别信息来恢复由于SPO而停止的操作。
2.根据权利要求1所述的存储器系统,其中所述检查点操作包括第一检查点操作和第二检查点操作,其中所述第一检查点操作包括基于所述多条检查点信息,将存储在所述存储器中的、包括映射段的映射信息的相应检查点信息以及能够识别所述检查点信息的识别信息编程到所述多个管芯中的存储块中的操作,以及所述第二检查点操作包括将虚拟检查点信息以及能够识别所述虚拟检查点信息的识别信息编程到一个或多个未被执行所述第一检查点操作的其余管芯中的存储块中的操作。
3.根据权利要求1所述的存储器系统,其中所述检查点信息与后台操作或根据主机的请求的操作相关联,并且包括必要检查点信息和虚拟检查点信息。
4.根据权利要求1所述的存储器系统,其中所述检查点管理器包括:
执行时间确定电路,通过周期性地检查第一检查点操作的执行时间来确定是否执行所述第一检查点操作;以及
执行电路,根据所述多条检查点信息的大小来执行所述第一检查点操作或执行所述第一检查点操作和第二检查点操作。
5.根据权利要求4所述的存储器系统,其中所述第一检查点操作的执行时间包括以下中的任何一种:所述第一区域中的存储块改变为关闭块的情况,以及对应于预定大小来对所述第一区域中的存储块执行编程操作的情况。
6.根据权利要求4所述的存储器系统,其中所述执行电路检查所述存储器中的所述多条检查点信息的大小,并且使用所检查到的大小和预定大小来检查用于执行所述第一检查点操作的目标管芯的数量。
7.根据权利要求6所述的存储器系统,其中所述执行电路以交叉方式来执行所述第一检查点操作,以对所述多个管芯之中的一个或多个管芯编程必要检查点信息和相应的识别信息,所述一个或多个管芯对应于所检查到的目标管芯的数量。
8.根据权利要求7所述的存储器系统,其中所述执行电路在执行所述第一检查点操作之后检查所述目标管芯的数量是否小于所述多个管芯的数量,并且当所述目标管芯的数量小于所述多个管芯的数量时,通过对所述多个管芯之中的、除了已经执行所述第一检查点操作的目标管芯之外的一个或多个其余目标管芯执行第二检查点操作,来编程虚拟检查点信息和与所述虚拟检查点信息相对应的识别信息。
9.根据权利要求1所述的存储器系统,其中所述恢复管理器检查所述最后识别信息,然后确定所检查到的识别信息的模式是否连续。
10.根据权利要求9所述的存储器系统,其中当所检查到的识别信息的模式是连续时,所述恢复管理器通过使用所检查到的识别信息和与所述识别信息相对应的检查点信息来恢复由于SPO而停止的操作,当所检查到的识别信息的模式是随机时,通过检查所检查到的识别信息的先前识别信息来重新检查所述识别信息的模式。
11.一种存储器系统的操作方法,所述存储器系统包括控制器和多个管芯,所述控制器包括存储器和处理器,以及所述多个管芯包括多个存储块,所述操作方法包括:
根据存储在所述存储器中的检查点信息的大小,计算一个或多个目标管芯的数量以执行第一检查点操作;
通过根据所计算的目标管芯的数量,对所述多个所述管芯之中的一个或多个管芯中的存储块顺序地执行所述第一检查点操作,来编程必要检查点信息和与所述必要检查点信息相对应的识别信息;
检查所计算的目标管芯的数量是否等于所述多个管芯的数量;以及
当所计算的目标管芯的数量小于所述多个管芯的数量时,通过对所述多个管芯之中的、除所述目标管芯之外的其余目标管芯执行第二检查点操作,来编程虚拟检查点信息和与所述虚拟检查点信息相对应的识别信息。
12.根据权利要求11所述的操作方法,进一步包括:当发生SPO时,通过使用在所述多个管芯的每个中的存储块中最后编程的最后检查点信息和最后识别信息,来恢复由于突然断电即SPO而停止的操作。
13.根据权利要求11所述的操作方法,其中所述必要检查点信息和所述虚拟检查点信息包括与后台操作或根据主机请求的操作相关联的信息。
14.根据权利要求11所述的操作方法,其中进一步包括:在执行所述第一检查点操作之前,通过周期性地检查所述第一检查点操作的执行时间来确定是否执行所述第一检查点操作。
15.根据权利要求14所述的操作方法,其中所述第一检查点操作的执行时间包括以下中的任何一种:第一区域中的存储块改变为关闭块的情况,以及对应于预定大小来对所述第一区域中的存储块执行编程操作的情况。
16.根据权利要求11所述的操作方法,其中检查所述目标管芯的数量以执行所述第一检查点操作包括:检查所述存储器中的多条检查点信息的大小,并且使用所检查到的大小和针对每个管芯的预定大小来检查所述目标管芯的数量以执行所述第一检查点操作。
17.根据权利要求12所述的操作方法,进一步包括:当发生SPO时,检查与所述最后检查点信息相对应的识别信息,然后确定所检查到的识别信息的模式是否连续。
18.根据权利要求17所述的操作方法,进一步包括:当所检查到的识别信息的模式是连续时,通过使用所检查到的识别信息和与所述识别信息相对应的检查点信息来恢复由于SPO而停止的操作,当所检查到的识别信息的模式是随机时,通过检查所检查到的识别信息的先前识别信息来重新检查所述识别信息的模式。
19.一种存储器系统,包括:
多个管芯,所述多个管芯中的每个包括用于存储多条检查点信息的多个存储块;以及
控制器:
将所述多条检查点信息顺序地编程在所述多个管芯中的相应存储块中;
从所述多个管芯中的最后编程存储块中读取多条检查点信息;
确定所读取的多条检查点信息是否连续;以及
当确定所读取的多条检查点信息是连续时,使用所读取的多条检查点信息执行恢复操作。
20.根据权利要求19所述的存储器系统,进一步包括:当确定所读取的多条检查点信息是不连续时,使用所读取的多条检查点信息和所读取的多条检查点信息的先前项目中的至少一个来执行所述恢复操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0159842 | 2018-12-12 | ||
KR1020180159842A KR102675371B1 (ko) | 2018-12-12 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309518A true CN111309518A (zh) | 2020-06-19 |
CN111309518B CN111309518B (zh) | 2023-12-26 |
Family
ID=70859112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023429.1A Active CN111309518B (zh) | 2018-12-12 | 2019-10-25 | 存储器系统和存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11144406B2 (zh) |
CN (1) | CN111309518B (zh) |
DE (1) | DE102019129561A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210098728A (ko) | 2020-02-03 | 2021-08-11 | 삼성전자주식회사 | 적층형 메모리 장치 및 상기 적층형 메모리 장치의 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461675A (zh) * | 2013-09-13 | 2015-03-25 | 国际商业机器公司 | 用于执行检查点的方法和系统 |
KR20150082010A (ko) * | 2014-01-07 | 2015-07-15 | 삼성전자주식회사 | 불휘발성 메모리 파일 시스템에서의 마이크로 저널링 방법 |
US20170337001A1 (en) * | 2016-05-20 | 2017-11-23 | SK Hynix Inc. | Memory system and operating method of memory system |
CN107818057A (zh) * | 2016-09-13 | 2018-03-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20180081552A1 (en) * | 2016-09-19 | 2018-03-22 | SK Hynix Inc. | Memory system and operating method thereof |
KR20180031851A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140128821A (ko) | 2013-04-29 | 2014-11-06 | 삼성전자주식회사 | 아토믹 라이트 완료 식별자를 ip 코어별로 생성할 수 있는 데이터 저장 장치의 동작 방법과 이를 포함하는 시스템의 동작 방법 |
KR102468737B1 (ko) * | 2017-12-19 | 2022-11-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102583810B1 (ko) * | 2018-05-15 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200011832A (ko) * | 2018-07-25 | 2020-02-04 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 데이터 처리 방법 및 장치 |
KR102593757B1 (ko) * | 2018-09-10 | 2023-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200031886A (ko) * | 2018-09-17 | 2020-03-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200058867A (ko) * | 2018-11-20 | 2020-05-28 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 |
-
2019
- 2019-08-26 US US16/550,536 patent/US11144406B2/en active Active
- 2019-10-25 CN CN201911023429.1A patent/CN111309518B/zh active Active
- 2019-11-01 DE DE102019129561.0A patent/DE102019129561A1/de not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461675A (zh) * | 2013-09-13 | 2015-03-25 | 国际商业机器公司 | 用于执行检查点的方法和系统 |
KR20150082010A (ko) * | 2014-01-07 | 2015-07-15 | 삼성전자주식회사 | 불휘발성 메모리 파일 시스템에서의 마이크로 저널링 방법 |
US20170337001A1 (en) * | 2016-05-20 | 2017-11-23 | SK Hynix Inc. | Memory system and operating method of memory system |
CN107818057A (zh) * | 2016-09-13 | 2018-03-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20180081552A1 (en) * | 2016-09-19 | 2018-03-22 | SK Hynix Inc. | Memory system and operating method thereof |
KR20180031851A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20200192768A1 (en) | 2020-06-18 |
CN111309518B (zh) | 2023-12-26 |
US11144406B2 (en) | 2021-10-12 |
DE102019129561A1 (de) | 2020-06-18 |
KR20200072081A (ko) | 2020-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947358B (zh) | 存储器系统及其操作方法 | |
US20190369918A1 (en) | Memory system and operating mehtod thereof | |
CN110825318B (zh) | 控制器及其操作方法 | |
CN108268212B (zh) | 控制器及操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN109935251B (zh) | 存储器系统、其操作方法以及包括其的数据处理系统 | |
US11144449B2 (en) | Memory system and operation method thereof | |
US10747469B2 (en) | Memory system and operating method of the same | |
CN108427536B (zh) | 存储器系统及其操作方法 | |
CN108733616B (zh) | 包括多处理器的控制器及其操作方法 | |
US10168907B2 (en) | Memory system and operating method thereof | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
US20200019507A1 (en) | Controller and operating method thereof | |
US20190347193A1 (en) | Memory system and operating method thereof | |
CN111435334B (zh) | 在存储器系统中检查有效数据的设备和方法 | |
CN110888819B (zh) | 存储器系统及其操作方法 | |
CN110895447B (zh) | 控制器及其操作方法 | |
US20200150867A1 (en) | Memory system and operation method thereof | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
US10877690B2 (en) | Memory system sharing capacity information with host and operating method thereof | |
CN109753233B (zh) | 存储器系统及其操作方法 | |
US10528465B2 (en) | Memory system and operating method thereof | |
CN109254722B (zh) | 控制器及其操作方法 | |
CN111309518B (zh) | 存储器系统和存储器系统的操作方法 | |
US10908836B2 (en) | Memory system and operation 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |