CN110308865A - 存储器系统、计算系统及其操作方法 - Google Patents

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

Info

Publication number
CN110308865A
CN110308865A CN201811425273.5A CN201811425273A CN110308865A CN 110308865 A CN110308865 A CN 110308865A CN 201811425273 A CN201811425273 A CN 201811425273A CN 110308865 A CN110308865 A CN 110308865A
Authority
CN
China
Prior art keywords
data
memory
group
memory device
banks
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
CN201811425273.5A
Other languages
English (en)
Other versions
CN110308865B (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
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 CN110308865A publication Critical patent/CN110308865A/zh
Application granted granted Critical
Publication of CN110308865B publication Critical patent/CN110308865B/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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and 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/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
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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

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)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Abstract

存储器系统、计算系统及其操作方法。一种计算系统包括:主机,其被配置为提供数据以及关于所述数据的地址信息;以及存储器系统,其被配置为存储所述数据,其中,所述存储器系统包括:多个存储器装置,其被配置为被分组到至少一个存储器装置组中;以及控制器,其被配置为控制所述多个存储器装置中的每一个,其中,控制器包括:组设定器,其被配置为应主机的请求来针对所述数据的类型设定存储器装置组;以及处理器,其被配置为从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。

Description

存储器系统、计算系统及其操作方法
技术领域
本公开的各种实施方式涉及一种计算装置以及操作该计算装置的方法。
背景技术
数据正成为第四次工业革命中的重要资产,并且对支持以高数据速率传送和分析大规模数据的新技术的需求正在增加。例如,随着人工智能、自动驾驶、机器人、医疗保健、虚拟现实(VR)、增强现实(AR)和智能家居技术普及,对服务器或数据中心的需求正在增加。
传统数据中心将用于计算、联网和存储数据的资源包括在同一设备中。然而,未来的大规模数据中心可具有单独建构的资源,这些资源被逻辑重构。例如,在大规模数据中心中,可在机柜层面将资源模块化,并且可根据使用来重构和供应模块化的资源。因此,需要可用于未来大规模数据中心的融合存储或存储器装置。
发明内容
本公开的实施方式涉及一种能够有效地处理和指派数据的计算系统及其操作方法。
根据本发明的实施方式,一种计算系统包括:主机,其被配置为提供数据以及关于所述数据的地址信息;以及存储器系统,其被配置为存储所述数据,其中,存储器系统包括:多个存储器装置,其被配置为被分组到至少一个存储器装置组中;以及控制器,其被配置为控制所述多个存储器装置中的每一个,其中,控制器包括:组设定器,其被配置为应主机的请求针对所述数据的类型设定存储器装置组;以及处理器,其被配置为从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。
根据本发明的实施方式,一种操作计算系统的方法可包括以下步骤:由控制器将多个存储器装置分组到至少一个存储器装置组中;由主机请求控制器针对数据的类型设定存储器装置组;由控制器根据所述请求设定存储器装置组;以及从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。
根据本发明的实施方式,一种存储器系统可包括:多个存储器装置,其被配置为被分组到至少一个存储器装置组中;以及控制器,其被配置为控制所述多个存储器装置中的每一个,其中,控制器包括:组设定器,其被配置为应主机的请求针对数据的类型设定存储器装置组;以及处理器,其被配置为从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。
根据本发明的实施方式,一种计算系统包括:存储器系统,其包括多个存储器装置;以及主机,其被设置为:向存储器系统发送用于将所述多个存储器装置分配到第一存储器组和第二存储器组中的第一请求,第一存储器组用于处理第一类型的数据,第二存储器组用于处理第二类型的数据,并且向存储器系统发送数据以及关于第一存储器组和第二存储器组当中的目标存储器组的目标存储块的地址信息以存储所述数据,所述目标存储器组基于所述数据是第一类型还是第二类型来选择;其中,存储器系统被设置为:基于第一请求将所述多个存储器装置分配到第一存储器组和第二存储器组中,并且基于地址信息将所述数据写入到目标存储块中,其中,主机发送用于基于所述多个存储器装置的更新的状态来在第一存储器组和第二存储器组中重新分配所述多个存储器装置的第二请求。
附图说明
图1是示出根据本公开的实施方式的数据处理系统的框图。
图2和图3示出根据本公开的实施方式的计算装置或机柜。
图4是示出根据本公开的实施方式的计算板的框图。
图5是示出根据本公开的实施方式的存储器板的框图。
图6是示出根据本公开的实施方式的计算系统的结构的示意图。
图7是示出根据本公开的实施方式的计算系统的操作的流程图。
图8是示出根据本公开的实施方式的计算系统的操作的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的各种实施方式。然而,本公开的元件和特征可不同于本文所示出和描述来配置或布置。因此,本发明不限于本文所阐述的实施方式。相反,提供这些实施方式是为了使本公开彻底和完整,并且向本领域技术人员充分传达本公开的范围。贯穿本公开,相似的标号贯穿本公开的各个附图和实施方式指代相似的部件。另外,贯穿说明书,对“实施方式”等的引用未必仅指一个实施方式,对任何这种短语的不同引用未必指相同的实施方式。
图1是示出数据处理系统10的框图。参照图1,数据处理系统10可包括多个计算机柜20、管理接口30以及用于计算机柜20与管理接口30之间的通信的网络40。具有此机柜级架构的数据处理系统10可被数据中心用来处理大规模数据。
各个计算机柜20可单独地实现一个计算装置。另选地,各个计算机柜20可与一个或更多个其它计算机柜组合以实现一个计算装置。下面描述计算机柜20的具体结构和操作。
管理接口30可提供交互式接口以便于用户控制、支配或管理数据处理系统10。管理接口30可被实现为各种类型的计算装置中的任一种,这些类型的计算装置包括计算机、多处理器系统、服务器、机柜式服务器、板服务器、膝上型计算机、笔记本计算机、平板计算机、可穿戴计算装置、网络装置、web装置、分布式计算系统、基于处理器的系统、消费电子装置等。
在本公开的各种实施方式中,管理接口30可被实现为具有可由计算机柜20执行的操作功能或者具有可由管理接口30执行的用户接口功能的分布式系统。在本公开的其它实施方式中,管理接口30可被实现为包括通过网络40分布的多计算装置的虚拟云服务器。管理接口30可包括处理器、输入/输出子系统、存储器、数据存储装置和通信电路。
网络40可在计算机柜20和管理接口30之间和/或多个计算机柜20之间传送和/或接收数据。网络40可由适当数量的各种有线和/或无线网络实现。例如,网络40可包括可公开访问的全球网络,例如有线或无线局域网(LAN)、广域网(WAN)、蜂窝网络和/或互联网。另外,网络40可包括适当数量的辅助网络装置,例如辅助计算机、路由器和交换机。
图2示出根据本公开的实施方式的具有机柜结构(即,图1的计算机柜20)的计算装置的架构。
参照图2,计算机柜20可包括各种形式和结构的构成元件。例如,计算机柜20可包括多个抽屉21至29。抽屉21至29中的每一个可包括多个模块,各个模块可包括多个板。
在本公开的各种实施方式中,计算机柜20可由适当数量的计算机板、存储器板和/或互连板的组合实现。计算机柜20被描述为板的组合,但是计算机柜20也可由其它元件实现,例如抽屉、模块、托盘、板、框格或其它合适的单元。计算机柜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可存储可由计算板200初始化和/或执行的一个或更多个操作系统(OS)。
互连板300可包括通信电路、通信装置或其组合,其可由各个计算板200中所包括的一个或更多个处理元件划分、分配或指定并使用。例如,互连板300可由任何合适数量的网络接口端口、接口卡或接口开关实现。互连板300可使用与一种或更多种有线通信技术有关的协议来进行通信。例如,互连板300可基于诸如快速外围组件互连(PCIe)、QuickPath互连(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可支持CPU 210与存储器板400之间的通过图3的互连板300的接口连接。输入/输出接口230可使用与一种或更多种有线通信技术有关的协议,将数据从CPU 210输出并传送到互连板300,并且接收从互连板300输入到CPU 210的数据。例如,输入/输出接口230可支持CPU 210与互连板300之间使用诸如快速外围组件互连(PCIe)、QuickPath互连(QPI)、以太网等的协议中的一个或更多个的通信。
图5是示出根据本公开的实施方式的存储器板400的框图。
参照图5,存储器板400可包括控制器410和多个存储器420。在控制器410的控制下,存储器420可在其中存储(或写)数据以及输出(或读)存储的数据。存储器420可包括第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器组420A、第二存储器组420B和第三存储器组420C中的每一个可包括多个存储器或存储器装置。第一存储器组420A、第二存储器组420B和第三存储器组420C可具有相同的特性或不同的特性。根据本公开的各种实施方式,就容量或延时而言,第一存储器组420A、第二存储器组420B和第三存储器组420C可包括具有相同特性的存储器或者具有不同特性的存储器。
控制器410可包括数据控制器510、存储控制器(MC)520A至520C以及输入/输出(I/O)接口530。
数据控制器510可控制图3的存储器420与计算板200之间传送和接收的数据。例如,响应于写请求或命令,数据控制器510可从计算板200接收写数据并控制将写数据写在存储器420当中的对应存储器中的写操作。在读操作中,响应于读请求或命令,数据控制器510可读出存储在存储器420当中的特定存储器中的数据并控制将读数据输出到计算板200当中的对应计算板的读操作。
存储控制器520A至520C可被设置在数据控制器510与存储器420之间,并且可支持数据控制器510与存储器420之间的接口连接。存储控制器520A至520C可包括第一存储控制器(iMC0)520A、第二存储控制器(iMC1)520B和第三存储控制器(iMC2)520C,分别对应于存储器420中所包括的第一存储器组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可支持数据控制器510与计算板200之间通过图3的互连板300的接口连接。输入/输出接口530可根据与有线通信技术有关的一种或更多种协议来操作以将读数据从数据控制器510传送到互连板300,并且将写数据从互连板300传送到数据控制器510。例如,输入/输出接口530可支持数据控制器510与互连板300之间基于诸如快速外围组件互连(PCIe)、QuickPath互连(QPI)、以太网等的协议中的一个或更多个的通信。
图6是示出根据实施方式的计算系统600的结构的示意图。计算系统600可对应于图2中所描述的计算装置。
计算系统600可包括主机610和存储器系统630。
主机610可包括图3和图4中所描述的至少一个计算板200和互连板300。
主机610可包括加速判断器617。加速判断器617可基于要处理的目标数据的性质来确定对应目标数据是加速数据还是非加速数据。加速数据是指需要快速处理的数据。非加速数据是指不需要快速处理的数据。快速处理的基准或标准可由用户设定。例如,当目标数据被读取的次数大于临界值(可预先设定)时,加速判断器617可确定对应目标数据是加速数据。需要注意的是,此标准仅是示例;本发明不限于此。例如,当目标数据被访问的次数大于临界值(可预先设定)时,加速判断器617可确定对应目标数据是加速数据。
加速判断器617确定目标数据是加速数据还是非加速数据,基于此,主机610可选择存储器装置组和所选组中的一个或更多个存储器装置以用于存储目标数据。主机610可基于与目标数据对应的地址信息在所选存储器装置组中的多个存储器装置当中选择用于存储目标数据的存储器装置(即,目标存储器装置)。即,当存储器装置组被划分成存储加速数据的第一存储器装置组667和存储非加速数据的第二存储器装置组669时,如果目标数据是加速数据,则主机610可选择第一存储器装置组667作为用于存储目标数据的存储器装置组(即,目标存储器装置组),并且基于与目标数据对应的地址信息选择包括在第一存储器装置组中的存储器装置。
此外,主机610可包括能够存储与多个存储器装置中的每一个对应的地址信息和状态信息(下面将描述)的高速缓存存储器613。另外,主机610可周期性地更新关于多个存储器装置中的每一个的地址信息和状态信息。高速缓存存储器613可对应于图4中所描述的本地存储器220。
如上所述,主机610可针对多个存储器系统中的每一个划分、指派或指定数据。
存储器系统630可对应于图5中所描述的存储器板200。存储器系统630可包括控制器633以及包括多个存储器装置的池式存储器装置635。图6示出一个存储器系统630;然而,这仅是示例;可容纳不止一个存储器系统。
控制器633可对应于图5中所描述的控制器410。
控制器633可包括主机接口(I/F)651、数据指派器653、状态检查器655、组设定器657、处理器659和存储器接口(I/F)663。
主机I/F 651可对应于图5中所描述的I/O接口530。主机I/F 651可被配置为从主机610接收命令和数据并对其进行处理并且通过各种接口协议中的至少一种与主机610通信。例如,如图5中所描述的,主机I/F 651可支持根据诸如快速外围组件互连(PCIe)、QuickPath互连(QPI)和以太网的协议与主机610的通信。
数据指派器653可确定从主机610接收的数据的大小。另外,数据指派器653可存储关于池式存储器装置635中的多个存储器装置中的每一个的具有各种存储容量的存储块的地址信息。因此,数据指派器653可基于数据大小和地址信息选择用于存储对应数据的存储块(即,将特定数据指派给特定存储块)。例如,假设目标数据是加速数据并且其大小为80KB,并且目标数据要被编程的存储器装置中存在大小为80KB的存储块和大小为40KB的存储块。数据指派器653可从主机610所选择的第一存储器装置组667的存储器装置中所包括的存储块中选择容量等于或大于80KB的存储块。因此,数据指派器653可基于与大小为80KB的存储块对应的地址信息来选择存储块。然而,当不存在大小为80KB的存储块时,数据指派器653可基于与大小为40KB的多个存储块对应的地址信息来选择多个存储块。如上所述,数据指派器653可根据数据量来有效地管理存储块,因此容易地确保容纳要存储的数据的容量。此外,由于存储块的循环次数可由于数据指派器653的操作而减少,所以存储器单元的压力可减小,从而池式存储器装置635中所包括的多个存储器装置的可靠性可改进。
状态检查器655可周期性地检查池式存储器装置635中所包括的多个存储器装置中的每一个的状态,并且将所检查的状态作为状态信息存储。具体地讲,状态信息可包括多个存储器装置中的每一个中的存储块的擦除计数、错误计数和读计数的记号或值。状态检查器655可基于从主机610接收的命令对与多个存储器装置中的每一个对应的擦除(擦除计数)、错误(错误计数)和读(读计数)的发生进行计数。例如,当主机610发出对特定存储器装置中的特定存储块的擦除命令时,与对存储块的擦除操作的执行分开,状态检查器655可对错误进行计数以基于对存储块的擦除命令一次生成错误计数。另外,状态检查器655可存储与多个存储器装置中的每一个中的多个存储块中的每一个对应的错误计数。此外,状态检查器655可将各个错误计数存储在多个对应存储器装置中的每一个中。然后,当状态检查器655检查与多个存储器装置中的每一个中的多个存储块中的每一个对应的错误计数时,状态检查器655可通过存储在其中的错误计数和存储在多个存储器装置中的每一个中的错误计数来检查与多个存储器装置中的每一个中的多个存储块中的每一个对应的错误计数。
状态检查器655可基于状态信息来从多个存储器装置中检测坏存储器装置。例如,当多个存储器装置中的每一个包括100个存储块时,擦除计数为“10”或以上的存储块被视为坏存储块,并且包括“60”或以上的坏存储块的存储器装置被视为坏存储器装置。在这种情况下,状态检查器655可基于擦除计数来检查多个存储器装置中的每一个中的坏存储块的数量。如果特定存储器装置包括“60”或以上的存储块,各个存储块具有“10”或以上的擦除计数值,则状态检查器655可检测存储器装置并将其确定为坏存储器装置。
此外,状态检查器655可将关于坏存储器装置的信息(坏装置信息)传送到主机610,并且主机610可接收坏装置信息,将其存储在高速缓存存储器613中,并根据需要更新所存储的坏装置信息。坏装置信息可包括关于对应存储器装置的标识符(ID)信息。
组设定器657可应主机610的请求设定池式存储器装置635中的存储器装置组。具体地讲,针对池式存储器装置635中的多个存储器装置,组设定器657可单独地设定存储加速数据的第一存储器装置组667和存储非加速数据的第二存储器装置组669。
此外,组设定器657可应主机610的请求改变和重置已经设定的存储器装置组。例如,当主机610请求基于从状态检查器655接收的坏装置信息重置存储器装置组,使得包括在第一存储器装置组667中的坏存储器装置被改变到第二存储器装置组669时,组设定器657可应主机610的请求重置存储器装置组,使得坏存储器装置被包括在第二存储器装置组669中。此外,当存在处理加速数据的许多请求时,组设定器657可设定存储器装置组,使得池式存储器装置635仅存储加速数据。
组设定器657可在存储器系统630的操作期间以及存储器系统630启动时设定存储器装置组。
处理器659可针对池式存储器装置635中的多个存储器装置读取或写入目标数据。处理器659可根据主机610所选择的存储器装置组不同地处理数据。当目标数据是加速数据时,处理器659可针对第一存储器装置组667中的存储器装置读取或写入目标数据。然而,当目标数据是非加速数据时,处理器659可针对包括在第二存储器装置组669中的存储器装置读取或写入目标数据。
此外,处理器659可包括加速器661,与非加速数据的处理相比,加速器661能够给予加速数据的处理更高优先级。加速器661可包括直接存储器存取(DMA),并且可通过DMA快速地处理目标数据。具体地讲,加速器661可存储第一存储器装置组667中的多个存储器装置中的每一个的存储器映射。因此,加速器661可基于存储在DMA中的第一存储器装置组667中的多个存储器装置中的每一个的存储器映射来直接处理目标数据。即,加速器661可利用DMA中的存储器映射来快速地处理目标数据,甚至无需扫描主要由控制器633管理的单独存储器映射。此外,当所有数据的传输结束时,DMA可向主机610发送中断信号。因此,加速器661可基于先前选择的存储块来对对应加速数据进行编程。此外,加速器661可使用相干加速器接口架构(CAIA)。CAIA是使用标准PCIe总线将主机610一致地连接到计算系统600的接口架构。
存储器接口(I/F)663可支持控制器633与池式存储器装置635之间的接口连接。例如,存储器I/F 663可支持控制器633与池式存储器装置635之间的数据发送和/或接收。此外,存储器I/F 663可支持控制器633与池式存储器装置635之间根据诸如PCIe、双列直插存储器模块(DIMM)和非易失性DIMM(NVD)的协议的通信。此外,即使池式存储器装置635包括不同类型的多个存储器装置,存储器I/F 663也可包括一种类型的协议,例如DIMM。
池式存储器装置635可包括多个存储器装置。多个存储器装置可对应于图5中所描述的多个存储器420。池式存储器装置635中的多个存储器装置可包括诸如相变随机存取存储器(PCRAM)、动态随机存取存储器(DRAM)、NAND闪存(NAND)、自旋转移扭矩磁性随机存取存储器(STT-MRAM)、电阻式随机存取存储器(ReRAM)等的各种存储器。
如上所述,组设定器657可将池式存储器装置635划分成第一存储器装置组667和第二存储器装置组669。此外,池式存储器装置635中的多个存储器装置的类型可彼此不同。例如,池式存储器装置635可包括多个DRAM和多个PCRAM。当池式存储器装置635包括30个DRAM和70个PCRAM时,第一存储器装置组667可包括20个DRAM并且第二存储器装置组669可包括10个DRAM和70个PCRAM。在另一示例中,第一存储器装置组667可包括30个DRAM和10个PCRAM,并且第二存储器装置组669可包括60个PCRAM。这些分组是示例性的;与本文的教导一致可使用其它合适的分组。
图7是示出根据实施方式的计算系统的操作(例如,计算系统600的操作)的流程图。
在步骤S701,加速判断器617可确定目标数据是加速数据还是非加速数据,如图6中所描述的。
当目标数据是加速数据时(在步骤S701为“是”),主机610可在步骤S703选择第一存储器装置组667以用于存储目标数据。
当目标数据是非加速数据时(在步骤S701为“否”),主机610可在步骤S705选择第二存储器装置组669以用于存储目标数据。
在步骤S707,主机610可基于与目标数据对应的地址信息来选择存储器装置。当步骤S701的结果为“是”时,从第一存储器装置组667选择存储器装置,当步骤S701的结果为“否”时,从第二存储器装置组选择存储器装置。
步骤S701、S703、S705和步骤S707的操作由主机610执行。
在步骤S709,主机610可将目标数据提供给控制器633。
在步骤S711,数据指派器653可确定目标数据的大小。此外,如图6中所描述的,数据指派器653可基于目标数据的大小来选择所选存储器装置的存储块。
在步骤S713,处理器659可将目标数据编程到所选存储器装置的存储块。当目标数据是加速数据时,处理器659可将加速数据编程到从第一存储器装置组667选择的存储器装置的一个或更多个存储块。当目标数据是非加速数据时,处理器659可将非加速数据编程到第二存储器装置组669中的所选存储器装置的一个或更多个存储块。
图8是示出根据实施方式的计算系统的操作(例如,计算系统600的操作)的流程图。具体地讲,图8是示出调节池式存储器装置635的计算系统600的操作的流程图。
在步骤S801,状态检查器655可周期性地检查池式存储器装置635中的多个存储器装置中的每一个的状态。此外,状态检查器655可通过存储器I/F 663接收关于池式存储器装置635中的多个存储器装置中的每一个的状态信息。
在步骤S803,状态检查器655可基于所接收的状态信息来检测坏存储器装置,如图6中所描述的。
在步骤S805,状态检查器655可通过主机I/F 651向主机610告知关于所检测到的坏存储器装置的信息。
在步骤S807,主机610可向控制器633发送基于从状态检查器655接收的坏装置信息重置池式存储器装置635中的存储器装置组的请求。例如,主机610可向控制器633发送请求以调节或重新布置存储器装置组,使得第一存储器装置组667中的坏存储器装置被包括在第二存储器装置组669中。另选地,主机610可自己进行这种确定并发送根据数据处理量调节存储器装置组的请求。在另一示例中,当在特定时间段内要连续地仅处理加速数据时,主机610可向控制器633发送请求,使得至少在该特定时间段期间整个池式存储器装置635被用作第一存储器装置组667。
在步骤S809,组设定器657可应主机610的请求重置存储器装置组。例如,组设定器657可设定第一存储器装置组667和第二存储器装置组669的范围。尽管图中未示出,组设定器657可设定存储器装置组并向主机610告知该设定,并且主机610可接收设定信息并更新关于多个存储器装置中的每一个的地址信息。
根据实施方式的计算系统确定从主机610接收的数据量,根据数据量以及根据从主机610接收的数据的性质确定的数据的类型(即,加速数据或非加速数据)来选择用于存储数据的存储器装置组、存储器装置及其存储块。基于这些确定,计算系统将数据存储在设定的区域中,以使得可改进存储器的存储效率和处理速度。
尽管已描述和示出了各种实施方式,根据本公开对于本领域技术人员而言将显而易见的是,在不脱离如以下权利要求中所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
相关申请的交叉引用
本申请要求2018年3月27日提交的韩国专利申请No.10-2018-0035174的优先权,其整体通过引用并入本文。

Claims (22)

1.一种计算系统,该计算系统包括:
主机,该主机被配置为提供数据以及关于所述数据的地址信息;以及
存储器系统,该存储器系统被配置为存储所述数据,
其中,所述存储器系统包括:
多个存储器装置,所述多个存储器装置被配置为被分组到至少一个存储器装置组中;以及
控制器,该控制器被配置为控制所述多个存储器装置中的每一个,
其中,所述控制器包括:
组设定器,该组设定器被配置为应所述主机的请求针对所述数据的类型设定所述存储器装置组;以及
处理器,该处理器被配置为从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。
2.根据权利要求1所述的计算系统,其中,所述控制器还包括:
状态检查器,该状态检查器被配置为检查并存储关于所述多个存储器装置中的每一个的状态信息,并基于所述状态信息从所述多个存储器装置中检测坏存储器装置。
3.根据权利要求2所述的计算系统,其中,所述状态检查器将所述坏存储器装置的所述状态信息传送到所述主机。
4.根据权利要求3所述的计算系统,其中,所述组设定器基于所述坏存储器装置的所述状态信息来应所述主机的请求重置至少两个存储器装置组中的所述多个存储器装置的分组。
5.根据权利要求1所述的计算系统,其中,所述组设定器将至少两个存储器装置组设定为存储加速数据的第一存储器装置组和存储非加速数据的第二存储器装置组。
6.根据权利要求5所述的计算系统,其中,所述控制器还包括:
数据指派器,该数据指派器被配置为基于所述数据的大小在针对所述数据的类型的所述存储器装置组中选择由所述主机选择的存储器装置的存储块。
7.根据权利要求6所述的计算系统,其中,所述处理器将所述数据存储在所选存储块中。
8.根据权利要求5所述的计算系统,其中,所述处理器包括:
加速器,该加速器被配置为与非加速数据相比优先处理加速数据。
9.根据权利要求8所述的计算系统,其中,所述加速器包括直接存储器存取DMA。
10.一种计算系统的操作方法,该操作方法包括以下步骤:
由控制器将多个存储器装置分组到至少一个存储器装置组中;
由主机请求所述控制器针对数据的类型设定所述存储器装置组;
由所述控制器根据所述请求设定所述存储器装置组;以及
从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。
11.根据权利要求10所述的操作方法,该操作方法还包括以下步骤:
检查并存储关于所述多个存储器装置中的每一个的状态信息,并基于所述状态信息从所述多个存储器装置中检测坏存储器装置。
12.根据权利要求11所述的操作方法,该操作方法还包括以下步骤:
将所述坏存储器装置的所述状态信息传送到所述主机。
13.根据权利要求12所述的操作方法,其中,在设定所述存储器装置组的步骤中,基于所述坏存储器装置的所述状态信息来应所述主机的请求重置至少两个存储器装置组中的所述多个存储器装置的分组。
14.根据权利要求10所述的操作方法,其中,在设定所述存储器装置组的步骤中,至少两个存储器装置组被设定为存储加速数据的第一存储器装置组和存储非加速数据的第二存储器装置组。
15.根据权利要求14所述的操作方法,该操作方法还包括以下步骤:
基于所述数据的大小在针对所述数据的类型的所述存储器装置组中选择由所述主机选择的存储器装置的存储块。
16.根据权利要求15所述的操作方法,其中,在读取或写入所述数据的步骤中,所述数据被写入到所选存储块中。
17.根据权利要求14所述的操作方法,其中,在读取或写入所述数据的步骤中,
与非加速数据相比,优先处理加速数据。
18.一种存储器系统,该存储器系统包括:
多个存储器装置,所述多个存储器装置被配置为被分组到至少一个存储器装置组中;以及
控制器,该控制器被配置为控制所述多个存储器装置中的每一个,
其中,所述控制器包括:
组设定器,该组设定器被配置为应主机的请求来针对数据的类型设定所述存储器装置组;以及
处理器,该处理器被配置为从与所述数据的类型对应的存储器装置组读取所述数据或者将所述数据写入到与所述数据的类型对应的存储器装置组。
19.根据权利要求18所述的存储器系统,其中,所述控制器还包括:
状态检查器,该状态检查器被配置为检查并存储关于所述多个存储器装置中的每一个的状态信息,并基于所述状态信息从所述多个存储器装置中检测坏存储器装置。
20.根据权利要求19所述的存储器系统,其中,所述组设定器基于所述坏存储器装置的所述状态信息来应所述主机的请求重置至少两个存储器装置组中的所述多个存储器装置的分组。
21.一种计算系统,该计算系统包括:
存储器系统,该存储器系统包括多个存储器装置;以及
主机,该主机被设置为:
向所述存储器系统发送用于将所述多个存储器装置分配到第一存储器组和第二存储器组中的第一请求,所述第一存储器组用于处理第一类型的数据,所述第二存储器组用于处理第二类型的数据,并且
向所述存储器系统发送数据以及关于所述第一存储器组和所述第二存储器组当中的目标存储器组的目标存储块的地址信息以存储所述数据,所述目标存储器组基于所述数据是所述第一类型还是所述第二类型来选择,
其中,所述存储器系统被设置为:
基于所述第一请求将所述多个存储器装置分配到所述第一存储器组和所述第二存储器组中,并且
基于所述地址信息将所述数据写入到所述目标存储块中,
其中,所述主机发送用于基于所述多个存储器装置的更新的状态来在所述第一存储器组和所述第二存储器组中重新分配所述多个存储器装置的第二请求。
22.根据权利要求21所述的计算系统,其中,所述第一类型的数据是加速数据,并且所述第二类型的数据是非加速数据。
CN201811425273.5A 2018-03-27 2018-11-27 存储器系统、计算系统及其操作方法 Active CN110308865B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0035174 2018-03-27
KR1020180035174A KR102586768B1 (ko) 2018-03-27 2018-03-27 컴퓨팅 시스템 및 그것의 동작방법

Publications (2)

Publication Number Publication Date
CN110308865A true CN110308865A (zh) 2019-10-08
CN110308865B CN110308865B (zh) 2023-04-25

Family

ID=68056188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811425273.5A Active CN110308865B (zh) 2018-03-27 2018-11-27 存储器系统、计算系统及其操作方法

Country Status (5)

Country Link
US (2) US10956061B2 (zh)
JP (1) JP7330694B2 (zh)
KR (1) KR102586768B1 (zh)
CN (1) CN110308865B (zh)
TW (1) TWI772550B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102607421B1 (ko) 2020-04-27 2023-11-29 한국전자통신연구원 광 회선을 통해 상호 연결된 컴퓨팅 자원 분할 협업 시스템, 자원 분할 협업 방법
KR102692866B1 (ko) * 2021-04-26 2024-08-08 한국전자통신연구원 컴퓨팅 자원 분할 운용 방법 및 장치
KR20230111055A (ko) 2022-01-17 2023-07-25 한국전자통신연구원 분할운용 컴퓨팅 시스템 및 방법

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005237A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corp. Symmetric multiprocessor coherence mechanism
US20060085617A1 (en) * 2004-10-18 2006-04-20 Seagate Technology Llc Recovery record for updating a system configuration
US20070033319A1 (en) * 2005-07-22 2007-02-08 Kabushiki Kaisha Toshiba Information processing system and memory controller for controlling operation of memories
US20070106846A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Adaptive replacement cache
US20100153631A1 (en) * 2007-08-08 2010-06-17 Kui-Yon Moon Method and data storage device for processing commands
JP2011118744A (ja) * 2009-12-04 2011-06-16 Hitachi Ltd 情報処理装置
US20140157083A1 (en) * 2010-01-11 2014-06-05 Apple Inc. Redundant data storage schemes for multi-die memory systems
JP2017162065A (ja) * 2016-03-08 2017-09-14 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
CN107203475A (zh) * 2016-03-17 2017-09-26 爱思开海力士有限公司 包括存储器件的存储系统及其操作方法
US20170277476A1 (en) * 2016-03-25 2017-09-28 SK Hynix Inc. Memory system and operating method of memory system
CN107526536A (zh) * 2016-06-22 2017-12-29 伊姆西公司 用于管理存储系统的方法和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW586120B (en) * 2003-02-07 2004-05-01 Ting-Jin Wu Management system for defective memory
US7127549B2 (en) 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
US7694195B2 (en) * 2007-08-14 2010-04-06 Dell Products L.P. System and method for using a memory mapping function to map memory defects
US7945815B2 (en) * 2007-08-14 2011-05-17 Dell Products L.P. System and method for managing memory errors in an information handling system
KR20100050789A (ko) * 2008-11-06 2010-05-14 삼성전자주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
KR20150044753A (ko) * 2013-10-17 2015-04-27 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
WO2015114829A1 (ja) * 2014-02-03 2015-08-06 株式会社日立製作所 情報処理装置
US20160092118A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Memory write management in a computer system
KR20160112135A (ko) * 2015-03-18 2016-09-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102468992B1 (ko) 2015-11-06 2022-11-22 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005237A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corp. Symmetric multiprocessor coherence mechanism
US20060085617A1 (en) * 2004-10-18 2006-04-20 Seagate Technology Llc Recovery record for updating a system configuration
US20070033319A1 (en) * 2005-07-22 2007-02-08 Kabushiki Kaisha Toshiba Information processing system and memory controller for controlling operation of memories
US20070106846A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Adaptive replacement cache
US20100153631A1 (en) * 2007-08-08 2010-06-17 Kui-Yon Moon Method and data storage device for processing commands
JP2011118744A (ja) * 2009-12-04 2011-06-16 Hitachi Ltd 情報処理装置
US20140157083A1 (en) * 2010-01-11 2014-06-05 Apple Inc. Redundant data storage schemes for multi-die memory systems
JP2017162065A (ja) * 2016-03-08 2017-09-14 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
CN107203475A (zh) * 2016-03-17 2017-09-26 爱思开海力士有限公司 包括存储器件的存储系统及其操作方法
US20170277476A1 (en) * 2016-03-25 2017-09-28 SK Hynix Inc. Memory system and operating method of memory system
CN107526536A (zh) * 2016-06-22 2017-12-29 伊姆西公司 用于管理存储系统的方法和系统

Also Published As

Publication number Publication date
JP7330694B2 (ja) 2023-08-22
US10956061B2 (en) 2021-03-23
KR102586768B1 (ko) 2023-10-16
US20210181959A1 (en) 2021-06-17
US20190303027A1 (en) 2019-10-03
CN110308865B (zh) 2023-04-25
TW201942748A (zh) 2019-11-01
TWI772550B (zh) 2022-08-01
KR20190113040A (ko) 2019-10-08
JP2019175427A (ja) 2019-10-10
US11461024B2 (en) 2022-10-04

Similar Documents

Publication Publication Date Title
US11086520B2 (en) Method and apparatus for dynamically allocating storage resources to compute nodes
US11029853B2 (en) Dynamic segment allocation for write requests by a storage system
US12056027B2 (en) Memory system and data processing system including the same
US9104545B2 (en) Thick and thin data volume management
US20080162735A1 (en) Methods and systems for prioritizing input/outputs to storage devices
US11461024B2 (en) Computing system and operating method thereof
US11520715B2 (en) Dynamic allocation of storage resources based on connection type
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
CN106598724A (zh) 用于在计算系统中管理内存的方法
CN110032469A (zh) 数据处理系统及其操作方法
US11182099B2 (en) Memory system and operating method thereof
CN109753236B (zh) 存储系统及其操作方法
US11036399B2 (en) Memory system and operating method of the memory system
US10928871B2 (en) Computing device and operation method thereof
CN111435337A (zh) 存储器系统和数据处理系统
WO2018067745A1 (en) Parallel segment writer

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