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

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

Info

Publication number
CN110389847A
CN110389847A CN201910312060.XA CN201910312060A CN110389847A CN 110389847 A CN110389847 A CN 110389847A CN 201910312060 A CN201910312060 A CN 201910312060A CN 110389847 A CN110389847 A CN 110389847A
Authority
CN
China
Prior art keywords
memory device
memory
storage system
target data
defective
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910312060.XA
Other languages
English (en)
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
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110389847A publication Critical patent/CN110389847A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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
    • 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/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory 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/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/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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/16General purpose computing application
    • G06F2212/163Server or database system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种存储系统及其操作方法。一种存储系统可以包括:多个存储器件,每个存储器件包括用户区域和超额配置区域(OP区域);以及控制器,其被配置为控制多个存储器件,其中控制器包括:检测电路,其被配置为检测多个存储器件之中的有缺陷的存储器件;选择电路,其被配置为选择多个存储器件之中除了有缺陷的存储器件之外的可用存储器件;以及处理器,其被配置为将储存在有缺陷的存储器件中的目标数据移动到可用存储器件的OP区域中。

Description

存储系统及其操作方法
相关申请的交叉引用
本申请要求2018年4月23日提交的申请号为10-2018-0046707的韩国专利申请的优先权,其通过引用整体合并于此。
技术领域
本公开的各种实施例总体而言涉及一种被配置为处理数据的存储系统以及该存储系统的操作方法。
背景技术
数据成为了第四次工业革命中的重要资产,并且对支持以高数据速率传输并分析大规模数据的新技术的需求不断增加。例如,随着人工智能、自动驾驶、机器人、医疗保健、虚拟现实(VR)、增强现实(AR)和智能家居技术的普及,对服务器或数据中心的需求不断增加。
传统数据中心包括用于在同一设备中计算、联网和储存数据的资源。但是,未来的大规模数据中心可能具有逻辑上重构的单独构建资源。例如,在大规模数据中心中,资源可以在机架级被模块化,并且模块化资源可以根据用途被重构并提供。因此,需要一种能够用于未来大规模数据中心的融合式储存器或存储器件。
发明内容
根据一实施例,一种存储系统可以包括:多个存储器件,每个存储器件包括用户区域和超额配置区域(OP区域);以及控制器,其被配置为控制多个存储器件,其中控制器包括:检测电路,其被配置为检测多个存储器件之中的有缺陷的存储器件;选择电路,其被配置为选择多个存储器件之中除了有缺陷的存储器件之外的可用存储器件;以及处理器,其被配置为将储存在有缺陷的存储器件中的目标数据移动到可用存储器件的OP区域中。
根据一实施例,一种存储系统的操作方法可以包括:检测多个存储器件之中的有缺陷的存储器件;选择多个存储器件之中除了有缺陷的存储器件之外的可用存储器件;以及将储存在有缺陷的存储器件中的目标数据移动到可用存储器件的OP区域中。
根据一实施例,一种计算系统可以包括:多个存储系统;以及存储系统管理单元(MMU),其被配置为与多个存储系统通信,其中每个存储系统包括多个存储器件和控制器,每个存储器件包括用户区域和OP区域,控制器被配置为控制多个存储器件,其中控制器包括:检测电路,其被配置为监测关于各个存储器件的可靠性的信息,以及将关于存储器件的可靠性的信息具有比预设阈值低的值的该存储器件检测为有缺陷的存储器件;管理电路,其被配置为储存各个存储器件的OP区域的可用性信息,并且储存各个存储器件的存储器映射;选择电路,其被配置为基于可用性信息来选择多个存储器件之中除了有缺陷的存储器件之外的可用存储器件;以及处理器,其被配置为将储存在有缺陷的存储器件中的目标数据移动到可用存储器件的OP区域中。
附图说明
图1是示出根据本公开的实施例的数据处理系统的框图。
图2和图3示出了根据本公开的一实施例的计算机架。
图4是示出根据本公开的一实施例的计算板的框图。
图5是示出根据本公开的一实施例的存储板的框图。
图6示出了根据本公开的一实施例的存储器件的结构。
图7示出了根据本公开的一实施例的存储系统的结构。
图8是示出根据本公开的一实施例的数据控制器的操作的流程图。
图9是示出根据本公开的一实施例的数据控制器的操作的流程图。
图10示出了根据本公开的一实施例的计算系统的结构。
图11是示出根据本公开的一实施例的计算系统的操作的流程图。
图12是示出根据本公开的一实施例的计算系统的操作的流程图。
具体实施方式
下面将参考附图描述本公开的各种实施例。然而,本公开的元件和特征可以与所公开的实施例中示出和描述的不同地配置或布置。因此,实施方式不限于本文中所阐述的实施例。相反,提供这些实施例是为了使本公开彻底和完整,并且向本领域技术人员充分传达本公开的范围。贯穿本公开,在本公开的各个附图和实施例中,相同的附图标记指代相同的部件。此外,在整个说明书中,提及“一实施例”、或“另一实施例”等并非必然指仅仅一个实施例,并且对任意这样的措辞的各种提及并非必然指相同的实施例。
本公开的实施例可以针对一种能够在维持存储系统的可用性的同时修复坏存储器件的存储系统及其操作方法。
图1是示出数据处理系统10的框图。参考图1,数据处理系统10可以包括多个计算机架20、管理接口30和用于计算机架20与管理接口30之间的通信的网络40。具有这种机架级架构(rack scale architecture)的数据处理系统10可以由数据中心用于处理大规模数据。
每个计算机架20可以单独地实现一个计算设备。可选地,每个计算机架20可以与一个或更多个其他计算机架组合以实现一个计算设备。下面描述计算机架20的示例结构和操作。
管理接口30可以为用户提供交互式界面,以控制、支配或管理数据处理系统10。管理接口30可以被实现为任意类型的计算设备,该计算设备包括计算机、多处理器系统、服务器、机架式服务器(rack-mount server)、板服务器(board server)、膝上型电脑、笔记本电脑、平板电脑、可穿戴式计算设备、网络设备、网站设备、分布式计算系统、基于处理器的系统、以及消费型电子设备等中的任意一种。
在本公开的一些实施例中,管理接口30可以实现为分布式系统,该分布式系统具有可以由计算机架20执行的操作功能或者具有可以由管理接口30执行的用户界面功能。在本公开的其他实施例中,管理接口30可以实现为虚拟云服务器,其包括通过网络40分布的多计算设备。管理接口30可以包括处理器、输入/输出子系统、存储器、数据储存器件、以及通信电路等。
网络40可以在计算机架20与管理接口30之间和/或在计算机架20之间提供和/或接收数据。网络40可以用适当数量的各种有线和/或无线网络来实现。例如,网络40可以包括可公共访问的全球网络,诸如有线或无线局域网(LAN)、广域网(WAN)、蜂窝网络和/或因特网。另外,网络40可以包括适当数量的辅助网络设备,诸如辅助计算机、路由器、以及交换机等。
图2示出了根据本公开的一实施例的计算机架的架构。
参考图2,计算机架20可以包括各种形式和结构的组成元件。例如,计算机架20可以包括多个抽屉21至29。抽屉21至29中的每个抽屉可以包括多个模块,每个模块可以包括多个板。
在本公开的各种实施例中,计算机架20可以通过适当数量的计算板、存储板和/或互连板的组合来实现。计算机架20被描述为板的组合,但是计算机架20也可以由其他元件(诸如抽屉(drawer)、模块(module)、托盘(tray)、板(board)、框格(sash)或其他合适的单元)来实现。计算机架20可以具有其组成元件根据其功能分解和分类的结构。计算机架20可以具有从上到下分类顺序为互连板、计算板和存储板的结构,尽管计算机架20不限于这种结构。计算机架20和包括计算机架20的计算设备可以被称为“机架级系统”或“分解系统”。
在本公开的实施例中,计算设备可以被实现为一个计算机架20。在其他实施例中,计算设备可以由两个或更多个计算机架20的全部或一些构成元件或者一个计算机架20的一些构成元件来实现。
在本公开的各种实施例中,计算设备可以通过包括在计算机架20中的适当数量的计算板、存储板和互连板的组合来实现。如图2所示,计算机架20A可以包括两个计算板、三个存储板和一个互连板。在其他示例中,计算机架20B可以包括三个计算板、两个存储板和一个互连板。在其他示例中,计算机架20C可以包括一个计算板、四个存储板和一个互连板。
尽管图2示出了计算机架20包括适当数量的计算板、存储板和互连板的示例,但是计算机架20可以包括被包括在典型服务器(诸如电力系统、冷却系统、输入/输出设备等)中的另外的构成元件。
图3示出了根据本公开的实施例的计算设备100。
参考图3,计算设备100可以包括多个计算板200、多个存储板400和互连板300。计算板200可以是池式计算板或池式计算系统。存储板可以是池式存储板或池式存储系统。计算设备100被描述为多个板的组合,但是计算设备100也可以由诸如抽屉、模块、托盘、板、框格或其他合适单元的元件来实现。
每个计算板200可以包括诸如处理器、处理/控制电路、以及中央处理单元(CPU)等的处理元件中的一个或更多个。
每个存储板400可以包括一个或更多个存储器,诸如易失性存储器、非易失性存储器或其组合。例如,每个存储板400可以包括动态随机存取存储器(DRAM)、快闪存储器、存储卡、硬盘驱动器(HDD)、固态驱动器(SSD)或其组合。
每个存储板400可以由包括在每个计算板200中的一个或更多个处理元件来划分、分配或指定并由其使用。此外,每个存储板400可以储存一个或更多个操作系统(OS),该操作系统(OS)可以由计算板200初始化和/或运行。
互连板300可以包括通信电路、通信设备或其组合,其可以由包括在每个计算板200中的一个或更多个处理元件来划分、分配或指定并由其使用。例如,互连板300可以由任何合适数量的网络接口端口、接口卡或接口交换机来实现。互连板300可以使用与一种或更多种有线通信技术相关的协议进行通信。例如,互连板300可以基于诸如外围组件互连express(PCIe)、快速路径互连(QPI)、以及以太网等协议中的一种或更多种来支持计算板200与存储板400之间的通信。
图4是示出根据本公开的实施例的计算板200的框图。
参考图4,计算板200可以包括一个或更多个中央处理单元(CPU)210、一个或更多个局部存储器220以及输入/输出(I/O)接口230。
CPU 210可以划分、分配或指定图3所示的存储板400之中要使用的一个或更多个存储板。此外,CPU 210可以使一个或更多个存储板初始化,并且对一个或更多个存储板执行数据读取操作和/或数据写入(即,编程)操作。
局部存储器220可以储存数据以执行CPU 210的操作。在本公开的各种实施例中,局部存储器220可以与CPU 210一一对应。
输入/输出接口230可以通过图3的互连板300支持CPU 210与存储板400之间的交互。输入/输出接口230可以使用与一种或更多种有线通信技术有关的协议,将来自CPU 210的数据输出并提供给互连板300,以及接收从互连板300输入给CPU 210的数据。例如,输入/输出接口230可以使用诸如外围组件互连快速(PCIe)、快速路径互连(QPI)、以及以太网等协议中的一种或更多种来支持CPU 210与互连板300之间的通信。
图5是示出根据本公开的实施例的存储板400的框图。
参考图5,存储板400可以包括控制器410和多个存储器420。多个存储器420可以在控制器410的控制下将数据存储(或写入)在其中,并且输出(或读取)所储存的数据。多个存储器420可以包括多个(a plurality of)第一存储器件420A、多个第二存储器件420B和多个第三存储器件420C。第一存储器件420A、第二存储器件420B和第三存储器件420C中的每个可以包括许多(multiple)存储器或复数个存储器件。第一存储器件420A、第二存储器件420B和第三存储器件420C可以具有相同的特性或不同的特性。根据本公开的各种实施例,在容量或延时(latency)方面,第一存储器件420A、第二存储器件420B和第三存储器件420C可以包括具有相同特性的存储器或者具有不同特性的存储器。
控制器410可以包括数据控制器510、存储器控制器(MC)520A至520C以及输入/输出(I/O)接口530。
数据控制器510可以控制在多个存储器420中包括的存储器与图3的计算板200之间提供和接收的数据。例如,响应于写入请求或命令,数据控制器510可以从计算板200接收写入数据,并且控制用于将写入数据写入多个存储器420之中的相应存储器的写入操作。在读取操作中,响应于读取请求或命令,数据控制器510可以读出储存在多个存储器420之中的特定存储器中的数据,并且控制用于将读取的数据输出到计算板200之中的相应计算板的读取操作。
存储器控制器520A至520C可以设置在数据控制器510与来自多个存储器420的存储器之间,并且可以支持在数据控制器510与多个存储器420中包括的存储器之间的交互。存储器控制器520A至520C可以包括第一存储器控制器(iMC0)520A、第二存储器控制器(iMC1)520B和第三存储器控制器(iMC2)520C,其分别对应于多个存储器中包括的第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器控制器(iMC0)520A可以设置在数据控制器510与多个第一存储器件420A之间,并且可以支持在数据控制器510与多个第一存储器件420A之间的数据的发送和/或接收。第二存储器控制器(iMC1)520B可以设置在数据控制器510与多个第二存储器件420B之间,并且可以支持数据控制器510与多个第二存储器件420B之间的数据的发送和/或接收。第三存储器控制器(iMC2)520C可以设置在数据控制器510与多个第三存储器件420C之间,并且可以支持数据控制器510与多个第三存储器件420C之间的数据的发送和/或接收。尽管本文中描述了控制器410包括三个存储器控制器的示例,但是当多个第一存储器件420A、多个第二存储器件420B和多个第三存储器件420C包括DRAM时,控制器410可以包括单个存储器控制器。
输入/输出接口530可以通过图3的互连板300来支持数据控制器510与计算板200之间的交互。输入/输出接口530可以根据与有线通信技术相关的一个或更多个协议来工作,以从数据控制器510向互连板300提供读取的数据,并且从互连板300向数据控制器510提供写入数据。输入/输出接口可以是串行接口,其可以支持热插拔(Hot-plug)以轻易地连接和断开存储器件。例如,输入/输出接口530可以基于诸如外围组件互连express(PCIe)、快速路径互连(QPI)、以及以太网等协议中的一种或更多种来支持数据控制器510与互连板300之间的通信。
为了处理大量数据,可能需要多个计算板200和多个存储板400,如参考图2至图5所述。此外,存储板400中的每个存储板可以包括用于储存大量数据的多个存储器420。
然而,当多个存储器件中的任意一个存储器件中出现缺陷时,可以暂停整个系统以修复出现缺陷的存储器件(在下文中,被称为有缺陷的存储器件)。此时,储存在有缺陷的存储器件中的数据可能不受保护。一实施例提出了存储系统700、计算系统1000及其操作方法,即使在多个存储器件中出现有缺陷的存储器件,其可以在保持大部分系统的可用性的同时修复有缺陷的存储器件。
图6示出了根据一实施例的存储器件600的结构。图6中示出的存储器件600可以对应于图5中所示的多个存储器420中包括的每个存储器件。
存储器件600总体可以包括用于储存数据的用户区域610和除非有特殊原因否则不使用的超额配置(或预留空间,over-provisioning)区域(在下文中,被称为OP区域)630。
可以提供OP区域630以增加存储器件的寿命。存储器件600可以包括多个存储单元以储存数据。每个存储单元可以具有恒定的寿命。例如,当将数据写入存储单元10,000次时,相应存储单元的寿命可能结束。因此,根据用于维持存储单元的寿命的方法之一,当将数据写入存储单元8,000次时,可以阻止对相应存储单元执行写入操作,并且可以仅对相应存储单元执行读取操作。为了通过上述方法维持多个存储单元的寿命,需要尽可能均匀地使用多个存储单元。即,当重复使用特定存储单元时,相应存储单元的寿命可以快速减少。然而,当存在集中使用的存储单元(例如,储存用于执行OS操作的数据的存储单元或储存有频繁使用的数据的存储单元)时,存储器件600可以包括备用区以防止过度使用相应存储单元。即,为了防止过度使用相应存储单元,可以将要储存在存储单元中的数据储存在备用区中。这种备用区是OP区域630。在一实施例中,存储器件可以具有特定比例的OP区域630。
将参考图7至图12描述的实施例提出了存储系统700、计算系统1000及其操作方法,当存储器件中出现缺陷时,其可以使用上述OP区域630来在保持完整性的同时修复有缺陷的存储器件。
图7示出了根据一实施例的存储系统700的结构。参考图5,存储系统700可以对应于存储板400。
存储系统700可以包括控制器710和多个存储器件720。控制器710可以对应于图5中所示的控制器410,并且多个存储器件720可以对应于图5中所示的多个存储器420。在一实施例中,在多个存储器件720中包括的存储器件可以各自具有相同种类的存储器件。然而,这仅是为了便于描述,并且本实施例不限于此。在其他实施例中,在多个存储器件720中包括的存储器件可以包括不同种类的存储器件,可以包括相同种类的存储器件,或者具有它们的任意组合。
控制器710可以包括数据控制器730、I/O接口750和存储器控制器760。数据控制器730可以对应于图5中所示的数据控制器510,并且I/O接口750可以对应于图5中所示的I/O接口530。存储器控制器760可以对应于图5中所示的存储器控制器520A至520C中的每个。
I/O接口750可以通过图3的互连板300来支持数据控制器730与计算板200之间的交互。存储器控制器760可以位于数据控制器730与多个存储器件720之间,并支持其间的交互。如上所述,为了便于描述,多个存储器件720(参考图7)可以包括全部相同的存储器件或者为一种类型的存储器件。因此,能够支持多个存储器件720中包括的各个不同存储器件之间的交互的存储器控制器760也可以包括相同类型的存储器控制器,或者存储器控制器760中包括的存储器控制器可以全部是一种类型的存储器控制器。在存储器控制器760中包括的这些相同类型的存储器控制器可以被包括在控制器710中。在其他实施例中,如果多个存储器件720之内的存储器件是不同类型的存储器件或者不是一种类型的存储器件,那么在存储器控制器760中包括不同类型的存储器控制器或不是一种类型的存储器控制器,以便支持与多个存储器件720中包括的不同类型的存储器件相关联的不同类型的交互。
输入/输出接口可以是串行接口,其可以支持热插拔以轻易地连接和断开存储器件。
数据控制器730可以包括检测电路733、数据管理电路735、选择电路737和处理器739。
检测电路733可以监测多个存储器件720的可靠性如何,并且因此可以检测存储器件720之中的有缺陷的存储器件。例如,数据控制器730中包括的错误校正码(ECC)电路(未示出)可以对从多个存储器件720提供的数据执行ECC解码操作,并且通过ECC解码操作来确定所提供的数据是否包含错误数据。ECC电路(未示出)可以将关于所确定的错误数据的信息提供给检测电路733,并且检测电路733可以响应于多个存储器件720来管理错误数据。基于数据中的错误的数量,检测电路733可以检测多个存储器件720之中的有缺陷的存储器件。具有缺陷的存储器件或者有缺陷的存储器件可以是已确定其可靠性低于预设阈值的存储器件。例如,可以基于在相应存储器件中出现的错误数据的数量来确定可靠性。当特定存储器件中的错误数据的数量高于预设阈值时,检测电路733可以确定相应存储器件是有缺陷的存储器件。然而,这仅是示例,而本实施例不限于此。这里关于参数(诸如预设阈值或预设标准)所使用的词语“预设”意味着在参数被用于过程或算法之前参数的值是确定的。对于一些实施例,在过程或算法开始之前参数的值是确定的。在其他实施例中,参数的值是在过程或算法期间但在参数用于过程或算法之前确定的。
检测电路733可以储存关于与各个存储器件720相对应的所确定的错误数据的信息。例如,当第一存储器件723被检测为有缺陷的存储器件时,检测电路733可以更新关于与第一存储器件723相对应的可靠性的信息和关于与第一存储器件723相对应的所确定的错误数据的信息。在其他实施例中,检测电路733可以不另外更新与已被确定为正常存储器件的第二存储器件725相对应的关于所确定的错误数据的信息和/或关于可靠性的信息。之后,当第一存储器件723被修复并且变为正常存储器件时,例如,当在相应存储器件中出现的错误数据的数量低于预设阈值时,检测电路733可以再次更新关于相应的第一存储器件723的可靠性的信息。例如,检测电路733可以通过用“1”指示关于有缺陷的存储器件的信息并且用“0”指示关于正常存储器的信息来管理与包括在多个存储器件720中的每个相应存储器件的可靠性有关的信息。然而,这仅是示例,并且本实施例不限于此。
数据管理电路735可以管理多个存储器件720之内的各个存储器件的OP区域。例如,数据管理电路735可以监测多个存储器件720之内的各个存储器件的OP区域之中的可用OP区域,并且可以储存关于各个存储器件的OP区域的可用性信息(在下文中,被称为可用OP信息)。例如,数据管理电路735可以储存与相应存储器件相关联的可用OP信息,该可用OP信息通过用“1”指示各个存储器件的可用OP区域并且用“0”指示与不可用OP区域相对应的可用OP信息。在其他实施例中,数据管理电路735可以储存与相应存储器件相关联的可用OP信息,该可用OP信息通过用“0”指示各个存储器件的可用OP区域并且用“1”指示与不可用OP区域相对应的可用OP信息。在一些实施例中,数据管理电路735可以仅储存指示对应的存储器件的可用OP区域的与相应存储器件相关联的可用OP信息。在一些实施例中,数据管理电路735可以仅储存指示对应的存储器件的不可用OP区域的与相应存储器件相关联的可用OP信息。在一些实施例中,数据管理电路735可以储存指示对应的存储器件的可用OP区域的与相应存储器件相关联的可用OP信息以及指示相应存储器件的不可用OP区域的与相应存储器件相关联的可用OP信息。然而,这些仅是示例,并且本实施例不限于此。
数据管理电路735可以储存各个存储器件720的存储器映射。因此,当在多个存储器件720之间移动数据时,数据管理电路735可以更新存储器映射以反映数据移动。
基于可用OP信息,选择电路737可以在存储系统700之内搜索具有可以使有缺陷的存储器件中所储存的数据被储存在其中的OP区域的存储器件。此后,储存在有缺陷的存储器件中的数据可以被称为目标数据,并且具有可以使有缺陷的存储器件中所储存的数据被储存在其中的OP区域的存储器件可以被称为可用存储器件。此外,选择电路737可以根据预设标准选择可用存储器件。当储存在有缺陷的存储器件中的数据的大小大于可用存储器件的OP区域时,选择电路737可以选择多个可用存储器件来在其中储存数据。然而,这仅是示例,并且本实施例不限于此。
在其他实施例中,当存储系统700中不存在可用存储器件时,可以将目标数据提供给另一个存储系统。下面将参考图11描述该操作。
处理器739可以将目标数据从有缺陷的存储器件移动到由选择电路737选择的可用存储器件的OP区域。例如,处理器739可以从有缺陷的存储器件读取目标数据。尽管未在附图中示出,但是读取的目标数据可以被暂时储存在数据控制器730的内部存储器中。处理器739可以将目标数据储存在可用存储器件的OP区域中。在目标数据已经移动到可用存储器件的OP区域之后,数据管理电路735可以更新存储器映射以反映与目标数据相对应的地址信息。当之后输入针对目标数据的读取请求时,处理器739可以基于存储器映射来读取储存在OP区域中的目标数据。
然后,当有缺陷的存储器件已经修复成为正常存储器件(在下文中,被称为已修复的存储器件)时,处理器739可以读取储存在OP区域中的目标数据,并且将目标数据储存在已修复的存储器件中。检测电路733可以更新与已修复的存储器件的可靠性有关的信息,并且数据管理电路735可以更新存储器映射以反映与目标数据相对应的地址信息。
图8是示出根据一实施例的数据控制器730的操作的流程图。
首先,在步骤S801,检测电路733可以监测与多个存储器件720的可靠性有关的信息。例如,在步骤S801,检测电路733可以监测关于与多个存储器件720中的一个存储器件或多个存储器件相对应的所确定的错误数据的信息。
在步骤S803,检测电路733可以基于与存储器件的可靠性相对应的被监测信息来将多个存储器件720之中的该存储器件检测为有缺陷的存储器件,该存储器件具有大于或等于预设阈值的数据错误量。
当没有检测到有缺陷的存储器件时(步骤S803为否),在步骤S801,检测电路733可以继续地监测与存储器件的可靠性相对应的信息,以针对每个存储器件检测超过或等于预设阈值的数据错误量。
当检测到有缺陷的存储器件时(步骤S803处为“是”),在步骤S805,处理器739可以读取储存在有缺陷的存储器件中的目标数据。处理器739可以将目标数据暂时储存在数据控制器730的内部存储器中。
在步骤S807,选择电路737可以基于储存在数据管理电路735中的多个存储器件720的可用OP区域信息来搜索存储系统700中的可用存储器件。
当存储系统700中不存在可用存储器件时(步骤S807为否),在步骤S809,可以执行将参考图11描述的操作。将参考图11描述该操作。
然而,当存储系统700中存在可用存储器件时(步骤S807为是),在步骤S811,选择电路737可以根据预设标准而选择可用存储器件。
在步骤S813,处理器739可以将目标数据储存在可用存储器件的OP区域中。在一些实施例中,在步骤S813,处理器739可以将目标数据储存在多个OP区域中,并且每个OP区域可以位于相应的可用存储器件中,以将目标数据储存在不同的可用存储器件中。
在步骤S815,数据管理电路735可以更新与目标数据相对应的地址信息。
图9是示出根据一实施例的数据控制器730的操作的流程图。在已经参考图8描述的数据控制器730的操作之后,可以执行图9中所示的数据控制器730的操作。
在步骤S901,可以将有缺陷的存储器件修复为已修复的存储器件中。
当有缺陷的存储器件未被修复时(步骤S901为否),在步骤S903,可以在参考图8描述的OP区域中运行与目标数据相对应的访问请求。例如,对于与目标数据相对应的读取请求,处理器739可以控制具有储存在其中的目标数据的可用存储器件以读取目标数据。
然而,当有缺陷的存储器件已被修复时(步骤S901为“是”),在步骤S905,数据管理电路735可以更新与相应的已修复的存储器件的可靠性相对应的信息。
在步骤S907,处理器739可以从当前储存目标数据的OP区域读取目标数据。目标数据可以暂时储存在数据控制器730的内部存储器中。
在步骤S909,处理器739可以将目标数据储存在已修复的存储器件中。
最后,在步骤S911,数据管理电路735可以更新与目标数据相对应的地址信息。例如,数据管理电路735可以更新存储器映射以反映储存在已修复的存储器件中的目标数据的地址信息。
根据参考图7至图9描述的实施例,尽管在多个存储器件720中出现了有缺陷的存储器件,但是通过上述过程在维持大部分存储系统700的可用性的同时可以修复有缺陷的存储器件。
到目前为止,已经参考图7至图9描述了根据实施例的操作过程,该操作过程在维持大部分存储系统700的可用性的同时修复单个存储系统700中出现的有缺陷的存储器件。然而,当单个存储系统700不具有能够暂时储存有缺陷的存储器件中所储存的数据的可用OP区域时,可能无法在维持针对存储系统700的可用性的同时修复有缺陷的存储器件。此后,将参考图10至图12描述能够解决这种问题的计算系统1000。
图10示出了根据一实施例的计算系统1000的结构。
计算系统1000可以包括多个存储系统700A和700B以及存储系统管理单元(MMU)1010。图10示出了计算系统1000仅包括第一存储系统700A和第二存储系统700B。然而,计算系统1000可以包括更多个存储系统。
存储系统700A和700B中的每个存储系统可以对应于参考图7描述的存储系统700。此外,在存储系统700A和700B中包括的控制器710A和710B以及多个存储器件720A和720B可以分别对应于图7中所示的控制器710和多个存储器件720。
MMU 1010可以对应于已经参考图2至图4描述的计算板200和互连板300。因此,MMU1010可以管理多个存储系统700A和700B,并且执行与多个存储系统700A和700B的数据通信。即,MMU 1010可以将从第一存储系统700A接收的数据提供给第二存储系统700B。MMU1010还可以将从第二存储系统700B接收的数据提供给第一存储系统700A。在其他实施例中,MMU 1010可以管理两个或更多个存储系统。
MMU 1010可以分别经由I/O接口750A和750B而从数据控制器730A和730B接收存储系统700A和700B中包括的存储器件720A和720B的可用OP信息。因此,MMU 1010可以识别关于各个存储器件的可用OP区域的信息。当可用OP信息被更新时,MMU 1010可以从数据控制器730A和730B接收更新的信息,并且更新储存在MMU 1010中的可用OP信息。
MMU 1010可以分别经由I/O接口750A和750B而从数据控制器730A和730B接收存储器件720A和720B的存储器映射。MMU 1010可以储存反映存储器映射的全局映射。在出现数据移动之后,MMU 1010可以从数据控制器730A和730B接收更新的地址信息,并且更新储存在MMU 1010中的全局映射和/或存储器映射。
为了便于描述,假设在第一存储系统700A中包括的多个第一存储器件720A之中出现了有缺陷的存储器件,并且在多个第一存储器件720A之中没有可用的存储器件。此外,假设在多个第二存储器件720B中存在可用的存储器件。
第一数据控制器730A可以读取储存在有缺陷的存储器件中的目标数据。第一数据控制器730A可以在多个第一存储器件720A之中搜索可用存储器件以暂时储存目标数据。然而,当在多个第一存储器件720A之中不存在可用存储器件时,第一数据控制器730A可以经由第一I/O接口750A而将目标数据提供给MMU 1010。
基于从多个存储系统700A和700B接收的可用OP信息,MMU 1010可以搜索包括能够暂时储存从第一存储系统700A接收的目标数据的可用存储器件的第二存储系统700B。然后,MMU 1010可以将目标数据提供给第二存储系统700B。
第二数据控制器730B可以经由第二I/O接口750B接收目标数据。第二数据控制器730B可以在多个第二存储器件720B之中搜索可用存储器件以暂时储存目标数据。此外,第二数据控制器730B可以将目标数据储存在找到的可用存储器件的OP区域中。
第一数据控制器730A和第二数据控制器730B可以更新与目标数据相对应的地址信息。例如,第一数据控制器730A可以更新与目标数据相对应的地址信息,以便指示目标数据没有储存在多个第一存储器件720A中,并且第二数据控制器730B可以更新与目标数据相对应的地址信息,以便指示目标数据被储存在OP区域中。此外,第一数据控制器730A和第二数据控制器730B可以将更新的地址信息提供给MMU 1010。为了反映所接收的目标数据的地址信息,MMU 1010可以分别更新第一存储系统700A和第二存储系统700B的全局映射和/或存储器映射。
然后,当多个第一存储器件720A中包括的有缺陷的存储器件被修复时,可以执行用于以上述操作过程的反向方式来将目标数据储存在已修复的存储器件中的操作。
第一数据控制器730A可以向MMU 1010提供指示有缺陷的存储器件已经被修复并且现在是已修复的存储器件的信息。此时,MMU 1010可以更新关于已修复的存储器件的可靠性的信息。MMU 1010可以向第二存储系统700B发出针对目标数据的读取请求。第二数据控制器730B可以读取目标数据,并且将读取的目标数据提供给MMU 1010。MMU 1010可以将接收到的目标数据提供给第一存储系统700A。第一数据控制器730A可以从MMU 1010接收目标数据,并将目标数据储存在已修复的存储器件中。
第一数据控制器730A和第二数据控制器730B可以更新与目标数据相对应的地址信息。例如,第二数据控制器730B可以更新与目标数据相对应的地址信息,以便指示目标数据没有被储存在多个第二存储器件720B中,并且第一数据控制器730A可以更新与目标数据相对应的地址信息,以便指示目标数据被储存在已修复的存储器件中。此外,第一数据控制器730A和第二数据控制器730B可以将更新的地址信息提供给MMU 1010。为了反映接收到的目标数据的地址信息,MMU 1010可以分别更新第一存储系统700A和第二存储系统700B的全局映射和/或存储器映射。
图11是示出根据一实施例的计算系统1000的操作的流程图。此外,图11中所示的操作可以对应于图8中所示的步骤S809。即,步骤S1101至S1111的操作可以对应于图8中所示的步骤S807的后续操作。
在步骤S1101,第一存储系统700A可以执行与图8中所示的步骤S801至S807相对应的操作。
在步骤S1103,第一存储系统700A可以将目标数据提供给MMU 1010。例如,第一存储系统700A中包括的第一数据控制器730A可以经由第一I/O接口750A而将目标数据提供给MMU 1010。
在步骤S1105,MMU 1010可以在除了第一存储系统700A之外的存储系统之中搜索包括可用存储器件的存储系统。
当在另一存储系统中没有可用存储器件时(步骤S1107为否),在步骤S1105,MMU1010可以搜索包括可用存储器件的另一个存储系统。
然而,当在特定存储系统(在下文中,第二存储系统700B)中存在可用存储器件时(步骤S1107为是),在步骤S1109,MMU 1010可以将目标数据提供给第二存储系统700B。
在步骤S1111,第二数据控制器730B可以将目标数据储存在可用存储器件的OP区域中。
然后,如参考图10所述,在步骤S1113,第一数据控制器730A和第二数据控制器730B以及MMU 1010可以更新与目标数据相对应的地址信息。
图12是示出根据一实施例的计算系统1000的操作的流程图。可以在图11中所示的操作之后执行图12中示出的操作。例如,将参考图12描述如下操作:当如参考图11所述的第一存储系统700A中已经出现的有缺陷的存储器件被修复时,计算系统1000将目标数据储存在已修复的存储器件中。然而,尽管附图中未示出,但是当有缺陷的存储器件未修复时,可以对目标数据当前储存于其中的第二存储系统700B的OP区域执行针对目标数据的访问请求。例如,当发出针对目标数据的读取请求时,第二数据控制器730B可以读取储存在OP区域中的目标数据。
在步骤S1201,可以修复有缺陷的存储器件以成为已修复的存储器件。
在步骤S1203,第一数据控制器730A可以更新与对应于已修复的存储器件的可靠性有关的信息。例如,在可靠性为“1”的有缺陷的存储器件已被修复而成为已修复的存储器件之后,第一数据控制器730A可以将关于已修复的存储器件的可靠性的信息更新为“0”。
在步骤S1205,第一存储系统700A可以将更新的可靠性信息提供给MMU 1010。
在步骤S1207,MMU 1010可以基于从第一存储系统700A接收的关于可靠性的信息来更新与对应于第一存储系统700A的可靠性有关的信息。
然后,为了将目标数据移动到其中曾经储存目标数据的第一存储系统700A,在步骤S1209,MMU 1010可以请求第二存储系统700B读取目标数据。
在步骤S1211,第二存储系统700B可以根据读取请求读取目标数据。例如,第二数据控制器730B可以控制存储器件读取目标数据,该存储器件具有储存有目标数据的OP区域。
在步骤S1213,第二存储系统700B可以将目标数据输出到MMU 1010。
在步骤S1215,MMU 1010可以将目标数据提供给第一存储系统700A。
在步骤S1217,第一存储系统700A可以将从MMU 1010接收的目标数据储存在已修复的存储器件中。例如,第一数据控制器730A可以控制已修复的存储器件来写入目标数据。
然后,如参考图10所述,在步骤S1219,第一数据控制器730A和第二数据控制器730B以及MMU 1010可以更新与目标数据相对应的地址信息。
如参考图10至图12所描述的那样,包括多个存储系统的计算系统可以克服单个存储系统700的问题。结果,计算系统可以在维持大部分存储系统700的同时修复有缺陷的存储器件。
尽管已经描述和图示了各种实施例,但是根据本公开,对于本领域技术人员来说显而易见的是,在不脱离如所附权利要求所限定的本公开的精神和范围的情况下,可以进行各种改变和修改。

Claims (20)

1.一种存储系统,包括:
多个存储器件,每个存储器件包括用户区域和超额配置OP区域;以及
控制器,其被配置为控制所述多个存储器件,
其中,所述控制器包括:
检测电路,其被配置为检测所述多个存储器件之中的有缺陷的存储器件;
选择电路,其被配置为选择所述多个存储器件之中除了所述有缺陷的存储器件之外的可用存储器件;以及
处理器,其被配置为将储存在所述有缺陷的存储器件中的目标数据移动到所述可用存储器件的所述OP区域中。
2.如权利要求1所述的存储系统,还包括:
管理电路,其被配置为储存所述多个存储器件的各个OP区域的可用性信息,
其中,所述选择电路被配置为基于所述可用性信息来选择所述多个存储器件之中除了所述有缺陷的存储器件之外的所述可用存储器件。
3.如权利要求1所述的存储系统,其中,所述检测电路监测关于相应存储器件的可靠性的信息,以及将关于存储器件的可靠性的信息具有比预设阈值低的值的存储器件检测作为所述有缺陷的存储器件。
4.如权利要求2所述的存储系统,其中,所述管理电路储存各个存储器件的存储器映射。
5.如权利要求4所述的存储系统,其中,在所述目标数据被移动到所述OP区域之后,所述管理电路更新所述存储器映射。
6.如权利要求1所述的存储系统,其中,当存在多个可用存储器件时,所述选择电路选择所述可用存储器件之中的一个或更多个存储器件。
7.如权利要求1所述的存储系统,其中,在有缺陷的存储器件已经被修复之后,所述处理器将所述目标数据移动到已修复的存储器件。
8.如权利要求7所述的存储系统,其中,所述检测电路更新与所述已修复的存储器件的可靠性有关的信息。
9.如权利要求7所述的存储系统,还包括:
管理电路,其被配置为储存所述多个存储器件的各个OP区域的可用性信息,
其中,所述选择电路被配置为基于所述可用性信息来选择所述多个存储器件之中除了所述有缺陷的存储器件之外的所述可用存储器件,以及
其中,在移动所述目标数据的操作结束之后,所述管理电路更新所述存储器映射。
10.一种存储系统的操作方法,包括:
检测多个存储器件之中的有缺陷的存储器件;
选择所述多个存储器件之中除了所述有缺陷的存储器件之外的可用存储器件;以及
将储存在所述有缺陷的存储器件中的目标数据移动到所述可用存储器件的超额配置OP区域中。
11.如权利要求10所述的操作方法,还包括:
储存各个存储器件的所述OP区域的可用性信息,
其中,基于所述可用性信息,选择所述多个存储器件之中除了所述有缺陷的存储器件之外的所述可用存储器件。
12.如权利要求10所述的操作方法,其中,检测所述有缺陷的存储器件的步骤包括监测关于相应存储器件的可靠性的信息,以及将关于存储器件的可靠性的信息具有比预设阈值低的值的存储器件检测为所述有缺陷的存储器件。
13.如权利要求10所述的操作方法,还包括储存各个存储器件的存储器映射。
14.如权利要求13所述的操作方法,还包括在将所述目标数据移动到所述OP区域之后更新所述存储器映射。
15.如权利要求10所述的操作方法,其中,当存在多个可用存储器件时,选择所述可用存储器件的步骤包括根据预设标准而选择所述可用存储器件之中的一个或更多个存储器件。
16.如权利要求10所述的操作方法,还包括:在所述有缺陷的存储器件已经被修复并且成为已修复的存储器件之后,将所述目标数据移动到所述已修复的存储器件。
17.如权利要求16所述的操作方法,还包括:更新与所述已修复的存储器件的可靠性有关的信息。
18.如权利要求16所述的操作方法,还包括在移动所述目标数据结束之后更新所述存储器映射。
19.一种计算系统,包括:
多个存储系统;以及
存储系统管理单元MMU,其被配置为与所述多个存储系统通信,
其中,每个所述存储系统包括多个存储器件和控制器,每个所述存储器件包括用户区域和超额配置OP区域,所述控制器被配置为控制所述多个存储器件,
其中,所述控制器包括:
检测电路,其被配置为监测关于各个存储器件的可靠性的信息,以及将关于存储器件的可靠性的信息具有比预设阈值低的值的存储器件检测为有缺陷的存储器件;
管理电路,其被配置为储存所述各个存储器件的所述OP区域的可用性信息,并且储存所述各个存储器件的存储器映射;
选择电路,其被配置为基于所述可用性信息来选择所述多个存储器件之中除了所述有缺陷的存储器件之外的可用存储器件;以及
处理器,其被配置为将储存在所述有缺陷的存储器件中的目标数据移动到所述可用存储器件的所述OP区域中。
20.如权利要求19所述的计算系统,其中,当在第一存储系统中出现所述有缺陷的存储器件并且在所述第一存储系统中不存在所述可用存储器件时,
所述第一存储系统将所述目标数据提供给所述MMU,
所述MMU基于从所述第一存储系统接收的所述可用性信息来将所述目标数据提供给第二存储系统;以及
所述第二存储系统将从所述MMU接收的所述目标数据储存在所述可用存储器件的所述OP区域中,以及
其中,在所述有缺陷的存储器件已经修复之后,
所述第二存储系统从所述OP区域读取所述目标数据并将所读取的目标数据提供给所述MMU,
所述MMU将所述目标数据提供给所述第一个存储系统,以及
所述第一存储系统将所述目标数据储存在已修复的存储器件中。
CN201910312060.XA 2018-04-23 2019-04-18 存储系统及其操作方法 Pending CN110389847A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0046707 2018-04-23
KR1020180046707A KR102586741B1 (ko) 2018-04-23 2018-04-23 메모리 시스템 및 그것의 동작방법

Publications (1)

Publication Number Publication Date
CN110389847A true CN110389847A (zh) 2019-10-29

Family

ID=68236904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910312060.XA Pending CN110389847A (zh) 2018-04-23 2019-04-18 存储系统及其操作方法

Country Status (4)

Country Link
US (1) US11036399B2 (zh)
JP (1) JP7299724B2 (zh)
KR (1) KR102586741B1 (zh)
CN (1) CN110389847A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907570B2 (en) * 2020-02-25 2024-02-20 Micron Technology, Inc. Predictive media management for read disturb

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102893266A (zh) * 2010-04-13 2013-01-23 苹果公司 存储器控制器飞速映射
US8694814B1 (en) * 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US20150149818A1 (en) * 2013-11-22 2015-05-28 Pranav Kalavade Defect management policies for nand flash memory
CN106294194A (zh) * 2015-06-22 2017-01-04 三星电子株式会社 数据存储装置和具有该数据存储装置的数据处理系统
JP2017010273A (ja) * 2015-06-22 2017-01-12 株式会社東芝 半導体故障検出装置
CN107111535A (zh) * 2014-12-12 2017-08-29 英特尔公司 存储系统中的加速数据恢复
CN109408417A (zh) * 2017-08-17 2019-03-01 三星电子株式会社 存储装置的地址映射方法和操作方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261946A (ja) * 1994-03-22 1995-10-13 Hitachi Ltd アレイ型記憶装置
JPH08328760A (ja) * 1995-06-01 1996-12-13 Hitachi Ltd ディスクアレイ装置
US5953745A (en) 1996-11-27 1999-09-14 International Business Machines Corporation Redundant memory array
JP2003208358A (ja) 2002-01-11 2003-07-25 Hitachi Ltd 情報処理装置
US7426655B2 (en) * 2004-12-13 2008-09-16 Dell Products L.P. System and method of enhancing storage array read performance using a spare storage array
US8015438B2 (en) * 2007-11-29 2011-09-06 Qimonda Ag Memory circuit
US8041991B2 (en) * 2008-11-18 2011-10-18 Lsi Corporation System and method for recovering solid state drive data
JP2011186553A (ja) 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
JP6403162B2 (ja) 2015-07-23 2018-10-10 東芝メモリ株式会社 メモリシステム
US20170123915A1 (en) 2015-10-29 2017-05-04 Nimble Storage, Inc. Methods and systems for repurposing system-level over provisioned space into a temporary hot spare
US10296238B2 (en) * 2015-12-18 2019-05-21 Intel Corporation Technologies for contemporaneous access of non-volatile and volatile memory in a memory device
KR102573301B1 (ko) * 2016-07-15 2023-08-31 삼성전자 주식회사 Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법
KR102387181B1 (ko) 2017-10-31 2022-04-19 에스케이하이닉스 주식회사 컴퓨팅 디바이스 및 그것의 동작방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694814B1 (en) * 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
CN102893266A (zh) * 2010-04-13 2013-01-23 苹果公司 存储器控制器飞速映射
US20150149818A1 (en) * 2013-11-22 2015-05-28 Pranav Kalavade Defect management policies for nand flash memory
CN107111535A (zh) * 2014-12-12 2017-08-29 英特尔公司 存储系统中的加速数据恢复
CN106294194A (zh) * 2015-06-22 2017-01-04 三星电子株式会社 数据存储装置和具有该数据存储装置的数据处理系统
JP2017010273A (ja) * 2015-06-22 2017-01-12 株式会社東芝 半導体故障検出装置
CN109408417A (zh) * 2017-08-17 2019-03-01 三星电子株式会社 存储装置的地址映射方法和操作方法

Also Published As

Publication number Publication date
US11036399B2 (en) 2021-06-15
JP2019192221A (ja) 2019-10-31
US20190324664A1 (en) 2019-10-24
JP7299724B2 (ja) 2023-06-28
KR102586741B1 (ko) 2023-10-11
KR20190123038A (ko) 2019-10-31

Similar Documents

Publication Publication Date Title
US10642704B2 (en) Storage controller failover system
US20110145452A1 (en) Methods and apparatus for distribution of raid storage management over a sas domain
CN105657066A (zh) 用于存储系统的负载再均衡方法及装置
CN108052655A (zh) 数据写入及读取方法
CN108694076A (zh) 多节点存储操作
CN108153622A (zh) 一种故障处理的方法、装置和设备
CN106843773A (zh) 存储方法和分布式存储系统
US20190220365A1 (en) Data Storage Backup System
CN105095103A (zh) 用于云环境下的存储设备管理方法和装置
CN111753994B (zh) Ai芯片的数据处理方法、装置和计算机设备
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
CN110389847A (zh) 存储系统及其操作方法
CN106708445B (zh) 链路选择方法及装置
CN106155910A (zh) 一种实现内存访问的方法、装置和系统
CN112214161B (zh) 存储器系统及其操作方法
CN116974489A (zh) 一种数据处理方法、装置、系统、电子设备及存储介质
US11461024B2 (en) Computing system and operating method thereof
US11281379B2 (en) Storage device and operating method thereof for storing replicated data based on access frequency
CN107491270A (zh) 一种多控存储系统的资源访问方法及装置
CN108614746A (zh) 一种数据处理方法及其系统、服务器
KR102387181B1 (ko) 컴퓨팅 디바이스 및 그것의 동작방법
CN105051707A (zh) 外部存储器控制器
CN109753236B (zh) 存储系统及其操作方法
CN116027991B (zh) Raid阵列管理方法、装置、raid卡及存储介质
DE112021007536T5 (de) Systeminterne abschwächung unkorrigierbarer fehler basierend auf vertrauensfaktoren, basierend auf einer fehlerbewussten analyse

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