CN107818057A - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN107818057A CN107818057A CN201710505109.4A CN201710505109A CN107818057A CN 107818057 A CN107818057 A CN 107818057A CN 201710505109 A CN201710505109 A CN 201710505109A CN 107818057 A CN107818057 A CN 107818057A
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- information
- accumulator system
- memory device
- memory
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
-
- 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
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- 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)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器***,其包括:非易失性存储器装置;易失性存储器;以及控制器,其适于存储多个操作信息和多个版本信息,并且基于多个版本信息在预定时刻选择性地将更新的操作信息从易失性存储器复制到非易失性存储器装置中,多个操作信息可以分别在对非易失性存储器装置的多个预定操作期间使用,并且多个版本信息分别可以表示多个操作信息是否被更新。
Description
相关申请的交叉引用
本申请要求于2016年9月19日提交的申请号为10-2016-0117761的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器***,并且更特别地,涉及一种包括非易失性存储器装置的存储器***,以及一种用于操作存储器***的方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算***。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器***来存储数据。存储器***可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器***不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态硬盘(SSD)。
发明内容
本发明的实施例涉及一种能够最小化在检查点时刻存储在非易失性存储器装置中的信息的大小的存储器***,以及用于操作该存储器***的方法。
根据本发明的实施例,一种存储器***可以包括:非易失性存储器装置;易失性存储器;以及控制器,其适于存储多个操作信息和多个版本信息,并且基于多个版本信息在预定时刻选择性地将更新的操作信息从易失性存储器复制到非易失性存储器装置中,多个操作信息可以分别在对非易失性存储器装置的多个预定操作期间使用,并且多个版本信息分别可以表示多个操作信息是否被更新。
控制器可以进一步存储多个必要信息,并且可以进一步在预定时刻将多个必要信息从易失性存储器复制到非易失性存储器装置中,并且多个必要信息可以分别是多个预定操作所需的。
当电源开启时,控制器可以进一步将多个操作信息和多个必要信息从非易失性存储器装置加载到易失性存储器。
控制器可以将分别对应于具有更新值的一个或多个版本信息的一个或多个操作信息和多个必要信息从易失性存储器复制到非易失性存储器装置中,并且在复制之后,控制器可以进一步初始化多个版本信息以具有初始值。
当更新相应的操作信息时,控制器可以进一步改变多个版本信息中的每一个以具有更新值,并且当多个预定操作之中的相应的操作被完成时,可以更新操作信息的每一个。
控制器可以将多个必要信息复制到非易失性存储器装置的第一存储块中,并且可以将多个操作信息复制到非易失性存储器装置的第二存储块中。
多个必要信息可以包括表示第二存储块在非易失性存储器装置中的物理位置的信息。
第一存储块可以是单层单元(SLC)类型,并且第二存储块可以是多层单元(MLC)类型。
第一存储块和第二存储块可以为单层单元(SLC)类型,除第一存储块和第二存储块之外的其它存储块可以为多层单元(MLC)类型。
预定时刻可以是预定操作之中的预定操作被完成以满足预定条件的时间,或可以根据来自主机的请求来确定预定时刻,或预定时刻可以是周期性的。
根据本发明的另一实施例,一种用于操作存储器***的方法,该存储器***设置有非易失性存储器装置和易失性存储器,该方法可以包括:存储多个操作信息和多个版本信息;以及基于多个版本信息在预定时刻选择性地将更新的操作信息从易失性存储器复制到非易失性存储器装置中,多个操作信息可以分别在对非易失性存储器装置的多个预定操作期间使用,并且多个版本信息分别可以表示多个操作信息是否被更新。
该方法可以进一步包括:存储多个必要信息;以及在预定时刻将多个必要信息从易失性存储器复制到非易失性存储器装置,多个必要信息可以分别是多个预定操作所需的。
该方法可以进一步包括:当电源开启时,将多个操作信息和多个必要信息从非易失性存储器装置加载到易失性存储器。
更新的操作信息的选择性复制可以包括:将分别对应于具有更新值的一个或多个版本信息的一个或多个操作信息和多个必要信息从易失性存储器复制到非易失性存储器装置中。该方法可以进一步包括:在将分别对应于具有更新值的一个或多个版本信息的一个或多个操作信息和多个必要信息从易失性存储器复制到非易失性存储器装置中之后,初始化多个版本信息以具有初始值。
该方法可以进一步包括:当多个预定操作之中的相应的操作被完成时,更新操作信息的每一个;以及当更新相应的操作信息时,改变多个版本信息中的每一个以具有更新值。
更新的操作信息的选择性复制可以包括:将多个必要信息复制到非易失性存储器装置的第一存储块中;以及将多个操作信息复制到非易失性存储器装置的第二存储块中。
多个必要信息可以包括表示第二存储块在非易失性存储器装置中的物理位置的信息。
第一存储块可以是单层单元(SLC)类型,并且第二存储块可以是多层单元(MLC)类型。
第一存储块和第二存储块可以为单层单元(SLC)类型,除第一存储块和第二存储块之外的其它存储块可以为多层单元(MLC)类型。
预定时刻可以是预定操作之中的预定操作被完成以满足预定条件的时间,或可以根据来自主机的请求来确定预定时刻,或预定时刻可以是周期性的。
附图说明
根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器***的数据处理***的框图。
图2是示出在图1的存储器***中采用的存储器装置的示例性配置的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维结构的示意图。
图5和图6是示出图1的存储器***的操作的示意图。
图7至图15是示意性地示出根据本发明的各个实施例的图1的数据处理***的应用示例的图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意的是,本发明可以不同的其它实施例、形式及其变化来实施,并且不应被解释为限于本文阐述的实施例。相反,提供所描述的实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经放大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间仅有的元件或也可存在一个或多个中间元件。
本文使用术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任何一个和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实践。在其它情况下,未详细地描述公知的进程结构和/或进程,以避免不必要地模糊本发明。
也应注意的是,在一些情况下,如对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器***110的数据处理***100的框图。
参照图1,数据处理***100可以包括主机102和存储器***110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可以包括至少一个OS(操作***),并且OS可以管理和控制主机102的总体功能和操作,并且在主机102和使用数据处理***100或存储器***110的用户之间提供操作。OS可以支持对应于用户的使用目的和使用的功能和操作。例如,根据主机102的移动性,OS可以被划分为普通OS和移动OS。根据用户的环境,普通OS可以被划分为个人OS和企业OS。例如,被配置为支持向普通用户提供服务的功能的个人OS可以包括Windows和Chrome,并且被配置为保护和支持高性能的企业OS可以包括Windows服务器、Linux和Unix。此外,被配置为支持向用户提供移动服务的功能和***的省电功能的移动OS可以包括Android、iOS和Windows Mobile。此时,主机102可以包括多个OS,并且执行OS以对存储器***110执行对应于用户的请求的操作。
存储器***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)和闪速存储器的非易失性存储器装置。闪速存储器可以具有三维(3D)堆叠结构。
存储器***110可以包括存储器装置150和控制器130。存储器装置150可以为主机120存储数据,并且控制器130可以控制数据在存储器装置150中的存储。
控制器130和存储器装置150可以被集成到单个半导体装置中,该单个半导体装置可以被包括在如上所例示的各种类型的存储器***中。
存储器***110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(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可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可以串联地联接在选择晶体管DST和SST之间。在实施例中,存储器单元晶体管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可以包括多个存储块BLK0至BLKN-1,所述存储块的每一个具有3D结构(或垂直结构)。
图5和图6是示出存储器***110的操作的示意图。
图5示出当执行预定操作时,控制器130如何改变存储在易失性存储器144中的信息OPINFO<1:5>、VRINFO<1:5>和NDINFO<1:4>。
图6示出控制器130如何在预定时刻将信息OPINFO<1:5>、VRINFO<1:5>和NDINFO<1:4>复制到非易失性存储器装置150中。
参照图5和图6,控制器130可以将分别在对非易失性存储器装置150的多个预定操作期间待使用的多个操作信息OPINFO<1:5>存储在易失性存储器144中。
并且,控制器130可以将分别表示操作信息OPINFO<1:5>是否被更新的多个版本信息VRINFO<1:5>存储在易失性存储器144中。
并且,控制器130可以将对非易失性存储器装置150的多个预定操作分别所需的多个必要信息NDINFO<1:4>存储在易失性存储器144中。
对非易失性存储器装置150的预定操作可以包括诸如读取操作、写入操作和擦除操作的前台操作以及诸如垃圾收集操作和读取回收操作的后台操作。
并且,可以不规定必要信息NDINFO<1:4>的更新频率和更新时刻。例如,必要信息NDINFO<1:4>的示例可以包括有效页面计数信息、擦除计数信息、读取历史信息和闪存转换层(FTL)核心信息。
并且,当在预定操作之中的相应的操作完成时,可以更新操作信息OPINFO<1:5>。操作信息OPINFO<1:5>的示例可以包括映射地址信息和块相关信息。
版本信息VRINFO<1:5>分别表示当执行预定操作时操作信息OPINFO<1:5>是否被更新。
如图5和图6所例示,由于对应于第二和第三操作信息OPINFO<2:3>的预定操作被完成并且其它操作未完成,因此操作信息OPINFO<1:5>中的第二和第三操作信息OPINFO<2:3>被更新并且其它操作信息未被更新。
版本信息VRINFO<1:5>都被设置为初始值“0”。当对应于第二和第三操作信息OPINFO<2:3>的预定操作被完成时,第二和第三操作信息OPINFO<2:3>可以被更新,并且分别对应于更新的第二和第三操作信息OPINFO<2:3>的第二和第三版本信息VRINFO<2:3>的值被改变为“1”。分别对应于其它未更新的操作信息OPINFO<1>和OPINFO<4:5>的其它版本信息VRINFO<1>和VRINFO<4:5>的值在初始值“0”处保持不变。
因此,控制器130可以在预定操作完成之后的预定时刻检查版本信息VRINFO<1:5>中的每一个,并且可以发现第二和第三操作信息OPINFO<2:3>被更新并且剩余的操作信息OPINFO<1>和OPINFO<4:5>未被更新。
如图6所示,控制器130可以将更新的操作信息OPINFO<2:3>从易失性存储器144复制到非易失性存储器装置150中。
在复制操作之后,控制器130可以初始化所有版本信息VRINFO<1:5>。
由于在将更新的操作信息OPINFO<2:3>从易失性存储器144复制到非易失性存储器装置150中之后版本信息VRINFO<1:5>被初始化,因此当其后执行另一预定操作并且更新操作信息OPINFO<1:5>之中的一些操作信息时,可以基于版本信息VRINFO<1:5>准确地识别更新的操作信息。
控制器130可以在预定时刻将所有必要信息NDINFO<1:4>从易失性存储器144复制到非易失性存储器装置150中。在本文中,如图5所示,根据预定操作之中哪个操作被完成,可以不更新某些必要信息,例如必要信息NDINFO<1:4>中的第四必要信息NDINFO<4>。因为必要信息NDINFO<1:4>是未规定更新频率和更新时刻的信息,所以可在预定时刻将必要信息NDINFO<1:4>从易失性存储器144复制到非易失性存储器装置150中,而不管是否执行更新。
简而言之,控制器130基于版本信息VRINFO<1:5>仅检查出操作信息OPINFO<1:5>是否被更新,并且控制器130未检查出必要信息NDINFO<1:4>是否被更新。
同时,预定时刻可以是预定操作之中的预定操作完成以满足预定条件的时间。在本文中,预定条件可以由***设计者不同地设置。例如,预定条件可以是当数据值被改变时,并且改变数据值的预定操作可以是将新数据存储在非易失性存储器装置150中的写入操作或者迁移存储在非易失性存储器装置150中的数据的垃圾收集操作。
并且,预定时刻可以取决于来自主机的请求。换言之,预定时刻可以根据来自主机的请求而被确定。
并且,预定时刻可以是周期性的。换言之,预定时刻可以在预定时间段处被重复,而不管是否执行预定操作。
同时,操作信息OPINFO<1:5>中更新的操作信息OPINFO<2:3>和必要信息NDINFO<1:4>在预定时刻被复制到非易失性存储器装置150中的原因是为了处理其中存储器***110的电源突然被切断的存储器***110的突然断电情况。
换言之,存储器***110的电源可能由于存储器***110的操作环境而突然停止,并且在该情况下,存储在易失性存储器144中的所有数据被删除。
因此,为了在电源恢复时最大限度地恢复电源被切断之前的状态,控制器130可以设置预定时刻,并且在该预定时刻将存储在易失性存储器144中的包括必要信息NDINFO<1:4>和操作信息OPINFO<1:5>的重要信息复制到非易失性存储器装置150中。
在电源开启的时刻,存储在非易失性存储器装置150中的必要信息NDINFO<1:4>和操作信息OPINFO<1:5>被复制回易失性存储器144中。
同时,如以上参照图1描述的,非易失性存储器装置150可以包括多个存储块152至156。控制器130可以指定并管理存储块152至156中的第一存储块152作为用于存储必要信息NDINFO<1:4>的存储器区域。并且,控制器130可以指定并管理存储块152至156中的第二存储块154作为用于存储操作信息OPINFO<1:5>的存储区域。
控制器130可以将表示第二存储块154的物理位置的信息包括在必要信息NDINFO<1:4>中并管理该信息。换言之,控制器130可以将物理地址信息包括在必要信息NDINFO<1:4>中并管理该物理地址信息,该物理地址信息是表示操作信息OPINFO<1:5>在非易失性存储器装置150中的物理位置的信息。
控制器130可以将第一存储块152管理为单层单元(SLC)类型,并且将第二存储块154管理为多层单元(MLC)类型。换言之,用于存储比操作信息OPINFO<1:5>重要的必要信息NDINFO<1:4>的第一存储块152可以被管理为SLC类型,从而最小化丢失必要信息NDINFO<1:4>的可能性。
并且,控制器130可以将第一存储块152和第二存储块154管理为单层单元(SLC)类型,并且将其它存储块156管理为多层单元(MLC)类型。换言之,用于存储比普通数据重要的必要信息NDINFO<1:4>和操作信息OPINFO<1:5>的第一存储块152和第二存储块154可以被管理为SLC类型,从而最小化丢失必要信息NDINFO<1:4>和操作信息OPINFO<1:5>的可能性。
同时,在非易失性存储器装置150中重写数据是不可能的。因此,在预定时刻待从易失性存储器144复制到非易失性存储器装置150中的信息的大小必须被最小化,以提升存储器***110的整体操作性能。
然而,根据本发明的实施例,并非所有操作信息OPINFO<1:5>在每个预定时刻都从易失性存储器144被复制到非易失性存储器装置150中,而是只有操作信息OPINFO<1:5>中的更新的操作信息OPINFO<2:3>可以从易失性存储器144复制到非易失性存储器装置150中。
因此,根据本发明的实施例,最小化在每个预定时刻待从易失性存储器144复制到非易失性存储器装置150中的数据的大小是可能的。
在本发明的以上实施例中,描述了存在五个操作信息OPINFO<1:5>和对应于五个操作信息OPINFO<1:5>的五个版本信息VRINFO<1:5>,并且必要信息NDINFO<1:4>的数量为4。然而,这仅是示例并且信息的数量可以根据需要改变。
图7至图15是示意性示出图1的数据处理***的应用示例的图。
图7是示意性地示出包括根据本实施例的存储器***的数据处理***的另一示例的图。图7示意性地示出应用根据本实施例的存储器***的存储卡***。
参照图7,存储卡***6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以连接到由非易失性存储器实施的存储器装置6130,并且被配置为访问存储器装置6130。例如,存储器控制器6120可以被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口,并且驱动用于控制存储器装置6130的固件。即,存储器控制器6120可以对应于参照图1和图5描述的存储器***110的控制器130,并且存储器装置6130可以对应于参照图1和图5描述的存储器***110的存储器装置150。
因此,存储器控制器6120可以包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可以进一步包括图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-MRAM)。存储器装置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可以用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质,如参照图1描述的。存储器装置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用作缓冲存储器时,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/从主机6210接收数据,并且通过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值对从存储器装置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,并且将从选择的SSD6300读取的数据提供给主机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可以通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口来彼此通信。此外,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可以执行交换(switch)操作,以便与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或者串联地或以链型的形式连接到UFS装置6520。
在图12所示的UFS***6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro,并且主机6610可以通过交换模块6640执行交换操作,例如,通过交换模块6640在UniPro处执行例如L3交换的链路层交换,来与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执行交换操作,例如,通过交换模块6740在UniPro处执行例如L3交换的链路层交换,来与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可以通过在UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可以在UFS装置6720内部或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可以驱动包括在用户***6900中的部件,例如OS,并且包括用于控制包括在用户***6900中的部件的控制器、接口和图形引擎。应用处理器6930可以被设置为片上***(SoC)。
存储器模块6920可以用作用户***6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、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闪存和三维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处理的数据,或支持从触摸面板接收数据的功能。
根据本发明的实施例,已经更新的信息在检查点时刻被选择并存储在非易失性存储器装置中。因此,可以最小化在检查点时刻存储在非易失性存储器装置中的信息的大小。
虽然已经针对特定实施例描述本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种其它实施例、改变和变型。
Claims (20)
1.一种存储器***,其包括:
非易失性存储器装置;
易失性存储器;以及
控制器,其适于存储多个操作信息和多个版本信息,并且基于所述多个版本信息在预定时刻选择性地将更新的操作信息从所述易失性存储器复制到所述非易失性存储器装置中,
其中所述多个操作信息分别在对所述非易失性存储器装置的多个预定操作期间使用,并且
其中所述多个版本信息分别表示所述多个操作信息是否被更新。
2.根据权利要求1所述的存储器***,
其中所述控制器进一步存储多个必要信息,并且进一步在所述预定时刻将所述多个必要信息从所述易失性存储器复制到所述非易失性存储器装置中,并且
其中所述多个必要信息分别是所述多个预定操作所需的。
3.根据权利要求2所示的存储器***,其中当电源开启时,所述控制器进一步将所述多个操作信息和所述多个必要信息从所述非易失性存储器装置加载到所述易失性存储器。
4.根据权利要求2所述的存储器***,
其中所述控制器将分别对应于具有更新值的一个或多个版本信息的一个或多个操作信息和所述多个必要信息从所述易失性存储器复制到所述非易失性存储器装置中,并且
其中在所述复制之后,所述控制器进一步初始化所述多个版本信息以具有初始值。
5.根据权利要求4所述的存储器***,
其中当相应的操作信息被更新时,所述控制器进一步改变所述多个版本信息中的每一个以具有所述更新值,并且
其中当所述多个预定操作之中的相应的操作被完成时,所述操作信息的每一个被更新。
6.根据权利要求2所述的存储器***,其中所述控制器将所述多个必要信息复制到所述非易失性存储器装置的第一存储块中,并且将所述多个操作信息复制到所述非易失性存储器装置的第二存储块中。
7.根据权利要求6所述的存储器***,其中所述多个必要信息包括表示所述第二存储块在所述非易失性存储器装置中的物理位置的信息。
8.根据权利要求6所述的存储器***,其中所述第一存储块是单层单元类型,即SLC类型,并且所述第二存储块是多层单元类型,即MLC类型。
9.根据权利要求6所述的存储器***,其中所述第一存储块和所述第二存储块为单层单元类型,即SLC类型,并且除所述第一存储块和所述第二存储块之外的其它存储块为多层单元类型,即MLC类型。
10.根据权利要求1所述的存储器***,
其中所述预定时刻是所述预定操作之中的预定操作被完成以满足预定条件的时间,或
其中所述预定时刻根据来自主机的请求而被确定,或
其中所述预定时刻是周期性的。
11.一种用于操作存储器***的方法,所述存储器***设置有非易失性存储器装置和易失性存储器,所述方法包括:
存储多个操作信息和多个版本信息;以及
基于所述多个版本信息在预定时刻选择性地将更新的操作信息从所述易失性存储器复制到所述非易失性存储器装置中,
其中所述多个操作信息分别在对所述非易失性存储器装置的多个预定操作期间使用,并且
其中所述多个版本信息分别表示所述多个操作信息是否被更新。
12.根据权利要求11所述的方法,
其进一步包括:
存储多个必要信息;以及
在所述预定时刻将所述多个必要信息从所述易失性存储器复制到所述非易失性存储器装置中,
其中所述多个必要信息分别是所述多个预定操作所需的。
13.根据权利要求12所述的方法,其进一步包括:当电源开启时,将所述多个操作信息和所述多个必要信息从所述非易失性存储器装置加载到所述易失性存储器。
14.根据权利要求11所述的方法,
其中所述更新的操作信息的选择性复制包括:将分别对应于具有更新值的一个或多个版本信息的一个或多个操作信息和所述多个必要信息从所述易失性存储器复制到所述非易失性存储器装置中,以及
所述方法进一步包括:在将分别对应于具有更新值的一个或多个版本信息的一个或多个操作信息和所述多个必要信息从所述易失性存储器复制到所述非易失性存储器装置中之后,初始化所述多个版本信息以具有初始值。
15.根据权利要求14所述的方法,其进一步包括:
当所述多个预定操作之中的相应的操作被完成时,更新所述操作信息的每一个;以及
当相应的操作信息被更新时,改变所述多个版本信息中的每一个以具有所述更新值。
16.根据权利要求12所述的方法,其中所述更新的操作信息的选择性复制包括:
将所述多个必要信息复制到所述非易失性存储器装置的第一存储块中;以及
将所述多个操作信息复制到所述非易失性存储器装置的第二存储块中。
17.根据权利要求16所述的方法,其中所述多个必要信息包括表示所述第二存储块在所述非易失性存储器装置中的物理位置的信息。
18.根据权利要求16所述的方法,其中所述第一存储块是单层单元类型,即SLC类型,并且所述第二存储块是多层单元类型,即MLC类型。
19.根据权利要求16所述的方法,其中所述第一存储块和所述第二存储块为单层单元类型,即SLC类型,并且除所述第一存储块和所述第二存储块之外的其它存储块为多层单元类型,即MLC类型。
20.根据权利要求11所述的方法,
其中所述预定时刻是所述预定操作之中的预定操作被完成以满足预定条件的时间,或
其中所述预定时刻根据来自主机的请求而被确定,或
其中所述预定时刻是周期性的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0117761 | 2016-09-13 | ||
KR1020160117761A KR20180030319A (ko) | 2016-09-13 | 2016-09-13 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107818057A true CN107818057A (zh) | 2018-03-20 |
Family
ID=61559896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710505109.4A Pending CN107818057A (zh) | 2016-09-13 | 2017-06-28 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180074718A1 (zh) |
KR (1) | KR20180030319A (zh) |
CN (1) | CN107818057A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968263A (zh) * | 2018-10-01 | 2020-04-07 | 爱思开海力士有限公司 | 存储器*** |
CN111309518A (zh) * | 2018-12-12 | 2020-06-19 | 爱思开海力士有限公司 | 存储器***和存储器***的操作方法 |
CN111338995A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 数据存储装置及操作数据存储装置的方法 |
CN111435321A (zh) * | 2019-01-11 | 2020-07-21 | 爱思开海力士有限公司 | 处理存储器***的易失性存储器中的错误的设备和方法 |
CN112673356A (zh) * | 2018-08-03 | 2021-04-16 | 美光科技公司 | 快速非易失性存储装置恢复技术 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10836402B2 (en) | 2017-12-27 | 2020-11-17 | Micron Technology, Inc. | Determination of reliability of vehicle control commands via redundancy |
US10933882B2 (en) | 2017-12-27 | 2021-03-02 | Micron Technology, Inc. | Determination of reliability of vehicle control commands using a voting mechanism |
US10981576B2 (en) | 2017-12-27 | 2021-04-20 | Micron Technology, Inc. | Determination of reliability of vehicle control commands via memory test |
US11914860B2 (en) * | 2018-08-20 | 2024-02-27 | Macronix International Co., Ltd. | Data storage for artificial intelligence-based applications |
US11507175B2 (en) | 2018-11-02 | 2022-11-22 | Micron Technology, Inc. | Data link between volatile memory and non-volatile memory |
KR20200060155A (ko) | 2018-11-22 | 2020-05-29 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11693593B2 (en) | 2020-10-28 | 2023-07-04 | Micron Technology, Inc. | Versioning data stored on memory device |
WO2023018470A1 (en) | 2021-08-13 | 2023-02-16 | Micron Technology, Inc. | Undo capability for memory devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089610A1 (en) * | 2007-09-27 | 2009-04-02 | Microsoft Corporation | Rapid crash recovery for flash storage |
CN101681313A (zh) * | 2008-02-29 | 2010-03-24 | 株式会社东芝 | 存储器*** |
US20110022801A1 (en) * | 2007-12-06 | 2011-01-27 | David Flynn | Apparatus, system, and method for redundant write caching |
US20110208896A1 (en) * | 2010-02-25 | 2011-08-25 | Apple Inc. | Dynamically allocating number of bits per cell for memory locations of a non-volatile memory |
US20120166723A1 (en) * | 2010-12-27 | 2012-06-28 | Hitachi, Ltd. | Storage system and management method of control information therein |
CN104050088A (zh) * | 2013-03-12 | 2014-09-17 | 旺宏电子股份有限公司 | 差异逻辑至实体的方法与*** |
-
2016
- 2016-09-13 KR KR1020160117761A patent/KR20180030319A/ko unknown
-
2017
- 2017-05-25 US US15/605,180 patent/US20180074718A1/en not_active Abandoned
- 2017-06-28 CN CN201710505109.4A patent/CN107818057A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089610A1 (en) * | 2007-09-27 | 2009-04-02 | Microsoft Corporation | Rapid crash recovery for flash storage |
US20110022801A1 (en) * | 2007-12-06 | 2011-01-27 | David Flynn | Apparatus, system, and method for redundant write caching |
CN101681313A (zh) * | 2008-02-29 | 2010-03-24 | 株式会社东芝 | 存储器*** |
US20110208896A1 (en) * | 2010-02-25 | 2011-08-25 | Apple Inc. | Dynamically allocating number of bits per cell for memory locations of a non-volatile memory |
US20120166723A1 (en) * | 2010-12-27 | 2012-06-28 | Hitachi, Ltd. | Storage system and management method of control information therein |
CN104050088A (zh) * | 2013-03-12 | 2014-09-17 | 旺宏电子股份有限公司 | 差异逻辑至实体的方法与*** |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112673356A (zh) * | 2018-08-03 | 2021-04-16 | 美光科技公司 | 快速非易失性存储装置恢复技术 |
CN112673356B (zh) * | 2018-08-03 | 2022-07-08 | 美光科技公司 | 快速非易失性存储装置恢复技术 |
CN110968263A (zh) * | 2018-10-01 | 2020-04-07 | 爱思开海力士有限公司 | 存储器*** |
CN111309518A (zh) * | 2018-12-12 | 2020-06-19 | 爱思开海力士有限公司 | 存储器***和存储器***的操作方法 |
CN111309518B (zh) * | 2018-12-12 | 2023-12-26 | 爱思开海力士有限公司 | 存储器***和存储器***的操作方法 |
CN111338995A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 数据存储装置及操作数据存储装置的方法 |
CN111338995B (zh) * | 2018-12-19 | 2023-08-18 | 爱思开海力士有限公司 | 数据存储装置及操作数据存储装置的方法 |
CN111435321A (zh) * | 2019-01-11 | 2020-07-21 | 爱思开海力士有限公司 | 处理存储器***的易失性存储器中的错误的设备和方法 |
CN111435321B (zh) * | 2019-01-11 | 2023-07-25 | 爱思开海力士有限公司 | 处理存储器***的易失性存储器中的错误的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180074718A1 (en) | 2018-03-15 |
KR20180030319A (ko) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818057A (zh) | 存储器***及其操作方法 | |
CN108572927A (zh) | 存储器***及其操作方法 | |
CN108255739A (zh) | 存储器***及其操作方法 | |
CN109144408A (zh) | 存储器***及其操作方法 | |
CN109388594A (zh) | 存储器***及其操作方法 | |
CN107562649A (zh) | 存储器***及其操作方法 | |
CN107622019A (zh) | 存储器***及其操作方法 | |
CN109947358A (zh) | 存储器***及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN108121665A (zh) | 存储器***及其操作方法 | |
CN107450845A (zh) | 存储器***及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN108388525A (zh) | 存储器***及其操作方法 | |
CN107591182A (zh) | 存储器***及其操作方法 | |
CN108257637A (zh) | 存储器***及其操作方法 | |
CN108932203A (zh) | 数据处理***和数据处理方法 | |
CN110321069A (zh) | 存储器***及其操作方法 | |
CN107562653A (zh) | 存储器***及其操作方法 | |
CN110457230A (zh) | 存储器***及其操作方法 | |
CN107807887A (zh) | 存储器***及其操作方法 | |
CN109271328A (zh) | 存储器***及其操作方法 | |
CN108932202A (zh) | 存储器***及其操作方法 | |
CN108389602A (zh) | 存储器***及其操作方法 | |
CN108447513A (zh) | 存储器***及其操作方法 | |
CN108241470A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180320 |