CN109947360A - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN109947360A CN109947360A CN201810983256.7A CN201810983256A CN109947360A CN 109947360 A CN109947360 A CN 109947360A CN 201810983256 A CN201810983256 A CN 201810983256A CN 109947360 A CN109947360 A CN 109947360A
- Authority
- CN
- China
- Prior art keywords
- memory
- block
- page
- open page
- storage block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种半导体存储器***,该半导体存储器***包括:存储器装置,包括多个存储块;部分存储块检测器,在多个存储块中检测至少一个部分存储块;开放页面检测器,检测包括在部分存储块中的多个页面之中的多个开放页面的地址和数量;以及控制器,其适于根据多个开放页面的地址和数量来控制存储器装置利用虚拟数据执行一次性编程操作。
Description
相关申请的交叉引用
本申请要求于2017年12月21日提交的申请号为10-2017-0177245的韩国专利申请的优先权,其公开通过引用整体并入本文。
技术领域
本发明的各个示例性实施例总体涉及一种电子装置。特别地,实施例涉及一种能够执行一次性虚拟数据编程操作的存储器***及其操作方法。
背景技术
计算机环境范例已经转变至随时随地支持计算的普适计算***。诸如例如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器***。存储器***可以用作便携式电子装置的主存储器装置或辅助存储器装置。
与硬盘装置相比,由于存储器***不具有移动部件(例如,具有读取/写入头的机械臂),因此存储器***可以提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种能够执行一次性虚拟数据编程操作的存储器***。存储器***可以检测部分存储块和部分存储块的开放页面。本发明的各个实施例还涉及一种操作存储器***的方法。
根据本发明的实施例,一种半导体存储器***可以包括:存储器装置,其包括多个存储块;部分存储块检测器,其适于在多个存储块中检测至少一个部分存储块;开放页面检测器,其适于检测包括在部分存储块中的多个页面之中的多个开放页面的地址和数量;以及控制器,其适于根据多个开放页面的地址和数量来控制存储器装置利用虚拟数据执行一次性编程操作。
部分存储块检测器可以在多个存储块中,检测包括多个开放页面的存储块作为部分存储块。
控制器可以通过单个一次性编程命令,控制存储器装置利用虚拟数据执行一次性编程操作。
开放页面检测器可以生成开放页面管理表,其中开放页面管理表包括部分存储块中包括的多个开放页面之中的第一开放页面的信息。
开放页面管理表可以包括以下信息:第一开放页面的地址;以及第一开放页面的大小。
开放页面检测器可以基于开放页面管理表来计算多个开放页面的地址和数量。
控制器可以控制存储器装置利用虚拟数据对多个开放页面中的第一开放页面至最后开放页面执行一次性编程操作。
当部分存储块检测器在多个存储块中检测到多个部分存储块时,控制器可以将多个部分存储块作为超级部分存储块来管理。
开放页面检测器可以检测多个部分存储块的每一个中包括的多个页面之中的多个开放页面的地址和数量。
控制器可以控制存储器装置利用虚拟数据对超级部分存储块执行一次性编程操作。
根据本发明的实施例,一种操作半导体存储器***的方法,该半导体存储器***包括存储器装置和控制器,存储器装置包括多个存储块,方法可以包括:第一步骤,其在多个存储块中检测至少一个部分存储块;第二步骤,其检测包括在部分存储块中的多个页面之中的多个开放页面的地址和数量;第三步骤,其根据多个开放页面的地址和数量利用虚拟数据执行一次性编程操作。
第一步骤可以在多个存储块中,检测包括多个开放页面的存储块作为部分存储块。
第三步骤可以通过单个一次性编程命令来利用虚拟数据执行一次性编程操作。
第二步骤可以生成开放页面管理表,其中开放页面管理表包括部分存储块中包括的多个开放页面之中的第一开放页面的信息。
开放页面管理表包括以下信息:第一开放页面的地址;以及第一开放页面的大小。
第二步骤可以基于开放页面管理表来计算多个开放页面的地址和数量。
第三步骤可以利用虚拟数据对多个开放页面中的第一开放页面至最后开放页面执行一次性编程操作。
当第一步骤在多个存储块中检测到多个部分存储块时,第三步骤可以将多个部分存储块作为超级部分存储块来管理。
第二步骤可以检测多个部分存储块的每一个中包括的多个页面之中的多个开放页面的地址和数量。
第三步骤可以利用虚拟数据对超级部分存储块执行一次性编程操作。
根据本发明的实施例,一种半导体存储器***可以包括:存储器装置,其包括多个存储器管芯,多个存储器管芯中的每个包括多个存储块并且多个存储块中的每个包括多个存储器页面;以及控制器,其适于以每个存储器管芯为单位执行编程操作以及以每个存储块为单位执行一次性虚拟数据编程操作,其中编程操作包括多个子编程操作,该多个子编程操作中的每个对应于多个编程命令中的每个,该多个编程命令中的每个被供给到每个存储器页面,而一次性虚拟数据编程操作包括利用多个虚拟数据的单个子编程操作,其中单个子编程操作对应于单个编程命令以及由开放页面的数量来确定多个虚拟数据的数量。
附图说明
图1是示出包括根据本发明的实施例的存储器***的数据处理***的框图。
图2是示出在图1所示的存储器***中采用的存储器装置的示例性配置的示意图。
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的示意图。
图5是示出根据本发明的实施例的部分存储块500的简化框图。
图6A是示出能够执行一次性虚拟数据编程操作的存储器***的示图。
图6B是示出根据本发明的实施例的部分存储块管理表的示图。
图6C是示出根据本发明的实施例的开放页面管理表的示图。
图7A是示出根据本发明的实施例的包括在测试读取管理单元中的示例性测试读取表的示图。
图7B是示出根据本发明的实施例的部分存储块管理表的示图。
图7C是示出根据本发明的实施例的开放页面管理表的示图。
图8是示出根据本发明的实施例的存储器***的示例性操作方法的流程图。
图9是示出根据本发明的实施例的存储器***的示例性操作方法的流程图。
图10至图18是示意性示出根据本发明的各个实施例的数据处理***的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到,本发明可以以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本发明将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标志在整个本发明的各个附图和实施例中表示相同的部分。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下所述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。当一个元件被称为连接或联接到另一元件时,应该理解的是,前者可以直接连接或联接到后者,或者前者经由它们之间的中间元件电连接或电联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本发明的公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所所述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的数据处理***100的简化框图。
参照图1,数据处理***100可包括被可操作地联接至存储器***110的主机102。
主机102可以是例如诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV、投影仪等的电子装置。
存储器***110可以响应于来自主机102的请求而操作。特别地,存储器***110可以存储待由主机102输入或访问的数据。存储器***可以用作主机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)和闪速存储器的非易失性存储器装置来实施。
存储器***110可以包括用于存储待由主机120访问的数据存储器装置150和用于控制将数据存储在存储器装置150中控制器130。
控制器130和存储器装置150可被集成到单个半导体装置中,例如被集成到如上所例示的各种类型的存储器***中的一个中。
存储器***110可以被配置为以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算***的各种部件之一。
存储器装置150可以是即使当不向存储器装置供应电力也能够保留其中存储的数据的非易失性存储器装置。存储器装置150可通过写入操作来存储从主机102输入的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可多个存储块152至156,存储块152至156中的每一个可包括多个页面。页面中的每一个可包括电联接到多个字线WL的多个存储器单元。
控制器130可以控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,存储器***110的控制器130可以响应于来自主机102的请求来控制存储器装置150。控制器130可以将从存储器装置150读取的数据提供至主机102,和/或可以将从主机102提供的数据存储到存储器装置150中。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、诸如NAND闪存控制器(NFC)的存储器接口I/F单元142以及存储器144,其全部通过内部总线可操作地联接。
主机接口单元132可处理从主机102提供的命令和数据。主机接口单元132可在诸如以下的各种接口协议中的至少一种下与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-E)、小型计算机***接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可以检测并校正在读取操作期间从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元138可以不校正错误位,并且可以输出指示校正错误位失败的错误校正失败信号。
ECC单元138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归***码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC单元138可包括用于错误校正操作的电路、模块、***或装置中的所有。
PMU 140可提供和管理控制器130的电力。
存储器接口单元142可以用作控制器130和存储器装置150之间的存储器/存储接口,以允许控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器,特别地,存储器装置150是NAND闪速存储器时,存储器接口单元142可以在处理器134的控制下生成用于存储器装置150的控制信号并处理待提供给存储器装置150的数据。注意的是,本发明不限于NAND闪速存储器/NAND闪存接口,并且可以根据存储器装置150的类型选择合适的存储器/存储接口。
存储器144可用作存储器***110和控制器130的工作存储器,并且存储用于驱动存储器***110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102中,同时将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以利用易失性存储器来实施。存储器144可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。虽然图1示出了在控制器130内部的存储器144,但是其仅用于说明目的,并且本公开不限于此。即,存储器144可以被设置在控制器130的内部或外部。在另一实施例中,存储器144可以由具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器***110的全部操作。处理器134可使用被称为闪存转换层(FTL)的固件来控制存储器***110的一般操作。
FTL可以在主机102和存储器装置150之间执行操作以作为接口。主机102可以通过FTL向存储器装置150请求写入操作和读取操作。
FTL可以管理地址映射操作、垃圾收集操作、损耗均衡操作等。特别地,FTL可以存储映射数据。因此,控制器130可以通过映射数据将从主机102提供的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存储器装置150可以像普通装置一样执行操作。而且,当控制器130更新特定页面的数据时,由于闪速存储器装置的特性,控制器130可以基于映射数据执行地址映射操作以将新数据编程到另一空页面中,并且可以使特定页面的旧数据无效。进一步地,控制器130可以将新数据的映射数据存储到FTL中。
处理器134可以利用微处理器或中央处理单元(CPU)来实施。存储器***110可以包括一个或多个处理器134。
管理单元(未示出)可以被包括在处理器134中,并且可以执行存储器装置150的坏块管理。管理单元可以发现包括在存储器装置150中的、对于进一步使用处于不良状况的坏存储块。管理单元可以对坏存储块执行坏块管理。当存储器装置150是诸如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间(即,在编程操作期间)可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可以被编程到新存储块中。而且,由于编程失败导致的坏块会严重降低具有3D堆叠结构的存储器装置150的使用效率和存储器***100的可靠性,因此需要可靠的坏块管理。
图2是示出图1的存储器装置150的示意图。
参照图2,存储器装置150包括多个存储块BLOCK0至BLOCKN-1。此处,N是大于1的整数。存储块BLOCK0至BLOCKN-1中的每一个可以包括多个页面,例如2M个页面,其数量可以根据电路设计而变化。此处,M是大于1的整数。根据每个存储器单元中可存储或表达的位的数量,存储器装置150可以包括多个存储块作为单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可以包括由每一个能够存储1位数据的存储器单元实施的多个页面。MLC存储块可以包括由每一个能够存储例如两位或多位数据的多位数据的存储器单元实施的多个页面。包括由每一个能够存储3位数据的存储器单元实施的多个页面的MLC存储块可以被称为三层单元(TLC)存储块。
多个存储块210至240中的每一个可以在写入操作期间存储从主机装置102提供的数据,并且可以在读取操作期间将存储的数据提供至主机102。
图3是示出图1和图2的存储器装置150中的存储器单元阵列330的电路图。
参照图3,存储器单元阵列330可以对应于图1中所示的多个存储块152至156中的任何一个。
参照图3,存储器装置150的存储器单元阵列330可以包括分别电联接到位线BL0至BLm-1的多个单元串340。每个列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可以串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可以由每个存储1位信息的单层单元(SLC)或由每个存储多位信息的多层单元(MLC)来配置。串340可以分别电联接到对应的位线BL0至BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示共源线。
虽然作为示例,图3仅示出由NAND闪速存储器单元配置的存储器单元阵列330,但是应当注意的是,根据实施例的存储器装置150的存储器单元阵列330不限于NAND闪速存储器。根据实施例,存储器单元阵列330可以由NOR闪速存储器、组合至少两种存储器单元的混合闪速存储器或其中控制器被内置在存储器芯片中的1-NAND闪速存储器来实施。半导体装置的操作特性不仅可应用于其中电荷存储层通过导电浮栅配置的闪速存储器装置而且可应用于其中电荷存储层通过介电层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可以生成例如编程电压、读取电压和通过电压的不同的字线电压,以根据操作模式将它们中的一个供给到各个字线。可以至少基于待被供给到例如其中形成存储器单元的阱区的块的电压来确定字线电压。电源供给电路310可以在控制电路(未示出)的控制下执行电压生成操作。电源供给电路310可生成多个可变读取电压以生成多个读取数据、在控制电路的控制下选择存储块或存储器单元阵列的扇区中的至少一个、选择被选择的存储块的字线中的至少一个并且将字线电压提供至被选择的字线和未选择的字线。
存储器装置150的读取/写入电路320可以由控制电路控制,并且可以根据操作模式用作读出放大器或写入驱动器。在验证操作或正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以用作根据待被存储在存储器单元阵列中的数据而将电压或电流供给到位线中的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是示出图1和图2的存储器装置150的三维(3D)结构的示意图。
存储器150可由二维(2D)或三维(3D)存储器装置来实施。具体地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,其每一个具有3D结构(或垂直结构)。
图5是示出部分存储块500的框图。
由于诸如突然断电等的非预期原因而导致对存储块的、正在进行的编程操作突然中断,因此在部分存储块中,不是所有页面而是仅一些页面被编程有数据。
如图5所示,存储块总共可以包括八(8)个页面,这仅仅是用于说明目的的示例。本发明的实施例将不限于包括在存储块中的页面的任何特定数量。可以通过设计而改变每个存储块中的页面数量。
部分存储块500可以是包括在参照图1至图4描述的存储器装置150中的存储块142、154、156中的一个。
在图5所示的示例中,部分存储块500可以包括三(3)个关闭页面和五(5)个开放页面。
关闭页面是已经被编程的页面。开放页面是尚未被编程或编程操作尚未完成的页面。例如,开放页面可以包括由于突然事件而编程被中断并且未完成编程的、正在被编程的页面。
如图5所示,在编程操作期间,对存储块500的页面的编程操作由于SPO而被中断。具体地,当第四页面正在被编程时,编程被中断。因此,部分存储块500包括作为关闭页面的第一页面至第三页面,即编程操作完成的页面,以及作为开放页面的第四页面至第八页面,即编程操作被中断或未开始的页面。
因此,在图5的部分存储块500中,对第一页面至第三页面的编程操作完成,而对第四页面至第八页面的编程操作被中断或未开始。
因此,部分存储块500可以被认为是开放存储块,在开放存储块中,对部分页面的编程操作完成并且对剩余页面的编程操作尚未完成。
由于部分存储块500具有编程操作被中断或尚未完成的开放页面,因此部分存储块500可能具有低可靠性和稳定性。
为了提高部分存储块500的可靠性和稳定性,可以执行将虚拟数据编程到部分存储块500中的开放页面中的编程操作。为了将虚拟数据编程到开放页面中,控制器130可以针对部分存储块500中的开放页面中的每一个单独地生成编程命令,并且控制存储器装置150对开放页面中的每一个单独地执行编程操作。
详细地,在图5的示例中,控制器130应当针对五个(5)页面(即,第四页面至第八页面)中的每一个生成编程命令。进一步地,控制器130应当响应于与五个页面相对应的五个编程命令中的每一个,来控制存储器装置150执行编程操作。
编程命令的这种单独生成和用于将虚拟数据编程到开放页面中的这种单独编程操作可能导致存储器***的整体性能劣化。
根据本发明的实施例,通过首先计算待被编程到部分存储块中的虚拟数据的必要量和模式,并且然后生成单个编程命令,响应于该单个命令将虚拟数据编程到部分存储块的开放页面中,来解决现有存储器***的前述限制。因此,在根据本发明的存储器***中,单个命令足以将虚拟数据编程到部分存储块的开放页面中。
图6A是示出能够执行一次性虚拟数据编程操作的存储器***的示图。
控制器130可以包括部分存储块检测器610和开放页面检测器620。
部分存储块检测器610可以在包括在存储器装置150中的多个存储块之中检测部分存储块。例如,部分存储块检测器610可以检测第一存储块630作为部分存储块。进一步地,部分存储块检测器610可以确定第二存储块640不是部分存储块。
部分存储块检测器610可以保存部分存储块的检测信息。例如,部分存储块检测器610可以将部分存储块的检测信息保存在表中。而且,部分存储块检测器610可以通过硬件部件或软件部件来管理部分存储块的检测信息。
部分存储块的检测信息可以包括检测到的部分存储块的逻辑地址和物理地址。而且,部分存储块的检测信息可以包括指示相应存储块是否是部分存储块的标志。
图6B是示出包括在部分存储块检测器610中的部分存储块管理表615的示图。
部分存储块检测器610可检测存储器装置150中包括的多个存储块630和640中的一个作为部分存储块,并且可通过部分存储块管理表615来管理部分存储块的检测信息。
部分存储块管理表615可以具有如上所述的部分存储块的检测信息。
详细地,部分存储块管理表615可以包括存储器装置150中包括的多个存储块630、640的地址和相应的部分存储块标志。
当部分存储块标志具有逻辑高的值时,与该部分存储块标志相对应的存储块可以作为部分存储块来管理。
当部分存储块标志具有逻辑低的值时,与该部分存储块标志相对应的存储块可以不作为部分存储块而是作为普通存储块来管理。
如图6B所例示的,由于第一存储块630被检测为部分存储块,因此第一存储块630的部分存储块标志可以具有逻辑高的值,使得第一存储块630可以作为部分存储块来管理。
而且,由于第二存储块640未被检测为部分存储块,因此第二存储块640的部分存储块标志可以具有逻辑低的值,使得第二存储块640可以作为普通存储块来管理。
再次参照图6A,开放页面检测器620可以检测部分存储块的开放页面。
详细地,开放页面检测器620可以检测被检测为部分存储块的第一存储块630中的多个开放页面中的第一开放页面。
例如,第一存储块630可以包括作为关闭页面的第一页面631至第四页面634以及作为开放页面的第五页面635至第八页面638。
即,对第一页面631至第四页面634的编程操作完成,而对第五页面635至第八页面638的编程操作被中断或未完成。
通过仅检测第五页面635,其中第五页面635为开放页面(例如,第五页面635至第八页面638)中的第一个,并且通过基于部分存储块中检测到的第五页面635来计算剩余开放页面(例如,第六页面636至第八页面638)的地址和数量,开放页面检测器620可以检测第五页面635至第八页面638作为开放页面。开放页面检测器620不用必需单独地检测第五页面635至第八页面638中的每一个作为开放页面。
图6C是示出包括在开放页面检测器620中的开放页面管理表625的示图。
开放页面检测器620可以仅检测被检测为部分存储块的第一存储块630中的开放页面中的第一个(例如,第五页面635至第八页面638中的第五页面635)。开放页面检测器620可以根据已知信息,识别被检测为部分存储块的第一存储块630中的剩余开放页面(例如,第六页面636至第八页面638)。
这是由于根据预定规则,多个存储块630、640具有彼此相同的大小并且地址被顺序地分配至多个存储块630、640。例如,当作为开放页面中的第一个的第五页面635具有大小“d”时,剩余开放页面中的每一个也可以具有大小“d”。
而且,当作为开放页面中的第一个的第五页面635具有地址“c”时,作为开放页面中的第二个的第六页面636具有地址“c+1”,并且作为开放页面中的最后一个的第八页面638具有地址“c+3”。
如果包括在存储块中的页面数量是未知的,则可以通过将存储块的大小“e”除以页面的大小“d”来获得存储块中的页面数量。因此,开放页面检测器620可以识别部分存储块中的第一开放页面至最后开放页面(例如,第五页面635至第八页面638)的地址。
开放页面检测器620可以识别被检测为部分存储块的第一存储块630中的、被检测为第一开放页面的第五页面635的逻辑地址和物理地址。而且,开放页面检测器620可以根据第一存储块630的页面数量以及第一存储块630的页面的逻辑地址和物理地址,来检测第一存储块630中的剩余开放页面(例如,第六页面636至第八页面638)。
详细地,开放页面检测器620可以生成开放页面管理表,其中开放页面管理表包括被检测为部分存储块的第一存储块630中包括的多个开放页面(例如,第五页面635至第八页面638)之中的、被检测为第一开放页面的第五页面635的信息。
开放页面管理表可以包括以下信息:被检测为第一开放页面的第五页面635的地址和大小以及包括被检测为第一开放页面的第五页面635的、被检测为部分存储块的第一存储块630的大小。
开放页面检测器620可以根据开放页面管理表中的信息,来识别被检测为部分存储块的第一存储块630中的剩余开放页面(例如,第六页面636至第八页面638)的数量和地址。
开放页面检测器620可以从开放页面管理表,识别被检测为部分存储块的第一存储块630中的被检测为第一开放页面的第五页面635的信息。开放页面检测器620可以根据被检测为部分存储块的第一存储块630中的页面数量以及页面的逻辑地址和物理地址,来识别被检测为部分存储块的第一存储块630中的剩余开放页面(例如,第六页面636至第八页面638)。
以上描述仅是通过仅检测多个开放页面中的第一个来识别包括在部分存储块中的所有多个开放页面的各种方案的示例。根据适合于存储器***的实施方式的方案,开放页面检测器620可以识别包括在部分存储块中的所有多个开放页面。
再次参照图6A,控制器130可以根据部分存储块检测器610的操作和开放页面检测器620的操作来生成与开放页面的数量一样多的一个或多个虚拟数据编程命令。在实施例中,主机102可以生成这些虚拟数据编程命令并将它们提供至控制器130。本发明可以涵盖上述实施例中的两者。
虚拟数据编程命令可以被实施为单个一次性编程命令。
控制器130可以响应于单个一次性编程命令来控制存储器装置150利用虚拟数据执行一次性编程操作。即,控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对被检测为部分存储块的第一存储块630中的第一开放页面至最后开放页面(例如,第五页面635至第八页面638)执行一次性编程操作。
如上所述,通过将识别待被编程的虚拟数据的量所需的进程最小化并且通过利用虚拟数据执行一次性编程操作,可以提高存储器***的操作性能。
图7A是示出存储器装置150包括多个部分存储块的情况的示图。
部分存储块检测器710可以在包括在存储器装置150中的多个存储块之中检测部分存储块。
如图7A所示,部分存储块检测器710可以检测第一存储块730和第三存储块750作为部分存储块。
这样,当存储器装置150包括第一存储块730和第三存储块750作为多个部分存储块时,控制器130可以将多个部分存储块730、750作为超级部分存储块来管理。
图7B是示出包括在部分存储块检测器710中的部分存储块管理表715的示图。
部分存储块检测器710可以检测包括在存储器装置150中的多个存储块730、740、750、760之中的部分存储块。部分存储块检测器710可以通过部分存储块管理表715来管理检测到的部分存储块的信息。
如上所述,部分存储块管理表715可以包括部分存储块的检测信息。
详细地,部分存储块管理表715可以包括存储器装置150中包括的多个存储块730、740、750、760的地址和相应的部分存储块标志。
当部分存储块标志具有逻辑高的值时,与该部分存储块标志相对应的存储块可以作为部分存储块来管理。
当部分存储块标志具有逻辑低的值时,与该部分存储块标志相对应的存储块可以作为普通存储块而不是部分存储块来管理。
如图7B所例示的,由于第一存储块730和第三存储块750被检测为部分存储块,因此第一存储块730和第三存储块750的部分存储块标志可以具有逻辑高的值,使得第一存储块730和第三存储块750可以作为部分存储块来管理。
而且,由于第二存储块740和第四存储块760中的每一个都未被检测为部分存储块,因此第二存储块740和第四存储块760的部分存储块标志可以具有逻辑低的值,使得第二存储块740和第四存储块760可以作为普通存储块来管理。
再次参照图7A,开放页面检测器720可以检测作为部分存储块的第一存储块730和第三存储块750的各自的开放页面。
详细地,开放页面检测器720可以检测第五页面735作为被检测为部分存储块的第一存储块730中的第一开放页面。而且,开放页面检测器720可以检测第四页面754作为被检测为部分存储块的第三存储块750中的第一开放页面。
图7C是示出包括在开放页面检测器720中的开放页面管理表725的示图。
如上所述,开放页面检测器720可以生成与被检测为部分存储块的第一存储块730的、被检测为第一开放页面的第五页面735相对应的开放页面管理表,以及与被检测为部分存储块的第三存储块750的、被检测为第一开放页面的第四页面754相对应的开放页面管理表。
基于开放页面管理表,开放页面检测器720可以识别在被检测为部分存储块的第一存储块730中的开放页面之中的第一个(例如,第五页面735至第八页面738中的第五页面735)的信息,并且可以根据包括在被检测为部分存储块的第一存储块730中的页面数量和页面的地址,来识别被检测为部分存储块的第一存储块730中的剩余开放页面(例如,第六页面736至第八页面738)。
以类似方式,基于开放页面管理表,开放页面检测器720可以识别在被检测为部分存储块的第三存储块750中的开放页面中的第一个(例如,第四页面754至第八页面758中的第四页面754)的信息,并且可根据包括在被检测为部分存储块的第三存储块750中的页面数量和页面的地址,来识别被检测为部分存储块的第三存储块750中的剩余开放页面(例如,第五页面755至第八页面758)。
控制器130可以根据部分存储块检测器710的操作和开放页面检测器720的操作来生成与开放页面的数量一样多的一个或多个虚拟数据编程命令。在实施例中,主机102可以生成这些虚拟数据编程命令并将它们提供至控制器130。本发明可以涵盖上述实施例中的两者。
虚拟数据编程命令可以被实施为单个一次性编程命令。
控制器130可以响应于单个一次性编程命令来控制存储器装置150利用虚拟数据执行一次性编程操作。即,控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对被检测为部分存储块的第一存储块730中的第一开放页面至最后开放页面(例如,第五页面735至第八页面738)执行一次性编程操作。以类似方式,控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对被检测为部分存储块的第三存储块750中的第一开放页面至最后开放页面(例如,第四页面754至第八页面758)执行一次性编程操作。
而且,如上所述,控制器130可以将多个部分存储块730、750作为超级部分存储块来管理。控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对超级部分存储块执行一次性编程操作。
以类似方式,控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对被检测为部分存储块的第一存储块730的第一开放页面至最后开放页面(例如,第五页面735至第八页面738)以及被检测为部分存储块的第三存储块750中的第一开放页面至最后开放页面(例如,第四页面754至第八页面758)执行一次性编程操作。
这样,根据本发明的实施例,控制器130可以将多个部分存储块作为超级部分存储块来管理,并且因此可以控制存储器装置150利用虚拟数据对多个部分存储块执行一次性编程操作。
在实施例中,控制器130可以控制存储器装置150利用虚拟数据对多个部分存储块中的每一个单独地执行一次性编程操作。
如上所述,通过将识别待被编程的虚拟数据的量所需的进程最小化并且通过利用虚拟数据执行一次性编程操作,可以提高存储器***的操作性能。
图8是示出参照图6A所述的存储器***的示例性操作方法的流程图。
在步骤S801处,部分存储块检测器610可以在存储器装置150中包括的多个存储块之中检测部分存储块。
在步骤S803处,开放页面检测器620可以检测部分存储块的开放页面。
详细地,开放页面检测器620可以生成开放页面管理表,其中开放页面管理表包括部分存储块中的多个开放页面中的第一开放页面的信息。
开放页面管理表可以具有包括第一开放页面的地址和大小的各种信息。
开放页面检测器620可以基于开放页面管理表,来识别部分存储块中的剩余开放页面的数量和地址。
开放页面检测器620可以从开放页面管理表识别部分存储块中的第一开放页面的信息。开放页面检测器620可以基于部分存储块中包括的页面数量以及页面的逻辑地址和物理地址,来检测部分存储块中的剩余开放页面。
以上描述仅是通过仅检测多个开放页面中的第一个来识别包括在部分存储块中的所有多个开放页面的各种方案的示例。开放页面检测器620可以根据适合于存储器***的实施方式的方案来识别包括在部分存储块中的所有多个开放页面。
在步骤S805处,控制器130可以根据部分存储块检测器610的操作和开放页面检测器620的操作来生成与开放页面的数量一样多的一个或多个虚拟数据编程命令。虚拟数据编程命令可以被实施为单个一次性编程命令。
在步骤S807处,控制器130可以响应于单个一次性编程命令来控制存储器装置150利用虚拟数据执行一次性编程操作。即,控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对部分存储块中的第一开放页面至最后开放页面执行一次性编程操作。
图9是示出参照图7A所述的存储器***的示例性操作方法的流程图。
在步骤S901处,部分存储块检测器710可以在存储器装置150中包括的多个存储块之中检测部分存储块。当存储器装置150包括作为多个部分存储块的第一存储块730和第三存储块750时,控制器130可以将多个部分存储块730、750作为超级部分存储块来管理。
在步骤S903处,开放页面检测器620可以分别检测多个部分存储块的第一开放页面。
在步骤S905处,控制器130可以根据部分存储块检测器710的操作和开放页面检测器720的操作来生成与开放页面的数量一样多的一个或多个虚拟数据编程命令。虚拟数据编程命令可以被实施为单个一次性编程命令。
详细地,控制器130可以生成与超级部分存储块相对应的单个一次性编程命令。
在步骤S907处,控制器130可以响应于单个一次性编程命令来控制存储器装置150利用虚拟数据执行一次性编程操作。
即,控制器130可以响应于单个一次性编程命令,来控制存储器装置150利用虚拟数据对被检测为部分存储块的第一存储块730中的第一开放页面至最后开放页面(例如,第五页面735至第八页面738)以及被检测为部分存储块的第三存储块750中的第一开放页面至最后开放页面(例如,第四页面754至第八页面758)执行一次性编程操作。
如上所述,通过减小或最小化识别待被编程的虚拟数据的量所需的进程,并且通过利用虚拟数据的一次性编程操作,可以提高或增强存储器***的操作性能。
图10至18是示意性地示出根据各个实施例的图1至图9的数据处理***的应用示例的示图。
图10是示意性地示出包括根据实施例的存储器***的数据处理***的示例的示图。图10示意性地示出应用了根据实施例的存储器***的存储卡***。
参照图10,存储卡***6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,被配置成访问存储器装置6130的存储器控制器6120可电连接到通过易失性存储器实施的存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口,并使用固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图9所述的存储器***110的控制器130,同时存储器装置6130可对应于参照图1至图9所述的存储器***110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可以进一步包括图1中所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。作为示例而非限制,如参照图1所述,存储器控制器6120可被配置成在诸如以下的各种通信协议中的一种或多种下与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI和蓝牙。因此,根据本实施例的存储器***和数据处理***可被应用于有线/无线电子装置,或者移动电子装置。
存储器装置6130可由易失性存储器来实施。作为示例而非限制,存储器装置6130可由诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩转移磁性RAM(STT-MRAM)。存储器装置6130可以包括图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是示意性地示出包括根据本实施例的存储器***的数据处理***的示例的示图。
参照图11,数据处理***6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理***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可根据CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输至存储器装置6230的数据并且反之亦然。当RAM 6222用作高速缓冲存储器时,RAM6222可辅助低速存储器装置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/从主机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和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器***110中的控制器130,并且存储器装置6340可对应于图1的存储器***中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包含在存储器装置6340中的多个闪速存储器NVM提供的数据,或者进一步地,缓冲存储器6325可临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由易失性存储器或非易失性存储器来实现,其中易失性存储器诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM,非易失性存储器诸如FRAM、ReRAM、STT-MRAM和PRAM。为了便于描述,图8示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可位于控制器6320外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340中的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与外部装置例如主机6310的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器***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。
图13是示意性说明包括根据实施例的存储器***的数据处理***的示例的示图。图13示意性说明应用了根据实施例的存储器***的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器***110中的控制器130。存储器装置6440可对应于图1的存储器***110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的操作,主机接口6431可提供控制器6430和主机6410之间的接口功能。NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。作为示例而非限制,主机接口6431可用作诸如参照图1所述的MMC接口的并行接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图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协议以外的各种协议彼此通信,例如,UFD、MMC、SD、迷你-SD和微型-SD。
图18是示意性示出包括根据实施例的存储器***的数据处理***的另一示例的示图。图18是示意性示出应用了根据实施例的存储器***的用户***的示图。
参照图18,用户***6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户***6900中的诸如OS的部件,并且包括控制包括在用户***6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上***(SoC)被提供。
存储器模块6920可用作用户***6900的主存储器、工作存储器、缓冲存储器或缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可基于POP(堆叠封装)的被封装并安装。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器***和数据处理***可应用于有线和/或无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可由非易失性半导体存储器装置实现,例如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和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 (20)
1.一种半导体存储器***,包括:
存储器装置,包括多个存储块;
部分存储块检测器,在所述多个存储块中检测至少一个部分存储块;
开放页面检测器,检测包括在所述部分存储块中的多个页面之中的多个开放页面的地址和数量;以及
控制器,根据所述多个开放页面的地址和数量来控制所述存储器装置利用虚拟数据执行一次性编程操作。
2.根据权利要求1所述的半导体存储器***,其中所述部分存储块检测器在所述多个存储块中,检测包括所述多个开放页面的存储块作为部分存储块。
3.根据权利要求1所述的半导体存储器***,其中所述控制器通过单个一次性编程命令,控制所述存储器装置利用虚拟数据执行所述一次性编程操作。
4.根据权利要求1所述的半导体存储器***,其中所述开放页面检测器生成开放页面管理表,所述开放页面管理表包括所述部分存储块中包括的所述多个开放页面之中的第一开放页面的信息。
5.根据权利要求4所述的半导体存储器***,其中所述开放页面管理表包括以下信息:
所述第一开放页面的地址;以及
所述第一开放页面的大小。
6.根据权利要求4所述的半导体存储器***,其中所述开放页面检测器基于所述开放页面管理表来计算所述多个开放页面的地址和数量。
7.根据权利要求4所述的半导体存储器***,其中所述控制器控制所述存储器装置利用虚拟数据对所述多个开放页面中的第一开放页面至最后开放页面执行所述一次性编程操作。
8.根据权利要求2所述的半导体存储器***,其中当所述部分存储块检测器在所述多个存储块中检测到多个部分存储块时,所述控制器将所述多个部分存储块作为超级部分存储块来管理。
9.根据权利要求8所述的半导体存储器***,其中所述开放页面检测器检测所述多个部分存储块的每个中包括的多个页面之中的多个开放页面的地址和数量。
10.根据权利要求9所述的半导体存储器***,其中所述控制器控制所述存储器装置利用虚拟数据对所述超级部分存储块执行所述一次性编程操作。
11.一种操作半导体存储器***的方法,所述半导体存储器***包括存储器装置和控制器,所述存储器装置包括多个存储块,所述方法包括:
第一步骤,在所述多个存储块中检测至少一个部分存储块;
第二步骤,检测包括在所述部分存储块中的多个页面之中的多个开放页面的地址和数量;并且
第三步骤,根据所述多个开放页面的地址和数量利用虚拟数据执行一次性编程操作。
12.根据权利要求11所述的方法,其中所述第一步骤在所述多个存储块中,检测包括所述多个开放页面的存储块作为部分存储块。
13.根据权利要求11所述的方法,其中所述第三步骤通过单个一次性编程命令来利用虚拟数据执行所述一次性编程操作。
14.根据权利要求11所述的方法,其中所述第二步骤生成开放页面管理表,所述开放页面管理表包括所述部分存储块中包括的所述多个开放页面之中的第一开放页面的信息。
15.根据权利要求14所述的方法,其中所述开放页面管理表包括以下信息:
所述第一开放页面的地址;以及
所述第一开放页面的大小。
16.根据权利要求14所述的方法,其中所述第二步骤基于所述开放页面管理表来计算所述多个开放页面的地址和数量。
17.根据权利要求14所述的方法,其中所述第三步骤利用虚拟数据对所述多个开放页面中的第一开放页面至最后开放页面执行所述一次性编程操作。
18.根据权利要求12所述的方法,其中当所述第一步骤在所述多个存储块中检测到多个部分存储块时,所述第三步骤将所述多个部分存储块作为超级部分存储块来管理。
19.根据权利要求18所述的方法,其中所述第二步骤检测所述多个部分存储块的每个中包括的多个页面之中的多个开放页面的地址和数量。
20.根据权利要求19所述的方法,其中所述第三步骤利用虚拟数据对所述超级部分存储块执行所述一次性编程操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0177245 | 2017-12-21 | ||
KR1020170177245A KR20190075563A (ko) | 2017-12-21 | 2017-12-21 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947360A true CN109947360A (zh) | 2019-06-28 |
CN109947360B CN109947360B (zh) | 2022-05-27 |
Family
ID=66950511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810983256.7A Active CN109947360B (zh) | 2017-12-21 | 2018-08-27 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10529427B2 (zh) |
KR (1) | KR20190075563A (zh) |
CN (1) | CN109947360B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102610395B1 (ko) * | 2019-01-22 | 2023-12-05 | 삼성전자주식회사 | 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR20220145695A (ko) | 2021-04-22 | 2022-10-31 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150332770A1 (en) * | 2014-05-13 | 2015-11-19 | Dae Han Kim | Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device |
US20160274791A1 (en) * | 2015-03-18 | 2016-09-22 | SK Hynix Inc. | Memory system and operating method thereof |
US20170199685A1 (en) * | 2016-01-12 | 2017-07-13 | SK Hynix Inc. | Memory system and operating method of memory system |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581142B1 (en) * | 2000-09-01 | 2003-06-17 | International Business Machines Corporation | Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer |
US6829689B1 (en) * | 2002-02-12 | 2004-12-07 | Nvidia Corporation | Method and system for memory access arbitration for minimizing read/write turnaround penalties |
US20150033277A1 (en) * | 2012-03-23 | 2015-01-29 | Thomson Licensing | Method of buffer management for synchronization of correlated media presentations |
KR102117919B1 (ko) | 2013-10-24 | 2020-06-02 | 삼성전자주식회사 | 저장 장치 및 그것의 프로그램 방법 |
KR102292198B1 (ko) | 2014-10-15 | 2021-08-25 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
US10019314B2 (en) * | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
-
2017
- 2017-12-21 KR KR1020170177245A patent/KR20190075563A/ko unknown
-
2018
- 2018-07-17 US US16/037,661 patent/US10529427B2/en active Active
- 2018-08-27 CN CN201810983256.7A patent/CN109947360B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150332770A1 (en) * | 2014-05-13 | 2015-11-19 | Dae Han Kim | Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device |
US20160274791A1 (en) * | 2015-03-18 | 2016-09-22 | SK Hynix Inc. | Memory system and operating method thereof |
US20170199685A1 (en) * | 2016-01-12 | 2017-07-13 | SK Hynix Inc. | Memory system and operating method of memory system |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190075563A (ko) | 2019-07-01 |
US10529427B2 (en) | 2020-01-07 |
CN109947360B (zh) | 2022-05-27 |
US20190198116A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632777A (zh) | 存储器***及其操作方法 | |
CN107766257A (zh) | 存储器***及其操作方法 | |
CN107562649A (zh) | 存储器***及其操作方法 | |
CN107919157A (zh) | 存储器装置及存储器装置的操作方法 | |
CN109388594A (zh) | 存储器***及其操作方法 | |
CN109656837A (zh) | 存储器***及其操作方法 | |
CN107491396A (zh) | 存储器***及其操作方法 | |
CN107589906A (zh) | 存储器***及其操作方法 | |
CN107799148A (zh) | 存储器***及用于操作该存储器***的方法 | |
CN107346213A (zh) | 存储器***及其操作方法 | |
CN110322920A (zh) | 控制器及控制器的操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN110058797A (zh) | 存储器***及其操作方法 | |
CN109521947A (zh) | 存储器***以及存储器***的操作方法 | |
CN108932203A (zh) | 数据处理***和数据处理方法 | |
CN108694138A (zh) | 控制器及其操作方法 | |
CN109671459A (zh) | 存储器***及其操作方法 | |
CN109697171A (zh) | 控制器及其操作方法 | |
CN108257637A (zh) | 存储器***及其操作方法 | |
CN110322915A (zh) | 存储器装置及其操作方法 | |
CN109656749A (zh) | 存储器***及其操作方法 | |
CN108363547A (zh) | 控制器及其操作方法 | |
CN107807887A (zh) | 存储器***及其操作方法 | |
CN108241470A (zh) | 控制器及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |