CN110874191A - 存储器系统及该存储器系统的操作方法 - Google Patents
存储器系统及该存储器系统的操作方法 Download PDFInfo
- Publication number
- CN110874191A CN110874191A CN201910476307.1A CN201910476307A CN110874191A CN 110874191 A CN110874191 A CN 110874191A CN 201910476307 A CN201910476307 A CN 201910476307A CN 110874191 A CN110874191 A CN 110874191A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- memory device
- error correction
- logical pages
- 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
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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/148—Details of power up or power down circuits, standby circuits or recovery circuits
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储器系统,该存储器系统可包括:多层单元存储器装置;以及控制器,适于控制存储器装置,其中控制器包括处理器,该处理器适于当存储器系统在突然断电之后被通电时,搜索开放存储块中最后编程的字线,并且控制对存储器装置的、与最后编程的字线对应的多个逻辑页面中的数据的顺序读取操作,其中处理器根据对顺序读取的数据的错误校正是否失败来结束顺序读取操作,从主机接收错误校正失败的数据以及没有执行顺序读取操作的数据,并且控制存储器装置对所接收的数据进行编程。
Description
相关申请的交叉引用
本申请要求于2018年8月31日提交的申请号为10-2018-0103737的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例涉及一种存储器系统,并且更特别地,涉及一种包括多层单元存储器装置的存储器系统及该存储器系统的操作方法。
背景技术
计算机环境范例已经转向能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器系统不具有移动部件,因此存储器系统提供诸如优良的稳定性和耐用性、高信息访问速度以及低功耗的优点。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够减少由于突然断电导致的恢复操作所需的时间的存储器系统及该存储器系统的操作方法。
在实施例中,一种存储器系统可包括:多层单元存储器装置;以及控制器,适于控制存储器装置,其中控制器包括处理器,该处理器适于当存储器系统在突然断电之后被通电时,搜索开放存储块中最后编程的字线,并且控制对存储器装置的、与最后编程的字线对应的多个逻辑页面中的数据的顺序读取操作,其中处理器根据对顺序读取的数据的错误校正是否失败来结束顺序读取操作,从主机接收错误校正失败的数据以及没有执行顺序读取操作的数据,并且控制存储器装置对所接收的数据进行编程。
在实施例中,一种多层单元存储器系统的操作方法可包括:当存储器系统在突然断电之后被通电时,搜索开放存储块中最后编程的字线;对存储器装置的、对应于与最后编程的字线对应的多个逻辑页面的数据执行顺序读取操作;根据对顺序读取的数据的错误校正是否失败来结束对与多个逻辑页面对应的数据的顺序读取操作,并且从主机接收错误校正失败的数据以及没有执行顺序读取操作的数据;以及将所接收的数据编程至存储器装置。
在实施例中,一种存储器系统可包括:存储器装置,包括联接在多个字线和多个位线之间的多个多层单元;以及控制器,适于:当存储器系统在突然断电之后被通电时,搜索多个字线之中最后编程的字线,最后编程的字线对应于多个逻辑页面;对多个逻辑页面之中的第一逻辑页面执行恢复操作;当第一逻辑页面的恢复失败时,结束对第二逻辑页面的恢复操作;并且当第一逻辑页面的恢复成功时,对多个逻辑页面之中、包括第二逻辑页面的剩余逻辑页面执行顺序恢复操作。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的框图。
图5是示出三层单元(TLC)存储器装置的常规突然断电恢复操作的流程图。
图6是示出存储器装置的阈值电压分布的示图。
图7A和图7B是示出通过存储器装置的单触发编程操作形成的存储器单元的阈值电压分布的流程图和示图。
图8是示出多个逻辑页面编程完成的顺序的示图。
图9是示出根据实施例的存储器系统的突然断电恢复操作的流程图。
图10是示出通过基于模糊-精细(foggy-fine)方法的单触发编程操作形成的存储器单元的阈值电压分布的示图。
图11是示出存储器装置的阈值电压分布的示图。
图12是示出根据实施例的存储器系统的突然断电恢复操作的流程图。
图13是示出存储器装置的阈值电压分布的示图。
图14是示出根据实施例的存储器系统的突然断电恢复操作的流程图。
图15至图23是示意性地示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
将参照附图详细地描述各个实施例。以下描述集中于根据这些实施例的方面和特征;省略公知技术材料的描述,以免不必要地模糊这些实施例的主题。
在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括可操作地联接到存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任意一种。
主机102可包括至少一个操作系统(OS),OS可管理并控制主机102的全部功能和操作,并且提供主机102和使用数据处理系统100或存储器系统110的用户之间的操作。OS可支持与用户的使用目的和用途对应的功能和操作。根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被划分为个人OS和企业OS。例如,配置成支持向一般用户提供服务的功能的个人OS可包括Windows和Chrome,配置成确保并支持高性能的企业OS可包括Windows server、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可通过各种类型的存储装置中的任意一种来实施。这种存储装置的示例包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括控制器130和存储器装置150。存储器装置150可存储用于主机102的数据,并且控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可被集成到单个半导体装置中,该单个半导体装置可被包括在如上所例示的各种类型的存储器系统中的任意一种中。例如,控制器130和存储器装置150可被集成为一个半导体装置以构成固态驱动器(SSD)。当存储器系统110用作SSD时,可提高连接到存储器系统110的主机102的操作速度。在另一实施例中,控制器130和存储器装置150可被集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、安全数字(SD)卡或通用闪存(UFS)装置,其中MMC包括尺寸减小的MMC(RS-MMC)和微型MMC,SD卡包括迷你SD、微型SD和SDHC。
存储器系统110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传送/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络的各种电子装置中的一种、射频识别(RFID)装置或构成计算系统的各种组件中的一种。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可保留存储在其中的数据。存储器装置150可通过写入操作存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供至主机102。存储器装置150可包括多个存储块152、154、156……,多个存储块152、154、156……中的每一个可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
因为稍后将参照图2至图4详细描述包括3D堆叠结构的存储器装置150的结构,因此在此省略对这方面的进一步描述。
控制器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的命令和数据。主机接口132可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、外围组件互连高速(PCI-e或PCIe)、小型计算机系统接口(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)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)的编码调制执行错误校正。然而,ECC组件138不限于任何特定的错误校正技术或结构。这样,ECC组件138可包括用于合适的错误校正的任意和所有电路、模块、系统或装置。
PMU 140可提供并管理控制器130的电力。
存储器I/F 142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器I/F 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供至存储器装置150的数据。存储器I/F 142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器I/F 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例示了存储器144设置在控制器130内部。在另一实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。而且,处理器134可被实现为微处理器或中央处理单元(CPU)。
例如,控制器130可通过处理器134在存储器装置150中执行由主机102请求的操作,处理器134被实现为微处理器或CPU。换言之,控制器130可执行与从主机102或其它源接收的命令对应的命令操作。控制器130可执行如与从主机102接收的命令对应的命令操作的前台操作。例如,控制器130可执行与写入命令对应的编程操作、与读取命令对应的读取操作、与擦除命令对应的擦除操作以及与设置参数命令或设置特征命令对应的参数设置操作。
而且,控制器130可通过处理器134对存储器装置150执行后台操作,处理器134被实现为微处理器或CPU。对存储器装置150执行的后台操作可包括:将存储在存储器装置150的存储块152、154、156……之中的一些存储块中的数据复制并处理到其它存储块中的操作,例如,垃圾收集(GC)操作;在存储块152、154、156……中的选择存储块之间交换数据的操作,例如,损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块152、154、156……中的操作,例如,映射清除(flush)操作;或者管理存储器装置150的坏块的操作,例如,检测并处理存储块152、154、156……之中的坏块的坏块管理操作。
参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出根据本发明的实施例的存储器装置,例如图1的存储器装置150的示意图。图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。图4是示出存储器装置150的示例性三维(3D)结构的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK0至BLOCKN-1,例如,BLOCK0(210)、BLOCK1(220)、BLOCK2(230)至BLOCKN-1(240)。存储块210、220、230至240中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。例如,在一些应用中,每个存储块可包括M个页面。每个页面可包括联接到字线WL的多个存储器单元。
而且,存储器装置150可包括多个存储块,存储块可包括单层单元(SLC)存储块和/或多层单元(MLC)存储块,SLC存储块具有每个存储一位数据的SLC,MLC存储块具有每个存储两位或更多位数据的MLC。根据本发明的实施例,存储器装置150被描述为非易失性存储器,诸如闪速存储器,例如,NAND闪速存储器。然而,存储器装置150可被实现为相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移矩磁性随机存取存储器(STT-RAM或STT-MRAM)中的任意一种。
存储块210、220、230至240可通过编程操作存储从主机102传输的数据,并且通过读取操作将存储在其中的数据传输到主机102。
参照图3,存储块330可对应于存储器系统110的存储器装置150中包括的多个存储块152、154、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中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然图3示出了NAND闪速存储器单元,但是本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元或者混合闪速存储器单元,该混合闪速存储器单元包括组合在其中的两个或更多个类型的存储器单元。而且,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可进一步包括电压供应单元310。电压供应单元310可提供包括编程电压、读取电压和通过电压的字线电压以根据操作模式供应至字线。电压供应单元310的电压生成操作可由控制电路(未示出)来控制。在控制电路的控制下,电压供应单元310可根据需要选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作用于根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别与列(或位线)或列对(或位线对)对应的多个页面缓冲器(PB)322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可由二维(2D)或三维(3D)存储器装置来实施。特别地,如图4所示,存储器装置150可由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLOCK0至BLOCKN-1。图4是示出图1所示的存储器装置150的存储块152、154、156……的框图。存储块152、154、156……中的每一个可以3D结构(或垂直结构)来实现。例如,存储块152、154、156……可以是具有在例如x轴方向、y轴方向和z轴方向的第一至第三方向上延伸的尺寸的三维结构。
存储器装置150中的每个存储块330可包括在第二方向上延伸的多个NAND串NS,以及在第一方向和第三方向上延伸的多个NAND串NS(未示出)。NAND串NS中的每一个可联接到位线BL、至少一个源极选择线SSL、至少一个漏极选择线DSL、多个字线WL、至少一个虚设字线DWL(未示出)和共源线CSL,并且NAND串NS中的每一个可包括多个晶体管结构TS(未示出)。
简而言之,每个存储块330可联接到多个位线BL、多个源极选择线SSL、多个漏极选择线DSL、多个字线WL、多个虚设字线DWL和多个共源线CSL,并且每个存储块330可包括多个NAND串NS。而且,在每个存储块330中,一个位线BL可联接到多个NAND串NS,一个NAND串NS中实现多个晶体管。而且,每个NAND串NS的源极选择晶体管SST可联接到共源线CSL,并且每个NAND串NS的漏极选择晶体管DST可联接到相应位线BL。存储器单元MC可被设置在每个NAND串NS的源极选择晶体管SST和漏极选择晶体管DST之间。换言之,多个存储器单元可被实现在存储器装置150的存储块152、154、156……的每个存储块330中。
图5是示出三层单元(TLC)存储器装置的常规突然断电恢复操作的流程图。
当包括非易失性存储器装置的存储器系统在突然断电(SPO)之后被通电时,该存储器系统可执行突然断电恢复操作。
当对开放存储块执行编程操作时,存储器系统中可能发生突然断电。因此,当存储器系统中发生突然断电时,在突然断电时开放存储块中的最后编程的字线可能存储不稳定的数据。
因此,当存储器系统被通电时,存储器系统可找到开放存储块中最后编程的字线、读取存储在与最后编程的字线对应的存储器区域中的数据,并且将读取数据编程到另一区域,从而稳定地存储数据。当对读取数据的错误校正失败时,存储器系统可将请求提供至主机,并且接收与读取数据对应的数据。
当在突然断电之后通电时,可执行统称为突然断电恢复操作的一系列进程。在突然断电恢复操作中,当在突然断电之后通电时,存储器系统找到开放存储块中最后编程的字线,并且将与字线对应的数据存储在存储器装置的另一区域中。
如参照图2所描述的,非易失性存储器装置可包括能够在一个存储器单元中存储多个数据的多层单元(MLC)存储器装置。也就是说,存储器系统可通过编程一个字线来存储与多个逻辑页面对应的数据。包括多层单元存储器装置的存储器系统可读取与对应于最后编程的字线的各个逻辑页面对应的数据,并且对读取数据执行错误检测和校正,以便执行突然断电恢复操作。存储器系统可将请求提供至主机,并且接收与错误校正失败的数据(错误校正失败数据)对应的数据。存储器系统可将经校正的数据和从主机接收的数据存储在存储器装置的另一区域中。
图5示出包括三层单元(TLC)存储器装置和控制器的存储器系统的突然断电恢复操作。
参照图5,在步骤S502中,控制器执行扫描存储器装置的开放存储块的开放存储块扫描操作,以便找到最后编程的字线(WL)。
在步骤S504中,控制器控制存储器装置读取与对应于最后编程的字线的逻辑页面之中的第一逻辑页面对应的第一数据。
在步骤S506中,控制器对从存储器装置读取的第一数据执行错误检测和校正。此外,控制器确定对第一数据的错误校正是成功还是失败。
当错误校正成功(步骤S506中为“是”)时,在步骤S508中,控制器将经校正的第一数据缓冲在其缓冲器中。
当错误校正失败(步骤S506中为“否”)时,控制器执行步骤S510。
在步骤S510中,控制器控制存储器装置读取与对应于最后编程的字线的逻辑页面之中的第二逻辑页面对应的第二数据。
在步骤S512中,控制器对从存储器装置读取的第二数据执行错误检测和校正。此外,控制器确定对第二数据的错误校正是成功还是失败。
当错误校正成功(步骤S512中为“是”)时,在步骤S514中,控制器将经校正的第二数据缓冲在缓冲器中。
当错误校正失败(步骤S512中为“否”)时,控制器执行步骤S516。
在步骤S516中,控制器控制存储器装置读取与对应于最后编程的字线的逻辑页面之中的第三逻辑页面对应的第三数据。
在步骤S518中,控制器对从存储器装置读取的第三数据执行错误检测和校正。此外,控制器确定对第三数据的错误校正是成功还是失败。
当错误校正成功(步骤S518中为“是”)时,在步骤S520中,控制器将经校正的第三数据缓冲在缓冲器中。
当错误校正失败(步骤S518中为“否”)时,控制器执行步骤S522。
当存在由于步骤S506、S512和S518中的一个或多个步骤中的错误校正失败而未缓冲的数据时,在步骤S522中,控制器将请求提供至主机并且从主机接收未缓冲的数据。
在步骤S524中,控制器控制存储器装置将缓冲的数据和从主机接收的数据编程到另一存储器区域。
如上所述,包括多层单元存储器装置的存储器系统需要对与最后编程的字线对应的全部逻辑页面执行读取操作和错误校正操作,以便恢复存储器系统的突然断电。
图6示出图1至图4的存储器装置150的阈值电压分布。
当存储器装置150是三层单元(TLC)存储器装置时,联接到字线的多个存储器单元中的每一个可存储三位数据。图6示出TLC可具有的电压分布。当编程TLC时,TLC可具有七个编程状态P1至P7和一个擦除状态E之中的任意一个阈值电压状态。例如,八个状态中的每一个可被映射到格雷码,因此表示三位数据。在读取操作期间,八个状态可通过七个读取电压Vread1至Vread7来区分。图6例示各个阈值电压状态可表示的数据。例如,在图6中,处于擦除状态E的存储器单元可具有逻辑值“111”,并且处于第五编程状态P5的存储器单元可具有逻辑值“110”。
多层单元存储器装置150可通过将编程电压施加至一个字线来对多个逻辑页面执行编程操作。存储器装置150可执行作为单触发编程操作的一系列进程。在单触发编程操作中,存储器装置150将与多个逻辑页面对应的全部数据缓冲在页面缓冲器PB中,然后对全部逻辑页面执行编程操作。
当对多层单元存储器装置150中包括的字线执行编程操作时,根据将存储在存储器单元中的位值,联接到字线的存储器单元中的每一个可被编程至将多层单元可具有的阈值电压状态中的任意一个作为目标。当存储器装置150执行单触发编程操作时,可从具有低目标阈值电压状态的存储器单元至具有高目标阈值电压状态的存储器单元顺序地形成存储器单元的阈值电压分布。
图7A和图7B是示出通过存储器装置150的单触发编程操作形成的存储器单元的阈值电压分布的流程图和示图。
作为存储器装置150的单触发编程方法中的一种,增量阶跃脉冲编程(ISPP)方法是已知的。
图7A是示出基于ISPP方法的单触发编程操作的流程图。
参照图7A,在步骤S702中,存储器装置150将起始电压设置为编程(PGM)电压。在步骤S704中,存储器装置150将编程电压施加至待编程的字线。
在步骤S706中,存储器装置150将验证电压施加至字线,以便验证每个存储器单元是否已经达到其目标阈值电压。
当已经通过验证的存储器单元的数量大于或等于可预定的设定值(步骤S706中为“是”)时,编程操作结束。
另一方面,当已经通过验证的存储器单元的数量小于设定值(步骤S706中为“否”)时,在步骤S708中,存储器装置150将编程电压增加阶跃电压。然后,存储器装置150对尚未通过验证的存储器单元执行步骤S704的操作。存储器装置150重复该进程,直到通过验证的存储器单元的数量大于或等于设定值。
图7B示出通过基于ISPP方法的单触发编程操作形成的存储器单元的阈值电压分布。
参照图7B,当存储器装置150基于ISPP方法执行编程操作时,可从具有低阈值电压状态的存储器单元至具有高阈值电压状态的存储器单元顺序地完成存储器单元的阈值电压分布,以形成如图6中所示的分布。
图7B示出九个阈值电压分布图。在每个图中,横轴表示存储器单元的阈值电压(即,Vth),纵轴表示具有相应阈值电压的存储器单元的数量(即,单元的#)。
第一图表示当在通过ISPP方法执行编程操作时重复九次将编程电压施加至字线时的阈值电压分布。第一图示出当将编程电压施加至字线九次时,存储器单元的阈值电压分布可形成为擦除状态E以及第一编程状态P1和第二编程状态P2。
第二图表示当重复十次将编程电压施加至字线时的阈值电压分布。第三图表示当重复十一次将编程电压施加至字线时的阈值电压分布。第九图表示当重复十七次将编程电压施加至字线时的阈值电压分布。
第九图示出当将编程电压施加至字线十七次时,存储器单元的阈值电压分布可形成为擦除状态E和第一至第五编程状态P1至P5。
如果另外施加编程电压,则可形成与擦除状态E和第一至第七编程状态P1至P7对应的全部电压分布。
图8是示出多个逻辑页面编程完成的顺序的示图。
在图8中,阈值电压分布和映射到各个阈值电压状态的格雷码可与参照图6描述的相同。
在图8的示例中,存储器装置150可通过将第一读取电压Vread1和第五读取电压Vread5施加至字线来读取存储在最高有效位(MSB)页面中的数据。
具体地,当存储器装置150将第一读取电压Vread1施加至字线时,因为处于擦除状态E的存储器单元的阈值电压小于第一读取电压Vread1,所以电流可流经与处于擦除状态E的存储器单元对应的位线,并且因为处于编程状态P1至P7的存储器单元的阈值电压大于第一读取电压Vread1,所以没有电流可流经与处于编程状态P1至P7的存储器单元对应的位线。因此,擦除状态E可与编程状态P1至P7区分开。
类似地,当存储器装置150将第五读取电压Vread5施加至字线时,从擦除状态E至第四编程状态P4的阈值电压状态可与从第五编程状态P5至第七编程状态P7的阈值电压状态区分开。
因此,存储器装置150可通过对施加第一读取电压Vread1和第五读取电压Vread5之后的读取结果执行逻辑运算(例如,XNOR)来读取存储在MSB页面中的数据。
类似地,存储器装置150可通过将第二读取电压Vread2、第四读取电压Vread4和第六读取电压Vread6施加至字线来读取存储在中间有效位(CSB)页面中的数据,并且通过施加第三读取电压Vread3和第七读取电压Vread7来读取存储在最低有效位(LSB)页面中的数据。
返回参照图7B,当存储器装置150通过将编程电压重复施加至字线来完成用于包括状态E至P5的六个阈值电压状态的编程操作时,即使全部编程操作尚未完成,在图6和图8的示例中,也可对与字线对应的MSB页面成功地执行读取操作。
类似地,当存储器装置150通过将编程电压重复施加至字线来完成用于包括状态E至P6的七个阈值电压状态的编程操作时,可对与字线对应的MSB页面和CSB页面成功地执行读取操作。
也就是说,当具有图6和图8的阈值电压分布和格雷码映射的存储器装置150执行单触发编程操作时,可首先完成对与待编程的字线对应的多个逻辑页面之中的MSB页面的编程操作,并且可顺序地完成对CSB页面和LSB页面的编程操作。
根据参照图5描述的突然断电恢复操作,包括多层单元存储器装置的存储器系统需要对与最后编程的字线对应的全部逻辑页面执行读取操作和错误校正操作,以便恢复存储器系统的突然断电。图1的ECC组件138可使用诸如硬判决、软判决或芯片删除(chipkill)的算法来执行错误校正,并且可应用一个或多个算法来对每个逻辑页面执行一个错误校正操作。当ECC组件138对每个逻辑页面执行一个或多个错误校正操作时,突然断电恢复时间可能增加。
根据实施例,当执行包括多层单元存储器装置150的存储器系统110的突然断电恢复操作时,存储器系统110可按照逻辑页面编程完成的顺序对与最后编程的字线对应的逻辑页面执行读取操作。当存储器系统110对第一编程的逻辑页面的错误校正失败时,难以预料将成功地执行对下一编程的逻辑页面的错误校正。
因此,当对第一编程的逻辑页面的错误校正失败时,存储器系统110可不对下一逻辑页面执行读取操作。根据实施例,在突然断电恢复操作期间,存储器系统110可不执行无用的错误校正,从而减少整个突然断电恢复时间。
图9示出根据本实施例的存储器系统,例如图1的存储器系统110的突然断电恢复操作。
参照图9,在步骤S902中,图1的处理器134可执行开放存储块扫描操作以搜索并且找到最后编程的字线(WL)。
在步骤S904中,处理器134可控制存储器装置150对与最后编程的字线对应的多个逻辑页面之中的第一逻辑页面执行读取操作。第一逻辑页面可表示与最后编程的字线对应的逻辑页面之中、通过单触发编程操作第一完成编程的逻辑页面。在图6和图8的示例中,第一逻辑页面可对应于MSB页面。
在步骤S906中,ECC组件138可对从存储器装置150的第一逻辑页面读取的第一数据执行错误检测和校正。此外,ECC组件138可确定对第一数据的错误校正是成功还是失败。
当ECC组件138错误校正成功(步骤S906中为“是”)时,在步骤S910中,处理器134可将经校正的第一数据缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S906中为“否”)时,处理器134可执行步骤S908的操作,而不执行步骤S910至S926的操作。在步骤S908中,处理器134可向主机102请求将被编程到与最后编程的字线对应的存储器区域的数据。处理器134可通过主机接口132从主机102接收所请求的数据(例如,第一数据至第三数据),并且将接收的数据缓冲在存储器144中。
在步骤S910的缓冲操作之后,在步骤S912中,处理器134可控制存储器装置150对与最后编程的字线对应的多个逻辑页面之中的第二逻辑页面执行读取操作。第二逻辑页面可表示与最后编程的字线对应的逻辑页面之中、通过单触发编程操作第二完成编程的逻辑页面。在图6和图8的示例中,第二逻辑页面可对应于CSB页面。
在步骤S914中,ECC组件138可对从存储器装置150的第二逻辑页面读取的第二数据执行错误检测和校正。此外,ECC组件138可确定对第二数据的错误校正是成功还是失败。
当ECC组件138错误校正成功(步骤S914中为“是”)时,在步骤S918中,处理器134可将经校正的第二数据缓冲在存储器144中。作为步骤S918的结果,第一数据和第二数据可缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S914中为“否”)时,处理器134可执行步骤S916的操作,而不执行步骤S918至S926的操作。在步骤S916中,处理器134可向主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除在步骤S906中错误校正成功的第一数据之外的数据。处理器134可通过主机接口132从主机102接收所请求的数据(例如,第二数据和第三数据),并且将接收的数据与第一数据一起缓冲在存储器144中。
在步骤S918的缓冲操作之后,在步骤S920中,处理器134可控制存储器装置150对与最后编程的字线对应的多个逻辑页面之中的第三逻辑页面执行读取操作。第三逻辑页面可表示与最后编程的字线对应的逻辑页面之中、通过单触发编程操作第三完成编程的逻辑页面。在TLC存储器装置的情况下,第三逻辑页面可表示最后完成编程的逻辑页面。在图6和图8的示例中,第三逻辑页面可对应于LSB页面。
在步骤S922中,ECC组件138可对从存储器装置150的第三逻辑页面读取的第三数据执行错误检测和校正。此外,ECC组件138可确定对第三数据的错误校正是成功还是失败。
当ECC组件138错误校正成功(步骤S922中为“是”)时,在步骤S926中,处理器134可将经校正的第三数据缓冲在存储器144中。第一数据至第三数据当前可缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S922中为“否”)时,在步骤S924中,处理器134可向主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除错误校正成功的第一数据和第二数据之外的数据。处理器134可通过主机接口132从主机102接收数据(例如,第三数据),并且将接收的数据与第一数据和第二数据一起缓冲在存储器144中。
在步骤S928中,处理器134可将缓冲的数据编程到存储器装置150的另一区域。
如上所述,当对第一编程的逻辑页面的错误校正失败时,存储器系统110可不对成功错误校正的可能性低,即难以预料成功的其它逻辑页面执行读取操作,从而减少错误校正操作所需的时间。因此,可减少存储器系统110的整个突然断电恢复时间,从而改善性能。
如参照图9所描述的,多个逻辑页面之中的第一至第三逻辑页面可根据逻辑页面编程完成的顺序来确定。换言之,第一至第三逻辑页面中的每一个可根据用于读取相应逻辑页面的读取电压之中的最高读取电压来确定。第一至第三逻辑页面可按照最高读取电压的升序来确定。在图8的示例中,MSB页面的最高读取电压是第五读取电压Vread5,CSB页面的最高读取电压是第六读取电压Vread6,并且LSB页面的最高读取电压是第七读取电压Vread7。因此,第一逻辑页面是MSB页面,第二逻辑页面是CSB页面,第三逻辑页面是LSB页面。
在本实施例中,参照图6至图9已经描述了通过ISPP方法来通过单触发编程操作对TLC存储器装置进行编程的情况。然而,本实施例不限于此。
例如,本实施例还可应用于通过模糊-精细方法对存储器单元进行编程的存储器系统110。
图10示出通过基于模糊-精细方法的单触发编程操作形成的存储器单元的阈值电压分布。基于模糊-精细方法的单触发编程操作可由图1的包括存储器装置150的存储器系统110执行。
参照图10,存储器装置150可执行通过将电压施加至待编程的字线来使具有高目标阈值电压的存储器单元的阈值电压增加的第一编程步骤Step 1。
存储器装置150可执行通过将电压施加至字线使各个存储器单元的阈值电压增加到接近各个存储器单元的目标阈值电压的值的第二编程步骤Step 2。
存储器装置150可执行精细调整各个存储器单元的阈值电压,使得各个存储器单元具有目标阈值电压的第三编程步骤Step 3。存储器系统110可顺序地执行第一步骤至第三步骤,从而通过模糊-精细方法完成单触发编程操作。
可从具有低目标电压的存储器单元至具有高目标电压的存储器单元顺序地对存储器单元执行第三编程步骤。也就是说,当具有图10的格雷码映射的存储器装置150执行单触发编程操作时,可首先完成对与待编程的字线对应的多个逻辑页面之中的MSB页面的编程操作,并且可顺序地完成对CSB页面和LSB页面的编程操作。
因此,根据本实施例的存储器系统110可不管单触发编程方法而执行参照图9描述的操作,从而减少突然断电恢复操作所需的时间。本实施例还可应用于使用另一格雷码映射方法的存储器系统110。
图11示出图1的存储器装置150的阈值电压分布。
图11示出三层单元(TLC)可具有的八个阈值电压状态中的每一个可以与图6的示例不同的方式映射到格雷码。
存储器装置150可通过将第一读取电压Vread1和第五读取电压Vread5施加至字线来读取存储在CSB页面中的数据。
类似地,存储器装置150可通过将第二读取电压Vread2、第四读取电压Vread4和第六读取电压Vread6施加至字线来读取存储在MSB页面中的数据,并且通过将第三读取电压Vread3和第七读取电压Vread7施加至字线来读取存储在LSB页面中的数据。
当如上所述执行存储器装置150的单触发编程操作时,可从具有最低阈值电压的存储器单元至具有最高阈值电压的存储器单元顺序地完成存储器单元的阈值电压分布。因此,在图11的示例中,可首先完成对与待编程的字线对应的多个逻辑页面之中的CSB页面的编程操作,并且可顺序地完成对MSB页面和LSB页面的编程操作。
因此,根据本实施例的存储器系统110可不管格雷码映射方法而执行参照图9描述的操作,从而减少突然断电恢复操作所需的时间。在图11的示例中,第一逻辑页面可对应于CSB页面,第二逻辑页面可对应于MSB页面,第三逻辑页面可对应于LSB页面。
图12是示出根据实施例的存储器系统,例如图1的存储器系统110的突然断电恢复操作的流程图。
参照图12,在步骤S1202中,处理器134可执行开放存储块扫描操作以搜索并找到最后编程的字线(WL)。处理器134可控制存储器装置150执行开放存储块扫描操作。
当步骤S1202完成时,在步骤S1204中,处理器134可将读取命令(CMD)提供至存储器装置150以对与最后编程的字线对应的多个逻辑页面之中的第一逻辑页面执行读取操作。
在步骤S1206中,存储器装置150可响应于读取命令对第一逻辑页面执行读取操作。
在步骤S1208中,存储器装置150可读取存储在第一逻辑页面中的第一数据并且通过存储器接口142将第一数据提供至控制器130。
在步骤S1210中,ECC组件138可对读取的第一数据执行错误检测和校正。此外,ECC组件138可确定对第一数据的错误校正是成功还是失败。
当ECC组件138错误校正成功(步骤S1210中为“是”)时,在步骤S1214中,处理器134可将经校正的第一数据缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S1210中为“否”)时,处理器134可执行步骤S1212,而不执行步骤S1214至S1238。在步骤S1212中,处理器134可向主机102请求待编程到与最后编程的字线对应的存储器区域的数据。
在步骤S1240中,主机102可响应于步骤S1212的请求通过主机接口132将数据提供至处理器134。处理器134可将提供的数据缓冲在存储器144中。
当处理器134完成步骤S1214的缓冲时,在步骤S1216中,处理器134可将读取命令提供至存储器装置150以对多个逻辑页面之中的第二逻辑页面执行读取操作。
在步骤S1218中,存储器装置150可响应于读取命令对第二逻辑页面执行读取操作。
在步骤S1220中,存储器装置150可读取存储在第二逻辑页面中的第二数据并且通过存储器接口142将第二数据提供至控制器130。
在步骤S1222中,ECC组件138可对读取的第二数据执行错误检测和校正。此外,ECC组件138可确定对第二数据的错误校正是成功还是失败。
当ECC组件138错误校正成功(步骤S1222中为“是”)时,在步骤S1226中,处理器134可将经校正的第二数据缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S1222中为“否”)时,处理器134可执行步骤S1224,而不执行步骤S1226至S1238。在步骤S1224中,处理器134可向主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除第一数据之外的数据。
在步骤S1240中,主机102可响应于步骤S1224的请求通过主机接口132将数据提供至处理器134。处理器134可将从主机提供的数据与在步骤S1214中缓冲的第一数据一起缓冲在存储器144中。
当处理器134完成步骤S1226的缓冲时,在步骤S1228中,处理器134可将读取命令提供至存储器装置150以对多个逻辑页面之中的第三逻辑页面执行读取操作。
在步骤S1230中,存储器装置150可响应于读取命令对第三逻辑页面执行读取操作。
在步骤S1232中,存储器装置150可读取存储在第三逻辑页面中的第三数据并且通过存储器接口142将第三数据提供至控制器130。
在步骤S1234中,ECC组件138可对读取的第三数据执行错误检测和校正。此外,ECC组件138可确定对第三数据的错误校正是成功还是失败。
当ECC组件138错误校正成功(步骤S1234中为“是”)时,在步骤S1238中,处理器134可将经校正的第三数据缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S1234中为“否”)时,在步骤S1236中,处理器134可向主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除第一数据和第二数据之外的数据。
在步骤S1240中,主机102可响应于步骤S1236的请求通过主机接口132将数据提供至处理器134。处理器134可将从主机提供的数据与在步骤S1214缓冲的第一数据以及在步骤S1226中缓冲的第二数据一起缓冲在存储器144中。
在步骤S1242中,处理器134可将写入命令提供至存储器装置150以将缓冲的数据编程到另一区域。
在步骤S1244中,存储器装置150可响应于写入命令对缓冲的数据进行编程。
本实施例不仅可应用于TLC存储器装置,而且还可应用于能够在一个存储器单元中存储多位数据的多层单元存储器装置。
图13示出图1的存储器装置150的阈值电压分布。
当存储器装置150为四层单元(QLC)存储器装置时,联接到字线的多个存储器单元中的每一个可存储4位数据。图13示出QLC可具有的电压分布。QLC可具有15个编程状态P1至P15和一个擦除状态E之中的任意一个阈值电压状态。例如,16个状态中的每一个可被映射到格雷码,因此表示4位数据。在读取操作期间,16个状态可通过15个读取电压来区分。图13例示各个阈值电压状态可表示的数据。图13示出根据位顺序的第一位、第二位、第三位和第四位。例如,第一位可表示最高有效位,第四位可表示最低有效位。
在图13的示例中,存储器装置150可通过将第四读取电压Vread4、第十读取电压Vread10、第十二读取电压Vread12和第十四读取电压Vread14(即,R4、R10、R12、R14)施加至字线来读取存储在第四位页面中的数据。
类似地,存储器装置150可通过将第三读取电压Vread3、第五读取电压Vread5、第九读取电压Vread9和第十五读取电压Vread15(即,R3、R5、R9、R15)施加至字线来读取存储在第三位页面中的数据。此外,存储器装置150可通过将第二读取电压Vread2,第七读取电压Vread7和第十三读取电压Vread13(即,R2、R7、R13)施加至字线来读取存储在第二位页面中的数据。此外,存储器装置150可通过将第一读取电压Vread1、第六读取电压Vread6、第八读取电压Vread8和第十一读取电压Vread11(即,R1、R6、R8、R11)施加至字线来读取存储在第一位页面中的数据。
即使当存储器装置150是QLC存储器装置时,也可通过单触发编程操作从具有最低目标阈值电压的存储器单元至具有最高目标阈值电压的存储器单元顺序地完成存储器单元的阈值电压分布。因此,当在直到第十一编程状态P11的阈值电压状态下完成对字线的编程操作时,可成功地对与字线对应的LSB页面执行读取操作。
在图13的示例中,第一逻辑页面可设置为第一位页面,第二逻辑页面可设置为第二位页面,第三逻辑页面可设置为第三位页面,第四逻辑页面可设置为第四位页面,这是逻辑页面编程完成的顺序。
因此,根据本实施例的存储器系统110可不管能够在一个存储器单元中存储的数据的量而执行参照图9描述的操作。也就是说,在突然断电恢复操作期间,存储器系统110可按照逻辑页面编程完成的顺序对与最后编程的字线对应的逻辑页面执行读取操作。当对第一编程的逻辑页面的错误校正失败时,存储器系统110可不对下一逻辑页面执行读取操作。
图14是示出根据本实施例的存储器系统,例如图1的存储器系统110的突然断电恢复操作的流程图。具体地,图14示出应用于包括具有四个层单元或四层单元(QLC)的存储器装置150的存储器系统110的本实施例的示例。
步骤S1402至S1438可分别对应于图12的步骤S1202至S1238。
也就是说,在步骤S1402中,存储器系统110可执行开放存储块扫描操作以搜索并找到最后编程的字线。存储器系统110可按照逻辑页面编程完成的顺序,即按照第一逻辑页面至第四逻辑页面的顺序,对与最后编程的字线对应的多个逻辑页面执行读取操作。
当ECC组件138对第一数据的错误校正失败(步骤S1410中为“否”)时,处理器134可不执行步骤S1414至S1450。而是,在步骤S1412中,处理器134可从主机102请求待编程到与最后编程的字线对应的存储器区域的数据。
在步骤S1452中,主机102可响应于步骤S1412的请求通过主机接口132将数据提供至处理器134。处理器134可将从主机提供的数据缓冲在存储器144中。
当ECC组件138对第二数据的错误校正失败(步骤S1422中为“否”)时,处理器134可不执行步骤S1426至S1450。而是,在步骤S1424中,处理器134可从主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除第一数据之外的数据。
在步骤S1452中,主机102可响应于步骤S1424的请求通过主机接口132将数据提供至处理器134。处理器134可将从主机提供的数据与在步骤S1414中缓冲的第一数据一起缓冲在存储器144中。
当ECC组件138对第三数据的错误校正失败(步骤S1434中为“否”)时,处理器134可不执行步骤S1438至S1450。而是,在步骤S1436中,处理器134可从主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除第一数据和第二数据之外的数据。
在步骤S1452中,主机102可响应于步骤S1436的请求通过主机接口132将数据提供至处理器134。处理器134可将从主机提供的数据与在步骤S1414和S1426中缓冲的第一数据和第二数据一起缓冲在存储器144中。
当ECC组件138对第三数据的错误校正成功(步骤S1434中为“是”)时,在步骤S1438中,处理器134可将第三数据缓冲在存储器144中。
在步骤S1440中,处理器134可将读取命令提供至存储器装置150以对多个逻辑页面之中的第四逻辑页面执行读取操作。
在步骤S1442中,存储器装置150可响应于读取命令对第四逻辑页面执行读取操作。
在步骤S1444中,存储器装置150可读取存储在第四逻辑页面中的第四数据并通过存储器接口142将第四数据提供至控制器130。
在步骤S1446中,ECC组件138可对读取的第四数据执行错误检测和校正。
当ECC组件138错误校正成功(步骤S1446中为“是”)时,在步骤S1450中,处理器134可将经校正的第四数据缓冲在存储器144中。
当ECC组件138错误校正失败(步骤S1446中为“否”)时,在步骤S1448中,处理器134可从主机102请求待编程到与最后编程的字线对应的存储器区域的数据之中、除第一数据至第三数据之外的数据。
在步骤S1452中,主机102可响应于步骤S1448的请求通过主机接口132将数据提供至处理器134。处理器134可将从主机提供的数据与在步骤S1414、S1426和S1438中缓冲的第一数据至第三数据一起缓冲在存储器144中。
在步骤S1454中,处理器134可将写入命令提供至存储器装置150以将缓冲的数据编程到另一区域。
在步骤S1456中,存储器装置150可响应于写入命令对缓冲的数据进行编程。
根据本实施例,在突然断电恢复操作期间,存储器系统110可不执行无用的错误校正,从而减少整个突然断电恢复时间。
图15至图23是示意性地示出根据各个实施例的图1至图14的数据处理系统的应用示例的示图。
图15是示意性地示出根据实施例的包括存储器系统的数据处理系统的示图。特别地,图15示意性地示出应用根据实施例的存储器系统的存储卡系统6100。
参照图15,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接到通过非易失性存储器(NVM)实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,如图1所示,存储器控制器6120可包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所描述的,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI高速(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或WiFi)以及蓝牙。因此,存储器系统和数据处理系统可应用于有线和/或无线电子装置,特别是移动电子装置。
存储器装置6130可由非易失性存储器(NVM)来实施。例如,存储器装置6130可由诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移矩磁性RAM(STT-RAM)。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可被集成以形成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可形成诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、数字安全(SD)卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图16是示意性地示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的示图。
参照图16,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如参照图1所描述的,数据处理系统6200可用作诸如存储卡(例如,CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个中央处理单元(CPU)6221、诸如随机存取存储器(RAM)6222的缓冲存储器、错误校正码(ECC)电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如,读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM6222可用于缓冲从主机6210传送到存储器装置6230或从存储器装置6230传送到主机6210的数据。当RAM 6222用作高速缓存存储器时,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)码、turbo码、里德-所罗门码、卷积码、递归系统码(RSC)或诸如网格编码调制(TCM)或分组编码调制(BCM)的编码调制来校正错误。
存储器控制器6220可通过主机接口6224与主机6210交换数据,并通过NVM接口6225与存储器装置6230交换数据。主机接口6224可通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、外围组件互连高速(PCIe)或NAND接口而连接到主机6210。存储器控制器6220可利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接到例如主机6210或另一外部装置的外部装置,然后将数据传送到外部装置和/或从外部装置接收数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此存储器系统和数据处理系统可应用于有线和/或无线电子装置,特别是移动电子装置。
图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。特别地,图17示意性地示出可应用存储器系统的固态驱动器(SSD)6300。
参照图17,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、错误校正码(ECC)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器,或者诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移矩磁性RAM(STT-MRAM)和相变RAM(PRAM)的非易失性存储器实施。通过示例的方式,图17示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可设置在控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的错误校正码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用图1的存储器系统110的多个SSD 6300以实施数据处理系统,例如,独立磁盘冗余阵列(RAID)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将与写入命令对应的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从选择的SSD 6300读取的数据提供至主机6310。
图18是示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。例如,图18示出可应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图18,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接口。
参照图15至图18已经描述的存储器控制器6120、存储器控制器6220、控制器6320和控制器6430中的每一个可包括处理器、ECC组件和存储器。存储器控制器6120、存储器控制器6220、控制器6320和控制器6430中的每一个可在突然断电恢复操作期间,控制存储器装置对与最后编程的字线对应的多个逻辑页面的顺序读取操作,并且根据对顺序读取的数据的错误校正是否失败来结束对多个逻辑页面的顺序读取操作。因此,存储器系统可不对难以预料编程完成的逻辑页面执行无用的读取操作和错误校正操作,从而减少突然断电恢复操作所需的时间。
图19至图22是示出根据一个或多个实施例的包括存储器系统的数据处理系统的其它示例的示图。例如,图19至图22示出可应用存储器系统的通用闪存(UFS)系统。根据参照图1至图18描述的各个实施例的存储器系统可应用于参照图19至图22描述的通用闪存(UFS)系统。
参照图19至图22,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可以参照图16至图18描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图15描述的存储卡系统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的各种协议彼此通信。
在图19所示的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处的链路层交换来彼此通信。在图19的实施例中,通过示例的方式示出一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并联或以星型形式连接到主机6510,并且多个UFS卡可并联或以星型形式连接到UFS装置6520或者串联或以链型形式连接到UFS装置6520。
在图20所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过执行例如L3交换的UniPro处的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过交换模块6640的UniPro处的链路层交换来彼此通信。在图20的实施例中,通过示例的方式示出一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并联或以星型形式连接到交换模块6640,并且多个UFS卡可串联或以链型形式连接到UFS装置6620。
在图21所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行交换操作的交换模块6740,例如通过执行例如L3交换的UniPro处的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过交换模块6740的UniPro处的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在图21的实施例中,通过示例的方式示出一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,在另一实施例中,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接到主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接到UFS装置6720。
在图22所示的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交换来彼此通信。在图22的实施例中,通过示例的方式示出一个UFS装置6820连接到主机6810并且一个UFS卡6830连接到UFS装置6820的配置。然而,在另一实施例中,多个UFS装置可并联或以星型形式连接到主机6810,或者串联或以链型形式连接到主机6810,并且多个UFS卡可并联或以星型形式连接到UFS装置6820,或者串联或以链型形式连接到UFS装置6820。
图23是示出根据实施例的包括存储器系统的数据处理系统的示图。例如,图23是示出可应用存储器系统的用户系统6900的示图。
参照图23,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可驱动例如操作系统(OS)的用户系统6900中包括的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如以下的易失性随机存取存储器(RAM):动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDRAM、LPDDR2SDRAM或LPDDR3SDRAM,或者诸如以下的非易失性RAM:相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(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。此外,存储模块6950可被实施为如上参照图17至图22所描述的SSD、eMMC和UFS。
在实施例中,存储模块6950可包括在突然断电恢复操作期间,控制存储器装置对与最后编程的字线对应的多个逻辑页面的顺序读取操作,并且根据对顺序读取的数据的错误校正是否失败来结束对多个逻辑页面的顺序读取操作以便减少突然断电恢复操作所需的时间的装置。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据实施例,提供了一种能够减少由于突然断电导致的恢复操作所需的时间的存储器系统及该存储器系统的操作方法。
虽然已经示出并且描述了各个实施例,但是根据本公开,对于本领域技术人员将显而易见的是,在不脱离如权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种存储器系统,包括:
多层单元存储器装置;以及
控制器,控制所述多层单元存储器装置,
其中所述控制器包括处理器,当所述存储器系统在突然断电之后被通电时,所述处理器搜索开放存储块中最后编程的字线,并且控制对所述多层单元存储器装置的、与所述最后编程的字线对应的多个逻辑页面中的数据的顺序读取操作,
其中所述处理器根据对顺序读取的数据的错误校正是否失败来结束所述顺序读取操作,从主机接收错误校正失败的数据以及没有执行所述顺序读取操作的数据,并且控制所述多层单元存储器装置对所接收的数据进行编程。
2.根据权利要求1所述的存储器系统,其中所述控制器进一步包括对所述顺序读取的数据执行所述错误校正的错误校正码组件,即ECC组件。
3.根据权利要求1所述的存储器系统,其中所述处理器通过控制所述多层单元存储器装置按照通过单触发编程操作对所述多个逻辑页面进行编程的顺序对与所述多个逻辑页面对应的数据执行读取操作来控制所述顺序读取操作。
4.根据权利要求1所述的存储器系统,其中所述控制器进一步包括临时存储从所述主机接收的数据的存储器。
5.根据权利要求4所述的存储器系统,其中所述处理器将经校正的数据临时存储在所述存储器中,并且控制所述多层单元存储器装置以将存储在所述存储器中的数据编程至所述多层单元存储器装置。
6.根据权利要求3所述的存储器系统,其中通过所述单触发编程操作对所述多个逻辑页面进行编程的顺序根据存储器单元的多个阈值电压状态与格雷码之间的映射来确定。
7.根据权利要求3所述的存储器系统,其中通过所述单触发编程操作对所述多个逻辑页面进行编程的顺序根据用于读取各个逻辑页面的读取电压的升序来确定。
8.根据权利要求2所述的存储器系统,其中所述处理器控制对所述多层单元存储器装置的、与所述多个逻辑页面之中的第一逻辑页面对应的数据的读取操作,
所述ECC组件对所述多层单元存储器装置的、与所述第一逻辑页面对应的第一数据执行错误校正,并且
所述处理器根据对所述第一数据的错误校正是否失败从所述主机接收与所述多个逻辑页面对应的数据,并且控制所述多层单元存储器装置以将所接收的数据编程至所述多层单元存储器装置。
9.根据权利要求8所述的存储器系统,其中所述第一逻辑页面包括与通过单触发编程操作首先存储的数据对应的逻辑页面。
10.一种多层单元存储器系统的操作方法,包括:
当所述多层单元存储器系统在突然断电之后被通电时,搜索开放存储块中最后编程的字线;
对存储器装置的、对应于与所述最后编程的字线对应的多个逻辑页面的数据执行顺序读取操作;
根据对顺序读取的数据的错误校正是否失败来结束对与所述多个逻辑页面对应的数据的所述顺序读取操作,并且从主机接收错误校正失败的数据以及没有执行所述顺序读取操作的数据;以及
将所接收的数据编程至所述存储器装置。
11.根据权利要求10所述的操作方法,进一步包括对所述顺序读取的数据执行所述错误校正。
12.根据权利要求11所述的操作方法,其中对所述顺序读取的数据执行所述错误校正通过硬判决、软判决和芯片删除中的一种或多种技术来执行。
13.根据权利要求10所述的操作方法,其中对所述存储器装置的、与所述最后编程的字线对应的所述多个逻辑页面的数据执行所述顺序读取操作包括:按照通过单触发编程操作对所述多个逻辑页面进行编程的顺序,对与所述多个逻辑页面对应的数据执行读取操作。
14.根据权利要求10所述的操作方法,进一步包括:将从所述主机接收的数据临时存储在控制器的存储器中。
15.根据权利要求14所述的操作方法,进一步包括:
将经校正的数据临时存储在所述存储器中;以及
控制所述存储器装置以将存储在所述存储器中的数据编程至所述存储器装置。
16.根据权利要求13所述的操作方法,其中通过所述单触发编程操作对所述多个逻辑页面进行编程的顺序根据存储器单元的多个阈值电压状态与格雷码之间的映射来确定。
17.根据权利要求13所述的操作方法,其中通过所述单触发编程操作对所述多个逻辑页面进行编程的顺序根据用于读取各个逻辑页面的读取电压的升序来确定。
18.根据权利要求11所述的操作方法,其中执行所述顺序读取操作包括:对所述存储器装置的、与所述多个逻辑页面之中的第一逻辑页面对应的数据执行读取操作,并且
根据对所述顺序读取的数据的错误校正是否失败来结束对与所述多个逻辑页面对应的数据的所述顺序读取操作,并且接收所述错误校正失败的数据以及没有执行所述顺序读取操作的数据包括:根据对第一数据的错误校正是否失败来结束对所述多个逻辑页面的顺序读取操作,并且从所述主机接收与所述多个逻辑页面对应的数据。
19.根据权利要求18所述的操作方法,其中所述第一逻辑页面包括与通过单触发编程操作首先存储的数据对应的逻辑页面。
20.一种存储器系统,包括:
存储器装置,包括联接在多个字线和多个位线之间的多个多层单元;以及
控制器:
当所述存储器系统在突然断电之后被通电时,搜索所述多个字线之中最后编程的字线,所述最后编程的字线对应于多个逻辑页面;
对所述多个逻辑页面之中的第一逻辑页面执行恢复操作;
当所述第一逻辑页面的恢复失败时,结束对第二逻辑页面的恢复操作;并且
当所述第一逻辑页面的恢复成功时,对所述多个逻辑页面之中、包括所述第二逻辑页面的剩余逻辑页面执行顺序恢复操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0103737 | 2018-08-31 | ||
KR1020180103737A KR102617411B1 (ko) | 2018-08-31 | 2018-08-31 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874191A true CN110874191A (zh) | 2020-03-10 |
CN110874191B CN110874191B (zh) | 2023-08-04 |
Family
ID=69639378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910476307.1A Active CN110874191B (zh) | 2018-08-31 | 2019-06-03 | 存储器系统及该存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10860421B2 (zh) |
KR (1) | KR102617411B1 (zh) |
CN (1) | CN110874191B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806254A (zh) * | 2020-06-15 | 2021-12-17 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及存储器系统的操作方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102645740B1 (ko) * | 2018-10-30 | 2024-03-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN111161781A (zh) * | 2018-11-07 | 2020-05-15 | 爱思开海力士有限公司 | 用于处理编程错误的存储器系统及其方法 |
KR102632690B1 (ko) | 2019-06-13 | 2024-02-01 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 프로그램 방법 |
KR20220168510A (ko) * | 2021-06-16 | 2022-12-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20230056901A (ko) | 2021-10-21 | 2023-04-28 | 에스케이하이닉스 주식회사 | 메모리 장치에 데이터를 프로그램하는 장치 및 방법 |
KR102508118B1 (ko) * | 2021-11-15 | 2023-03-08 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
US12026401B2 (en) * | 2022-06-30 | 2024-07-02 | Advanced Micro Devices, Inc. | DRAM row management for processing in memory |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551755A (zh) * | 2008-04-02 | 2009-10-07 | 佳能株式会社 | 信息处理装置及信息处理方法 |
US20120268990A1 (en) * | 2009-04-12 | 2012-10-25 | Naftali Sommer | Selective re-programming of analog memory cells |
US20130128665A1 (en) * | 2011-11-18 | 2013-05-23 | Sandisk Technologies Inc. | Non-volatile storage with broken word line screen and data recovery |
US20130159785A1 (en) * | 2011-12-16 | 2013-06-20 | Daisuke Hashimoto | Semiconductor storage device, method for controlling the same and control program |
US20160303847A1 (en) * | 2015-04-20 | 2016-10-20 | Canon Kabushiki Kaisha | Image recording method and image recording apparatus |
US20170091896A1 (en) * | 2015-09-30 | 2017-03-30 | Samsung Display Co., Ltd. | Independent multi-source display device |
CN107403639A (zh) * | 2016-05-19 | 2017-11-28 | 三星电子株式会社 | 存储器控制器的操作方法 |
US20170371575A1 (en) * | 2016-06-27 | 2017-12-28 | SK Hynix Inc. | Memory system and method of operating the same |
US20180004439A1 (en) * | 2016-06-30 | 2018-01-04 | SK Hynix Inc. | Memory system and operating method thereof |
CN107622019A (zh) * | 2016-07-14 | 2018-01-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107918566A (zh) * | 2016-10-10 | 2018-04-17 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
KR20180041428A (ko) * | 2016-10-14 | 2018-04-24 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그의 동작 방법 |
CN108363547A (zh) * | 2017-01-26 | 2018-08-03 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101541736B1 (ko) | 2008-09-22 | 2015-08-04 | 삼성전자주식회사 | 멀티-레벨 셀 플래시 메모리 장치에서의 lsb 페이지 복구 방법 |
US8566671B1 (en) * | 2012-06-29 | 2013-10-22 | Sandisk Technologies Inc. | Configurable accelerated post-write read to manage errors |
US9142309B2 (en) * | 2013-02-19 | 2015-09-22 | Sk Hynix Memory Solutions Inc. | Generation of a composite read based on neighboring data |
JP2014225310A (ja) * | 2013-05-16 | 2014-12-04 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR20140142793A (ko) * | 2013-06-04 | 2014-12-15 | 삼성전자주식회사 | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
US20150098271A1 (en) * | 2013-10-09 | 2015-04-09 | Sandisk Technologies Inc. | System and method of storing data in a data storage device |
JP5855150B2 (ja) * | 2014-03-06 | 2016-02-09 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US9594632B2 (en) * | 2014-07-09 | 2017-03-14 | Qualcomm Incorporated | Systems and methods for reliably storing data using liquid distributed storage |
JP6686892B2 (ja) * | 2014-10-24 | 2020-04-22 | ソニー株式会社 | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 |
JP6374108B2 (ja) * | 2015-06-19 | 2018-08-15 | 株式会社日立製作所 | フラッシュメモリデバイス |
KR20170028670A (ko) | 2015-09-04 | 2017-03-14 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 그리고 그것의 동작 방법 |
KR20170118284A (ko) | 2016-04-14 | 2017-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10146460B1 (en) * | 2017-06-01 | 2018-12-04 | Apple Inc. | Programming schemes for avoidance or recovery from cross-temperature read failures |
-
2018
- 2018-08-31 KR KR1020180103737A patent/KR102617411B1/ko active IP Right Grant
-
2019
- 2019-03-29 US US16/369,191 patent/US10860421B2/en active Active
- 2019-06-03 CN CN201910476307.1A patent/CN110874191B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551755A (zh) * | 2008-04-02 | 2009-10-07 | 佳能株式会社 | 信息处理装置及信息处理方法 |
US20120268990A1 (en) * | 2009-04-12 | 2012-10-25 | Naftali Sommer | Selective re-programming of analog memory cells |
US20130128665A1 (en) * | 2011-11-18 | 2013-05-23 | Sandisk Technologies Inc. | Non-volatile storage with broken word line screen and data recovery |
US20130159785A1 (en) * | 2011-12-16 | 2013-06-20 | Daisuke Hashimoto | Semiconductor storage device, method for controlling the same and control program |
US20160303847A1 (en) * | 2015-04-20 | 2016-10-20 | Canon Kabushiki Kaisha | Image recording method and image recording apparatus |
US20170091896A1 (en) * | 2015-09-30 | 2017-03-30 | Samsung Display Co., Ltd. | Independent multi-source display device |
CN107403639A (zh) * | 2016-05-19 | 2017-11-28 | 三星电子株式会社 | 存储器控制器的操作方法 |
US20170371575A1 (en) * | 2016-06-27 | 2017-12-28 | SK Hynix Inc. | Memory system and method of operating the same |
US20180004439A1 (en) * | 2016-06-30 | 2018-01-04 | SK Hynix Inc. | Memory system and operating method thereof |
CN107622019A (zh) * | 2016-07-14 | 2018-01-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107918566A (zh) * | 2016-10-10 | 2018-04-17 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
KR20180041428A (ko) * | 2016-10-14 | 2018-04-24 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그의 동작 방법 |
CN108363547A (zh) * | 2017-01-26 | 2018-08-03 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806254A (zh) * | 2020-06-15 | 2021-12-17 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及存储器系统的操作方法 |
CN113806254B (zh) * | 2020-06-15 | 2024-02-20 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及存储器系统的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200073753A1 (en) | 2020-03-05 |
US10860421B2 (en) | 2020-12-08 |
CN110874191B (zh) | 2023-08-04 |
KR20200025820A (ko) | 2020-03-10 |
KR102617411B1 (ko) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766257B (zh) | 存储器系统及其操作方法 | |
CN110874191B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110765035B (zh) | 存储器系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
KR102529696B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
US20180101454A1 (en) | Memory system and operation method for the same | |
KR102683257B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN110750207B (zh) | 存储器系统及其操作方法 | |
CN110827906B (zh) | 存储器系统及其操作方法 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
CN108694970B (zh) | 控制器及其操作方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
US10732874B2 (en) | Memory system and operation method thereof | |
CN109933468B (zh) | 存储器系统及其操作方法 | |
CN110781095A (zh) | 控制器及其操作方法 | |
US10423337B2 (en) | Controller processing data based on a plurality of values and operating method thereof | |
CN110910941B (zh) | 存储器系统及其操作方法 | |
CN110727397A (zh) | 存储器系统以及用于操作该存储器系统的方法 | |
US20190347044A1 (en) | Controller, memory system and operating method thereof | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN111145818B (zh) | 存储器系统及其操作方法 | |
CN110968521B (zh) | 存储器系统及其操作方法 | |
US10908992B2 (en) | Controller and operation method thereof | |
CN110795359A (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 |