CN110968521B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110968521B CN110968521B CN201910659831.2A CN201910659831A CN110968521B CN 110968521 B CN110968521 B CN 110968521B CN 201910659831 A CN201910659831 A CN 201910659831A CN 110968521 B CN110968521 B CN 110968521B
- Authority
- CN
- China
- Prior art keywords
- memory
- user data
- block
- size
- data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/7202—Allocation control and policies
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统,该存储器系统包括:存储器装置,包括多个正常存储块和多个虚设存储块;以及控制器,适于控制存储器装置,其中控制器包括:存储器,适于存储对应于写入命令的用户数据;以及处理器,适于通过将用户数据的大小与单触发编程操作的参考大小进行比较来执行将用户数据编程到存储器装置中的开放存储块中的单触发编程操作。
Description
相关申请的交叉引用
本申请要求于2018年9月28日提交的申请号为10-2018-0116239的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。
技术领域
本发明的各个示例性实施例总体涉及一种存储器系统。特别地,示例性实施例涉及一种能够有效地处理虚设数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经向使得能够随时随地使用计算系统的普适计算转变。因此,对于诸如移动电话、数码相机和膝上型计算机的便携式电子装置的需求已经快速增长。电子装置通常包括使用诸如数据存储装置的存储器装置的存储器系统。数据存储装置可用作便携式电子装置的主存储器单元或辅助存储器单元。
由于不存在机械驱动部件,因此使用数据存储装置提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。而且,数据存储装置可具有比硬盘装置更快的数据访问速率和低功耗。具有这样的优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、各种接口的存储卡、固态驱动器(SSD)等。
发明内容
本发明的各个实施例涉及一种能够有效地处理虚设数据的存储器系统。
根据本发明的实施例,存储器系统可包括:存储器装置,包括多个正常存储块和多个虚设存储块;以及控制器,适于控制存储器装置,其中控制器包括:存储器,适于存储对应于写入命令的用户数据;以及处理器,适于通过将用户数据的大小与单触发编程操作的参考大小进行比较来执行将用户数据编程到存储器装置中的开放存储块中的单触发编程操作。
根据本发明的实施例,存储器系统的操作方法可包括:存储对应于写入命令的用户数据;将用户数据的大小与单触发编程操作的参考大小进行比较;并且基于比较结果执行将用户数据编程到开放存储块中的单触发编程操作。
根据本发明的实施例,存储器系统可包括:存储器装置,包括虚设存储块;控制器,被配置成控制存储器装置以在用户数据的大小不同于参考大小时将用户数据与虚设数据一起编程到虚设存储块内的一个或多个页面中,其中虚设数据的大小是用户数据的大小与参考大小之差,并且其中参考大小是虚设存储块内的单个页面的大小的倍数。
附图说明
在本文中参照附图进行描述,其中在若干视图中,相同的附图标记始终指代相同的部件,并且其中:
图1是示出根据本公开的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维(3D)结构的示意图;
图5A是示意性地示出根据本公开的实施例的将数据编程到SLC虚设开放块中的存储器系统操作的框图;
图5B是示意性地示出根据本公开的实施例的将数据编程到TLC虚设开放块中的存储器系统操作的框图;
图6A是示意性地示出根据本公开的实施例的将数据编程到SLC正常开放块中的存储器系统操作的框图;
图6B是示意性地示出根据本公开的实施例的将数据编程到TLC正常开放块中的存储器系统操作的框图;
图7是示出根据本公开的实施例的存储器系统的操作的流程图;
图8是示出根据本公开的实施例的存储器系统的操作的流程图;
图9是示出根据本公开的实施例的存储器系统检索牺牲存储块的操作的流程图;
图10至图18是示意性地示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本公开的各个示例。本公开可以不同的其它实施例、形式和其变型来实现并且不应被解释为限于本文阐述的实施例。相反,提供所描述的实施例使得本公开将是完整和全面的,并将本公开充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本公开的各个附图和示例中始终表示相同的部件。应注意的是,对“实施例”的参考不一定表示仅一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语限制。这些术语用于区分一个元件与另一个元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,可能已经夸大了比例。当元件被称为连接到或联接到另一元件时,应当理解的是前者可直接连接或联接到后者,或者经由其间的中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语是为了描述特定实施例的目的,而不旨在限制本发明。
如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其指明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被解释为具有与它们在本公开和相关领域的语境中的含义一致的含义,并且将不以理想化或过于形式化的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,结合一个实施例所描述的特征或元件可单独使用或与另一实施例的其它特征或元件组合使用,除非另有特别说明。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括可操作地联接到存储器系统110的主机102。
例如,主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪等的非便携式电子装置。
存储器系统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可集成到单个半导体装置中,该单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110可被配置成例如以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下发送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种组件之一。
存储器装置150可以是非易失性存储器装置,并且即使当不供应电力时也可保持其中所存储的数据。存储器装置150可通过写入操作存储从主机102提供的数据,并且通过读取操作将其中所存储的数据提供到主机102。存储器装置150可包括多个存储块,多个存储块中的每一个可包括多个页面。多个页面中的每一个可包括与多个字线(WL)电联接的多个存储器单元。
控制器130可控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供到主机102,并且/或者可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、存储器接口(I/F)142及存储器144。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
存储器接口142可用作用于处理在控制器130和存储器装置150之间传递的命令和数据的接口,以允许控制器130响应于从主机102传送的请求来控制存储器装置150。在当存储器装置150是闪速存储器时,特别地是当存储器装置150是NAND闪速存储器时的情况下,存储器接口142可在处理器134的控制下生成用于存储器装置150的控制信号,并可处理输入到存储器装置150中或从存储器装置150输出的数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且可存储用于操作或驱动存储器系统110和控制器130的临时性数据或事务数据。控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据传送到主机102中,并且可将通过主机102输入的数据存储到存储器装置150内。存储器144可用于存储控制器130和存储器装置150所需的数据以执行这些操作。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。虽然图1例示存储器144被设置在控制器130内部,但本公开不限于此。也就是说,存储器144可位于控制器130的内部或外部。例如,存储器144可由具有传递在存储器144和控制器130之间传递的数据和/或信号的存储器接口的外部易失性存储器实现。
处理器134可利用微处理器或中央处理单元(CPU)来实施。存储器系统110可包括一个或多个处理器134。
处理器134可控制存储器系统110的全部操作,并且控制响应于主机102的写入请求或读取请求而对存储器装置150进行的编程操作或读取操作。
当主机102将写入命令连同用户数据一起提供到控制器130时,处理器134可确定用于对临时存储在存储器144中的用户数据进行编程的方法。例如,处理器134可确定是将用户数据与虚设数据一起进行编程还是仅对用户数据进行编程。
具体地,处理器134可基于单触发编程操作的参考大小来确定对用户数据进行编程的方法。当单触发编程操作的参考大小不同于用户数据的大小时,处理器134可控制存储器装置150以将用户数据与虚设数据一起编程到虚设开放存储块中。在本实施例中,处理器134可生成具有预定大小的虚设数据,并且控制存储器装置150以将用户数据与虚设数据一起编程到虚设开放存储块中。在一些实施例中,处理器134可控制存储器装置150以生成具有预定大小的虚设数据,并且将用户数据与所生成的虚设数据一起编程到虚设开放存储块中。
另一方面,当单触发编程操作的参考大小等于用户数据的大小时,处理器134可控制存储器装置150以仅将用户数据编程到正常开放存储块中。
下面参照图5A至图6B更详细地描述处理器134对用户数据进行编程的方法。
处理器134可确定虚设数据是否与用户数据一起进行编程,然后控制存储器装置150以将用户数据与虚设数据一起编程到多个虚设存储块156之中的一个或多个虚设开放存储块中。另一方面,处理器134可控制存储器装置150以在没有虚设数据的情况下将用户数据编程到多个正常存储块152之中的一个或多个正常开放存储块中。
并且,控制器130可进一步包括错误校正码(ECC)组件和电源管理单元(PMU)。
ECC组件可检测并校正在读取操作期间从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
ECC组件可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC组件可包括用于基于上述代码中的至少一个来执行错误校正操作的电路、模块、系统或装置中的全部或一些。
PMU可提供并管理控制器130的电力。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK0 210至BLOCKN-1 240,并且块BLOCK0 210至BLOCKN-1 240中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。存储器装置150可包括多个存储块,根据每个存储器单元中可存储或表达的位的数量,该多个存储块诸如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括由每个能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括由每个能够存储多位数据,例如两位或更多位数据的存储器单元实施的多个页面。包括利用每个能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
图3是示出存储器装置150中的存储块330的电路图。
参照图3,存储块330可对应于包括在存储器系统110的存储器装置150中的多个存储块中的任意一个。
参照图3,存储器装置150的存储块330可包括分别电联接到位线BL0至BLm-1的多个单元串340。每列的单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可由每一个可存储1位信息的单层单元(SLC)或者由每一个可存储多位数据信息的多层单元(MLC)来配置。然而,本发明不限于仅SLC或MLC。串340可分别电联接到相应位线BL0至BLm-1。作为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然作为示例,图3仅示出了存储块330由NAND闪速存储器单元构成,但注意的是,根据实施例的存储器装置150的存储块330不限于NAND闪速存储器。存储块330可通过NOR闪速存储器、其中组合了至少两类存储器单元的混合闪速存储器或其中控制器被内置在存储器芯片中的One-NAND闪速存储器实现。半导体装置的操作特性不仅可被应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应用于其中电荷存储层由介电层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可提供待根据操作模式而被供应到各个字线的例如编程电压、读取电压和通过电压的字线电压以及待供应到其中形成有存储器单元的例如阱区的体材料(bulk)的电压。电源电路310可在控制电路(未示出)的控制下执行电压生成操作。电源电路310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选择的存储块的字线中的一个,并将字线电压提供到所选择的字线和未选择的字线。
存储器装置150的读取和写入(读取/写入)电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证操作或正常读取操作期间,读取/写入电路320可操作为从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可操作为根据待被存储在存储器单元阵列中的数据而驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并且根据所接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出存储器装置150的3D结构的示意图。
虽然图4示出3D结构,但是存储器150可由二维(2D)或三维(3D)存储器装置来实现。具体地,如图3所示,存储器装置150可被实现为具有3D堆叠结构的非易失性存储器装置。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,每个存储块具有3D结构(或垂直结构)。
图5A是示意性地示出根据实施例的存储器系统110将数据编程到单层单元(SLC)虚设开放块中的操作的框图。
在图5A中,存储块是单层单元存储块,并且可基于SLC存储块的一个物理页面来执行单触发编程操作。当一个物理页面的大小为32KB时,可对具有32KB的倍数的大小的数据,诸如具有32KB、64KB和96KB的大小的数据执行单触发编程操作。也就是说,作为单触发编程操作的目标的数据的参考大小可以是32KB的倍数。
主机102可将写入命令提供到存储器系统110,以便存储24KB的用户数据。
可通过主机接口132将写入命令和用户数据输入到控制器130,并且可在处理器134的控制下将用户数据临时存储在图1所示的存储器144中。
随后,图1中的处理器134可基于写入命令来选择待存储用户数据的SLC存储块。进一步地,处理器134可将用户数据的大小与单触发编程操作的参考大小进行比较。因为用户数据的大小为24KB,并且单触发编程操作的参考大小为32KB,即用户数据的大小与单触发编程操作的参考大小相差8KB的量,所以可将用户数据与8KB大小的虚设数据一起编程到存储块中。因此,处理器134可控制存储器装置150以将24KB用户数据(参照附图中所示的阴影部分)与8KB虚设数据(参照附图中所示的阴影线部分)一起编程到多个虚设存储块156之中的至少一个SLC虚设开放存储块510的第n物理页面Pn中。
在本实施例中,处理器134可生成8KB虚设数据,并且通过存储器接口142将24KB用户数据和8KB虚设数据提供到存储器装置150。随后,处理器134可控制存储器装置150以将24KB用户数据和8KB虚设数据编程到第n物理页面Pn中。在一些实施例中,处理器134可通过存储器接口142将24KB用户数据提供到存储器装置150,并且控制存储器装置150以生成8KB虚设数据。随后,处理器134可控制存储器装置150以将8KB虚设数据和24KB用户数据编程到第n物理页面Pn中。
图5B是示意性地示出根据实施例的存储器系统110将数据编程到三层单元(TLC)虚设开放块中的操作的框图。
在图5B中,存储块是TLC存储块,并且可基于TLC存储块的一个物理页面来执行单触发编程操作。当一个页面的大小为96KB时,可对具有96KB的倍数的大小的数据,诸如具有96KB、192KB和288KB的大小的数据执行单触发编程操作。也就是说,作为单触发编程操作的目标的数据的参考大小可以是96KB的倍数。TLC存储块的一个物理页面包括三个逻辑页面。可将数据顺序地编程到TLC存储块的一个物理页面中包括的第一逻辑页面MSB、第二逻辑页面CSB和第三逻辑页面LSB中。然而,这仅仅是一个实施例,并且本实施例不限于此。
主机102可将写入命令提供到存储器系统110,以便存储64KB的用户数据。
可通过主机接口132将写入命令和用户数据输入到控制器130,并且可在处理器134的控制下将用户数据临时存储在存储器144中。
随后,处理器134可基于写入命令来选择待存储用户数据的TLC存储块。进一步地,处理器134可将用户数据的大小与单触发编程操作的参考大小进行比较。因为用户数据的大小为64KB,并且单触发编程操作的参考大小为96KB,即用户数据的大小与单触发编程操作的参考大小相差32KB的量,所以可将用户数据与32KB的虚设数据一起编程到存储块中。因此,处理器134可控制存储器装置150以将64KB用户数据(参照附图中所示的阴影部分)与32KB虚设数据(参照附图中所示的阴影线部分)一起编程到多个虚设存储块156之中的至少一个TLC虚设开放存储块550的第n物理页面Pn中。
在本实施例中,处理器134可生成32KB虚设数据,并且通过存储器接口142将64KB用户数据和32KB虚设数据提供到存储器装置150。随后,处理器134可控制存储器装置150以将64KB用户数据和32KB虚设数据编程到第n物理页面Pn中。在一些实施例中,处理器134可通过存储器接口142将64KB用户数据提供到存储器装置150,并且控制存储器装置150以生成32KB虚设数据。随后,处理器134可控制存储器装置150以将32KB虚设数据和64KB用户数据编程到第n物理页面Pn中。
图6A是示意性地示出根据实施例的存储器系统110将数据编程到SLC正常开放块的操作的框图。
在图6A中,存储块是SLC存储块,并且可基于SLC存储块的一个物理页面来执行单触发编程操作。当一个物理页面的大小为32KB时,可对具有32KB的倍数的大小的数据,诸如具有32KB、64KB和96KB的大小的数据执行单触发编程操作。也就是说,作为单触发编程操作的目标的数据的参考大小可以是32KB的倍数。
主机102可将写入命令提供到存储器系统110,以便存储32KB的用户数据。
可通过主机接口132将写入命令和用户数据输入到控制器130,并且可在处理器134的控制下将用户数据临时存储在存储器144中。
随后,处理器134可基于写入命令来选择待存储用户数据的SLC存储块。进一步地,处理器134可将用户数据的大小与单触发编程操作的参考大小进行比较。因为用户数据的大小为32KB,单触发编程操作的参考大小为32KB,即用户数据的大小等于单触发编程操作的参考大小,所以可仅将用户数据编程到存储块中。因此,处理器134可控制存储器装置150以将32KB用户数据(参照附图中所示的阴影部分)编程到多个正常存储块152之中的至少一个SLC正常开放存储块610的第n物理页面Pn中。
图6B是示意性地示出根据实施例的存储器系统110将数据编程到TLC正常开放块的操作的框图。
在图6B中,存储块是TLC存储块,并且可基于TLC存储块的一个物理页面来执行单触发编程操作。当一个页面的大小为96KB时,可对具有96KB的倍数的大小的数据,诸如具有96KB、192KB和288KB的大小的数据执行单触发编程操作。也就是说,作为单触发编程操作的目标的数据的参考大小可以是96KB的倍数。TLC存储块的一个物理页面包括三个逻辑页面。可将数据顺序地编程到三层单元存储块的一个物理页面中包括的第一逻辑页面MSB、第二逻辑页面CSB和第三逻辑页面LSB中。然而,这仅仅是一个实施例,并且本实施例不限于此。
主机102可将写入命令提供到存储器系统110,以便存储96KB的用户数据。
可通过主机接口132将写入命令和用户数据输入到控制器130,并且可在处理器134的控制下将用户数据临时存储在存储器144中。
随后,处理器134可基于写入命令来选择TLC存储块作为待存储用户数据的存储块的类型。进一步地,处理器134可将用户数据的大小与单触发编程操作的参考大小进行比较。因为用户数据的大小为96KB,单触发编程操作的参考大小为96KB,即用户数据的大小等于单触发编程操作的参考大小,所以可仅将用户数据编程到存储块中。因此,处理器134可控制存储器装置150以将96KB用户数据(参照附图中所示的阴影部分)编程到多个正常存储块152之中的至少一个TLC正常开放存储块650的第n物理页面Pn中。
图7是示出根据实施例的存储器系统110的操作的流程图。
在步骤S701中,主机102可通过主机接口132将写入命令和用户数据提供到控制器130。
在步骤S703中,存储器144可在处理器134的控制下临时存储用户数据。例如,存储器144可将用户数据临时存储在数据缓冲器中。
在步骤S705中,处理器134可响应于从主机102提供的写入命令,确定用于存储用户数据的存储块的类型(例如,SLC存储块或TLC存储块)。
在步骤S707中,处理器134可将与所确定的存储块的类型相对应的单触发编程操作的参考大小与用户数据的大小进行比较。
当单触发编程操作的参考大小等于用户数据的大小(即,步骤S707中为“是”)时,在步骤S709中,处理器134可选择多个正常存储块152之中的一个或多个正常开放存储块来编程用户数据。
另一方面,当单触发编程操作的参考大小不同于用户数据的大小(即,步骤S707中为“否”)时,在步骤S711中,处理器134可选择多个虚设存储块156之中的一个或多个虚设开放存储块来编程用户数据。
随后,在步骤S713中,处理器134可通过存储器接口142将用户数据提供到存储器装置150。虽然未示出,但根据本实施例的处理器134可通过存储器接口142将虚设数据与用户数据一起提供到存储器装置150。
在步骤S715中,存储器装置150可将用户数据编程到在处理器134的控制下选择的开放存储块中。
图8是示出根据实施例的存储器系统110的操作的流程图。存储器系统110可能需要在存储器装置150中确保多个空闲存储块以便确保足够的数据存储空间。存储器系统110可执行垃圾收集操作以确保空闲存储块。
在步骤S801中,存储器系统110可检查存储器装置150是否执行与从主机102接收的命令相对应的操作。换言之,存储器系统110可以检查存储器装置150当前是否执行与主机命令相对应的操作。例如,存储器系统110可以检查存储器装置150当前是否执行与从主机102提供的命令相对应的编程操作、读取操作或擦除操作。当存储器装置150当前执行编程操作、读取操作或擦除操作时,存储器系统110可以不执行垃圾收集操作。换言之,存储器系统110可仅在存储器装置150处于空闲状态时执行垃圾收集操作。
在步骤S803中,存储器系统110可在空闲状态检测牺牲存储块。在这种情况下,存储器系统110可将具有数量比预定阈值少的有效页面的存储块检测为多个存储块之中的牺牲存储块。另外,优先于多个正常存储块152,存储器系统110可将多个虚设存储块156检测为牺牲存储块。下面参照图9更详细地描述在步骤S803中执行的操作。
在步骤S805中,存储器系统110可复制检测到的牺牲存储块中存储的有效数据,将有效数据临时存储在存储器144中,并且将临时存储的有效数据编程到空闲存储块中。换言之,存储器系统110可将牺牲存储块中存储的有效数据移动到空闲存储块中。
在步骤S807中,存储器系统110可更新关于空闲存储块中存储的有效数据的地址信息。
在步骤S809中,存储器系统110可执行擦除操作,以擦除牺牲存储块中存储的有效数据和无效数据的全部。存储器系统110可通过擦除操作来确保空闲存储块。
图9是示出根据实施例的存储器系统110检索牺牲存储块的操作的流程图。图9示出了图8所示的步骤S803的详细操作。
在步骤S901中,存储器系统110基于多个存储块152和156的有效页面的数量来检索牺牲存储块的候选。具体地,存储器144可在处理器134的控制下存储关于与存储块中的每一个相对应的有效页面的数量的信息。存储器系统110可基于存储器144中存储的有效页面的数量,检索具有数量比预定阈值少的有效页面的存储块作为牺牲存储块的候选。
在步骤S903中,存储器系统110可检查多个虚设存储块156中是否存在候选存储块。
在多个虚设存储块156中存在候选存储块(即,步骤S903中为“是”)的情况下,在步骤S905中,存储器系统110可选择多个虚设存储块156之中的至少一个候选存储块作为牺牲存储块。
另一方面,在多个虚设存储块156中不存在候选存储块(即,步骤S903中为“否”)的情况下,在步骤S907中,存储器系统110可检查多个正常存储块152之中是否存在候选存储块。
当多个正常存储块152之中存在候选存储块(即,步骤S907中为“是”)时,在步骤S909中,存储器系统110可选择多个正常存储块152之中的至少一个候选存储块作为牺牲存储块。
存储器系统110可对所选择的牺牲存储块执行与图8所示的步骤S805至S809相对应的操作。
如上所述,当基于单触发编程操作的参考大小,数据仅包括用户数据或者数据包括用户数据和虚设数据的组合时,存储器系统110可通过改变编程方法来有效地处理虚设数据。因此,可提高存储器系统110的性能。
在下文中,将参照图10至图18详细描述可利用已参照图1至图9描述的包括存储器装置150和控制器130的存储器系统110实施的数据处理系统和电子装置。
图10至图18是示意性地示出根据各个实施例的图1至图9的数据处理系统的应用示例的示图。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统的示例的示图。图10示意性地示出根据实施例的包括存储器系统的存储卡系统6100。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可连接到存储器装置6130,并可被配置成访问存储器装置6130。存储器装置6130可由非易失性存储器(NVM)来实现。通过示例而非限制的方式,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口,并且/或者驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图9描述的存储器系统110中的控制器130,同时存储器装置6130可对应于参照图1至图9描述的存储器装置150。
因此,如图1所示,存储器控制器6120可包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正码组件。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1描述的,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种来与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或WiFi)和蓝牙。因此,根据实施例的存储器系统和数据处理系统可应用于有线和/或无线电子装置,特别是移动电子装置。
存储器装置6130可由非易失性存储器来实施。例如,存储器装置6130可由诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-RAM)。存储器装置6130可包括如在图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成到单个半导体装置中来构造固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可构成诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑式闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪存(UFS)。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的示图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制该存储器装置6230的存储器控制器6220。数据处理系统6200可用作如参照图1所述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图9所述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图9所述的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个中央处理单元(CPU)6221、诸如随机存取存储器(RAM)6222的缓冲存储器、错误校正码(ECC)电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制进行操作并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓存存储器时,RAM 6222可以辅助存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC组件。如参照图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和/或从主机6210接收数据或信号,并且通过NVM接口6225将数据或信号传输到存储器装置6230和/或从存储器装置6230接收数据或信号。主机接口6224可通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCIe)或NAND接口而连接到主机6210。存储器控制器6220可利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议而具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一外部装置,然后向外部装置传输数据和/或从外部装置接收数据。由于存储器控制器6220被配置成通过各种通信协议的一种或多种与外部装置进行通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线和/或无线电子装置,特别是移动电子装置。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图12示意性地示出应用了根据实施例的存储器系统的固态驱动器(SSD)。
参照图12,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)。为了描述的目的,图12示出了缓冲存储器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级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供到主机6310。
图13是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图13示意性地示出应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图13,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接口。
图14至图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的示图。图14至图17示意性地示出应用了根据实施例的存储器系统的通用闪存(UFS)系统。
参照图14至图17,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可以参照图11至图13所描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730、6830可以参照图10所描述的存储卡系统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。
在图14所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530中的至少一个通信。主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。在这种情况下,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在示例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接到主机6510,并且多个UFS卡可并联或以星型形式连接到UFS装置6520,或者串联或以链型形式连接到UFS装置6520。在本文中,星型形式是指单个装置与多个其它装置或卡联接以用于集中控制的布置。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过在UniPro处交换模块6640的链路层交换来彼此通信。在示例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接到交换模块6640,并且多个UFS卡可串联或以链型形式连接到UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行交换操作的交换模块6740,例如在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。在这种情况下,UFS装置6720和UFS卡6730可通过在UniPro处交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在示例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每个包括交换模块6740和UFS装置6720的多个模块可以并联或以星型形式连接到主机6710或者串联或以链型形式彼此连接。此外,多个UFS卡可以并联或以星型形式连接到UFS装置6720。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作以与主机6810和UFS卡6830通信。UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标标识符(ID)交换操作来与主机6810或UFS卡6830通信。此处,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在实施例中,为便于描述,已经例示了其中一个UFS装置6820连接到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可并联或以星型形式连接到主机6810,或者串联或以链型形式连接到主机6810,并且多个UFS卡可并联或以星型形式连接到UFS装置6820,或者串联或以链型形式连接到UFS装置6820。
图18是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图18是示意性地示出应用了根据实施例的存储器系统的用户系统6900的示图。
参照图18,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可驱动例如操作系统(OS)的用户系统6900中包括的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM或LPDDR3 SDRAM的易失性随机存取存储器(RAM)或诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(FRAM)的非易失性RAM。例如,可基于堆叠式封装(PoP)来封装并安装应用处理器6930和存储器模块6920。
网络模块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闪存,并且被设置为诸如用户系统6900的存储卡或外部驱动器的可移动存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实现为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示器和触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
虽然已经关于具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所确定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (18)
1.一种存储器系统,包括:
存储器装置,包括多个正常存储块和多个虚设存储块;以及
控制器,控制所述存储器装置,
其中所述控制器包括:
存储器,存储对应于写入命令的用户数据;以及
处理器,通过将所述用户数据的大小与单触发编程操作的参考大小进行比较,执行将所述用户数据编程到所述存储器装置中的开放存储块中的所述单触发编程操作,
其中,当所述用户数据的大小不同于所述参考大小时,所述处理器将所述用户数据编程到所述多个虚设存储块之中的虚设开放存储块中。
2.根据权利要求1所述的存储器系统,其中,当所述用户数据的大小等于所述参考大小时,所述处理器将所述用户数据编程到所述多个正常存储块之中的正常开放存储块中。
3.根据权利要求2所述的存储器系统,其中,所述处理器选择待编程所述用户数据的目标开放存储块的类型,随后将与所述存储块的类型相对应的所述参考大小与所述用户数据的大小进行比较。
4.根据权利要求3所述的存储器系统,其中,当所述目标开放存储块是单层单元存储块时,所述处理器将物理页面的大小确定为所述参考大小,并且将所述物理页面的大小与所述用户数据的大小进行比较。
5.根据权利要求3所述的存储器系统,其中,当所述目标开放存储块是多层单元存储块时,所述处理器将与一个物理页面相对应的多个逻辑页面的总大小确定为所述参考大小,并且将所述逻辑页面的总大小与所述用户数据的大小进行比较。
6.根据权利要求1所述的存储器系统,
其中所述存储器在所述处理器的控制下存储所述正常存储块和所述虚设存储块中的每一个中包括的有效页面的数量,
其中所述处理器基于所述有效页面的数量检索牺牲块,复制所述牺牲块中存储的有效数据,并且将所述有效数据编程到所述开放存储块中。
7.根据权利要求6所述的存储器系统,其中,所述处理器在所述存储器装置处于空闲状态时检索所述牺牲块。
8.根据权利要求6所述的存储器系统,其中,所述处理器从所述多个虚设存储块中检索所述牺牲块。
9.根据权利要求8所述的存储器系统,其中,当未从所述多个虚设存储块中检索到所述牺牲块时,所述处理器从所述多个正常存储块中检索所述牺牲块。
10.一种存储器系统的操作方法,所述存储器系统包括多个正常存储块和多个虚设存储块,所述操作方法包括:
存储对应于写入命令的用户数据;
将所述用户数据的大小与单触发编程操作的参考大小进行比较;并且
基于比较结果,执行将所述用户数据编程到开放存储块中的所述单触发编程操作,
其中,当所述用户数据的大小不同于所述参考大小时,将所述用户数据编程到所述多个虚设存储块之中的虚设开放存储块中。
11.根据权利要求10所述的操作方法,其中,当所述用户数据的大小等于所述参考大小时,将所述用户数据编程到所述多个正常存储块之中的正常开放存储块中。
12.根据权利要求10所述的操作方法,
进一步包括选择待编程所述用户数据的目标开放存储块的类型,
其中将所述用户数据的大小与对应于所述存储块的类型的所述参考大小进行比较。
13.根据权利要求12所述的操作方法,其中,当所述目标开放存储块是单层单元存储块时,所述参考大小是物理页面的大小。
14.根据权利要求12所述的操作方法,其中,当所述目标开放存储块是多层单元存储块时,所述参考大小是与一个物理页面相对应的多个逻辑页面的总大小。
15.根据权利要求10所述的操作方法,进一步包括:
存储所述正常存储块和所述虚设存储块中的每一个中包括的有效页面的数量;
基于所述有效页面的数量检索牺牲块;
复制所述牺牲块中存储的有效数据;并且
将所述有效数据编程到所述开放存储块中。
16.根据权利要求15所述的操作方法,其中,当存储器装置处于空闲状态时,检索所述牺牲块。
17.根据权利要求15所述的操作方法,其中,从所述多个虚设存储块中检索所述牺牲块。
18.根据权利要求17所述的操作方法,其中,当未从所述多个虚设存储块中检索到所述牺牲块时,从所述多个正常存储块中检索所述牺牲块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180116239A KR102586786B1 (ko) | 2018-09-28 | 2018-09-28 | 메모리 시스템 및 그것의 동작방법 |
KR10-2018-0116239 | 2018-09-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968521A CN110968521A (zh) | 2020-04-07 |
CN110968521B true CN110968521B (zh) | 2023-04-07 |
Family
ID=69947553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910659831.2A Active CN110968521B (zh) | 2018-09-28 | 2019-07-22 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10901659B2 (zh) |
KR (1) | KR102586786B1 (zh) |
CN (1) | CN110968521B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11694758B2 (en) | 2021-08-09 | 2023-07-04 | Micron Technology, Inc. | Changing scan frequency of a probabilistic data integrity scan based on data quality |
US11740956B2 (en) * | 2021-08-09 | 2023-08-29 | Micron Technology, Inc. | Probabilistic data integrity scan with an adaptive scan frequency |
US11545229B1 (en) | 2021-08-09 | 2023-01-03 | Micron Technology, Inc. | Probabilistic data integrity scan with dynamic scan frequency |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101992940B1 (ko) * | 2012-08-08 | 2019-06-26 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템 |
KR102053953B1 (ko) * | 2013-02-04 | 2019-12-11 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법 |
JP2015056171A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
US10061710B2 (en) * | 2014-01-29 | 2018-08-28 | Hitachi, Ltd. | Storage device |
KR102195298B1 (ko) * | 2014-02-13 | 2020-12-24 | 삼성전자주식회사 | 비휘발성 메모리 장치의 부분 페이지 프로그램 방법 |
KR20160024550A (ko) * | 2014-08-26 | 2016-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102231441B1 (ko) | 2014-12-17 | 2021-03-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20160112135A (ko) * | 2015-03-18 | 2016-09-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102441284B1 (ko) * | 2016-01-12 | 2022-09-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102653401B1 (ko) * | 2016-07-18 | 2024-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR20180069960A (ko) * | 2016-12-15 | 2018-06-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
-
2018
- 2018-09-28 KR KR1020180116239A patent/KR102586786B1/ko active IP Right Grant
-
2019
- 2019-05-08 US US16/406,233 patent/US10901659B2/en active Active
- 2019-07-22 CN CN201910659831.2A patent/CN110968521B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US10901659B2 (en) | 2021-01-26 |
KR102586786B1 (ko) | 2023-10-11 |
CN110968521A (zh) | 2020-04-07 |
US20200104073A1 (en) | 2020-04-02 |
KR20200036508A (ko) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562649B (zh) | 存储器系统及其操作方法 | |
CN107957849B (zh) | 存储器系统及其操作方法 | |
CN110825318B (zh) | 控制器及其操作方法 | |
US10452431B2 (en) | Data processing system and operating method thereof | |
US10387057B2 (en) | Memory system and operating method of memory system | |
CN107491396B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN108932203B (zh) | 数据处理系统和数据处理方法 | |
CN109697171B (zh) | 控制器及其操作方法 | |
US20180012666A1 (en) | Memory system and operating method thereof | |
US20180039447A1 (en) | Memory system and operation method for the same | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
US10296244B2 (en) | Memory system and operating method thereof | |
US20200057724A1 (en) | Controller and operating method thereof | |
CN110968521B (zh) | 存储器系统及其操作方法 | |
CN107728932B (zh) | 存储器系统及其操作方法 | |
CN110890123B (zh) | 数据处理系统及其操作方法 | |
CN110928486B (zh) | 存储器系统及其操作方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
US20190205249A1 (en) | Controller, operating method thereof and data processing system including the controller | |
US20190012109A1 (en) | Memory system and operating method for the memory system | |
CN110349615B (zh) | 控制器、其操作方法及包括控制器的存储器系统 | |
CN109947360B (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 |