CN111090596B - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN111090596B
CN111090596B CN201910643849.3A CN201910643849A CN111090596B CN 111090596 B CN111090596 B CN 111090596B CN 201910643849 A CN201910643849 A CN 201910643849A CN 111090596 B CN111090596 B CN 111090596B
Authority
CN
China
Prior art keywords
memory
data
host
usage
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910643849.3A
Other languages
English (en)
Other versions
CN111090596A (zh
Inventor
宋旻梧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111090596A publication Critical patent/CN111090596A/zh
Application granted granted Critical
Publication of CN111090596B publication Critical patent/CN111090596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本文公开了存储器系统及其操作方法。一种存储器系统,包括:存储器装置,适合于存储从主机提供的主机数据;以及存储器控制器,适合于在主机和存储器装置之间管理和传输主机数据,其中存储器控制器包括:写入缓冲器,适合于临时存储要传输到存储器装置的主机数据;缓冲器监视装置,适合于在预定周期期间检查写入缓冲器的使用量;缓冲器使用比较装置,适合于通过将在对应于预定周期的当前周期期间检查的使用量与在对应于预定周期的前一周期期间检查的使用量进行比较,基于使用量比较结果来生成刷新控制信号;以及第一刷新装置,适合于响应于刷新控制信号而将临时存储在写入缓冲器中的主机数据传输到存储器装置。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2018年10月24日提交的韩国专利申请No.10-2018-0127720的优先权,该申请通过引用整体并入本文。
技术领域
本发明的示例性实施例涉及存储器系统,更具体地涉及能够有效地执行刷新操作的存储器系统以及用于操作存储器系统的方法。
背景技术
计算机环境范例已经转移到普适运算,这使得计算系统可以随时随地被使用。结果,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统以用于存储数据。存储器系统可以被用作便携式电子装置的主存储器装置或辅助存储器装置。
与硬盘装置相比,存储器系统提供出色的稳定性、耐用性、高信息访问速度和低功耗,因为它们没有移动部件。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储器卡以及固态驱动器(SSD)。
发明内容
本发明的实施例涉及能够有效地执行刷新操作的存储器系统。
根据本发明的实施例,一种存储器系统,包括:存储器装置,适合于存储从主机提供的主机数据;以及存储器控制器,适合于在所述主机和所述存储器装置之间管理和传输所述主机数据,其中所述存储器控制器包括:写入缓冲器,适合于临时存储要传输到所述存储器装置的主机数据;缓冲器监视装置,适合于在预定周期期间检查所述写入缓冲器的使用量;缓冲器使用比较装置,适合于通过将在对应于所述预定周期的当前周期期间检查的使用量与在对应于所述预定周期的前一周期期间检查的使用量进行比较,基于使用量比较结果,来生成刷新控制信号;以及第一刷新装置,适合于响应于所述刷新控制信号而将临时存储在所述写入缓冲器中的所述主机数据传输到所述存储器装置。
根据本发明的另一个实施例,一种用于操作存储器系统的方法,所述方法包括:在写入缓冲器中缓冲从主机提供的主机数据;在预定周期期间检查所述写入缓冲器的使用量;通过将在对应于所述预定周期的当前周期期间检查的使用量与在对应于所述预定周期的前一周期期间检查的使用量进行比较,基于使用量比较结果,生成刷新控制信号;以及执行第一刷新操作:响应于所述刷新控制信号而将临时存储在所述写入缓冲器中的所述主机数据传输到所述存储器装置。
根据本发明的另一个实施例,一种存储器系统,包括:存储器装置;缓冲器,适合于缓冲外部数据;以及控制器,适合于控制所述存储器装置周期性地执行对其中缓冲的数据进行刷新的内部刷新操作,其中当最后两个或更多个周期的缓冲的数据的大小之间的差异在阈值内变化时,所述控制器进一步控制所述存储器装置跳过当前周期的所述内部刷新操作。
附图说明
图1是示出根据本发明实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1所示的存储器系统中采用的存储器装置的图。
图3是示出图1所示的存储器装置中的存储器块的存储器单元阵列的电路图。
图4是示出根据本发明实施例的存储器系统的存储器装置的结构的框图。
图5是示出根据本发明实施例的存储器系统的结构的框图。
图6是示出第一刷新装置506的结构的框图。
图7是示出第二刷新装置512的结构的框图。
图8是描述根据本发明实施例的存储器系统的操作的流程图。
图9至图17是示出根据本发明各种实施例的数据处理系统的示例性应用的图。
具体实施方式
下面参考附图更详细地描述本发明的示例实施例。然而,本发明可以实现为不同形式,并且不限于本文中阐述的实施例。相反,提供这些实施例以使得本公开将彻底和完整并且将本发明的范围完全传达给本领域技术人员。在整个公开内容中,在本发明的各个附图和实施例中,相同的附图标记指代相同的部分。
注意,对“实施例”的引用不一定仅意味着一个实施例,并且对“实施例”的不同引用不一定是指相同实施例。
应当理解,尽管本文中使用术语“第一”和/或“第二”来描述各种元件,但是这些元件不受这些术语的限制。这些术语用于将具有一个元件与另一个元件区分开来。例如,在不脱离本公开的教导的情况下,以下讨论的第一元件也可以被称为第二元件。类似地,第二元件也可以被称为第一元件。
应当理解,当一个元件被称为“耦合”或“连接”到另一个元件时,它可以直接耦合或连接到另一个元件,或者可以在它们之间存在中间元件。相比之下,应该理解,当元件被称为“直接耦合”或“直接连接”到另一个元件时,不存在中间元件。描述元件之间关系的其他表达,诸如“在......之间”、“直接在......之间”、“与......相邻”或“与......直接相邻”应该以相同的方式解释。
本文中使用的术语仅用于描述特定实施例的目的,而不是限制性的。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解,在本说明书中使用的术语“包括”、“包含”、“具有”等指定所述特征、数字、步骤、操作、元件、部件和/或组合的存在,但不排除存在或添加一个或多个其他特征、数字、步骤、操作、元件、部件和/或其组合。
上述示例性实施例仅用于理解本公开的技术精神的目的,并且本公开的范围不应限于上述示例性实施例。对于本领域技术人员显而易见的是,除了上述示例性实施例之外,还可以基于本公开的技术精神进行其他修改
除非另外定义,否则本文中使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。除非在本公开中另外定义,否则这些术语不应进行理想化或过于正式的解释。
在下文中,将参考附图详细描述本发明的各种实施例。
图1是示出根据本发明实施例的包括存储器系统110的数据处理系统100的框图。
参考图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以包括各种便携式电子装置中的任何一种,诸如移动电话、MP3播放器和膝上型计算机,或者各种非便携式电子装置中的任何一种,诸如台式计算机、游戏机、电视和投影仪。
主机102可以包括至少一个OS(操作系统)或多个操作系统。主机102可以执行OS以在存储器系统110上执行与用户请求相对应的操作。这里,主机102可以向存储器系统110提供与用户请求相对应的多个命令。因此,存储器系统110可以执行与对应于用户请求的多个命令相对应的某些操作。OS可以管理和控制主机102的整体功能和操作。OS可以使用数据处理系统100或存储器系统110来支持主机102和用户之间的操作。
存储器系统110可以响应于来自主机102的请求来操作或执行特定功能或操作,并且特别地,可以存储要由主机102访问的数据。存储器系统110可以被用作主机102的主存储器系统或辅助存储器系统。存储器系统110可以根据主机接口的协议利用可以与主机102电耦合的各种类型的存储装置中的任何一种来实现。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)和嵌入式MMC(eMMC)。
存储器系统110可以包括各种类型的存储装置。这种存储装置的非限制性示例包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)之类的易失性存储器装置、以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)和闪存之类的非易失性存储器装置。
存储器系统110可以包括存储器装置150和控制器130。
控制器130和存储器装置150可以被集成到单个半导体装置中,该半导体装置可以被包括在如上所述的各种类型的存储器系统中的任何一种中。例如,控制器130和存储器装置150可以被集成为单个半导体装置以构成SSD、PCMCIA(个人计算机存储器卡国际协会)卡、包括迷你SD、微型SD和SDHC的SD卡以及UFS装置。存储器系统110可以被配置作为计算机、智能电话、便携式游戏机或构成计算系统的各种部件之一的一部分。
存储器装置150可以是即使没有供电也可以保留存储的数据的非易失性存储器装置。存储器装置150可以存储通过写入操作从主机102提供的数据,并且通过读取操作将存储在其中的数据输出到主机102。在一个实施例中,存储器装置150可以包括多个存储器管芯(未示出),并且每个存储器管芯可以包括多个平面(未示出)。每个平面可以包括多个存储器块152至156,每个存储器块可以包括多个页,每个页可以包括耦合到字线的多个存储器单元。在一个实施例中,存储器装置150可以是具有3维(3D)层叠结构的闪存。
存储器装置150的结构和存储器装置150的3D层叠结构将在后面参考图2至图4来更详细地被描述。
控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取、写入、编程和擦除操作。
更具体地,控制器130可以包括主机接口(I/F)132、处理器134、存储器接口142和存储器144,它们都通过内部总线可操作地耦合或接合。具体地,存储器控制器130可以包括主机接口(I/F)132、处理器134、存储器接口142和存储器144。存储器控制器130还可以包括缓冲器监视装置502、缓冲器使用比较装置504和缓冲器控制装置514,其将稍后参考图5进行描述,并且存储器144可以包括写入缓冲器508。
主机接口132可以处理主机102的命令和数据。主机接口132可以通过诸如通用串行总线(USB)、多媒体卡(MMC)、外围部件高速互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和集成驱动电子装置(IDE)之类的各种接口协议中的一个或多个与主机102通信。主机接口132可以经由固件(即,用于与主机102交换数据的主机接口层(HIL))来被驱动。
存储器接口142可以用作控制器130和存储器装置150之间的存储器/存储接口,使得控制器130可以响应于来自主机102的请求来控制存储器装置150。
存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可以布置在控制器130内部或外部。图1示出了设置在控制器130内的存储器144。在一个实施例中,存储器144可以是外部易失性存储器,其具有用于在存储器144和控制器130之间传输数据的存储器接口。
如上所述,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存和映射缓冲器/高速缓存,以存储在主机102和存储器装置150之间执行数据写入和读取操作需要的一些数据和控制器130和存储器装置150执行这些操作需要的其他数据。
处理器134可以控制存储器系统110的整体操作。处理器134可以使用固件来控制存储器系统110的整体操作。固件可以被称为闪存转换层(FTL)。处理器134可以用微处理器或中央处理单元(CPU)实现。
例如,控制器130可以通过处理器134执行由主机102在存储器装置150中请求的操作,处理器134被实现为微处理器、CPU等。而且,控制器130可以通过处理器134对存储器装置150执行后台操作,处理器134可以实现为微处理器或CPU。在存储器装置150上执行的后台操作可以包括:将存储在存储器装置150的存储器块152至156之中的一些存储器块中的数据复制和处理到其他存储器块中的操作,例如垃圾收集(GC)操作;在存储器块152至156之间或在存储器块152至156的数据之间执行交换的操作,例如耗损均衡(WL)操作;将存储在控制器130中的映射数据存储在存储器块152至156中的操作,例如映射刷新(flush)操作;或者管理存储器装置150中的坏块的操作,例如检测和处理存储器装置150中的存储器块152至156之中的坏块的坏块管理操作。
参考图2至图4详细描述根据本发明实施例的存储器系统的存储器装置。
图2是示出存储器装置150的示意图。图3是示出存储器装置150中的存储器块330的存储器单元阵列的示例性配置的电路图。图4是示出存储器装置150的示例性3D结构的示意图。
参考图2,存储器装置150可以包括多个存储器块BLOCK0至BLOCKN-1,其中N是大于1的整数。块BLOCK0至BLOCKN-1中的每一个可以包括多个页,例如,2M或M个页,其数目可以根据电路设计而变化,M是大于1的整数。每个页可以包括耦合到多个字线WL的多个存储器单元。
此外,各个存储器块BLOCK0至BLOCKN-1中的存储器单元可以是存储1位数据的单级单元(SLC)存储器块或存储2位数据的多级单元(MLC)存储器块中的一个或多个。因此,存储器装置150可以包括SLC存储器块或MLC存储器块,这取决于可以在存储器块中的每一存储器单元中表达或存储的位的数目。SLC存储器块可以包括由存储器单元实现的多个页,每个存储器单元存储一位数据。SLC存储器块通常可以具有比MLC存储器块更高的数据计算性能和更高的耐久性。MLC存储器块可以包括由存储器单元实现的多个页,每个存储器单元存储多位数据(例如,2位或更多位)。MLC存储器块通常可以具有比SLC存储器块更大的数据存储空间,即,更高的集成密度。在另一个实施例中,存储器装置150可以包括多个三级单元(TLC)存储器块。在又一个实施例中,存储器装置150可以包括多个四级单元(QLC)存储器块。TLC存储器块可以包括由存储器单元实现的多个页,每个存储器单元能够存储3位数据。QLC存储器块可以包括由存储器单元实现的多个页,每个存储器单元能够存储4位数据。
代替非易失性存储器,存储器装置150可以由相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM(ReRAM))、铁电随机存取存储器(FRAM)和自旋转移力矩磁随机存取存储器(STT-RAM(STT-MRAM))中的任何一个来实现。
存储器块210、220、230、240可以存储通过编程操作从主机102传输的数据,并且可以通过读取操作将存储在其中的数据传输到主机102。
参考图3,存储器块330可以包括耦合到多个对应位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联耦合。在一个实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多位数据信息的MLC实现。每个单元串340可以电耦合到多个位线BL0至BLm-1之中的对应位线。例如,如图3所示,第一单元串耦合到第一位线BL0,并且最后的单元串耦合到最后的位线BLm-1。
虽然图3示出了NAND闪存单元,但是本公开不限于此。注意,存储器单元可以是NOR闪存单元、或包括组合在其中的两种或更多种类型的存储器单元的混合闪存单元。此外,应注意,存储器装置150可以是包括导电浮动栅极作为电荷存储层的闪存装置或包括绝缘层作为电荷存储层的电荷陷阱闪存(CTF)装置。
存储器装置150还可以包括电压供应310,其生成包括编程电压、读取电压和通过电压的不同字线电压,以根据操作模式提供给字线。电压供应310的电压生成操作可以由控制电路(未示出)控制。在控制电路的控制下,可以根据需要,电压供应310可以选择存储器单元阵列的至少一个存储器块(或区段),选择所选择的存储器块的至少一个字线,并且将字线电压提供至所选字线和未选择字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以作为感测放大器操作,以用于从存储器单元阵列读取(感测和放大)数据。在编程操作期间,读取/写入电路320可以作为写入驱动器操作,以用于根据要存储在存储器单元阵列中的数据向位线提供电压或电流。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收要存储到存储器单元阵列中的数据,并且根据接收的数据驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页缓冲器322至326。页缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可以由2D或3D存储器装置实现。特别地,如图4中所示,存储器装置150可以由具有3D层叠结构的非易失性存储器装置实现。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储器块BLK0至BLKN-1。在此,图4是示出图1中所示的存储器装置150的存储器块152、154和156的框图。存储器块152、154和156中的每一个可以以3D结构(或垂直结构)实现。例如,存储器块152、154和156可以包括在第一方向至第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的三维结构的结构。
包括在存储器装置150中的每个存储器块330可以包括在第二方向上延伸的多个NAND串NS以及在第一方向和第三方向上延伸的多个NAND串NS。在此,每个NAND串NS可以耦合到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚设字线DWL以及公共源极线CSL,并且每个NAND串NS可以包括多个晶体管结构TS。
简而言之,存储器装置150的存储器块152、154和156之中的每个存储器块330可以耦合到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚设字线DWL和多个公共源极线CSL,并且每个存储器块330可以包括多个NAND串NS。而且,在每个存储器块330中,一个位线BL可以耦合到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。另外,每个NAND串NS的串选择晶体管SST可以耦合到对应的位线BL,并且每个NAND串NS的接地选择晶体管GST可以耦合到公共源极线CSL。在此,存储器单元MC可以设置在每个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。换句话说,可以在存储器装置150的存储器块152、154和156的每个存储器块330中实现多个存储器单元。
当从主机102与编程命令CMDPGM一起提供用户数据或主机数据时,存储器控制器130可以将主机数据临时存储在存储器控制器130内部的存储器144中。仅当临时存储在存储器144中的主机数据形成页单位、多平面页单位或一次单位(在下文中,被称为编程单位)时,存储器控制器130可以向存储器装置150提供临时存储的主机数据。当没有从主机102附加地提供编程命令CMDPGM时或者仅连续提供针对具有相同逻辑块地址的主机数据的编程命令CMDPGM时,可能发生牺牲情况,其中临时存储在存储器144中的主机数据的大小保持不变。当在临时存储在存储器144中的主机数据尚未形成编程单位时发送牺牲情况时,即使时间消耗,临时存储在存储器144中的主机数据也可能无法形成编程单位。因此,临时存储在存储器144中的主机数据在长时间内可能无法提供给存储器装置150,而是主机数据继续保留在存储器144中,这是有问题的。
根据传统技术,为了解决以下问题,即,在牺牲情况下即使时间消耗,临时存储在存储器144中的主机数据也不形成编程单位、因此主机数据不被编程到存储器装置中而是继续保留在存储器144中,存储器控制器可以控制存储器装置周期性地执行将主机数据与虚设数据一起编程在存储器块中的内部刷新操作,使得临时存储在存储器144中的主机数据和虚设数据可以形成编程单位。根据传统技术的存储器控制器可以在每个预定的周期无例外地执行内部刷新操作,即使编程命令CMDPGM被连续地提供给主机102,使得临时存储在存储器144中的主机数据可以与对应于连续提供的编程命令CMDPGM的主机数据形成编程单位。因此,根据传统技术,存在以下问题,即,由于通过严格和周期性的内部刷新操作将虚设数据不必要地编程到存储器块中,浪费了存储器空间。
根据本发明的实施例,存储器控制器130可以针对预定时间周期检查从主机102提供给存储器144的主机数据的大小,并且当确定临时存储在存储器144中的主机数据是用于形成编程单位时,存储器控制器130可以通过跳过应该要周期性执行的内部刷新操作来防止将虚设数据不必要地编程在存储器块中的问题。
图5是示出根据本发明实施例的存储器系统110的结构的框图。图5仅示意性地示出了图1的数据处理系统100中与本发明相关的结构。
如上所述,主机102可以向存储器系统110提供多个命令,并且存储器系统110可以响应于所提供的命令执行各种操作。
如图5中所示,存储器控制器130还可包括缓冲器监视装置502、缓冲器使用比较装置504和缓冲器控制装置514。存储器144可以包括写入缓冲器508。缓冲器控制装置514可以包括第一刷新装置506和第二刷新装置512。
缓冲器监视装置502可以与从主机102提供的主机数据一起接收编程命令CMDPGM。编程命令CMDPGM可以是多个命令。缓冲器监视装置502可以检查在预定周期内从主机102提供的主机数据的大小,并且将主机数据大小信息存储在内部存储空间中。当前周期的主机数据大小信息可以被定义为当前周期数据大小信息Infocrnt.size,并且就在当前周期之前的前一周期的主机数据大小信息可以被定义为前一周期数据大小信息Infoprev.size。缓冲器监视装置502可以在每个预定周期向缓冲器使用比较装置504提供当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size
写入缓冲器508可以临时存储从主机102提供的主机数据。如前所述,存储器控制器130可以不立即将从主机102提供的主机数据编程到存储器块中,而是可以将主机数据临时存储在写入缓冲器508中,并且当临时存储的主机数据形成编程单位时控制存储器装置150将主机数据编程到存储器块中。写入缓冲器508可以被实现为易失性存储器。
缓冲器使用比较装置504可以比较由当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size指示的大小。当在由当前周期数据大小信息Infocrnt.size与前一周期数据大小信息Infoprev.size指示的大小之间的差值小于第一阈值时,缓冲器使用比较装置504可以向第一刷新装置506提供刷新控制信号SIG_FLUSH。当在由当前周期数据大小信息Infocrnt.size与前一周期数据大小信息Infoprev.size指示的大小之间的差值大于或等于第一阈值时,缓冲器使用比较装置504可以向第二刷新装置512提供触发信号Signaltrigger
缓冲器控制装置514可以包括:第一刷新装置506,其用于响应于刷新控制信号SIG_FLUSH而向存储器装置150提供临时存储在写入缓冲器508中的主机数据;以及第二刷新装置512,其用于在临时存储在存储器508中的主机数据的大小大于第二阈值时,向存储器装置150提供临时存储的主机数据。
第一刷新装置506可以基于所提供的刷新控制信号SIG_FLUSH来控制存储器装置150执行内部刷新操作。第一刷新装置506可以控制存储器装置150执行将形成编程单位的虚设数据和主机数据编程到存储器块中的内部刷新操作。
图6是示出第一刷新装置506的结构的框图。
第一刷新装置506可以包括第一编程数据生成单元602和第一编程数据传输单元604。
第一编程数据生成单元602可以响应于所提供的刷新控制信号SIG_FLUSH而将临时存储在写入缓冲器508中的主机数据与虚设数据组合,以生成具有编程单位的大小的编程单位数据DATA_PGM。
第一编程数据传输单元604可以向存储器装置150提供所生成的编程单位数据DATA_PGM,使得存储器装置150可以执行对编程单位数据DATA_PGM进行编程的内部刷新操作。
根据本发明的实施例,通过仅在由当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size指示的大小之间的差异小于第一阈值时,即,仅当临时存储在写入缓冲器508中的主机数据在长时间内落入牺牲情况、同时具有编程单位以下的大小、并且因此预计不会很快形成编程单位时,才执行内部刷新操作,第一刷新装置506可以防止存储器装置150浪费由编程不必要的虚设数据引起的存储器空间。
再次参考图5,第二刷新装置512可以基于所提供的触发信号Signaltrigger确定临时存储在写入缓冲器508中的主机数据的大小是否大于第二阈值。当临时存储在写入缓冲器508中的主机数据的大小大于或等于第二阈值时,第二刷新装置512可以控制存储器装置150执行将临时存储在写入缓冲器508中的主机数据之中的与对应于第二阈值的大小一样的大小的主机数据编程到存储器块中的刷新操作。对应于第二阈值的大小可以大于编程单位的大小。
图7是示出第二刷新装置512的结构的框图。
第二刷新装置512可以包括第二编程数据生成单元702和第二编程数据传输单元704。
第二编程数据生成单元702可以确定临时存储在写入缓冲器508中的主机数据的大小是否大于第二阈值。第二编程数据生成单元702可以根据临时存储在写入缓冲器508中的主机数据的大小是否大于第二阈值的确定结果,通过以与第二阈值相对应的大小对临时存储在写入缓冲器508中的主机数据进行划分来生成编程单位数据DATA_PGM。
第二编程数据传输单元704可以向存储器装置150提供上面生成的编程单位数据DATA_PGM,使得存储器装置150执行对编程单位数据DATA_PGM进行编程的刷新操作。
根据本发明的实施例,当由当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size指示的大小之间的差异大于或等于第一阈值时,合理地认为临时存储在写入缓冲器508中的主机数据可以很快形成编程单位。在此预期下,当前周期的内部刷新操作可以不需要被执行,并且因此可以被跳过。当临时存储在写入缓冲器508中的主机数据的大小SizeBuffer大于第二阈值时,第二刷新装置512可以控制存储器装置150执行将具有编程单位的大小的主机数据编程到存储器块中的刷新操作而不管是否执行内部刷新操作。
图8是描述根据本发明实施例的存储器系统110的操作的流程图。可以在每个周期重复根据本发明示例性实施例的存储器系统110的操作。图8示出了为了便于描述而在一个周期期间执行的操作存储器系统110的过程。
在步骤S802中,缓冲器监视装置502可以与从主机102提供的编程命令CMDPGM一起接收主机数据,并且写入缓冲器508可以临时存储从主机102提供的主机数据。
在步骤S804中,缓冲器监视装置502可以确定当前周期是否完成。当缓冲器监视装置502确定未完成时(步骤S804中的“否”),缓冲器监视装置502可以返回到步骤S802并且继续从主机102接收主机数据,直到当前周期完成。
在步骤S804中,当当前周期完成时(步骤S804中的“是”),缓冲器监视装置502可以检查在当前周期期间从主机102提供的主机数据的大小,并且将当前周期数据大小信息Infocrnt.size存储在内部存储空间中。
在步骤S804中,缓冲器监视装置502可以针对每个预定周期向缓冲器使用比较装置504提供当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size。图8中所示的当前周期可以是整个过程的单个周期。
在步骤S806中,缓冲器使用比较装置504可以比较由在步骤S804中提供的当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size指示的大小。
当由当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size指示的大小之间的差异小于第一阈值TH1时(步骤S806中的“是”),缓冲器使用比较装置504可以向第一刷新装置506提供刷新控制信号SIG_FLUSH。当由当前周期数据大小信息Infocrnt.size和前一周期数据大小信息Infoprev.size指示的大小之间的差异大于或等于第一阈值TH1时(步骤S806中的“否”),缓冲器使用比较装置504可以向第二刷新装置512提供触发信号Signaltrigger
在步骤S808中,第一刷新装置506可以根据在步骤S806中提供的刷新控制信号SIG_FLUSH来控制存储器装置150执行内部刷新操作。第一刷新装置506控制存储器装置150以执行将形成编程单位的虚设数据和主机数据编程在存储器块中的内部刷新操作。
在步骤S810中,第二刷新装置512可以基于在步骤S806中提供的触发信号Signaltrigger确定临时存储在写入缓冲器508中的主机数据的大小SizeBuffer是否大于第二阈值TH2。
在步骤S812中,当在步骤S810中确定临时存储在写入缓冲器508中的主机数据的大小SizeBuffer大于第二阈值TH2时(步骤S810中的“是”),第二刷新装置512可以控制存储器装置150执行将临时存储在写入缓冲器508中的数据之中对应于第二阈值TH2的大小的主机数据编程到存储器块中的刷新操作。
当在步骤S810中确定临时存储在写入缓冲器508中的主机数据的大小SizeBuffer小于第二阈值TH2时(步骤S810中的“否”),处理可以结束。
无论是否执行内部刷新操作,第二刷新装置512都可以接收从主机102提供的主机数据,并且当临时存储在写入缓冲器508中的主机数据的大小SizeBuffer大于第二阈值TH2时,它可以控制存储器装置150执行将形成编程单位的主机数据编程到存储器块中的刷新操作。
根据本发明的实施例的存储器系统可以不在每个预定周期无条件地执行内部刷新操作,并且每当预定周期到来时数据处理系统可以基于从主机102提供的主机数据的大小来执行内部刷新操作。当从主机102提供的主机数据的大小足以使得临时存储在写入缓冲器508中的主机数据被预期与从主机102提供的主机数据一起形成编程单位时,可以通过跳过内部刷新操作来防止在存储器块中不必要地执行虚拟编程操作的问题。
在下文中,将参考图9至图17详细描述根据本发明实施例的、包括以上参考图1至图8描述的存储器装置150和控制器130的存储器系统110可以被应用的数据处理系统和电子装置。
图9是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的图。图9示出了可以应用存储器系统的存储器卡系统6100。
参考图9,存储器卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以电连接到存储器装置6130,并且被配置为访问由非易失性存储器(NVM)实现的存储器装置6130。例如,存储器控制器6120可以被配置为控制存储器装置6130的读取、写入、擦除和后台操作。存储器控制器6120可以被配置为在存储器装置6130和主机之间提供接口,并且使用固件来控制存储器装置6130。也就是说,存储器控制器6120可以对应于参考图1描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参考图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可以包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和纠错部件。
存储器控制器6120可以通过连接器6110与外部装置通信,例如,图1的主机102。例如,如参考图1所述,存储器控制器6120可以被配置为通过各种通信协议中的一种或多种与外部装置通信,通信协议诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、PCI快速(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小磁盘接口(EDSI)、集成驱动电子装置(IDE)、固件、通用闪存(UFS)、无线高保真(Wi-Fi或WiFi)和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特定移动电子装置。
存储器装置6130可以由非易失性存储器(NVM)实现。例如,存储器装置6130可以由各种非易失性存储器装置中的任何一种实现,诸如可擦除和可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁RAM(STT-RAM)。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中以形成固态驱动器(SSD)。此外,存储器控制器6120和存储器装置6130可以如此集成以形成存储器卡,诸如PC卡(PCMCIA:个人计算机存储器卡国际协会)、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMCmicro和eMMC)、安全数字卡(SD:例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图10是示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的图。
参考图10,数据处理系统6200可以包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10中示出的数据处理系统6200可以用作诸如存储器卡(例如CF、SD、微型SD等)或USB装置的存储介质,如参考图1所述。存储器装置6230可以对应于图1中所示的存储器系统110中的存储器装置150,并且存储器控制器6220可以对应于图1中所示的存储器系统110中的控制器130。
存储器控制器6220可以响应于主机6210的请求来控制对存储器装置6230的读取、写入或擦除操作。存储器控制器6220可以包括一个或多个中央处理单元(CPU)6221、诸如随机存取存储器(RAM)6222的缓冲存储器、纠错码(ECC)电路6223、主机接口6224以及诸如非易失性存储器(NVM)接口6225的存储器接口。
CPU 6221可以控制存储器装置6230上的整体操作,例如读取、写入、文件系统管理和坏页管理操作。RAM 6222可以根据CPU 6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机6210发送到存储器装置6230的数据,反之亦然。当RAM 6222用作高速缓存存储器时,RAM 6222可以帮助低速存储器装置6230高速操作。
ECC电路6223可以生成用于校正从存储器装置6230提供的数据的失败位或错误位的ECC(纠错码)。ECC电路6223可以对提供给存储器装置6230的数据执行纠错编码,从而形成具有奇偶校验位的数据。奇偶校验位可以存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行纠错解码。ECC电路6223可以使用奇偶校验位来纠正错误。ECC电路6223可以使用低密度奇偶校验(LDPC)码、BCH(Bose-Chaudhri-Hocquenghem)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)或诸如网格编码调制(TCM)或块编码调制(BCM)的编码调制来纠正错误。
存储器控制器6220可以通过主机接口6224向/从主机6210发送/接收数据。存储器控制器6220可以通过NVM接口6225向/从存储器装置6230发送/接收数据。主机接口6224可以通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、外围部件快速互连(PCIe)或NAND接口来连接到主机6210。存储器控制器6220可以具有利用诸如无线高保真(WiFi)或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可以连接到外部装置,例如主机6210或另一外部装置,然后向/从外部装置发送/接收数据。具体地,由于存储器控制器6220被配置为根据各种通信协议中的一个或多个与外部装置通信,根据实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置,特别是移动电子装置。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图11示意性地示出了可以应用存储器系统的固态驱动器(SSD)6300。
参考图11,SSD 6300可以包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可以对应于图1的存储器系统110中的控制器130,并且存储器装置6340可以对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可以通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、ECC电路6322、主机接口6324、缓冲存储器6325、和存储器接口,例如非易失性存储器接口6326。
缓冲存储器6325可以临时存储从主机6310提供的数据或者从包括在存储器装置6340中的多个闪存NVM提供的数据。此外,缓冲存储器6325可以临时存储多个闪存NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可以由各种易失性存储器中的任何一种来体现,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM),或者由非易失性存储器体现,诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移力矩磁RAM(STT-MRAM)和相变RAM(PRAM)。图11示出了缓冲存储器6325实现在控制器6320中。然而,缓冲存储器6325可以在控制器6320的外部。
ECC电路6322可以在编程操作期间计算要编程到存储器装置6340的数据的纠错码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行纠错操作,并且在失败数据恢复操作期间对从存储器装置6340恢复的数据进行纠错操作。
主机接口6324可以提供与外部装置(例如,主机6310)的接口功能,并且非易失性存储器接口6326可以提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可以提供可以应用图1的存储器系统110的多个SSD 6300来实现数据处理系统,例如独立盘冗余阵列(RAID)系统。RAID系统可以包括多个SSD 6300和用于控制所述多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令而执行编程操作时,RAID控制器可以根据多个RAID级别(即,SSD 6300中的从主机6310提供的写入命令的RAID级别信息)选择一个或多个存储器系统或SSD 6300,并且将与写入命令对应的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令而执行读取命令时,RAID控制器可以根据多个RAID级别(SSD 6300中的从主机6310提供的读取命令的RAID级别信息)选择一个或多个存储器系统或SSD 6300,并且将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图12示意性地示出了可以应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参考图12,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)接口。
图13至图16是示意性地示出包括根据实施例的存储器系统的数据处理系统的其他示例的图。图13至图16示意性地示出了可以应用存储器系统的通用闪存(UFS)系统。
参见图13至图16,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可以以参考图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式实现,并且UFS卡6530、6630、6730、6830可以以参考图9描述的存储器卡系统6100的形式实现。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710、6810、UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可以通过UFS接口彼此通信,例如MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)。此外,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可以通过除UFS协议之外的各种协议彼此通信,例如通用存储总线(USB)、闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD。
在图13中所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可以包括UniPro。主机6510可以执行切换操作以与UFS装置6520和UFS卡6530进行通信。具体地,主机6510可以通过链路层切换(例如,UniPro处的L3切换)与UFS装置6520或UFS卡6530通信。UFS装置6520和UFS卡6530可以通过在主机6510的UniPro处的链路层切换来彼此通信。如实施例所示,一个UFS装置6520和一个UFS卡6530连接到主机6510。然而,多个UFS装置和UFS卡可以并联或以星形的形式连接到主机6510。星形的形式是指单个装置与多个装置耦合以进行集中操作的布置。多个UFS卡可以并联或以星形的形式连接到UFS装置6520,或者串联或以链的形式连接到UFS装置6520。
在图14中所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro。主机6610可以通过执行切换操作的切换模块6640与UFS装置6620或UFS卡6630通信,例如通过切换模块6640,其在UniPro处执行例如L3切换的链路层切换。UFS装置6620和UFS卡6630可以通过UniPro处的切换模块6640的链路层切换来彼此通信。在所示实施例中,一个UFS装置6620和一个UFS卡6630连接到切换模块6640。然而,多个UFS装置和UFS卡可以并联或以星形的形式连接到切换模块6640。多个UFS卡可以串联或以链的形式连接到UFS装置6620。
在图15中所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可以包括UniPro。主机6710可以通过执行切换操作的切换模块6740与UFS装置6720或UFS卡6730通信,例如通过在UniPro执行例如L3切换的链路层切换的切换模块6740。UFS装置6720和UFS卡6730可以通过UniPro处的切换模块6740的链路层切换来彼此通信。切换模块6740可以与UFS装置6720作为一个模块集成在UFS装置6720内部或UFS装置6720外部。在所示实施例中,一个UFS装置6720和一个UFS卡6730连接到切换模块6740。然而,每个包括切换模块6740和UFS装置6720的多个模块可以并联或以星形的形式连接到主机6710。在另一个示例中,多个模块可以串联或以链的形式彼此连接。此外,多个UFS卡可以并联或以星形的形式连接到UFS装置6720。
在图16中所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。UFS装置6820可以执行切换操作以与主机6810和UFS卡6830通信。具体来说,UFS装置6820可以通过在用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的切换操作(例如,通过目标标识符(ID)切换操作),来与主机6810或UFS卡6830通信。主机6810和UFS卡6830可以通过UFS装置6820的M-PHY和UniPro模块之间的目标ID切换来彼此通信。在所示的实施例中,一个UFS装置6820连接到主机6810并且一个UFS卡6830连接到UFS装置6820。然而,多个UFS装置可以并联或以星形的形式连接到主机6810,或者可以串联或以链的形式连接到主机6810。多个UFS卡可以并联或以星形的形式连接到UFS装置6820,或者可以串联或以链的形式连接到UFS装置6820。
图17是示出根据本发明实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图17是示出可以应用存储器系统的用户系统6900的图。
参考图17,用户系统6900可以包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可以驱动在用户系统6900中的部件(例如,操作系统(OS)),并且包括控制用户系统6900中包括的部件的控制器、接口和图形引擎。应用处理器6930可以被提供为片上系统(SoC)。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可以包括:易失性随机存取存储器(RAM),诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率DDR(LPDDR)SDARM、LPDDR2SDRAM或LPDDR3SDRAM;或者非易失性RAM,如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻式RAM(MRAM)或铁电RAM(FRAM)。例如,可以基于封装上封装(PoP)来封装和安装应用处理器6930和存储器模块6920。
网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,还可以支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置特别是移动电子装置通信。因此,根据本发明实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置。网络模块6940可以被包括在应用处理器6930中。
存储模块6950可以存储数据,例如从应用处理器6930接收的数据,并且然后可以将存储的数据发送到应用处理器6930。存储模块6950可以由非易失性半导体存储器装置实现,诸如相变RAM(PRAM)、磁RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且可以被提供为可移除存储介质,例如用户系统6900的存储器卡或外部驱动器。存储模块6950可以对应于参考图1描述的存储器系统110。此外,存储模块6950可以实现为SSD、eMMC和UFS,如上面参考图11至图16所述。
用户接口6910可以包括用于向应用处理器6930输入数据或命令或者将数据输出到外部装置的接口。例如,用户接口6910可以包括:用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件;以及用户输出接口,例如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的整体操作,并且网络模块6940可以用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可以在移动电子装置的显示器/触摸模块上显示由处理器6930处理的数据,或者可以支持从触摸面板接收数据的功能。
根据本发明的实施例,存储器系统可以通过基于针对预定周期提供的用户数据的大小而确定是否执行刷新操作来防止不必要地将虚设数据编程在存储器块中的问题。
虽然已经关于特定实施例描述了本发明,但是对于本领域技术人员来说显而易见的是,在不脱离所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (20)

1.一种存储器系统,包括:
存储器装置,适合于存储从主机提供的主机数据;以及
存储器控制器,适合于在所述主机和所述存储器装置之间管理和传输所述主机数据,
其中所述存储器控制器包括:
写入缓冲器,适合于临时存储要传输到所述存储器装置的所述主机数据;
缓冲器监视装置,适合于在预定周期期间检查所述写入缓冲器的使用量;
缓冲器使用比较装置,适合于通过将在对应于所述预定周期的当前周期期间检查的所述使用量与在对应于所述预定周期的前一周期期间检查的所述使用量进行比较,基于使用量比较结果,来生成刷新控制信号;以及
第一刷新装置,适合于响应于所述刷新控制信号而将临时存储在所述写入缓冲器中的所述主机数据传输到所述存储器装置,
其中当所述使用量比较结果小于第一阈值时,所述缓冲器使用比较装置生成所述刷新控制信号。
2.根据权利要求1所述的存储器系统,进一步包括:第二刷新装置,适合于在所述写入缓冲器的所述使用量大于第二阈值时将临时存储的所述主机数据传输到所述存储器装置。
3.根据权利要求2所述的存储器系统,
其中所述第二刷新装置包括:
第二编程数据生成单元,适合于通过以与所述第二阈值相对应的大小划分临时存储在所述写入缓冲器中的所述主机数据来生成编程单位数据;以及
第二编程数据传输单元,适合于将所述编程单位数据传输到所述存储器装置,并且
其中所述编程单位数据具有适合于通过单次刷新操作来被刷新到所述存储器装置中的大小。
4.根据权利要求1所述的存储器系统,
其中所述第一刷新装置包括:
第一编程数据生成单元,适合于通过将临时存储的所述主机数据与虚设数据组合来生成编程单位数据;以及
第一编程数据传输单元,适合于将所述编程单位数据传输到所述存储器装置,以及
其中所述编程单位数据具有适合于通过单次刷新操作来被刷新到所述存储器装置中的大小。
5.根据权利要求4所述的存储器系统,其中所述编程单位数据的大小是页。
6.根据权利要求4所述的存储器系统,其中所述编程单位数据的大小是多平面页。
7.根据权利要求4所述的存储器系统,其中所述编程单位数据的大小是一次性编程单位。
8.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步包括易失性存储器,所述易失性存储器包括所述写入缓冲器。
9.根据权利要求1所述的存储器系统,其中当在所述当前周期期间检查的所述使用量比在所述前一周期期间检查的所述使用量增加小于第一阈值时,所述缓冲器使用比较装置生成所述刷新控制信号。
10.根据权利要求1所述的存储器系统,其中所述缓冲器监视装置包括内部存储装置,所述内部存储装置适合于针对每个预定周期存储所述写入缓冲器的使用量。
11.一种用于操作存储器系统的方法,所述方法包括:
在写入缓冲器中缓冲从主机提供的主机数据;
在预定周期期间检查所述写入缓冲器的使用量;
通过将在对应于所述预定周期的当前周期期间检查的所述使用量与在对应于所述预定周期的前一周期期间检查的所述使用量进行比较,基于使用量比较结果,生成刷新控制信号;以及
执行响应于所述刷新控制信号而将临时存储在所述写入缓冲器中的所述主机数据传输到存储器装置的第一刷新操作,
其中当所述使用量比较结果小于第一阈值时,生成所述刷新控制信号。
12.根据权利要求11所述的方法,进一步包括:执行在所述写入缓冲器的所述使用量大于第二阈值时将临时存储的所述主机数据传输到所述存储器装置的第二刷新操作。
13.根据权利要求12所述的方法,
其中执行所述第二刷新操作包括:
通过以与所述第二阈值相对应的大小划分临时存储在所述写入缓冲器中的所述主机数据来生成编程单位数据;以及
将所述编程单位数据传输到所述存储器装置,并且
其中所述编程单位数据具有适合于通过单次刷新操作来被刷新到所述存储器装置中的大小。
14.根据权利要求11所述的方法,其中执行所述第一刷新操作包括:
通过将虚设数据与临时存储的所述主机数据组合来生成编程单位数据;以及
将所述编程单位数据传输到所述存储器装置,并且
其中所述编程单位数据具有适合于通过单次刷新操作来被刷新到所述存储器装置中的大小。
15.根据权利要求14所述的方法,其中所述编程单位数据的大小是页。
16.根据权利要求14所述的方法,其中所述编程单位数据的大小是多平面页。
17.根据权利要求14所述的方法,其中所述编程单位数据的大小是一次性编程单位。
18.根据权利要求11所述的方法,其中当在所述当前周期期间检查的所述使用量比在所述前一周期期间检查的所述使用量增加第一阈值或更多时不生成所述刷新控制信号,并且当在所述当前周期期间检查的所述使用量比在所述前一周期期间检查的所述使用量增加小于所述第一阈值时生成所述刷新控制信号。
19.根据权利要求11所述的方法,其中所述检查包括:针对每个预定周期存储所述写入缓冲器的所述使用量。
20.一种存储器系统,包括:
存储器装置;
缓冲器,适合于缓冲外部数据;以及
控制器,适合于控制所述存储器装置周期性地执行对其中缓冲的所述数据进行刷新的内部刷新操作,
其中当在当前周期期间检查的使用量比在前一周期期间检查的使用量增加阈值或更多时所述控制器进一步控制所述存储器装置跳过所述当前周期的所述内部刷新操作,并且当在所述当前周期期间检查的所述使用量比在所述前一周期期间检查的所述使用量增加小于所述阈值时执行所述当前周期的所述内部刷新操作。
CN201910643849.3A 2018-10-24 2019-07-17 存储器系统及其操作方法 Active CN111090596B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180127720A KR20200046495A (ko) 2018-10-24 2018-10-24 메모리 시스템 및 그것의 동작방법
KR10-2018-0127720 2018-10-24

Publications (2)

Publication Number Publication Date
CN111090596A CN111090596A (zh) 2020-05-01
CN111090596B true CN111090596B (zh) 2023-03-28

Family

ID=70325395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910643849.3A Active CN111090596B (zh) 2018-10-24 2019-07-17 存储器系统及其操作方法

Country Status (4)

Country Link
US (1) US11003590B2 (zh)
KR (1) KR20200046495A (zh)
CN (1) CN111090596B (zh)
DE (1) DE102019127080A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028332A (ko) * 2020-08-28 2022-03-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20220091193A (ko) * 2020-12-23 2022-06-30 현대자동차주식회사 Vcrm 전송 데이터 최적화 방법 및 그를 위한 장치
CN115469797B (zh) * 2021-09-09 2023-12-29 上海江波龙数字技术有限公司 一种数据写入方法、存储装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107643985A (zh) * 2016-07-21 2018-01-30 爱思开海力士有限公司 存储器系统及其操作方法
CN108694138A (zh) * 2017-04-10 2018-10-23 爱思开海力士有限公司 控制器及其操作方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402201B2 (en) * 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
JP5397148B2 (ja) * 2009-10-16 2014-01-22 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
EP2420933A1 (en) * 2010-08-20 2012-02-22 Apple Inc. Combining write buffer with dynamically adjustable flush metrics
US8352685B2 (en) * 2010-08-20 2013-01-08 Apple Inc. Combining write buffer with dynamically adjustable flush metrics
JP5535128B2 (ja) * 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
US8966184B2 (en) * 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US20120284544A1 (en) * 2011-05-06 2012-11-08 Microsoft Corporation Storage Device Power Management
CN103793181B (zh) 2012-11-05 2019-05-24 腾讯科技(深圳)有限公司 一种多层关联存储架构的数据同步方法及数据同步系统
US9595352B2 (en) * 2014-03-17 2017-03-14 Seagate Technology Llc Manufacturer self-test for solid-state drives
US9904626B2 (en) * 2014-08-29 2018-02-27 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and system on chip
US20170075593A1 (en) * 2015-09-11 2017-03-16 Sandisk Technologies Inc. System and method for counter flush frequency
TWI588833B (zh) * 2015-11-27 2017-06-21 群聯電子股份有限公司 資料程式化方法與記憶體儲存裝置
US9996268B2 (en) * 2015-12-18 2018-06-12 Toshiba Memory Corporation Memory system and control method of the same
US20180181186A1 (en) * 2016-12-27 2018-06-28 Paul S. Diefenbaugh Buffering data from high-speed i/o to enable longer reduced power consumption state residency
KR101932849B1 (ko) 2017-05-22 2018-12-26 최문규 의류용 발향텍
CN108984104B (zh) * 2017-06-02 2021-09-17 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107643985A (zh) * 2016-07-21 2018-01-30 爱思开海力士有限公司 存储器系统及其操作方法
CN108694138A (zh) * 2017-04-10 2018-10-23 爱思开海力士有限公司 控制器及其操作方法

Also Published As

Publication number Publication date
US20200133882A1 (en) 2020-04-30
DE102019127080A1 (de) 2020-04-30
CN111090596A (zh) 2020-05-01
US11003590B2 (en) 2021-05-11
KR20200046495A (ko) 2020-05-07

Similar Documents

Publication Publication Date Title
CN110750207B (zh) 存储器系统及其操作方法
US10943634B2 (en) Read latency improvement method and memory system thereof
US10885992B2 (en) Memory system and operating method thereof
US20200210295A1 (en) Memory system and operating method thereof
US11048625B2 (en) Memory system and operating method thereof
CN110955611B (zh) 存储器系统及其操作方法
CN110751972A (zh) 存储器系统及该存储器系统的操作方法
US20200125292A1 (en) Memory system and operating method thereof
CN111090596B (zh) 存储器系统及其操作方法
CN111241002A (zh) 存储器系统及其操作方法
US11106392B2 (en) Memory system and operating method thereof
US10997069B2 (en) Memory system and operating method thereof
CN110688060B (zh) 存储器系统及该存储器系统的操作方法
CN110716881B (zh) 存储器系统及其操作方法
US10678687B2 (en) Memory system and operating method thereof
CN110045914B (zh) 存储器系统及其操作方法
CN110865948B (zh) 存储系统及其操作方法
US11403015B2 (en) Memory system and operating method thereof
KR20190117235A (ko) 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
CN111198652B (zh) 存储器系统及其操作方法
US20190221279A1 (en) Memory system and operating method thereof

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