CN110175132A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN110175132A CN110175132A CN201811150929.7A CN201811150929A CN110175132A CN 110175132 A CN110175132 A CN 110175132A CN 201811150929 A CN201811150929 A CN 201811150929A CN 110175132 A CN110175132 A CN 110175132A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- band
- memory device
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 116
- 238000011017 operating method Methods 0.000 title abstract description 4
- 230000015654 memory Effects 0.000 claims abstract description 358
- 238000000034 method Methods 0.000 claims description 31
- 238000001514 detection method Methods 0.000 claims description 14
- 230000014759 maintenance of location Effects 0.000 claims description 2
- 239000011800 void material Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 description 46
- 239000000872 buffer Substances 0.000 description 42
- 238000010586 diagram Methods 0.000 description 37
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 13
- 238000013507 mapping Methods 0.000 description 13
- 230000006399 behavior Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 239000012536 storage buffer Substances 0.000 description 10
- 238000000151 deposition Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 210000004209 hair Anatomy 0.000 description 5
- 230000005684 electric field Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 239000013078 crystal Substances 0.000 description 3
- 101150013423 dsl-1 gene Proteins 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
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/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
- 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/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- 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/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明可以提供一种存储装置及存储装置的操作方法。该存储装置可以条带为单位编程虚拟数据。存储装置可以包括:多个存储器装置,联接到共用通道;以及存储器控制器,当检测到突然断电时,根据从多个存储器装置中的多个条带中选择的条带中的至少一个页面是否处于擦除状态,来选择性地将虚拟数据编程到所选择条带。
Description
相关申请的交叉引用
本申请要求于2018年2月21日提交的申请号为10-2018-0020757的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种存储装置。特别地,实施例涉及一种存储装置以及该存储装置的操作方法。
背景技术
存储装置在诸如计算机、智能电话或平板电脑的主机装置的控制下存储数据。存储装置的示例包括将数据存储在磁盘中的硬盘驱动器(HDD),以及将数据存储在半导体存储器,特别是非易失性存储器中的固态硬盘(SSD)或者存储卡。
存储装置可以包括存储数据的存储器装置和控制将数据在存储器装置中的存储器控制器。存储器装置可以是易失性存储器或非易失性存储器。非易失性存储器的代表性示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)以及铁电RAM(FRAM)。
发明内容
本公开的各个实施例涉及一种存储装置以及操作该存储装置的方法,该存储装置以条带(stripe)为单位编程虚拟数据。
本公开的实施例可以提供一种操作存储器控制器的方法,存储器控制器控制联接到共用通道的多个存储器装置中的多个存储块作为单个超级块。该方法可以包括从目标条带读取数据,目标条带是单个超级块中的多个条带中的任意一个条带,并且根据目标条带中的多个页面中的至少一个是否处于擦除状态,来选择性地将虚拟数据编程到目标条带,其中根据对应字线的顺序来顺序地编程多个条带。
本公开的实施例可以提供一种操作存储器控制器的方法,存储器控制器控制分别包括在联接到共用通道的多个存储器装置中的多个存储块作为单个超级块。该方法可以包括按照条带被编程的顺序,从单个超级块中的多个条带顺序地读取数据,并且根据从多个条带中选择的条带中的至少一个页面是否处于擦除状态,来选择性地将虚拟数据编程到所选择条带。
本公开的实施例可以提供一种存储装置。存储装置可以包括:多个存储器装置,其联接到共用通道;以及存储器控制器,其被配置为当感测到突然断电时,根据从多个存储器装置中的多个条带中选择的条带中的至少一个页面是否处于擦除状态,来选择性地将虚拟数据编程到所选择条带。
本公开的实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,其包括超级块,该超级块具有多个条带,多个条带中的每个包括跨越多个路的多个页面;以及控制器,其被配置为控制存储器装置根据数据交叉方案在编程方向上对条带执行编程操作;并且当发生突然断电时,控制存储器装置从第一擦除条带到参考条带执行虚拟编程操作,其中第一擦除条带是具有一个或多个擦除页面的多个条带之中的、在编程方向上的第一条带,并且其中参考条带是仅具有擦除页面的多个条带之中的、在编程方向上的第一条带。
附图说明
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出图1的存储器控制器与多个存储器装置之间的示例性联接关系的框图。
图3是用于解释根据本公开的实施例的基于数据交叉的编程操作和读取操作的时序图。
图4是用于解释超级块、超级页面或条带的概念的示图。
图5是示出根据本公开的实施例的在发生突然断电并且在编程虚拟数据之后的情况下的存储在存储器装置中的数据的示图。
图6是示出根据本公开的实施例的编程虚拟数据的方法的示图。
图7是示出根据本公开的实施例的完成编程虚拟数据的状态的示图。
图8是示出根据本公开的实施例的存储装置中包括的存储器控制器的元件的示图。
图9是描述根据本公开的实施例的操作存储装置的方法的流程图。
图10是示出图1的存储器装置的示例性结构的示图。
图11是示出图10的存储器单元阵列的实施例的示图。
图12是示出图11的存储块BLK1至BLKz中的任意一个存储块BLKa的示例的电路图。
图13是示出图11的存储块BLK1至BLKz中的任意一个存储块BLKb的示例的电路图。
图14是示出包括在图10的存储器单元阵列110中的多个存储块BLK1至BLKz的任意一个存储块BLKc的示例的电路图。
图15是示出图1的存储器控制器的实施例的示图。
图16是示出可以应用根据本公开的实施例的存储装置的存储卡系统的框图。
图17是示出可以应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统的示例的框图。
图18是示出可以应用根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
本说明书中提供的具体结构或功能描述涉及本公开的公开实施例。然而,本发明不限于公开的实施例。
相反,本发明的方面可以与本文所示出或描述的不同地配置或布置。因此,本发明应被解释为涵盖不脱离本公开的精神和技术范围的变型、等同物或替代物。并且,在整个说明书中,对“实施例”等的参考不一定针对仅仅一个实施例,并且对“实施例”等的不同参考不一定针对相同的实施例。
将理解的是,虽然术语“第一”和/或“第二”可以在本文使用以识别各种元件,但是这些元件不受这些术语限制。这些术语仅用于区分一个元件与具有相同或相似名称的另一个元件。例如,在不脱离本公开的教导的情况下,下面讨论的第一元件可以被称为第二元件。类似地,第二元件也可以称为第一元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,其可以直接联接或连接到其它元件或者可以存在一个或多个中间元件。相反,应当理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。解释元件之间关系的其它表达,诸如“在...之间”、“直接在...之间”、“与......相邻”或“与...直接相邻”应当以相同的方式解释。
本文使用的术语的目的在于描述特定实施例而不旨在限制。在本公开中,除非上下文另有明确指示,否则单数形式旨在包括复数形式,并且反之亦然。将进一步理解的是,当在本说明书中使用术语“包括”、“包含”、“具有”等时,它们指阐述的特征、整数、步骤、操作、元件、部件和/或它们的组合的存在,而不排除一个或多个其它特征、整数、步骤、操作、元件、部件和/或它们的组合的存在或添加。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本公开所属领域中的普通技术人员通常理解的含义相同的含义。将进一步理解的是,本文使用的术语应被理解为具有与它们在本说明书的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
可以省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。省略不必要的描述以使本公开的主题清楚。
现在将参照附图更全面地描述本公开的各个实施例,附图中示出了本公开的优选实施例,使得本领域技术人员可以容易地实现本发明。
图1是示出根据本公开的实施例的存储装置50的框图。
参照图1,存储装置50可以包括存储器装置100、存储器控制器200和缓冲存储器300。
存储装置50可以是在主机400的控制下存储数据的装置,诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
存储器装置100可以存储数据。存储器装置100响应于存储器控制器200的控制而操作。存储器装置100可以包括存储器单元阵列,存储器单元阵列包括存储数据的多个存储器单元。存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。单个存储块可以包括多个页面。在实施例中,每个页面可以是单位,以每个页面将数据存储在存储器装置100中或者以每个页面读取存储在存储器装置100中的数据。存储块可以是单位,以每个存储块擦除数据。在实施例中,存储器装置100可以采取许多可选形式,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移力矩RAM(STT-RAM)。在本说明书中,作为示例,在假设存储器装置100是NAND闪速存储器的情况下进行描述。
在实施例中,存储器装置100可以被实施为三维(3D)阵列结构。本发明不仅可以应用于其中电荷存储层由导电浮栅(FG)形成的闪速存储器装置,而且还可以被应用于其中电荷存储层由绝缘层形成的电荷捕获闪存(CTF)存储器装置。
存储器装置100可以从存储器控制器200接收命令和地址并且可以访问由该地址选择的存储器单元阵列的区域。即,存储器装置100对由该地址选择的区域执行对应于命令的操作。例如,存储器装置100可以执行写入操作(即,编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程到由该地址选择的区域。在读取操作期间,存储器装置100可以从由该地址选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除存储在由该地址选择的区域中的数据。
存储器控制器200可以控制存储装置50的全部操作。
当电力被施加到存储装置50时,存储器控制器200可以运行固件(FW)。当存储器装置100是闪速存储器装置时,存储器控制器200可以运行诸如闪存转换层(FTL)的固件以控制主机400与存储器装置100之间的通信。
存储器控制器200可以控制存储器装置100,使得响应于从主机400接收的请求来执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供编程命令、物理地址(PA)和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和物理地址(PA)。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和物理地址(PA)。
在实施例中,存储器控制器200可以在不从主机400接收请求的情况下自主地生成编程命令、地址和数据,并且可以将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供给存储器装置100以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以控制主机400和缓冲存储器300之间的数据交换。可选地,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储在缓冲存储器300中。例如,存储器控制器200可以将从主机400输入的数据临时存储在缓冲存储器300中,并且然后可以将临时存储在缓冲存储器300中的数据传输到存储器装置100。
在各个实施例中,缓冲存储器300可以用作存储器控制器200的工作存储器或高速缓冲存储器。缓冲存储器300可以存储由存储器控制器200执行的代码或命令。可选地,缓冲存储器300可以存储由存储器控制器200处理的数据。
在实施例中,存储器控制器200可以从主机400接收数据和逻辑地址(LA),并且可以将逻辑地址(LA)转换成物理地址(PA),该物理地址指示存储器装置100中包括的并且待存储数据的存储器单元的地址。进一步地,存储器控制器200可以将逻辑-物理地址映射表存储在缓冲存储器300中,其中逻辑-物理地址映射表配置逻辑地址(LA)与物理地址(PA)之间的映射关系。
在实施例中,缓冲存储器300可以被实施为动态RAM(DRAM)或静态RAM(SRAM),其中DRAM诸如双倍数据速率SDRAM(DDR SDRAM)、DDR4SDRAM、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、或Rambus DRAM(RDRAM)。
在各个实施例中,存储装置50可以不包括缓冲存储器300。在该情况下,设置在存储装置50外部的一个或多个易失性存储器装置可以用作缓冲存储器300。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。此处,存储器控制器200可以以交叉方式控制存储器装置100以改进操作性能。
主机400可以使用诸如以下的各种通信方法中的至少一种与存储装置50通信:通用串行总线(USB)通信方法、串行AT附件(SATA)通信方法、串列SCSI(SAS)通信方法、高速片间(HSIC)通信方法、小型计算机系统接口(SCSI)通信方法、外围组件互联(PCI)通信方法、高速PCI(PCIe)通信方法、高速非易失性存储器(NVMe)通信方法、通用闪存(UFS)通信方法、安全数字(SD)通信方法、多媒体卡(MMC)通信方法、嵌入式MMC(eMMC)通信方法、双列直插式存储器模块(DIMM)通信方法、寄存式DIMM(RDIMM)通信方法和低负载的DIMM(LRDIMM)通信方法。
存储装置50可以根据主机接口而被配置为各种类型的存储装置中的任意一种,其中主机接口为与主机400的通信方法。例如,存储装置50可以被实施为例如以下的各种类型的存储装置中的任意一种:固态硬盘(SSD)、诸如MMC、嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)或微型MMC的多媒体卡、诸如SD、迷你-SD或微型-SD的安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、外围组件互连(PCI)卡型存储装置、高速PCI(PCI-E)卡型存储装置、标准闪存(CF)卡、智能媒体卡和记忆棒。
存储装置50可以各种类型的封装形式中的任意一种来制造。例如,存储装置50可以被制造为:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
图2是示出图1的存储器控制器与多个存储器装置之间的示例性联接关系的框图。
参照图2,存储器控制器200可以通过多个通道CH0至CH3联接到多个存储器装置(例如,存储器装置_00至存储器装置_33)。根据系统或特定应用,通道的数量和/或联接到每个通道的存储器装置的数量可以与所示的不同。为了便于描述和清楚性,本公开示出并描述了通过四个通道联接到存储器装置的存储器控制器200,其中四个存储器装置被联接到每个通道。
存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03可以共同联接到通道0CH0。存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03可以通过通道0CH0与存储器控制器200通信。由于存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03共同联接到通道0CH0,因此在同一时间仅一个这样的存储器装置可以与存储器控制器200通信。然而,这些共同联接的存储器装置可以同时执行它们自己的内部操作。
存储器装置_10、存储器装置_11、存储器装置_12和存储器装置_13可以共同联接到通道1CH1。存储器装置_10、存储器装置_11、存储器装置_12和存储器装置_13可以通过通道1CH1与存储器控制器200通信。由于存储器装置_10、存储器装置_11、存储器装置_12和存储器装置_13共同联接到通道1CH1,因此在同一时间仅一个这样的存储器装置可以与存储器控制器200通信。然而,这些共同联接的存储器装置可以同时执行它们自己的内部操作。
存储器装置_20、存储器装置_21、存储器装置_22和存储器装置_23可以共同联接到通道2CH2。存储器装置_20、存储器装置_21、存储器装置_22和存储器装置_23可以通过通道2CH2与存储器控制器200通信。由于存储器装置_20、存储器装置_21、存储器装置_22和存储器装置_23共同联接到通道2CH2,因此在同一时间仅一个这样的存储器装置可以与存储器控制器200通信。然而,这些共同联接的存储器装置可以同时执行它们自己的内部操作。
存储器装置_30、存储器装置_31、存储器装置_32和存储器装置_33可以共同联接到通道3CH3。存储器装置_30、存储器装置_31、存储器装置_32和存储器装置_33可以通过通道3CH3与存储器控制器200通信。由于存储器装置_30、存储器装置_31、存储器装置_32和存储器装置_33共同联接到通道3CH3,因此在同一时间仅一个这样的存储器装置可以一次与存储器控制器200通信。然而,这些共同联接的存储器装置可以同时执行它们自己的内部操作。
使用多个存储器装置的存储装置可以通过数据交叉,即基于交叉方案的数据通信来改进性能。根据数据交叉操作,可以在两个或更多个路彼此共享单个通道的结构中,以被表示为管线方案(pipelined scheme)中的“路”为单位来执行数据读取和写入操作。对于数据交叉,可以以通道和路为单位来管理存储器装置。为了最大化联接到每个通道的存储器装置的并行性,存储器控制器200可以将连续的逻辑存储器区域分布并分配至通道和路。
例如,存储器控制器200可以通过通道0CH0将命令、包括地址的控制信号和数据传输到存储器装置_00。根据数据交叉操作,在存储器装置_00将接收的数据编程到存储器装置_00中的存储器单元时,存储器控制器200可以执行将命令、包括地址的控制信号和数据传输到存储器装置_01的操作。
在图2中,多个存储器装置可以被分组为四个路WAY0至WAY3,使得在单个路中,存储器装置被联接到的不同通道。路0(WAY0)可以包括分别联接到通道CH0至CH3的存储器装置_00、存储器装置_10、存储器装置_20和存储器装置_30。路1(WAY1)可以包括分别联接到通道CH0至CH3的存储器装置_01、存储器装置_11、存储器装置_21和存储器装置_31。路2(WAY2)可以包括分别联接到通道CH0至CH3的存储器装置_02、存储器装置_12、存储器装置_22和存储器装置_32。路3(WAY3)可以包括分别联接到通道CH0至CH3的存储器装置_03、存储器装置_13、存储器装置_23和存储器装置_33。
通道CH0至CH3中的每一个可以是用于信号的总线,联接到相应通道的存储器装置共享并使用总线。
虽然,在图2中,示出了4-通道/4-路结构中的数据交叉操作,但是随着通道的数量增加和路的数量增加,数据交叉操作可以更高效。因此,本发明不限于4-通道/4-路结构。
图3是用于解释基于数据交叉的编程操作和读取操作的时序图。
参照图3,(a)是用于解释编程操作的示图,并且(b)是用于解释读取操作的示图。在图3中,作为示例,对共同联接到图2的通道0CH0的存储器装置_00至存储器装置_03执行编程操作(a)和读取操作(b)。
参照(a),在从t0至t1的时段期间,可以对存储器装置_00执行数据输入DIN#00。在正在执行数据输入DIN#00时,存储器装置_00可以通过通道0CH0接收编程命令、地址和数据。由于存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03共同联接到通道0CH0,因此在正在对存储器装置_00执行数据输入DIN#00的同时,剩余的存储器装置,即存储器装置_01、存储器装置_02和存储器装置_03不能使用通道0CH0。
在从t1至t2的时段期间,可以对存储器装置_01执行数据输入DIN#01。在正在执行数据输入DIN#01时,存储器装置_01可以通过通道0CH0接收编程命令、地址和数据。由于存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03共同联接到通道0CH0,因此在正在对存储器装置_01执行数据输入DIN#01的同时,剩余的存储器装置,即存储器装置_00、存储器装置_02和存储器装置_03不能使用通道0CH0。然而,由于存储器装置_00在从t0至t1的时段期间接收数据(DIN#00),因此可以从时间t1开始对存储器装置_00执行编程操作(tPROG#00)。
在从t2至t3的时段期间,可以对存储器装置_02执行数据输入DIN#02。在正在执行数据输入DIN#02时,存储器装置_02可以通过通道0CH0接收编程命令、地址和数据。由于存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03共同联接到通道0CH0,因此在正在对存储器装置_02执行数据输入DIN#02的同时,剩余的存储器装置,即存储器装置_00、存储器装置_01和存储器装置_03不能使用通道0CH0。然而,由于存储器装置_00在从t0至t1的时段期间接收数据(DIN#00),因此可以从时间t1开始对存储器装置_00执行编程操作(tPROG#00)。进一步地,由于存储器装置_01在从t1至t2的时段期间接收数据(DIN#01),因此可以从时间t2开始对存储器装置_01执行编程操作(tPROG#01)。
在从t3至t4的时段期间,可以对存储器装置_03执行数据输入DIN#03。在正在执行数据输入DIN#03时,存储器装置_03可以通过通道0CH0接收编程命令、地址和数据。由于存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03共同联接到通道0CH0,因此在正在对存储器装置_03执行数据输入DIN#03的同时,剩余的存储器装置,即存储器装置_00、存储器装置_01和存储器装置_02不能使用通道0CH0。然而,由于存储器装置_00在从t0至t1的时段期间接收数据(DIN#00),因此可以从时间t1开始对存储器装置_00执行编程操作(tPROG#00)。进一步地,由于存储器装置_01在从t1至t2的时段期间接收数据(DIN#01),因此可以从时间t2开始对存储器装置_01执行编程操作(tPROG#01)。此外,由于存储器装置_02在从t2至t3的时段期间接收数据(DIN#02),因此可以从时间t3开始对存储器装置_02执行编程操作(tPROG#02)。
在时间t4,可以完成存储器装置_00的编程操作(tPROG#00)。
此后,在从t4至t8的时段期间,可以以在从t0至t4的时段期间执行的方式相同的方式对存储器装置_00至存储器装置_03执行数据输入DIN#00、DIN#01、DIN#02和DIN#03。
参照图3的(b),在从t'0至t'2的时段期间,存储器装置_00至存储器装置_03可以读取内部地对应于具体地址的数据片段(pieces of data)(tR#00至tR#03)。在实施例中,存储器装置_00至存储器装置_03可以以页面为单位读取数据。存储器装置_00可以在从t'0至t'1的时段期间读取数据(tR#00),并且可以在从t'1至t'3的时段期间通过通道0CH0将读取的数据输出到存储器控制器(DOUT#00)。
在从t'1至t'3的时段期间,存储器装置_00通过通道0CH0输出数据(DOUT#00),并且因此存储器装置_01、存储器装置_02和存储器装置_03不能使用通道0CH0。
在从t'3至t'4的时段期间,存储器装置_01可以通过通道0CH0将读取的数据输出到存储器控制器(DOUT#01)。在从t'3至t'4的时段期间,存储器装置_01通过通道0CH0输出数据(DOUT#01),并且因此存储器装置_00、存储器装置_02和存储器装置_03不能使用通道0CH0。
在从t'4至t'5的时段期间,存储器装置_02可以通过通道0CH0将读取的数据输出到存储器控制器(DOUT#02)。在从t'4至t'5的时段期间,存储器装置_02通过通道0CH0输出数据(DOUT#02),并且因此存储器装置_00、存储器装置_01和存储器装置_03不能使用通道0CH0。
在从t'5至t'6的时段期间,存储器装置_03可以通过通道0CH0将读取的数据输出到存储器控制器(DOUT#03)。在从t'5至t'6的时段期间,存储器装置_03通过通道0CH0输出数据(DOUT#03),并且因此存储器装置_00、存储器装置_01和存储器装置_02不能使用通道0CH0。
图4是用于解释超级块、超级页面或条带的概念的示图。
参照图4,四个存储器装置,即,存储器装置_00至存储器装置_03可以共同联接到通道0CH0。
在图4中,存储器装置(即,存储器装置_00至存储器装置_03)中的每一个可以包括第0存储块BLK0至第n存储块BLKn,并且存储块中的每一个可以包括第0页面Page 0至第k页面Page k。
诸如存储器控制器200的存储器控制器可以以超级块为单位控制共同联接到单个通道的多个存储器装置中的存储块。例如,存储器装置_00至存储器装置_03中的第0存储块可以构成第0超级块Super Block 0。因此,联接到通道0CH0的存储器装置_00至存储器装置_03可以包括第0超级块Super Block 0至第n超级块Super Block n。
单个超级块可以由多个条带组成。术语“条带”可以与术语“超级页面”互换使用。
单个条带或单个超级页面可以包括多个页面。例如,分别在第0超级块SuperBlock 0中的多个第0存储块BLK0中的第0页面Page 0可以构成第0条带Stripe 0或第0超级页面Super Page 0。
因此,第0条带Stripe 0至第k条带Stripe k可以被包括在单个超级块中。可选地,第0超级页面Super Page 0至第k超级页面Super Page k可以被包括在单个超级块中。
当将数据存储在存储器装置_00至存储器装置_03中或读取所存储数据时,存储器控制器200可以以条带或超级页面为单位来存储或读取数据。
在该情况下,可以使用参照图3描述的数据交叉来执行将数据存储在单个条带或超级页面中的编程操作或者读取所存储数据的读取操作。
图5是示出在发生突然断电并且在编程虚拟数据之后的情况下的存储在存储器装置中的数据的示图。
当供给到存储装置的电力突然中断或丢失时,发生突然断电(SPO)。当正在对存储装置中的存储器装置执行编程操作时发生突然断电时,存储器控制器可以控制存储器装置,使得在供电之后恢复由于SPO而中断的编程操作。存储器控制器可以将虚拟数据编程到由于突然断电而中断编程操作的页面。此后,存储器控制器可以对被编程虚拟数据的页面的下一页面恢复中断的编程操作。
存储器控制器可以检测由于SPO而中断编程操作的页面,从而将虚拟数据编程到中断页面中。每个存储器装置中的存储块中的每一个可以包括多个页面。可以在特定编程方向上,诸如在顺序地增加页面编号的方向上,编程多个页面。未存储数据的存储器单元可以具有擦除状态下的阈值电压。因此,存储器控制器可以按照存储块中的多个页面被编程的顺序来读取页面并且可以检测第一擦除页面,其中第一擦除页面是具有擦除状态的第一页面。在实施例中,存储器控制器可以使用例如二进制扫描来检测第一擦除页面。
存储器控制器可以控制存储器装置将虚拟数据编程到第一擦除页面中。
当存储器控制器控制联接到多个通道并且使用多个路配置的存储器装置时,存储器装置可以基于以上参照图3描述的数据交叉来执行编程操作和读取操作。此处,由于各个存储器装置的速度之间的差异,所以对于各个路,第一擦除页面的位置可能彼此不同。即,对于包括在路中的各个存储器装置,与第一擦除页面相对应的字线可能彼此不同。
图5(a)示出当发生突然断电时各个路中的存储器装置的数据。由于联接到路0(WAY0)的存储器装置_00处于编程到第八字线已经完成的状态,因此第一擦除页面是对应于第九字线的页面。由于联接到路1(WAY1)的存储器装置_01处于编程到第十二字线已经完成的状态,因此第一擦除页面是对应于第十三字线的页面。由于联接到路2(WAY2)的存储器装置_02处于编程到第八字线已经完成的状态,因此第一擦除页面是对应于第九字线的页面。由于联接到路3(WAY3)的存储器装置_03处于编程到第十字线已经完成的状态,因此第一擦除页面是对应于第十一字线的页面。
当以条带为单位或以超级页面为单位执行编程操作或读取操作时,当在SPO之后接通电源时,只有在虚拟数据被编程到参考页面的情况下,才可对相应超级块恢复中断的编程操作。参考页面是路的第一擦除页面之中的、特定编程方向上的最后页面。在图5(a)的示例中,参考页面是对应于第十三字线的页面,对应于第十三字线的页面是路WAY0至WAY3的第一擦除页面之中的最后页面。在路的每一个中,可以从第一擦除页面至参考页面来执行虚拟数据编程操作。
图5(b)是示出执行编程虚拟数据的情况的示图。
在联接到路0(WAY0)的存储器装置_00中,虚拟数据被编程到与从第一擦除页面的第九字线至参考页面的第十三字线范围的字线相对应的页面。在联接到路1(WAY1)的存储器装置_01中,虚拟数据被编程到与第一擦除页面,也是参考页面的第十三字线相对应的页面。在联接到路2(WAY2)的存储器装置_02中,虚拟数据被编程到与从第一擦除页面的第九字线至参考页面的第十三字线范围的字线相对应的页面。在联接到路3(WAY3)的存储器装置_03中,虚拟数据被编程到与从第一擦除页面的第十一字线至参考页面的第十三字线范围的字线相对应的页面。
为了以与图5的实施例的方式相同的方式编程虚拟数据,存储器控制器应当单独地从对应于各个路的存储器装置中检测第一擦除页面。进一步地,存储器控制器应当在路的第一擦除页面之中设置参考页面,并且应当单独地控制各个存储器装置,使得对应于各个路的存储器装置将虚拟数据编程到从第一擦除页面至参考页面范围的页面。因此,编程虚拟数据的操作可能需要很多时间,并且用于处理虚拟数据的编程的存储器控制器的固件的设计可能复杂。
图6是示出根据本公开的实施例的编程虚拟数据的方法的示图。
参照图6,诸如存储器控制器200的存储器控制器控制分别在路0至路3中的存储器装置_00至存储器装置_03。
可以以单个超级块为单位来控制各个路中的存储器装置中的存储块。在图6中,示出了单个超级块中的分别对应于路0至路3的存储块中存储的数据片段的状态。为了便于描述,假设对应于15个字线的页面被包括在单个存储块中。
图6(a)示出当发生突然断电时存储数据的状态。
参照图6(a),存储器控制器200可以检测与作为第一擦除条带的第九字线相对应的页面。第一擦除条带可以包括至少一个处于擦除状态的页面。
可以使用各种方法来实现由存储器控制器200检测第一擦除条带。例如,存储器控制器200可以基于在特定编程方向上从第0字线开始以条带为单位顺序地读取数据片段来检测第一擦除条带。即,当从单个条带读取的至少一个数据片段被检测为处于擦除状态时,存储器控制器200可以将相应条带设置为第一擦除条带。在图6(a)的示例中,第一擦除条带是对应于第九字线。
存储器控制器200可以执行将虚拟数据编程到第一擦除条带的虚拟数据编程操作。
图6(b)是示出将虚拟数据编程到对应于第九字线的第一擦除条带的情况的示图。参照图6(b),与路0(WAY0)和路2(WAY2)相对应的页面是擦除页面,因此虚拟数据可以被编程到第一擦除条带中的页面。然而,如图6(a)所示,由于数据片段已经被存储在第一擦除条带中的与路1(WAY1)和路3(WAY3)相对应的页面中,因此可对第一擦除条带中的已经存储数据片段的页面执行重写编程操作。因此,与路1和路3相对应的页面可被重写。由于发生突然断电而导致先前存储的数据不可靠,因此是否对第一擦除条带中的相应页面执行重写编程操作是无关紧要的。
图7是示出根据本公开的实施例的完成编程虚拟数据的状态的示图。
参照图7(a),当发生SPO时,联接到路0(WAY0)的存储器装置_00处于完全执行了编程到第八字线的状态。当发生SPO时,联接到路1(WAY1)的存储器装置_01处于完全执行了编程到第十二字线的状态。当发生SPO时,联接到路2(WAY2)的存储器装置_02处于完全执行了编程到第八字线的状态。当发生SPO时,联接到路3(WAY3)的存储器装置_03处于完全执行了编程到第十字线的状态。
根据本公开的实施例,存储器控制器200可以检测参考条带,其中参考条带可以是每个仅包括擦除页面的条带之中的、特定编程方向上的第一条带。可以通过在特定编程方向上读取存储器装置的条带来检测参考条带。根据本公开的实施例,存储器控制器200可以控制存储器装置从第一擦除条带至参考条带来执行虚拟数据编程操作。
例如,存储器控制器200可以将虚拟数据编程到作为第一擦除条带的第九字线,并且可以从对应于第十字线的条带读取数据。虽然与路0(WAY0)和路2(WAY2)相对应的页面处于擦除状态,但是由于与路1(WAY1)和路3(WAY3)相对应的页面不处于擦除状态,因此对应于第十字线的条带不是参考条带。因此,存储器控制器200可以将虚拟数据编程到对应于第十字线的条带。
接下来,存储器控制器200可以从对应于第十一字线的条带读取数据。虽然与路0(WAY0)、路2(WAY2)和路3(WAY3)相对应的页面处于擦除状态,但是由于与路1(WAY1)相对应的页面不处于擦除状态,因此对应于第十一字线的条带不是参考条带。因此,存储器控制器200可以将虚拟数据编程到对应于第十一字线的条带。
然后,存储器控制器200可以从对应于第十二字线的条带读取数据。虽然与路0(WAY0)、路2(WAY2)和路3(WAY3)相对应的页面处于擦除状态,但是由于与路1(WAY1)相对应的页面不处于擦除状态,因此对应于第十二字线的条带不是参考条带。因此,存储器控制器200可以将虚拟数据编程到对应于第十二字线的条带。
接下来,存储器控制器200可以从对应于第十三字线的条带读取数据。由于与路0(WAY0)、路1(WAY1)、路2(WAY2)和路3(WAY3)相对应的所有页面处于擦除状态,因此对应于第十三字线的条带是参考条带。存储器控制器200可以将虚拟数据编程到对应于第十三字线的条带。在虚拟数据已经被编程到参考条带之后,存储器控制器200可以对与第十四字线相对应的条带恢复中断的编程操作。
图8是示出根据本公开的实施例的存储装置中的存储器控制器200的元件的示图。
参照图8,存储器控制器200可以包括突然断电检测器210、命令发生器220和页面检测器230。
突然断电检测器210可以感测在参照图1描述的存储装置50中发生的突然断电,并且可以当恢复对存储装置50的供电时生成感测信号。
命令发生器220可以生成命令和地址,使得响应于来自突然断电检测器210的感测信号,来执行从由于突然断电而暂停编程操作的存储块中检测编程操作被暂停的位置的读取操作。此处,命令发生器220可以生成命令和地址,使得以条带为单位对共同联接到单个通道的多个存储器装置执行读取数据的读取操作,并且可以基于以上参照图3描述的数据交叉操作来提供生成的命令和地址。
页面检测器230可以基于通过条带读取操作而获取的数据来检测第一擦除条带。例如,页面检测器230可以基于在特定编程方向上从第0字线开始以条带为单位顺序地读取的数据片段,来检测第一擦除条带。即,当从单个条带读取的至少一个数据片段被检测为处于擦除状态时,页面检测器230可以将该条带设置为第一擦除条带。第一擦除条带可以是当发生突然断电时正在执行编程操作的条带。
在实施例中,页面检测器230可以检测参考条带。例如,作为从单个条带读取数据的结果,当构成条带的、多个存储器装置中存储的所有数据片段处于擦除状态时,页面检测器230可以将相应条带设置为参考条带。
命令发生器220可以基于页面检测器230的检测结果,来生成命令和地址以用于将虚拟数据编程到与第一擦除条带至参考条带相对应的存储器区域。在实施例中,命令发生器220可以在将虚拟数据编程到第一擦除条带之后,生成命令和地址以用于从下一条带读取数据。此后,命令发生器220可以重复地执行从条带读取数据的操作和编程虚拟数据的操作,直到检测到参考条带。在各个实施例中,命令发生器220可以首先以条带为单位顺序地执行读取操作,直到检测到第一擦除条带和参考条带。在已经检测到第一擦除条带和参考条带两者之后,命令发生器220可以生成命令和地址以用于将虚拟数据编程到与从第一擦除条带到参考条带范围的条带相对应的存储器区域。
图9是描述根据本公开的实施例的操作存储装置的方法的流程图。
参照图9,在步骤S901处,存储装置50对所选择条带执行读取操作。
在步骤S903处,存储装置50可以确定来自所选择条带的所有读取数据是否都处于擦除状态。当确定不是所有读取数据处于擦除状态时,进程进行到步骤S905,而当确定所有读取数据都处于擦除状态时,进程进行到步骤S909。
在步骤S905处,存储装置50可以将虚拟数据编程到已经被读取数据的所选择条带。虚拟数据可以被编程到相应条带中的处于擦除状态的页面(即,擦除页面)中。进一步地,可以将虚拟数据重写到未被擦除的页面。
在步骤S907处,存储装置50可以将下一个条带设置为待被验证的验证目标条带。即,存储装置50选择下一个顺序条带以进行处理。在步骤S907之后,可以重复步骤S901至907。
作为步骤S903处的确定结果,如果所有读取数据都处于擦除状态,则所选择条带可以是参考条带。在步骤S909处,存储装置50可以将虚拟数据编程到参考条带,并且然后可以终止进程。
图10是示出图1的存储器装置100的结构的示图。
参照图10,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz通过位线BL1至BLm联接到读取和写入电路123。存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。联接到相同字线的存储器单元被定义为单个页面。即,存储器单元阵列110由多个页面构成。在实施例中,多个存储块BLK1至BLKz中的每一个可以包括一个或多个虚拟单元,该一个或多个虚拟单元可以串联地联接在漏极选择晶体管和存储器单元之间以及源极选择晶体管和存储器单元之间。
存储器装置100的存储器单元中的每一个可以被实施为能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
外围电路120可以包括地址解码器121、电压发生器122、读取和写入电路123以及数据输入/输出电路124。
外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110,使得编程操作、读取操作和擦除操作被执行。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。在实施例中,字线可以包括正常字线和虚拟字线。在实施例中,行线RL可以进一步包括管道选择线。
地址解码器121被配置成在控制逻辑130的控制下操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置成解码所接收地址ADDR的块地址。地址解码器121响应于解码的块地址从存储块BLK1至BLKz中选择至少一个存储块。地址解码器121被配置成解码所接收地址ADDR的行地址。地址解码器121可以响应于所解码的行地址,通过将从电压发生器122供给的电压施加到至少一个字线WL来选择所选择存储块的至少一个字线。
在编程操作期间,地址解码器121可以将编程电压施加到所选择字线并且将具有电平低于编程电压的电平的通过电压施加到未选择字线。在编程验证操作期间,地址解码器121可以将验证电压施加到所选择字线并且将高于验证电压的验证通过电压施加到未选择字线。
在读取操作期间,地址解码器121可以将读取电压施加到所选择字线并且将高于读取电压的通过电压施加到未选择字线。
在实施例中,可以基于存储块来执行存储器装置100的擦除操作。在擦除操作期间,输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以解码块地址并且响应于解码的块地址选择单个存储块。在擦除操作期间,地址解码器121可将接地电压施加到与所选择存储块联接的字线。
在实施例中,地址解码器121可以被配置成解码接收的地址ADDR的列地址。解码的列地址(DCA)可以被传递到读取和写入电路123。在示例性实施例中,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的部件。
电压发生器122被配置成通过使用提供给存储器装置100的外部供给电压来生成多个电压。电压发生器122可以在控制逻辑130的控制下操作。
在实施例中,电压发生器122可以通过调节外部供给电压来生成内部供给电压。由电压发生器122生成的内部供给电压被用作存储器装置100的操作电压。
在实施例中,电压发生器122可通过使用外部供给电压或内部供给电压来生成多个电压。电压发生器122可以被配置成生成存储器装置100所需的各种电压。例如,电压发生器122可以生成多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
例如,电压发生器122可以包括用于接收内部电源电压的多个泵电容器(pumpingcapacitors),并且可以在控制逻辑130的控制下通过选择性地激活泵电容器来生成多个电压。
生成的电压可以通过地址解码器121被供给到存储器单元阵列110。
读取和写入电路123包括分别通过第一位线BL1至第m位线BLm联接到存储器单元阵列110的第一页面缓冲器PB1至第m页面缓冲器PBm。第一页面缓冲器PB1至第m页面缓冲器PBm在控制逻辑130的控制下操作。
第一页面缓冲器PB1至第m页面缓冲器PBm可以执行与数据输入/输出电路124的数据通信。在编程操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm通过数据输入/输出电路124和数据线DL来接收待被存储的数据DATA。
在编程操作期间,当编程脉冲被施加到各个所选择字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可以通过位线BL1至BLm将通过数据输入/输出电路124接收的数据DATA传递到所选择存储器单元。所选择页面中的存储器单元基于传输的数据DATA被编程。联接到施加编程许可电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。联接到施加编程禁止电压(例如,供给电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一页面缓冲器至第m页面缓冲器可以通过位线BL1至BLm从选择的存储器单元读取页面数据。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择页面中的存储器单元读取数据DATA并且可以将读取的数据DATA输出到数据输入/输出电路124。
在擦除操作期间,读取和写入电路123可以允许位线BL浮置(float)。在实施例中,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一页面缓冲器PB1至第m页面缓冲器PBm。数据输入/输出电路124在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括用于接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待被存储的数据DATA。在读取操作期间,数据输入/输出电路124将从读取和写入电路123的第一页面缓冲器PB1至第m页面缓冲器PBm接收的数据输出到外部控制器。
控制逻辑130可以联接到地址解码器121、电压发生器122、读取和写入电路123和数据输入/输出电路124。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置接收的命令CMD而操作。
图11是示出图10的存储器单元阵列的实施例的示图。
参照图11,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块可以具有三维(3D)结构。每个存储块包括堆叠在衬底上的多个存储器单元。这些存储器单元沿正X(+X)方向、正Y(+Y)方向和正Z(+Z)方向排列。下面将参照图12和图13详细地描述每个存储块的结构。
图12是示出图11的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。
参照图12,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为‘U’形。在存储块BLKa中,m个单元串被布置在行方向(即,正(+)X方向)上。在图12中,两个单元串被示出为被布置在列方向(即,正(+)Y方向)上。然而,该图示是为了便于说明而作出的,并且将理解的是,三个或更多个单元串可以被布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以分别具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以对每个单元串设置用于提供沟道层的柱(pillar)。在实施例中,可以对每个单元串设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图12中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同地联接到单个源极选择线。
在每个单元串中的第一存储器单元MC1至第n存储器单元MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以被划分成第一存储器单元MC1至第p存储器单元MCp以及第p+1存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp被顺序地布置在负(-)Z方向上并且串联地连接在源极选择晶体管SST与管道晶体管PT之间。第p+1存储器单元MCp+1至第n存储器单元MCn被顺序地布置在+Z方向上并且串联地联接在管道晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp以及第p+1存储器单元MCp+1至第n存储器单元MCn通过管道晶体管PT彼此联接。每个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极分别联接到第一字线WL1至第n字线WLn。
每个单元串的管道晶体管PT的栅极联接到管线PL。
每个单元串的漏极选择晶体管DST连接在相应位线和存储器单元MCp+1至MCn之间。在行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
在列方向上布置的单元串联接到在列方向上延伸的位线。在图12中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
在行方向上布置的单元串中的、联接到相同字线的存储器单元构成单个页面。例如,第一行中的单元串CS11至CS1m中的、联接到第一字线WL1的存储器单元构成单个页面。第二行中的单元串CS21到CS2m中的、联接到第一字线WL1的存储器单元构成另一单个页面。可以通过选择漏极选择线DSL1和DSL2中的任何一个来选择布置在单个行方向上的单元串。可以通过选择字线WL1至WLn中的任何一个而从选择的单元串中选择单个页面。
在实施例中,可以设置偶数位线和奇数位线代替第一位线BL1至第m位线BLm。进一步地,在行方向上布置的单元串CS11至CS1m或CS21至CS2m中的、偶数编号的单元串可以分别联接到偶数位线,并且在行方向上布置的单元串CS11至CS1m或CS21至CS2m中的、奇数编号的单元串可以分别联接到奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的一个或多个可以用作虚拟存储器单元。例如,可以设置一个或多个虚拟存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,可以设置一个或多个虚拟存储器单元以减少漏极选择晶体管DST与存储单元MCp+1至MCn之间的电场。当设置较多的虚拟存储器单元时,存储块BLKa的操作的可靠性提高,但是存储块BLKa的大小被增加。当设置较少的存储器单元时,存储块BLKa的大小减小,但是存储块BLKa的操作可靠性可能恶化。
为了高效地控制虚拟存储器单元,虚拟存储器单元中的每一个可以具有所需的阈值电压。在执行存储块BLKa的擦除操作之前或之后,可以对虚拟存储器单元的所有或一些执行编程操作。当在已经执行编程操作之后的情况下执行擦除操作时,虚拟存储器单元的阈值电压控制被施加到与各个虚拟存储器单元的虚拟字线联接的电压,并且因此虚拟存储器单元可以具有所需的阈值电压。
图13是示出图11的存储块BLK1至BLKz中的任意一个存储块BLKb的示例的电路图。
参照图13,存储块BLKb包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿着正Z(+Z)方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST,其中衬底位于存储块BLKb的下方。
每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCn之间。在相同行中布置的单元串的源极选择晶体管联接到相同的源极选择线。在第一行中布置的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。在第二行中布置的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同地联接到单个源极选择线。
在每个单元串中的第一存储器单元MC1至第n存储器单元MCn串联地连接在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极分别联接到第一字线WL1至第n字线WLn。
每个单元串的漏极选择晶体管DST连接在相应位线和存储器单元MC1至MCn之间。在行方向上布置的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,除了管道晶体管PT从每个单元串被排除之外,图13的存储块BLKb具有与图12的存储块BLKa的电路类似或等效的电路。
在实施例中,可以设置偶数位线和奇数位线代替第一位线BL1至第m位线BLm。进一步地,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'的偶数编号的单元串可以分别联接到偶数位线,并且在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'的奇数编号的单元串可以分别联接到奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的一个或多个可以用作虚拟存储器单元。例如,可以设置一个或多个虚拟存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,可以提供一个或多个虚拟存储器单元以减少漏极选择晶体管DST与存储单元MC1至MCn之间的电场。当设置较多的虚拟存储器单元时,存储块BLKb的操作可靠性提高,但是存储块BLKb的大小被增加。当设置较少的存储器单元时,存储块BLKb的大小减小,但是存储块BLKb的操作可靠性可能恶化。
为了高效地控制虚拟存储器单元,虚拟存储器单元中的每一个可以具有所需的阈值电压。在执行存储块BLKb的擦除操作之前或之后,可以对虚拟存储器单元的所有或一些执行编程操作。当在已经执行编程操作之后的情况下执行擦除操作时,虚拟存储器单元的阈值电压控制被施加到与各个虚拟存储器单元联接的虚拟字线的电压,并且因此虚拟存储器单元可以具有所需的阈值电压。
图14是示出在图10的存储器单元阵列110中的多个存储块BLK1至BLKz中的任意一个存储块BLKc的示例的电路图。
参照图14,存储块BLKc可以包括多个串SR。多个串SR可以分别联接到多个位线BL1到BLn。每个串SR可以包括源极选择晶体管SST、存储器单元MC和漏极选择晶体管DST。
每个串SR中的源极选择晶体管SST可以联接在存储器单元MC与公共源极线CSL之间。多个串SR的源极选择晶体管SST可以共同联接到公共源极线CSL。
每个串SR中的漏极选择晶体管DST可以联接在存储器单元MC和相应位线BL之间。多个串SR的漏极选择晶体管DST可以分别联接到多个位线BL1至BLn。
在每个串SR中,多个存储器单元MC可以被设置在源极选择晶体管SST和漏极选择晶体管DST之间。在每个串SR中,存储器单元MC可以彼此串联联接。
在串SR中,被设置为在距公共源极线CSL的相同连续位置处的存储器单元MC可以共同联接到单个字线。多个串SR中的存储器单元MC可以联接到多个字线WL1至WLm。
在存储块BLKc中,可以基于存储块执行擦除操作。当基于存储块执行擦除操作时,可以响应于单个擦除请求同时擦除存储块BLKc中的所有存储器单元MC。
图15是示出图1的存储器控制器200的实施例的示图。
存储器控制器1000联接到主机和存储器装置。响应于从主机接收的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以被配置为控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以在存储器装置和主机之间提供接口。存储器控制器1000可以运行固件以用于控制存储器装置。
参照图15,存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误检查和校正(ECC)部件1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以提供存储器控制器1000的部件之间的通道。
处理器1010可以控制存储器控制器1000的全部操作并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且还可以通过存储器接口1060与存储器装置通信。进一步地,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以通过使用存储器缓冲器1020作为工作存储器、高速缓冲存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可以使用映射表来接收LBA并且将LBA转换成PBA。通过FTL执行的地址映射方法的示例可以根据映射单位的包括各种方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010可以随机化从主机接收的数据。例如,处理器1010可以使用随机化种子来随机化从主机接收的数据。随机化数据可以作为待被存储的数据被提供给存储器装置并且可以被编程在存储器单元阵列中。
在读取操作期间,处理器可以去随机化从存储器装置接收的数据。例如,处理器1010可以使用去随机化种子来去随机化从存储器装置接收的数据。去随机化数据可以被输出到主机。
在实施例中,处理器1010可以运行软件或固件以执行随机化操作和去随机化操作。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC部件1030可以执行错误校正。ECC部件1030可以基于待通过存储器接口1060而写入到存储器装置的数据来执行错误校正码(ECC)编码。经ECC编码的数据可以通过存储器接口1060而被传输到存储器装置。ECC部件1030可以基于通过存储器接口1060而从存储器装置接收的数据来执行ECC解码。在示例中,ECC部件1030可以被包括为存储器接口1060的部件。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用诸如以下的各种通信方法中的至少一种执行通信:通用串行总线(USB)通信方法、串行AT附件(SATA)通信方法、串列SCSI(SAS)通信方法、高速片间(HSIC)通信方法、小型计算机系统接口(SCSI)通信方法、外围组件互联(PCI)通信方法、高速PCI(PCIe)通信方法、高速非易失性存储器(NVMe)通信方法、通用闪存(UFS)通信方法、安全数字(SD)通信方法、多媒体卡(MMC)通信方法、嵌入式MMC(eMMC)通信方法、双列直插式存储器模块(DIMM)通信方法、寄存式DIMM(RDIMM)通信方法和低负载DIMM(LRDIMM)通信方法。
缓冲器控制电路1050可以在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道将命令、地址和数据传输到存储器装置/从存储器装置接收命令、地址和数据。
在实施例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制电路1050,这些部件可以被单独地设置或者将这些部件的功能分布在存储器控制器1000内。
在实施例中,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,ROM)加载代码。在实施例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在实施例中,存储器控制器1000的总线1070可以被划分成控制总线和数据总线。数据总线可以被配置成在存储器控制器1000中传输数据,并且控制总线可以被配置成在存储器控制器1000中传输诸如命令或地址的控制信息。数据总线和控制总线可以彼此隔离,使得既不彼此干扰也不彼此影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC单元1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图16是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
参照图16,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以在存储器装置2200和主机之间提供接口。存储器控制器1000可以运行固件以用于控制存储器装置2200。存储器控制器2100可以以与以上参照图1描述的存储器控制器200相同的方式来实施。
在实施例中,存储器控制器2100可以包括诸如RAM、处理器、主机接口、存储器接口和ECC部件的部件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于具体通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、高级技术附件(ATA)协议、串行ATA(SATA)协议、并行ATA(PATA)协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议、火线协议、通用闪存(UFS)协议、Wi-Fi协议、蓝牙协议和高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可以由上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会:PCMCIA)、标准闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
图17是示出可以应用根据本公开的实施例的存储装置的固态硬盘(SSD)系统的示例的框图。
参照图17,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号SIG,并且可以通过电力连接器3002接收电力PWR。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以执行以上参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可以基于主机3100的接口和SSD 3200的接口的信号。例如,信号SIG可以由诸如以下的各种接口中的至少一个限定:通用串行总线(USB)接口、多媒体卡(MMC)接口、嵌入式MMC(eMMC)接口、外围组件互连(PCI)接口、高速PCI(PCI-E)接口、高级技术附件(ATA)接口、串行ATA(SATA)接口、并行ATA(PATA)接口、小型计算机小型接口(SCSI)接口、增强型小型磁盘接口(ESDI)接口、电子集成驱动器(IDE)接口、火线接口、通用闪存(UFS)接口、Wi-Fi接口、蓝牙接口和高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电力连接器3002联接到主机3100。辅辅助电源3230可以供给有来自主机3100的电力PWR并且可以被充电。当由主机3100的电力供给执行得不平稳时,辅助电源3230可以供给SSD 3200的电力。在实施例中,辅助电源3230可以被实现在SSD3200内部。可选地,辅助电源3230可以处于SSD 3200外部。例如,辅助电源3230可以被设置在主板中并且可以将辅助电力供给到SSD 3200。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图18是示出可以应用根据本公开的实施例的存储装置的用户系统的框图。
参照图18,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行用户系统4000、操作系统(OS)或用户程序中的部件。在实施例中,应用处理器4100可以包括用于控制用户系统4000中的部件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM和LPDDR3 SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)来封装并且可以然后被设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙、或Wi-Fi通信。在实施例中,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储在存储模块4400中的数据传输到应用处理器4100。在实施例中,存储模块4400可以被实施为诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器的非易失性半导体存储器装置。在实施例中,存储模块4400可以被设置为诸如用户系统400的存储卡或外部驱动器的可移除存储介质(即,可移除驱动器)。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,多个非易失性存储器装置中的每一个可以以与以上参照图10至图14描述的存储器装置相同的方式操作。存储模块4400可以以与以上参照图1描述的存储装置50相同的方式操作。
用户接口4500可以包括将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如以下的一个或多个用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄影机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机。
根据本公开的实施例,当从主机接收到取消映射(unmap)请求时,存储器控制器可以将取消映射地址、指示相应请求是取消映射请求的标志、以及预先存储的取消映射模式数据存储在写入高速缓存缓冲器中。因此,当随后接收到针对取消映射地址的读取请求时,存储器控制器可以以与响应于典型读取请求相同的方式来响应于该读取请求,以输出存储在写入高速缓存缓冲器中的取消映射模式数据。
根据本公开,提供一种存储装置以及操作该存储装置的方法,其中以条带为单位来编程虚拟数据。
虽然已经公开本公开的实施例,但是本领域技术人员将理解,在不脱离本公开的范围和精神的情况下,各种变型、添加和替换是可能的。因此,本公开的范围由所附权利要求和权利要求的等同物限定,而不是由前面的描述限定。
在以上讨论的实施例中,可以选择性地执行或跳过步骤。另外,可以以与本文所公开的顺序不同的顺序执行每个实施例中的步骤。更一般地,公开的实施例旨在帮助本领域技术人员更清楚地理解本公开,而不是限制本公开的范围。
已经参照附图描述本公开的实施例。说明书中使用的具体术语或词语应当根据本公开的精神来解释,而不限制其主题。应当理解的是,本文所述的基本发明构思的许多变化和变型仍然落入如所附权利要求及其等同物所限定的本公开的精神和范围内。
Claims (15)
1.一种操作存储器控制器的方法,所述存储器控制器控制联接到共用通道的多个存储器装置中的多个存储块作为单个超级块,所述方法包括:
从目标条带读取数据,所述目标条带是所述单个超级块中的多个条带中的任意一个条带,并且
根据所述目标条带中的多个页面中的至少一个页面是否处于擦除状态,来选择性地将虚拟数据编程到所述目标条带,
其中根据对应字线的顺序来顺序地编程所述多个条带。
2.根据权利要求1所述的方法,其中选择性地编程所述虚拟数据包括,当所述目标条带中的多个页面中的所有页面处于所述擦除状态时,将虚拟数据编程到所述目标条带。
3.根据权利要求1所述的方法,其中选择性地编程所述虚拟数据包括:
在所述目标条带中的多个页面之中,检测处于所述擦除状态的第一擦除页面;
将所述虚拟数据编程到所述第一擦除页面;并且
从所述目标条带之后的、与待编程的字线相对应的下一条带读取数据。
4.根据权利要求1所述的方法,其中选择性地编程所述虚拟数据包括,当所述目标条带中的多个页面中的所有页面不处于所述擦除状态时,从所述目标条带之后的、与待编程的字线相对应的下一条带读取数据。
5.根据权利要求1所述的方法,其中选择性地编程所述虚拟数据包括:
检测第一擦除条带作为所述目标条带,所述第一擦除条带中的多个页面中的至少一个页面处于所述擦除状态;
顺序地从所述目标条带之后的、与待编程的字线相对应的下一条带读取数据;并且
在所述目标条带之后的、与待编程的字线相对应的下一条带之中,检测所有页面处于所述擦除状态的参考条带。
6.根据权利要求5所述的方法,其中选择性地编程所述虚拟数据进一步包括,将所述虚拟数据编程到从所述第一擦除条带至所述参考条带的条带。
7.根据权利要求1所述的方法,其中基于数据交叉操作,来执行从所述目标条带读取数据并且编程所述虚拟数据。
8.一种操作存储器控制器的方法,所述存储器控制器控制分别包括在联接到共用通道的多个存储器装置中的多个存储块作为单个超级块,所述方法包括:
按照条带被编程的顺序,从所述单个超级块中的多个条带顺序地读取数据;并且
根据从所述多个条带中选择的条带中的至少一个页面是否处于擦除状态,来选择性地将虚拟数据编程到所选择条带。
9.根据权利要求8所述的方法,其中选择性地编程所述虚拟数据包括:
检测第一擦除条带,所述第一擦除条带中的多个页面中的至少一个页面处于所述擦除状态;
检测参考条带,所述参考条带中的多个页面中的所有页面处于所述擦除状态;并且
将所述虚拟数据编程到从所述第一擦除条带到所述参考条带的条带。
10.一种存储装置,包括:
多个存储器装置,所述多个存储器装置联接到共用通道;以及
存储器控制器,当感测到突然断电时,根据从所述多个存储器装置中的多个条带中选择的条带中的至少一个页面是否处于擦除状态,来选择性地将虚拟数据编程到所选择条带。
11.根据权利要求10所述的存储装置,其中所述存储器控制器控制分别包括在所述多个存储器装置中的多个存储块作为单个超级块。
12.根据权利要求11所述的存储装置,其中所述单个超级块包括多个条带。
13.根据权利要求12所述的存储装置,其中所述存储器控制器包括:
命令发生器,生成读取命令和地址以用于从所选择条带读取数据;以及
页面检测器,检测第一擦除条带,所述第一擦除条带中的多个页面中的至少一个页面处于所述擦除状态。
14.根据权利要求13所述的存储装置,其中所述命令发生器生成命令和地址以用于将虚拟数据编程到所述第一擦除条带。
15.根据权利要求10所述的存储装置,其中所述存储器控制器基于数据交叉操作,来控制联接到所述共用通道的所述多个存储器装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0020757 | 2018-02-21 | ||
KR1020180020757A KR20190100782A (ko) | 2018-02-21 | 2018-02-21 | 스토리지 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110175132A true CN110175132A (zh) | 2019-08-27 |
Family
ID=67618133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811150929.7A Pending CN110175132A (zh) | 2018-02-21 | 2018-09-29 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190259457A1 (zh) |
KR (1) | KR20190100782A (zh) |
CN (1) | CN110175132A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110853686A (zh) * | 2019-10-22 | 2020-02-28 | 长江存储科技有限责任公司 | 适用于闪存设备的掉电处理方法、装置、介质、及终端 |
CN112447234A (zh) * | 2019-09-04 | 2021-03-05 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102583810B1 (ko) * | 2018-05-15 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102632690B1 (ko) * | 2019-06-13 | 2024-02-01 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 프로그램 방법 |
US11449346B2 (en) * | 2019-12-18 | 2022-09-20 | Advanced Micro Devices, Inc. | System and method for providing system level sleep state power savings |
US11557348B1 (en) | 2021-06-24 | 2023-01-17 | Western Digital Technologies, Inc. | Enhanced word line stripe erase abort detection |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074527A1 (en) * | 2001-10-15 | 2003-04-17 | International Business Machines Corporation | Method, system, and program for determining a configuration of a logical array including a plurality of storage devices |
US20080082596A1 (en) * | 2006-09-29 | 2008-04-03 | Sergey Anatolievich Gorobets | Method for phased garbage collection |
KR20080069389A (ko) * | 2007-01-23 | 2008-07-28 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
US20150127887A1 (en) * | 2013-11-07 | 2015-05-07 | SK Hynix Inc. | Data storage system and operating method thereof |
CN105097034A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 非易失性存储系统以及存储控制器的操作方法 |
US20160284397A1 (en) * | 2013-10-01 | 2016-09-29 | Samsung Electronics Co., Ltd. | Storage and programming method thereof |
US20170169883A1 (en) * | 2015-12-15 | 2017-06-15 | Samsung Electronics Co., Ltd. | Methods of operating storage devices |
CN107240418A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424930B2 (en) * | 2010-09-15 | 2016-08-23 | Sandisk Technologies Llc | Apparatus, system, and method for non-volatile storage element programming |
TWI546666B (zh) * | 2014-11-03 | 2016-08-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
US9996268B2 (en) * | 2015-12-18 | 2018-06-12 | Toshiba Memory Corporation | Memory system and control method of the same |
KR102641107B1 (ko) * | 2016-07-29 | 2024-02-27 | 삼성전자주식회사 | 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법 |
TWI606388B (zh) * | 2016-12-14 | 2017-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
KR20180092422A (ko) * | 2017-02-09 | 2018-08-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
-
2018
- 2018-02-21 KR KR1020180020757A patent/KR20190100782A/ko unknown
- 2018-09-06 US US16/123,748 patent/US20190259457A1/en not_active Abandoned
- 2018-09-29 CN CN201811150929.7A patent/CN110175132A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074527A1 (en) * | 2001-10-15 | 2003-04-17 | International Business Machines Corporation | Method, system, and program for determining a configuration of a logical array including a plurality of storage devices |
US20080082596A1 (en) * | 2006-09-29 | 2008-04-03 | Sergey Anatolievich Gorobets | Method for phased garbage collection |
KR20080069389A (ko) * | 2007-01-23 | 2008-07-28 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
US20160284397A1 (en) * | 2013-10-01 | 2016-09-29 | Samsung Electronics Co., Ltd. | Storage and programming method thereof |
US20150127887A1 (en) * | 2013-11-07 | 2015-05-07 | SK Hynix Inc. | Data storage system and operating method thereof |
CN105097034A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 非易失性存储系统以及存储控制器的操作方法 |
US20170169883A1 (en) * | 2015-12-15 | 2017-06-15 | Samsung Electronics Co., Ltd. | Methods of operating storage devices |
CN107240418A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447234A (zh) * | 2019-09-04 | 2021-03-05 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN110853686A (zh) * | 2019-10-22 | 2020-02-28 | 长江存储科技有限责任公司 | 适用于闪存设备的掉电处理方法、装置、介质、及终端 |
CN110853686B (zh) * | 2019-10-22 | 2021-12-07 | 长江存储科技有限责任公司 | 适用于闪存设备的掉电处理方法、装置、介质、及终端 |
Also Published As
Publication number | Publication date |
---|---|
US20190259457A1 (en) | 2019-08-22 |
KR20190100782A (ko) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069212B (zh) | 存储装置及存储装置的操作方法 | |
CN110321070B (zh) | 存储器控制器及其操作方法 | |
CN110083304A (zh) | 存储器控制器及其操作方法 | |
CN110390970B (zh) | 存储器装置及其操作方法 | |
CN110503997A (zh) | 存储器装置及其操作方法 | |
CN110400588A (zh) | 存储器装置以及该存储器装置的操作方法 | |
CN110389720B (zh) | 存储装置及其操作方法 | |
CN110175132A (zh) | 存储装置及其操作方法 | |
KR102535104B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN109388578A (zh) | 存储装置及其操作方法 | |
CN110275673A (zh) | 存储装置及其操作方法 | |
CN109427400A (zh) | 存储器装置及其操作方法 | |
CN110275672A (zh) | 存储装置及其操作方法 | |
CN110399092A (zh) | 存储装置以及操作存储装置的方法 | |
CN110389717A (zh) | 存储装置及其操作方法 | |
CN110321068A (zh) | 存储器控制器及操作存储器控制器的方法 | |
CN110502449A (zh) | 存储装置及其操作方法 | |
CN109933540A (zh) | 存储装置及其操作方法 | |
CN110058799A (zh) | 存储器装置及操作存储器装置的方法 | |
CN110175133B (zh) | 存储装置及其操作方法 | |
KR20200114009A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN110299178A (zh) | 存储装置及用于操作存储装置的方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
CN110389722A (zh) | 存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190827 |
|
WD01 | Invention patent application deemed withdrawn after publication |