CN112214161B - 存储器***及其操作方法 - Google Patents

存储器***及其操作方法 Download PDF

Info

Publication number
CN112214161B
CN112214161B CN202010099611.1A CN202010099611A CN112214161B CN 112214161 B CN112214161 B CN 112214161B CN 202010099611 A CN202010099611 A CN 202010099611A CN 112214161 B CN112214161 B CN 112214161B
Authority
CN
China
Prior art keywords
memory
information
scrub
cumulative number
memory devices
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
CN202010099611.1A
Other languages
English (en)
Other versions
CN112214161A (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 CN112214161A publication Critical patent/CN112214161A/zh
Application granted granted Critical
Publication of CN112214161B publication Critical patent/CN112214161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID 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/0625Power saving in 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/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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/068Hybrid 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及一种存储器***。该存储器***包括:存储器组,包括具有两种或更多种不同类型的多个存储器装置;以及控制器,被配置成控制存储器组的数据输入和输出,其中控制器包括擦洗控制器,该擦洗控制器被配置成收集反映多个存储器装置中的每一个的劣化程度的健康信息,并且基于该健康信息确定多个存储器装置中的每一个的擦洗间隔,该擦洗间隔与劣化程度成比例地减小。

Description

存储器***及其操作方法
相关申请的交叉引用
本申请要求于2019年7月9日向韩国知识产权局提交的申请号为10-2019-0082554的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器***,并且更特别地,涉及一种用于高效数据处理的存储器***及其操作方法。
背景技术
在第四次工业革命中,数据正成为重要的资产,并且对支持以高数据速率传输和分析大规模数据的新技术的需求正在增加。例如,随着人工智能(AI)、自动驾驶、机器人、卫生保健、虚拟现实(VR)、增强现实(AR)和智能家居技术的普及,对服务器或数据中心的需求正在增加。
传统数据中心包括用于在相同设备中计算、联网和存储数据的资源。然而,未来的大规模数据中心可以单独地构造资源,然后逻辑地重组资源。例如,在大规模数据中心中,可以在机柜(rack)级对资源进行模块化,并且可以根据模块化资源的用途来重组和供应模块化资源。因此,需要能够用于未来大规模数据中心的融合存储或存储器装置。
发明内容
在本公开的实施例中,一种存储器***可以包括:存储器组,包括具有两种或多种不同类型的多个存储器装置;以及控制器,被配置成控制存储器组的数据输入和输出,其中控制器包括擦洗(scrubbing)控制器,擦洗控制器被配置成收集反映多个存储器装置中的每一个的劣化程度的健康信息,并且基于该健康信息确定多个存储器装置中的每一个的擦洗间隔,该擦洗间隔与劣化程度成比例地减小。
在本公开的实施例中,一种存储器***的操作方法可以包括:收集反映存储器***中包括的多个存储器装置中的每一个的劣化程度的健康信息;以及基于该健康信息确定多个存储器装置中的每一个的擦洗间隔,其中擦洗间隔与劣化程度成比例地减小。
在下文名称为“具体实施方式”的部分中描述了这些和其它特征、方面和实施例。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本公开的主题的以上和其它方面、特征和优点,在附图中:
图1示出根据本公开的实施例的数据处理***;
图2示出根据本公开的实施例的计算机柜的架构;
图3示出根据本公开的实施例的计算机柜的配置;
图4示出根据本公开的实施例的计算板的配置;
图5示出根据本公开的实施例的存储器板的配置;
图6示出根据本公开的实施例的图5的存储器板的详细配置;并且
图7是示出根据本公开的实施例的存储器***的操作方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的各个实施例。附图是各个实施例(和中间结构)的示意图。这样,由于例如制造技术和/或容差而导致的示图的配置和形状的变化是可预期的。因此,所描述的实施例不应被解释为限于本文所示的特定配置和形状,而是可以包括不脱离如所附权利要求中所限定的本发明的精神和范围的配置和形状的偏差。
本文参考本发明的理想化实施例的横截面和/或平面图示来描述本公开。然而,本发明的实施例不应被解释为限制本发明构思。尽管将示出和描述本发明的一些实施例,但是本领域的普通技术人员将理解的是,在不脱离本发明的原理和精神的情况下,可以对这些实施例进行改变。在整个公开中,在各个附图和实施例中,相同的附图标记表示相同的部件。
图1示出根据实施例的数据处理***10。参照图1,数据处理***10可以包括多个计算机柜20、管理接口30和网络40,该网络40被配置成实现计算机柜20和管理接口30之间的通信。数据处理***10可以具有机柜级架构,并且可以在数据中心等中使用以进行大规模数据处理。
多个计算机柜20中的每一个可与其它计算机柜20组合实现一个计算***。将在后面描述计算机柜20的详细配置和操作。
管理接口30可以为用户提供交互接口,用于控制、操作或管理数据处理***10。管理接口30可以使用包括以下中的任意一种的任何类型的计算装置来实现:计算机、多处理器***、服务器、机柜安装服务器、板服务器、膝上型计算机、台式计算机、平板电脑、穿戴式计算***、网络装置、web装置、分布式计算***、基于处理器的***、客户电子装置等。
在一些实施例中,数据处理***10可以利用分布式***来实施,该分布式***具有待由计算机柜20执行的计算功能和待由管理接口30执行的用户接口功能。在其它实施例中,数据处理***10可以利用包括通过网络40分布的多计算装置的虚拟云服务器来实施。管理接口30可以包括处理器、输入/输出(I/O)子***、存储器、数据存储装置和通信电路。
网络40可以是在计算机柜20和管理接口30之间和/或在计算机柜20之间交换数据的通道。网络40可以由各种有线和/或无线网络实施。例如,网络40可以包括公共可访问的全球网络,诸如有线/无线局域网(LAN)、广域网(WAN)、蜂窝网络和/或因特网。在另一示例中,网络40可以包括一个或多个附属(或辅助)网络装置,诸如附属(或辅助)计算机、路由器和交换机。在另一示例中,网络40可以包括基于接口标准的接口网络,诸如用于加速器的高速缓存一致性互连(CCIX)和GEN-Z。
图2示出根据实施例的计算机柜20的架构。
参照图2,计算机柜20可以不受组件的结构、类型和名称等限制,并且计算机柜20可以包括各种类型的组件。例如,计算机柜20可以包括多个抽屉21至29。多个抽屉21至29中的每一个可以包括多个板。
在各个实施例中,计算机柜20可以通过适当数量的计算板COMPUTE、存储器板MEMORY和/或互连板INTERCONNECT的组合来实施。此处,尽管定义了计算机柜20由多个板的组合来实施,但是可以定义计算机柜20由诸如抽屉、模块、托盘、板、机箱和单元的命名不同的组件来实施。
计算机柜20的部件可以具有根据它们的功能分类和区分的架构以便于实施。计算机柜20可以具有从顶部按照互连板、计算板和存储器板的顺序分类的架构,但是不限于此。计算机柜20和由该计算机柜20实施的计算***可以被称为“机柜级***”或“分离***”。存储器板可以被称为“存储器***”。
在各个实施例中,计算***可以由一个计算机柜20实施。在其它实施例中,计算***可以由包括在两个或更多个计算机柜中的所有组件、包括在两个或更多个计算机柜中的一些组件、或包括在一个计算机柜20中的一些组件来实施。
在各个实施例中,计算***可以通过包括在计算机柜20中的适当数量的计算板、存储器板和互连板的组合来实施。如图2所示,计算机柜20A可以由两个计算板COMPUTE、三个存储器板MEMORY和一个互连板INTERCONNECT的组合来实施。在另一个示例中,计算机柜20B可以由三个计算板COMPUTE、两个存储器板MEMORY和一个互连板INTERCONNECT的组合来实施。在又一示例中,计算机柜20C可以由一个计算板COMPUTE、四个存储器板MEMORY和一个互连板INTERCONNECT的组合来实施。
尽管图2示出计算机柜20由适当数量的计算板、存储器板和互连板的组合来实施的情况,但是计算机柜20可以包括典型服务器中可能包括的附加组件,诸如电源***、冷却***、I/O装置等。
图3示出根据实施例的计算机柜20的配置。
参照图3,计算机柜20可以包括多个计算板200、多个存储器板400和互连板300。多个计算板200可以被称为池式(pooled)计算板、池式计算***等。类似地,多个存储器板可以被称为池式存储器板、池式存储器***等。此处,尽管定义了计算机柜或***由多个板的组合来实施,但是计算机柜或***可以由诸如抽屉、模块、托盘、板、机箱或单元的命名不同的组件来实施。
多个计算板200中的每一个可以包括一个或多个处理元件,在该处理元件中组合了诸如处理器、处理/控制电路、以及中央处理单元(CPU)中的一个或多个的硬件和在硬件上可运行的软件。
多个存储器板400中的每一个可以包括一个或多个存储器,诸如易失性存储器和非易失性存储器。例如,多个存储器板400中的每一个可以包括动态随机存取存储器(DRAM)、闪速存储器、存储卡、硬盘驱动器(HDD)、固态驱动器(SSD)或其组合。
多个存储器板400中的每一个可以由包括在计算板200中的每一个中的一个或多个处理元件来划分、分配或指定并使用。多个存储器板400中的每一个可以存储待由计算板200初始化和/或运行的一个或多个操作***(OS)。
互连板300可以由通信电路、通信装置或它们的组合来实施,可以由包括在计算板200的每一个中的一个或多个处理元件来划分、分配和指定并使用。例如,互连板300可以由任意数量的网络接口端口、接口卡或接口切换装置来实施。互连板300可以使用与用于运行通信的一个或多个有线或无线通信技术相关联的协议。例如,互连板300可以根据诸如高速***组件互连(PCIe)、快速路径互连(QPI)、以太网等协议中的一个或多个来支持计算板200和存储器板400之间的通信。互连板300可以通过诸如CCIX和GEN-Z的接口标准联接到计算板200。
图4示出根据实施例的图3中所示的计算板200的配置。
参照图4,计算板200可以包括多个CPU 210、多个本地存储器220和I/O接口230。
CPU 210可以划分、分配或指定待在图3所示的多个存储器板400之中使用的一个或多个存储器板。CPU 210可以初始化被划分、分配或指定的一个或多个存储器板,并在该一个或多个存储器板上执行数据读取操作、数据写入(或编程)操作等。
本地存储器220可以存储执行CPU 210的操作所需的数据。在各个实施例中,本地存储器220可以与CPU 210一一对应。
I/O接口230可以通过图3的互连板300支持CPU 210与存储器板400之间的接口连接。I/O接口230可以使用与一种或多种有线或无线通信技术相关联的协议,将来自CPU 210的数据输出到互连板300,并将来自互连板300的数据输入到CPU 210。例如,I/O接口230可以根据诸如PCIe、QPI、以太网等协议中的一个或多个来支持CPU 210和互连板300之间的通信。I/O接口230可以根据诸如CCIX和GEN-Z的接口标准来支持CPU 210和互连板300之间的通信。
图5示出根据实施例的图3所示的存储器板400的配置。
参照图5,存储器板400可以包括控制器410和存储器装置组420。该存储器装置组420可以包括两个或更多个存储器组,例如,第一至第三存储器组。第一至第三存储器组可以根据控制器410的控制来存储(或写入)数据并输出(或读取)所存储的数据。第一至第三存储器组可以根据控制器410的控制执行擦洗(scrubbing)操作。可以执行擦洗操作,以通过周期性地检查存储在第一至第三存储器组中的数据是正常还是异常并且校正数据的错误来保持和管理存储在第一至第三存储器组中的数据,从而确保存储在第一至第三存储器组中的数据的可靠性。第一、第二和第三存储器组中的每一个可以包括多个存储器。第一存储器组包括多个第一存储器装置420A。第二存储器组包括多个第二存储器装置420B。第三存储器组包括多个第三存储器装置420C。
第一存储器装置420A、第二存储器装置420B和第三存储器装置420C可以具有相同的特性或不同的特性。在各个实施例中,第一存储器装置420A、第二存储器装置420B和第三存储器装置420C可以在存储容量或延迟方面具有不同的特性。第一和第二存储器装置420A和420B可以分别包括寄存器421A和421B,每个寄存器存储模式寄存器组(MRS)作为操作参数,并且第三存储器装置420C可以包括内容可寻址存储器(CAM)421C。第一存储器装置420A可以是DRAM。第二存储器装置420B可以是相变随机存取存储器(PCRAM)。第三存储器装置420C可以是闪速存储器。然而,第一、第二和第三存储器装置420A、420B和420C不限于此。操作参数可以包括与例如第一、第二和第三存储器装置420A、420B和420C的存储器装置的操作相关的偏置设置信息、时序参数、操作模式、操作选项等,但其此不限于此。
在实施例中,弱单元的数量和弱单元在存储器装置420A、420B和420C中的位置可以存储在寄存器421A和421B以及CAM 421C中。这将在后面描述。
控制器410可以包括擦洗控制器510、存储器控制器(MC0、MC1和MC2)520A、520B和520C以及I/O接口530。
存储器控制器520A、520B和520C可以分别对应于第一、第二和第三存储器装置420A、420B和420C。存储器控制器520A、520B和520C可以分别包括错误检查和校正(ECC)电路单元521A、521B和521C。ECC电路单元521A、521B和521C可以分别检测和校正从存储器装置420A、420B和420C读取的数据中的错误位,并且对错误位的数量进行计数。
存储器控制器520A、520B和520C之中被配置成控制非易失性存储器装置420B和420C的存储器控制器520B和520C可以进一步分别包括损耗均衡管理单元(WL)523B和523C。
损耗均衡管理单元523B、523C中的每一个可以存储允许对非易失性存储器装置420B、420C中的每一个进行的编程/擦除(P/E)循环的数量和P/E循环的累计数量,或存储允许对存储器装置420B、420C中的每一个进行的写入的数量和写入的累计数量。损耗均衡管理单元523B和523C可以控制对构成非易失性存储器装置420B和420C的存储器区域(存储体、块等)的损耗均衡的水平。随着使用非易失性存储器装置420B和420C中的每一个的时段的增加,可以通过对非易失性存储器装置420B和420C中的每一个重复地执行P/E操作或写入操作来增加P/E循环的累计数量或写入的累计数量。
擦洗控制器510可以从分别对应于存储器装置420A、420B和420C的存储器控制器520A、520B和520C接收存储器装置420A、420B和420C的健康信息。该健康信息可以根据存储器装置420A、420B和420C的类型而使用不同的因素。在实施例中,存储器装置420A、420B和420C之中诸如PCRAM或闪速存储器的非易失性存储器装置的健康信息可以包括损耗均衡信息、弱单元信息和错误检查和校正(ECC)信息中的至少一个,并且存储器装置420A、420B和420C之中易失性存储器装置的健康信息可以包括弱单元信息和ECC信息中的至少一个。因此,存储器控制器520A、520B和520C可以收集存储器装置420A、420B和420C的健康信息。擦洗控制器510可以基于从存储器控制器520A、520B和520C接收的健康信息来确定存储器装置420A、420B和420C的擦洗间隔。擦洗间隔可以表示用于对存储器装置执行擦洗操作的时间时段。
损耗均衡信息可以是指示存储器装置420A、420B和420C是否可以正常编程数据的因素。例如,损耗均衡信息可以包括允许对非易失性存储器装置420B和420C进行的P/E周期的数量和P/E循环的累计数量,或者包括允许对存储器装置420A、420B和420C进行的写入的数量和写入的累计数量。
弱单元信息可以是包括在存储器装置420A、420B和420C中的每一个的弱单元的数量的信息或包括弱单元的存储器区域的信息。弱单元可以是由于数据保持时间短于正常单元的数据保持时间而具有高失败概率的存储器单元。易失性存储器装置中的弱单元可以是数据保持时间短于参考时间的存储器单元。非易失性存储器装置中的弱单元可以是阈值电压在参考范围之外的存储器单元。
ECC信息可以是错误位的累计数量或错误发生频率大于预设阈值的存储器区域的信息,从存储器装置420A、420B和420C中的每一个输出的数据所检测的错误位的累计数量或错误发生频率大于预设阈值。
在实施例中,当存储器板400首次启动时、每当存储器板400再次启动时以及在存储器板400操作的同时的每个预设间隔,擦洗控制器510可以从存储器控制器520A、520B和520C接收健康信息,并且存储和更新健康信息。擦洗控制器510可基于所存储的健康信息,例如健康信息的一个或多个因素来确定存储器装置420A、420B和420C的擦洗间隔。擦洗控制器510可以在确定的擦洗间隔对存储器装置420A、420B和420C执行擦洗操作。
擦洗控制器510可以基于更新的健康信息再次确定擦洗间隔。
I/O接口530可以通过图3的互连板300支持存储器板400和计算板200之间的接口连接。I/O接口530可以使用与一个或多个有线或无线通信技术相关联的协议,将传输数据从存储器板400输出到互连板300,并且将接收数据从互连板300输入到存储器板400。例如,I/O接口530可以根据诸如PCIe、QPI、以太网等协议中的一个或多个来支持擦洗控制器510和互连板300之间的通信。I/O接口530可根据诸如CCIX和GEN-Z的接口标准支持擦洗控制器510和互连板300之间的通信。
如上所述,诸如数据中心的服务器***或数据处理***可以具有诸如计算板和存储装置或存储器板的多个板被分类并安装在单元机柜上的架构。例如,具有彼此不同的特性的多个存储器可以被包括在一个存储器板中以满足各种用户工作负载。在该示例中,一个存储器板可以是融合存储器板,其中融合诸如DRAM、PCRAM、磁性RAM(MRAM)、自旋力矩转移磁性RAM(STT-RAM)和闪速存储器的多个存储器。由于在融合存储器板中的存储器具有彼此不同的特性,所以融合存储器板可以用于各种使用模型。
图6示出根据实施例的图5的存储器板400的配置。特别地,图6示出图5的擦洗控制器510的详细结构。
如上参照图5所述,存储器板400可以包括控制器410以及多个存储器装置420A、420B和420C。
多个存储器装置420A、420B和420C可以为不同类型的存储器装置。在各个实施例中,多个存储器装置420A、420B和420C中的每一者可以选自包含DRAM、受管理DRAM解决方案(a managed DRAM solution,MDS)、PCRAM、NAND闪速存储器等的易失性和非易失性存储器装置。
例如,多个存储器装置420A、420B和420C可以是按第一存储器装置420A、第二存储器装置420B和第三存储器装置420C的顺序具有更高数据处理速率的存储器装置。在另一示例中,多个存储器装置420A、420B和420C可以是按第三存储器装置420C、第二存储器装置420B和第一存储器装置420A的顺序具有更大存储器容量的存储器装置。第一存储器装置420A可以是易失性存储器装置,第二和第三存储器装置420B和420C可以是非易失性存储器装置。
控制器410可以包括擦洗控制器510、I/O接口530以及存储器控制器520A、520B和520C。因为I/O接口530和存储器控制器520A、520B和520C已经参照图5进行了描述,因此将省略对它的详细描述。
擦洗控制器510可以包括存储器装置操作参数(MDOP)存储电路610、擦洗调度器630和处理器650。
MDOP存储电路610可以存储存储器装置420A、420B和420C的擦洗间隔的初始值,并存储健康信息,例如从存储器控制器520A、520B和520C读取的存储器装置420A、420B和420C的损耗均衡信息、弱单元信息和ECC信息中的至少一个。例如,当存储器板400首次启动时、每当存储器板400再次启动时以及在存储器板400操作的同时的每个预设间隔,MDOP存储电路610可以接收和更新存储器装置420A、420B和420C的健康信息。
擦洗调度器630可以从MDOP存储电路610接收擦洗间隔的初始值和健康信息,并且基于全部健康信息或部分健康信息来确定存储器装置420A、420B和420C的擦洗间隔。擦洗调度器630可以将所确定的擦洗间隔传输到存储器控制器520A、520B和520C,并且存储器控制器520A、520B和520C可以根据接收的擦洗间隔分别控制存储器装置420A、420B和420C的擦洗操作。擦洗调度器630可以周期性地接收健康信息并且基于健康信息确定擦洗间隔,因此擦洗调度器630可以基于健康信息维持或改变存储器装置420A、420B和420C的擦洗间隔。
在实施例中,擦洗调度器630可以基于损耗均衡信息来确定擦洗间隔。损耗均衡信息可以包括允许对存储器装置420A、420B和420C进行的P/E循环的数量和P/E循环的累计数量,或允许对存储器装置420A、420B和420C进行的写入的数量和写入的累计数量。随着P/E循环的累计数量或写入的累计数量的增加,或者随着P/E循环的累计数量或写入的累计数量接近P/E循环的允许数量或写入的允许数量,擦洗调度器630可以减小存储器装置420A、420B和420C的擦洗间隔。在实施例中,在P/E循环的累计数量或写入的累计数量达到P/E循环的允许数量或写入的允许数量之前,随着P/E循环的累计数量或写入的累计数量增加并因此进入预定范围,擦洗调度器630可以逐渐减小存储器装置420A、420B和420C的擦洗间隔。
在实施例中,擦洗调度器630可以随着错误位的累计数量的增加而减少擦洗间隔。擦洗调度器630可以收集构成存储器装置420A、420B和420C中的每一个的存储器区域(例如,存储体、块等)的错误发生频率作为健康信息,并减小错误发生频率高于预设阈值的存储器区域的擦洗间隔。
在实施例中,擦洗调度器630可以接收弱单元的数量的信息和包括弱单元的存储器区域的信息作为健康信息。随着弱单元的数量增加,擦洗调度器630可以减小存储器装置420A、420B和420C的擦洗间隔,或者减小包括弱单元的存储器区域(存储体、块等)的擦洗间隔。
擦洗调度器630可以通过组合健康信息的损耗均衡信息、弱单元信息和ECC信息的全部或部分来确定存储器装置420A、420B和420C的擦洗间隔。
在实施例中,擦洗调度器630可以通过考虑损耗均衡信息和ECC信息或者通过考虑损耗均衡信息和弱单元信息来确定擦洗间隔。例如,当在P/E循环的累计数量或写入的累计数量增加的状态下错误位的数量或弱单元的数量小于预设阈值时,擦洗调度器630可以确定相应的存储器装置420A、420B或420C劣化的较少。
因此,在存储器装置以某一水平或更高水平进行损耗均衡的状态下,当存储器装置中的错误位的数量或弱单元的数量相对较大时,例如大于预设阈值时,擦洗调度器630可以减小擦洗间隔,并且当错误位的数量或弱单元的数量相对较小时,例如小于预设阈值时,可以不减小擦洗间隔。因此,可以减小存储器装置的功耗。
处理器650可以控制擦洗控制器510的全部操作。处理器650可以以硬件和在该硬件上可运行的软件的组合来配置。
如上文所描述,在本公开的实施例中,可以根据存储器装置420A、420B和420C的健康信息来改变擦洗间隔。例如,在产品中存储器装置420A、420B和420C具有极好的健康水平的早期使用阶段,可以通过增加擦洗间隔来使执行擦洗操作所需的功耗最小化。然后,使用存储器装置420A、420B和420C的时段增加,其擦洗间隔因此可以减小,使得由于存储器装置420A、420B和420C中存储器单元的老化而发生的错误被及时检测和校正。
图7是说明根据实施例的存储器***的操作方法的流程图。将参照图6描述图7的操作方法。
当存储器板400首次启动时或每当存储器板400再次启动时,控制器410可以收集和更新多个存储器装置420A、420B和420C的健康信息。该健康信息可以存储在存储器板400的擦洗控制器510的MDOP存储电路610中。
MDOP存储电路610可以存储擦洗间隔的初始值以及多个存储器装置420A、420B和420C的健康信息。
在S101,擦洗控制器510可以从MDOP存储电路610读取存储器装置420A、420B和420C的擦洗间隔的初始值,并且在S103,擦洗控制器510可以从MDOP存储电路610读取存储器装置420A、420B和420C的健康信息。
在S105,擦洗调度器630可以基于健康信息确定擦洗间隔。
下面将详细描述确定擦洗间隔的进程S105。
在实施例中,擦洗调度器630可以确定待用于确定擦洗间隔的健康信息的类型。
当健康信息是损耗均衡信息时,该损耗均衡信息可以包括允许对存储器装置420A、420B和420C进行的编程/擦除(P/E)循环的数量和P/E循环的累计数量,或允许对存储器装置420A、420B和420C进行的写入的数量和写入的累计数量。随着P/E循环的累计数量或写入的累计数量增加,或者随着P/E循环的累计数量或写入的累计数量接近P/E循环的允许数量或写入的允许数量,擦洗调度器630可以减小存储器装置420A、420B和420C的擦洗间隔。
当健康信息是ECC信息时,ECC信息可以包括错误位的累计数量。擦洗调度器630可以根据错误位的累计数量的增加而减小擦洗间隔。ECC信息可以包括存储区域(例如,存储体、块等)中的每一个的错误发生频率。擦洗调度器630可以改变构成存储器装置420A、420B和420C的存储器区域中的每一个的擦洗间隔。例如,擦洗调度器630可以减小错误发生频率大于预设阈值的存储器区域的擦洗间隔。
当健康信息是弱单元信息时,弱单元信息可以包括弱单元的数量和包括弱单元的存储器区域的信息。擦洗调度器630可以根据弱单元的数量的增加程度来减小存储器装置420A、420B和420C的擦洗间隔,或者减小包括弱单元的存储器区域的擦洗间隔。
健康信息可以包括损耗均衡信息、ECC信息和弱单元信息中的两个或更多个。
在实施例中,健康信息可以包括损耗均衡信息和ECC信息,或者包括损耗均衡信息和弱单元信息。当在P/E循环的累计数量或写入的累计数量增加到大于第一阈值的状态下错误位的数量或弱单元的数量小于第二阈值时,擦洗调度器630可以确定存储器装置组420中的相应存储器装置劣化的较少。因此,在存储器装置在与第一阈值对应的某一水平或更高水平被损耗均衡的状态下,当错误位的数量或弱单元的数量相对较大时,例如当错误位的数量或弱单元的数量等于或大于第二阈值时,擦洗调度器630可以减小擦洗间隔。然而,当错误位的数量或弱单元的数量相对较小时,例如当错误位的数量或弱单元的数量小于第二阈值时,擦洗调度器630可以不减小擦洗间隔。因此,可以减小存储器装置420A、420B和420C的功耗。
可以将擦洗调度器630确定的擦洗间隔提供到存储器控制器520A、520B和520C。
在S107中,存储器控制器520A、520B和520C可以确定是否已经到达擦洗间隔。当在S107确定已经到达擦洗间隔时,在S109中,存储器控制器520A、520B和520C可以向存储器装置420A、420B和420C传输擦洗命令,以对存储器装置420A、420B和420C执行擦洗操作。然后,控制器410可以进行到进程S103,并通过反映根据存储器装置420A、420B和420C的使用而更新的健康信息来再次确定擦洗间隔。
另一方面,当在S107中确定还没有到达擦洗间隔时,存储器控制器520A、520B和520C可以等待直到到达擦洗间隔。当等待之后已经到达擦洗间隔时,在S109中,存储器控制器520A、520B和520C可以将擦洗命令传输到存储器装置420A、420B和420C。
根据实施例的存储器***可以基于反映存储器装置420A、420B和420C的劣化程度的健康信息来确定存储器装置420A、420B和420C的擦洗间隔。例如,因为存储器装置随着该存储器装置编程的累计数量或写入的累计数量增加而进一步劣化,所以存储器装置的擦洗间隔可以随着存储器装置的使用数量或使用时段增加而被减小。
因为存储器装置随着弱单元的数量或错误位的数量增加而进一步劣化,所以可以减小设置弱单元或出现错误位的存储器区域的擦洗间隔。
因此,在存储器装置的早期使用阶段,可以通过增加擦洗间隔来减小执行擦洗操作所需的功耗。可根据存储器装置的劣化水平来控制擦洗间隔,因此可以及时检测和校正由于存储器装置中的存储器单元的老化而发生的错误。
本公开的上述实施例旨在说明而非限制本发明。各种可选方案和等同方案是可能的。本发明不受本文所述实施例的限制。本发明也不限于任何特定类型的半导体装置。鉴于本公开,其它增加、减少或修改是显而易见的,并且旨在落入所附权利要求的范围内。

Claims (8)

1.一种存储器***,包括:
存储器组,包括具有两种或更多种不同类型的多个存储器装置;以及
控制器,控制所述存储器组的数据输入和输出,
存储器装置操作参数存储电路即MDOP存储电路,收集并存储反映所述多个存储器装置中的每一个的劣化程度的健康信息;以及
擦洗调度器,基于所述健康信息确定所述多个存储器装置中的每一个的擦洗间隔,所述擦洗间隔与所述劣化程度成比例地减小,
其中,所述健康信息包括损耗均衡信息,并且包括弱单元信息和错误检查和校正信息即ECC信息中的一个或两个,并且
其中,在所述损耗均衡信息等于或大于第一阈值,所述弱单元信息包括弱单元的累计数量,所述ECC信息包括错误位的累计数量的状态下,在所述弱单元的累计数量或所述错误位的累计数量等于或大于第二阈值时,所述擦洗调度器减小所述擦洗间隔。
2.根据权利要求1所述的存储器***,其中,所述损耗均衡信息包括允许对所述多个存储器装置中的每一个进行的编程/擦除循环即P/E循环的数量和P/E循环的累计数量,或者包括允许对所述多个存储器装置中的每一个进行的写入的数量和写入的累计数量。
3.根据权利要求2所述的存储器***,其中,所述弱单元信息进一步包括关于包括所述弱单元的存储器区域的信息,
在所述P/E循环的累计数量或所述写入的累计数量等于或大于所述第一阈值的状态下,在所述弱单元的累计数量等于或大于所述第二阈值时,所述擦洗调度器减小所述擦洗间隔。
4.根据权利要求2所述的存储器***,其中,所述ECC信息进一步包括关于发生所述错误位的存储器区域的信息,
在所述P/E循环的累计数量或所述写入的累计数量等于或大于所述第一阈值的状态下,在所述错误位的累计数量等于或大于所述第二阈值时,所述擦洗调度器减小所述擦洗间隔。
5.一种存储器***的操作方法,所述方法包括:
收集反映所述存储器***中包括的多个存储器装置中的每一个的劣化程度的健康信息;并且
基于所述健康信息确定所述多个存储器装置中的每一个的擦洗间隔,
其中,所述健康信息包括损耗均衡信息,并且包括弱单元信息和错误检查和校正信息即ECC信息中的一个或两个,并且
其中,在所述损耗均衡信息等于或大于第一阈值,所述弱单元信息包括弱单元的累计数量,所述ECC信息包括错误位的累计数量的状态下,在所述弱单元的累计数量或所述错误位的累计数量等于或大于第二阈值时,所述擦洗间隔减小。
6.根据权利要求5所述的方法,其中所述损耗均衡信息包括允许对所述多个存储器装置中的每一个进行的编程/擦除循环即P/E循环的数量和P/E循环的累计数量,或者包括允许对所述多个存储器装置中的每一个进行的写入的数量和写入的累计数量。
7.根据权利要求6所述的方法,其中所述弱单元信息进一步包括关于包括所述弱单元的存储器区域的信息,并且
确定所述擦洗间隔包括在所述P/E循环的累计数量或所述写入的累计数量等于或大于所述第一阈值的状态下,在所述弱单元的累计数量等于或大于所述第二阈值时,减小擦洗间隔。
8.根据权利要求6所述的方法,其中,所述ECC信息进一步包括关于发生所述错误位的存储器区域的信息,并且
确定所述擦洗间隔包括在所述P/E循环的累计数量或所述写入的累计数量等于或大于所述第一阈值的状态下,在所述错误位的累计数量等于或大于所述第二阈值时,减小擦洗间隔。
CN202010099611.1A 2019-07-09 2020-02-18 存储器***及其操作方法 Active CN112214161B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190082554A KR20210006664A (ko) 2019-07-09 2019-07-09 메모리 시스템 및 그것의 동작방법
KR10-2019-0082554 2019-07-09

Publications (2)

Publication Number Publication Date
CN112214161A CN112214161A (zh) 2021-01-12
CN112214161B true CN112214161B (zh) 2024-02-09

Family

ID=74058538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010099611.1A Active CN112214161B (zh) 2019-07-09 2020-02-18 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US11182099B2 (zh)
KR (1) KR20210006664A (zh)
CN (1) CN112214161B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506420A (zh) * 2019-09-16 2021-03-16 伊姆西Ip控股有限责任公司 在存储***中管理擦洗操作的方法、设备和产品
US20220244870A1 (en) * 2021-02-03 2022-08-04 Alibaba Group Holding Limited Dynamic memory coherency biasing techniques

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092764A (zh) * 2011-10-31 2013-05-08 苹果公司 用于获得和使用非易失性存储器健康信息的***和方法
CN104731523A (zh) * 2013-12-24 2015-06-24 国际商业机器公司 非易失性分级存储***中的协同管理的方法及其控制器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7882314B2 (en) * 2007-09-07 2011-02-01 International Business Machines Corporation Efficient scheduling of background scrub commands
US7661045B2 (en) 2007-12-19 2010-02-09 International Business Machines Corporation Method and system for enterprise memory management of memory modules
US8255772B1 (en) 2008-06-18 2012-08-28 Cisco Technology, Inc. Adaptive memory scrub rate
US9037928B2 (en) * 2012-01-01 2015-05-19 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
US9454451B2 (en) * 2013-02-11 2016-09-27 Arm Limited Apparatus and method for performing data scrubbing on a memory device
KR102085127B1 (ko) * 2013-11-13 2020-04-14 삼성전자주식회사 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치
US10997516B2 (en) * 2017-12-15 2021-05-04 Dell Products L.P. Systems and methods for predicting persistent memory device degradation based on operational parameters
US11169730B2 (en) * 2019-06-06 2021-11-09 Micron Technology, Inc. Scrub rate control for a memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092764A (zh) * 2011-10-31 2013-05-08 苹果公司 用于获得和使用非易失性存储器健康信息的***和方法
CN104731523A (zh) * 2013-12-24 2015-06-24 国际商业机器公司 非易失性分级存储***中的协同管理的方法及其控制器

Also Published As

Publication number Publication date
US20210011651A1 (en) 2021-01-14
KR20210006664A (ko) 2021-01-19
US11182099B2 (en) 2021-11-23
CN112214161A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
CN110008149B (zh) 融合式存储器件及其操作方法
US11636014B2 (en) Memory system and data processing system including the same
US11243716B2 (en) Memory system and operation method thereof
CN111399757B (zh) 存储器***及其操作方法
US20200348871A1 (en) Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices
CN112214161B (zh) 存储器***及其操作方法
US11461024B2 (en) Computing system and operating method thereof
EP4109271A2 (en) Memory chip with per row activation count having error correction code protection
US11036399B2 (en) Memory system and operating method of the memory system
US11221931B2 (en) Memory system and data processing system
US11016666B2 (en) Memory system and operating method thereof
US10928871B2 (en) Computing device and operation 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