CN109933468A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN109933468A CN109933468A CN201810939980.XA CN201810939980A CN109933468A CN 109933468 A CN109933468 A CN 109933468A CN 201810939980 A CN201810939980 A CN 201810939980A CN 109933468 A CN109933468 A CN 109933468A
- Authority
- CN
- China
- Prior art keywords
- data
- recovery operation
- controller
- search
- value
- 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
- 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/1441—Resetting or repowering
-
- 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/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- 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/1417—Boot up procedures
-
- 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/0614—Improving the reliability of storage 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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统,该存储器系统可包括:非易失性存储器装置,包括多个存储块,多个存储块中的每个包括多个页面,并且多个存储块之中的一个子集被作为系统区域进行管理,并且多个存储块之中的剩余存储块被作为普通区域进行管理,并且控制器可将用于控制非易失性存储器装置的系统数据存储在系统区域中,并且将在主机中使用的启动数据和在对非易失性存储器装置的控制操作中更新的正常数据存储在普通区域中,控制器可每当完成存储启动数据之中的N个启动数据时执行检查点操作以及每当完成对非易失性存储器装置的控制操作时执行检查点操作,“N”为自然数。
Description
相关申请的交叉引用
本申请要求于2017年12月19日提交的申请号为10-2017-0174906的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
各个实施例涉及一种存储器系统。特别地,实施例涉及一种能够存储在主机中使用的启动数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘驱动器相比,因为存储器系统不具有移动部件,所以它们可提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够有效地存储和管理主机中使用的启动数据的存储器系统及其操作方法。
在实施例中,一种存储器系统可包括:非易失性存储器装置,包括多个存储块,多个存储块中的每个包括多个页面,并且多个存储块之中的一个子集被作为系统区域进行管理,并且且多个存储块之中的剩余存储块被作为普通区域进行管理,并且控制器可将用于控制非易失性存储器装置的系统数据存储在系统区域中,并且将在主机中使用的启动数据和在对非易失性存储器装置的控制操作中更新的正常数据存储在普通区域中,控制器可每当完成存储启动数据之中的N个启动数据时执行检查点操作以及每当完成对非易失性存储器装置的控制操作时执行检查点操作,“N”为自然数。
控制器可通过执行检查点操作,将最新存储的N个启动数据的元数据或在对非易失性存储器装置的控制操作中最新更新的正常数据的元数据存储在系统区域中。
响应于存储器系统在突然断电(SPO)之后被通电,控制器可通过参考系统区域,来搜索在最新执行的检查点操作之后存储在普通区域中的数据以执行恢复操作,控制器可对搜索到的正常数据执行恢复操作,并且控制器可不对搜索到的启动数据执行恢复操作。
在恢复操作中,控制器可以页面为单位搜索存储在普通区域中的数据,可对存储在搜索页面中的数据之中的正常数据执行恢复操作,并且不对搜索到的数据之中的启动数据执行恢复操作。
响应于存储器系统在突然断电(SPO)之后被通电,控制器可通过参考系统区域,搜索在最新执行的检查点操作之后存储在普通区域中的数据以执行恢复操作,控制器可对搜索到的正常数据执行恢复操作,控制器可对在预定搜索计数内搜索到的启动数据执行恢复操作,并且控制器可不对在预定搜索计数之后搜索到的启动数据执行恢复操作。
在恢复操作中,控制器可以页面为单位搜索存储在普通区域中的数据,当在搜索页面数量小于预定搜索计数的状态下搜索到启动数据时,控制器可对搜索到的启动数据执行恢复操作,并且当在搜索页面数量大于预定搜索计数的状态下搜索到启动数据时,控制器可不对搜索到的启动数据执行恢复操作。
当响应于存储器系统在发生SPO之后被通电而执行恢复操作时,控制器可检查完成恢复操作所需的恢复操作时间比恢复限制时间短多少,控制器可根据检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,并且控制器可根据检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
当恢复限制时间变为比恢复操作时间相对长时,控制器可相对增加“N”的值和预定搜索计数的值,并且当恢复限制时间变为比恢复操作时间相对短时,控制器可相对减少“N”的值和预定搜索计数的值。
控制器可在每个预选时间检查存储在系统区域中的有效数据的百分比,控制器可根据检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,并且控制器可根据检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
当存储在系统区域中的有效数据的百分比变得相对低时,控制器可相对增加“N”的值和预定搜索计数的值,并且当存储在系统区域中的有效数据的百分比变得相对高时,控制器可相对减少“N”的值和预定搜索计数的值。
在实施例中,一种存储器系统的操作方法,该存储器系统包括非易失性存储器装置,其中非易失性存储器装置包括多个存储块,多个存储块中的每个包括多个页面,并且多个存储块之中的一个子集被作为系统区域进行管理,并且多个存储块之中的剩余存储块被作为普通区域进行管理,该方法可包括:将用于控制非易失性存储器装置的系统数据存储在系统区域中,并且将在主机中使用的启动数据和在对非易失性存储器装置的控制操作中更新的正常数据存储在普通区域中,每当完成存储启动数据之中的N个启动数据时执行检查点操作,并且每当完成对非易失性存储器装置的控制操作时执行检查点操作,“N”为自然数。
执行检查点操作可包括:将最新存储的N个启动数据的元数据或在非易失性存储器装置的控制操作中最新更新的正常数据的元数据存储在系统区域中。
该方法可进一步包括:响应于存储器系统在突然断电(SPO)之后被通电,通过参考系统区域,对在最新执行的检查点操作之后存储在普通区域中的数据执行第一搜索以执行恢复操作;以及选择性对在第一搜索中搜索到的正常数据执行恢复操作,并且不对在第一搜索中搜索到的启动数据执行恢复操作。
第一搜索可包括:在恢复操作中以页面为单位搜索存储在普通区域中的数据,并且针对第一搜索的选择性执行恢复操作可包括:对存储在第一搜索中的搜索页面中的数据之中的正常数据执行恢复操作,并且不对在第一搜索中搜索到的数据之中的启动数据执行恢复操作。
该方法可进一步包括:响应于存储器系统在突然断电(SPO)之后被通电,通过参考系统区域对在最新执行的检查点操作之后存储在普通区域中的数据执行第二搜索以执行恢复操作;以及选择性对在第二搜索中搜索到的正常数据执行恢复操作,对在第二搜索中在预定搜索计数内搜索到的启动数据执行恢复操作,并且不对在第二搜索中在预定搜索计数之后搜索到的启动数据执行恢复操作。
第二搜索可包括:在恢复操作中以页面为单位搜索存储在普通区域中的数据,并且针对第二搜索的选择性执行恢复操作包括:当在第二搜索中的搜索页面数量小于预定搜索计数的状态下搜索到启动数据时,对搜索到的启动数据执行恢复操作,并且当在第二搜索中的搜索页面数量大于预定搜索计数的状态下搜索到启动数据时,不对搜索到的启动数据执行恢复操作。
该方法可进一步包括:在第一检查操作中,当响应于存储器系统在发生SPO之后被通电而执行恢复操作时,检查完成恢复操作所需的恢复操作时间比恢复限制时间短多少;以及在第一调整操作中,根据第一检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,并且根据第一检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
第一调整可包括:当根据第一检查结果,恢复限制时间变为比恢复操作时间相对长时,相对增加“N”的值和预定搜索计数的值;并且当根据第一检查结果,恢复限制时间变为比恢复操作时间相对短时,相对减少“N”的值和预定搜索计数的值。
该方法可进一步包括:在第二检查操作中,在每一预选时间检查存储在系统区域中的有效数据的百分比;以及在第二调整操作中,根据第二检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,并且根据第二检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
第二调整可包括:当根据第二检查行为的结果,存储在系统区域中的有效数据的百分比变为相对低时,相对增加“N”的值和预定搜索计数的值;并且当根据第二检查行为的结果,存储在系统区域中的有效数据的百分比变得相对高时,相对减小“N”的值和预定搜索计数的值。
在实施例中,存储器系统可包括:非易失性存储器装置,包括多个存储块,多个存储块中的每一个包括多个页面,其中多个存储块被划分成两个不同的区域:用于系统数据的第一区域,和用于启动数据和操作数据的第二区域;以及控制器,可执行与启动数据和操作数据中的至少一个有关的检查点操作,当存在由检查点操作更新的启动数据和操作数据中的至少一个时,控制器可搜索启动数据和操作数据中的至少一个,并且基于搜索到的数据来确定是否执行恢复操作。
附图说明
从以下参照附图的详细描述中,本发明特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5和图6是示出根据本公开的实施例的存储器系统的示例的框图;并且
图7至图15是示意性示出根据本发明的各个实施例的图1所示的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应当注意的是,本发明可以包括所公开的实施例的变型的其它形式来实施,所以不应被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并且向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。而且,在整个本公开中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的不同参考不一定针对相同的实施例。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以识别各种元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一个具有相同或相似名称的元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,反之亦然,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
作为示例而非限制,主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器系统110可响应于主机102的请求来存储用于主机102的数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和/或微型-MMC。SD卡可包括迷你-SD卡和/或微型-SD卡。
存储器系统110可通过各种类型的存储装置来实现。包括在存储器系统110的存储装置的非限制性示例可包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可存储用于主机120的数据。控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,其可被包括在如上所述的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输/接收信息的装置、配置家庭网络的各种电子装置中的一个、配置计算机网络的各种电子装置中的一个、配置远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或配置计算系统的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供给电力,也可以保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据。存储器装置150可通过读取操作将存储在其中的数据输出给主机102。存储器装置150可包括多个存储器管芯(未示出),每一个存储器管芯包括多个平面(未示出)。每一个平面可包括多个存储块152、154、156……(在下文中,称为“存储块152至156”),其每一个包括多个页面。页面中的每一个可包括联接到字线的多个存储器单元。
控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。针对该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括经由内部总线可操作地彼此联接或电通信的主机接口(I/F)132、处理器134、错误校正码(ECC)部件138、电源管理单元(PMU)140、诸如NAND闪速控制器(NFC)的存储器接口(I/F)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中使用和提供的电力。
存储器接口142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器接口142可在处理器134的控制下生成用于存储器装置150的控制信号并处理输入存储器装置150的数据。存储器接口142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器系统110和控制器130的工作存储器。存储器144可存储用于操作存储器系统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,例如BLOCK0(210)、BLOCK1(220)、BLOCK2(230)至BLOCKN-1(240),其每一个可包括例如2M个页面的多个页面,其数量可根据电路设计而变化。包含在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可包括多个三层单元(TLC),每一个三层单元存储3位数据。在另一实施例中,存储器装置可包括多个四层单元(QLC),每一个四层单元存储4位数据。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每一个列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可通过能够存储多位的数据信息的MLC来实施。单元串340中的每一个可电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后的位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器。
存储器装置150可进一步包括电压供给块310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给310的电压产生操作可由控制电路(未示出)来控制。在控制电路的控制下,电压供给310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供给所选择的字线和可能需要的未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来将电流或电压提供给位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)
图4是示出存储器装置150的示例性3D结构的示意图。
存储器150可由2D或3D存储器装置来实现。具体地,如图4所示,存储器装置150可由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括每一个具有3D结构(或竖直结构)的多个存储块BLK0至BLKN-1。
参照图5至图8详细描述了根据实施例的对存储器系统中的存储器装置150的数据处理,特别是执行与从主机102接收的命令相对应的命令操作的数据处理操作以及数据管理操作。
图5和图6是示出根据本公开的实施例的存储器系统的示例的框图。
参照图5和图6,示出了包括主机102和存储器系统110的数据处理系统100的配置,该数据处理系统100类似于图1所示的数据处理系统100。
如上参照图1所述,图5和图6的存储器系统110可包括控制器130和非易失性存储器装置150。
如上参照图1所述,非易失性存储器装置150可包括多个存储块MEMORY BLOCK<1:10>。
作为参考,虽然在图5中示出了存储器系统110中仅包括一个非易失性存储器装置150的配置,但是这是为了说明清楚和易于解释;可包括更多数量的非易失性存储器装置。类似地,本发明不限于如图5所示的非易失性存储器装置150中包括10个存储块MEMORYBLOCK<1:10>的配置;可包括更多数量的存储块。虽然未在图5中直接示出,但如上参考图2所示,存储块MEMORY BLOCK<1:10>中的每一个包括多个页面。
在图5中,控制器130可包括在图1中示出的主机接口132、处理器134、ECC部件138、电源管理单元140、NAND闪存控制器142和存储器144。为了更清楚地示出其它特征,图5的控制器130中省略了这些元件。
详细地,非易失性存储器装置150包括多个存储块MEMORY BLOCK<1:10>,其每一个包括多个页面(未示出)。在存储块MEMORY BLOCK<1:10>之中,预定数量的存储块,例如MEMORY BLOCK<1,6>被作为系统区域SYS_AREA进行管理,而剩余的存储块,例如MEMORYBLOCK<2:5,7:10>被作为普通区域NM_AREA进行管理。也就是说,非易失性存储器装置150中的存储块MEMORY BLOCK<1:10>被划分成系统区域SYS_AREA和普通区域NM_AREA,以由控制器130进行管理。
控制器130将用于控制非易失性存储器装置150的系统数据SYS_DATA存储在非易失性存储器装置150的系统区域SYS_AREA中(步骤1301)。控制器130将主机102中使用的启动数据BOOT_DATA存储在非易失性存储器装置150的普通区域NM_AREA中(步骤1302)。控制器130将在对非易失性存储器装置150的控制操作中更新的正常数据NM_DATA存储在非易失性存储器装置150的普通区域NM_AREA中(步骤1302)。也就是说,控制器130将启动数据BOOT_DATA和正常数据NM_DATA两者存储在非易失性存储器装置150的普通区域NM_AREA中。
系统数据SYS_DATA包括控制存储器系统110的一般操作所需的数据,并且可包括固件数据、映射数据等。
作为示例而非限制,可以如下使用系统数据SYS_DATA。当向存储器系统110供电时,存储器系统110通电。当控制器130通电时,处理器134可加载存储在非易失性存储器装置150的系统区域SYS_AREA中的系统数据SYS_DATA。处理器134可将系统数据SYS_DATA挂载在控制器130的存储器144中。处理器134可基于挂载的系统数据SYS_DATA来控制非易失性存储器装置150的操作。使用系统数据SYS_DATA的这种方法是一个示例。根据设计需求或用户要求,可以各种其它方式使用系统数据SYS_DATA。
启动数据BOOT_DATA可包括编程数据,该编程数据可从诸如存储器系统110的外部存储器读取操作系统并将操作系统挂载在主机102中的主存储器(未示出)中,使得当启动或开启由诸如计算机的电子设备表示的主机102时,用户可使用该电子设备。
如果存储在存储器系统110中的启动数据BOOT_DATA未在预设时间内被挂载在主机102的主存储器中,则主机102的启动失败。
为避免失败,传统方法包括:将启动数据BOOT_DATA存储在特定区域中,其中该特定区域被称为启动分区,然后通过使用存储的用于快速挂载操作和操作可靠性的启动加载程序映像来启动主机。换言之,传统地,除系统区域SYS_AREA和普通区域NM_AREA以外,存储器系统中进一步包括本公开不需要的启动区域,并且启动数据BOOT_DATA被存储在启动区域中并且被管理。
然而,如果启动数据BOOT_DATA如在传统技术中一样被存储在单独区域,诸如启动区域/分区中,则当由于数据损坏、调试、存储器初始化、时钟初始化等而导致应当对启动数据BOOT_DATA进行更新时,系统管理较为复杂。
在根据本公开的实施例的存储器系统110中,提供了一种方法,其中启动数据BOOT_DATA与正常数据NM_DATA一起被存储在普通区域NM_AREA中并且被管理(步骤1302)。即,根据本公开的实施例的存储器系统110不需要另外的单独区域以用于存储启动数据BOOT_DATA。启动数据BOOT_DATA和正常数据NM_DATA都可被存储在普通区域NM_AREA中(步骤1302)。
在根据本公开的实施例的存储器系统110中,与传统方法相比,区别或区分用于管理启动数据BOOT_DATA的方法和用于管理正常数据NM_DATA的方法不会影响启动数据BOOT_DATA的高可靠性,而是保持启动数据BOOT_DATA的高可靠性。
详细地,控制器130可将在对非易失性存储器装置150的控制操作中更新的正常数据NM_DATA存储在非易失性存储器装置150的普通区域NM_AREA中(步骤1302)。
对非易失性存储器装置150的控制操作不仅可包括用于读取/写入/擦除非易失性存储器装置150中的数据的前台操作,而且可包括诸如垃圾收集/读取回收的后台操作。也就是说,控制操作可包括由控制器130控制的非易失性存储器装置150的任何和所有操作。
在本公开中,可在对非易失性存储器装置150的控制操作期间更新正常数据NM_DATA。更新正常数据NM_DATA的控制操作的非限制性示例可包括如下操作:将从主机102与写入请求一起输入的正常数据NM_DATA存储在非易失性存储器装置150的普通区域NM_AREA中的操作,以及响应于主机102的请求或者由控制器130确定,来将存储在非易失性存储器装置150的普通区域NM_AREA中的正常数据NM_DATA复制或移动到普通区域NM_AREA中的操作。
每当完成对非易失性存储器装置150的控制操作时,控制器130执行检查点(CP)操作。每次在实现或完成对非易失性存储器装置150的控制操作时,控制器130执行检查点(CP)操作,而不考虑从对非易失性存储器装置150的控制操作开始的时间起,存储在普通区域NM_AREA中的正常数据NM_DATA的数量或总量(步骤1304)。因此,存储在普通区域NM_AREA中的正常数据NM_DATA的数量和是否执行检查点(CP)操作两者彼此不相关。
作为示例而非限制,在开始了对非易失性存储器装置150的控制操作之后,控制器130可将完全存储在普通区域NM_AREA中的更新的正常数据NM_DATA的元数据META_DATA仅管理在控制器130中的易失性存储器144中。每次在完成对非易失性存储器装置150的控制操作时,控制器130通过检查点(CP)操作,将已在控制器130中的易失性存储器144中被管理的、完全存储在普通区域NM_AREA中的更新的正常数据NM_DATA的元数据META_DATA移动或复制到非易失性存储器装置150的系统区域SYS_AREA。
每当存储了启动数据BOOT_DATA之中的N个启动数据时,控制器130可执行检查点(CP)操作。即,控制器130可对从主机102输入并被完全存储在普通区域NM_AREA中的启动数据BOOT_DATA的数量进行检查或计数。当检查或计数的数量为“N”时,控制器130可执行检查点(CP)操作(步骤1303)。检查点(CP)操作对检查或计数的数量进行初始化。因此,存储在普通区域NM_AREA中的启动数据BOOT_DATA的数量和是否执行检查点(CP)操作两者彼此相关。
作为示例而非限制,直到在执行检查点(CP)操作之后从主机102输入的、被完全存储在普通区域NM_AREA中的启动数据BOOT_DATA的数量变为N之前,控制器130仅将启动数据BOOT_DATA的元数据META_DATA存储、更新或管理在控制器130的易失性存储器144中。然后,当第N启动数据BOOT_DATA被完全存储在普通区域NM_AREA中时,控制器130执行检查点(CP)操作以将最新更新且完全存储在普通区域NM_AREA中的N个启动数据BOOT_DATA的元数据META_DATA存储在系统区域SYS_AREA中。此处,“N”为自然数。
例如,如果“N”为1,则可响应于从主机102输入并被完全存储在普通区域NM_AREA中的单个启动数据BOOT_DATA来执行检查点(CP)操作。
又例如,当“N”为3时,可响应于每三个从主机102输入并被完全存储在普通区域NM_AREA中的启动数据BOOT_DATA来执行检查点(CP)操作。
以这种方式,根据“N”的值,可以选择性地确定存储在普通区域NM_AREA中的启动数据BOOT_DATA的数量或总量与是否执行检查点(CP)操作之间的关系。当“N”的值较小时,可比“N”的值较大时更频繁地执行检查点(CP)操作。
虽然可根据系统需求或用户要求而固定“N”的值,但也可以在存储器系统110的操作过程中根据主机102或控制器130的确定来动态地调整“N”的值。
当存储器系统110在发生SPO(突然断电)后通电时,控制器130基于或参考系统区域SYS_AREA而搜索在最新执行的检查点(CP)操作之后存储在普通区域NM_AREA中的数据,以便执行恢复操作(步骤1305)。换言之,在存储器系统110在发生SPO后通电的情况下,控制器130通过发生SPO之前的检查点(CP)操作来搜索无法保证可靠性的数据,以执行恢复操作。
预先并不知道在控制器130的搜索操作1305中将搜索到正常数据NM_DATA还是启动数据BOOT_DATA。在搜索到的数据是启动数据BOOT_DATA的情况下,控制器130通过使用以下两种方法中的一种来执行恢复操作。
在第一种方法中,对在控制器130的搜索操作1305中搜索到的正常数据NM_DATA执行恢复操作。不无条件地对在控制器130的搜索操作135中搜索到的启动数据BOOT_DATA执行恢复操作(步骤1306)。
即,在第一种方法中,控制器130不尝试对启动数据BOOT_DATA进行恢复操作,其中启动数据BOOT_DATA被存储在普通区域NM_AREA中,但是它们的元数据META_DATA未通过检查点(CP)操作而被存储在系统区域SYS_AREA中。相反地,在第一种方法中,在搜索操作(步骤1305)中搜索到的数据仅是正常数据NM_DATA的情况下,控制器130按照它们的搜索顺序执行恢复操作。
控制器130在普通区域NM_AREA中以页面为单位搜索数据以进行恢复操作。因此,在第一种方法中,在通过搜索操作(步骤1305)搜索到的页面中存储的数据之中存在启动数据BOOT_DATA的情况下,控制器130不尝试恢复操作。将在搜索操作(步骤1305)中搜索到的、存储启动数据BOOT_DATA的页面被转换成无效状态。相反地,在第一种方法中,对于存储通过搜索操作(步骤1305)搜索到的数据之中的正常数据NM_DATA的页面,控制器130按照它们的搜索顺序执行恢复操作。因此,恢复操作执行成功的、存储正常数据NM_DATA的页面保持有效状态,而恢复操作执行失败的、存储正常数据NM_DATA的页面被转换成无效状态。
在第二种方法中,对在控制器130的搜索操作(步骤1305)中搜索到的正常数据NM_DATA执行恢复操作(步骤1307a),根据搜索结果,对在预定搜索计数内搜索到的启动数据BOOT_DATA执行恢复操作(步骤1307b),并且根据搜索结果,不对在预定搜索计数之后搜索到的启动数据BOOT_DATA执行恢复操作(步骤1307c)。
在第二种方法中,当启动数据BOOT_DATA被存储在普通区域NM_AREA中,但是它们的元数据META_DATA未通过检查点(CP)操作而存储在系统区域SYS_AREA中时,控制器130基于在搜索操作(步骤1305)中是否在预定搜索计数内搜索到启动数据BOOT_DATA来确定是否执行恢复操作。相反地,在第二种方法中,在搜索操作(步骤1305)中搜索到的数据是正常数据NM_DATA的情况下,控制器130按照它们的搜索顺序执行恢复操作。
控制器130在普通区域NM_AREA中以页面为单位搜索数据以进行恢复操作。在第二种方法中,在通过搜索操作(步骤1305)搜索到的页面数量小于预定搜索计数的值的状态下,搜索到启动数据BOOT_DATA的情况下,控制器130对搜索到的启动数据BOOT_DATA执行恢复操作。因此,恢复操作执行成功的、存储启动数据BOOT_DATA的页面保持有效状态,而恢复操作执行失败的、存储启动数据BOOT_DATA的页面被转换成无效状态。而且,在第二种方法中,在页面超过预定搜索计数的情况下,控制器130不对搜索到的启动数据BOOT_DATA执行恢复操作。因此,存储在以下状态下搜索到的启动数据BOOT_DATA的页面被转换成无效状态:通过搜索操作(步骤1305)搜索到的页面数量大于预定搜索计数的值。
在控制器130的根据上述第二种方法的恢复操作中,预定搜索计数的值可预先确定待通过恢复操作而恢复的启动数据BOOT_DATA的最大数量。作为示例而非限制,在预定搜索计数的值为“5”的情况下,通过搜索操作(步骤1305),最小为“0”到最大为“5”的启动数据BOOT_DATA可进行恢复操作。类似地,在预定搜索计数的值为“3”的情况下,通过搜索操作(步骤1305)而待成为恢复操作的目标的启动数据BOOT_DATA的数量可从最小为“0”到最大为“3”。
虽然控制器130被配置成根据系统需求或用户要求,选择性地执行根据第一种方法的恢复操作和第二种方法的恢复操作中的一种,但是也可以在存储器系统110的操作过程中通过主机102或控制器130的确定来动态地选择第一种方法和第二种方法中的一种。
而且,虽然根据系统需求可固定根据第二种方法的预定搜索计数的值,其中该预定搜索计数的值用作用于确定是否执行控制器130的恢复操作的参考,但也可在存储器系统110的操作过程中根据主机102或控制器130的确定来动态地调整预定搜索计数的值。
在响应于存储器系统110在发生SPO之后通电而已经执行恢复操作的情况下,控制器130可检查完成恢复操作所需的“恢复操作时间”比“恢复限制时间”短多少(步骤1308a)。
控制器130的恢复操作应当在预定时间内完成,即在“恢复限制时间”内完成。如果控制器130的恢复操作未在“恢复限制时间”内完成,则确定控制器130的恢复操作失败。
因此,在控制器130的恢复操作正常完成的情况下,控制器130的恢复操作所需的“恢复操作时间”应当比“恢复限制时间”短。在这方面,根据诸如主机102的状态、存储器系统110的状态等的各种内部或外部因素,“恢复操作时间”比“恢复限制时间”短多少可变化。
如果完成了控制器130的恢复操作,则控制器130可检查完成恢复操作所需的“恢复操作时间”比预定的“恢复限制时间”短多少(步骤1308a)。
以这种方式,在检查了完成恢复操作所需的“恢复操作时间”比预定的“恢复限制时间”短多少的信息之后,控制器130可根据检查结果调整“N”的值,使得“N”的调整值可被应用于接下来待执行的检查点(CP)操作(步骤1309)。而且,根据检查结果,可以选择是根据第一种方法执行恢复操作还是根据第二种方法执行恢复操作。此外,在根据第二种方法执行恢复操作的情况下,可根据检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值可被应用于接下来待执行的恢复操作(步骤1309)。
作为示例而非限制,当“恢复限制时间”变得比“恢复操作时间”相对更长时,可相对增加“N”的值和预定搜索计数的值。当“恢复限制时间”变得比“恢复操作时间”相对更短时,可相对减少“N”的值和预定搜索计数的值。
控制器130可在每一个预选时间检查存储在非易失性存储器装置150的系统区域SYS_AREA中的有效数据的百分比(步骤1308b)。
可根据主机102的请求或者可根据系统需求或用户要求而预先定义预选时间。作为示例而非限制,在主机102的内部操作过程中,可请求控制器130以无规律特定时间执行操作(步骤1308b)。在这种情况下,无规律特定时间将是预选时间。可选地,每当检查点(CP)操作重复预定次数时,控制器130可自己执行该操作(步骤1308b)。在这种情况下,检查点(CP)操作被重复预定次数的时间将是预选时间。
以这种方式,在每一个预选时间检查了存储在非易失性存储器装置150的系统区域SYS_AREA中的有效数据的百分比之后,控制器130可根据检查结果调整“N”的值,使得“N”的调整值可被应用于接下来待执行的检查点(CP)操作(步骤1309)。而且,根据检查结果,可以选择是根据第一种方法执行恢复操作还是根据第二种方法执行恢复操作。此外,在根据第二种方法执行恢复操作的情况下,可根据检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值可被应用于接下来待执行的恢复操作(步骤1309)。
作为示例而非限制,当存储在非易失性存储器装置150的系统区域SYS_AREA中的有效数据的百分比变得相对较低时,可相对增加“N”的值和预定搜索计数的值。当存储在非易失性存储器装置150的系统区域SYS_AREA中的有效数据的百分比变得相对较高时,可相对减少“N”的值和预定搜索计数的值。
图7至图15是示意性地示出图1的数据处理系统的示例性应用的示图。
图7是示意性示出包括根据实施例的存储器系统的数据处理系统的应用示例的示图。图7示意性地示出了应用了存储器系统的存储卡系统。
参照图7,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可连接到由非易失性存储器实现的存储器装置6130。存储器控制器6120可被配置成访问存储器装置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可通过诸如以下的各种非易失性存储器装置中的任何一种来实施:可擦除可编程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)。
图8是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图8,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图8所示的数据处理系统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可用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机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码、涡轮码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224与主机6210交换数据。存储器控制器6220可通过NVM接口6225将数据传输到存储器装置6230,或从存储器装置6230接收数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可具有诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一外部装置,以与外部装置交换数据。因为存储器控制器6220被配置成通过各种通信协议的一种或多种与外部装置通信,根据实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图9是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图9示意性地示出可能应用了存储器系统的SSD。
参照图9,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器系统110的控制器130。存储器装置6340可对应于图1和图5的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中的多个闪速存储器NVM提供的数据,或临时存储例如包括映射表的映射数据的多个闪速存储器NVM的元数据。缓冲存储器6325可由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。作为示例,图8示出了缓冲存储器6325被实现在控制器6320内部。然而,缓冲存储器6325可处于控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340中的数据的ECC值,ECC电路6322可在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作。ECC电路6322可在失效数据恢复操作期间对从存储器装置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。RAID控制器可将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,来在SSD 6300中选择一个或多个存储器系统或SSD 6300。RAID控制器可将从所选择的SSD 6300读取的数据提供给主机6310。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图10示意性地示出了可能应用了存储器系统的嵌入式多媒体卡(eMMC)。
参照图10,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图5的存储器系统110的控制器130。存储器装置6440可对应于图1和图5的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作。主机接口6431可提供控制器6430和主机6410之间的接口功能。NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作例如参照图1描述的MMC接口的并行接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图11至图14是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的示图。图11至图14示意性地示出了可能应用了存储器系统的UFS(通用闪速存储)系统。
参照图11至图14,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可参照图8至图10描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图7描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)来彼此通信。此外,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可根据除UFS协议之外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议来彼此通信。
在图11所示的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。
在图12所示的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。
在图13所示的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。
在图14所示的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。
图15是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图15示意性地示出了可能应用了存储器系统的用户系统。
参照图15,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在例如OS的用户系统6900中的部件,并且包括控制包括在用户系统6900中的部件的控制器、接口、图形引擎。应用处理器6930可被设置成片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)来封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,还可支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线和/或无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储例如从应用处理器6930接收到的数据的数据。存储模块6950可将存储的数据传输到应用处理器6930。存储模块6950可由非易失性半导体存储器装置实现,例如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于以上参照图1和图5描述的存储器系统110。此外,存储模块6950可被实施为如上参照图9至图14所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当图1和图5的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制对移动电子装置的全部操作,并且网络模块6940可作为用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据。用户接口6910可支持从触摸面板接收数据的功能。
在本技术中,主机中使用的启动数据与正常数据一起被存储和管理在普通区域中。相对于对正常数据的检查点操作,更频繁地执行对启动数据的检查点操作。
通过这种布置,启动数据可被存储在普通区域中,同时充分确保其可靠性。而且,因为不需要管理用于存储启动数据的单独存储区域,所以可以最小化主机启动操作所需的时间。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员根据本公开显而易见的是,在不脱离如所附权利要求所限定的本发明的技术方案和范围的情况下,可以进行各种改变和变型。
Claims (20)
1.一种存储器系统,包括:
非易失性存储器装置,包括多个存储块,所述多个存储块中的每个包括多个页面,并且所述多个存储块之中的一个子集被作为系统区域进行管理,并且所述多个存储块之中的剩余存储块被作为普通区域进行管理;以及
控制器,其将用于控制所述非易失性存储器装置的系统数据存储在所述系统区域中,并且将在主机中使用的启动数据和在对所述非易失性存储器装置的控制操作中更新的正常数据存储在所述普通区域中,
其中所述控制器每当完成存储所述启动数据之中的N个启动数据时执行检查点操作以及每当完成对所述非易失性存储器装置的控制操作时执行所述检查点操作,“N”为自然数。
2.根据权利要求1所述的存储器系统,其中所述控制器通过执行所述检查点操作,将最新存储的N个启动数据的元数据或在对所述非易失性存储器装置的控制操作中最新更新的正常数据的元数据存储在所述系统区域中。
3.根据权利要求2所述的存储器系统,
其中响应于所述存储器系统在发生突然断电,即SPO之后被通电,所述控制器通过参考所述系统区域,来搜索在最新执行的所述检查点操作之后存储在所述普通区域中的数据以执行恢复操作,
其中所述控制器对搜索到的正常数据执行所述恢复操作,以及
其中所述控制器不对搜索到的启动数据执行所述恢复操作。
4.根据权利要求3所述的存储器系统,其中在所述恢复操作中,所述控制器以页面为单位搜索存储在所述普通区域中的数据,对存储在搜索页面中的数据之中的正常数据执行所述恢复操作,并且不对搜索到的数据之中的启动数据执行所述恢复操作。
5.根据权利要求2所述的存储器系统,
其中响应于所述存储器系统在发生突然断电,即SPO之后被通电,所述控制器通过参考所述系统区域,搜索在最新执行的所述检查点操作之后存储在所述普通区域中的数据以执行恢复操作,
其中所述控制器对搜索到的正常数据执行所述恢复操作,
其中所述控制器对在预定搜索计数内搜索到的启动数据执行所述恢复操作,以及
其中所述控制器不对在所述预定搜索计数之后搜索到的启动数据执行所述恢复操作。
6.根据权利要求5所述的存储器系统,
其中在所述恢复操作中,所述控制器以页面为单位搜索存储在所述普通区域中的数据,
其中当在搜索页面数量小于所述预定搜索计数的状态下搜索到启动数据时,所述控制器对搜索到的启动数据执行所述恢复操作,以及
其中当在搜索页面数量大于所述预定搜索计数的状态下搜索到启动数据时,所述控制器不对搜索到的启动数据执行所述恢复操作。
7.根据权利要求5所述的存储器系统,
其中当响应于所述存储器系统在发生SPO之后被通电而执行所述恢复操作时,所述控制器检查完成所述恢复操作所需的恢复操作时间比恢复限制时间短多少,
所述控制器根据检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,以及
其中所述控制器根据检查结果来调整所述预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
8.根据权利要求7所述的存储器系统,
其中当所述恢复限制时间变为比所述恢复操作时间相对长时,所述控制器相对地增加所述“N”的值和所述预定搜索计数的值,以及
其中当所述恢复限制时间变为比所述恢复操作时间相对短时,所述控制器相对地减小所述“N”的值和所述预定搜索计数的值。
9.根据权利要求5所述的存储器系统,
其中所述控制器在每个预选时间检查存储在所述系统区域中的有效数据的百分比,
所述控制器根据检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,以及
其中所述控制器根据检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的所述恢复操作。
10.根据权利要求9所述的存储器系统,
其中当存储在所述系统区域中的有效数据的百分比变为相对低时,所述控制器相对地增加所述“N”的值和所述预定搜索计数的值,以及
其中当存储在所述系统区域中的有效数据的百分比变为相对高时,所述控制器相对地减小所述“N”的值和所述预定搜索计数的值。
11.一种操作存储器系统的方法,所述存储器系统包括非易失性存储器装置,所述非易失性存储器装置包括多个存储块,所述多个存储块中的每个包括多个页面,并且所述多个存储块之中的一个子集被作为系统区域进行管理,并且所述多个存储块之中的剩余存储块被作为普通区域进行管理,所述方法包括:
将用于控制所述非易失性存储器装置的系统数据存储在所述系统区域中,并且将在主机中使用的启动数据和在对所述非易失性存储器装置的控制操作中更新的正常数据存储在所述普通区域中;并且
每当完成存储所述启动数据之中的N个启动数据时执行检查点操作,以及每当完成对所述非易失性存储器装置的控制操作时执行所述检查点操作,“N”为自然数。
12.根据权利要求11所述的方法,其中执行所述检查点操作包括:将最新存储的N个启动数据的元数据或在对所述非易失性存储器装置的控制操作中最新更新的正常数据的元数据存储在所述系统区域中。
13.根据权利要求12所述的方法,进一步包括:
响应于所述存储器系统在突然断电,即SPO之后被通电,通过参考所述系统区域,对在最新执行的检查点操作之后存储在所述普通区域中的数据执行第一搜索以执行恢复操作;并且
选择性对在所述第一搜索中搜索到的正常数据执行所述恢复操作,并且不对在所述第一搜索中搜索到的启动数据执行所述恢复操作。
14.根据权利要求13所述的方法,
其中所述第一搜索包括:在所述恢复操作中以页面为单位搜索存储在所述普通区域中的数据,并且
其中针对所述第一搜索的选择性执行包括:对存储在所述第一搜索中的搜索页面中的数据之中的正常数据执行所述恢复操作,并且不对在所述第一搜索中搜索到的数据之中的启动数据执行所述恢复操作。
15.根据权利要求12所述的方法,进一步包括:
响应于所述存储器系统在突然断电,即SPO之后被通电,通过参考所述系统区域,对在最新执行的检查点操作之后存储在所述普通区域中的数据执行第二搜索以执行恢复操作;并且
选择性对在所述第二搜索中搜索到的正常数据执行所述恢复操作,对在所述第二搜索中在预定搜索计数内搜索到的启动数据执行所述恢复操作,并且不对在所述第二搜索中在所述预定搜索计数之后搜索到的启动数据执行所述恢复操作。
16.根据权利要求15所述的方法,
其中所述第二搜索包括:在所述恢复操作中以页面为单位搜索存储在所述普通区域中的数据,并且
其中针对所述第二搜索的选择性执行包括:当在所述第二搜索中的搜索页面数量小于所述预定搜索计数的状态下搜索到启动数据时,对搜索到的启动数据执行所述恢复操作,并且当在所述第二搜索中的搜索页面数量大于所述预定搜索计数的状态下搜索到启动数据时,不对搜索到的启动数据执行所述恢复操作。
17.根据权利要求15所述的方法,进一步包括:
在第一检查操作中,当响应于所述存储器系统在发生SPO之后被通电而执行所述恢复操作时,检查完成所述恢复操作所需的恢复操作时间比恢复限制时间短多少;并且
在第一调整操作中,根据第一检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,并且根据第一检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
18.根据权利要求17所述的方法,其中所述第一调整操作包括:
当根据所述第一检查结果,所述恢复限制时间变为比所述恢复操作时间相对长时,相对地增加所述“N”的值和所述预定搜索计数的值;并且
当根据所述第一检查结果,所述恢复限制时间变为比所述恢复操作时间相对短时,相对地减小所述“N”的值和所述预定搜索计数的值。
19.根据权利要求15所述的方法,进一步包括:
在第二检查操作中,在每个预选时间检查存储在所述系统区域中的有效数据的百分比;并且
在第二调整操作中,根据第二检查结果来调整“N”的值,使得“N”的调整值被应用于接下来待执行的检查点操作,并且根据第二检查结果来调整预定搜索计数的值,使得预定搜索计数的调整值被应用于接下来待执行的恢复操作。
20.根据权利要求19所述的方法,其中所述第二调整操作包括:
当根据第二检查行为的结果,存储在所述系统区域中的有效数据的百分比变为相对低时,相对地增加所述“N”的值和所述预定搜索计数的值;并且
当所述第二检查行为的结果,存储在所述系统区域中的有效数据的百分比变为相对高时,相对地减小所述“N”的值和所述预定搜索计数的值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0174906 | 2017-12-19 | ||
KR1020170174906A KR102468737B1 (ko) | 2017-12-19 | 2017-12-19 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933468A true CN109933468A (zh) | 2019-06-25 |
CN109933468B CN109933468B (zh) | 2023-01-03 |
Family
ID=66813894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810939980.XA Active CN109933468B (zh) | 2017-12-19 | 2018-08-17 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10949305B2 (zh) |
KR (1) | KR102468737B1 (zh) |
CN (1) | CN109933468B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535076A (zh) * | 2020-04-13 | 2021-10-22 | 爱思开海力士有限公司 | 数据处理系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI704456B (zh) * | 2018-11-22 | 2020-09-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料存取方法 |
KR20200072081A (ko) * | 2018-12-12 | 2020-06-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN111679785A (zh) | 2019-03-11 | 2020-09-18 | 三星电子株式会社 | 用于处理操作的存储器装置及其操作方法、数据处理系统 |
US20230259291A1 (en) * | 2022-02-15 | 2023-08-17 | Micron Technology, Inc. | Identification and storage of boot information at a memory system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028131A1 (en) * | 2006-07-31 | 2008-01-31 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
US20080147962A1 (en) * | 2006-12-15 | 2008-06-19 | Diggs Mark S | Storage subsystem with multiple non-volatile memory arrays to protect against data losses |
US20120054419A1 (en) * | 2010-08-27 | 2012-03-01 | Via Technologies, Inc. | Memory device and operating method thereof |
CN103562878A (zh) * | 2011-05-23 | 2014-02-05 | 国际商业机器公司 | 在镜像虚拟机系统中的存储器检查点设置 |
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3020833B2 (ja) * | 1995-06-19 | 2000-03-15 | 株式会社東芝 | チェックポイント取得システム |
US6636941B1 (en) * | 2000-01-18 | 2003-10-21 | International Business Machines Corporation | Enhanced stable disk storage |
US6973556B2 (en) * | 2000-06-19 | 2005-12-06 | Storage Technology Corporation | Data element including metadata that includes data management information for managing the data element |
US7055008B2 (en) * | 2003-01-22 | 2006-05-30 | Falconstor Software, Inc. | System and method for backing up data |
US7231544B2 (en) * | 2003-02-27 | 2007-06-12 | Hewlett-Packard Development Company, L.P. | Restoring data from point-in-time representations of the data |
JP4321705B2 (ja) * | 2003-07-29 | 2009-08-26 | 株式会社日立製作所 | スナップショットの取得を制御するための装置及び記憶システム |
US7293200B2 (en) * | 2004-08-26 | 2007-11-06 | Availigent, Inc. | Method and system for providing transparent incremental and multiprocess checkpointing to computer applications |
US8145601B2 (en) * | 2004-09-09 | 2012-03-27 | Microsoft Corporation | Method, system, and apparatus for providing resilient data transfer in a data protection system |
US7392433B2 (en) * | 2005-01-25 | 2008-06-24 | International Business Machines Corporation | Method and system for deciding when to checkpoint an application based on risk analysis |
US9286198B2 (en) * | 2005-04-21 | 2016-03-15 | Violin Memory | Method and system for storage of data in non-volatile media |
US7620660B2 (en) * | 2005-06-30 | 2009-11-17 | Microsoft Corporation | Pre-image logging for database recovery |
US7765361B2 (en) * | 2006-11-21 | 2010-07-27 | Microsoft Corporation | Enforced transaction system recoverability on media without write-through |
JP2008242744A (ja) * | 2007-03-27 | 2008-10-09 | Hitachi Ltd | Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法 |
JP2009026296A (ja) * | 2007-06-21 | 2009-02-05 | Toshiba Corp | 電子デバイス、メモリデバイス、ホスト装置 |
US7818610B2 (en) * | 2007-09-27 | 2010-10-19 | Microsoft Corporation | Rapid crash recovery for flash storage |
US7895027B2 (en) * | 2008-01-17 | 2011-02-22 | Springsoft, Inc. | HDL re-simulation from checkpoints |
JP2009230407A (ja) * | 2008-03-21 | 2009-10-08 | Toshiba Corp | データの更新方法、メモリシステムおよびメモリデバイス |
US7979626B2 (en) * | 2008-05-13 | 2011-07-12 | Microsoft Corporation | Flash recovery employing transaction log |
US8275815B2 (en) * | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US8266636B2 (en) * | 2008-09-30 | 2012-09-11 | International Business Machines Corporation | Virtualize, checkpoint, and restart system V IPC objects during checkpointing and restarting of a software partition |
US8041994B2 (en) * | 2009-01-09 | 2011-10-18 | Alcatel Lucent | Asynchronous checkpointing with audits in high availability networks |
KR101587995B1 (ko) * | 2009-10-28 | 2016-01-22 | 삼성전자주식회사 | 적응적 로깅 장치 및 방법 |
US8224780B2 (en) * | 2010-06-15 | 2012-07-17 | Microsoft Corporation | Checkpoints for a file system |
US8756197B1 (en) * | 2010-08-13 | 2014-06-17 | Symantec Corporation | Generating data set views for backup restoration |
US8689046B2 (en) * | 2010-11-05 | 2014-04-01 | International Business Machines Corporation | System and method for remote recovery with checkpoints and intention logs |
US9361044B2 (en) * | 2011-03-28 | 2016-06-07 | Western Digital Technologies, Inc. | Power-safe data management system |
US8886995B1 (en) * | 2011-09-29 | 2014-11-11 | Emc Corporation | Fault tolerant state machine for configuring software in a digital computer |
US9635132B1 (en) * | 2011-12-15 | 2017-04-25 | Amazon Technologies, Inc. | Service and APIs for remote volume-based block storage |
US9098439B2 (en) * | 2012-01-05 | 2015-08-04 | International Business Machines Corporation | Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs |
US8631239B2 (en) * | 2012-01-12 | 2014-01-14 | Facebook, Inc. | Multiple system images for over-the-air updates |
US9207947B1 (en) * | 2012-08-30 | 2015-12-08 | Seagate Technology Llc | Fast boot in hybrid drives |
US8914670B2 (en) * | 2012-11-07 | 2014-12-16 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
US9032199B1 (en) * | 2012-12-28 | 2015-05-12 | Google Inc. | Systems, devices, and methods for capturing information, creating loadable images, and providing for restarts in a computer system |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US9176818B2 (en) * | 2013-03-14 | 2015-11-03 | Microsoft Technology Licensing, Llc | N-way parity for virtual disk resiliency |
KR20140121233A (ko) | 2013-04-05 | 2014-10-15 | 삼성전자주식회사 | 부트로더에 의한 운영 체제 부팅 기능의 전자 장치, 방법 및 저장 매체 |
US10360148B2 (en) * | 2013-07-31 | 2019-07-23 | Hewlett-Packard Development Company, L.P. | Generating a second code from a first code |
KR20150053092A (ko) * | 2013-11-07 | 2015-05-15 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
US9268653B2 (en) * | 2014-01-17 | 2016-02-23 | Netapp, Inc. | Extent metadata update logging and checkpointing |
KR101548452B1 (ko) * | 2014-02-11 | 2015-08-28 | 한양대학교 산학협력단 | 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치 |
US10146657B2 (en) * | 2014-03-26 | 2018-12-04 | Intel Corporation | Initialization trace of a computing device |
US9348710B2 (en) * | 2014-07-29 | 2016-05-24 | Saudi Arabian Oil Company | Proactive failure recovery model for distributed computing using a checkpoint frequency determined by a MTBF threshold |
US9836108B2 (en) * | 2014-09-10 | 2017-12-05 | Toshiba Memory Corporation | Memory system and controller |
US9804785B2 (en) * | 2014-09-22 | 2017-10-31 | Sandisk Technologies Llc | Nonvolatile memory adaptive to host boot up routine |
US10102146B2 (en) | 2015-03-26 | 2018-10-16 | SK Hynix Inc. | Memory system and operating method for improving rebuild efficiency |
US10019179B2 (en) * | 2015-10-16 | 2018-07-10 | Toshiba Memory Corporation | Memory device that writes data into a block based on time passage since erasure of data from the block |
US10229048B2 (en) * | 2016-06-29 | 2019-03-12 | Western Digital Technologies, Inc. | Unified paging scheme for dense and sparse translation tables on flash storage systems |
JP6675944B2 (ja) * | 2016-07-12 | 2020-04-08 | 富士通株式会社 | ファイル管理システム、ファイル管理装置およびファイル管理プログラム |
KR20180031853A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180031851A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10481798B2 (en) * | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10474542B2 (en) * | 2017-03-24 | 2019-11-12 | Commvault Systems, Inc. | Time-based virtual machine reversion |
US10353753B1 (en) * | 2017-03-29 | 2019-07-16 | Amazon Technologies, Inc. | Optimizing startup time for event-driven functions |
US10620879B2 (en) * | 2017-05-17 | 2020-04-14 | Macronix International Co., Ltd. | Write-while-read access method for a memory device |
US10802727B2 (en) * | 2017-06-07 | 2020-10-13 | ScaleFlux, Inc. | Solid-state storage power failure protection using distributed metadata checkpointing |
US11042383B2 (en) * | 2018-02-03 | 2021-06-22 | Insyde Software Corp. | System and method for boot speed optimization using non-volatile dual in-line memory modules |
US10705902B2 (en) * | 2018-05-03 | 2020-07-07 | Western Digital Technologies, Inc. | Crash log storage and retrieval using boot partitions in solid state systems |
US10649674B2 (en) * | 2018-05-03 | 2020-05-12 | Western Digital Technologies, Inc. | Extended controller pre-initialization using boot partitions in solid state systems |
US11100135B2 (en) * | 2018-07-18 | 2021-08-24 | EMC IP Holding Company LLC | Synchronous replication in a storage system |
US10795688B2 (en) * | 2018-07-23 | 2020-10-06 | Datto, Inc. | System and method for performing an image-based update |
KR20200011655A (ko) * | 2018-07-25 | 2020-02-04 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
-
2017
- 2017-12-19 KR KR1020170174906A patent/KR102468737B1/ko active IP Right Grant
-
2018
- 2018-07-24 US US16/043,683 patent/US10949305B2/en active Active
- 2018-08-17 CN CN201810939980.XA patent/CN109933468B/zh active Active
-
2021
- 2021-01-19 US US17/152,113 patent/US11422895B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028131A1 (en) * | 2006-07-31 | 2008-01-31 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
US20080147962A1 (en) * | 2006-12-15 | 2008-06-19 | Diggs Mark S | Storage subsystem with multiple non-volatile memory arrays to protect against data losses |
US20120054419A1 (en) * | 2010-08-27 | 2012-03-01 | Via Technologies, Inc. | Memory device and operating method thereof |
CN103562878A (zh) * | 2011-05-23 | 2014-02-05 | 国际商业机器公司 | 在镜像虚拟机系统中的存储器检查点设置 |
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535076A (zh) * | 2020-04-13 | 2021-10-22 | 爱思开海力士有限公司 | 数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210182148A1 (en) | 2021-06-17 |
CN109933468B (zh) | 2023-01-03 |
US10949305B2 (en) | 2021-03-16 |
KR102468737B1 (ko) | 2022-11-21 |
US11422895B2 (en) | 2022-08-23 |
US20190188082A1 (en) | 2019-06-20 |
KR20190073767A (ko) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108255739A (zh) | 存储器系统及其操作方法 | |
CN109947358A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN107818057A (zh) | 存储器系统及其操作方法 | |
CN108388525A (zh) | 存储器系统及其操作方法 | |
CN109933468A (zh) | 存储器系统及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN109935251A (zh) | 存储器系统、其操作方法以及包括其的数据处理系统 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN110058797A (zh) | 存储器系统及其操作方法 | |
CN108694138A (zh) | 控制器及其操作方法 | |
CN110473582A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN108257637A (zh) | 存储器系统及其操作方法 | |
CN110457230A (zh) | 存储器系统及其操作方法 | |
CN107562653A (zh) | 存储器系统及其操作方法 | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN108733616A (zh) | 包括多处理器的控制器及其操作方法 | |
CN108389602A (zh) | 存储器系统及其操作方法 | |
CN108363547A (zh) | 控制器及其操作方法 | |
CN108241470A (zh) | 控制器及其操作方法 | |
CN108447513A (zh) | 存储器系统及其操作方法 | |
CN109656469A (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 |