CN115994105A - 存储系统和包括存储系统的数据处理系统 - Google Patents
存储系统和包括存储系统的数据处理系统 Download PDFInfo
- Publication number
- CN115994105A CN115994105A CN202310066589.4A CN202310066589A CN115994105A CN 115994105 A CN115994105 A CN 115994105A CN 202310066589 A CN202310066589 A CN 202310066589A CN 115994105 A CN115994105 A CN 115994105A
- Authority
- CN
- China
- Prior art keywords
- processor
- throughput
- inspection
- ownership
- task
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了存储系统和包括存储系统的数据处理系统。一种数据处理系统包括:共享存储器;主机处理器,其被配置为拥有共享存储器的所有权,以及通过访问共享存储器来处理第一任务;处理器,其被配置为拥有从主机处理器转移的所有权,并通过访问共享存储器来处理第二任务;以及存储器控制器,其被耦接在主机处理器、处理器和共享存储器之间,以及被配置为根据所有权来允许主机处理器或处理器访问共享存储器。
Description
本专利申请是于2018年12月11日提交的申请号为201811509646.7、发明名称为“存储系统和包括存储系统的数据处理系统”的中国发明专利申请的分案申请。
相关申请的交叉引用
本申请要求于2018年2月28日向韩国知识产权局提交的申请号为10-2018-0024836的韩国申请以及于2018年3月20日向韩国知识产权局提交的申请号为10-2018-0032111的韩国申请的优先权,其公开内容通过引用整体合并于此。
技术领域
各种实施例总体上涉及一种数据处理系统,并且更具体地涉及一种包括共享存储器的数据处理系统。
背景技术
数据处理系统是一种能够处理数据的电子系统,并且可以包括个人计算机、笔记本电脑、智能手机、平板电脑、数字相机、游戏控制台、导航系统、虚拟现实(VR)设备和可佩带设备等等。
数据处理系统可以包括存储系统。存储系统可以被配置为储存由数据处理系统处理的数据。存储系统可以被嵌入在数据处理系统中,或者单独制造并连接到数据处理系统。存储系统可以包括PCMCIA(个人计算机存储卡国际协会)卡、CF(紧凑型闪存)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型MMC)、SD(安全数字)卡(SD、迷你型SD、微型SD)、UFS(通用闪存存储装置)或SSD(固态驱动器)。
发明内容
在一个实施例中,一种数据处理系统可以包括:共享存储器;主机处理器,其被配置为拥有所述共享存储器的所有权(ownership),以及通过访问所述共享存储器来处理第一任务;处理器,其被配置为拥有从所述主机处理器转移的所述所有权,以及通过访问所述共享存储器来处理第二任务;以及存储器控制器,其被耦接在所述主机处理器、处理器和共享存储器之间,并且所述存储器控制器被配置为根据所有权来允许所述主机处理器或处理器访问共享存储器。所述存储器控制器可以包括邮件块(mail box),以及所述主机处理器可以通过访问所述邮件块来转移或收回(restore)所有权。
在一个实施例中,一种数据处理系统可以包括:共享存储器;处理器,其被配置为通过从主机处理器接收所有权并且访问所述共享存储器来处理任务;以及存储器控制器,其被耦接在所述主机处理器、处理器和共享存储器之间,并且被配置为根据所述所有权来允许所述主机处理器或处理器访问所述共享存储器。所述存储器控制器可以包括邮件块,主机处理器访问该邮件块以便将所述所有权转移到所述处理器。
在一个实施例中,一种数据处理系统可以包括:状态储存单元,其被配置为储存与任务相对应的剩余吞吐量的值;第一处理器,其被配置为在基于检查周期的每个检查定时从所述状态储存单元读取剩余吞吐量的值;以及第二处理器,其被配置为处理所述任务,其中,所述第一处理器基于与当前检查定时相对应的当前剩余吞吐量值和与先前检查定时相对应的先前剩余吞吐量值来计算检查周期吞吐量值,并且基于所述当前剩余吞吐量值和所述检查周期吞吐量值来调整所述检查周期。
在一个实施例中,一种数据处理系统的操作方法可以包括:由第一处理器在基于检查周期的每个检查定时从状态储存单元读取任务的剩余吞吐量;由所述第一处理器基于当前检查定时的当前剩余吞吐量和先前检查定时的先前剩余吞吐量来计算检查周期吞吐量;以及由所述第一处理器基于所述当前剩余吞吐量和所述检查周期吞吐量来调整所述检查周期。
在一个实施例中,一种数据处理系统可以包括:共享存储器;主机处理器,其被配置为拥有所述共享存储器的所有权,并且通过访问所述共享存储器来处理第一任务;处理器,其被配置为拥有从所述主机处理器转移的所有权,并且通过访问所述共享存储器来处理第二任务;以及存储器控制器,其被耦接在所述主机处理器、处理器和共享存储器之间,并且被配置为根据所述所有权来允许所述主机处理器或所述处理器访问所述共享存储器。所述所有权的拥有可以由所述存储器控制器基于从所述主机处理器接收的访问命令的地址以及所述访问命令的地址是在第一地址范围内还是在第二地址范围内来确定。
在一个实施例中,一种数据处理系统可以包括:共享存储器;处理器,其被配置为通过从主机处理器接收所有权并访问所述共享存储器来处理任务;以及存储器控制器,其被耦接在所述主机处理器、处理器和共享存储器之间,并且被配置为根据所述所有权来允许所述主机处理器或处理器访问所述共享存储器。对所述共享存储器的访问可以由所述存储器控制器基于从所述主机处理器接收的访问命令的地址以及所述访问命令的地址是在第一地址范围内还是第二地址范围内来确定。
附图说明
图1是示出根据实施例的数据处理系统的框图。
图2示出了根据本实施例的主机处理器和处理器交替拥有共享存储器的所有权。
图3简要地示出了根据本实施例的主机处理器和处理器的操作程序。
图4示出了根据本实施例的邮件块的配置。
图5是示出根据本实施例的存储器控制器的详细框图。
图6示出了根据本实施例的在其中主机处理器将任务数据储存在共享存储器中的方法。
图7示出了根据本实施例的在其中主机处理器将所有权转移到处理器的方法。
图8示出了根据本实施例的在其中控制器将所有权给予处理器的方法。
图9示出了根据本实施例的在其中主机处理器将任务信息储存在邮件块中的方法。
图10示出了根据本实施例的在其中处理器从邮件块读取任务信息的方法。
图11示出了根据本实施例的在其中处理器处理任务数据的方法。
图12示出了根据本实施例的在其中主机处理器从处理器收回所有权的方法。
图13示出了根据本实施例的在其中主机处理器从共享存储器读取任务结果数据的方法。
图14示出了根据本实施例的在其中主机处理器从邮件块读取任务结果数据的方法。
图15是示出根据实施例的数据处理系统的框图。
图16示出了根据实施例的由第二处理器处理的任务的剩余吞吐量。
图17示出了根据本实施例的在其中图8的第一处理器对剩余吞吐量的检查周期进行调整的方法。
图18是示出根据本实施例的数据处理系统的操作方法的流程图。
图19是示出根据本实施例的在其中第一处理器对检查周期进行调整的方法的流程图。
图20示出了根据实施例的数据处理系统。
图21示出了根据实施例的数据处理系统。
图22示出了根据实施例的数据处理系统。
图23示出了根据实施例的包括存储系统的网络系统。
具体实施方式
将参考附图通过以下实施例来描述本公开的优点和特征以及用于实现所述优点和特征的方法。然而,本公开不限于本文描述的实施例,但是可以以不同的方式来体现。提供本实施例仅用于描述本公开,使得本公开所属领域的技术人员可以容易地执行本公开的技术构思。
实施例不限于附图中示出的特定形状,但是为了清楚起见它们可能被夸大。在本说明书中,使用了特定术语。然而,这些术语仅用于描述本公开,但不限制权利要求中描述的本公开的范围。
在该说明书中,诸如‘和/或’的表述可以表示包括在该表述之前/之后所列出的组件中的一个或多个。此外,诸如‘连接/耦接’的表述可以表示一个元件直接连接/耦接到另一元件或者通过又一个元件间接连接/耦接到另一元件。除非另有相反的说明,单数形式的术语可以包括复数形式。此外,‘包括’和‘包含’或‘包括有’和‘包含有’的含义可以指定组件、步骤、操作和元件,但是不排除一个或多个其他组件、步骤、操作和元件。
以下,将参考附图来描述本公开的实施例的示例。
图1是示出根据实施例的数据处理系统100的框图。
参考图1,数据处理系统100可以包括主机处理器110、处理器120、共享存储器130和存储器控制器140。
主机处理器110可以控制数据处理系统100的整体操作。主机处理器110可以具有共享存储器130的所有权,并且通过访问共享存储器130来处理任务。主机处理器110可以在指示处理器120处理任务的时候将所有权转移给处理器120。
处理器120可以处理由主机处理器110指示的任务。处理器120可以从主机处理器110接收所有权,并且通过访问共享存储器130来处理任务。在本实施例中,所有权可以指示主机处理器110和处理器120在没有冲突的情况下独立地访问共享存储器130的权限。主机处理器110和处理器120可以通过存储器控制器140访问共享存储器130。
在将所有权转移到处理器120之后,主机处理器110可以从存储器控制器140检查处理器120的状态信息。当确定处理器120已经完成任务时,主机处理器110可以从处理器120收回所有权并拥有所有权。在拥有所有权之后,主机处理器110可以从共享存储器130读取处理器120的任务结果数据。
如上所述,可以依据主机处理器110和处理器120中的哪一个拥有所有权来限制对共享存储器130的访问。为了实施这样的配置,存储器控制器140可以将所有权给予主机处理器110和处理器120中的任一个。存储器控制器140可以在根据主机处理器110的控制将所有权给予主机处理器110和处理器120中的任一个的时候改变针对共享存储器130的路径。主机处理器110可以将预定命令传送到存储器控制器140,以便通过将所有权转移到处理器120或者从处理器120收回所有权来改变共享存储器130的所有权。
如这里关于参数而使用的词语“预定”(例如预定命令)意指针对该参数的值在该参数被用在过程或算法中之前被确定。对于一些实施例,针对参数的值在过程或算法开始之前被确定。在其他实施例中,针对参数的值可以在过程或算法期间但在参数被用在过程或算法中之前被确定。
主机处理器110和处理器120可以包括中央处理单元(CPU)、图形处理单元(GPU)、微处理器、应用处理器、加速处理单元、操作系统等。
共享存储器130可以被主机处理器110和处理器120共享。共享存储器130可以由主机处理器110与处理器120之间的拥有所有权的任一个处理器通过存储器控制器140而被访问。
存储器控制器140可以连接在主机处理器110、处理器120和共享存储器130之间。存储器控制器140可以根据主机处理器110的控制来将所有权给予主机处理器110和处理器120中的任一个,并且从而允许主机处理器110或处理器120访问共享存储器130。为了将所有权给予主机处理器110和处理器120中的任一个,存储器控制器140可以有选择地将主机处理器110、处理器120和共享存储器130之间的数据路径和命令路径使能。响应于从主机处理器110传送的预定命令,存储器控制器140可以在主机处理器110与处理器120之间改变共享存储器130的所有权。
存储器控制器140可以包括邮件块145。主机处理器110可以通过访问邮件块145将所有权转移到处理器120或从处理器120收回所有权。主机处理器110可以将处理器120需要检查的任务信息储存在邮件块145中。主机处理器110可以从邮件块145读取处理器120的状态信息。
处理器120可以从邮件块145读取任务信息,并且检查读取任务信息以对主机处理器110所指示的任务进行处理。
邮件块145可以包括各种存储元件,例如SRAM、寄存器等等。
简而言之,存储器控制器140可以根据主机处理器110的控制将所有权给予主机处理器110和处理器120中的任一个,并且仅允许具有所有权的处理器访问共享存储器130。因此,主机处理器110和处理器120可以在没有冲突的情况下使用共享存储器130来处理任务。共享存储器130可以具有基于现有协议的接口或引脚布置。
图2示出了根据本实施例的主机处理器110和处理器120交替拥有共享存储器130的所有权。
参考图2,主机处理器110可以首先拥有所有权。因此,在时间T1期间,主机处理器110可以拥有所有权,并且访问共享存储器130以处理任务。在时间T1期间,处理器120不能访问共享存储器130。
在点P1处,主机处理器110可以将所有权转移到处理器120。因此,在时间T2期间,处理器120可以拥有所有权并访问共享存储器130以处理任务。在时间T2期间,主机处理器110不能访问共享存储器130。
在点P2处,主机处理器110可以从处理器120收回所有权。因此,在时间T3期间,主机处理器110可以拥有所有权并访问共享存储器130以处理任务。在时间T3期间,处理器120不能访问共享存储器130。
在一个实施例中,主机处理器110在时间T1期间所处理的任务可以包括将任务数据储存在共享存储器130中,该任务数据指示处理器120要处理的数据。处理器120在时间T2期间所处理的任务可以包括根据主机处理器110的指令来对储存在共享存储器130中的任务数据进行处理。主机处理器110在时间T3期间所处理的任务可以包括从共享存储器130读取处理器120的任务结果数据。下面将参考图3描述相应的程序。
图3简要地示出了根据本实施例的主机处理器110和处理器120的操作程序。当图3的程序开始时,所有权可以被主机处理器110拥有。
参考图3,在步骤S11,主机处理器110可以将任务数据储存在共享存储器130中,任务数据指示处理器120需要处理的数据。由于主机处理器110拥有所有权,因此主机处理器110可以访问共享存储器130。主机处理器110可能不直接访问共享存储器130,而是实质上通过存储器控制器140来访问共享存储器130。在步骤S11,从主机处理器110到共享存储器130所连接的箭头可以表示主机处理器110具有使用共享存储器130的所有权。
在步骤S12,主机处理器110可以将预定命令传送到存储器控制器140,以便将所有权转移到处理器120。
在步骤S13,存储器控制器140可以响应于从主机处理器110传送的命令而将所有权给予处理器120。因此,存储器控制器140可以仅允许处理器120访问共享存储器130。
在步骤S14,主机处理器110可以将任务信息储存在存储器控制器140的邮件块145中。任务信息可以包括关于处理器120需要处理的任务的信息。例如,任务信息可以包括在共享存储器130中任务数据被储存到的区域的起始地址和结束地址。任务信息可以包括在共享存储器130中任务结果数据需要被储存到的区的起始地址和结束地址。
在步骤S15,处理器120可以读取被储存在邮件块145中的任务信息。
在步骤S16,处理器120可以对储存在共享存储器130中的任务数据进行处理。处理器120可以从共享存储器130读取任务数据,对读取的数据进行处理,并将被处理的数据作为任务结果数据储存在共享存储器130中。由于处理器120拥有所有权,所以处理器120可以访问共享存储器130。处理器120可能不直接访问共享存储器130,而是实质上通过存储器控制器140来访问共享存储器130。在步骤S16,从处理器120到共享存储器130所连接的箭头可以表示处理器120具有使用共享存储器130的所有权。
在步骤S17,主机处理器110可以通过存储器控制器140的邮件块145来反复读取处理器120的状态信息。状态信息可以包括关于处理器120是否已完成任务的信息。状态信息可以包括处理器120正在处理的任务的剩余吞吐量。步骤S17可以与步骤S16并行地执行。如下所述,当处理器120拥有所有权时,主机处理器110可以访问邮件块145。
在步骤S18,当确定处理器120已完成任务时,主机处理器110可以将预定命令传送到存储器控制器140,以便从处理器120收回所有权。
在步骤S19,存储器控制器140可以响应于从主机处理器110传送的命令将所有权给予主机处理器110。因此,存储器控制器140可以仅允许主机处理器110访问共享存储器。
在步骤S20,主机处理器110可以从共享存储器130读取处理器120的任务结果数据。由于主机处理器110拥有所有权,因此主机处理器110可以访问共享存储器130。主机处理器110可能不直接访问共享存储器130,而是实质上通过存储器控制器140来访问共享存储器130。在步骤S11,从主机处理器110到共享存储器130所连接的箭头可以表示主机处理器110具有使用共享存储器130的所有权。
图4示出了根据本实施例的邮件块145的配置。图4中所示的地址将仅用在下面描述的操作方法中。参考图4,还将描述使用邮件块145来转移和收回所有权的方法。
图4示出了由主机处理器110使用的地址范围ADa至ADz。主机处理器110可以将地址范围ADa至ADz的一部分ADa至ADi分配给共享存储器130。主机处理器110可以将地址范围ADa至ADz的另一部分ADj至ADn分配给邮件块145。地址范围ADa至ADz的另一部分ADo至ADz可能不被使用而是被保留。
因此,存储器控制器140可以确定在共享存储器130的地址范围ADa至ADi与邮件块145的地址范围ADj至ADn之间,从主机处理器110传送的访问命令的地址被包括在哪里,并且根据确定结果来对访问命令进行处理。
邮件块145可以包括所有权转移区域401、所有权收回区域402、任务信息区域403、状态信息区域404和任务结果数据区域405。所有权转移区域401、所有权收回区域402、任务信息区域403、状态信息区域404和任务结果数据区域405可以与地址范围ADj至ADn中所包括的地址相对应。
所有权转移区域401可以指示主机处理器110读取-访问以将所有权转移到处理器120的区域。为了将所有权转移到处理器120,主机处理器110可以将所有权转移区域401的地址AD-TR和读取命令传送到存储器控制器140。存储器控制器140可以检查从主机处理器110传送的读取命令和所有权转移区域401的地址AD-TR,并将所有权给予处理器120。响应于针对所有权转移区域401的读取命令,存储器控制器140可以将储存在所有权转移区域401中的转移检查数据传送到主机处理器110。该转移检查数据可以指示所有权的转移已完成,并包括先前已经与主机处理器110约定(promise)的数据。
所有权收回区域402可以指示主机处理器110读取-访问以从处理器120收回所有权的区域。为了从处理器120收回所有权,主机处理器110可以将所有权收回区域402的地址AD-RS和读取命令传送到存储器控制器140。存储器控制器140可以检查从主机处理器110传送的读取命令和所有权收回区域402的地址AD-RS,并将所有权给予主机处理器110。响应于针对所有权收回区域402的读取命令,存储器控制器140可以将储存在所有权收回区域402中的收回检查数据传送到主机处理器110。收回检查数据可以指示所有权的收回将被执行,并且包括先前已经与主机处理器110约定的数据。
任务信息区域403可以指示用于储存处理器120所要检查的任务信息的区域。主机处理器110可以将任务信息储存在任务信息区域403中。处理器120可以从任务信息区域403中读取任务信息,并检查读取任务信息。任务信息区域403可以通过地址AD-WI来访问。
状态信息区域404可以指示用于储存处理器120的状态信息的区域。状态信息可以由存储器控制器140来储存。例如,如下所述,由于存储器控制器140可以知道处理器120的任务结果数据被储存在共享存储器130中的哪里,存储器控制器140可以基于任务结果数据来更新任务的剩余吞吐量或状态信息。在一个实施例中,状态信息可以储存在处理器120中。主机处理器110可以从状态信息区域404读取状态信息,并检查该读取状态信息。状态信息区域404可以通过地址AD-ST来访问。
任务结果数据区域405可以指示用于储存处理器120所处理的任务的任务结果数据的区域。处理器120可以将该任务结果数据储存在任务结果数据区域405中。主机处理器110可以从任务结果数据区域405读取该任务结果数据。即,如参考图3所述,主机处理器110可以从共享存储器130读取该任务结果数据。在一个实施例中,主机处理器110可以从任务结果数据区域405读取该任务结果数据。任务结果数据区域405可以通过地址AD-RD来访问。
在一个实施例中,主机处理器110可能不通过访问邮件块145来改变所有权,而是通过单独指定的命令来改变所有权。可以应用单独指定的命令以将关于当前所有权的信息储存在存储器控制器140中所包括的单独的寄存器(未示出)中,例如MPR(多用途寄存器)。当从主机处理器110接收到单独指定的命令时,存储器控制器140可以将信息存储在单独的寄存器中,该信息指示所有权已经被给予谁。因此,存储器控制器140可以形成针对共享存储器130的路径。
图5是示出根据本实施例的存储器控制器140的框图。
参考图5,存储器控制器140可以包括控制单元210和接口单元220。
控制单元210可以通过主机命令路径HC而被耦接到主机处理器110。控制单元210可以通过第二主机数据路径HD2和第二存储器数据路径MD2而被耦接到数据驱动器211。控制单元210可以通过处理器命令路径PC而被耦接到命令MUX 212。下面将描述相应路径的使用。控制单元210可以包括邮件块145。控制单元210可以控制邮件块145。
控制单元210可以根据主机处理器110的控制将所有权给予处理器120。例如,主机处理器110可以通过主机命令路径HC来传送邮件块145的所有权转移区域401的地址AD-TR和读取命令。由于控制单元210总是通过主机命令路径HC耦接到主机处理器110,所以不管此时将所有权给予谁,控制单元210都可以接收主机处理器110的读取命令。控制单元210可以通过主机命令路径HC来接收所有权转移区域401的地址AD-TR和读取命令,并将所有权给予处理器120。如下所述,控制单元210可以改变接口单元220的数据路径以及命令路径,以便将所有权给予处理器120。
在将所有权给予处理器120之后,控制单元210可以将储存在所有权转移区域401中的转移检查数据传送到主机处理器110,作为对读取命令的响应。当所有权被给予处理器120时,如下所述,第二主机数据路径HD2可以被耦接到第一主机数据路径HD1。因此,控制单元210可以通过第二主机数据路径HD2和第一主机数据路径HD1将该转移检查数据传送到主机处理器110。
控制单元210可以根据主机处理器110的控制将所有权给予主机处理器110。例如,主机处理器110可以通过主机命令路径HC来传送邮件块145的所有权收回区域402的地址AD-RS和读取命令。由于控制单元210总是通过主机命令路径HC耦接到主机处理器110,所以在所有权被给予处理器120的情况下控制单元210可以接收主机处理器110的读取命令。控制单元210可以接收所有权收回区域402的地址AD-RS和读取命令,并将所有权给予主机处理器110。如下所述,控制单元210可以改变接口单元220的数据路径和命令路径,以便将所有权给予主机处理器110。
在将所有权给予主机处理器110或改变接口单元220的数据路径和命令路径之前,控制单元210可以将储存在所有权收回区域402中的收回检查数据传送到主机处理器110,作为对读取命令的响应。在将所有权给予主机处理器110之前,因为第二主机数据路径HD2可以被耦接到第一主机数据路径HD1,所以控制单元210可以通过第二主机数据路径HD2和第一主机数据路径HD1将收回检查数据传送到主机处理器110。
控制单元210可以处理由主机处理器110和处理器120对邮件块145的各种访问。
首先,控制单元210可以根据主机处理器110的控制而将任务信息储存在邮件块145的任务信息区域403中。
根据处理器120的控制,控制单元210可以将储存在邮件块145的任务信息区域403中的任务信息传送到处理器120。
控制单元210可以根据处理器120的控制将处理器120的状态信息储存在邮件块145的状态信息区域404中。在一个实施例中,由于控制单元210根据处理器120的控制直接访问共享存储器130,所以控制单元210可以识别处理器120的任务的剩余吞吐量。因此,不管处理器120的控制如何,控制单元210都可以将处理器120的状态信息储存在状态信息区域404中。
根据主机处理器110的控制,控制单元210可以将储存在邮件块145的状态信息区域404中的状态信息传送到主机处理器110。
控制单元210可以根据处理器120的控制将处理器120所处理的任务结果数据储存在邮件块145的任务结果数据区域405中。
根据主机处理器110的控制,控制单元210可以将储存在邮件块145的任务结果数据区域405中的任务结果数据传送到主机处理器110。
当所有权被给予处理器120时,控制单元210可以使处理器120和共享存储器130接合。例如,当处理器120是硬件加速器时,处理器120可能不会依据共享存储器130的接口协议来产生命令,但是控制单元210可以根据处理器120的指令来产生命令,并将产生的命令传送到共享存储器130。在一个实施例中,处理器120可以依据共享存储器130的接口协议来产生命令。在这种情况下,控制单元210可以将由处理器120产生的命令传送到共享存储器130。简而言之,当所有权被给予处理器120时,处理器120可以通过控制单元210来访问共享存储器130。因此,当如下所述将所有权给予处理器120时,控制单元210可以控制接口单元220以将控制单元210与共享存储器130之间的路径使能。
控制单元210可以依据所有权被给予主机处理器110与处理器120之间的哪一个来控制接口单元220以将主机处理器110、控制单元210和共享存储器130之间的路径使能。
例如,当所有权被给予主机处理器110时,控制单元210可以控制接口单元220以将主机处理器110与共享存储器130之间的路径使能。
当所有权被给予处理器120时,控制单元210可以控制接口单元220以将主机处理器110与共享存储器130之间的路径禁止,并且将控制单元210与共享存储器130之间的路径使能。当处理器120拥有所有权时,处理器120可以通过控制单元210来访问共享存储器130。
当所有权被给予处理器120时,控制单元210可以控制接口单元220以将主机处理器110与控制单元210之间的路径使能。因此,当所有权被给予处理器120时,主机处理器110可以将任务信息储存在控制单元210的邮件块145中,并且从邮件块145中读取状态信息和任务结果数据。
根据控制单元210的控制,接口单元220可以在主机处理器110、控制单元210和共享存储器130之间形成路径并传送命令和数据。例如,当主机处理器110拥有所有权时,接口单元220可以根据控制单元210的控制将主机处理器110与共享存储器130之间的路径使能。当处理器120拥有所有权时,接口单元220可以根据控制单元210的控制将主机处理器110与共享存储器130之间的路径禁止,将控制单元210与共享存储器130之间的路径使能,并将控制单元210与主机处理器110之间的路径使能。
接口单元220可以包括数据驱动器211和命令MUX 212。
数据驱动器211可以通过第一主机数据路径HD1而被耦接到主机处理器110。数据驱动器211可以通过第一存储器数据路径MD1而被耦接到共享存储器130。数据驱动器211可以通过第二主机数据路径HD2和第二存储器数据路径MD2而被耦接到控制单元210。
当所有权被给予主机处理器110时,数据驱动器211可以根据控制单元210的控制将主机处理器110与共享存储器130之间的数据路径使能。例如,数据驱动器211可以通过将第一主机数据路径HD1与第一存储器数据路径MD1耦接而将主机处理器110与共享存储器130之间的数据路径使能。
当所有权被给予处理器120时,根据控制单元210的控制,数据驱动器211可以将主机处理器110与共享存储器130之间的数据路径禁止,将主机处理器110与控制单元210之间的数据路径使能,并将共享存储器130与控制单元210之间的数据路径使能。例如,数据驱动器211可以通过将第一主机数据路径HD1与第二主机数据路径HD2耦接而将主机处理器110与控制单元210之间的数据路径使能。此外,数据驱动器211可以通过将第一存储器数据路径MD1与第二存储器数据路径MD2耦接而将共享存储器130与控制单元210之间的数据路径使能。
命令MUX 212可以通过主机命令路径HC而被耦接到主机处理器110。命令MUX212可以通过处理器命令路径PC而被耦接到控制单元210。命令MUX 212可以通过存储器命令路径MC而被耦接到共享存储器130。
当所有权被给予主机处理器110时,命令MUX 212可以根据控制单元210的控制而将主机处理器110与共享存储器130之间的命令路径使能。例如,命令MUX 212可以通过将主机命令路径HC与存储器命令路径MC耦接而将主机处理器110与共享存储器130之间的命令路径使能。
当所有权被给予处理器120时,根据控制单元210的控制,命令MUX 212可以将主机处理器110与共享存储器130之间的命令路径禁止,并且将控制单元210与共享存储器130之间的命令路径使能。例如,命令MUX 212可以通过将处理器命令路径PC与存储器命令路径MC耦接而将控制单元210与共享存储器130之间的命令路径使能。
因此,每当在主机处理器110与处理器120之间转移或收回所有权时,可以在主机处理器110、控制单元210和共享存储器130之间改变数据路径和命令路径。
图6至图13示出了在其中存储器控制器140接合主机处理器110、处理器120和共享存储器130的方法。
图6示出了根据本实施例的在其中主机处理器110将任务数据储存在共享存储器130中的方法。
参考图6,主机处理器110可以拥有所有权。
当主机处理器110拥有所有权时,数据驱动器211可以根据控制单元210的控制通过将第一主机数据路径HD1与第一存储器数据路径MD1耦接而将主机处理器110与共享存储器130之间的数据路径使能。
当主机处理器110拥有所有权时,命令MUX 212可以根据控制单元210的控制通过将主机命令路径HC与存储器命令路径MC耦接而将主机处理器110与共享存储器130之间的命令路径使能。在图6中,在将主机处理器110与共享存储器130耦接时被使能的路径可以用灰色涂色。
因此,由于主机处理器110通过接口单元220而被耦接到共享存储器130,因此主机处理器110可以访问共享存储器130以处理任务。例如,主机处理器110可以向主机命令路径HC传送写入命令并向第一主机数据路径HD1传送任务数据,以便将任务数据储存在共享存储器130中,所述任务数据指示主机处理器110将指示处理器120来处理的任务。
图7示出了根据本实施例的在其中主机处理器110将所有权转移到处理器120的方法。
参考图7和图4,主机处理器110可以通过主机命令路径HC将邮件块145的所有权转移区域401的地址AD-TR和读取命令传送到控制单元210,以便将所有权转移到处理器120。
图8示出了根据本实施例的在其中控制单元210将所有权给予处理器120的方法。
参考图8和图4,响应于通过主机命令路径HC传送的邮件块145的所有权转移区域401的地址AD-TR和读取命令,控制单元210可以将所有权给予处理器120。控制单元210可以根据所有权的改变来控制接口单元220以改变数据路径和命令路径。
例如,当处理器120拥有所有权时,数据驱动器211可以根据控制单元210的控制通过将第一存储器数据路径MD1与第二存储器数据路径MD2耦接而将共享存储器130与控制单元210之间的数据路径使能。
数据驱动器211可以根据控制单元210的控制通过将第一主机数据路径HD1与第二主机数据路径HD2耦接而将主机处理器110与控制单元210之间的数据路径使能。
命令MUX 212可以根据控制单元210的控制通过将处理器命令路径PC与存储器命令路径MC耦接而将控制单元210与共享存储器130之间的命令路径使能。
在图8中,在将主机处理器110与控制单元210耦接时被使能的路径可以用灰色涂色,并且在将共享存储器130与控制单元210耦接时被使能的路径可以被画阴影线。
由于控制单元210通过数据路径而被耦接到主机处理器110,因此控制单元210可以响应于用于所有权的转移的读取命令而将储存在所有权转移区域401中的转移检查数据传送到主机处理器110。
图9示出了根据本实施例的在其中主机处理器110将任务信息储存在邮件块145中的方法。
参考图9和图4,主机处理器110可以通过主机命令路径HC将邮件块145的任务信息区域403的地址AD-WI和写入命令传送到控制单元210,并通过第一主机数据路径HD1和第二主机数据路径HD2将任务信息传送到控制单元210,以便指示处理器120处理任务。
控制单元210可以响应于通过主机命令路径HC传送的写入命令,将任务信息储存在邮件块145的任务信息区域403中。虽然未示出,但是控制单元210可以通知处理器120该任务信息被储存在任务信息区域403中。
图10示出了根据本实施例的在其中处理器120从邮件块145读取任务信息的方法。
参考图10和图4,处理器120可以读取被储存在邮件块145的任务信息区域403中的任务信息。处理器120可以通过该读取任务信息来检查要由共享存储器130处理的数据被储存在哪里。
图11示出了根据本实施例的在其中处理器120处理任务数据的方法。
参考图11和图4,因为处理器120通过控制单元210和接口单元220而被耦接到共享存储器130,所以处理器120可以通过访问共享存储器130来处理任务数据。处理器120可以从共享存储器130读取任务数据,对读取数据进行处理,并将任务结果数据储存在共享存储器130中。处理器120可以通过控制单元210、第一存储器数据路径MD1和第二存储器数据路径MD2与共享存储器130交换任务数据和任务结果数据。对于该操作,根据处理器120的控制,控制单元210可以产生读取命令和写入命令,并且通过处理器命令路径PC和存储器命令路径MC将该读取命令和写入命令传送到共享存储器130。
当处理器120处理任务时,主机处理器110可以通过主机命令路径HC将邮件块145的状态信息区域404的地址AD-ST和读取命令传送到控制单元210,以便检查处理器120的状态信息。
控制单元210可以响应于用于读取状态信息的读取命令而将状态信息传送到主机处理器110。主机处理器110可以对指示处理器120的任务已完成的状态信息进行检查。
图12示出了根据本实施例的在其中主机处理器110从处理器120收回所有权的方法。
参考图12和图4,主机处理器110可以通过主机命令路径HC将邮件块145的所有权收回区域402的地址AD-RS和读取命令传送到控制单元210,以便在对指示处理器120的任务已完成的状态信息进行检查之后,从处理器120收回所有权。
控制单元210可以响应于用于检查所有权的读取命令,将储存在所有权收回区域402中的收回检查数据传送到主机处理器110。
图13示出了根据本实施例的在其中主机处理器110从共享存储器130读取任务结果数据的方法。
参考图13和图4,控制单元210可以响应于通过主机命令路径HC传送的邮件块145的所有权收回区域402的地址AD-RS和读取命令,将所有权给予主机处理器110。控制单元210可以根据所有权的改变来控制接口单元220以改变数据路径和命令路径。因此,如图6所示,接口单元220可以改变数据路径和命令路径。
因此,由于主机处理器110通过接口单元220而被耦接到共享存储器130,因此主机处理器110可以从共享存储器130读取处理器120的任务结果数据。为了读取该任务结果数据,主机处理器110可以向主机命令路径HC传送读取命令,并且通过第一存储器数据路径MD1和第一主机数据路径HD1从共享存储器130接收该任务结果数据。
图14示出了根据本实施例的在其中主机处理器110从邮件块145读取任务结果数据的方法。
参考图14和图4,当任务结果数据被储存在邮件块145的任务结果数据区域405中时,主机处理器110可以从邮件块145读取任务结果数据,这与参考图13描述的方法不同。即,当在图11的情况下状态信息指示处理器120的任务已经完成时,主机处理器110可能不收回所有权,而是从邮件块145读取任务结果数据。为了读取任务结果数据,主机处理器110可以通过主机命令路径HC将邮件块145的任务结果数据区域405的地址AD-RD和读取命令传送到控制单元210。
图15是示出根据实施例的数据处理系统400的框图。
参考图15,数据处理系统400可以包括第一处理器410、第二处理器420、状态储存单元430和存储区域440。
第一处理器410可以利用存储区域440来指示第二处理器420处理任务。第一处理器410可以在基于检查周期的每个检查定时反复地从状态储存单元430读取由第二处理器420处理的任务的剩余吞吐量RT。如稍后所述,在第二处理器420处理任务的时候,可以在状态储存单元430中更新剩余吞吐量RT。当基于剩余吞吐量RT确定第二处理器420结束了任务时,第一处理器410可以执行后续任务。
此时,当剩余吞吐量RT的检查周期太快时,可能不必要地消耗功率。另一方面,当检查周期太慢时,可能使后续任务的进度延迟,因为检查第二处理器420已经结束任务的操作被延迟。因此,在不会错过第二处理器420结束任务时的时间的情况下,第一处理器410需要通过少量的次数来检查剩余吞吐量RT。对于该操作,第一处理器410需要根据剩余吞吐量RT来适当地调整检查周期。
例如,第一处理器410可以基于当前检查定时的当前剩余吞吐量RT和先前检查定时的先前剩余吞吐量RT来计算检查周期吞吐量,并且基于当前剩余吞吐量RT和检查周期吞吐量来调整检查周期。
第一处理器410可以将先前剩余吞吐量RT与当前剩余吞吐量RT之间的差设置为检查周期吞吐量。
在当前剩余吞吐量RT超过通过将预定的增加率应用于检查周期吞吐量而获得的值时,第一处理器410可以根据对应的增加率将检查周期增大。在当前剩余吞吐量RT等于或小于通过将预定的增加率应用于检查周期吞吐量而获得的值并且超过检查周期吞吐量时,第一处理器410可以不调整当前检查周期而保持当前检查周期。在当前剩余吞吐量RT等于或小于检查周期吞吐量时,第一处理器410可以用预定的减小率将检查周期减小。
在一个实施例中,增加率和减少率可能不是恒定的,而是在每个检查定时处变化。
第一处理器410可以通过在设置为预定的初始值的检查周期中读取该剩余吞吐量RT两次或更多次来计算检查周期吞吐量,并且然后调整检查周期。例如,在第二处理器420的操作开始之后,第一处理器410可以开始从状态储存单元430读取剩余吞吐量RT。当剩余吞吐量RT存在或具有不是“0”的值时,例如,第一处理器410可以将检查周期设置为初始值,并且在基于检查周期的检查定时从状态储存单元430读取剩余吞吐量RT。
剩余吞吐量RT可以根据要将第二处理器420的任务结果储存在其中的存储区域440的预定地址范围中的当前访问的地址来判定。
图16示出了根据实施例的由第二处理器420处理的任务的剩余吞吐量RT。
参考图16,由第二处理器420处理的任务的结果可以被依次储存在从存储区域440的起始地址到最后地址的地址范围中。当第一处理器410指示第二处理器420执行任务时,可以分配地址范围。
因此,第二处理器420的剩余吞吐量RT可以基于最后地址和当前访问的地址来判定。例如,剩余吞吐量RT可以指示最后地址与当前访问的地址之间的差。又例如,剩余吞吐量RT可以指示与从当前访问的地址到最后地址的地址范围相对应的数据量(data size)。
返回参考图15,状态储存单元430可以储存正由第二处理器420处理的任务的剩余吞吐量RT。剩余吞吐量RT可以由第二处理器420直接更新。在一个实施例中,当用于控制对存储区域440的访问的存储器控制器(未示出)单独地存在时,剩余吞吐量RT可以由存储器控制器来储存。状态储存单元430可以根据第一处理器410的控制将剩余吞吐量RT输出到第一处理器410。
状态储存单元430可以包括能够储存数据的各种元件,诸如寄存器、锁存器和触发器。图15将状态储存单元430示出为与第二处理器420区分开来的块。然而,在一个实施例中,状态储存单元430可以被包括在第二处理器420中。
存储区域440可以储存由第二处理器420处理的任务的结果。当第二处理器420的任务完成时,第一处理器410可以从存储区域440读取任务结果。
在一个实施例中,第一处理器410可以对应于图1的主机处理器110。状态储存单元430可以对应于图1的邮件块145。即,根据在其中第一处理器410对剩余吞吐量RT的检查周期进行调整的方法,图1的主机处理器110可以对图1的邮件块145中所储存的状态信息的检查周期进行调整。
图17示出了根据本实施例的在其中图15的第一处理器410对剩余吞吐量RT的检查周期进行调整的方法。图17基于检查周期的增加率是2而减小率是1/2的假设。
参考图17,剩余吞吐量RT可以在第二处理器420处理任务的时候在状态储存单元430中被更新,并且第一处理器410可以在对检查周期进行调整的时候的检查定时从状态储存单元430读取剩余吞吐量RT,并检查第二处理器420的任务是否结束。
例如,第一处理器410可以在检查定时CT0读取剩余吞吐量RT“14”。由于剩余吞吐量RT不是“0”,因此第一处理器410可以将检查周期设置为初始值IC。
然后,在检查周期IC已经过去之后的检查定时CT1,第一处理器410可以读取剩余吞吐量RT“13”,并且计算先前剩余吞吐量RT“14”与当前剩余吞吐量RT“13”之间的差为“1”以作为检查周期吞吐量CPT。第一处理器410可以判定当前剩余吞吐量RT“13”大于检查周期吞吐量CPT“1”的两倍。在此时,将检查周期吞吐量CPT的两倍与当前剩余吞吐量RT进行比较的原因是因为检查周期的增加率将为2。因此,第一处理器410可以将检查周期IC加倍到检查周期2·IC。
然后,在检查周期2·IC已经过去之后的检查定时CT2,第一处理器410可以读取剩余吞吐量RT“11”,并计算先前剩余吞吐量RT“13”与当前剩余吞吐量RT“11”之间的差为“2”以作为检查周期吞吐量CPT。第一处理器410可以判定当前剩余吞吐量RT“11”大于检查周期吞吐量CPT“2”的两倍,并且照此将检查周期2·IC加倍到检查周期4·IC。
然后,在检查周期4·IC已经过去之后的检查定时CT3,第一处理器410可以读取剩余吞吐量RT“7”,并且计算先前剩余吞吐量RT“11”与当前剩余吞吐量RT“7”之间的差为“4”以作为检查周期吞吐量CPT。第一处理器410可以判定当前剩余吞吐量RT“7”等于或小于检查周期吞吐量CPT“4”的两倍且检查周期吞吐量CPT超过“4”,并且保持检查周期4·IC。
然后,在所保持的检查周期4·IC已经过去之后的检查定时CT4,第一处理器410可以读取剩余吞吐量RT“3”,并计算先前剩余吞吐量RT“7”与当前剩余吞吐量RT“3”之间的差为“4”以作为检查周期吞吐量CPT。第一处理器410可以判定当前剩余吞吐量RT“3”等于或小于检查周期吞吐量CPT“4”,并且将检查周期4·IC减半为检查周期2·IC。
然后,在减小的检查周期2·IC已经过去之后的检查定时CT5,第一处理器410可以读取剩余吞吐量RT“1”,并且计算先前剩余吞吐量RT“3”与当前剩余吞吐量RT“1”之间的差为“2”以作为检查周期吞吐量CPT。第一处理器410可以判定当前剩余吞吐量RT“1”等于或小于检查周期吞吐量CPT“2”,并且将检查周期2·IC减半为检查周期IC。
然后,在减小的检查周期IC已经过去之后的检查定时CT6,第一处理器410可以读取剩余吞吐量RT“0”,并且判定第二处理器420的任务已经结束。
因此,根据本实施例的数据处理系统可以通过在任务的早期阶段将检查周期延迟来减少功耗,并且通过在任务的后期阶段将检查周期提前来捕获任务的结束定时。因此,可以毫无延迟地执行下一个任务。
图18是示出根据实施例的数据处理系统400的操作方法的流程图。图18示出了在其中在第二处理器420开始任务之后,第一处理器410通过读取在状态储存单元430中更新的第二处理器420的剩余吞吐量RT来检查第二处理器420的任务的结束的方法。
参考图18,在步骤S110,在第二处理器420的任务开始之后,第一处理器410可以从状态储存单元430读取剩余吞吐量RT。
在步骤S120,第一处理器410可以确定剩余吞吐量RT是否为“0”。当剩余吞吐量RT为“0”时,可以结束该程序。然而,当剩余吞吐量RT不为“0”时,该程序可以进行到步骤S130。
在步骤S130,第一处理器410可以将检查周期设置为初始值。
在步骤S140,第一处理器410可以在基于检查周期的检查定时从状态储存单元430读取剩余吞吐量。
在步骤S150,第一处理器410可以确定剩余吞吐量RT是否为“0”。当剩余吞吐量RT为“0”时,可以结束该程序。然而,当剩余吞吐量RT不为“0”时,该程序可以进行到步骤S160。
在步骤S160,第一处理器410可以基于当前检查定时的当前剩余吞吐量和先前检查定时的先前剩余吞吐量来计算检查周期吞吐量。例如,第一处理器410可以将先前剩余吞吐量RT与当前剩余吞吐量RT之间的差设置为检查周期吞吐量。
在步骤S170,第一处理器410可以基于当前剩余吞吐量和检查周期吞吐量来调整检查周期。然后,该程序可以进行到步骤S140。即,第一处理器410可以根据调整后的检查周期来反复读取剩余吞吐量。
图19是示出根据本实施例的在其中第一处理器410对检查周期进行调整的方法的流程图。图19示出了图18中的步骤S170的特定实施例。
在步骤S171,第一处理器410可以确定当前剩余吞吐量RT是否超过通过将预定的增加率应用于检查周期吞吐量而获得的值。当确定当前剩余吞吐量RT超过通过将预定的增加率应用于检查周期吞吐量而获得的值时,该程序可以进行到步骤S172。然而,当确定当前剩余吞吐量RT等于或小于通过将预定的增加率应用于检查周期吞吐量而获得的值时,该程序可以进行到步骤S173。
在步骤S172,第一处理器410可以按照对应的增加率来增大检查周期。
在步骤S173,第一处理器410可以确定当前剩余吞吐量RT是否超过检查周期吞吐量。当确定当前剩余吞吐量RT超过检查周期吞吐量时,该程序可以进行到步骤S174。然而,当确定当前剩余吞吐量RT等于或小于检查周期吞吐量时,该程序可以进行到步骤S175。
在步骤S174,第一处理器410可以不调整检查周期而保持检查周期。
在步骤S175,第一处理器410可以按照预定的减小率将检查周期减小。
图20示出了根据实施例的数据处理系统1000。参考图20,数据处理系统1000可以包括主机设备1100和存储系统1200。
主机设备1100可以被配置为诸如印刷电路板之类的板。主机设备1100可以包括主机处理器1110和连接端子1120。
主机处理器1110可以对应于图1的主机处理器1110。
连接端子1120可以包括插座、插槽或连接器,并且存储系统1200可以安装在连接端子1120上。
存储系统1200可以被配置为诸如印刷电路板之类的板。存储系统1200可以被称为存储模块或存储卡。存储系统2200可以包括处理器1210、存储器件1220、存储器控制器1230和连接端子1240。
处理器1210可以对应于图1的处理器120。存储器件1220可以对应于图1的共享存储器130。存储器控制器1230可以对应于图1的存储器控制器140。
连接端子1240可以与主机设备1100的连接端子1120连接。通过连接端子1240,可以在主机设备1100和存储系统1200之间传输电力以及诸如命令、地址和数据之类的信号。依据主机设备1100和存储系统1200之间的接合方法,连接端子1240可以以各种方式配置。连接端子1240可以布置在存储器系统1200的一侧。
图21示出了根据实施例的数据处理系统2000。参考图21,数据处理系统2000可以包括主机设备2100和存储系统2200。
主机设备2100可以被配置为诸如印刷电路板之类的板。主机设备2100可以包括主机处理器2110。主机处理器2110可以对应于图1的主机处理器110。
存储系统2200可以被配置为表面安装的封装件。存储系统2200可以通过焊球2250安装在主机设备2100上。
存储系统2200可以包括处理器2210、存储器件2220和存储器控制器2230。处理器2210可以对应于图1的处理器120。存储器件2220可以对应于图1的共享存储器130。存储器控制器2230可以对应于图1的存储器控制器140。
图22示出了根据实施例的数据处理系统3000。参考图22,数据处理系统3000可以包括主机处理器3100、存储系统3200、内插器3300和半导体衬底3400。
主机处理器3100和存储系统3200可以布置在内插器3300的一个表面上。
内插器3300可以将主机处理器3100和存储系统3200电连接。通过内插器3300,可以在主机处理器3100与存储系统3200之间传输电力以及诸如命令、地址和数据之类的信号。内插器3300可以安装在半导体衬底3400上。
主机处理器3100可以对应于图1的主机处理器110。
存储系统3200可以包括层叠在其中的逻辑半导体器件3210和存储器件3220。逻辑半导体器件3210可以控制存储系统3200的操作。逻辑半导体器件3210可以包括处理器3211和存储器控制器3212。处理器3211可以对应于图1的处理器120。存储器控制器3212可以对应于图1的存储器控制器140。
存储器件3220可以对应于图1的共享存储器130。
例如,存储系统3200可以包括高带宽存储器(HBM)。
图23示出了根据实施例的包括数据处理系统4150的网络系统4000。参考图23,网络系统4000可以包括服务器系统4100和多个客户端系统4410至4430,它们通过网络4500连接。
服务器系统4100可以响应于多个客户端系统4410至4430的请求来为数据提供服务。例如,服务器系统4100可以储存从多个客户端系统4410至4430提供的数据。对于另一个示例,服务器系统4100可以向多个客户端系统4410至4430提供数据。
服务器系统4100可以包括数据处理系统4150。数据处理系统4150可以被配置为图1的数据处理系统100、图20的数据处理系统1000、图21的数据处理系统2000或者图22的数据处理系统3000。
虽然上面已经描述了各种实施例,但是本领域技术人员将理解,所描述的实施例仅是示例。因此,本文描述的数据储存器件的操作方法不应基于所描述的实施例而受到限制。
Claims (12)
1.一种数据处理系统,包括:
状态储存单元,其被配置为储存与任务相对应的剩余吞吐量的值;
第一处理器,其被配置为在基于检查周期的每个检查定时从所述状态储存单元读取所述剩余吞吐量的值;以及
第二处理器,其被配置为处理所述任务,
其中,所述第一处理器基于与当前检查定时相对应的当前剩余吞吐量值和与先前检查定时相对应的先前剩余吞吐量值来计算检查周期吞吐量值,并且基于所述当前剩余吞吐量值和所述检查周期吞吐量值来调整所述检查周期。
2.根据权利要求1所述的数据处理系统,其中,所述第一处理器将所述先前剩余吞吐量值与所述当前剩余吞吐量值之间的差设置为所述检查周期吞吐量值。
3.根据权利要求1所述的数据处理系统,其中,当所述当前剩余吞吐量值超过通过将预定的增加率应用于所述检查周期吞吐量值而获得的值时,所述第一处理器按照所述增加率来增大所述检查周期。
4.根据权利要求3所述的数据处理系统,其中,当所述当前剩余吞吐量值等于或小于通过将所述增加速率应用于所述检查周期吞吐量值而获得的值并且超过所述检查周期吞吐量值时,所述第一处理器不调整所述检查周期而保持所述检查周期。
5.根据权利要求1所述的数据处理系统,其中,当所述当前剩余吞吐量值等于或小于所述检查周期吞吐量值时,所述第一处理器按照预定的减小率来减小所述检查周期。
6.根据权利要求1所述的数据处理系统,其中,所述第一处理器在所述任务开始之后将所述检查周期设置为所述初始值,来开始读取所述剩余吞吐量的值。
7.根据权利要求1所述的数据处理系统,还包括存储区域,所述存储区域被配置为将所述任务的结果储存在预定的地址范围内,
其中,所述剩余吞吐量的值是基于所述地址范围中的当前访问的地址而确定的。
8.一种数据处理系统的操作方法,包括:
由第一处理器在基于检查周期的每个检查定时从状态储存单元读取任务的剩余吞吐量;
由所述第一处理器基于当前检查定时的当前剩余吞吐量和先前检查定时的先前剩余吞吐量来计算检查周期吞吐量;以及
由所述第一处理器基于所述当前剩余吞吐量和所述检查周期吞吐量来调整所述检查周期。
9.根据权利要求8所述的操作方法,其中,所述计算所述检查周期吞吐量包括:由所述第一处理器将所述先前剩余吞吐量与所述当前剩余吞吐量之间的差设置为所述检查周期吞吐量。
10.根据权利要求8所述的操作方法,其中,所述调整所述检查周期包括:当所述当前剩余吞吐量超过通过将所述增加率应用于所述检查周期吞吐量而获得的值时,由所述第一处理器按照预定的增加率来增大所述检查周期。
11.根据权利要求10所述的操作方法,其中,所述调整所述检查周期包括:当所述当前剩余吞吐量等于或小于通过将所述增加率应用于所述检查周期吞吐量而获得的值并且超过所述检查周期吞吐量时,由所述第一处理器保持所述检查周期而不调整所述检查周期。
12.根据权利要求8所述的操作方法,其中,所述调整所述检查周期包括:当所述当前剩余吞吐量等于或小于所述检查周期吞吐量时,由所述第一处理器按照预定的减小率来减小所述检查周期。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180024836A KR102533147B1 (ko) | 2018-02-28 | 2018-02-28 | 데이터 처리 시스템 및 그것의 동작 방법 |
KR10-2018-0024836 | 2018-02-28 | ||
KR10-2018-0032111 | 2018-03-20 | ||
KR1020180032111A KR102545226B1 (ko) | 2018-03-20 | 2018-03-20 | 메모리 시스템 및 그것을 포함하는 데이터 처리 시스템 |
CN201811509646.7A CN110209608B (zh) | 2018-02-28 | 2018-12-11 | 存储系统和包括存储系统的数据处理系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811509646.7A Division CN110209608B (zh) | 2018-02-28 | 2018-12-11 | 存储系统和包括存储系统的数据处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115994105A true CN115994105A (zh) | 2023-04-21 |
Family
ID=67685932
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310066589.4A Withdrawn CN115994105A (zh) | 2018-02-28 | 2018-12-11 | 存储系统和包括存储系统的数据处理系统 |
CN201811509646.7A Active CN110209608B (zh) | 2018-02-28 | 2018-12-11 | 存储系统和包括存储系统的数据处理系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811509646.7A Active CN110209608B (zh) | 2018-02-28 | 2018-12-11 | 存储系统和包括存储系统的数据处理系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11169953B2 (zh) |
CN (2) | CN115994105A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114228725A (zh) * | 2021-11-23 | 2022-03-25 | 深圳元戎启行科技有限公司 | 车载控制系统以及无人驾驶车辆 |
CN116909492B (zh) * | 2023-09-12 | 2023-12-08 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794054A (en) * | 1996-07-19 | 1998-08-11 | Compaq Computer Corporation | Flash ROM sharing between a processor and a controller |
US7165252B1 (en) * | 1999-06-21 | 2007-01-16 | Jia Xu | Method of scheduling executions of processes with various types of timing properties and constraints |
US6516393B1 (en) * | 2000-09-29 | 2003-02-04 | International Business Machines Corporation | Dynamic serialization of memory access in a multi-processor system |
US7522563B2 (en) * | 2001-11-28 | 2009-04-21 | Millennial Net, Inc. | Network protocol |
US6891543B2 (en) * | 2002-05-08 | 2005-05-10 | Intel Corporation | Method and system for optimally sharing memory between a host processor and graphics processor |
US7388839B2 (en) * | 2003-10-22 | 2008-06-17 | International Business Machines Corporation | Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems |
US7415034B2 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Virtualized partitionable shared network interface |
JP2007058499A (ja) * | 2005-08-24 | 2007-03-08 | Matsushita Electric Ind Co Ltd | 情報処理装置およびデータ書き込み方法 |
KR101153712B1 (ko) | 2005-09-27 | 2012-07-03 | 삼성전자주식회사 | 멀티-포트 sdram 엑세스 제어장치와 제어방법 |
KR100772841B1 (ko) * | 2006-07-28 | 2007-11-02 | 삼성전자주식회사 | 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치 |
TW200813724A (en) * | 2006-07-28 | 2008-03-16 | Samsung Electronics Co Ltd | Multipath accessible semiconductor memory device with host interface between processors |
KR100855587B1 (ko) * | 2007-01-17 | 2008-09-01 | 삼성전자주식회사 | 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법 |
KR100887417B1 (ko) * | 2007-04-11 | 2009-03-06 | 삼성전자주식회사 | 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치 |
US8510509B2 (en) * | 2007-12-18 | 2013-08-13 | International Business Machines Corporation | Data transfer to memory over an input/output (I/O) interconnect |
US8640131B2 (en) * | 2008-01-18 | 2014-01-28 | Microsoft Corporation | Demand-based processor cycle allocation subsequent to equal group-based processor cycle distribution |
US8504736B2 (en) * | 2008-05-30 | 2013-08-06 | Sony Computer Entertainment America Inc. | File input/output scheduler |
US8230180B2 (en) * | 2008-06-11 | 2012-07-24 | Samsung Electronics Co., Ltd. | Shared memory burst communications |
JP5304560B2 (ja) * | 2009-09-15 | 2013-10-02 | 日本電気株式会社 | 新着メール確認制御装置、新着メール確認制御方法及びプログラム |
KR20110068386A (ko) * | 2009-12-16 | 2011-06-22 | 삼성전자주식회사 | 반도체 시스템과 그 동작 방법 |
JP5388909B2 (ja) * | 2010-03-09 | 2014-01-15 | 株式会社日立製作所 | ハイパバイザ、計算機システム、及び、仮想プロセッサのスケジューリング方法 |
US8281043B2 (en) * | 2010-07-14 | 2012-10-02 | Intel Corporation | Out-of-band access to storage devices through port-sharing hardware |
KR102156222B1 (ko) * | 2013-12-24 | 2020-09-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템 |
WO2015136971A1 (ja) * | 2014-03-14 | 2015-09-17 | オムロン株式会社 | 制御システム |
KR20160063974A (ko) * | 2014-11-27 | 2016-06-07 | 삼성전자주식회사 | 워크로드를 이용하여 전력을 제어할 수 있는 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 컴퓨팅 장치 |
US10241706B2 (en) * | 2016-05-20 | 2019-03-26 | Renesas Electronics Corporation | Semiconductor device and its memory access control method |
JP2018026050A (ja) * | 2016-08-12 | 2018-02-15 | 富士通株式会社 | 並列処理装置、ジョブ管理プログラムおよびジョブ管理方法 |
US20180309686A1 (en) * | 2017-04-23 | 2018-10-25 | Hewlett Packard Enterprise Development Lp | Reducing rate limits of rate limiters |
-
2018
- 2018-12-05 US US16/210,418 patent/US11169953B2/en active Active
- 2018-12-11 CN CN202310066589.4A patent/CN115994105A/zh not_active Withdrawn
- 2018-12-11 CN CN201811509646.7A patent/CN110209608B/zh active Active
-
2021
- 2021-10-26 US US17/510,921 patent/US20220058157A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11169953B2 (en) | 2021-11-09 |
CN110209608A (zh) | 2019-09-06 |
US20190266123A1 (en) | 2019-08-29 |
US20220058157A1 (en) | 2022-02-24 |
CN110209608B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11080217B2 (en) | Storage device for interfacing with host and method of operating the host and the storage device | |
CN107871524B (zh) | 对存储装置进行复位的电子装置和操作该电子装置的方法 | |
US20040064612A1 (en) | Method and system for using a memory card protocol inside a bus protocol | |
JP2003526863A (ja) | スマートカードとホストステーションとの間の通信の方法 | |
KR20180114972A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102365312B1 (ko) | 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법 | |
CN108959135B (zh) | 数据存储及处理系统及其操作方法 | |
US20220058157A1 (en) | Memory system and data processing system including the memory system | |
US7469309B1 (en) | Peer-to-peer data transfer method and apparatus with request limits | |
CN113220220A (zh) | 控制器、控制器的操作方法及包括该控制器的存储装置 | |
US20200004557A1 (en) | Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same | |
US20190354483A1 (en) | Controller and memory system including the same | |
EP4105771A1 (en) | Storage controller, computational storage device, and operational method of computational storage device | |
CN113778328A (zh) | 在半导体封装之间引导控制数据 | |
CN111522602A (zh) | 通信装置的启动方法 | |
EP3958132A1 (en) | System, device, and method for memory interface including reconfigurable channel | |
US6519670B1 (en) | Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter | |
US10216421B2 (en) | Method of operating storage device using serial interface and method of operating data processing system including the same | |
CN113609033A (zh) | 具有集成存储器一致性互连的存储器和存储控制器 | |
US20190311517A1 (en) | Data processing system including an expanded memory card | |
KR102533147B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
CN115509965A (zh) | 存储器控制器与链接识别方法 | |
JP2009129402A (ja) | Icカード用半導体装置、icカード、及びicカード用端末装置 | |
CN118363901B (zh) | PCIe设备、电子组件及电子设备 | |
CN115914332B (zh) | Tcp连接的建立方法、系统 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230421 |
|
WW01 | Invention patent application withdrawn after publication |