CN110858501A - 存储器系统以及存储器系统的操作方法 - Google Patents
存储器系统以及存储器系统的操作方法 Download PDFInfo
- Publication number
- CN110858501A CN110858501A CN201910526447.5A CN201910526447A CN110858501A CN 110858501 A CN110858501 A CN 110858501A CN 201910526447 A CN201910526447 A CN 201910526447A CN 110858501 A CN110858501 A CN 110858501A
- Authority
- CN
- China
- Prior art keywords
- program
- data
- mode
- memory
- programming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- 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
- 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
- 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
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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
技术领域
本公开总体涉及存储器控制器、具有该存储器控制器的存储器系统以及该存储器控制器的操作方法,更具体地,涉及一种能够改变编程模式的存储器控制器、具有该存储器控制器的存储器系统以及该存储器控制器的操作方法。
背景技术
通常,存储器系统可以包括存储器控制器和存储器装置。
存储器装置可以在存储器控制器的控制下存储数据或输出所存储的数据。例如,存储器装置可以被配置为所存储的数据在供电中断时消失的易失性存储器装置,或者被配置为即使在供电中断时也保留所存储的数据的非易失性存储器装置。
发明内容
实施方式提供了一种能够依据虚设数据的比率改变编程模式的存储器控制器,具有该存储器控制器的存储器系统以及存储器控制器的操作方法。
根据本公开的一方面,提供了一种存储器系统,该存储器系统包括:存储器装置,所述存储器装置被配置为存储数据;以及存储器控制器,所述存储器控制器被配置为通过使用第一编程模式和第二编程模式中的一种对所述存储器装置执行编程操作。所述存储器控制器被配置为:对通过使用所述第一编程模式执行的其中虚设数据与编程数据的比率大于或等于预定值的编程操作的数量进行计数;并且当所计数的数量大于或等于预定数量时,将编程模式从所述第一编程模式改变为所述第二编程模式。
根据本公开的另一方面,提供了一种存储器控制器,该存储器控制器包括:中央处理单元,所述中央处理单元被配置为通过使用多个编程模式当中的第一编程模式对存储器装置执行编程操作;以及编程模式控制单元,所述编程模式控制单元被配置为根据通过使用第一编程模式编程的编程数据当中的虚设数据的比率,确定存储器装置的编程模式是否要被改变为多个编程模式当中的第二编程模式。
根据本公开的又一方面,提供了一种存储器系统,该存储器系统包括:存储器装置,所述存储器装置包括用于每单元存储n比特数据的第一存储块和用于每单元存储m比特数据的第二存储块,其中,m和n是自然数,并且1≤m<n;以及存储器控制器,所述存储器控制器被配置为在编程操作中将编程数据编程到所述第一存储块中,计算虚设数据与编程到所述第一存储块中的所述编程数据的比率,并且当所述虚设数据与所述编程数据的比率超过阈值时将后续编程数据编程到所述第二存储块中。
根据本公开的又一方面,提供了一种操作存储器系统的方法,该方法包括以下步骤:通过使用第一编程模式执行多个编程操作;对通过使用所述第一编程模式执行的编程操作当中的其中虚设数据与编程数据的比率大于或等于预定值的编程操作的数量进行计数;以及当所计数的数量大于或等于预定数量时,通过使用第二编程模式执行后续编程操作。
根据本公开的又一方面,提供了一种操作存储器控制器的方法,该方法包括以下步骤:通过使用多个模式中的第一编程模式将编程数据编程到存储器装置;计算所编程的编程数据当中的虚设数据的比率;并且当虚设数据的比率超过阈值时,将存储器装置的编程模式改变为多个编程模式当中的第二编程模式。根据本公开的又一方面,提供了一种存储器系统,该存储器系统包括:存储器装置,所述存储器装置包括单级单元(SLC)块和多级单元(MLC)块;以及存储器控制器,所述存储器控制器适用于:将包括用户数据和虚设数据的编程数据编程在MLC块中;确定虚设数据与用户数据的比率;当确定该比率超过阈值时,将后续编程数据编程在SLC块中。
根据本公开的又一方面,提供一种存储器系统,该存储器系统包括:存储器装置,所述存储器装置包括多个存储块,所述存储块包括用于每单元存储n比特数据的第一存储块和用于每单元存储m比特数据的第二存储块,其中,m和n是自然数,并且1≤m<n;以及存储器控制器,所述存储器控制器适用于:对第一存储块执行第一编程操作;对第一编程操作当中的其中每个第一编程操作的虚设数据与编程数据的比率大于或等于第一阈值的编程操作的数量进行计数;确定所计数的编程操作的数量是否大于或等于第二阈值;当确定所计数的编程操作的数量大于或等于第二阈值时,对第二存储块执行第二编程操作。
附图说明
现在将在下文中参照附图更全面地描述示例实施方式;然而,示例实施方式可以以不同的形式实施,而不应该被解释为限于本文所阐述的实施方式。相反,提供这些实施方式是为了使本公开将是彻底的和完整的,并将示例性实施方式的范围充分地传达给本领域技术人员。
在附图中,为了清楚说明,可能夸大了大小。应当理解,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。相同的附图标记始终表示相同的元件。
图1是例示根据本公开的一实施方式的存储器系统的图。
图2是例示根据本公开的一实施方式的存储器控制器的图。
图3是例示根据本公开的一实施方式的对编程数据进行编程的过程的流程图。
图4是例示根据本公开的一实施方式的对编程数据进行编程的过程的图。
图5是例示根据本公开的一实施方式的改变编程模式的过程的流程图。
图6是例示根据本公开的一实施方式的改变编程模式的过程的图。
图7是例示根据本公开的一实施方式的存储器控制器的图。
图8是例示根据本公开的一实施方式的改变编程模式的过程的图。
图9是例示根据本公开的一实施方式的存储器装置的图。
图10是例示存储块的示例的图。
图11是例示具有三维结构的存储块的示例的图。
图12是例示具有三维结构的存储块的另一示例的图。
图13至图16是例示包括图1、图2和图7中所示的存储器控制器的存储器系统的其它示例的图。
具体实施方式
在本公开中,在结合附图阅读以下示例性实施方式之后,优点、特征以及用于实现优点和特征的方法将变得更加明显。然而,本公开可以以不同的形式实施,而不应该被解释为限于本文所阐述的实施方式。相反,提供这些实施方式是为了详细描述本公开,以使得本公开所属领域的技术人员可以容易地实施本公开的技术构思。
在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,该元件可以直接连接或联接到另一元件,或者按照将一个或更多个中间元件插置于其间的方式间接连接或联接到另一元件。另外,当元件被称为“包括”组件时,除非存在不同的公开内容,否则这表示该元件可以进一步包括另一组件而不是排除另一组件。
在下文中,将参照附图描述本公开的示例性实施方式。
图1是例示根据本公开的一实施方式的存储器系统2000的图。
参照图1,存储器系统2000可以包括存储器控制器2100和用于存储数据的存储器装置2200。存储器控制器2100可以在主机1000的控制下控制存储器装置2200。
主机1000可以使用以下协议当中的至少一种接口协议与存储器系统2000通信:快速非易失性存储器(NVMe)、外围组件快速互连(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、通用串行总线(USB)、多媒体卡(MMC)、增强型小磁盘接口(ESDI)、集成驱动电子设备(IDE)、移动工业处理器接口(MIPI)、通用闪存(UFS)、小型计算机小接口(SCSI)和串行附接SCSI(SAS)。然而,本公开的实施方式不限于此。
存储器控制器2100可以控制存储器系统2000的整体操作,并控制主机1000和存储器装置2200之间的数据交换。在编程操作中,存储器控制器2100可以将命令、地址和数据发送到存储器装置2200。在读取操作中,存储器控制器2100可以将命令和地址发送到存储器装置2200,并且从存储器装置2200接收读取的数据。在擦除操作中,存储器控制器2100可以将命令和地址发送到存储器装置2200。
存储器装置2200可以被配置为所存储的数据在供电中断时消失的易失性存储器装置,或者即使在供电中断时也保留所存储的数据的非易失性存储器装置。存储器装置2200可以在存储器控制器2100的控制下执行编程操作、读取操作和擦除操作。存储器装置2200可包括用于存储数据的多个存储块。根据存储在存储器单元中的数据的比特数,可以将多个存储块分类为单级单元(SLC)块和多级单元(MLC)块。SLC块可以是按照在一个存储器单元中存储1比特数据的方式驱动的块。MLC块可以是按照在一个存储器单元中存储2比特或更多比特的数据的方式驱动的块。也就是说,存储器装置2200可以包括m比特MLC块和SLC块中的至少一个。m比特数据可以被编程在m比特MLC块中所包括的每个存储器单元中,并且1比特数据可以被编程在SLC块中所包括的每个存储器单元。这里,“m”可以是2或更大的自然数。当对m比特MLC块编程时,存储器装置2200可以将从存储器控制器2100接收的与m个逻辑页对应的编程数据编程到一个被选物理页。例如,m比特MLC块可以是其中与两个逻辑页对应的编程数据被编程到一个物理页的2比特MLC块。例如,m比特MLC块可以是其中与三个逻辑页对应的编程数据被编程到一个物理页的3比特MLC块,即,三级单元(TLC)块。例如,m比特MLC块可以是其中与四个逻辑页对应的编程数据被编程到一个物理页的4比特MLC块,即,四级单元(QLC)块。
图2是例示根据本公开的一实施方式的存储器控制器(例如,图1中所示的存储器控制器2100)的图。
参照图2,存储器控制器2100可包括主机接口2110、纠错电路2120、缓冲存储器2130、存储器接口2140、中央处理单元2150、编程模式控制单元2160和内部存储器2170。主机接口2110、纠错电路2120、缓冲存储器2130、存储器接口2140、编程模式控制单元2160和内部存储器2170可以由中央处理单元2150控制。
主机接口2110可以使用各种接口协议与主机1000交换数据。例如,主机接口2110可以使用快速非易失性存储器(NVMe)、外围组件快速互连(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、通用串行总线(USB)、多媒体卡(MMC)、增强型小磁盘接口(ESDI)、集成驱动电子设备(IDE)、移动工业处理器接口(MIPI)、通用闪存(UFS)、小型计算机小接口(SCSI)和串行附接SCSI(SAS)当中的至少一种接口协议与主机1000通信。然而,本公开的实施方式不限于此。
主机接口2110可以从主机1000接收编程请求和与编程请求相对应的用户数据。主机接口2110可以将编程请求传送到中央处理单元2150,并将用户数据传送到缓冲存储器2130。
纠错电路2120可以在编程操作中执行纠错编码。纠错电路2120可以在读取操作中执行纠错解码。
缓冲存储器2130可以在存储器控制器2100正在控制存储器装置2200的同时临时存储数据。例如,缓冲存储器2130可以临时存储从主机1000接收的用户数据,直到编程操作完成。例如,缓冲存储器2130可以临时存储作为通过将虚设数据与从主机1000接收的用户数据进行组合而获得的数据的合并数据,直到编程操作完成。另外,缓冲存储器2130可以临时存储从存储器装置2200读取的数据。
存储器接口2140可使用各种接口协议与存储器装置2200通信。
中央处理单元2150可以执行各种计算或者生成命令和地址来控制存储器装置2200。例如,中央处理单元2150可以生成编程操作、读取操作和擦除操作所需的各种命令。
中央处理单元2150可以将从主机1000接收的逻辑地址转换为物理地址,以控制存储器装置2200的操作。中央处理单元2150可以使用存储在内部存储器2170中的地址映射表将逻辑地址转换为物理地址或者将物理地址转换为逻辑地址。中央处理单元2150可以在新数据被编程到存储器装置2200时或者在存储在存储器装置2200中的数据被擦除时更新地址映射表。
中央处理单元2150可以在改变编程模式的同时对存储器装置2200执行编程操作。例如,中央处理单元2150可以响应于从编程模式控制单元2160接收到的信号而通过使用多个编程模式当中的第一编程模式来执行编程操作,或者通过使用多个编程模式当中的第二编程模式来执行编程操作。
在下文中,在中央处理单元2150所使用的编程模式当中,第一编程模式是n比特MLC模式,第二编程模式是m比特MLC模式或SLC模式。这里,m和n可以是自然数,并且2≤m<n。例如,当第一编程模式是2比特MLC模式时,第二编程模式可以是SLC模式。当第一编程模式是3比特MLC模式时,第二编程模式可以是2比特MLC模式或SLC模式。
中央处理单元2150可以通过使用第一编程模式对存储器装置2200执行编程操作。也就是说,中央处理单元2150可以通过使用第一编程模式将编程数据编程到存储器装置2200。换句话说,中央处理单元2150可以将编程数据编程在存储器装置2200中所包括的多个存储块当中的与第一编程模式对应的存储块(即,n比特MLC块)中。
当在通过使用第一编程模式执行编程操作的同时从编程模式控制单元2160接收到指示存储器装置的编程模式被改变为第二编程模式的信号时,中央处理单元2150可以将第一编程模式改变为第二编程模式。也就是说,中央处理单元2150可以通过使用第二编程模式将后续编程数据编程到存储器装置2200。换句话说,中央处理单元2150可以将编程数据编程在存储器装置2200中所包括的多个存储块当中的与第二编程模式对应的存储块(即,m比特MLC块或SLC块)中。
当在通过使用第二编程模式执行编程操作的同时从编程模式控制单元2160接收到指示存储器装置的编程模式改变为第一编程模式的信号时,中央处理单元2150可以将第二编程模式改变为第一编程模式。也就是说,中央处理单元2150可以通过使用第一编程模式将后续编程数据编程到存储器装置2200。
当用户数据以与当前编程模式相对应的大小存储(或填充)在缓冲存储器2130中时,中央处理单元2150可以将存储在缓冲存储器2130中的用户数据编程到存储器装置2200。按照与当前编程模式对应的大小存储的用户数据可以被称为编程数据。例如,当中央处理单元2150通过使用n比特MLC模式执行编程操作时,编程数据可以具有与n个逻辑页相对应的大小。例如,当中央处理单元2150通过使用m比特MLC模式执行编程操作时,编程数据可以具有与m个逻辑页对应的大小。例如,当中央处理单元2150通过使用SLC模式执行编程操作时,编程数据可以具有与一个物理页相对应的大小。
即使当用户数据未按照与当前编程模式相对应的大小存储在缓冲存储器2130中时,中央处理单元2150也可以在发生刷新事件(flush event)时将存储在缓冲存储器2130中的用户数据编程到存储器装置2200。例如,当从主机1000接收到刷新请求时或者当自主地确定需要刷新时,中央处理单元2150可以将存储在缓冲存储器2130中的用户数据编程到存储器装置2200。中央处理单元2150可以控制虚设数据生成器2162a,使得可以通过将虚设数据添加到缓冲存储器2130中所存储的用户数据来生成合并数据,并且将所生成的合并数据编程到存储器装置2200。合并数据可以具有与当前编程模式相对应的大小。因此,合并数据可以被称为编程数据。
由于合并数据除了用户数据之外还包括虚设数据,因此在对合并数据进行编程时引起写入放大(WA)。当对合并数据进行编程时,根据除了与来自主机1000的编程请求相对应的用户数据之外的不必要数据(即,虚设数据)的量来确定WA的程度。例如,等式1示出了计算WA的程度的示例。根据等式1,可以看出当虚设数据的量增加时WA的程度增加。
等式1
通常,已知的是,当WA减小时,编程/擦除(P/E)周期减小,因此,存储器装置2200的寿命增加。因此,编程模式控制单元2160在WA过度发生时控制存储器装置2200的编程模式,从而可以减小WA。编程模式控制单元2160将详细描述如下。
编程模式控制单元2160可以确定存储器装置2200的编程模式,并指令中央处理单元2150通过使用所确定的编程模式来执行编程操作。例如,编程模式控制单元2160可以指令中央处理单元2150按照第一编程模式执行编程操作,或者指令中央处理单元2150按照第二编程模式执行编程操作。
在一实施方式中,当中央处理单元2150通过使用第一编程模式执行编程操作时,编程模式控制单元2160可以根据使用第一编程模式编程的编程数据当中的虚设数据的比率来确定存储器装置2200的编程模式是否要被改变为第二编程模式。当编程模式控制单元2160确定编程模式要被改变为第二编程模式时,编程模式控制单元2160可以指令中央处理单元2150通过使用第二编程模式对后续编程数据进行编程。
在一实施方式中,当中央处理单元2150通过使用第二编程模式执行编程操作时,编程模式控制单元2160可以确定每当过去了设定时间时或者每当编程了设定大小的编程数据时第二编程模式要被改变为第一编程模式。当编程模式控制单元2160确定第二编程模式要被改变为第一编程模式时,编程模式控制单元2160可以指令中央处理单元2150通过使用第一编程模式对后续编程数据进行编程。
编程模式控制单元2160可以包括虚设数据生成器2162a、虚设数据大小信息管理器2162b、命令监视器2162c、计数器2162d、编程数据大小信息生成器2162e、定时器2162f和编程模式确定器2162g。
当从中央处理单元2150接收到用于请求虚设数据生成器2162a生成虚设数据的虚设数据生成请求时,虚设数据生成器2162a可生成虚设数据并将所生成的虚设数据发送到缓冲存储器2130。因此,缓冲存储器2130可以存储通过将虚设数据与用户数据组合而获得的合并数据。虚设数据生成请求可以包括要生成的虚设数据的大小信息。虚设数据生成器2162a可以响应于虚设数据生成请求而生成虚设数据,并且将所生成的虚设数据的大小信息发送到虚设数据大小信息管理器2162b。
虚设数据大小信息管理器2162b可以累积并管理从虚设数据生成器2162a接收的虚设数据的大小信息。也就是说,每当从虚设数据生成器2162a接收到虚设数据的大小信息时,虚设数据大小信息管理器2162b可以累积所接收的虚设数据的大小信息,由此更新虚设数据的大小信息。
当存在来自编程模式确定器2162g的请求时,虚设数据大小信息管理器2162b可以将虚设数据的大小信息提供给编程模式确定器2162g。当虚设数据的大小信息被提供给编程模式确定器2162g时,累积在虚设数据大小信息管理器2162b中的虚设数据的大小信息可以被初始化。累积在虚设数据大小信息管理器2162b中的虚设数据的大小信息可以由虚设数据大小信息管理器2162b自主地初始化,或者可以在编程模式确定器2162g的控制下初始化。
命令监视器2162c可以监视从中央处理单元2150输出的命令。每当从中央处理单元2150输出编程命令时,命令监视器2162c可以使计数器2162d的计数值增加1。
编程数据大小信息生成器2162e可以通过将与当前编程模式对应的编程单位乘以计数器2162d的计数值来生成使用第一编程模式编程的编程数据的大小信息。例如,在当前编程模式是n比特MLC模式时,编程单位可以对应于存储在一个物理页中的n个逻辑页。在当前编程模式是m比特MLC模式时,编程单位可以对应于存储在一个物理页中的m个逻辑页。在当前编程模式是SLC模式时,编程单位可以对应于一个物理页。
当存在来自编程模式确定器2162g的请求时,编程数据大小信息生成器2162e可以生成编程数据的大小信息,并将所生成的编程数据的大小信息提供给编程模式确定器2162g。当编程数据的大小信息被提供给编程模式确定器2162g时,计数器2162d的计数值可以被初始化。计数器2162d的计数值可以由编程数据大小信息生成器2162e或编程模式确定器2162g初始化。
编程模式确定器2162g可以基于虚设数据的大小信息和编程数据的大小信息来计算编程到存储器装置2200的编程数据当中的虚设数据的比率。
在一实施方式中,当中央处理单元2150通过使用第一编程模式执行编程操作时,编程模式确定器2162g可以计算每个第一时间段内的虚设数据的比率。
在一实施方式中,当中央处理单元2150通过使用第一编程模式执行编程操作时,每当编程了设定大小的编程数据到存储器装置2200时,编程模式确定器2162g可以计算虚设数据的比率。例如,每当对一个编程数据进行编程时,中央处理单元2150可以输出一个编程命令。因此,可以通过对输出编程命令的数量进行计数来检查编程数据是否编程了设定大小。例如,当计数器2162d的计数值达到第一计数值时,可以确定编程数据已经编程有设定大小。
当定时器2162f的定时器值达到第一定时器值时或者当计数器2162d的计数值达到第一计数值时,编程模式确定器2162g可以请求虚设数据大小信息管理器2162b发送虚设数据的大小信息,并请求编程数据大小信息生成器2162e发送编程数据的大小信息。
编程模式确定器2162g可以基于虚设数据的大小信息和编程数据的大小信息来计算编程数据当中的虚设数据的比率。可以从虚设数据大小信息管理器2162b接收虚设数据的大小信息。可以从编程数据大小信息生成器2162e接收编程数据的大小信息。
当计算虚设数据的比率时,编程模式确定器2162g可以将虚设数据的大小信息、计数器2162d的计数值以及定时器2162f的定时器值中的至少一个初始化。虚设数据的大小信息可以由虚设数据大小信息管理器2162b管理。
编程模式确定器2162g可以在所计算的虚设数据的比率超过阈值时确定存储器装置2200的编程模式要被改变为第二编程模式。因此,编程模式确定器2162g可以指令中央处理单元2150通过使用第二编程模式对后续编程数据进行编程。
在一实施方式中,当在编程模式改变为第二编程模式之后过去了第二时间段时,编程模式确定器2162g可以确定第二编程模式要被改变为第一编程模式。例如,当在编程模式改变为第二编程模式之后定时器2162f的定时器值达到第二定时器值时,编程模式确定器2162g可以确定第二编程模式要被改变为第一编程模式。第二定时器值可以与第一定时器值相同或不同。
在一实施方式中,当在编程模式改变为第二编程模式之后编程了设定大小的编程数据到存储器装置2200时,编程模式确定器2162g可以确定编程模式要被改变为第一编程模式。例如,当在编程模式改变为第二编程模式之后计数器2162d的计数值达到第二计数值时,编程模式确定器2162g可以确定第二编程模式要被改变为第一编程模式。第二计数值可以与第一计数值相同或不同。
在第二编程模式改变为第一编程模式之后,编程模式确定器2162g可以使定时器2162f的定时器值和计数器2162d的计数值中的至少一个初始化。
内部存储器2170可以用作用于存储存储器控制器2100的操作所需的各种信息的存储设备。内部存储器2170可以存储多个表。例如,内部存储器2170可以存储其中逻辑地址和物理地址被映射的地址映射表。
图3是例示根据本公开的一实施方式的对编程数据进行编程的过程的流程图。
在一些实施方式中,图3中所示的步骤中的至少一个步骤可以被省略,并且可以改变步骤的顺序。图3的过程可以由图2的存储器控制器2100执行。
参照图3,在步骤301,存储器控制器2100可以从主机1000接收用户数据,并将所接收的用户数据存储在缓冲存储器2130中。
在步骤303,存储器控制器2100可以检查是否已经发生刷新事件。刷新事件可以在需要将存储在缓冲存储器2130中的用户数据编程到存储器装置2200时发生。例如,刷新事件可以响应于来自主机1000的请求而发生,或者基于存储器控制器2100的自主确定而发生。当确定发生了刷新事件时(步骤303:是),可以执行步骤305。当确定没有发生刷新事件时(步骤303:否),可以执行步骤301。
在步骤305,存储器控制器2100可以确定是否需要生成虚设数据。例如,当存储在缓冲存储器2130中的用户数据不具有与对应于当前编程模式的编程单位相对应的大小时,存储器控制器2100可以确定需要生成虚设数据。例如,当存储在缓冲存储器2130中的用户数据具有与对应于当前编程模式的编程单位相对应的大小时,存储器控制器2100可以确定不需要生成虚设数据。当确定需要生成虚设数据时(步骤305:是),可以执行步骤307。当确定不需要生成虚设数据时(步骤305:否),可以执行步骤311。
在步骤307,存储器控制器2100可以通过将虚设数据添加到用户数据来生成合并数据。例如,存储器控制器2100可以将虚设数据添加到用户数据,使得合并数据可以被生成为具有与对应于当前编程模式的编程单位相对应的大小。
在步骤309,存储器控制器2100可以将合并数据编程到存储器装置2200。
此外,在步骤311,存储器控制器2100可以将用户数据编程到存储器装置2200。
图4是例示根据本公开的一实施方式的对编程数据进行编程的过程的图。图4的过程可以由图2的存储器控制器2100执行。
在参照图4描述的实施方式中,当前编程模式是3比特MLC模式,并且用户数据USERDATA被存储在缓冲存储器2130中。用户数据USER DATA具有与一个逻辑页对应的长度。
当发生刷新事件时,存储器控制器2100可以生成具有与对应于当前编程模式的编程单位相对应的大小的合并数据MERGE DATA。在图4所示的示例中,由于当前编程模式是3比特MLC模式,所以存储器控制器2100可以通过向用户数据USER DATA添加与两个逻辑页对应的虚设数据DUMMY DATA来生成合并数据MERGE DATA。另外,存储器控制器2100可以将所生成的合并数据MERGE DATA编程到3比特MLC块中。
参照图4,可以看出合并数据MERGE DATA已经被编程到3比特MLC块的一个物理页。
图5是例示根据本公开的一实施方式的改变编程模式的过程的流程图。
在执行图3中所示的步骤的同时可以执行图5中所示的至少一个步骤。在一些实施方式中,图5中所示的步骤中的至少一个步骤可以被省略,并且可以改变步骤的顺序。图5的过程可以由图2的存储器控制器2100执行。
参照图5,在步骤501,存储器控制器2100可以通过使用第一编程模式执行编程操作。例如,存储器控制器2100可以将存储在缓冲存储器2130中的用户数据编程到存储器装置2200。在一实施方式中,当存储在缓冲存储器2130中的用户数据不具有与用于第一编程模式的编程单位相对应的大小时,存储器控制器2100可以通过向用户数据添加虚设数据来生成具有与用于第一编程模式的编程单位相对应的大小的合并数据。另外,存储器控制器2100可以将所生成的合并数据编程到存储器装置2200。所编程的合并数据可以被称为编程数据。在一实施方式中,当存储在缓冲存储器2130中的用户数据具有与用于第一编程模式的编程单位相对应的大小时,存储器控制器2100可以将用户数据编程到存储器装置2200。所编程的用户数据可以被称为编程数据。
在步骤503,存储器控制器2100可以更新虚设数据的大小信息。例如,当在步骤501生成虚设数据时,存储器控制器2100可以累积所生成的虚设数据的大小信息,由此更新虚设数据的大小信息。
在步骤505,存储器控制器2100可以检查从使用第一编程模式开始编程操作时起是否已经过去了设定时间或者是否已经编程了设定大小的编程数据。例如,存储器控制器2100可以检查定时器2162f的定时器值是否已达到第一定时器值或者计数器2162d的计数值是否已达到第一计数值。当确定过来了设定时间或者当编程了设定大小的编程数据时(步骤505:是),可以执行步骤507。当确定没有过去设定时间或者当没有编程设定大小的编程数据时(步骤505:否),可以执行步骤501。
在步骤507,存储器控制器2100可以生成编程到存储器装置2200的编程数据的大小信息。例如,存储器控制器2100可以通过将与第一编程模式对应的编程单位与第一计数值相乘来生成编程到存储器装置2200的编程数据的大小信息。
在步骤509,存储器控制器2100可以计算编程到存储器装置2200的编程数据当中的虚设数据的比率。也就是说,存储器控制器2100可以基于编程数据的大小信息和虚设数据的大小信息来计算虚设数据的比率。另外,存储器控制器2100可以使虚设数据的大小信息、定时器值和计数值中的至少一个初始化。
在步骤511,存储器控制器2100可以确定所计算的虚设数据的比率是否超过设定的阈值。当确定虚设数据的比率超过阈值时(步骤511:是),可以执行步骤513。当确定虚设数据的比率未超过阈值时(步骤511:否),可以执行步骤521。
在步骤513,存储器控制器2100可以将存储器装置2200的编程模式改变为第二编程模式。
在步骤515,存储器控制器2100可以通过使用第二编程模式来执行编程操作。
在步骤517,存储器控制器2100可以检查从使用第二编程模式开始编程操作时起是否已经过去了设定时间或者是否已经编程了设定大小的编程数据。例如,存储器控制器2100可以检查定时器2162f的定时器值是否已达到第二定时器值或者计数器2162d的计数值是否已达到第二计数值。当确定过去了设定时间或者当编程了设定大小的编程数据时(步骤517:是),可以执行步骤519。当确定没有过去设定时间时或者当没有编程设定大小的编程数据时(步骤517:否),可以执行步骤515。
在步骤519,存储器控制器2100可以将第二编程模式改变为第一编程模式。存储器控制器2100可以将定时器值和计数值中的至少一个初始化。随后,可以执行步骤501。
此外,在步骤521,存储器控制器2100可以将编程模式保持为第一编程模式。存储器控制器2100可以将定时器值和计数值中的至少一个初始化。随后,可以执行步骤501。
图6是例示根据本公开的一实施方式的改变编程模式的过程的图。图6的过程可以由图2的存储器控制器2100执行。
在参照图6描述的实施方式中,示出了当前编程模式是3比特MLC模式的情况。在3比特MLC模式中,可以将编程数据编程在3比特MLC块中。图6例示了N个编程数据PROGRAMDATA1、PROGRAM DATA2、…、和PROGRAM DATA N被编程在3比特MLC块中的示例。另外,图6例示了编程数据PROGRAM DATA1、PROGRAM DATA2、...、和PROGRAM DATA N中的每一个包括与一个逻辑页对应的用户数据USER DATA和与两个逻辑页对应的虚设数据DUMMY DATA的情况。
当编程数据PROGRAM DATA1、PROGRAM DATA 2、...、和PROGRAM DATAN在设定时间段期间被编程或者与设定大小对应时,存储器控制器2100可以计算虚设数据DUMMY DATA在编程数据PROGRAM DATA 1、PROGRAM DATA 2、...、和PROGRAM DATA N当中所占的比率。在图6所示的示例中,可以看出虚设数据的比率是2/3。当设定的阈值是1/2时,存储器控制器2100可以将存储器装置的编程模式改变为2比特MLC模式或SLC模式,并且通过使用改变后的模式执行编程操作。图6例示了后续编程数据PROGRAM DATA(N+1)、PROGRAM DATA(N+2)、...、和PROGRAM DATA(N+M)被编程在SLC块中的示例。随后,当再次过去设定时间段时或者当再次编程了与设定大小对应的编程数据时,存储器控制器2100可以将编程模式改变为3比特MLC模式。
图7是例示根据本公开的一实施方式的存储器控制器2100的图。存储器控制器2100和存储器装置2200可以被包括在图7所示的存储器系统2000中。存储器控制器2100可以联接在主机1000和存储器装置2200之间。
参照图7,存储器控制器2100可包括主机接口7110、纠错电路7120、缓冲存储器7130、存储器接口7140、中央处理单元7150和内部存储器7170。
主机接口7110、纠错电路7120、缓冲存储器7130、存储器接口7140和内部存储器7170的操作分别与图2所示的主机接口2110、纠错电路2120、缓冲存储器2130、存储器接口2140和内部存储器2170的操作相同。因此,将省略其重复描述。
中央处理单元7150可以对存储器装置2200执行编程操作。在编程操作期间,中央处理单元7150可以改变编程模式。例如,中央处理单元7150可以按照第一编程模式(例如,用于每单元存储n比特数据的n比特MLC模式)执行编程操作,或者通过使用第二编程模式(例如,用于每单元存储m比特数据的m比特MLC模式或者用于每单元存储1比特数据的SLC模式)来执行编程操作。这里,m和n可以是自然数,并且2≤m<n。
当使用第一编程模式时,中央处理单元7150可以将编程数据编程到存储器装置2200的多个存储块当中的与第一编程模式对应的存储块(例如,n比特MLC块)中。
当使用第二编程模式时,中央处理单元7150可以将编程数据编程到存储器装置2200的多个存储块当中的与第二编程模式相对应的存储块(例如,m比特MLC块或SLC块)中。
中央处理单元7150可以包括编程操作执行单元7152和编程模式确定器7154。编程操作执行单元7152可以包括虚设数据生成器7152a。
当用户数据按照与当前编程模式相对应的大小存储(或填充)在缓冲存储器7130中时,编程操作执行单元7152可以将用户数据编程到存储器装置2200。按照与当前编程模式对应的大小存储的用户数据可以被称为编程数据。
即使当用户数据没有按照与当前编程模式相对应的大小存储在缓冲存储器7130中时,编程操作执行单元7152也可以在发生刷新事件时将当前存储在缓冲存储器7130中的用户数据编程到存储器装置2200。编程操作执行单元7152可以控制虚设数据生成器7152a以使得可以通过将虚设数据添加到缓冲存储器7130中所存储的用户数据来生成合并数据,并且将所生成的合并数据编程到存储器装置2200。合并数据可以具有与当前编程模式相对应的大小。因此,合并数据可以被称为编程数据。
虚设数据生成器7152a可以将所生成的虚设数据发送到缓冲存储器7130。因此,缓冲存储器7130可以存储通过将虚设数据添加到用户数据而获得的合并数据。
每当执行了使用第一编程模式或第二编程模式的编程操作时,编程操作执行单元7152可以向编程模式确定器7154通知执行了使用第一编程模式或第二编程模式的编程操作。每当执行了使用第一编程模式的编程操作时,编程操作执行单元7152还可以向编程模式确定器7154提供为了对应的编程操作的目的而生成的虚设数据的大小信息。当没有生成虚设数据时,编程操作执行单元7152可以向编程模式确定器7154提供表示尚未生成虚设数据的信息。
编程模式确定器7154可包括虚设数据比率计算器7154a、计数器7154b和定时器7154c。
编程模式确定器7154可确定在编程操作中要使用的编程模式,并指令编程操作执行单元7152通过使用所确定的编程模式来执行编程操作。
在一实施方式中,当通过使用第一编程模式执行的其中虚设数据与编程数据的比率等于或大于预定值的编程操作的数量大于或等于预定数量时,编程模式确定器7154可以将存储器装置2200的编程模式改变为第二编程模式。另外,编程模式确定器7154可以指令编程操作执行单元7152通过使用第二编程模式来执行后续编程操作。
例如,每当编程操作执行单元7152通知已经执行了一次编程操作时,虚设数据比率计算器7154a可以计算虚设数据与在对应编程操作中编程的编程数据的比率。例如,虚设数据比率计算器7154a可以基于从编程操作执行单元7152接收的虚设数据的大小信息以及与第一编程模式对应的编程单位来计算虚设数据与编程数据的比率。当计算出的虚设数据的比率大于或等于预定值时,虚设数据比率计算器7154a可以将计数值增加1。当计数器7154b的计数值达到第一计数值时,编程模式确定器7154可以将存储器装置2200的编程模式改变为第二编程模式。
在一实施方式中,编程模式确定器7154可以对每个设定时间段内的其中虚设数据与编程数据的比率大于或等于预定值的编程操作的数量进行计数。例如,每当定时器7154c的定时器值达到第一定时器值时,编程模式确定器7154可以使定时器7154c的定时器值和计数器7154b的计数值初始化。因此,可以针对每个时间段执行对其中虚设数据与编程数据的比率大于或等于预定值的编程操作的数量的计数。
在一实施方式中,当在存储器装置2200的编程模式改变为第二编程模式之后过去了设定时间或者执行了预定数量的编程操作时,编程模式确定器7154可以将存储器装置2200的编程模式改变为第一编程模式。另外,编程模式确定器7154可以指令编程操作执行单元7152按照第一编程模式执行后续编程操作。
当编程模式改变为第二编程模式时,编程模式确定器7154可以使定时器7154c的定时器值和计数器7154b的计数值初始化。当定时器7154c的定时器值达到第二定时器值时,编程模式确定器7154可以将存储器装置2200的编程模式改变为第一编程模式。每当编程操作执行单元7152通知已经执行了一次编程操作时,编程模式确定器7154可以将计数器7154b的计数值增加1。当计数器7154b的计数值达到第二计数值时,编程模式确定器7154可以将存储器装置2200的编程模式改变为第一编程模式。当编程模式改变为第一编程模式时,编程模式确定器7154可以使计数器7154b的计数值和定时器7154c的定时器值初始化。
图8是例示根据本公开的一实施方式的改变编程模式的过程的图。图8的过程可以由图7的存储器控制器2100执行。
图8中所示的步骤中的至少一个可以与图3中所示的步骤一起执行。在一些实施方式中,图8中所示的步骤中的至少一个步骤可以被省略,并且可以改变步骤的顺序。
在步骤801,存储器控制器可以将定时器(例如,图7的定时器7154c)的定时器值和计数器(例如,计数器7154b)的计数值初始化。
在步骤803,存储器控制器可以通过使用第一编程模式来执行编程操作。例如,存储器控制器可以将存储在缓冲存储器(例如,缓冲存储器7130)中的用户数据编程到存储器装置(例如,存储器装置2200)。在一实施方式中,当存储在缓冲存储器中的用户数据不具有与对应于第一编程模式的编程单位对应的大小时,存储器控制器可以通过向用户数据添加虚设数据来生成具有与对应于第一编程模式的编程单位对应的大小的合并数据。另外,存储器控制器可以将所生成的合并数据作为编程数据编程到存储器装置。在一实施方式中,当存储在缓冲存储器中的用户数据具有与对应于第一编程模式的编程单位相对应的大小时,存储器控制器可以将用户数据作为编程数据编程到存储器装置。
在步骤805,存储器控制器可以计算在步骤803中编程的虚设数据与编程数据的比率。也就是说,每当通过使用第一编程模式执行编程操作时,存储器控制器可以计算虚设数据与编程数据的比率。
在步骤807,存储器控制器可以确定所计算的虚设数据的比率是否大于或等于第一阈值。当所计算的虚设数据的比率大于或等于第一阈值(807:是)时,可以执行步骤809。否则(807:否),可以执行步骤821。
在步骤809,存储器控制器可以使计数器的计数值增加1。也就是说,存储器控制器可以计算通过使用第一编程模式执行的、其中虚设数据与编程数据的比率大于或等于第一阈值的编程操作的数量。
在步骤811,存储器控制器可以确定计数值是否大于或等于第二阈值。当计数值大于或等于第二阈值(811:是)时,可以执行步骤813。否则(811:否),可以执行步骤821。
在步骤813,存储器控制器可以将存储器装置的编程模式改变为第二编程模式。也就是说,当通过使用第一编程模式执行的、其中虚设数据与编程数据的比率大于或等于第一阈值的编程操作的数量大于等于第二阈值时,存储器控制器可以将存储器装置的编程模式从第一编程模式改变为第二编程模式。
在步骤815,存储器控制器可以通过使用第二编程模式来执行编程操作。
在步骤817,存储器控制器可以确定从存储器装置的编程模式改变为第二编程模式的时间起是否已过去了第二时间,或者是否已经通过使用第二编程模式执行了预定数量的编程操作。当过去了第二时间时或者当执行了预定数量的编程操作时(817:是),可以执行步骤819。否则(817:否),可以执行步骤815。
在步骤819,存储器控制器可以将存储器装置的编程模式从第二编程模式改变为第一编程模式。随后,可以执行步骤801。
此外,在步骤821,存储器控制器可以确定是否已经过去了第一时间。当过去了第一时间时(821:是),可以执行步骤801。否则(821:否),可以执行步骤803。也就是说,存储器控制器可以计算各设定时间段内的通过使用第一编程模式执行的其中虚设数据与编程数据的比率大于或等于第一阈值的编程操作的数量。
图9是例示根据本公开的一实施方式的存储器装置2200的图。图9所示的存储器装置2200可以应用于图1、图2和图7中所示的存储器系统。
参照图9,存储器装置2200可包括控制逻辑2210、外围电路2220和存储器单元阵列2240。外围电路2220可包括电压发生电路2222、行解码器2224、输入/输出电路2226、列解码器2228、页缓冲器组2232和电流感测电路2234。
控制逻辑2210可以在图1、图2和图7中所示的存储器控制器2100的控制下控制外围电路2220。
控制逻辑2210可以响应于通过输入/输出电路2226从存储器控制器2100接收到的命令CMD和地址ADD而控制外围电路2220。例如,控制逻辑2210可以响应于命令CMD和地址ADD而输出操作信号OP_CMD、行地址RADD、页缓冲器控制信号PBSIGNALS、使能位VRY_BIT<#>和列地址CADD。控制逻辑2210可以响应于从电流感测电路2234接收到的通过信号PASS或失败信号FAIL而确定验证操作是通过还是失败。
外围电路2220可以执行用于在存储器单元阵列2240中存储数据的编程操作、用于输出存储在存储器单元阵列2240中的数据的读取操作以及用于擦除存储在存储器单元阵列2240中的数据的擦除操作。
电压发生电路2222可以响应于从控制逻辑2210接收到的操作信号OP_CMD而生成在编程操作、读取操作和擦除操作中使用的各种操作电压Vop。例如,电压发生电路2222可以将编程电压、验证电压、通过电压、读取电压、擦除电压、导通电压等传送到行解码器2224。
行解码器2224可以响应于从控制逻辑2210接收到的行地址RADD而将操作电压Vop传送到与存储器单元阵列2240的存储块当中的被选存储块连接的本地线LL。本地线LL可以包括本地字线、本地漏极选择线和本地源极选择线。另外,本地线LL可以包括连接到存储块的诸如源线之类的各种线。
输入/输出电路2226可以将通过输入/输出线IO从存储器控制器2100接收到的命令CMD和地址ADD传送到控制逻辑2210,或者与列解码器2228交换数据DATA。
列解码器2228可以响应于从控制逻辑2210接收到的列地址CADD而在输入/输出电路2226和页缓冲器组2232之间传送数据。例如,列解码器2228可以通过数据线DL与页缓冲器PB1至PBm交换数据,或者通过列线CL与输入/输出电路2226交换数据。
页缓冲器组2232可以连接到与存储块BLK1至BLKi共同连接的位线BL1至BLm。页缓冲器组2232可包括连接到位线BL1至BLm的多个页缓冲器PB1至PBm。例如,位线各自可以连接到一个页缓冲器。页缓冲器PB1至PBm可以响应于从控制逻辑2210接收的页缓冲器控制信号PBSIGNALS而操作。例如,在编程操作中,页缓冲器PB1至PBm可以临时存储从存储器控制器2100接收的编程数据,并根据编程数据调整施加到位线BL1至BLm的电压。在读取操作中,页缓冲器PB1至PBm可以临时存储通过位线BL1至BLm接收的数据,或者感测位线BL1至BLm的电压或电流。
在读取操作或验证操作中,电流感测电路2234可以响应于从控制逻辑2210接收的使能位VRY_BIT<#>而生成参考电流。然后,电流感测电路2234可以通过将从页缓冲器组2232接收的感测电压VPB与由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
存储器单元阵列2240可以包括存储数据的多个存储块BLK1至BLKi。执行存储器装置2200的操作所需的各种信息和用户数据可以存储在存储块BLK1至BLKi中。存储块BLK1至BLKi可以被实现为二维结构或三维结构,并且可以彼此相同地配置。
图10是例示存储块的示例的图。
存储器单元阵列可包括多个存储块。为方便起见,图10中示出了多个存储块中的任意一个存储块BLKi。
存储块BLKi可以连接到彼此平行布置在第一选择线和第二选择线之间的多条字线。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。具体地,存储块BLKi可以包括连接在位线BL1至BLm与源线SL之间的多个串ST。位线BL1至BLm可以分别连接到串ST,并且源线SL可以共同连接到串ST。串ST可以彼此相同地配置,因此,作为示例将详细描述连接到第一位线BL1的串ST。
串ST可以包括在源线SL和第一位线BL1之间彼此串联连接的源极选择晶体管SST、多个存储器单元F1至F16以及漏极选择晶体管DST。在一个串ST中可以包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且在一个串ST中可以包括数量比图中所示的存储器单元F1至F16的数量更大的存储器单元。
源极选择晶体管SST的源极可以连接到源线SL,漏极选择晶体管DST的漏极可以连接到第一位线BL1。存储器单元F1至F16可以串联连接在源极选择晶体管SST和漏极选择晶体管DST之间。包括在不同串ST中的源极选择晶体管SST的栅极可以连接到源极选择线SSL,包括在不同串ST中的漏极选择晶体管DST的栅极可以连接到漏极选择线DSL,包括在不同串ST中的存储器单元F1至F16的栅极可以连接到多条字线WL1至WL16。包括在不同串ST中的存储器单元当中的连接到相同字线的一组存储器单元可以是物理页PPG。因此,在存储块BLKi中可以包括数量与字线WL1至WL16的数量相对应的物理页PPG。
图11是例示具有三维结构的存储块的示例的图。
图9的存储器单元阵列2240可包括多个存储块BLK1至BLKi。作为示例将描述第一存储块BLK1。第一存储块BLK1可以包括多个串ST11至ST1m和ST21至ST2m。在一实施方式中,多个串ST11至ST1m和ST21至ST2m中的每一个可以形成为“U”形。在第一存储块BLK1中,m个串可沿行方向(即,X方向)布置。尽管图11例示了沿列方向(即,Y方向)布置了两个串,但这是为了方便起见,并且可以沿列方向(即,Y方向)布置三个或更多个串。
多个串ST11至ST1m和ST21至ST2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管晶体管PT以及至少一个漏极选择晶体管DST。
源极选择晶体管SST和漏极选择晶体管DST以及存储器单元MC1至MCn可以具有彼此类似的结构。例如,源极选择晶体管SST和漏极选择晶体管DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷捕获层和阻挡绝缘层。例如,可以在每个串中设置用于提供沟道层的柱。例如,可以在每个串中设置用于提供沟道层、隧道绝缘层、电荷捕获层和阻挡绝缘层中的至少一个的柱。
每个串的源极选择晶体管SST可以连接在源线SL和存储器单元MC1至MCp之间。
在一实施方式中,布置在同一行中的串的源极选择晶体管可以连接到沿行方向延伸的源极选择线,并且布置在不同行中的串的源极选择晶体管可以连接到不同的源极选择线。在图11中,第一行的串ST11至ST1m的源极选择晶体管可以连接到第一源极选择线SSL1。第二行的串ST21至ST2m的源极选择晶体管可以连接到第二源极选择线SSL2。
在另一实施方式中,串ST11至ST1m和ST21至ST2m的源极选择晶体管可共同连接至一条源极选择线。
每个串的第一存储器单元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。
在一实施方式中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。当提供虚设存储器单元时,对应串的电压或电流可以被稳定地控制。每个串的管晶体管PT的栅极可以连接到管线PL。
每个串的漏极选择晶体管DST可以连接到位线和存储器单元MCp+1至MCn。沿行方向布置的串可以连接到沿行方向延伸的漏极选择线。第一行的串ST11至ST1m的漏极选择晶体管可以连接到第一漏极选择线DSL1。第二行的串ST21至ST2m的漏极选择晶体管可以连接到第二漏极选择线DSL2。
沿列方向布置的串可以连接到沿列方向延伸的位线。在图11中,第一列的串ST11和ST21可以连接到第一位线BL1。第m列的串ST1m和ST2m可以连接到第m位线BLm。
沿行方向布置的串当中的连接到相同字线的存储器单元可以构成一页。例如,第一行的串ST11至ST1m当中的连接到第一字线WL1的存储器单元可以构成一页。第二行的串ST21至ST2m当中的连接到第一字线WL1的存储器单元可以构成另一页。当选中漏极选择线DSL1和DSL2中的任何一个时,可以选中沿一个行方向布置的串。当选中字线WL1至WLn中的任何一个时,可以选中所选串中的一个页。
图12是例示具有三维结构的存储块的另一示例的图。
图9的存储器单元阵列2240可包括多个存储块BLK1至BLKi。作为示例将描述第一存储块BLK1。参照图12,第一存储块BLK1可以包括多个串ST11'至ST1m'和ST21'至ST2m'。多个串ST11'至ST1m'和ST21'至ST2m'中的每一个可以沿垂直方向(即,Z方向)延伸。在第一存储块BLK1中,m'个串可沿行方向(即,X方向)布置。虽然图12例示了沿列方向(即,Y方向)布置了两个串,但这是为了方便起见,并且可以沿列方向(即,Y方向)布置三个或更多个串。
多个串ST11'至ST1m'和ST21'至ST2m'中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST。
每个串的源极选择晶体管SST可以连接在源线SL和存储器单元MC1至MCn之间。布置在同一行中的串的源极选择晶体管可以连接到相同的源极选择线。布置在第一行上的串ST11'至ST1m'的源极选择晶体管可以连接到第一源极选择线SSL1。布置在第二行上的串ST21'至ST2m'的源极选择晶体管可以连接到第二源极选择线SSL2。在另一实施方式中,串ST11'至ST1m'和ST21'至ST2m'的源极选择晶体管可以共同连接到一条源极选择线。
每个串的第一存储器单元MC1至第n存储器单元MCn可以在源极选择晶体管SST和漏极选择晶体管DST之间彼此串联连接。第一存储器单元MC1至第n存储器单元MCn的栅极可以分别连接至第一字线WL1至第n字线WLn。
在一实施方式中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。当提供虚设存储器单元时,对应串的电压或电流可以被稳定地控制。因此,可以提高存储在第一存储块BLK1中的数据的可靠性。
每个串的漏极选择晶体管DST可以连接在位线和存储器单元MC1至MCn之间。沿行方向布置的串的漏极选择晶体管DST可以连接到沿行方向延伸的漏极选择线。第一行的串ST11'至ST1m'的漏极选择晶体管DST可以连接到第一漏极选择线DSL1。第二行的串ST21'至ST2m'的漏极选择晶体管DST可以连接到第二漏极选择线DSL2。
也就是说,除了每个串不包括管晶体管PT之外,图12的第一存储块BLK1可以具有与图11的第一存储块BLK1相同的电路。
图13是例示包括图1、图2和图7中所示的存储器控制器的存储器系统30000的另一示例的图。
参照图13,存储器系统30000可以被实现为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器控制器2100和存储器装置2200。存储器控制器2100可以控制存储器装置2200的操作。
存储器控制器2100可以在处理器3100的控制下控制存储器装置2200的例如编程操作、擦除操作、读取操作等的数据访问操作。
编程在存储器装置2200中的数据可以在存储器控制器2100的控制下通过显示器3200输出。
无线电收发器3300可以通过天线ANT发送/接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换为能够由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号并将处理后的信号发送到存储器控制器2100或显示器3200。存储器控制器2100可以将由处理器3100处理后的信号发送到存储器装置2200。另外,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并且通过天线ANT将转换后的无线电信号输出到外部装置。输入装置3400是能够输入用于控制处理器3100的操作的控制信号或要由处理器3100处理的数据的装置,并且可以被实现为诸如触摸板或计算机鼠标之类的定点装置、键盘或小键盘。处理器3100可以控制显示器3200的操作,使得从存储器控制器2100输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可以通过显示器3200输出。
在一些实施方式中,能够控制存储器装置2200的操作的存储器控制器2100可以被实现为处理器3100的一部分,或者被实现为与处理器3100分离的芯片。
图14是例示包括图1、图2和图7中所示的存储器控制器的存储器系统40000的另一示例的图。
参照图14,存储器系统40000可以被实现为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括存储器控制器2100和存储器装置2200。存储器控制器2100可以控制存储器装置2200的数据处理操作。
处理器4100可以根据通过输入装置4200输入的数据,通过显示器4300输出存储在存储器装置2200中的数据。例如,输入装置4200可以被实现为诸如触摸板或计算机鼠标之类的定点装置、键盘或小键盘。
处理器4100可以控制存储器系统40000的整体操作,并控制存储器控制器2100的操作。在一些实施方式中,能够控制存储器装置2200的操作的存储器控制器2100可以被实现为处理器4100的一部分,或者被实现为与处理器4100分离的芯片。
图15是例示包括图1、图2和图7中所示的存储器控制器的存储器系统50000的另一示例的图。
参照图15,存储器系统50000可以被实现为图像处理装置,例如,数码相机、附接有数码相机的移动终端、附接有数码相机的智能手机或附接有数码相机的平板PC。
存储器系统50000可以包括存储器控制器2100和存储器装置2200。存储器控制器2100可以控制存储器装置2200的数据处理操作,例如,编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可以将光学图像转换为数字信号,并且转换后的数字信号可以被传输到处理器5100或存储器控制器2100。在处理器5100的控制下,转换后的数字信号可以通过显示器5300输出,或者通过存储器控制器2100存储在存储器装置2200中。另外,存储在存储器装置2200中的数据可以在处理器5100或存储器控制器2100的控制下通过显示器5300输出。
在一些实施方式中,能够控制存储器装置2200的操作的存储器控制器2100可以被实现为处理器5100的一部分,或者被实现为与处理器5100分离的芯片。
图16是例示包括图1、图2和图7中所示的存储器控制器的存储器系统70000的另一示例的图。
参照图16,存储器系统70000可以被实现为存储卡或智能卡。存储器系统70000可以包括存储器控制器2100、存储器装置2200和卡接口7100。
存储器控制器2100可以控制存储器装置2200和卡接口7100之间的数据交换。在一些实施方式中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是本公开不限于此。
卡接口7100可以根据主机60000的协议对主机60000和存储器控制器2100之间的数据交换进行接口连接。在一些实施方式中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可以指能够支持主机60000所使用的协议的硬件、嵌入在硬件中的软件或信号传输方案。
当存储器系统70000连接到主机60000(诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒)的主机接口6200时,主机接口6200可以在微处理器(μP)6100的控制下通过卡接口7100和存储器控制器2100执行与存储器装置2200的数据通信。
根据本公开,可以防止虚设数据被过度编程。
根据本公开,可以减少写入放大并且可以增强存储器装置的寿命。
本文已经公开了示例实施方式,并且尽管采用了特定术语,但是这些术语仅以一般性和描述性意义而不是出于限制的目的来使用和解释。在一些情况下,如本领域普通技术人员在提交本申请时显而易见的,除非另外特别指出,否则结合具体实施方式描述的特征、特性和/或元件可以单独使用或与结合其他实施方式描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离所附权利要求中阐述的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。
相关申请的交叉引用
本申请要求于2018年8月22日提交的韩国专利申请No.10-2018-0098031的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文中。
Claims (14)
1.一种存储器系统,该存储器系统包括:
存储器装置,所述存储器装置被配置为存储数据;以及
存储器控制器,所述存储器控制器被配置为通过使用第一编程模式和第二编程模式中的一种对所述存储器装置执行编程操作,
其中,所述存储器控制器被配置为:
对通过使用所述第一编程模式执行的其中虚设数据与编程数据的比率大于或等于预定值的编程操作的数量进行计数;并且
当所计数的数量大于或等于预定数量时,将编程模式从所述第一编程模式改变为所述第二编程模式。
2.根据权利要求1所述的存储器系统,其中,所述存储器控制器对每个设定时间段内的其中所述虚设数据与所述编程数据的比率大于或等于所述预定值的编程操作的数量进行计数。
3.根据权利要求1所述的存储器系统,其中,每当通过使用所述第一编程模式执行所述编程操作时,所述存储器控制器计算所述虚设数据与所述编程数据的比率。
4.根据权利要求1所述的存储器系统,其中,当在所述编程模式改变为所述第二编程模式之后过去了设定时间或执行了预定数量的编程操作时,所述存储器控制器将所述编程模式从所述第二编程模式改变为所述第一编程模式。
5.根据权利要求1所述的存储器系统,其中,所述第一编程模式包括n比特多级单元MLC模式,并且
所述第二编程模式包括m比特MLC模式或者单级单元SLC模式,并且
其中,m和n是自然数,并且2≤m<n。
6.一种存储器系统,该存储器系统包括:
存储器装置,所述存储器装置包括用于每单元存储n比特数据的第一存储块和用于每单元存储m比特数据的第二存储块,其中,m和n是自然数,并且1≤m<n;以及
存储器控制器,所述存储器控制器被配置为在编程操作中将编程数据编程到所述第一存储块中,计算虚设数据与所述编程数据的比率,并且当所述虚设数据与所述编程数据的比率超过阈值时将后续编程数据编程到所述第二存储块中。
7.根据权利要求6所述的存储器系统,其中,每当过去了设定时间段时,所述存储器控制器计算所述虚设数据与在所述设定时间段期间编程的所述编程数据的比率。
8.根据权利要求6所述的存储器系统,其中,每当在所述第一存储块中编程了设定大小的所述编程数据时,所述存储器控制器计算所述虚设数据与具有所述设定大小的编程数据的比率。
9.根据权利要求6所述的存储器系统,其中,当在所述后续编程数据被编程在所述第二存储块中的同时过去了设定时间或者编程了设定大小的所述后续编程数据时,所述存储器控制器将后续的编程数据编程在所述第一存储块中。
10.一种操作存储器系统的方法,该方法包括以下步骤:
通过使用第一编程模式执行多个编程操作;
对通过使用所述第一编程模式执行的编程操作当中的其中虚设数据与编程数据的比率大于或等于预定值的编程操作的数量进行计数;以及
当所计数的数量大于或等于预定数量时,通过使用第二编程模式执行后续编程操作。
11.根据权利要求10所述的方法,其中,对编程操作的数量进行计数的步骤包括以下步骤:对每个设定时间段内的其中所述虚设数据与所述编程数据的比率大于或等于预定值的编程操作的数量进行计数。
12.根据权利要求10所述的方法,该方法还包括以下步骤:每当通过使用所述第一编程模式执行所述编程操作时,计算所述虚设数据的所述比率。
13.根据权利要求10所述的方法,该方法还包括以下步骤:当从通过使用所述第二编程模式执行的所述后续编程操作开始起过去了设定时间时或者当通过使用所述第二编程模式执行的所述后续编程操作的数量大于或者等于预定数量时,通过使用所述第一编程模式执行后续的编程操作。
14.根据权利要求10所述的方法,其中,所述第一编程模式包括n比特多级单元MLC模式,并且
所述第二编程模式包括m比特MLC模式或者单级单元SLC模式,并且
其中,m和n是自然数,并且2≤m<n。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0098031 | 2018-08-22 | ||
KR1020180098031A KR102542299B1 (ko) | 2018-08-22 | 2018-08-22 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110858501A true CN110858501A (zh) | 2020-03-03 |
CN110858501B CN110858501B (zh) | 2023-04-28 |
Family
ID=69586872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910526447.5A Active CN110858501B (zh) | 2018-08-22 | 2019-06-18 | 存储器系统以及存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10768854B2 (zh) |
KR (1) | KR102542299B1 (zh) |
CN (1) | CN110858501B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102516121B1 (ko) | 2018-10-22 | 2023-03-31 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130363A1 (en) * | 2006-12-04 | 2008-06-05 | Kabushiki Kaisha Toshiba | Semiconductor memory device and method for erasing the same |
US20100195387A1 (en) * | 2009-01-30 | 2010-08-05 | Samsung Electronics Co., Ltd. | Non-volatile memory device and ispp programming method |
US20130060791A1 (en) * | 2011-09-06 | 2013-03-07 | Spundge inc. | Method and system for information management with feed aggregation |
CN103578551A (zh) * | 2012-08-08 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器件和编程方法 |
CN103943145A (zh) * | 2013-01-17 | 2014-07-23 | 英飞凌科技股份有限公司 | 用于减小非易失性存储器的尺寸的方法和系统 |
CN104903842A (zh) * | 2012-12-31 | 2015-09-09 | 桑迪士克科技股份有限公司 | 用于在非易失性存储器中的异步裸芯操作的方法和系统 |
KR20150118486A (ko) * | 2014-04-14 | 2015-10-22 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
US20160099060A1 (en) * | 2014-10-02 | 2016-04-07 | SK Hynix Inc. | Semiconductor memory device including a dummy memory cell and method of programming the same |
CN105719703A (zh) * | 2014-12-17 | 2016-06-29 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN105845177A (zh) * | 2015-02-04 | 2016-08-10 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106157999A (zh) * | 2015-05-15 | 2016-11-23 | 爱思开海力士有限公司 | 包括虚设存储单元的半导体存储器件及其操作方法 |
CN109935262A (zh) * | 2017-12-18 | 2019-06-25 | 爱思开海力士有限公司 | 存储器装置及其操作方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5192932B2 (ja) * | 2008-07-23 | 2013-05-08 | 株式会社日立製作所 | ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置 |
JP2010176766A (ja) * | 2009-01-30 | 2010-08-12 | Toshiba Corp | ディスクドライブ装置、ディスク制御デバイス、情報処理装置、及びディスク制御方法 |
KR20120088452A (ko) * | 2011-01-31 | 2012-08-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 데이터 프로그래밍 방법 |
KR20130060791A (ko) * | 2011-11-30 | 2013-06-10 | 삼성전자주식회사 | 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브 |
KR20160112135A (ko) | 2015-03-18 | 2016-09-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20170056782A (ko) | 2015-11-13 | 2017-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
JP6546886B2 (ja) * | 2016-09-01 | 2019-07-17 | 株式会社 ディー・エヌ・エー | デジタルコンテンツを配信するシステム、方法、及びプログラム |
US10671313B2 (en) * | 2018-01-23 | 2020-06-02 | Goke Us Research Laboratory | Apparatus and methods for fast and secure storage of data |
TWI700635B (zh) * | 2018-04-26 | 2020-08-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
US10691358B2 (en) * | 2018-06-14 | 2020-06-23 | Silicon Motion, Inc. | Memory controller and method capable of using different storing modes to store data units having different data sizes |
-
2018
- 2018-08-22 KR KR1020180098031A patent/KR102542299B1/ko active IP Right Grant
-
2019
- 2019-05-06 US US16/403,724 patent/US10768854B2/en active Active
- 2019-06-18 CN CN201910526447.5A patent/CN110858501B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130363A1 (en) * | 2006-12-04 | 2008-06-05 | Kabushiki Kaisha Toshiba | Semiconductor memory device and method for erasing the same |
US20100195387A1 (en) * | 2009-01-30 | 2010-08-05 | Samsung Electronics Co., Ltd. | Non-volatile memory device and ispp programming method |
KR20100088468A (ko) * | 2009-01-30 | 2010-08-09 | 삼성전자주식회사 | 비휘발성 메모리 장치, 및 그의 프로그램 방법 |
US20130060791A1 (en) * | 2011-09-06 | 2013-03-07 | Spundge inc. | Method and system for information management with feed aggregation |
CN103578551A (zh) * | 2012-08-08 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器件和编程方法 |
CN104903842A (zh) * | 2012-12-31 | 2015-09-09 | 桑迪士克科技股份有限公司 | 用于在非易失性存储器中的异步裸芯操作的方法和系统 |
CN103943145A (zh) * | 2013-01-17 | 2014-07-23 | 英飞凌科技股份有限公司 | 用于减小非易失性存储器的尺寸的方法和系统 |
KR20150118486A (ko) * | 2014-04-14 | 2015-10-22 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
US20160099060A1 (en) * | 2014-10-02 | 2016-04-07 | SK Hynix Inc. | Semiconductor memory device including a dummy memory cell and method of programming the same |
CN105719703A (zh) * | 2014-12-17 | 2016-06-29 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN105845177A (zh) * | 2015-02-04 | 2016-08-10 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106157999A (zh) * | 2015-05-15 | 2016-11-23 | 爱思开海力士有限公司 | 包括虚设存储单元的半导体存储器件及其操作方法 |
CN109935262A (zh) * | 2017-12-18 | 2019-06-25 | 爱思开海力士有限公司 | 存储器装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102542299B1 (ko) | 2023-06-13 |
KR20200022192A (ko) | 2020-03-03 |
US10768854B2 (en) | 2020-09-08 |
US20200065026A1 (en) | 2020-02-27 |
CN110858501B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111009275B (zh) | 存储器装置和存储器装置的操作方法 | |
CN110400588B (zh) | 存储器装置以及该存储器装置的操作方法 | |
CN111091859B (zh) | 存储器装置及其操作方法 | |
CN109308931B (zh) | 存储装置及其操作方法 | |
US11210004B2 (en) | Controller memory system to perform a single level cell (SLC), or multi level cell (MLC) or triple level cell (TLC) program operation on a memory block | |
US10877689B2 (en) | Memory controller and operating method thereof | |
US20200065018A1 (en) | Memory controller and operating method thereof | |
KR102409799B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN110277126B (zh) | 存储器装置和具有存储器装置的存储器系统 | |
TW202038225A (zh) | 記憶體裝置及其操作方法 | |
CN110729016B (zh) | 存储器装置、存储器系统及操作该存储器装置的方法 | |
CN112151096B (zh) | 存储器装置及其操作方法 | |
KR20190094964A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR102409798B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN110858501B (zh) | 存储器系统以及存储器系统的操作方法 | |
US10930356B2 (en) | Memory controller and method of operating the same | |
US11526288B2 (en) | Memory system including a plurality of memory blocks | |
US11508439B2 (en) | Memory device having a control logic to control program operations and method of operating the same | |
KR20230040214A (ko) | 메모리 장치 및 그 동작 방법 | |
CN115237337A (zh) | 控制器及其操作方法 | |
CN115691622A (zh) | 存储器装置和该存储器装置的操作方法 | |
CN114724603A (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 |