CN112328166A - 数据处理系统及其操作方法 - Google Patents

数据处理系统及其操作方法 Download PDF

Info

Publication number
CN112328166A
CN112328166A CN202010222122.0A CN202010222122A CN112328166A CN 112328166 A CN112328166 A CN 112328166A CN 202010222122 A CN202010222122 A CN 202010222122A CN 112328166 A CN112328166 A CN 112328166A
Authority
CN
China
Prior art keywords
buffer
data
buffers
cores
reference value
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
CN202010222122.0A
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
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 CN112328166A publication Critical patent/CN112328166A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本申请涉及一种数据处理系统。该数据处理系统包括控制器,该控制器被配置成根据主机的请求来控制对存储器的数据输入/输出。控制器可包括:缓冲存储器,包括多个缓冲器,多个缓冲器被配置成存储从存储器传送的数据;处理器组,包括多个内核,多个内核分别连接到多个缓冲器,每个内核被配置成从其各自的缓冲器读取各自的数据并使用所读取的数据来执行计算;以及速度控制组件,被配置成基于与多个内核中的每一个相对应的每个缓冲器的未读取数据的量来调整处理器组的操作速度。

Description

数据处理系统及其操作方法
相关申请的交叉引用
本申请要求于2019年8月5日向韩国知识产权局提交的申请号为10-2019-0094748的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体集成设备,且更特别地,涉及一种数据处理系统及其操作方法。
背景技术
由半导体组成的电路或设备被配置成传送/接收电信号。例如,半导体电路或设备被配置成计算或存储所接收的信号,并传送所存储或所计算的信号。
随着对诸如人工智能、自动驾驶、机器人和虚拟现实的高容量信号的高速传送、分析和处理技术的需求增加,使数据处理系统的功耗最小化的方法正在被研究。
发明内容
在实施例中,数据处理系统包括控制器,该控制器被配置成根据主机的请求来控制对存储器的数据输入/输出,其中该控制器可包括:缓冲存储器,包括被配置成存储从存储器传送的数据的多个缓冲器;处理器组,包括分别连接到多个缓冲器的多个内核,每个内核被配置成从其各自的缓冲器读取各自的数据并使用所读取的数据来执行计算;以及速度控制组件,被配置成基于与多个内核中的每一个相对应的每个缓冲器的未读取数据的量来调整处理器组的操作速度。
在实施例中,一种控制数据处理系统的操作方法,该数据处理系统包括分别连接到多个内核的多个缓冲器,该方法可包括:将从存储器读取的数据写入到多个缓冲器中,从该多个缓冲器中的缓冲器读取数据,并将所读取的数据提供到连接到缓冲器的多个内核中的内核;由内核使用从缓冲器读取的数据来执行计算,并基于多个缓冲器中的一个或多个中的未读取数据的量来调整多个内核中的一个或多个的操作速度。
附图说明
图1示出根据实施例的电子系统。
图2示出根据实施例的数据处理系统。
图3示出根据实施例的缓冲器控制电路。
图4示出根据实施例的缓冲存储器的操作。
图5示出根据实施例的速度控制组件。
图6示出根据实施例的数据处理系统的操作进程。
图7示出根据实施例的数据处理系统的操作进程。
图8示出根据实施例的数据处理系统的操作进程。
图9、图10和图11示出根据实施例的堆叠半导体设备。
图12示出根据实施例的包括数据存储装置的网络系统。
具体实施方式
下文中,将参照附图在下面更详细地描述数据处理系统及其操作方法。
图1是根据实施例的电子系统10的配置图。
电子系统10可包括数据处理系统100和与该数据处理系统100通信的主机200。
如果有必要,主机200可向数据处理系统100传送与数据处理相关的请求REQ、地址ADD和输入数据INDATA。数据处理系统100可响应于主机200的请求REQ、地址ADD和输入数据INDATA来执行对应于请求REQ的操作,并将作为处理结果所产生的输出数据OUTDATA传送到主机200。
随着在数据处理系统100和主机200之间交换的输入数据INDATA和输出数据OUTDATA的量增加和/或随着主机200被实施为诸如智能电话、平板PC和笔记本的小型化装置,主机200可依赖于数据处理系统100来执行计算。也就是说,数据处理系统100不仅可被配置成存储或输出数据,还可被配置成使用数据通过其自身来执行计算。
数据处理系统100可包括通过使用超级计算机或计算机集群来以协作方式执行高级计算的高性能计算(HPC)装置,或单独处理数据的网络信息处理装置或服务器的阵列。
数据处理系统100可包括多个数据处理装置以存储和/或计算数据,并且可输出所计算的数据作为输出数据OUTDATA。
数据处理系统100中包括的数据处理装置可包括至少一个服务器计算机、构成每个服务器计算机的至少一个机柜(rack)、或构成每个机柜的至少一个板。
如上所述,数据处理系统100可包括多个数据处理装置,以便提高信息处理性能,并且数据处理装置可被电联网以相互传送、接收和/或共享数据。
图2是根据实施例的数据处理系统100的配置图。
根据实施例的数据处理系统100可包括控制器110和存储器池120。
控制器110可连接到存储器池120,以控制存储器池120的数据输入/输出。控制器110可由图1的主机200的请求REQ生成命令,并根据所生成的命令来处理数据。处理数据可包括读取存储器池120中存储的数据、基于所读取的数据执行计算并将所计算的数据提供到主机200或存储器池120。
控制器110可包括主机接口(IF)113、只读存储器(ROM)1151、随机存取存储器(RAM)1153、存储器控制器117、缓冲存储器119和处理器组121,并且可包括用于控制缓冲存储器119的缓冲器控制电路20。
主机IF 113可提供主机200与控制器110之间的接口。主机IF 113可存储和调度由从主机200提供的请求REQ所得到的命令,并将处理后的命令提供到处理器组121。主机IF113可向存储器控制器117提供从主机200提供的写入数据,或者通过存储器控制器117向主机200提供从存储器池120提供的读取数据或从处理器组121输出的数据。
ROM 1151可存储控制器110的操作所需的程序代码,例如固件或软件,并且存储程序代码所使用的代码数据等。
RAM 1153可存储控制器110的操作所需的数据或由控制器110生成的数据。
存储器控制器117可将从主机IF 113提供的数据传送到存储器池120,或者接收从存储器池120读取的数据并将所接收的数据提供到主机IF 113或缓冲存储器119。
缓冲存储器119可在缓冲器控制电路20的控制下存储从存储器池120读取的数据。缓冲存储器119中存储的数据可由处理器组121读取。
处理器组121可包括多个内核C0至Cn,并且可从存储器池120读取数据并以由一个或多个时钟信号确定的速率运行根据主机200的应用卸载处理请求被请求处理的应用的程序代码。卸载表示将主机200的计算委托给另一装置,例如数据处理系统100。
诸如大数据分析和机器学习的应用需要对大量的数据进行计算。响应于这些需求,已进行了对于能够接受委托并使用计算引擎、也就是处理器组121处理主机200的计算的数据处理系统100的研究。在这样的电子系统10中,主机200可在数据处理系统100执行大量的数据计算的同时执行其他任务,从而可提高任务效率。
在实施例中,当请求应用的卸载处理时,主机200可向数据处理系统100传送初始参数,并将初始参数存储在存储器池120中。为了通过处理器组121的内核C0至Cn分布和处理应用,存储器控制器117可将存储在存储器池120中的初始参数存储在缓冲存储器119中,并且内核C0至Cn可从缓冲存储器119读取初始参数并运行应用的程序代码。
在实施例中,从存储器池120读取的数据可以页面(其可对应于存储器阵列中的行线)为单位被传送到缓冲存储器119,并以页面为单位存储到缓冲存储器中。处理器组121的内核C0至Cn中的每一个可独立地访问缓冲存储器119并从缓冲存储器119读取数据。
图3示出根据实施例的缓冲器控制电路,并且图4是根据实施例的用于说明缓冲存储器的操作的概念图。
参照图3,缓冲器控制电路20可包括输入/输出管理组件210、命令处理组件220和速度控制组件230。
输入/输出管理组件210可通过写入指针(图4中的WP)和多个读取指针(图4中的RP0至RPn)来管理对缓冲存储器119的数据输入/输出。例如,当向缓冲存储器119输入(写入)数据时,输入/输出管理组件210可将数据写入到与由写入指针WP指示的地址相对应的区域,并增加写入指针WP。当将数据从缓冲存储器119输出(读取)到内核Cx时,输入/输出管理组件210可从与由相应的读取指针RPx指示的地址相对应的区域读取数据,并增加读取指针RPx。
如图4所示,缓冲存储器119可包括分别对应于并连接到内核C0至Cn的多个缓冲器B0至Bn。缓冲器B0至Bn中的每一个可以FIFO的方式输入/输出数据;然而,实施例不限于此。缓冲器B0至Bn中的每一个的深度可以是页面数量,并且图4示出缓冲器B0至Bn各自具有深度m,也就是m个页面。
由于从存储器池120提供的数据以页面为单位存储在缓冲存储器119中,所以数据待写入到缓冲存储器119的位置可由单个写入指针WP来管理。此外,由于缓冲器B0至Bn被提供到多个内核C0至Cn并且各个内核C0至Cn独立地读取数据,所以待读取数据的位置可由内核C0至Cn的各自的读取指针RP0至RPn来管理。
输入/输出管理组件210可通过将写入指针WP和读取指针RP0至RPn设置到地址0来初始化缓冲存储器119。
命令处理组件220可接收存储器控制器117或处理器组121的输入或输出命令,并执行对应于该命令的操作。
速度控制组件230可根据构成处理器组121的多个内核C0至Cn中的每一个的数据处理性能来单独或全局地调整多个内核C0至Cn的速度。在实施例中,对多个内核C0至Cn的速度调整可以是改变时钟频率的操作;然而,本技术不限于此。
内核C0至Cn中的每一个的数据处理性能可根据内核C0至Cn中的每一个的缓冲器B0至Bn中的每一个的未读取数据的量来确定;然而,本技术不限于此。此外,可基于写入指针WP和相应的读取指针RPx,例如,基于与通过从由写入指针WP指示的地址减去由读取指针RPx指示的地址而获得的差值相对应的指针差值SUB=WP-RPx来检查缓冲器B0至Bn中的每个缓冲器Bx的未读取数据的量。
在实施例中,当第一参考值REF1被设置为“0”时,可将连接到指针差值SUB小于第一参考值REF1,即读取指针RPx早于写入指针WP的空缓冲器的内核的性能水平确定为空闲状态。在实施例中,可将连接到指针差值SUB小于第二参考值REF2的缓冲器的内核的性能水平确定为工作但不忙碌状态。可将连接到指针差值SUB等于或大于第二参考值REF2的缓冲器的内核的性能水平确定为忙碌状态。
速度控制组件230可根据内核的性能水平通过调整内核各自的时钟频率来调整内核的操作速度。
根据每个内核的性能水平调整操作速度的示例如下面的表1所示。
表1
Figure BDA0002426452460000061
如上所述,速度控制组件230可根据每个内核的性能水平来控制每个内核的操作速度;然而,本技术不限于此,并且速度控制组件230可共同控制所有内核的操作速度。在实施例中,当所有内核中的任意一个处于空闲状态或者所有内核之中处于工作但不忙碌状态的内核的数量等于或大于预定阈值时,速度控制组件230可降低所有内核的时钟频率。
在多个内核被包括在一个计算引擎中的数据处理系统100中,对于多个内核C0至Cn中的每一个,数据处理速度可以不同。因为计算引擎的性能由操作速度最低的内核决定,并且因为功耗可能随数据处理速度而变化,所以可通过在所有内核C0至Cn之中平衡数据处理速度来最小化功耗。
因为以页面为单位将数据输入到缓冲存储器119,所以当特定内核读取缓冲器的所有数据并且缓冲器处于空状态时,当另一内核在其缓冲器中具有未读取数据,会阻止另一页面的数据被存储到缓冲器中时,该内核可不读取数据并因此可处于空闲状态。
在这方面,在实施例中,具有很少或没有剩余任务要执行(也就是说,在其缓冲器中有很少或没有未读取数据)的内核的操作速度降低,而具有大量剩余任务要执行(也就是说,在其缓冲器中有大量未读取数据)的内核的操作速度提高,使得可以在处理器组121中的所有内核C0至Cn之中平衡速度。
图5是根据实施例的速度控制组件230的配置图。
速度控制组件230可包括减法电路201、比较电路203和时钟生成电路205。
减法电路201可接收写入指针WP和每个内核各自的的读取指针RPx,并通过从写入指针WP减去读取指针RPx来输出每个内核各自的指针差值SUBx。
比较电路203可接收每个内核的指针差值SUBx、第一参考值REF1和第二参考值REF2,并且为每个内核生成各自的第一比较信号COMP1x和各自的第二比较信号COMP2x。
在实施例中,比较电路203可根据指针差值SUBx和第一参考值REF1的比较结果生成第一比较信号COMP1x,并且根据指针差值SUBx和第二参考值REF2的比较结果生成第二比较信号COMP2x。
时钟生成电路205接收参考时钟信号ICLK,并且可响应于每个内核各自的第一和第二比较信号COMP1x和COMP2x,输出每个内核各自的经调制时钟信号MCLKx,该经调制时钟信号MCLKx是通过调整参考时钟信号ICLK的频率而获得的。
在实施例中,第一比较信号COMP1x可以是用于确定是否启用时钟生成电路205生成经调制时钟信号MCLKx的信号。因此,当指针差值SUBx小于第一参考值REF1时,可在能够停用时钟生成电路205生成经调制时钟信号MCLKx的电平下输出第一比较信号COMP1x。
在实施例中,第二比较信号COMP2x可以是能够通过时钟生成电路205控制经调制时钟信号MCLKx的振荡频率的信号。
因此,当时钟生成电路205被第一比较信号COMP1x启用时,可输出具有对应于第二比较信号COMP2x的振荡频率的经调制时钟信号MCLKx。将经调制时钟信号MCLKx分别提供到相应的内核Cx,并且内核Cx可以对应于该经调制时钟信号MCLKx的速度来操作。
图6是根据实施例的用于说明数据处理系统的操作进程600的流程图。根据实施例,进程600可由数据处理系统100的速度控制组件230执行,并且可被周期性地执行。
速度控制组件230可检查分别连接到内核C0至Cn的缓冲器B0至Bn的未读取数据的量(S101)。在实施例中,速度控制组件230可从输入/输出管理组件210接收由写入指针WP和缓冲器B0至Bn中的每一个的读取指针RPx指示的地址,并且为每个内核得出各自的指针差值SUBx,从而检查每个内核的未读取数据的量(S101)。
速度控制组件230可基于各自的指针差值SUBx、第一参考值REF1和第二参考值REF2来确定内核C0至Cn的单独或整体性能水平(S103)。
然后,速度控制组件230可根据性能水平确定结果来单独调整内核C0至Cn的速度,或者共同调整所有内核C0至Cn的速度(S105)。将参照图7和图8描述根据内核的性能水平调整速度的详细实施例。
图7是根据实施例的用于说明数据处理系统的操作进程700的流程图,并且示出调整单个内核的速度的实施例。进程700可由速度控制组件230周期性地执行,并且可针对处理器组121中的多个内核C0至Cn的每个内核独立地执行。
速度控制组件230可将对应于被控制的内核的指针差值SUBx与第一参考值REF1进行比较(S201)。例如,可将第一参考值REF1设置为“0”,并且当指针差值SUBx小于第一参考值REF1时(S201:是),也就是说,当读取指针RPx早于写入指针WP时,可确定相应的缓冲器为空。
速度控制组件230可将连接到空缓冲器的内核的性能水平确定为空闲状态,并因此停用该内核或降低该内核的操作频率(S203)。
当指针差值SUBx大于第一参考值REF1时(S201:否),速度控制组件230可将指针差值SUBx与第二参考值REF2进行比较(S205)。
当指针差值SUBx小于第二参考值REF2时(S205:是),速度控制组件230可将连接到相应缓冲器的内核的性能水平确定为工作但不忙碌状态,并降低该内核的操作频率(S207)。
速度控制组件230可将连接到指针差值SUBx等于或大于第二参考值REF2的缓冲器的内核的性能水平确定为忙碌状态,并且基本上保持或增加该内核的操作频率(S209)。
图8是根据实施例的用于说明数据处理系统的操作进程800的流程图,并且示出共同调整内核速度的实施例。进程800可由速度控制组件230执行。
速度控制组件230可检查处理器组121中包括的每个内核的未读取数据的量(S301)。
在实施例中,为了检查未读取数据的量,速度控制组件230可将缓冲器B0至Bn中的每一个的指针差值SUBx与第一参考值(REF1=0)进行比较(S303)。
当速度控制组件230检测到连接到指针差值SUBx小于第一参考值REF1的缓冲器的至少一个内核(例如,所连接的缓冲器是空缓冲器)时,速度控制组件230可降低所有内核C0至Cn的操作频率(S305)。
同时,当未检测到连接到处于空状态下的缓冲器的内核时(S303:否),速度控制组件230可检查所有内核之中被检测为处于工作但不忙碌状态的内核的数量是否等于或大于预定阈值TH(S307)。在实施例中,速度控制组件230可检查被检测为连接到指针差值SUBx小于第二参考值REF2的缓冲器的内核的数量是否等于或大于预定阈值TH。
当处于工作但不忙碌状态的内核的数量等于或大于预定阈值TH时(S307:是),速度控制组件230可降低所有内核C0至Cn的时钟频率(S309),否则(S307:否),速度控制组件230可基本上保持或增加所有内核C0至Cn的时钟频率(S311)。
本技术的数据处理系统100可通过在逻辑管芯上堆叠存储器池来配置。
图9至图11示出根据实施例的堆叠半导体设备。
图9示出根据实施例的堆叠半导体设备40。
堆叠半导体设备40可包括其中堆叠了多个管芯的堆叠结构410。堆叠结构410可被配置成高带宽存储器(HBM)类型,其中多个管芯被堆叠并经由硅通孔(TSV)彼此电连接,使得输入/输出单元的数量增加,从而带宽增加。
堆叠结构410可包括基础管芯414和多个内核管芯412。
多个内核管芯412可堆叠在基础管芯414上,并且经由硅通孔(TSV)彼此电连接。在内核管芯412的每一个中,可设置用于存储数据的存储器单元和用于存储器单元的内核操作的电路。
内核管芯412可经由硅通孔(TSV)电连接到基础管芯414,并且经由硅通孔(TSV)从基础管芯414接收信号、电力等。
例如,基础管芯414可包括图2所示的控制器110。基础管芯414可执行堆叠半导体设备40中的各种功能,例如,诸如存储器单元的电源管理和刷新的存储器管理功能,或者内核管芯412和基础管芯414之间的时序调整功能。
基础管芯414中包括的物理接口区域PHY可以是地址、命令、数据、控制信号等的输入/输出区域。物理接口区域PHY可设置有能够满足堆叠半导体设备40所需的数据处理速度的预定数量的输入/输出电路。多个输入/输出端子和电源端子可设置在基础管芯414的后表面上的物理接口区域PHY中,以接收输入/输出操作所需的信号和电力。
图10示出根据实施例的堆叠半导体设备400。
堆叠半导体设备400可包括多个内核管芯412和基础管芯414的堆叠结构410、存储器主机420和接口衬底430。存储器主机420可以是CPU、GPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。
基础管芯414可设置有用于内核管芯412和存储器主机420之间的接口的电路。堆叠结构410可具有类似于参照图9描述的结构。
堆叠结构410的物理接口区域PHY和存储器主机420的物理接口区域PHY可通过接口衬底430彼此电连接。接口衬底430可被称为中介层(interposer)。
图11示出根据实施例的堆叠半导体设备4000。
可以理解的是,图11所示的堆叠半导体设备4000是通过将图10所示的堆叠半导体设备400设置在封装衬底440上而获得的。
封装衬底440和接口衬底430可通过连接端子彼此电连接。
系统级封装(SiP)型半导体设备可通过将图10所示的堆叠结构410和存储器主机420堆叠在接口衬底430上,并为了封装的目的将它们安装在封装衬底440上来实现。
图12是示出根据实施例的包括数据存储装置的网络系统5000的示图。参照图12,网络系统5000可包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可将数据提供到多个客户端系统5410至5430。
服务器系统5300可包括主机装置5100和存储器系统5200。存储器系统5200可包括图1所示的数据处理系统100、图9所示的堆叠半导体设备40、图10所示的堆叠半导体设备400、或图11所示的堆叠半导体设备4000中的一个或多个或其组合。
尽管上面已经描述了各个实施例,但是本领域技术人员将理解,所描述的实施例仅为示例。因此,本文所描述的数据处理系统及其操作方法不应基于所描述的实施例而被限制。

Claims (20)

1.一种数据处理系统,所述数据处理系统包括控制器,所述控制器根据主机的请求控制对存储器的数据输入/输出,其中所述控制器包括:
缓冲存储器,包括多个缓冲器,所述多个缓冲器存储从所述存储器传送的数据;
处理器组,包括多个内核,所述多个内核分别连接到所述多个缓冲器,每个内核从其各自的缓冲器读取各自的数据并使用所读取的数据执行计算;以及
速度控制组件,基于与所述多个内核中的每一个相对应的每个缓冲器的未读取数据的量来调整所述处理器组的操作速度。
2.根据权利要求1所述的数据处理系统,其中所述速度控制组件单独地或共同地调整所述多个内核的操作速度。
3.根据权利要求1所述的数据处理系统,进一步包括:
输入/输出管理组件,管理写入指针和多个读取指针,所述写入指针指示数据被写入到所述缓冲器的地址,所述多个读取指针分别对应于所述多个缓冲器,每个读取指针指示从相应缓冲器读取数据的地址,
其中所述速度控制组件基于分别对应于所述多个缓冲器的多个差值来确定所述未读取数据的量,每个差值是通过从所述写入指针减去所述相应缓冲器的所述读取指针而获得的。
4.根据权利要求3所述的数据处理系统,其中当所述速度控制组件检测到所述多个差值中的至少一个小于第一参考值时,所述速度控制组件降低所有所述多个内核的时钟频率。
5.根据权利要求3所述的数据处理系统,其中当对应于缓冲器的所述差值小于第一参考值时,所述速度控制组件停用或降低连接到该缓冲器的内核的时钟频率。
6.根据权利要求5所述的数据处理系统,其中相应差值小于或等于所述第一参考值的缓冲器对应于不具有未读取数据的缓冲器。
7.根据权利要求5所述的数据处理系统,其中当对应于所述缓冲器的所述差值小于第二参考值时,所述速度控制组件降低连接到该缓冲器的内核的时钟频率,所述第二参考值大于所述第一参考值。
8.根据权利要求7所述的数据处理系统,其中当对应于所述缓冲器的所述差值等于或大于所述第二参考值时,所述速度控制组件基本上保持或增加连接到所述缓冲器的内核的时钟频率。
9.根据权利要求7所述的数据处理系统,其中响应于检测到相应差值小于所述第二参考值的缓冲器的数量等于或大于阈值,所述速度控制组件降低所有所述多个内核的各自的时钟频率。
10.根据权利要求9所述的数据处理系统,其中响应于检测到相应差值小于所述第二参考值的缓冲器的数量小于所述阈值,所述速度控制组件基本上保持或增加所有所述多个内核的各自的时钟频率。
11.一种控制数据处理系统的方法,所述数据处理系统包括分别连接到多个内核的多个缓冲器,所述方法包括:
将从存储器读取的数据写入到所述多个缓冲器中;
从所述多个缓冲器中的缓冲器读取数据,并将所读取的数据提供到连接到该缓冲器的所述多个内核中的内核;
由内核使用从该缓冲器读取的数据来执行计算;并且
基于所述多个缓冲器中的一个或多个中的未读取数据的量来调整所述多个内核中的一个或多个的操作速度。
12.根据权利要求11所述的方法,其中调整所述操作速度包括:
单独地或共同地调整所述多个内核的所述操作速度。
13.根据权利要求11所述的方法,
其中将从所述存储器读取的数据写入到所述多个缓冲器中包括将从所述存储器读取的数据存储到由写入指针指示的地址处的所述多个缓冲器中,
其中从所述多个缓冲器中的缓冲器读取数据包括从由分别对应于所述多个缓冲器的多个读取指针中的相应读取指针指示的地址读取数据,并且
其中调整所述操作速度包括:
基于通过从所述写入指针减去一个或多个缓冲器的各自的读取指针而获得的一个或多个各自的差值,确定所述一个或多个缓冲器中的未读取数据的量。
14.根据权利要求13所述的操作方法,其中相应差值小于第一参考值的缓冲器对应于不具有未读取数据的缓冲器。
15.根据权利要求13所述的操作方法,其中调整所述操作速度包括:
响应于检测到所述多个缓冲器中的至少一个缓冲器具有小于所述第一参考值的相应差值,降低所有所述多个内核的时钟频率。
16.根据权利要求13所述的操作方法,其中调整所述操作速度包括:
当缓冲器的差值小于第一参考值时,停用或降低连接到该缓冲器的内核的时钟频率。
17.根据权利要求16所述的操作方法,其中调整所述操作速度包括:
当对应于缓冲器的所述差值小于第二参考值时,降低连接到该缓冲器的内核的时钟频率,所述第二参考值大于所述第一参考值。
18.根据权利要求17所述的操作方法,其中调整所述操作速度包括:
当对应于所述缓冲器的所述差值等于或大于所述第二参考值时,基本上保持或增加连接到所述缓冲器的所述内核的时钟频率。
19.根据权利要求17所述的操作方法,其中调整所述操作速度包括:
响应于检测到各自的差值小于所述第二参考值的缓冲器的数量等于或大于阈值,降低所有所述多个内核的时钟频率。
20.根据权利要求19所述的操作方法,其中调整所述操作速度包括:
响应于检测到各自的差值小于所述第二参考值的缓冲器的数量小于所述阈值,基本上保持或增加所有所述多个内核的时钟频率。
CN202010222122.0A 2019-08-05 2020-03-26 数据处理系统及其操作方法 Pending CN112328166A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0094748 2019-08-05
KR1020190094748A KR20210016684A (ko) 2019-08-05 2019-08-05 데이터 처리 시스템 및 동작 방법

Publications (1)

Publication Number Publication Date
CN112328166A true CN112328166A (zh) 2021-02-05

Family

ID=74302895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010222122.0A Pending CN112328166A (zh) 2019-08-05 2020-03-26 数据处理系统及其操作方法

Country Status (3)

Country Link
US (1) US11360919B2 (zh)
KR (1) KR20210016684A (zh)
CN (1) CN112328166A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794980A (zh) * 2021-08-03 2021-12-14 安徽睿极智能科技有限公司 一种离线定位数据自动上传的方法及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193937A1 (en) * 2003-03-27 2004-09-30 Kabushiki Kaisha Toshiba Processor, control device for a processor, clock frequency determining method and source voltage controlling method of a processor
US20060188052A1 (en) * 2005-02-24 2006-08-24 Yamaha Corporation Data transmission controller and sampling frequency converter
US20110093735A1 (en) * 2009-10-09 2011-04-21 Elpida Memory, Inc. Semiconductor memory device, method of adjusting the same and information processing system including the same
CN105589661A (zh) * 2014-11-12 2016-05-18 三星电子株式会社 数据存储装置、数据处理系统和操作方法
CN106375239A (zh) * 2016-08-25 2017-02-01 北京智芯微电子科技有限公司 一种网络数据接收的处理方法及装置
CN108694138A (zh) * 2017-04-10 2018-10-23 爱思开海力士有限公司 控制器及其操作方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
JP2006293969A (ja) 2005-03-17 2006-10-26 Fujitsu Ltd データ転送装置
US8898674B2 (en) * 2009-12-23 2014-11-25 International Business Machines Corporation Memory databus utilization management system and computer program product
US20180284864A1 (en) * 2017-03-30 2018-10-04 Qualcomm Incorporated Dynamic clock and voltage scaling of cpu subsystem based on wi-fi communications
US10466920B2 (en) * 2017-08-17 2019-11-05 Western Digital Technologies, Inc. Method for maximizing frequency while checking data integrity on a physical interface bus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193937A1 (en) * 2003-03-27 2004-09-30 Kabushiki Kaisha Toshiba Processor, control device for a processor, clock frequency determining method and source voltage controlling method of a processor
US20060188052A1 (en) * 2005-02-24 2006-08-24 Yamaha Corporation Data transmission controller and sampling frequency converter
US20110093735A1 (en) * 2009-10-09 2011-04-21 Elpida Memory, Inc. Semiconductor memory device, method of adjusting the same and information processing system including the same
CN105589661A (zh) * 2014-11-12 2016-05-18 三星电子株式会社 数据存储装置、数据处理系统和操作方法
CN106375239A (zh) * 2016-08-25 2017-02-01 北京智芯微电子科技有限公司 一种网络数据接收的处理方法及装置
CN108694138A (zh) * 2017-04-10 2018-10-23 爱思开海力士有限公司 控制器及其操作方法

Also Published As

Publication number Publication date
KR20210016684A (ko) 2021-02-17
US11360919B2 (en) 2022-06-14
US20210042247A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US11888967B2 (en) Technologies for dynamic accelerator selection
US11467873B2 (en) Technologies for RDMA queue pair QOS management
US11416309B2 (en) Technologies for dynamic accelerator selection
EP4002134A1 (en) Direct memory access (dma) engine with network interface capabilities
US11397653B2 (en) Technologies for fast recovery of distributed storage systems on disaggregated storage
EP3731063B1 (en) Technologies for providing adaptive power management in an accelerator sled
US10970246B2 (en) Technologies for remote networked accelerators
CN111866612A (zh) 用于提供加速器设备发现服务的技术
CN115136565A (zh) 用于在分解环境中提供先进资源管理的技术
US11960900B2 (en) Technologies for fast booting with error-correcting code memory
CN112181068A (zh) 用于在分解式架构中提供延时感知共识管理的技术
CN112328166A (zh) 数据处理系统及其操作方法
US11461024B2 (en) Computing system and operating method thereof
EP3739448B1 (en) Technologies for compressing communication for accelerator devices
EP3731094A1 (en) Technologies for providing inter-kernel flow control for accelerator device kernels
EP3716088B1 (en) Technologies for flexible protocol acceleration
EP3757785A1 (en) Technologies for facilitating remote memory requests in accelerator devices
CN113377694A (zh) 数据处理系统及其操作方法
US10678737B2 (en) Technologies for providing dynamic communication path modification for accelerator device kernels
US20200341904A1 (en) Technologies for chained memory search with hardware acceleration
CN111831592A (zh) 数据处理系统及其操作方法
US20190324802A1 (en) Technologies for providing efficient message polling
US20230195528A1 (en) Method and apparatus to perform workload management in a disaggregated computing system
CN113495802A (zh) 数据处理系统、其存储器控制器及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination