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

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

Info

Publication number
CN111290970A
CN111290970A CN201910907354.7A CN201910907354A CN111290970A CN 111290970 A CN111290970 A CN 111290970A CN 201910907354 A CN201910907354 A CN 201910907354A CN 111290970 A CN111290970 A CN 111290970A
Authority
CN
China
Prior art keywords
memory
area
threshold
valid data
controller
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
Application number
CN201910907354.7A
Other languages
English (en)
Other versions
CN111290970B (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.)
Mimi Ip Co ltd
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 CN111290970A publication Critical patent/CN111290970A/zh
Application granted granted Critical
Publication of CN111290970B publication Critical patent/CN111290970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/061Improving I/O performance
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction 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
    • 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/70Details relating to dynamic memory management
    • G06F2212/702Conservative garbage collection
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

一种存储器系统可包括存储器装置,其包括多个存储器块;以及控制器,其适用于控制所述存储器装置。所述控制器可包括监控器,其适用于监控第一区和第二区的有效数据比率;以及处理器,其适用于将所述第一区的第一有效数据比率与第一阈值进行比较,将所述第二区的第二有效数据比率与第二阈值进行比较,并且根据两个比较结果,将被分配给所述第二区的目标保留存储器块重新分配给所述第一区。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2018年12月06日提交的第10-2018-0155911号韩国专利申请的优先权,该韩国专利申请通过整体引用并入本文。
技术领域
示例性实施例涉及一种存储器系统及其操作方法,且更具体地,涉及一种能够提高数据处理的效率的存储器系统及其操作方法。
背景技术
计算机环境范例已经变得普遍存在,这使得计算系统能够随时随地被使用。因此,便携式电子装置(诸如移动电话、数码相机和膝上型计算机)的使用已经迅速增加。这些便携式电子装置通常使用存储器系统,其具有用于存储数据的一个或者多个存储器装置。存储器系统可以用作便携式电子装置的主存储器装置或者辅助存储器装置。
通常期望存储器系统提供优异的稳定性、耐用性、高信息访问速度和低功耗,因为与硬盘装置相比,它们没有移动部件。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)
发明内容
各种实施例涉及一种能够有效地处理数据的存储器系统。
根据本发明的一个实施例,一种存储器系统包括:存储器装置,包括多个存储器块;以及控制器,适用于控制该存储器装置,其中该控制器包括:监控器,适用于监控第一区和第二区的有效数据比率;以及处理器,适用于将该第一区的第一有效数据比率与第一阈值进行比较,将第二区的第二有效数据比率与第二阈值进行比较,并且根据两个比较结果,将被分配给第二区的目标保留存储器块重新分配给第一区。
根据本发明的一个实施例,提供了一种用于存储器系统的操作方法,该存储器系统包括存储器装置和控制器,该操作方法包括:监控存储器装置内的第一区和第二区的有效数据比率;将该第一区的第一有效数据比率与第一阈值进行比较;在第一有效数据比率大于或者等于第一阈值时,将第二区的第二有效数据比率与第二阈值进行比较;以及在第二有效数据比率小于第二阈值时,将被分配给第二区的目标保留存储器块重新分配给第一区。
根据本发明的一个实施例,一种存储器系统包括:存储器装置,包括映射区和用户区,该映射区包括映射块和至少一个保留块,该用户区包括用户存储器块和保留存储器块;以及控制器,适用于:确定映射块的有效页面的第一比率和用户存储器块的有效页面的第二比率;以及基于该第一比率和第二比率来将保留存储器块中的至少一个保留存储器块分配给映射区,其中,在第一比率超过第一阈值并且第二比率小于第二阈值时,控制器将该至少一个保留存储器块分配给映射区。
附图说明
图1是图示了根据本公开的一个实施例的包括存储器系统的数据处理系统的框图。
图2是图示了根据本公开的一个实施例的在存储器装置中所包括的映射区和用户区的图。
图3是图示了在图1中所示出的存储器装置中的存储器块的存储器单元阵列的图。
图4是图示了根据本发明的一个实施例的存储器系统的存储器装置的图。
图5是图示了根据本发明的一个实施例的存储器系统的图。
图6A和6B是图示了根据本公开的一个实施例的存储器系统的操作过程的流程图。
图7A至7C是图示了根据本公开的一个实施例的存储器系统的操作的图。
图8是图示了根据本公开的一个实施例的存储器系统的操作过程的流程图。
图9是图示了根据本公开的另一实施例的存储器系统的操作过程的流程图。
图10至18是图示了根据本发明的各种实施例的数据处理系统的示例性应用的图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。然而,本发明可以以不同形式实施,而不应理解为限于本文中所阐述的实施例。相反,提供这些实施例从而使得本公开透彻且完整,且将本发明的范围充分传达给本领域技术人员。贯穿本公开,贯穿本发明的各个图和实施例,相似附图标记指代相似部分。
注意,对“实施例”的参考不一定意味着仅一个实施例,且对“实施例”的不同参考不一定是指相同实施例。
要理解,虽然在本文中可以使用术语“第一”和/或“第二”来描述各种元件,但是这些元件不应受限于这些术语。这些术语仅仅用于区分一个元件与另一元件。例如,在不脱离本公开的教导的情况下,下面讨论的第一元件可以被称为第二元件。同样,第二元件也可以被称为第一元件。
要理解,当元件被称为“耦合”或者“连接”至另一元件时,其可以直接耦合或者连接至另一元件,或者在它们之间可以存在中间元件。相反,应当理解,当元件被称为“直接耦合”或者“直接连接”至另一元件时,不存在中间元件。描述元件之间的关系的其它表述,诸如,“在......之间”、“直接在......之间”、“与......相邻”或者“直接与......相邻”,应当以相同的方式来解释。
本文所使用的术语仅仅是为了描述特定实施例,而并非旨在是限制性的。在本公开中,单数形式也旨在包括复数形式,除非上下文另有清楚指示。应当进一步理解,术语“包括”、“包含”、“具有”等在本说明书中使用时指定所陈述的特征、整数、步骤、操作、元件、部件和/或它们的组合的存在,但是并不排除一个或者多个其它特征、整数、步骤、操作、元件、部件和/或其组合的存在或者添加。
上文所描述的示例性实施例仅出于理解本公开的技术精神的目的,并且本公开的范围不应受限于上文所描述的示例性实施例。对于本公开所属领域的技术人员将显而易见的是,除上文所描述的示例性实施例之外,还可以做出基于本公开的技术精神的其他修改。
除非另有规定,否则本文所使用的所有术语(包括技术术语和科学术语)都具有本公开所属的领域的普通技术人员通常所理解的相同含义。除非在本公开中另有定义,否则术语不应理解为理想的或者过度正规的。
在下文中,将参照附图详细描述本发明的各种实施例。
图1是图示了根据本发明的一个实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括各种便携式电子装置(诸如移动电话、MP3播放器和膝上型计算机)中的任一个或者各种非便携式电子装置(诸如台式计算机、游戏机、电视机(TV)和投影仪)中的任一个。
主机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)和静态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、微型SD和SDHC)和UFS装置。存储器系统110可以被配置为计算机、智能电话、便携式游戏机或者配置计算系统的各种部件中的一个部件的一部分。
即使没有供电,存储器装置150也可保持所存储的数据。具体地,存储器装置150通过写入操作存储从主机102提供的数据,并且通过读取操作将所存储的数据提供给主机102。存储器装置150包括多个存储器块。存储器块中的每一个包括多个页面。页面中的每一个包括多个存储器单元,多个字线(WL)被耦合至这些存储器单元。在一个实施例中,存储器装置150可包括多个存储器管芯(未示出),且每一个存储器管芯可包括多个平面(未示出)。每一个平面可包括多个存储器块,这些存储器块中的每一个可包括多个页面,这些页面中的每一个可包括被耦合至字线的多个存储器单元。在一个实施例中,存储器装置150可以是具有3维(3D)堆叠结构的闪存。
参照图2,存储器装置150可包括映射区和用户区。映射区和用户区中的每一个可包括数据区和超量配置(OP)区。具体地,映射区可包括映射数据区210和第一OP区215。映射数据区210可包括多个映射存储器块,与用户数据对应的映射数据被存储在这些映射存储器块中。映射数据可包括与用户数据对应的逻辑地址信息和关于实际存储用户数据的物理地址的信息。用户区可包括用户数据区230和第二OP区235。用户数据区230可包括多个用户存储器块,该多个用户存储器块具有存储于其中的用户数据。
可能需要第一OP区215和第二OP区235来维持存储器装置150的操作性能。
具体地,控制器130可将多个保留存储器块分配给第一OP区215和第二OP区235。控制器130可通过使用多个保留存储器块来有效地执行驱动存储器装置150所需的功能。功能可包括耗损平衡、垃圾收集、坏块管理等。因此,需要有效地使用OP区215和235,以便维持存储器装置150的性能并延长存储器装置150的寿命。
稍后将参照图3到5来对存储器装置150的结构和存储器装置150的3D堆叠结构进行详细描述。
再次参照图1,控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,且将从主机102提供的数据存储到存储器装置150中。对于这个操作,控制器130可控制存储器装置150的读取、写入、编程和擦除操作。
控制器130包括主机接口(I/F)132、处理器134、存储器接口(I/F)142、存储器144和监控器146。
主机接口132可处理主机102的命令和数据,并且可以被配置为通过各种接口协议(诸如通用串行总线(USB)、串行串行高级技术附件(SATA)、小型计算机系统接口(SCSI)和增强小型磁盘接口(ESDI))中的至少一中接口协议与主机102通信。可通过被称为主机接口层(HIL)的固件来驱动主机接口132,主机接口层是与主机102交换数据的区域。
存储器接口142充当存储器/存储接口,其执行控制器130与存储器装置150之间的接口连接,以允许控制器130响应于来自主机102的请求来控制存储器装置150。
作为存储器系统110和控制器130的工作存储器的存储器144存储用于驱动存储器系统110和控制器130的数据。
存储器144可由易失性存储器实现。例如,存储器136可由静态随机存取存储器(SRAM)或者动态随机存取存储器(DRAM)实现。此外,存储器144可存在于控制器130内部。可替代地,存储器144可存在于控制器130外部,并且可实现为外部易失性存储器,数据通过存储器接口从该外部易失性存储器输入到控制器130以及从该控制器130输出到该外部易失性存储器。
存储器144可存储在主机102与存储器装置150之间执行数据写入和读取操作所需的数据以及控制器130和存储器装置150执行这些操作所需的其他数据。存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存和用于存储数据的映射缓冲器/高速缓存。
处理器134可响应于主机102的写入请求或者读取请求来控制存储器系统110的整体操作以及存储器装置150的编程或者读取操作。为了控制存储器系统110的整体操作,处理器134可使用固件来控制存储器系统110的整体操作。固件可称为闪存转换层(FTL)。处理器134可用微处理器或者中央处理单元(CPU)来实施。
控制器130可通过处理器134执行主机102在存储器装置150中所请求的操作。同样,控制器130可通过处理器134在存储器装置150上执行后台操作。存储器装置150上的后台操作可包括垃圾收集(GC)操作、耗损平衡(WL)操作、映射刷新操作或者坏块管理操作。将参照图6A和6B详细描述垃圾收集操作。
处理器134可分别管理存储器装置150的映射区和用户区中的OP区215和235。例如,处理器134可分别将保留存储器块分配给第一OP区215和第二OP区235。处理器134可基于映射区和用户区的相应有效页面比率来重新分配保留存储器块。例如,处理器134可基于有效页面比率将用户区中的保留存储器块重新分配给映射区。
处理器134可将OP表存储在存储器144中。OP表可指示分配保留存储器块的位置。在重新分配保留存储器块时,处理器134可更新存储在存储器144中的OP表。将参照图7A到9描述控制器130内的处理器134的具体操作。
监控器146可监控映射区或者用户区的有效页面比率。有效页面比率可相对于每一个区的整个大小来指示有效页面的大小。因此,在有效页面的大小减小或者整个空间的大小增加时,有效页面比率可以降低。
虽然未在图中示出,但控制器130可进一步包括纠错(ECC)单元和电力管理单元(PMU)。
ECC单元可校正存储器装置150中所处理的数据的错误位,并且可包括ECC编码器和ECC解码器。
ECC编码器可对要在存储器装置150中编程的数据执行纠错编码,并生成添加有奇偶校验位的数据。添加有奇偶校验位的数据可存储在存储器装置150中。在读取存储在存储器装置150中的数据时,ECC解码器检测并校正从存储器装置150读取的数据中所包括的错误。
ECC单元可通过使用LDPC(低密度奇偶校验)码、BCH(Bose、Chaudhuri、Hocquenghem)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、RSC(递归系统码)、TCM(网格编码调制)或者BCM(分组编码调制)来执行纠错。然而,要注意,本公开不限于此。ECC单元可包括用于纠错的所有电路、模块、系统或者装置。
PMU可提供和管理存储器系统110的电力。即,PMU可提供和管理在控制器130和存储器装置150中所包括的部件的电力。
在下文中,将参照图3到5详细描述根据本公开的实施例的存储器系统中的存储器装置。
图3是图示了存储器装置150的示意图。图4是图示了存储器装置150中的存储器块330的存储器单元阵列的图。图5是图示了存储器装置150的示例性三维(3D)结构的图。
参照图3,存储器装置150可包括多个存储器块BLOCK0到BLOCKN-1,其中,N是大于1的整数。块BLOCK0到BLOCKN-1中的每一个可包括多个页面,例如,2M或者M个页面,这些页面的数目可根据电路设计而变化,M是大于1的整数。页面中的每一个可包括多个存储器单元,这些存储器单元被耦合至多个字线WL。
相应存储器块BLOCK0到BLOCKN-1中的存储器单元可以是存储1位数据的单层单元(SLC)或者存储2位数据的多层单元(MLC)中的一个或多个。因此,取决于可在存储器块中的每个存储器单元中表达或者存储的位数,存储器装置150可包括:包括SLC的存储器块(即,SLC存储器块)或者包括MLC的存储器块(即,MLC存储器块)。SLC存储器块可包括由各存储一位数据的存储器单元实施的多个页面。通常,SLC存储器块可具有比MLC存储器块更高的数据计算性能和更高的耐久性。MLC存储器块可包括由各存储多位数据(例如2位或者更多位)的存储器单元实施的多个页面。通常,MLC存储器块可具有比SLC存储器块更大的数据存储空间,即更高的集成密度。在另一实施例中,存储器装置150可包括多个三层单元(TLC)存储器块。TLC存储器块可包括由各自能够存储3位数据的存储器单元实施的多个页面。在又一实施例中,存储器装置150可包括多个四层单元(QLC)存储器块。QLC存储器块可包括由各自能够存储4位数据的存储器单元实施的多个页面。
代替非易失性存储器,存储器装置150可由相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或者ReRAM)、铁电式随机存取存储器(FRAM)和自旋转移力矩磁性随机存取存储器(STT-RAM或者STT-MRAM)中的任一个来实现。
存储器块210、220、230、240可通过编程操作存储从主机102传送的数据,并且可通过读取操作将存储于其中的数据传送到主机102。
参照图4,存储器装置150可包括多个存储器块。每一个存储器块330可包括多个单元串340,将这些单元串被实现为存储器单元阵列且分别耦合至位线BL0至BLm-1。每一列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0到MCn-1可以被串联耦合在漏极选择晶体管DST和源极选择晶体管SST之间。在一个实施例中,存储器单元晶体管MC0至MCn-1中的每一个可由能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可以被电耦合至多个位线BL0到BLm-1中的对应位线。
虽然,作为示例,图4示出了由NAND闪存单元配置的每一个存储器块330,但注意,存储器装置150中的多个存储器块中的每一个存储器块不限于NAND闪存,并且可通过NOR闪存、混合闪存或者一NAND闪存来实现,在该混合闪存中组合至少两种类型的存储器单元,在该一NAND闪存中将控制器构建于存储器芯片中。
取决于操作模式和要提供给形成存储器单元的块体(例如阱区域)的电压,存储器装置150的电源电路310可提供要提供给相应字线的字线电压(例如编程电压、读取电压和通过电压)。可在控制电路(未示出)的控制下执行电源电路310的电压生成操作。电源电路310可生成多个可变读取电压,以生成多个读取数据,响应于控制电路的控制来选择存储器单元阵列的存储器块(或者扇区)中的一个存储器块(或者扇区),选择所选择的存储器块的字线中的一个字线,并将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可作为感测放大器操作,以用于从存储器单元阵列读取(感测和放大)数据。在编程操作期间,读取/写入电路320可作为写入驱动器操作,以用于根据要存储在存储器单元阵列中的数据来将电压或电流提供给位线。在编程操作期间,读取/写入电路320可从缓冲器(未图示)接收要存储到存储器单元阵列中的数据,并根据所接收的数据来驱动位线。读取/写入电路320可包括分别与列(或者位线)或者列对(或者位线对)对应的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未图示)。
存储器装置150可实现为二维或者三维存储器装置。具体地,如
图5中所示出,存储器装置150可实现为具有三维堆叠结构的非易失性存储器装置。在将存储器装置150实现为三维结构的情况下,存储器装置150可包括多个存储器块BLK0到BLKN-1。图5是图示了图1中所图示的存储器装置150的存储器块的图,且存储器块中的每一个可实现为三维结构(或者垂直结构)。例如,通过包括在第一到第三方向(例如x轴方向、y轴方向和z轴方向)上延伸的结构,相应存储器块可实现为三维结构。
存储器装置150中的每一个存储器块330可包括在第二方向上延伸的多个NAND串NS。多个NAND串NS可设置在第一方向和第三方向上。在本文中,NAND串NS中的每一个可耦合至位线BL,至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚设字线DWL和共用源极线CSL,并且NAND串NS中的每一个可包括多个晶体管结构TS。
即,在存储器装置150的多个存储器块中,每一个存储器块330可耦合至多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚设字线DWL和多个共用源极线CSL,且因此,可包括多个NAND串NS。同样,在每一个存储器块330中,多个NAND串NS可耦合至一个位线BL,并且从而,可在一个NAND串NS中实现多个晶体管。每一个NAND串NS的串选择晶体管SST可与对应的位线BL耦合,并且每一个NAND串NS的接地选择晶体管GST可与共用源极线CSL耦合。可将存储器单元MC设置于每一个NAND串NS的串选择晶体管SST与接地选择晶体管GST之间。即,在存储器装置150的多个存储器块中的每一个存储器块330中,可实现多个存储器单元。
图6A和6B图示了根据一个实施例的存储器系统110的操作。通过示例,图6A和6B示出了控制器130对存储器装置150执行的作为后台操作的垃圾收集操作。尽管以下描述将集中于垃圾收集操作,但这仅为示例,且本实施例不限于此。
垃圾收集操作可包括在动态分配的存储器区中搜索不能再使用或者不需要使用的区的操作,擦除对应区中的数据,以及准备将新数据编程到该区。在没有主机102的单独请求的情况下,可在存储器系统110中执行垃圾收集操作。垃圾收集操作可在被包括在存储器装置150中的映射区和用户区中的每一个区中单独执行。
参照图6A,控制器130可在存储器装置150中的多个存储器块中选择可以从其擦除数据的存储器块。此后,所选择的存储器块将被称为牺牲存储器块610。为了确保用于存储大规模数据的空间或者执行垃圾收集或耗损平衡,控制器130可将存储在牺牲存储器块610中的有效数据移动到目标存储器块630。
具体地,控制器130可选择存储器装置150中的牺牲存储器块610。此时,控制器130可优先选择作为牺牲存储器块的存储器块。牺牲存储器块可在多个存储器块中具有最小数目的有效页面。有效页面可指示具有存储于其中的有效数据的页面。控制器130可从牺牲存储器块610读取有效数据,将所读取的有效数据存储在控制器130的存储器144中,以及将牺牲数据编程到存储器装置150中的目标存储器块630。控制器130可擦除存储在牺牲存储器块610中的所有数据。控制器130可将新数据存储在已经从其擦除所有数据的牺牲存储器块610中。
如上文所描述,控制器130可在存储器装置150内的映射区和用户区中的每一个区上单独执行后台操作。
例如,控制器130可在映射数据区210和第一OP区215中的多个存储器块之中选择牺牲存储器块,并且将存储在牺牲存储器块中的有效数据移动到目标存储器块。以此方式,控制器130可仅在映射区上执行垃圾收集操作。
根据相同原理,控制器130可在用户数据区230和第二OP区235中的多个存储器块之中选择牺牲存储器块,并且如上文所描述,将牺牲存储器块中的有效数据移动到目标存储器块。以此方式,控制器130可仅在用户区上执行垃圾收集操作。
图6B是图示了根据本实施例的存储器系统110的操作过程的流程图。
参照图6B,在步骤S601中,控制器130可基于预设标准在存储器装置150中的多个存储器块中选择牺牲存储器块。具体地,控制器130可在多个存储器块中选择具有大于或者等于预定阈值的有效页面数目的存储器块作为牺牲存储器块。可在控制器130内的处理器134的控制下执行选择牺牲存储器块的操作。
在步骤S603中,控制器130可在存储器装置150的所选择的牺牲存储器块中加载有效数据,并且将所加载的有效数据存储到控制器130的存储器144中。即使在此时,牺牲存储器块中的有效数据也可在处理器134的控制下从存储器装置150读取并且存储在存储器144中。
在步骤S605中,控制器130可将存储器144中的有效数据存储到存储器装置150中的多个存储器块之中的目标存储器块中。具体地,处理器134可控制存储器144和存储器装置150,以将存储器144中的有效数据存储到目标存储器块中。
在步骤S607中,控制器130可以擦除存储在牺牲存储器块中的数据。具体地,处理器134可控制存储器装置150以擦除存储在牺牲存储器块中的数据。此时,处理器134可控制存储器装置150以擦除无效数据以及存储在牺牲存储器块中的有效数据。
如参照图6A和6B所描述,垃圾收集操作是用于有效地执行以后要执行的主操作(例如,读取操作或者写入操作)的准备操作。因此,需要有效地执行垃圾收集操作,来作为用于改善存储器系统110的性能的一种方法。
为了有效地执行垃圾收集操作,控制器130需要有效地执行第一操作和第二操作。第一操作可包括将有效数据从被包括在映射区或者用户区中的牺牲存储器块复制到目标存储器块中。第二操作可包括擦除存储在牺牲存储器块中的数据。在第一操作期间,在控制器130有效地执行选择牺牲存储器块的操作和将有效数据存储在目标存储器块中的操作时,可提高垃圾收集操作的效率,该牺牲存储器块具有存储于其中的有效数据并且与垃圾收集操作的目标对应。
如参照图2所描述,存储器系统110可利用OP区来有效地执行垃圾收集操作。OP区可降低映射区或者用户区的有效页面比率。具体地,在OP区中所包括的保留存储器块可降低映射数据区或者用户数据区中的关闭存储器块的有效页面比率。有效页面比率可指示存储有效页面的空间相对于映射区或者用户区的整个空间的比率。因此,映射区和用户区中的每一个区可包括OP区,并且由此扩大整个空间。由此,可通过OP区降低映射区和用户区中的每一个区中的有效页面的比率。
有效页面比率的降低可降低将有效数据从牺牲存储器块复制到目标存储器块中的第一操作所需的成本。这是因为,在有效页面相对于映射区或者用户区的整个空间的比率较低时,这指示要由控制器130复制的有效数据的量较小。因此,在有效页面比率高时所执行的垃圾收集操作可能具有比在有效页面比率低时所执行的垃圾收集操作更低的效率。
处理器134可将存储器装置150中的全部存储器块的一部分分配给映射区,以及将全部存储器块的其他部分分配给用户区。因为存储用户数据所需的空间可能大于存储映射数据所需的空间,所以处理器134可向用户区分配比映射区更多的存储器块。
即使在有效页面比率较高的情况下,因为分配给映射区的存储器块的数目小于分配给用户区的存储器块的数目,所以控制器130可执行垃圾收集操作以确保用于在映射区中存储映射数据的空间。然而,在有效页面比率高时所执行的垃圾收集操作可能不是有效的。
此后,将描述存储器系统110能够解决低效率问题的后台操作方法。
图7A到7C是图示了根据一个实施例的存储器系统110的操作的图。通过示例,图7A到7C示出了存储器系统110执行垃圾收集操作的过程。具体地,将描述在映射区上所执行的垃圾收集操作。
在一个示例中,图7A到7C图示了存储器装置150包括12个存储器块。此外,假设第一阈值是‘90%’且第二阈值是‘40%’。第一阈值和第二阈值可由设计者设置。此外,在图7A和7B中,假设映射区710的有效页面比率是‘90%’,且用户区730的有效页面比率是‘35%’。这仅为示例,且本实施例不限于此。
参照图7A,处理器134可将四个存储器块分配给映射区710,且将八个存储器块分配给用户区730。换言之,存储器装置150可包括映射区710和用户区730。
映射区710可包括映射数据区和第一OP区。映射数据区可包括第一映射存储器块711、第二映射存储器块712和第三存储器块713,且第一OP区可包括第一保留存储器块714。
用户区730可包括用户数据区和第二OP区。用户数据区可包括第一用户存储器块731、第二用户存储器块732、第三用户存储器块733、第四用户存储器块734、第五用户存储器块735和第六用户存储器块736,且第二OP区域可包括第二保留存储器块737和第三保留存储器块738。
存储器144可包括OP表750。OP表750可包括关于第一到第三保留存储器块714、737和738的位置的信息。OP表750可包括用于指示保留存储器块的第一字段(BL)和用于指示保留存储器块的位置的第二字段(Status)。例如,分配给映射区710的第一保留存储器块714的位置信息可在OP表750中被指示为‘0’。针对另一示例,分配给用户区730的第二和第三保留存储器块737和738的位置信息可在OP表750中被指示为‘1’。
参照图7B,处理器134可执行垃圾收集操作以确保用于在映射区710中编程新数据的空间。此时,处理器134可基于由监控器146监控的映射区710的有效页面比率来执行垃圾收集操作。
具体地,处理器134可将映射区710的所监控的有效页面比率与第一阈值‘90%’进行比较。在映射区710的有效页面比率小于‘90%’时,处理器134可仅在映射区710中执行垃圾收集操作。
在映射区710的有效页面比率大于或者等于‘90%’时,处理器134可将用户区730的有效页面比率与第二阈值‘40%’进行比较。在用户区730的有效页面比率大于或者等于‘40%’时,处理器134可仅在映射区710中执行垃圾收集操作。
在用户区730的有效页面比率小于‘40%’时,处理器134可将用户区730中的保留存储器块737和738中的一个或多个重新分配给映射区710。例如,可重新分配保留存储器块737,且重新分配的保留存储器块737可以是空闲存储器块。
因为分配给映射区710的存储器块的数目小于分配给用户区730的存储器块的数目,所以处理器134可通过将用户区730中的保留存储器块重新分配给映射区710来降低映射区710的有效页面比率。因此,可改善在映射区710中所执行的垃圾收集操作的性能。
因为用户区730的有效页面比率小于第二阈值,所以将用户区730中的保留存储器块重新分配给映射区710可以不影响在用户区730中所执行的垃圾收集操作的性能。
参照图7C,处理器134可将第二保留存储器块737重新分配给映射区710。
处理器134可更新存储器144中的OP表750。即,处理器134可将存储在OP表750中的第二保留存储器块737的位置信息(即,与BL 2对应的状态)更新为‘0’。随后,处理器134可在包括重新分配的第二保留存储器块737的映射区710上执行垃圾收集操作。
尽管未在附图中图示,但在映射区的有效数据比率小于第三阈值且用户区的有效数据比率大于或者等于第四阈值时,处理器134可将已经从用户区重新分配给映射区的保留存储器块从映射区重新分配给用户区。此后,保留块将被称为目标保留存储器块。即,处理器134可基于映射区和用户区的相应有效数据比率来重新分配保留存储器块的位置。在重新分配保留存储器块的位置时,处理器134可针对映射区和用户区中的每一个改善垃圾收集操作的性能。
图8是图示了根据本实施例的存储器系统110的操作过程的流程图。通过示例,图8示出了在处理器134的控制下将用户区中的目标保留存储器块重新分配给映射区的过程。
参照图8,在步骤S801中,监控器146可监控映射区和用户区中的每一个区的有效数据比率。
在步骤S803中,处理器134可将映射区的有效数据比率与第一阈值进行比较。第一阈值可由设计者设置。
在映射区的有效数据比率大于或者等于第一阈值(步骤S803中的‘是’)时,处理器134可在步骤S805中将用户区的有效数据比率与第二阈值进行比较。第二阈值可由设计者设置。
在用户区的有效数据比率小于第二阈值(步骤S805中的‘是’)时,处理器134可在步骤S807中将用户区中的目标保留存储器块重新分配给映射区。
在步骤S809中,处理器134可更新存储器144中的OP表中的与目标保留存储器块对应的位置信息。
在映射区的有效数据比率小于第一阈值(步骤S803中的‘否’)或者用户区的有效数据比率大于或者等于第二阈值(步骤S805中的‘否’)时,处理器134可以不重新分配保留存储器块。
图9是图示了根据本实施例的存储器系统110的操作过程的流程图。通过示例,图9示出了在处理器134的控制下将参照图8所描述的分配给映射区的目标保留存储器块重新分配给用户区的过程。
参照图9,在步骤S901中,监控器146可监控映射区和用户区中的每一个区的有效数据比率。
在步骤S903中,处理器134可将映射区的有效数据比率与第三阈值进行比较。第三阈值可由设计者设置。
在映射区的有效数据比率小于第三阈值(步骤S903中的‘是’)时,处理器134可在步骤S905中将用户区的有效数据比率与第四阈值进行比较。第四阈值可由设计者设置。
在用户区的有效数据比率大于或者等于第四阈值时(步骤S905中的‘是’),处理器134可在步骤S907中将映射区中的目标保留存储器块重新分配给用户区。
在步骤S909中,处理器134可更新存储器144中的OP表中的与目标保留存储器块对应的位置信息。
在映射区的有效数据比率大于或者等于第三阈值(步骤S903中的‘否’)或者用户区的有效数据比率小于第四阈值(步骤S905中的‘否’)时,处理器134可以不重新分配保留存储器块。
如上文所描述,在基于映射区和用户区的有效页面比率重新分配被包括在OP区中的保留存储器块的位置时,根据本实施例的存储器系统110可改善后台操作的性能。
在下文中,将参照图10到18对数据处理系统和电子设备进行详细描述,根据本公开的实施例的包括上文参照图1到9所描述的存储器装置150和控制器130的存储器系统110被应用到上述数据处理系统和电子设备。
图10是图示了根据一个实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图10图示了可应用存储器系统的存储卡系统6100。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可电连接至由非易失性存储器(NVM)实施的存储器装置6130并且被配置为访问该存储器装置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)。
图11是图示了根据一个实施例的包括存储器系统的数据处理系统6200的另一示例的图。
参照图11,数据处理系统6200可包括存储器装置6230和存储器控制器6220,该存储器装置6230具有一个或多个非易失性存储器(NVM),该存储器控制器6220用于控制存储器装置6230。图11中所图示的数据处理系统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用作缓冲存储器时,RAM6222可用于缓冲从主机6210传送到存储器装置6230的数据,或者反之亦然。在将RAM 6222用作高速缓存存储器时,RAM 6222可帮助低速存储器装置6230以高速操作。
ECC电路6223可生成纠错码(ECC)以用于校正从存储器装置6230提供的数据的失败位或者错误位。ECC电路6223可对提供给存储器装置6230的数据执行纠错编码,从而形成具有奇偶校验位的数据。奇偶校验位可存储于存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行纠错解码。ECC电路6223可使用奇偶校验位来校正错误。ECC电路6223可使用低密度奇偶校验(LDPC)码、Bose-Chaudhri-Hocquenghem(BCH)码、turbo码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)或者编码调制(诸如网格编码调制(TCM)或分组编码调制(BCM))来校正错误。
存储器控制器6220可通过主机接口6224向/从主机6210传送/接收数据。存储器控制器6220可通过NVM接口6225向/从存储器装置6230传送/接收数据。主机接口6224可通过并行串行高级技术附件(PATA)总线、串行串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、快速外设部件互连(PCIe)或者NAND接口连接至主机6210。存储器控制器6220可具有利用移动通信协议(诸如无线保真(WiFi)或者长期演进(LTE))进行的无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或者另一外部装置,且随后向/从外部装置传送/接收数据。具体地,由于存储器控制器6220配置为根据各种通信协议中的一种或多种与外部装置通信,所以根据实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,尤其是移动电子装置。
图12是图示了根据一个实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图12图示了可应用存储器系统的固态驱动器(SSD)6300。
参照图12,SSD 6300可包括控制器6320和存储器装置6340,存储器装置6340包括多个非易失性存储器(NVM)。控制器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))中的任何一种来实施。图12图示了缓冲存储器6325被实现在控制器6320中。然而,缓冲存储器6325可在控制器6320的外部。
ECC电路6322可在编程操作期间计算要编程到存储器装置6340的数据的纠错码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行纠错操作,以及在失败的数据恢复操作期间对从存储器装置6340恢复的数据执行纠错操作。
主机接口6324可提供与外部装置(例如主机6310)的接口功能,且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供可应用图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如独立磁盘冗余阵列(RAID)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。在RAID控制器响应于从主机6310提供的写入命令来执行编程操作时,RAID控制器可根据多个RAID级别(即从SSD 6300中的主机6310提供的写入命令的RAID级别信息)选择一个或多个存储器系统或者SSD 6300,并且将与写入命令对应的数据输出到所选择的SSD6300。此外,在RAID控制器响应于从主机6310提供的读取命令来执行读取操作时,RAID控制器可根据多个RAID级别(即从SSD 6300中的主机6310提供的读取命令的RAID级别信息)选择一个或多个存储器系统或者SSD 6300,且将从所选择的SSD 6300读取的数据提供到主机6310。
图13是图示了根据一个实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图13图示了可应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图13,eMMC 6400可包括控制器6430和由一个或多个NAND闪存实施的存储器装置6440。控制器6430可与图1的存储器系统110中的控制器130对应,且存储器装置6440可与图1的存储器系统110中的存储器装置150对应。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和存储器接口(例如NAND接口6433)。
内核6432可控制eMMC 6400的整体操作,主机接口6431可提供控制器6430与主机6410之间的接口功能,且NAND接口6433可提供存储器装置6440与控制器6430之间的接口功能。例如,主机接口6431可充当并行接口,例如如参照图1所描述的MMC接口。此外,主机接口6431可充当串行接口,例如超高速(UHS-I/UHS-II)接口。
图14到17是图示了根据实施例的包括存储器系统的数据处理系统的其他示例的图。例如,图14到17图示了可应用存储器系统的通用闪存存储(UFS)系统。
参照图14到17,UFS系统6500、6600、6700、6800可分别包括主机6510、6610、6710、6810、UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830。主机6510、6610、6710、6810可充当有线/无线电子装置(尤其是移动电子装置)的应用处理器,UFS装置6520、6620、6720、6820可充当嵌入式UFS装置,且UFS卡6530、6630、6730、6830可充当外部嵌入式UFS装置或者可移动UFS卡。
相应UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810、UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过UFS协议与外部装置(例如有线/无线电子装置,特别是移动电子装置)通信,且UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可由图1中所图示的存储器系统110实施。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以以参照图11到13所描述的数据处理系统6200、SSD 6300或者eMMC 6400的形式实施,且UFS卡6530、6630、6730、6830可以以参照图10所描述的存储卡系统6100的形式实施。
此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、6710、6810、UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过UFS接口(例如移动行业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro))彼此通信。此外,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过除UFS协议之外的各种协议(例如通用存储总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD)中的任一种彼此通信。
在图14中所图示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可包括UniPro。主机6510可执行切换操作以与UFS装置6520和UFS卡6530通信。具体地,主机6510可通过链路层切换(例如在UniPro处的L3切换)来与UFS装置6520或者UFS卡6530通信。UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层切换来彼此通信。在所图示的实施例中,将一个UFS装置6520和一个UFS卡6530连接至主机6510。然而,多个UFS装置和UFS卡可并联或者以星形的形式连接至主机6410。星形是单个装置与多个装置耦合以进行集中操作的布置。多个UFS卡可并联或者以星形的形式连接至UFS装置6520,或者串联或者以链的形式连接至UFS装置6520。
在图15中所图示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro。主机6610可通过执行切换操作的切换模块6640与UFS装置6620或者UFS卡6630通信,例如通过在UniPro处执行链路层切换(例如L3切换)。UFS装置6620和UFS卡6630可通过UniPro处的切换模块6640的链路层切换来彼此通信。在所图示的实施例中,将一个UFS装置6620和一个UFS卡6630连接至切换模块6640。然而,多个UFS装置和UFS卡可并联或者以星形的形式连接至切换模块6640。多个UFS卡可串联或者以链的形式连接至UFS装置6620。
在图16中所图示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行切换操作的切换模块6740与UFS装置6720或者UFS卡6730通信,例如通过在UniPro处执行链路层切换(例如L3切换)。UFS装置6720和UFS卡6730可通过UniPro处的切换模块6740的链路层切换来彼此通信。切换模块6740可与UFS装置6720在UFS装置6720内部或外部被集成为一个模块。在所图示的实施例中,将一个UFS装置6720和一个UFS卡6730连接至切换模块6740。然而,多个模块(各自包括切换模块6740和UFS装置6720)可并联或者以星形的形式连接至主机6710。在另一示例中,多个模块可彼此串联或者以链的形式连接。此外,多个UFS卡可并联或者以星形的形式连接至UFS装置6720。
在图17中所图示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行切换操作以与主机6810和UFS卡6830通信。具体地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块与用于与UFS卡6830通信的M-PHY和UniPro模块之间的切换操作(例如通过目标标识符(ID)切换操作)来与主机6810或者UFS卡6830通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID切换来彼此通信。在所图示的实施例中,将一个UFS装置6820连接至主机6810,且将一个UFS卡6830连接至UFS装置6820。然而,多个UFS装置可并联或者以星形的形式连接至主机6810,或者串联或者以链的形式连接至主机6810。多个UFS卡可并联或者以星形的形式连接至UFS装置6820,或者串联或者以链的形式连接至UFS装置6820。
图18是图示了根据本发明的一个实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图18是图示了可应用存储器系统的用户系统6900的图。
参照图18,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可驱动用户系统6900(例如操作系统(OS))中的部件,且包括控制被包括在用户系统6900中的部件的控制器、接口和图形引擎。应用处理器6930可设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或者高速缓存存储器。存储器模块6920可包括易失性随机存取存储器(RAM)(诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3SDRAM、低功率DDR(LPDDR)SDARM、LPDDR3 SDRAM或者LPDDR3 SDRAM)或者非易失性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可实施为如上文参照图12到17所描述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者将数据输出到外部装置的接口。例如,用户接口6910可包括用户输入接口(诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件)和用户输出接口(诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机)。
此外,在图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的整体操作,且网络模块6940可充当用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或者支持从触摸面板接收数据的功能。
根据实施例,数据处理系统可以有效地执行后台操作。
尽管出于说明性目的已经描述了各种实施例,但对于本领域的技术人员将显而易见的是,可在不脱离如以下权利要求所限定的本发明的精神和范围的情况下做出各种改变和修改。

Claims (20)

1.一种存储器系统,包括:
存储器装置,包括多个存储器块;以及
控制器,适用于控制所述存储器装置,
其中,所述控制器包括:
监控器,适用于监控第一区和第二区的有效数据比率;以及
处理器,适用于将所述第一区的第一有效数据比率与第一阈值进行比较,将所述第二区的第二有效数据比率与第二阈值进行比较,并且根据两个比较结果,将被分配给所述第二区的目标保留存储器块重新分配给所述第一区。
2.根据权利要求1所述的存储器系统,其中,在所述第一有效数据比率大于或者等于所述第一阈值时,所述处理器将所述第二有效数据比率与所述第二阈值进行比较。
3.根据权利要求2所述的存储器系统,其中,在所述第二有效数据比率小于所述第二阈值时,所述处理器将所述目标保留存储器块重新分配给所述第一区。
4.根据权利要求1所述的存储器系统,其中,所述控制器还包括存储器,所述存储器适用于存储指示保留存储器块的位置信息的表。
5.根据权利要求4所述的存储器系统,其中,在重新分配所述目标保留存储器块之后,所述处理器更新所述表。
6.根据权利要求1所述的存储器系统,其中,所述处理器将映射数据存储在所述第一区中,并且将用户数据存储在所述第二区中。
7.根据权利要求1所述的存储器系统,其中,在重新分配所述目标保留存储器块之后,所述处理器在所述第一区上执行后台操作。
8.根据权利要求7所述的存储器系统,其中,所述后台操作包括垃圾收集操作、耗损平衡操作和读取回收操作中的至少一项。
9.根据权利要求1所述的存储器系统,其中,在所述第一有效数据比率小于所述第一阈值时,所述处理器保持被分配给所述第一区和所述第二区的存储器块的位置。
10.根据权利要求2所述的存储器系统,其中,在所述第二有效数据比率大于或者等于所述第二阈值时,所述处理器保持被分配给所述第一区和所述第二区的存储器块的位置。
11.根据权利要求4所述的存储器系统,其中,在所述第一有效数据比率小于第三阈值并且所述第二有效数据比率大于或者等于第四阈值时,所述处理器将被分配给所述第一区的所述目标保留存储器块重新分配给所述第二区。
12.根据权利要求11所述的存储器系统,其中,在将所述目标保留存储器块重新分配给所述第二区之后,所述处理器更新所述表。
13.一种存储器系统的操作方法,所述存储器系统包括存储器装置和控制器,所述操作方法包括:
监控所述存储器装置内的第一区和第二区的有效数据比率;
将所述第一区的第一有效数据比率与第一阈值进行比较;
在所述第一有效数据比率大于或者等于所述第一阈值时,将所述第二区的第二有效数据比率与第二阈值进行比较;以及
在所述第二有效数据比率小于所述第二阈值时,将被分配给所述第二区的目标保留存储器块重新分配给所述第一区。
14.根据权利要求13所述的操作方法,还包括:将表存储在所述控制器内的存储器中,所述表指示所述存储器装置中所包括的保留存储器块的位置信息。
15.根据权利要求14所述的操作方法,还包括:在将所述目标保留存储器块重新分配给所述第一区之后,更新所述表。
16.根据权利要求13所述的操作方法,还包括:在重新分配所述目标保留存储器块之后,在所述第一区上执行后台操作。
17.根据权利要求13所述的操作方法,还包括:在所述第一有效数据比率小于所述第一阈值时,保持被分配给所述第一区和所述第二区的存储器块的位置。
18.根据权利要求13所述的操作方法,还包括:在所述第二有效数据比率大于或者等于所述第二阈值时,保持被分配给所述第一区和所述第二区的存储器块的位置。
19.根据权利要求14所述的操作方法,还包括:在所述第一有效数据比率小于第三阈值并且所述第二有效数据比率大于或者等于第四阈值时,将被分配给所述第一区的所述目标保留存储器块重新分配给所述第二区。
20.根据权利要求19所述的操作方法,还包括:在将所述目标保留存储器块重新分配给所述第二区之后,更新所述表。
CN201910907354.7A 2018-12-06 2019-09-24 存储器系统及其操作方法 Active CN111290970B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0155911 2018-12-06
KR1020180155911A KR20200068944A (ko) 2018-12-06 2018-12-06 메모리 시스템 및 그것의 동작방법

Publications (2)

Publication Number Publication Date
CN111290970A true CN111290970A (zh) 2020-06-16
CN111290970B CN111290970B (zh) 2023-04-07

Family

ID=70971759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910907354.7A Active CN111290970B (zh) 2018-12-06 2019-09-24 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US11169721B2 (zh)
KR (1) KR20200068944A (zh)
CN (1) CN111290970B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048040A (zh) * 2021-03-09 2022-09-13 美光科技公司 基于有效数据的比率的媒体管理操作

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7302497B2 (ja) * 2020-02-07 2023-07-04 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム
KR20210127026A (ko) * 2020-04-13 2021-10-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
CN101118783A (zh) * 2006-09-07 2008-02-06 晶天电子(深圳)有限公司 带有闪存坏块控制系统的电子数据闪存卡
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
CN102279803A (zh) * 2011-04-13 2011-12-14 西安交通大学 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法
US20160179372A1 (en) * 2014-12-17 2016-06-23 Sandisk Technologies Inc. System and method for adaptive memory layers in a memory device
CN106469120A (zh) * 2016-08-30 2017-03-01 华为技术有限公司 碎片整理方法、装置及设备
CN106502592A (zh) * 2016-10-26 2017-03-15 郑州云海信息技术有限公司 固态硬盘缓存块回收方法及系统
CN107122308A (zh) * 2016-02-25 2017-09-01 群联电子股份有限公司 平均磨损方法、内存控制电路单元及内存储存装置
CN108345550A (zh) * 2017-01-23 2018-07-31 爱思开海力士有限公司 存储器系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4956068B2 (ja) * 2006-06-30 2012-06-20 株式会社東芝 半導体記憶装置およびその制御方法
US9021177B2 (en) * 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8537613B2 (en) * 2011-03-31 2013-09-17 Sandisk Technologies Inc. Multi-layer memory system
KR102011059B1 (ko) 2015-03-20 2019-08-16 한국전자통신연구원 스냅샷 이미지 업데이트 장치 및 방법
KR102501751B1 (ko) 2015-09-22 2023-02-20 삼성전자주식회사 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
KR102596964B1 (ko) * 2018-07-31 2023-11-03 에스케이하이닉스 주식회사 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
CN101118783A (zh) * 2006-09-07 2008-02-06 晶天电子(深圳)有限公司 带有闪存坏块控制系统的电子数据闪存卡
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
CN102279803A (zh) * 2011-04-13 2011-12-14 西安交通大学 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法
US20160179372A1 (en) * 2014-12-17 2016-06-23 Sandisk Technologies Inc. System and method for adaptive memory layers in a memory device
CN107122308A (zh) * 2016-02-25 2017-09-01 群联电子股份有限公司 平均磨损方法、内存控制电路单元及内存储存装置
CN106469120A (zh) * 2016-08-30 2017-03-01 华为技术有限公司 碎片整理方法、装置及设备
CN106502592A (zh) * 2016-10-26 2017-03-15 郑州云海信息技术有限公司 固态硬盘缓存块回收方法及系统
CN108345550A (zh) * 2017-01-23 2018-07-31 爱思开海力士有限公司 存储器系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. B. TREMAINE等: "IBM Memory Expansion Technology (MXT)" *
杜晔华: "嵌入式系统中闪速存储器系统的若干节能技术研究" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048040A (zh) * 2021-03-09 2022-09-13 美光科技公司 基于有效数据的比率的媒体管理操作

Also Published As

Publication number Publication date
KR20200068944A (ko) 2020-06-16
US11169721B2 (en) 2021-11-09
CN111290970B (zh) 2023-04-07
US20200183599A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
CN107797882B (zh) 存储器系统及其操作方法
CN110858180B (zh) 数据处理系统及其操作方法
CN110825318B (zh) 控制器及其操作方法
CN109656837B (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
CN108932203B (zh) 数据处理系统和数据处理方法
CN109697171B (zh) 控制器及其操作方法
CN111309638B (zh) 存储器系统及其操作方法
CN110570894A (zh) 存储器系统及该存储器系统的操作方法
US10885992B2 (en) Memory system and operating method thereof
CN110716880B (zh) 存储器系统及其操作方法
CN110045914B (zh) 存储器系统及其操作方法
CN111078584A (zh) 存储器系统及其操作方法
CN111290970B (zh) 存储器系统及其操作方法
CN110825316A (zh) 控制器及该控制器的操作方法
CN111241002A (zh) 存储器系统及其操作方法
CN111145818B (zh) 存储器系统及其操作方法
CN110928806B (zh) 存储器系统及其操作方法
CN110688060B (zh) 存储器系统及该存储器系统的操作方法
US20190355425A1 (en) Memory system and operating method thereof
CN110928486A (zh) 存储器系统及其操作方法
CN111241001B (zh) 数据处理系统及其操作方法
CN110825656A (zh) 存储器系统及其操作方法
CN111176555A (zh) 存储器系统及其操作方法
CN111258920A (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
TR01 Transfer of patent right

Effective date of registration: 20240613

Address after: American Texas

Patentee after: Mimi IP Co.,Ltd.

Country or region after: U.S.A.

Address before: Gyeonggi Do, South Korea

Patentee before: Sk Hynix Inc.

Country or region before: Republic of Korea