CN112988054A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN112988054A CN112988054A CN202011025827.XA CN202011025827A CN112988054A CN 112988054 A CN112988054 A CN 112988054A CN 202011025827 A CN202011025827 A CN 202011025827A CN 112988054 A CN112988054 A CN 112988054A
- Authority
- CN
- China
- Prior art keywords
- data
- region
- read
- memory
- area
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
Abstract
本申请涉及一种存储器系统。该存储器系统可以包括:非易失性存储器装置,包括第一区域和数据I/O操作速度高于第一区域的第二区域;以及控制器,适用于对存储在第一区域中的数据之中的、具有热属性的热数据执行第一读取操作。控制器可以控制非易失性存储器装置以在第一读取操作期间将热数据复制到第二区域中,并且当在第一读取操作之后请求对热数据的第二读取操作时,访问复制到第二区域中的热数据。
Description
相关申请的交叉引用
本申请要求于2019年12月17日提交的、申请号为10-2019-0168632的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本发明的各个实施例涉及一种存储器系统及其操作方法。更特别地,本发明的各个实施例涉及一种能够提高存储器装置的操作效率的存储器系统及其操作方法。
背景技术
近来,计算机环境的范例已经转变为几乎能够随时随地访问计算机系统的普适计算。因此,诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用正在迅速增长。这种便携式电子装置通常使用或者包括采用至少一个存储器装置来存储数据的存储器系统,即数据存储装置。数据存储装置可以用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘不同,使用非易失性半导体存储器装置的数据存储装置的优点在于,该数据存储装置由于不具有机械驱动部件(例如,机械臂)而具有优异的稳定性和耐久性,并且具有高数据访问速度和低功耗。在具有这种优点的存储器系统的情况下,数据存储装置可以由USB(通用串行总线)存储器装置、具有各种接口中的任意一种的存储卡、固态驱动器(SSD)等来实施。
发明内容
本发明的各个实施例针对一种存储器系统,该存储器系统可以在读取操作期间从读取操作速度高于慢速模式区域的快速模式区域输出读取数据。通过这种方式,存储器系统可以减少读取操作时间。本发明的各个实施例还涉及一种存储器系统的操作方法。
此外,本发明的各个实施例针对一种存储器系统及其操作方法,该存储器系统可以将仅可以在慢速模式区域中执行的读取操作分配到快速模式区域,并且防止慢速模式区域中包括的存储器单元的特性的劣化。
此外,本发明的各个实施例针对一种存储器系统及其操作方法,当存储在快速模式区域中的数据的错误超出校正范围时,该存储器系统可以通过对存储在慢速模式区域中的数据执行错误校正操作,来防止对待传输到主机的读取数据进行错误校正操作不成功的情况,从而提高读取数据的可靠性。
根据本发明的实施例,一种存储器系统包括:非易失性存储器装置,包括第一区域和第二区域,第二区域的数据I/O操作速度可以高于第一区域的数据I/O操作速度;以及控制器,适用于对存储在第一区域中的数据之中的、具有热属性的热数据执行第一读取操作,控制非易失性存储器装置以在第一读取操作期间将热数据复制到第二区域中,并且当在第一读取操作之后可以请求对热数据的第二读取操作时,访问复制到第二区域中的热数据。
控制器可以进一步适用于在第二读取操作期间对所复制的热数据执行错误校正操作,并将校正后的热数据传输到主机。
控制器可以进一步适用于当所复制的热数据上的错误可能无法通过错误校正操作校正时,在第二读取操作期间访问第一区域中的热数据。
非易失性存储器装置可以进一步包括缓冲器,适用于在将从第一区域和第二区域读取的数据传送到控制器之前临时存储所读取的数据,并且控制器控制非易失性存储器装置以在第一读取操作期间将可以从第一区域读取且临时存储在缓冲器中的热数据复制到第二区域中。
控制器可以进一步适用于生成、删除或校正用于将逻辑地址转换为物理地址的映射信息,并且将可以基于数据访问频率而确定的热属性与映射信息相关联。
第一区域可以包括由每个能够存储多位数据的非易失性存储器单元构成的存储块,并且第二区域可以包括由每个能够存储1位数据的非易失性存储器单元构成的存储块。
数据I/O操作速度指示将数据编程到第一区域和第二区域中包括的非易失性存储器单元或读取经编程的数据的操作的速度。
根据本发明的实施例,一种存储器系统的操作方法,该存储器系统可以包括非易失性存储器装置,该非易失性存储器装置包括第一区域和数据I/O操作速度高于第一区域的第二区域,该操作方法包括:对存储在第一区域中的数据之中的、具有热属性的热数据执行第一读取操作;在第一读取操作期间将热数据复制到第二区域中;以及当在第一读取操作之后可以请求对热数据的第二读取操作时,访问复制到第二区域中的热数据。
该操作方法可以进一步包括:在第二读取操作期间对所复制的热数据执行错误校正操作,并将校正后的热数据传输到主机。
该操作方法可以进一步包括:当错误可能无法通过对所复制的热数据的错误校正操作校正时,在第二读取操作期间访问第一区域中的热数据。
复制可以包括在第一读取操作期间将可以从第一区域读取且临时存储在缓冲器中的热数据复制到第二区域中。
该操作方法可以进一步包括:生成、删除或校正用于将逻辑地址转换为物理地址的映射信息,并且将可以基于数据访问频率而确定的热属性与映射信息相关联。
第一区域可以包括由每个能够存储多位数据的非易失性存储器单元构成的存储块,并且第二区域可以包括由每个能够存储1位数据的非易失性存储器单元构成的存储块。
数据I/O操作速度指示将数据编程到第一区域和第二区域中包括的非易失性存储器单元或读取经编程的数据的操作的速度。
根据本发明的实施例,一种存储器系统的操作方法,包括:当可以从主机接收具有逻辑地址的读取请求时,确定可以存储与逻辑地址相对应的数据的区域的访问模式;当数据可存储在具有第一访问模式的第一区域和具有第二访问模式的第二区域中时,对来自第一区域的数据执行错误校正操作;以及确定来自第一区域的数据的错误是否可以被成功校正,并且当来自第一区域的数据的错误可以被成功校正时,将已校正错误的数据传输到主机。
该操作方法可以进一步包括:当来自第一区域的数据的错误可能没有被成功校正时,对来自第二区域的数据执行错误校正操作;以及将来自第二区域的已校正错误的数据传输到主机。
该操作方法可以进一步包括:在可以接收到读取请求之前,确定热数据的存储区域;以及当热数据仅可以存储在第二区域中时,通过第一复制操作将存储在第二区域中的热数据复制到第一区域中。
该操作方法可以进一步包括:当热数据仅可以存储在第一区域中时,通过第二复制操作将存储在第一区域中的热数据复制到第二区域中。
第一复制操作可以包括:读出存储在第二区域中的热数据,并且将所读取的数据存储在页面缓冲器中;以及将存储在页面缓冲器中的热数据编程到第一区域。
第二复制操作可以包括:读出存储在第一区域中的热数据,并且将所读取的数据存储在页面缓冲器中;对存储在页面缓冲器中的热数据执行错误校正操作;以及将已对其执行了错误校正操作的热数据编程到第二区域。
对第一区域执行的后台操作可以包括将存储在第一区域中的有效数据复制到具有第一访问模式的另一存储块中的第一复制操作。
对第二区域执行的后台操作可以包括将存储在第二区域中的有效数据复制到具有第二访问模式的另一存储块中的第二复制操作。
存储在第一区域中的数据的读取操作和编程操作的速度可以高于存储在第二区域中的数据的读取操作和编程操作的速度。
可存储在第一区域中包括的存储器单元中的数据的状态值的数量可以小于可存储在第二区域中包括的存储器单元中的数据的状态值的数量。
当第一访问模式可以是单层单元(SLC)模式时,第二访问模式可以包括多层单元(MLC)模式、三层单元(TLC)模式和四层单元(QLC)模式中的任意一种;当第一访问模式可以是MLC模式时,第二访问模式可以包括TLC模式和QLC模式中的任意一种模式;或者当第一访问模式可以是TLC模式时,第二访问模式可以包括QLC模式。
根据本发明的实施例,一种存储器系统的操作方法,包括:该存储器系统包括:存储器装置,包括较高层单元的第一区域和较低层单元的第二区域,第一区域和第二区域分别存储第一数据和第二数据;以及控制器,适用于控制该存储器装置以:在没有对第一数据进行错误校正的情况下将第一数据复制到第二区域中,在对第二数据进行错误校正的同时将第二数据复制到第一区域中,响应于对第一数据和第二数据中的任意一个的读取请求而对第二区域执行读取操作,并且当读取操作失败时,对第一区域执行附加读取操作。
根据本发明的实施例,一种存储器系统的操作方法,包括:存储器系统,该存储器系统包括:存储器装置,包括较高层单元的第一区域和较低层单元的第二区域,第一区域和第二区域存储数据;以及控制器,适用于控制该存储器装置以:响应于对数据的读取请求而对第二区域执行读取操作,并且当读取操作失败时,对第一区域执行附加读取操作。
下面将描述根据本实施例的存储器系统及其操作方法的效果。
存储器系统及其操作方法可以在读取操作期间从读取操作速度高于慢速模式区域的快速模式区域输出读取数据,从而减少读取操作所需的时间。因此,可以提高存储器系统的复制操作效率。
存储器系统及其操作方法可以将仅可以在慢速模式区域中执行的读取操作分配到快速模式区域,并且防止慢速模式区域中包括的存储器单元的特性因读取操作而劣化。因此,可以提高存储在存储器系统中的数据的可靠性。
当存储在快速模式区域中的数据的错误超出校正范围时,存储器系统及其操作方法可以对存储在慢速模式区域中的数据执行错误校正操作,从而避免对待传输到主机的读取数据进行错误校正操作不成功的情况。因此,可以提供一种能够提高读取数据的可靠性的存储器系统以及该存储器系统的操作方法。
通过以下附图和详细描述,将更好地理解本发明的这些和其它特征与优点。
附图说明
图1A至图1C示出了根据本发明的实施例的能够执行复制操作和读取操作的存储器系统。
图2是根据本发明的实施例的在读取操作期间执行第一复制操作的方法的流程图。
图3是示出根据本发明的实施例的数据处理系统的示意图。
图4示出了根据本发明的实施例的图3所示的存储器装置的配置。
图5示出了根据本发明的实施例的存储器装置中的存储块的存储器单元阵列的配置。
图6A和图6B示出了根据本发明的实施例的第一复制操作。
图7A和图7B示出了根据本发明的实施例的第二复制操作。
图8A至图8D示出了访问模式下的存储块的操作的示例。
图9示出了根据本发明的实施例的存储器系统中的读取操作。
图10A和图10B示出了根据本发明的实施例的存储器系统根据更新后的读取计数执行复制操作。
具体实施方式
下文中,将参照附图详细描述各个实施例。应当理解的是,以下描述将集中于理解根据实施例的操作所需的部分,并且可以省略其它部分的描述,以免不必要地模糊本公开的主题。
图1A至图1C示出了根据本发明的实施例的存储器系统执行的数据复制操作和读取操作。
如图1A至图1C所示,存储器系统110可以包括存储器装置和控制器,该存储器装置包括多个存储块,该控制器被配置成控制该存储器装置。
在实施例中,存储器装置中可以包括快速模式区域和慢速模式区域,并且根据相应区域的访问模式来划分快速模式区域和慢速模式区域。访问模式可以包括针对待编程到相应区域的数据的编程操作模式和针对存储在相应区域中的数据的读取操作模式。快速模式区域可以包括访问操作的速度高于慢速模式区域的区域,该访问操作包括数据读取操作和数据编程操作。
根据本实施例的错误校正操作可以包括错误检测操作和错误校正操作。错误检测操作用于检测待在存储器装置中处理(例如,从存储器装置输出)的数据中包含的错误位。错误校正操作用于校正数据的错误位。错误校正操作可以包括确定错误校正是否成功。
错误校正码(ECC)操作可以是根据本实施例的错误校正操作的示例。为了执行错误校正操作,根据本实施例的控制器可以包括错误校正编码器和错误校正解码器。在此,错误校正编码器可以对待编程在存储器装置中的数据执行错误校正编码,以生成添加了奇偶校验位的编码数据,并将经编码的数据存储在存储器装置中。当控制器读取存储在存储器装置中的数据时,错误校正解码器可以检测并校正从存储器装置读取的数据中包含的错误。换句话说,在对从存储器装置读取的数据执行错误校正解码之后,控制器可以确定错误校正是否成功并输出指令信号(例如,校正成功信号或校正失败信号)。控制器可以使用在错误校正操作编码过程中生成的奇偶校验位来校正所读取的数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,控制器可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
在实施例中,快速模式区域可以包括在SLC(单层单元)模式、MLC(多层单元)模式和TLC(三层单元)模式中的任意一种模式下编程的存储块。在实施例中,慢速模式区域可以包括在MLC模式、TLC模式和QLC(四层单元)模式中的任意一种模式下编程的存储块。
在说明书中,除了SLC模式之外的MLC模式、TLC模式和QLC模式将被称为XLC(X层单元)模式。当在SLC模式下对数据进行编程时,可以以比XLC模式下更高的速度对数据进行编程,并且存储器单元的可靠性可比在XLC模式下提高得更多。然而,在SLC模式下可以存储的数据的量相对于XLC模式可能减少。另一方面,当在XLC模式下对数据进行编程时,可以以比SLC模式下更低的速度对数据进行编程,并且存储器单元的可靠性可比在SLC模式下下降得更多。然而,可以存储的数据的量可能增加。随着主机针对写入操作所请求的数据大小的增加,存储器系统110主要在XLC模式下对请求的写入数据进行编程。
当慢速模式区域包括在MLC模式下编程的存储块时,快速模式区域可以包括在SLC模式下编程的存储块。当慢速模式区域包括在TLC模式下编程的存储块时,快速模式区域可以包括在SLC模式和MLC模式中的任意一种模式下编程的存储块。当慢速模式区域包括在QLC模式下编程的存储块时,快速模式区域可以包括在SLC模式、MLC模式和TLC模式中的任意一种模式下编程的存储块。
在SLC模式下,将1位数据编程到一个存储器单元,并且读取经编程的1位数据。在SLC模式下编程的存储器单元中存储的数据可以包括两种状态(0、1)中的任意一种。在MLC模式下,将2位数据编程到一个存储器单元,并且读取经编程的2位数据。在MLC模式下编程的存储器单元中存储的数据可以包括四种状态(00、01、10、11)中的任意一种。在TLC模式下,将2位数据编程到一个存储器单元,并且读取经编程的2位数据。在TLC模式下编程的存储器单元中存储的数据可以包括八种状态(000、001、010、100、…、111)中的任意一种。在QLC模式下,将4位数据编程到一个存储器单元,并且读取经编程的4位数据。在QLC模式下编程的存储器单元中存储的数据可以包括16种状态(0000、0001、0010、0100、1000、…、1111)中的任意一种。也就是说,,可存储在快速模式区域中包括的存储器单元中的数据的状态值的数量可以小于可存储在慢速模式区域中包括的存储器单元中的数据的状态值的数量。
在实施例中,数据复制操作可以包括第一复制操作和第二复制操作。
如图1A所示,当热数据HDAT1仅存储在慢速模式区域中时,存储器系统110可以通过如图1B所示的第一复制操作将存储在慢速模式区域中的热数据HDAT1复制到快速模式区域中。因此,热数据HDAT1可以存储在慢速模式区域和快速模式区域中。
此时,第一复制操作可以不包括错误校正操作。也就是说,由于通过第一复制操作复制的数据在没有ECC操作的情况下被编程到快速模式区域,因此该数据可以不被传输到控制器130。因此,可以不消耗存储器装置和控制器之间联接的数据传输线的资源,并且可以减少数据复制操作时间。下面将参照图6A和图6B更详细地描述第一复制操作。
如图1A所示,当热数据HDAT2仅存储在快速模式区域中时,存储器系统110可以通过如图1B所示的第二复制操作将存储在快速模式区域中的热数据HDAT2复制到慢速模式区域中。因此,热数据HDAT2可以存储在慢速模式区域和快速模式区域中。
此时,第二复制操作可以不包括错误校正操作。也就是说,通过第二复制操作复制的数据可以进行错误校正操作,然后被编程到慢速模式区域。因此,可以提高通过复制操作复制的数据的可靠性。下面将参照图7A和图7B详细描述与第二复制操作有关的详细内容。
后台操作(例如,垃圾收集、读取回收和损耗均衡)可以在快速模式区域中执行并且可以包括将存储在快速模式区域中的有效热数据HDAT1复制到具有快速访问模式的另一存储块中的第一复制操作。此外,后台操作可以在慢速模式区域中执行并且可以包括将存储在慢速模式区域中的有效热数据HDAT2复制到具有慢速访问模式的另一存储块中的第二复制操作。
如图1C所示,当从主机102接收到具有逻辑地址的读取请求RD_REQ时,存储器系统110可以确定存储了与逻辑地址相对应的数据的存储块的访问模式。
当主机102针对读取操作所请求的且与逻辑地址相对应的数据是热数据HDAT2,并且热数据HDAT2存储在具有快速访问模式的快速模式区域和具有慢速访问模式的慢速模式区域两者中时,存储器系统110可以对存储在快速模式区域中的数据执行读取操作,并且将存储在已经执行了读取操作的快速模式区域中的数据传输到主机102。
针对该操作,存储器系统110可以在读取操作期间确定对存储在快速模式区域中的热数据HDAT2的错误校正操作是否是成功的。当对存储在快速模式区域中的热数据HDAT2的错误校正操作是成功的时,存储器系统110可以对存储在快速模式区域中的热数据HDAT2执行错误校正操作,然后将已校正错误的数据传输到主机102。存储在快速模式区域中的热数据HDAT2的读取操作速度可以高于存储在慢速模式区域中的热数据HDAT2的读取操作速度。
这样,在读取操作期间,根据本实施例的存储器系统110可以根据读取请求从读取操作速度高于慢速模式区域的快速模式区域输出数据,从而减少读取操作所需的时间。
当主机针对写入操作所请求的数据大小等于或大于阈值大小时,存储器系统110在XLC模式下对数据进行编程。此外,存储器系统110在XLC模式下读取在XLC模式下被编程的数据。因此,可以在慢速模式区域中执行根据从主机接收到的读取请求的读取操作。
根据本实施例的存储器系统110可以将可以在慢速模式区域中执行的读取操作分配到快速模式区域,从而防止慢速模式区域中包括的存储器单元的特性因读取操作而劣化。
当在读取操作期间对存储在快速模式区域中的热数据HDAT2的错误校正操作是不成功的时,存储器系统110可以对存储已经执行了错误校正操作的数据的慢速模式区域中存储的热数据HDAT2执行错误校正操作,然后将已校正错误的数据传输到主机102。
这样,当存储在快速模式区域中的数据的错误超出校正范围时,根据本实施例的存储器系统110可以对存储在慢速模式区域中的数据执行错误校正操作,从而避免对待传输到主机102的读取数据进行错误校正不成功的情况。因此,可以提高读取数据的可靠性。此时,存储在快速模式区域中的数据可以与存储在慢速模式区域中的数据相同。
图2是根据本发明的实施例的在读取操作期间执行第一复制操作的方法的流程图。存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以包括第一区域SLOW AREA和数据I/O操作速度高于第一区域SLOW AREA的第二区域FAST AREA,并且控制器130可以对存储在第一区域SLOW AREA中的数据之中的、具有热属性的热数据HDAT执行读取操作。具有热属性的热数据HDAT可以包括读取计数等于或大于预设参考值的数据,该读取计数指示来自主机的读取请求的数量。
参照图2,当在步骤S01中从主机(未示出)接收到第一读取请求RD_REQ1时,控制器130可以根据第一读取请求RD_REQ1对存储器装置150执行第一读取操作。
控制器130可以在执行第一读取操作的同时,控制存储器装置150将热数据HDAT复制到第二区域FAST AREA中。在步骤S02中执行的复制操作可以包括参照图1A至图1C描述的第一复制操作。
存储器装置150可以包括用于在将从第一区域SLOW AREA和第二区域FAST AREA输出的数据传送到控制器130之前临时存储该数据的页面缓冲器。控制器130可以在第一读取操作期间,通过第一复制操作将临时存储在页面缓冲器中的热数据HDAT复制到第二区域FAST AREA中。因此,热数据HDAT可以存储在第一区域SLOW AREA和第二区域FAST AREA两者中。
当在执行第一读取操作之后在步骤S03中从主机接收到对热数据HDAT的第二读取请求RD_REQ2时,控制器130可以根据第二读取请求RD_REQ2执行第二读取操作。当执行第二读取操作时,控制器130可以在步骤S04中访问(读取)复制到第二区域FAST AREA中的热数据HDAT。
此时,当复制到第二区域FAST AREA中的热数据HDAT没有错误时,控制器130可以在第二读取操作期间将复制到第二区域FAST AREA中的热数据HDAT传输到主机。当复制到第二区域FAST AREA中的热数据HDAT有错误时,控制器130可以通过在第二读取操作期间对热数据HDAT执行错误校正操作来校正所复制的热数据HDAT,然后将校正后的热数据HDAT传输到主机。
当复制到第二区域FAST AREA中的热数据HDAT的错误没有通过错误校正操作被校正时,控制器130可以在第二读取操作期间访问存储在第一区域SLOW AREA中的热数据HDAT。当存储在第一区域SLOW AREA中的热数据HDAT没有错误时,控制器130可以将热数据HDAT传输到主机。当存储在第一区域SLOW AREA中的热数据HDAT有错误时,控制器130可以通过对热数据HDAT执行错误校正操作来校正热数据HDAT,然后将校正后的热数据HDAT传输到主机。
控制器130可以生成、删除或校正用于将逻辑地址转换为物理地址的映射信息,并且将映射信息与基于指示数据访问频率的读取计数而决定的热属性相关联。将参照图10A和图10B详细描述该过程。
第一区域SLOW AREA可以包括由每个能够存储多位数据的非易失性存储器单元构成的存储块,并且第二区域FAST AREA可以包括由每个能够存储1位数据的非易失性存储器单元构成的存储块。数据I/O操作速度可以指示将数据编程到第一区域SLOW AREA和第二区域FAST AREA中包括的非易失性存储器单元或读取经编程的数据的操作的速度。
图3是示出根据本发明的实施例的数据处理系统100的框图。
参照图3,数据处理系统100可以包括与存储器系统110可操作地接合的主机102。
例如,主机102可以包括诸如移动电话、MP3播放器和膝上型电脑的各种便携式电子装置或者诸如台式计算机、游戏机、电视(TV)、投影仪等的非便携式电子装置中的任意一种。
主机102还包括至少一个操作系统(OS),OS通常管理和控制在主机102中执行的功能和操作。OS可以提供与存储器系统110接合的主机102和存储器系统110的用户之间的互操作性。OS可以支持与用户的请求相对应的功能和操作。作为示例而非限制,根据主机102的移动性,OS可以是通用操作系统或移动操作系统。根据系统需求或用户环境,通用操作系统可以分为个人操作系统和企业操作系统。包括Windows和Chrome的个人操作系统可能出于一般目的而需要支持服务。但是企业操作系统可以专门用于保护和支持高性能,包括Windows服务器、Linux、Unix等。进一步地,移动操作系统可以包括Android、iOS、WindowsMobile等。移动操作系统可能需要支持针对移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作系统。主机102可以对应于用户的请求,与存储器系统110一起运行多个操作系统。主机102可以将与用户的请求相对应的多个命令传输到存储器系统110,从而在存储器系统110内执行与命令相对应的操作。
存储器系统110可以响应于来自主机102的请求而操作或执行特定功能或操作,并且特别地,可以存储待由主机102访问的数据。存储器系统110可以用作主机102的主存储器系统或辅助存储器系统。存储器系统110可以利用可以根据主机接口的协议与主机102电联接的各种类型的存储装置中的任意一种来实施。适用的存储装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可以利用例如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和/或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和/或闪速存储器的非易失性存储器装置来实施。
存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以存储待由主机102访问的数据。控制器130可以控制数据在存储器装置150中的存储。
控制器130和存储器装置150可以集成到单个半导体装置中,单个半导体装置可以包括在以上示例中所讨论的各种类型的存储器系统中的任意一种中。
作为示例而非限制,控制器130和存储器装置150可以集成到SSD中以提高操作速度。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可以比利用硬盘实施的主机102的操作速度提高得更多。在另一实施例中,控制器130和存储器装置150可以集成到一个半导体装置中以形成诸如PC卡(PCMCIA)、紧凑型闪存卡(CF)的存储卡,诸如智能媒体卡(SM、SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC)、SD卡(SD、迷你SD、微型SD、SDHC)、通用闪速存储器的存储卡,等等。
存储器系统110可以被配置为例如以下各种中的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字录音机、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种组件之一。
存储器装置150可以是非易失性存储器装置,并且即使在不供应电力的情况下也可以保持其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,同时通过读取操作将其中存储的数据提供到主机102。存储器装置150可以包括多个存储块152、154、156,多个存储块152、154、156中的每一个可以包括多个页面。多个页面中的每一个可以包括多个字线(WL)电联接到的多个存储器单元。存储器装置150还包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块152、154、156。此外,存储器装置150可以是非易失性存储器装置,例如,闪速存储器,其中闪速存储器可以以三维堆叠结构来实现。
控制器130可以控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可以响应于来自主机102的请求而控制存储器装置150。控制器130可以将从存储器装置150读取的数据提供到主机102。控制器130还可以将由主机102提供的数据存储到存储器装置150中。
控制器130可以包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理单元(PMU)140、存储器接口(I/F)142和存储器144。
主机接口132可以处理由主机102提供的命令和数据,并且可以通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和/或电子集成驱动器(IDE)。根据实施例,主机接口132是用于与主机102交换数据的组件,其可以通过被称为主机接口层(HIL)的固件来实施。
ECC组件138可以校正待在存储器装置150中处理(例如,从存储器装置150输出)的数据的错误位,并且可以包括ECC编码器和ECC解码器。在此,ECC编码器可以对待在存储器装置150中编程的数据执行错误校正编码,以生成添加了奇偶校验位的经编码的数据,并且将经编码的数据存储在存储器装置150中。当控制器130读取存储在存储器装置150中的数据时,ECC解码器可以检测并校正从存储器装置150读取的数据中包含的错误。换句话说,在对从存储器装置150读取的数据执行错误校正解码之后,ECC组件138可以确定错误校正解码是否已经成功并输出指令信号(例如,校正成功信号或校正失败信号)。ECC组件138可以使用在ECC编码过程中生成的奇偶校验位来校正读取数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件138可以不校正错误位,而是可以输出指示校正错误位失败的错误校正失败信号。
ECC组件138可以基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍坤格姆(Bose-Chaudhuri-Hocquenghem(BCH))码、turbo码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和/或块编码调制(BCM)。ECC组件138可以包括基于上述代码中的至少一种执行错误校正操作的任意和所有电路、模块、系统或装置。
PMU 140可以管理控制器130中提供的电力。
存储器接口142可以用作用于处理在控制器130和存储器装置150之间传送的命令和数据的接口,以允许控制器130响应于从主机102传递的请求而控制存储器装置150。在存储器装置150是闪速存储器,并且特别地,存储器装置150是NAND闪速存储器的情况下,存储器接口142可以在处理器134的控制下生成针对存储器装置150的控制信号,并且可以处理输入到存储器装置150中或从存储器装置150输出的数据。存储器接口142可以提供用于处理控制器130和存储器装置150之间的命令和数据的接口,例如,NAND闪存接口的操作,特别是控制器130和存储器装置150之间的操作。根据实施例,存储器接口142可以通过作为用于与存储器装置150交换数据的组件的、被称为闪存接口层(FIL)的固件来实施。
存储器144可以支持由存储器系统110和控制器130执行的操作。存储器144可以存储针对存储器系统110和控制器130中的操作而生成或传递的临时数据或事务数据。控制器130可以响应于来自主机102的请求而控制存储器装置150。控制器130可以将从存储器装置150读取的数据传递到主机102中。控制器130可以将从主机102接收到的数据存储在存储器装置150中。存储器144可以用于存储控制器130和存储器装置150执行诸如读取操作或编程/写入操作的操作的数据。
存储器144可以被实现为易失性存储器。存储器144可以利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实施。尽管图2示出了例如设置在控制器130内的第二存储器144,但是实施例不限于此。也就是说,存储器144可以位于控制器130的内部或外部。例如,存储器144可以由外部易失性存储器来实现,该外部易失性存储器具有在存储器144和控制器130之间传送数据和/或信号的存储器接口。
存储器144可以存储执行诸如以下的操作所必需的数据:主机102所请求的数据写入和数据读取,和/或针对诸如如上所述的垃圾收集和损耗均衡的后台操作的存储器装置150与控制器130之间的数据传送。根据实施例,为了支持存储器系统110中的操作,存储器144可以包括编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134可以利用微处理器或中央处理单元(CPU)来实施。存储器系统110可以包括一个或多个处理器134。处理器134可以控制存储器系统110的全部操作。作为示例而非限制,处理器134响应于从主机102输入的写入请求或读取请求而控制存储器装置150的编程操作或读取操作。根据实施例,处理器134可以使用或运行固件来控制存储器系统110的全部操作。本文中,固件可以被称为闪存转换层(FTL)。FTL可以作为主机102和存储器装置150之间的接口而执行操作。主机102可以通过FTL将对写入操作和读取操作的请求传输到存储器装置150。
FTL可以管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可以加载、生成、更新或存储映射数据。因此,控制器130可以通过映射数据将从主机102输入的逻辑地址与存储器装置150的物理地址进行映射。由于地址映射操作,存储器装置150可以像通用存储装置一样操作以执行读取操作或写入操作。此外,通过基于映射数据的地址映射操作,当控制器130试图更新存储在特定页面中的数据时,由于闪速存储器装置的特性,控制器130可以将更新后的数据编程到另一个空页面上,并且可以使特定页面的旧数据无效(例如,将与更新后的数据的逻辑地址相对应的物理地址从先前的特定页面更新到另一个新编程的页面)。进一步地,控制器130可以将新数据的映射数据存储到FTL中。
例如,当在存储器装置150中执行从主机102请求的操作时,控制器130使用处理器134。与存储器装置150接合的处理器134可以处理与从主机102接收到的命令相对应的指令或命令。控制器130可以将与从主机102接收到的命令相对应的命令操作作为前台操作而执行,诸如与写入命令相对应的编程操作、与读取命令相对应的读取操作、与擦除/丢弃命令相对应的擦除/丢弃操作以及与具有设置命令的设置参数命令或设置特征命令相对应的参数设置操作。
又例如,控制器130可以通过处理器134对存储器装置150执行后台操作。作为示例而非限制,对存储器装置150的后台操作包括复制存储在存储块152、154、156之中的存储块中的数据并将这种数据存储在另一存储块中,例如,垃圾收集(GC)操作。后台操作可以包括将存储在存储块152、154、156中的至少一个中的数据移动到存储块152、154、156中的至少另一个中,例如,损耗均衡(WL)操作。在后台操作期间,控制器130可以使用处理器134将存储在控制器130中的映射数据存储到存储器装置150中的存储块152、154、156中的至少一个中,例如,映射清除操作。在存储块152、154、156之中检查或搜索坏块的坏块管理操作是由处理器134执行的后台操作的另一示例。
在存储器系统110中,控制器130执行与从主机102输入的多个命令相对应的多个命令操作。例如,当执行与编程命令相对应的编程操作、与读取命令相对应的读取操作和与擦除命令相对应的擦除操作时,这些操作可以顺序地(即按特定类型的命令的组)、随机地、或者交替地(即在不同类型的命令之间交替)执行,控制器130可以确定将控制器130连接到存储器150中包括的多个存储器管芯的多个通道或通路之中的哪个通道或通路适合或适用于执行每个操作。控制器130可以经由用于执行每个操作的所确定的通道或通路来传输数据或指令。在每个操作完成之后,存储器150中的多个存储器管芯可以分别经由相同的通道或通路来传输操作结果。然后,控制器130可以将响应或确认信号传输到主机102。在实施例中,控制器130可以检查每个通道或每个通路的状态。响应于从主机102输入的命令,控制器130可以基于每个通道或每个通路的状态来选择至少一个通道或通路,使得可以经由所选择的通道或通路来传递指令和/或操作结果与数据。
作为示例而非限制,控制器130可以识别与多个通道(或通路)有关的状态,多个通道(或通路)与存储器装置150中包括的多个存储器管芯相关联。控制器130可以将每个通道或每个通路的状态确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态。控制器对通过哪个通道或通路传递指令(和/或数据)的确定可以与物理块地址相关联,例如,指令(和/或数据)传递到哪个管芯。控制器130可以参照从存储器装置150传递的描述符。描述符可以包括描述有关存储器装置150的相关信息的参数块或参数页面。例如,描述符可以包括装置描述符、配置描述符、单元描述符等。每个描述符是可以具有设定格式或结构的数据。控制器130可以参照或使用描述符来确定指令或数据在哪个(哪些)通道或通路上交换。
处理器134中可以包括管理单元(未示出)。管理单元可以执行存储器装置150的坏块管理。管理单元可以在存储器装置150中找到不满足进一步使用的条件的坏存储块,并对坏存储块执行坏块管理。当存储器装置150是闪速存储器(例如,NAND闪速存储器)时,由于NAND逻辑功能的特性,在写入操作期间(例如,在编程操作期间)可能发生编程失败。在坏块管理期间,可以将编程失败的存储块或坏存储块的数据编程到新的存储块中。坏块可能使具有3D堆叠结构的存储器装置150的利用率和存储器系统110的可靠性严重恶化。因此,可靠的坏块管理可以增强或提高存储器系统110的性能。
图4是示出存储器装置150中的存储块的配置的示图。
参照图4,存储器装置150可以包括多个存储块BLOCK0至BLOCKN-1,例如,BLOCK0(210)、BLOCK1(220)、BLOCK2(230)、至BLOCKN-1(240)。存储块210、220、230和240中的每一个可以包括多个页面,例如2M个页面,页面的数量可以根据电路设计而变化。例如,在一些应用中,存储块中的每一个可以包括M个页面。页面中的每一个可以包括联接到字线WL的多个存储器单元。
此外,存储器装置150中的多个存储块中的每一个可以利用具有每个能够存储一位数据的存储器单元的单层单元(SLC)存储块,或者具有每个能够存储两位或更多位数据的存储器单元的多层单元(MLC)存储块来实施。MLC存储块的一些示例是双层单元存储块(也被称为MLC存储块)、三层单元(TLC)存储块和四层单元(QLC)存储块。
根据本发明的实施例,存储器装置150可以是诸如闪速存储器的非易失性存储器,例如NAND闪速存储器。然而,存储器装置150可以被实现为相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM)等中的任意一种。
存储块210、220、230、…、240可以通过编程操作来存储从主机传送的数据,并且通过读取操作将存储块中存储的数据传送到主机。
图5是示出存储器装置150中的存储块330的电路图。
参照图5,存储器装置150可以包括具有多个存储器单元阵列的存储块330、行解码器315、读取/写入电路320和电压供应器310。
参照图5,存储块330可以对应于多个存储块152至156中的任意一个。
存储器装置150的存储块330可以包括分别电联接到位线BL0至BLm-1的多个单元串340。每一列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可以在选择晶体管DST和SST之间串联地电联接。各自的存储器单元MC0至MCn-1可以被配置为每个可以存储1位数据信息的单层单元(SLC),或者可以通过每个可以存储多个位的数据信息的多层单元(MLC)来配置。串340可以分别电联接到相应位线BL0至BLm-1。作为参照,在图5中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示公共源极线。
尽管图5作为示例仅示出了存储块330由NAND闪速存储器单元构成,但是要注意的是,存储器装置150的存储块330不限于NAND闪速存储器。存储器块330可以通过NOR闪速存储器、组合了至少两种存储器单元的混合闪速存储器、或者控制器内置在存储器芯片中的OneNAND闪速存储器来实现。半导体装置的操作特性不仅可以应用于电荷存储层由导电浮置栅极配置的闪速存储器装置,而且可以应用于电荷存储层由介电层配置的电荷撷取闪存(CTF)。
存储器装置150的电压供应器310可以根据操作模式和待供应到块体(例如,其中形成存储器单元的阱区)的电压,提供字线电压,例如,编程电压、通过电压、选择读取电压和非选择读取电压,以及待供应到各自的字线的其它可能的电压。电压供应器310可以在控制逻辑325的控制下执行电压生成操作。电压供应器310可以生成多个可变读取电压以生成多个读取数据,在控制逻辑325的控制下选择存储器单元阵列的存储块或扇区之一,选择所选择存储块的字线之一,并且向所选择字线和未选择字线提供字线电压。
存储器装置150的行解码器315可以响应于地址ADDR而选择多个存储块330中的一个。行解码器315可以选择所选择存储块的字线中的一个。行解码器315可以将字线电压从电压供应器310传送到所选择字线。在编程操作期间,行解码器315可以将编程/验证电压传送到所选择字线,并且将通过电压Vpass传送到每一个未选择字线。
存储器装置150的读取/写入电路320可以由控制逻辑325控制,并且可以根据操作模式用作读出放大器或写入驱动器。在验证操作或正常读取操作期间,读取/写入电路320可以操作为从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以操作为根据待存储在存储器单元阵列中的数据来驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并且根据接收到的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的页面缓冲器(PB)322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
控制逻辑325可以响应于来自控制器130的命令而控制行解码器315、读取/写入电路320和电压供应器310。控制逻辑325可以响应于写入命令而控制电压供应器310和读取/写入电路320,使得来自外部的数据(DATA)被编程在所选择存储器单元。例如,可以在控制逻辑325的控制下以增量步进脉冲编程(ISPP)方案对所选择存储器单元进行编程。
在ISPP方案中,执行用于对所选择存储器单元(例如,连接到一个字线的存储器单元)进行编程的编程周期。一个编程周期(或编程操作)由多个编程循环组成。在每个编程循环中,使用至少一个编程脉冲和至少一个验证脉冲。编程脉冲具有编程电压Vpgm的电平,验证脉冲具有验证电压的电平。在ISPP方案中,编程电压Vpgm的电平可以随着循环计数的增加而增加。
图6A示出了存储器系统执行第一复制操作的示例。图6B示出了执行第一复制操作的存储器装置的一部分。下文中,参照图3、图6A和图6B,将描述根据本发明的实施例的存储器系统执行的第一复制操作。
第一复制操作包括将存储在存储器管芯的第一位置(例如,慢速模式区域)中的数据复制到存储器管芯的第二位置(例如,快速模式区域)中而不将该数据传输到存储器装置150外部的控制器130的操作。第一位置和第二位置可以包括在相同的存储器管芯中,或者可以包括在不同的存储器管芯中。第一复制操作可以包括回写(copy-back)操作。
在第一复制操作期间,在步骤S11中,读出存储在存储器管芯的第一位置中的数据并将该数据存储在页面缓冲器中。在步骤S17中,将存储在页面缓冲器中的数据编程到存储器管芯的第二位置。
由于第一复制操作不包括检测数据中包括的错误并校正检测到的错误的错误校正操作,因此可以不消耗数据传输线的资源,并且由数据输入/输出的数据复制操作时间可不增加。
然而,当待被执行第一复制操作的目标数据包含错误时,复制到新位置的数据也可能包含错误。也就是说,当包含错误的数据被复制若干次时,例如,当为后台操作复制有效数据时,额外发生的错误可能会不断累积。因此,当仅执行第一复制操作来复制数据时,由于错误超出了错误校正范围,因此可能导致数据的错误无法校正。其错误无法校正的数据。
图7A示出了存储器系统执行第二复制操作的示例。图7B示出了执行第二复制操作的存储器装置的一部分。下文中,参照图3、图7A和图7B,将描述根据本发明的实施例的存储器系统执行的第二复制操作。
第二复制操作包括将存储在存储器管芯的第一位置中的数据传输到控制器来执行错误校正并且将校正后的数据复制到第二位置中的操作。第一位置和第二位置可以包括在相同的存储器管芯中,或者可以包括在不同的存储器管芯中。
在第二复制操作期间,在步骤S21中,读出存储在存储器装置的第一位置中的数据,然后将该数据存储在页面缓冲器中。在步骤S23中,将存储在页面缓冲器中的数据通过数据传输线传输到控制器。
在步骤S24中,控制器对接收到的数据执行错误校正操作。在步骤S25中,将校正后的数据再次通过数据传输线输入到存储器管芯,然后存储在页面缓冲器中。在步骤S27中,将存储在页面缓冲器中的数据编程到存储器管芯的第二位置。
在上述第二复制操作期间,在步骤S24中执行的包括错误检测和错误校正的错误校正操作可能使复制操作时间增加。即使当第一位置和第二位置包括在相同的存储器管芯中时,也需要通过数据传输线将数据传输到控制器130来进行错误校正。然后,校正后的数据需要再次通过数据传输线被输入到存储器装置150。因此,可能消耗数据传输线的资源,并且数据复制操作时间可能因数据输入/输出而增加。
图8A至图8D示出了根据访问模式的存储块的操作的示例。
下文中,将参照图3和图8A至图8D描述根据本实施例的在SLC模式、MLC模式和TLC模式下操作的存储块的操作。
图8A是用于描述在SLC模式下操作的存储块的读取操作的示图。在图8A中,水平轴表示在SLC模式下操作的存储块中包括的存储器单元的阈值电压,垂直轴表示存储器单元的数量。如图8A所示,当存储块在SLC模式下操作时,存储器单元可以具有擦除状态E和编程状态P。在这种情况下,在读取操作期间,可以基于第一读取电压VRD1来确定存储器单元的状态。当执行读取操作时,可以将读取通过电压VRPASS施加到未选择字线,该读取通过电压VRPASS高到足以接通联接到未选择字线的存储器单元,而不管存储器单元的状态E或P1。
图8B是用于描述在MLC模式下操作的存储块的读取操作的示图。在图8B中,水平轴表示在MLC模式下操作的存储块中包括的存储器单元的阈值电压,垂直轴表示存储器单元的数量。如图8B所示,当存储块在MLC模式下操作时,存储器单元可以具有擦除状态E和第一至第三编程状态P1至P3。在这种情况下,在读取操作期间,可以基于第一至第三读取电压VRD1至VRD3来确定存储器单元的状态。当执行读取操作时,可以将读取通过电压VRPASS施加到未选择字线,该读取通过电压VRPASS高到足以接通联接到未选择字线的存储器单元,而不管存储器单元的状态E和P1至P3。
图8C是用于描述在TLC模式下操作的存储块的读取操作的示图。在图8C中,水平轴表示在TLC模式下操作的存储块中包括的存储器单元的阈值电压,垂直轴表示存储器单元的数量。如图8C所示,当存储块在TLC模式下操作时,存储器单元可以具有擦除状态E和第一至第七编程状态P1至P7。在这种情况下,在读取操作期间,可以基于第一至第七读取电压VRD1至VRD7来确定存储器单元的状态。当执行读取操作时,可以将读取通过电压VRPASS施加到未选择字线,该读取通过电压VRPASS高到足以接通联接到未选择字线的存储器单元,而不管存储器单元的状态E和P1至P7。
图8D是用于描述在QLC模式下操作的存储块的读取操作的示图。在图8D中,水平轴表示在QLC模式下操作的存储块中包括的存储器单元的阈值电压,垂直轴表示存储器单元的数量。如图8D所示,当存储块在QLC模式下操作时,存储器单元可以具有擦除状态E和第一至第十五编程状态P1至P15。在这种情况下,在读取操作期间,可以基于第一至第十五读取电压VRD1至VRD15来确定存储器单元的状态。当执行读取操作时,可以将读取通过电压VRPASS施加到未选择字线,该读取通过电压VRPASS高到足以接通联接到未选择字线的存储器单元,而不管存储器单元的状态E和P1至P15。
如上所述,可以通过仅施加一次第一读取电压VRD1来检查在SLC模式下操作的存储器单元中存储的数据的状态值。然而,可以通过施加第一至第十五读取电压VRD1至VRD15来检查在QLC模式下操作的存储器单元中存储的数据的状态值。因此,对在QLC模式下操作的存储器单元执行读取操作所需的时间可能变得比对在SLC模式下操作的存储器单元执行读取操作所需的时间更长。
图9是根据本发明的实施例的存储器系统执行读取操作的方法的流程图。
参照图3和图9,当在步骤S101中从主机102接收到包括逻辑地址的读取请求RD_REQ时,在步骤S103中,控制器130可以确定与接收到的逻辑地址相对应的数据DAT是否存储在慢速模式区域和快速模式区域两者中。此时,控制器130可以通过参照图10B所示的映射数据来执行确定。
存储在快速模式区域中的数据DAT的读取操作速度可高于存储在慢速模式区域中的数据HDAT的读取操作速度。例如,快速模式区域可以包括在SLC模式下操作的存储块,慢速模式区域可以包括在XLC模式(MLC、TCL或QLC模式)下操作的存储块。然而,本实施例不限于此。
当步骤S103的确定结果指示与逻辑地址相对应的数据DAT未存储在慢速模式区域或快速模式区域中(步骤S103中为否)时,控制器130可以确定与逻辑地址相对应的数据DAT是仅存储在慢速模式区域或快速模式区域中的冷数据CDAT。因此,在步骤S104中,控制器130可以读出冷数据CDAT,并且将读取的数据存储在页面缓冲器中。控制器130控制存储器装置150使得存储在页面缓冲器中的冷数据CDAT输出(例如,数据输出)到控制器130。在步骤S106中,控制器130将冷数据CDAT临时存储在存储器144中。在步骤S108中,控制器130检测临时存储在存储器144中的冷数据CDAT中包含的错误,并且执行ECC操作以校正检测到的错误。在步骤S119中,控制器130将其错误已被校正的冷数据CDAT传输到主机102。
在步骤S121中,控制器130可以通过将状态值增加1来更新在步骤S101中接收到的读取请求RD_REQ中包括的逻辑地址的读取计数RD_CNT的状态值。当在步骤S121中更新的读取计数RD_CNT的值变得等于或大于预设参考值REF时,控制器130可以根据在步骤S101中接收到的读取请求RD_REQ来确定与逻辑地址LBA相对应的数据DAT已经从冷数据CDAT变为热数据HDAT。因此,控制器130可以通过执行第一复制操作或第二复制操作将存储在慢速模式区域或快速模式区域中的热数据存储到慢速模式区域和快速模式区域两者中,这将在下面参照图10A和图10B进行描述。控制器130可以将对其执行第一复制操作或第二复制操作的快速模式区域或慢速模式区域的物理地址添加到逻辑地址的映射数据中。
当步骤S103的确定结果指示与逻辑地址LBA相对应的数据DAT存储在慢速模式区域和快速模式区域两者中(步骤S103中为是)时,控制器130可以确定与逻辑地址LBA相对应的数据DAT是存储在慢速模式区域和快速模式区域两者中的热数据HDAT。因此,在步骤S105中,控制器130读出存储在慢速模式区域和快速模式区域中的热数据之中的、存储在快速模式区域中的热数据F_HDAT,然后将读取的数据存储在页面缓冲器中。控制器130控制存储器装置150使得存储在页面缓冲器中且从快速模式区域输出的热数据F_HDAT输出(例如,数据输出)到控制器130,在步骤S107中,控制器130将热数据F_HDAT临时存储在存储器144中。
在步骤S109A中,控制器130执行ECC操作,该ECC操作包括用于检测临时存储在存储器144中且从快速模式区域输出的热数据F_HDAT中包含的错误的错误检测操作,以及用于校正热数据F_HDAT中包含的检测到的错误的错误校正操作。
在步骤S109B中,控制器130可以在错误校正操作期间确定错误校正是否成功并输出指令信号(例如,校正成功信号或校正失败信号)。
当错误位的数量大于或等于可校正错误位的阈值数量时,控制器130可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。当错误位的数量小于可校正错误位的阈值数量时,控制器130可以使用在ECC编码过程中生成的奇偶校验位来校正错误位。
也就是说,在步骤S109B中,控制器130确定检测到的错误是否是可校正的。数据中包含的错误可以通过错误检测操作而被确定为可校正的或不可校正的。例如,当数据中包含的错误的数量等于或大于预定设定值时,该错误被确定为不可校正的。当数据中包含的错误的数量小于预定设定值时,该错误被确定为可校正的。当步骤S109B的确定结果指示检测到的错误是可校正的(S109B中为是)时,在步骤S120中,控制器130将从快速模式区域输出且其错误已被校正的热数据F_HDAT传输到主机102。
这样,当执行读取操作时,根据本实施例的存储器系统110可以根据读取请求从读取操作速度高于慢速模式区域的快速模式区域输出数据F_HDAT,从而减少读取操作所需的时间。
根据本实施例的存储器系统110可以将仅可以在慢速模式区域中执行的读取操作分配到快速模式区域,从而防止慢速模式区域中包括的存储器单元的特性因读取操作而劣化。
当步骤S109B的确定结果指示从快速模式区域输出的热数据F_HDAT的检测到的错误是不可校正的(S109B中为否)时,在步骤S111中,控制器130读出存储在慢速模式区域中的热数据S_HDAT,然后将读取的数据存储在页面缓冲器中。在步骤S113中,控制器130将存储在页面缓冲器中且从慢速模式区域输出的热数据S_HDAT输出到控制器130,并且将热数据S_HDAT临时存储在存储器144中。在步骤S115中,控制器130对临时存储在存储器144中且从慢速模式区域输出的热数据S_HDAT执行ECC操作。在步骤S118中,控制器130将从慢速模式区域输出且其错误已被校正的热数据S_HDAT传输到主机102。
在步骤S120和S118之后,控制器130可以通过将状态值增加1来更新在步骤S101中接收到的读取请求RD_REQ中包括的逻辑地址的读取计数RD_CNT的状态值。
这样,当存储在快速模式区域中的数据的错误超出校正范围时,根据本实施例的存储器系统110可以对存储在慢速模式区域中的数据执行错误校正,从而避免对待传输到主机102的读取数据进行错误校正不成功的情况。因此,可以提高读取数据的可靠性。此时,存储在快速模式区域中的数据可以与存储在慢速模式区域中的数据相同。
图10A是在执行读取操作之后,根据本实施例的存储器系统基于读取计数的状态值对热数据执行第一复制操作和第二复制操作的方法的流程图。图10B示出了根据本发明的实施例的映射数据和读取计数。下文中,将参照图3、图10A和图10B描述基于逻辑地址的读取计数的状态值对热数据执行的第一复制操作和第二复制操作。
参照图10A,在步骤S31中,控制器130在执行读取操作之后更新读取计数RD_CNT。读取操作可以包括根据从主机102接收到的读取请求RD_REQ对存储在存储器装置150中的数据执行的读取操作。
当与更新后的读取计数RD_CNT相对应的数据是热数据时,在步骤S33中,控制器130确定存储了热数据的区域的访问模式。控制器130可以基于预设参考值和与逻辑地址相对应的读取计数RD_CNT来确定与更新后的读取计数RD_CNT相对应的数据是热数据还是冷数据。基于包括与逻辑地址相对应的物理地址的L2P映射数据,控制器130可以确定与更新后的读取计数RD_CNT相对应的数据是存储在慢速模式区域中还是存储在快速模式区域中。
当与更新后的读取计数RD_CNT相对应的数据是仅存储在慢速模式区域中的热数据(在S33中“仅SLOW”)时,在步骤S35中,控制器130通过第一复制操作将存储在慢速模式区域中的热数据复制到快速模式区域中。然后,在步骤S37中,控制器130可以将对其执行了第一复制操作的快速模式区域的物理地址更新到映射数据中。此时,不对通过第一复制操作而复制到快速模式区域中的热数据执行错误校正操作。
当与更新后的读取计数RD_CNT相对应的数据是仅存储在快速模式区域中的热数据(在S33中“仅FAST”)时,在步骤S36中,控制器130通过第二复制操作将仅存储在快速模式区域中的热数据复制到慢速模式区域中。然后,在步骤S38中,控制器130可以将对其执行了复制操作的慢速模式区域的物理地址更新到映射数据中。此时,可以对通过第二复制操作而复制到慢速模式区域中的热数据执行错误校正操作。
通过步骤S35和S37的第一复制操作以及步骤S36和S38的第二复制操作,可以将热数据存储在慢速模式区域和快速模式区域两者中,并且与热数据的逻辑地址相对应的映射数据可以包括慢速模式区域的物理地址和快速模式区域的物理地址两者。可以保持该状态直到热数据无效为止。
当步骤S33的确定结果指示与更新后的读取计数RD_CNT相对应的数据存储在快速模式区域和慢速模式区域两者中时,控制器130不执行第一复制操作和第二复制操作。
下文中,将参照图10B更详细地描述当用于确定数据是否为热数据的参考值REF被设置为5时,针对热数据的第一复制操作和第二复制操作。
参照图10B的步骤A,当从主机102接收到对逻辑地址LBA3的读取请求时,控制器130可以对与逻辑地址LBA3相对应的物理地址PBA13中存储的数据执行读取操作,然后更新逻辑地址LBA3的读取计数RD_CNT。此时,控制器130可以将逻辑地址LBA3的读取计数RD_CNT从4更新为5。
在逻辑地址LBA3的读取计数RD_CNT从4更新为5的时刻,由于读取计数RD_CNT为5等于或大于参考值REF 5,因此控制器130可以确定与逻辑地址LBA3相对应的数据已经变为热数据。
因此,如图10B的步骤B所示,控制器130可以通过步骤S36中的第二复制操作将与逻辑地址LBA3相对应且存储在快速模式区域的物理地址PBA13中的热数据复制到物理地址PBA56的慢速模式区域中。控制器130可以将已对其执行了第二复制操作的慢速模式区域的物理地址PBA56更新到步骤S38中的逻辑地址LBA3的映射数据中。因此,逻辑地址LBA3的映射数据可以包括快速模式区域的物理地址PBA13和慢速模式区域的物理地址PBA56两者。
当从主机102接收到对逻辑地址LBA4的读取请求时,控制器130可以对与逻辑地址LBA4相对应的物理地址PBA74中存储的数据执行读取操作,然后更新逻辑地址LBA4的读取计数RD_CNT。此时,控制器130可以将逻辑地址LBA4的读取计数RD_CNT从4更新为5。
在逻辑地址LBA4的读取计数RD_CNT从4更新为5的时刻,由于读取计数RD_CNT为5等于或大于参考值5,因此控制器130可以确定与逻辑地址LBA4相对应的数据已变为热数据。
因此,如图10B的步骤B所示,控制器130可以通过步骤S35中的第一复制操作将与逻辑地址LBA4相对应且存储在慢速模式区域的物理地址PBA74中的热数据复制到物理地址PBA17的快速模式区域中。然后,控制器130可以将对其执行了第一复制操作的快速模式区域的物理地址PBA17更新到步骤S38中的逻辑地址LBA4的映射数据中。因此,逻辑地址LBA4的映射数据可以包括快速模式区域的物理地址PBA17和慢速模式区域的物理地址PBA74两者。此后,如图10B的步骤C所示,当再次从主机102接收到针对逻辑地址LBA4的读取请求时,控制器130可以对与快速模式区域相对应的物理地址PBA17和与慢速模式区域相对应的物理地址PBA74之中的、与快速模式区域相对应的物理地址PBA17中存储的数据执行读取操作。也就是说,当执行读取操作时,根据本实施例的存储器系统110可以根据读取请求从读取操作速度高于慢速模式区域的快速模式区域输出数据F_HDAT,从而减少读取操作所需的时间。此外,根据本实施例的存储器系统110可以将可以主要仅在慢速模式区域中执行的读取操作分配到快速模式区域,从而防止慢速模式区域中包括的存储器单元的特性因读取操作而劣化。这样,当存储在快速模式区域中的数据的错误超出校正范围时,根据本发明的实施例的存储器系统110可以对存储在慢速模式区域中的数据执行错误校正,从而避免对待传输到主机102的读取数据进行错误校正不成功的情况。因此,可以提高读取数据的可靠性。此时,存储在快速区域中的数据可以与存储在慢速区域中的数据相同。
尽管已经出于说明性目的描述了各个实施例,但对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所定义的本发明的精神和范围的情况下,可以做出各种改变和修改。
Claims (25)
1.一种存储器系统,包括:
非易失性存储器装置,包括第一区域和第二区域,其中所述第二区域的数据I/O操作速度高于所述第一区域的数据I/O操作速度;以及
控制器,所述控制器:
对存储在所述第一区域中的数据之中的、具有热属性的热数据执行第一读取操作,
控制所述非易失性存储器装置以在所述第一读取操作期间将所述热数据复制到所述第二区域中,并且
当在所述第一读取操作之后请求对所述热数据的第二读取操作时,访问被复制到所述第二区域中的所述热数据。
2.根据权利要求1所述的存储器系统,其中所述控制器进一步:
对所复制的热数据执行错误校正操作;以及
在所述第二读取操作期间将校正后的热数据传输到所述主机。
3.根据权利要求2所述的存储器系统,其中当所复制的热数据上的错误没有通过所述错误校正操作被校正时,所述控制器进一步在所述第二读取操作期间访问所述第一区域中的所述热数据。
4.根据权利要求1所述的存储器系统,其中所述非易失性存储器装置进一步包括缓冲器,所述缓冲器在将从所述第一区域和所述第二区域读取的数据传送到所述控制器之前临时存储所读取的数据,并且
其中所述控制器控制所述非易失性存储器装置以在所述第一读取操作期间将从述所第一区域读取且临时存储在所述缓冲器中的所述热数据复制到所述第二区域中。
5.根据权利要求1所述的存储器系统,其中所述控制器进一步:
生成、删除或校正将逻辑地址转换为物理地址的映射信息,并且
将基于数据访问频率而确定的所述热属性与所述映射信息相关联。
6.根据权利要求1所述的存储器系统,
其中所述第一区域包括由每个能够存储多位数据的非易失性存储器单元构成的存储块,并且
其中所述第二区域包括由每个能够存储1位数据的非易失性存储器单元构成的存储块。
7.根据权利要求1所述的存储器系统,其中所述数据I/O操作速度指示将数据编程到所述第一区域和所述第二区域中包括的非易失性存储器单元或者读取经编程的数据的操作的速度。
8.一种存储器系统的操作方法,所述存储器系统包括非易失性存储器装置,所述非易失性存储器装置包括第一区域和数据I/O操作速度高于所述第一区域的第二区域,所述操作方法包括:
对存储在所述第一区域中的数据之中的、具有热属性的热数据执行第一读取操作;
在所述第一读取操作期间将所述热数据复制到所述第二区域中;以及
当在所述第一读取操作之后请求对所述热数据的第二读取操作时,访问复制到所述第二区域中的所述热数据。
9.根据权利要求8所述的操作方法,进一步包括:
在所述第二读取操作期间对所复制的热数据执行错误校正操作,并且
将校正后的热数据传输到所述主机。
10.根据权利要求9所述的操作方法,进一步包括:当错误没有通过对所复制的热数据的所述错误校正操作被校正时,在所述第二读取操作期间访问所述第一区域中的所述热数据。
11.根据权利要求8所述的操作方法,其中复制包括在所述第一读取操作期间将从所述第一区域读取且临时存储在缓冲器中的所述热数据复制到所述第二区域中。
12.根据权利要求8所述的操作方法,进一步包括:
生成、删除或校正将逻辑地址转换为物理地址的映射信息,并且
将基于数据访问频率而确定的所述热属性与所述映射信息相关联。
13.根据权利要求8所述的操作方法,
其中所述第一区域包括由每个能够存储多位数据的非易失性存储器单元构成的存储块,并且
其中所述第二区域包括由每个能够存储1位数据的非易失性存储器单元构成的存储块。
14.根据权利要求11所述的操作方法,其中所述数据I/O操作速度指示将数据编程到所述第一区域和所述第二区域中包括的非易失性存储器单元或读取经编程的数据的操作的速度。
15.一种存储器系统的操作方法,包括:
当从主机接收到具有逻辑地址的读取请求时,确定存储了与所述逻辑地址相对应的数据的区域的访问模式;
当数据存储在具有第一访问模式的第一区域和具有第二访问模式的第二区域中时,对来自所述第一区域的所述数据执行错误校正操作;以及
确定来自所述第一区域的所述数据的错误是否被成功校正,并且当来自所述第一区域的所述数据的所述错误被成功校正时,将已校正错误的数据传输到所述主机。
16.根据权利要求15所述的操作方法,进一步包括:
当来自所述第一区域的所述数据的所述错误没有被成功校正时,对来自所述第二区域的所述数据执行所述错误校正操作;以及
将来自所述第二区域的已校正错误的数据传输到所述主机。
17.根据权利要求15所述的操作方法,进一步包括:
在接收到所述读取请求之前,确定热数据的存储区域;以及
当所述热数据仅存储在所述第二区域中时,通过第一复制操作将存储在所述第二区域中的所述热数据复制到所述第一区域中。
18.根据权利要求17所述的操作方法,进一步包括:当所述热数据仅存储在所述第一区域中时,通过第二复制操作将存储在所述第一区域中的所述热数据复制到所述第二区域中。
19.根据权利要求17所述的操作方法,其中所述第一复制操作包括:
读出存储在所述第二区域中的所述热数据,并且将所读取的数据存储在页面缓冲器中;以及
将存储在所述页面缓冲器中的所述热数据编程到所述第一区域。
20.根据权利要求18所述的操作方法,其中所述第二复制操作包括:
读出存储在所述第一区域中的所述热数据,并且将所读取的数据存储在页面缓冲器中;
对存储在所述页面缓冲器中的所述热数据执行错误校正操作;以及
将已对其执行了所述错误校正操作的所述热数据编程到所述第二区域。
21.根据权利要求17所述的操作方法,其中对所述第一区域执行的后台操作包括将存储在所述第一区域中的有效数据复制到具有所述第一访问模式的另一存储块中的第一复制操作。
22.根据权利要求18所述的操作方法,其中对所述第二区域执行的后台操作包括将存储在所述第二区域中的有效数据复制到具有所述第二访问模式的另一存储块中的第二复制操作。
23.根据权利要求15所述的操作方法,其中存储在所述第一区域中的数据的读取操作和编程操作的速度高于存储在所述第二区域中的数据的读取操作和编程操作的速度。
24.根据权利要求15所述的操作方法,其中可存储在所述第一区域中包括的存储器单元中的数据的状态值的数量小于可存储在所述第二区域中包括的存储器单元中的数据的状态值的数量。
25.根据权利要求15所述的操作方法,其中当所述第一访问模式是单层单元模式即SLC模式时,所述第二访问模式包括多层单元模式即MLC模式、三层单元模式即TLC模式和四层单元模式即QLC模式中的任意一种,
当所述第一访问模式是MLC模式时,所述第二访问模式包括所述TLC模式和所述QLC模式中的任意一种模式,或者
当所述第一访问模式是所述TLC模式时,所述第二访问模式包括所述QLC模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190168632A KR20210077230A (ko) | 2019-12-17 | 2019-12-17 | 메모리 시스템의 동작 방법 및 장치 |
KR10-2019-0168632 | 2019-12-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988054A true CN112988054A (zh) | 2021-06-18 |
Family
ID=76317982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011025827.XA Withdrawn CN112988054A (zh) | 2019-12-17 | 2020-09-25 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11687249B2 (zh) |
KR (1) | KR20210077230A (zh) |
CN (1) | CN112988054A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210382818A1 (en) * | 2020-06-08 | 2021-12-09 | Western Digital Technologies, Inc. | Solid-State Storage Devices that Reduce Read Time for Read Time-Sensitive Data |
US20230068324A1 (en) * | 2021-08-30 | 2023-03-02 | Micron Technology, Inc. | Direct logical-to-physical address mapping |
CN114281251B (zh) * | 2021-12-10 | 2023-08-11 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
US9158621B2 (en) | 2011-08-29 | 2015-10-13 | Sandisk Technologies Inc. | System and method of copying data |
KR20130070178A (ko) * | 2011-12-19 | 2013-06-27 | 한국전자통신연구원 | 하이브리드 저장 장치 및 그것의 동작 방법 |
JP5942511B2 (ja) * | 2012-03-19 | 2016-06-29 | 富士通株式会社 | バックアップ装置,バックアップ方法,およびバックアッププログラム |
WO2015106162A1 (en) * | 2014-01-09 | 2015-07-16 | SanDisk Technologies, Inc. | Selective copyback for on die buffered non-volatile memory |
KR102174030B1 (ko) | 2014-05-13 | 2020-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법 |
US10854290B1 (en) * | 2015-06-26 | 2020-12-01 | EMC IP Holding Company LLC | Utilizing a flash memory drive which includes single-level cell flash memory and multi-level cell flash memory |
JP6403162B2 (ja) * | 2015-07-23 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
US10599333B2 (en) * | 2016-03-09 | 2020-03-24 | Toshiba Memory Corporation | Storage device having dual access procedures |
KR102550343B1 (ko) | 2016-07-27 | 2023-07-03 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법 |
JP6822274B2 (ja) * | 2017-03-30 | 2021-01-27 | 富士通株式会社 | 情報処理システム、方法、及びプログラム |
US10671296B2 (en) * | 2017-08-09 | 2020-06-02 | Macronix International Co., Ltd. | Management system for managing memory device and management method for managing the same |
US10733110B1 (en) * | 2017-12-04 | 2020-08-04 | Amazon Technologies, Inc. | Collecting statistics for persistent memory |
JP6814764B2 (ja) * | 2018-04-06 | 2021-01-20 | 株式会社日立製作所 | 情報処理システム及びパス管理方法 |
US10871910B1 (en) * | 2019-09-27 | 2020-12-22 | Western Digital Technologies, Inc. | Non-volatile memory with selective interleaved coding based on block reliability |
-
2019
- 2019-12-17 KR KR1020190168632A patent/KR20210077230A/ko active Search and Examination
-
2020
- 2020-07-07 US US16/922,583 patent/US11687249B2/en active Active
- 2020-09-25 CN CN202011025827.XA patent/CN112988054A/zh not_active Withdrawn
-
2023
- 2023-05-08 US US18/313,372 patent/US20230350577A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11687249B2 (en) | 2023-06-27 |
KR20210077230A (ko) | 2021-06-25 |
US20210181953A1 (en) | 2021-06-17 |
US20230350577A1 (en) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766257B (zh) | 存储器系统及其操作方法 | |
CN109284202B (zh) | 控制器及其操作方法 | |
KR102468751B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN109390003B (zh) | 存储器系统及其操作方法 | |
US11029888B2 (en) | Memory system and method of controlling operations on bad memory block based on temperature | |
US20230350577A1 (en) | Memory system and operation method thereof | |
US20180373629A1 (en) | Memory system and operating method thereof | |
US20200409805A1 (en) | Apparatus and method for storing data in an mlc area of a memory system | |
US11481155B2 (en) | Controller and operating method thereof | |
US11922065B2 (en) | Memory system and operating method thereof | |
CN112199038A (zh) | 基于i/o吞吐量确定缓冲器使用的存储器系统及其操作方法 | |
CN110888825B (zh) | 在存储器系统中处理数据的设备和方法 | |
CN110781023A (zh) | 用于在存储器系统中处理数据的设备和方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN112558860A (zh) | 分布和读取数据的存储器系统及其操作方法 | |
CN110556152A (zh) | 存储器装置、其操作方法以及包括其的存储器系统 | |
US11815985B2 (en) | Apparatus and method for checking an operation status of a memory device in a memory system | |
CN114579040A (zh) | 用于保持在存储器系统中存储的数据的设备和方法 | |
CN109918315B (zh) | 存储器系统及存储器系统的操作方法 | |
US20190179563A1 (en) | Memory system and operation method thereof | |
US10984851B2 (en) | Memory system and method for operating the same | |
CN112286445A (zh) | 存储器系统及控制其温度的方法 | |
US11157210B2 (en) | Memory system performing dummy program operation during normal program operation | |
US11853601B2 (en) | Nonvolatile memory device supporting protection mode and memory system including the same | |
KR102377054B1 (ko) | 메모리 시스템 및 그의 동작방법 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210618 |