CN106030557B - 多端口共享存储器 - Google Patents

多端口共享存储器 Download PDF

Info

Publication number
CN106030557B
CN106030557B CN201480075682.0A CN201480075682A CN106030557B CN 106030557 B CN106030557 B CN 106030557B CN 201480075682 A CN201480075682 A CN 201480075682A CN 106030557 B CN106030557 B CN 106030557B
Authority
CN
China
Prior art keywords
agency
data
bandwidth
shared memory
memory unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480075682.0A
Other languages
English (en)
Other versions
CN106030557A (zh
Inventor
邓素芝
J·M·Y·蒋
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN106030557A publication Critical patent/CN106030557A/zh
Application granted granted Critical
Publication of CN106030557B publication Critical patent/CN106030557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开的某些实施例提供了一种系统,该系统包括:共享存储器单元和仲裁器,该仲裁器被配置为生成时钟信号,接收关于多个代理的每个代理的带宽的信息,以及确定用于在多个代理中选择单个代理的时钟频率或顺序,以允许单个代理在时钟信号的单个时钟周期中从共享存储器单元/向共享存储器单元并行传送数据,其中顺序至少部分基于多个代理的每个代理的带宽。该仲裁器还被配置为循环通过所确定的用于在多个代理中选择单个代理的顺序,以允许单个代理在单个时钟周期中从共享存储器单元/向共享存储器单元传送数据。

Description

多端口共享存储器
相关申请的交叉引用
本申请要求2014年12月15日提交的、名称为“Multiple Port Shared Memory”的美国专利申请号14/570,886的优先权,其要求2013年12月17日提交的、名称为“Multiple-port Shared Memory with Port Base Programmable Bandwidth”的美国临时专利申请号61/917,229的权益和优先权,其通过引用并入于此。
技术领域
本公开的各实施例涉及存储器设备,并且更具体地涉及共享存储器设备。
背景技术
除非本文中另外指出,否则这一部分所描述的方法并不通过包括在这一部分中而是本公开内容的权利要求的现有技术或者被承认是现有技术。
存储器设备可以在许多类型的电子设备中被采用,仅举若干示例,诸如计算机、蜂窝电话、个人数字助理(PDA)、数据记录器和导航装置。在这些电子设备中,各种类型的非易失性存储器设备可以被采用,仅举若干示例,诸如NAND或NOR闪存、静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)和相变存储器。通常,写入或编程过程可以用于在这种存储器设备中存储信息,而读取过程可以用于获取所存储的信息。
在某些应用中,存储器设备可以在多个中央处理单元(CPU)和信息处理器(IP)之间共享。在这种共享存储器设备上存储的信息可以在多个CPU和IP之间交换。片上系统(SOC)是将计算机或其他电子系统的多个部件集成到单个芯片衬底的集成电路(IC)。SOC可以包括共享存储器设备和访问共享存储器设备用于数据通信的多个CPU。例如,通过共享端口访问具有轮转仲裁的共享存储器设备可能具有长且不可预测的延迟。一种用于在系统中多个CPU之间共享存储器设备的更有效技术可以增加系统带宽并且减少功耗。
发明内容
在各种实施例中,本公开提供了一种包括共享存储器单元和仲裁器的系统,该仲裁器可以被称为时隙仲裁器或调度器,但在下文被称为“仲裁器”。该仲裁器被配置为生成时钟信号,接收关于多个代理的每个代理的带宽的信息,以及确定用于在多个代理中选择单个代理的时钟频率或顺序,以允许单个代理在时钟信号的单个时钟周期中从共享存储器单元/向共享存储器单元并行传送数据。该顺序至少部分基于多个代理的每个代理的带宽。该仲裁器进一步被配置为循环通过所确定的用于在多个代理中选择单个代理的顺序,以允许单个代理在单个时钟周期中从共享存储器单元/向共享存储器单元传送数据。
在某些实施例中,一种方法,包括:生成时钟信号;接收关于多个代理的每个代理的带宽的信息;以及确定用于在多个代理中选择单个代理的时钟频率或顺序,以允许单个代理在时钟信号的单个时钟周期中从共享存储器单元/向共享存储器单元并行传送数据。该顺序至少部分基于多个代理的每个代理的带宽。该方法进一步包括循环通过所确定的用于在多个代理中选择单个代理的顺序,以允许单个代理在单个时钟周期中从共享存储器单元/向共享存储器单元传送数据。
在某些实施例中,一种存储有计算机可执行指令的计算机可读存储介质,当计算机可执行指令由处理器执行时,配置处理器执行以下操作,包括:生成时钟信号;确定用于在多个代理中选择单个代理的时钟频率或顺序,以允许单个代理在时钟信号的单个时钟周期中从共享存储器单元/向共享存储器单元并行传送数据,其中顺序至少部分基于多个代理的每个代理的带宽;以及循环通过所确定的用于在多个代理中选择单个代理的顺序,以允许单个代理在单个时钟周期中从共享存储器单元/向共享存储器单元传送数据。
附图说明
在下面的详细描述中,对形成本文一部分的附图进行参考,其中相似的附图标记始终指代相似的部分,并且其中通过实施例的方式示出本公开内容的原理。应当理解,可以利用其它实施例,并且可以在不偏离本公开内容的范围的情况下做出结构或者逻辑更改。因此,应当在限制性意义上来理解以下详细描述,并且根据本公开内容的实施例的范围由所附权利要求及其等同来限定。
图1是根据某些实施例的计算系统的框图;
图2是根据某些实施例图示了向共享存储器单元写入数据的过程的数据传送的框图;
图3是根据某些实施例图示了从共享存储器单元读取数据的过程的数据传送的框图;
图4是根据某些实施例图示了从共享存储器单元读取数据的过程的时间流图;
图5是根据其他实施例图示了从共享存储器单元读取数据的过程的时间流图;以及
图6是根据其他实施例由多个代理管理对共享存储器单元的访问的过程的流程图。
具体实施方式
共享存储器单元(SMU)可以由多个中央处理单元(CPU)或硬件IP(例如,媒体控制单元)共享,下文被称为“代理”。例如,多个代理可以通过多个代理共享的总线(例如,“共享总线”)来访问SMU以从SMU读取或向SMU写入。在某些实施例中,每次只有一个代理可以访问SMU。因此,存储器仲裁器模块(其可以被称为时隙仲裁器或调度器,但下文被称为“仲裁器”)可以用于协调多个代理中可以在任意特定时间访问SMU的代理。仲裁器可以基于若干因素来执行这种协调,诸如例如每个代理的带宽以及仲裁器与SMU之间总线的宽度。在本文中,总线的宽度可以被定义为该总线中包括的单独导电体或排线(例如,线)的数目。例如,128位宽总线可以包括128个排线,其单独地承载一位数据。代理的带宽可以被定义为在单个时间单元(诸如时钟周期)中向代理传送或从代理传送的数据的平均位数。在某些情况下,代理的带宽还可以被定义为该代理的输出端口和/或输入端口的单独导电体(例如,管脚)的数目。例如,如果代理具有32位宽的输入端口和/或输出端口,则代理可以具有32位的带宽。代理可以在每个时钟周期或其他时间单元(诸如每纳秒(如果纳秒是针对系统选定的参考时间单元))执行读取或写入操作。在另一示例中,代理可以具有32位带宽,如果代理经由64位宽电缆或总线连接到外部实体(诸如系统总线、仲裁器或存储器设备),则读取或写入操作可以每2纳秒被执行。然而,所要求保护的主题不限于这些方面。
图1图示了根据各种实施例并入SMU 102和仲裁器104的计算系统100。仅列出若干示例,SMU 102可以包括闪存、SRAM、DRAM或固态驱动(SSD)。计算系统100包括提供SMU 102与仲裁器104之间通信路径的存储器总线106。计算系统100还包括多个代理108A-108D。虽然图1中图示了并且在本文若干实施例中描述了四个代理,但是任意数目的代理可以呈现在计算系统100中,并且所要求保护的主题不限于此方面。例如,代理108A-108D可以单独包括一个或多个处理器。在某些实现方式中,代理108A-108D可以经由代理总线110A-110D与仲裁器104通信(例如,传送数据)。代理总线的宽度可以至少部分取决于代理的特定设计以及代理总线的带宽,并且代理的带宽可以彼此相等或者不相等。例如,如果代理108A的带宽是32位,则针对代理108B的代理总线的宽度可以是64位。每个代理108的带宽可以彼此相等或者不相等。
虽然未图示,但是计算系统100可以包括其他部件,诸如显示器设备、输入设备和联网设备。
在某些实现方式中,SMU 102可以包括单个芯片或裸片。在其他实现方式中,SMU102可以包括形成芯片集的多芯片模块或多个分立部件。在某些实现方式中,虽然所要求保护的主题没有这样的限制,但是计算系统100可以在单个封装中的单个芯片上实现。
仲裁器104可以包括一个或多个处理器或存储器控制器112,并且可以被并入SMU102作为能够施加对SMU 102进行控制的单个芯片或单独部件。仲裁器104可以被配置为控制在SMU 102上执行的若干过程,诸如格式化可寻址数据位置、对易失性或非易失性存储器的存储器单元或块进行分区、存储数据、读取数据以及擦除数据。在传统轮转仲裁器中,每个代理可以在其请求被授权时访问存储器,同时其他代理需要等待直到授权代理完成其与存储器的当前事务。至少部分取决于其事务的释放量,等待周期可以是任意数目的周期。因此,延迟可能是不可预测的并且可能相对较大。另一方面,(时隙)仲裁器104可以控制与每个代理相关联的时隙,使得每个代理可以在其时隙命中时访问存储器。换言之,命中的代理不需要等待其他代理。此方法允许每个代理彼此独立地访问存储器,并且通过循环通过确定的序列来维持针对读取操作的固定最差延迟。
在各种实施例中,仲裁器104可以被配置为控制或调整与每个代理相关联的时隙数目。例如,仲裁器104可以针对总共六个时隙将与代理108A相关联的时隙调整为0.4、将与代理108B相关联的时隙调整为0.1、将与代理108C相关联的时隙调整为2.5以及将与代理108D相关联的时隙调整为3。
仲裁器104可以包括高速缓存存储器112和时钟114。高速缓存存储器112可以包括任意若干类型的易失性或非易失性存储器。高速缓存存储器112可以在向SMU 102写入的过程期间经由代理总线110接收并临时存储来自代理108的数据。另一方面,高速缓存存储器112可以在从SMU 102读取的过程期间经由存储器总线106接收并临时存储来自SMU 102的数据。时钟114例如可以生成与计算系统100中任意其他时钟(诸如与代理108相关联的时钟)异步的周期电信号。在某些实现方式中,为了简化系统设计,时钟114可以与SMU 102的时钟同步。
图2是根据某些示例实施例图示了向SMU 202写入数据的过程200的系统中数据传送的框图。图2中图示的系统的一个或多个元件可以与图1的系统100中图示的对应元件相同或相似。例如,代理0至代理3的每个代理可以与每个代理108相同或相似。仲裁器204可以与仲裁器104相同或相似。SMU 202可以与SMU 102相同或相似等。在过程200中,代理0至代理3的每个代理可以包括产生待向SMU 202写入的数据d0-d3的一个或多个处理器。代理0至代理3的每个代理经由代理总线206向仲裁器204提供数据d0-d3。每个代理总线206专用于承载针对代理0至代理3的特定代理的数据。虽然所要求保护的主题不限于任意特定总线宽度或处理器带宽,但是过程200是特定示例实现方式,其中每个代理总线206是32位宽并且代理0至代理3的每个代理具有32位带宽。换言之,代理0至代理3的每个代理产生每时间单元32位宽的数据。代理0至代理3的每个代理可以将32位宽(例如,并行)数据置于代理总线206上。
为了清楚起见,过程200针对代理0进行了具体的详细描述。应当理解以下针对代理0的描述应用于代理1、代理2、代理3以及可以包括在系统100中的任意其他代理。
来自代理0的数据可以经由代理总线206以连续32位宽数据分组提供给仲裁器204。四个这样的数据分组被图示为代理总线206上的数据d0-d3,即便任意数目的数据分组可以在任意特定时间出现在代理总线206上。因此,仲裁器204可以接收数据d0(32位)随后数据d1(32位),以此类推。在某些实现方式中,仲裁器204可以包括高速缓存存储器208用于在向SMU 202写入的过程期间经由代理总线206接收并临时存储来自代理0的数据。在某些实现方式中,高速缓存存储器208可以在任意特定时间存储多于数据d0-d3。高速缓存存储器208可以包括任意若干类型的易失性或非易失性存储器。
例如,仲裁器204可以包括时钟210用于生成与关联于代理0的任意时钟异步的周期电信号。仲裁器204可以基于时钟210的时钟信号来执行若干过程。在某些实现方式中,时钟210可以与仲裁器204连接(例如,有线或无线)的一个或多个部件(例如,CPU、其他存储器)同步。
至少部分基于代理0至代理3的带宽,仲裁器204可以被配置为控制或调整SMU 202中存储的可寻址数据的时钟或宽度。例如,仲裁器204可以将SMU 202中存储的数据的宽度调整为32位宽。换言之,一个存储器地址可以用于唯一地标识SMU 202中存储的32位数据。在另一示例中,如果仲裁器204将SMU 202中存储的数据的宽度调整为128位宽,则一个存储器地址可以用于唯一地标识SMU 202中存储的128位数据。此外,至少部分基于代理0至代理3的带宽,仲裁器204可以被配置为控制或调整存储器总线212的宽度。例如,仲裁器204可以四个32位数据分组数据d0-d3组装成128位宽(4乘以32)的单个数据分组。在将128位数据分组置于存储器总线212上之前,仲裁器204可以配置存储器总线212在单个时钟周期(例如,基于时钟210)中将128位数据分组承载到SMU 202。因此,存储器总线212可以是128排线宽。在某些实现方式中,存储器总线212的排线数目可以大于存储器总线212上承载的数据的宽度。在这种情况下,仲裁器204可以控制存储器总线212的排线数目以用于向SMU 202承载数据/从SMU 202承载数据。
仲裁器204允许每次一个代理至少部分基于时隙方案来访问SMU 202。例如,代理1可以在时隙1访问SMU 202,而代理0可以在时隙0访问SMU 202。仲裁器204确定多个代理中的哪个代理被授权在特定时隙值访问SMU 202。时隙值可以每个时钟周期增加并且可以在到达最大值时回环到0。针对每个代理的每个访问周期允许来自该代理的特定数目的并行数据位经由存储器总线212传入到SMU 202。在本示例实施例中,仲裁器204允许针对代理0的数据d0-d3传入(例如,被写入)SMU 202。
然而,在数据d0-d3可以被置于存储器总线214上之前,仲裁器204将四个32位宽分组数据d0-d3组装成单个128位宽数据分组。换言之,所有128位数据被彼此并行放置,并且被随后置于存储器总线212上。如图2所示,系统对于仲裁器204的左边是基于32位数据宽度,而系统对于仲裁器204的右边是基于128位数据宽度。
通常,可以存在多于数据d0-d3被从代理0写入SMU 202。仲裁器204可以授权代理0对SMU 202的访问,其对于待被写入SMU 202的数据d0-d3足够长(例如,一个时钟周期)。附加数据可以在仲裁器204授权其他代理访问SMU 202之后被写入SMU 202。因此,例如,在代理0的数据d0-d3被写入SMU 202之后,仲裁器204可以授权代理1访问SMU 202。代理1的数据d0-d3继而可以被写入SMU 202。接下来,在代理1的数据d0-d3被写入SMU 202之后,仲裁器204可以授权代理2访问SMU 202。代理2的数据d0-d3继而可以被写入SMU 202。接下来,在代理2的数据d0-d3被写入SMU 202之后,仲裁器204可以授权代理3访问SMU 202。代理3的数据d0-d3继而可以被写入SMU 202。接下来,在代理3的数据d0-d3被写入SMU 202之后,仲裁器204可以开始重复授权代理访问SMU 202的循环并且再次授权代理0访问SMU 202。代理0的新数据集d0-d3(相比于在第一授权周期已经被写入SMU 202的代理0的数据d0-d3)继而可以被写入SMU 202。接下来,代理1被授权访问SMU 202,以此类推。
图3是根据某些示例实施例图示从SMU 302读取数据的过程300的系统中数据传送的框图。图3中图示的系统的一个或多个元件可以与图1的系统100以及图2所示系统中图示的对应元件相同或相似。例如,代理0至代理3的每个代理可以与每个代理108相同或相似。仲裁器304可以与仲裁器104相同或相似。SMU 302可以与SMU 102相同或相似等。
虽然所要求保护的主题不限于任意特定总线宽度或处理器带宽,但是过程300是特定示例实现方式,其中存储器总线306是128位宽、代理0至代理3的每个代理具有32位带宽以及每个代理总线308是32位宽。换言之,代理0至代理3的每个代理读取并处理32位宽的数据。
在过程300,SMU 302正在存储待由代理0至代理3的每个代理读取的数据。所存储的数据可以被每次读取一个数据分组。在本示例实施例中,一个数据分组时128位宽,以便数据的128个并行位从SMU 302一次读取。期望仲裁器304将并行数据的128位分区的过程,在图3中数据的第一32位被标识为d0,数据的第二32位被标识为d1,数据的第三32位被标识为d2,以及数据的第四32位被标识为d3。因此,在读取过程期间,SMU 302中存储的数据以包括数据d0-d3的128位并行数据分组被置于存储器总线306上。例如,即使代理可以请求从SMU 302读取多于128位数据,数据也是一次被读取128位。
为了清楚起见,过程200针对代理0进行了具体的详细描述。应当理解以下针对代理0的描述应用于代理1、代理2、代理3以及可以包括在系统100中的任意其他代理。
针对代理0读取的数据可以经由存储器总线306以128位数据分组从SMU 302提供给仲裁器304。在接收128位并行数据之后,仲裁器304可以将128位并行数据分区成并行数据d0-d3的四个32位宽分组。数据d0-d3的分组经由代理总线308被连续提供给代理0。四个这样的数据分组被图示为代理总线308上的数据d0-d3,即便任意数目的数据分组可以在任意特定时间出现在代理总线308上。因此,代理0可以接收读取数据d0(32位),随后读取数据d1(32位)以此类推。在某些实现方式中,仲裁器304可以包括高速缓存存储器310用于在从SMU 302读取的过程期间经由存储器总线306接收并临时存储来自SMU 302的读取数据。在某些实现方式中,高速缓存存储器310可以在任意特定时间存储多于数据d0-d3。高速缓存存储器310可以包括任意若干类型的易失性或非易失性存储器。
仲裁器304可以包括时钟312用于生成与SMU 102的时钟同步的周期电信号,其例如可以与关联于代理0或SMU 302的任意时钟异步。仲裁器304可以基于时钟312的时钟信号来执行若干过程。
至少部分基于代理0至代理3的带宽,仲裁器304可以被配置为控制或调整从SMU302读取的可寻址数据的时钟或宽度。例如,仲裁器304可以将从SMU 302读取的数据的宽度调整为128位宽。因此,一个存储器地址可以用于唯一标识SMU 302中存储的128位数据。此外,至少部分基于代理0至代理3的带宽,仲裁器304可以读取四个32位数据分组数据d0-d3作为128位宽(4乘以32)的单个数据分组。在从SMU 302读取128位数据分组并将该128位数据分组置于存储器总线306上之前,仲裁器304可以配置存储器总线306以在单个时钟周期(例如,基于时钟310)中将128位数据分组从SMU 302承载到仲裁器304。因此,如在本示例实施例中,存储器总线306可以是128排线宽。在某些实现方式中,存储器总线306的排线数目可以大于存储器总线306上正在承载的数据的宽度。在这种情况下,仲裁器304可以控制存储器总线306的排线数目以用于向SMU 302承载数据/从SMU 302承载数据。
仲裁器304允许一次一个代理至少部分基于时隙方案从SMU 302读取。例如,代理1可以在时隙1从SMU 302读取,而代理0在时隙0访问SMU 302。仲裁器304确定多个代理中的哪个代理被授权访问以在特定时隙值从SMU 302读取。时隙值可以每个时钟周期增加并且可以在到达最大值时回环到0。针对每个代理的每个访问周期允许来自该代理的特定数目的并行数据位经由存储器总线306从SMU 302读取。在本示例实施例中,仲裁器304允许代理0从SMU 302读取数据d0-d3。
仲裁器304从SMU 302接收被配置为单个128位并行数据分组的读取数据d0-d3。在该128位并行数据分组被置于代理总线308上之前,仲裁器304将该128位并行数据分组分区成相应地连续四个32位宽并行数据分组数据d0-d3。如图3所示,系统对于仲裁器304的左边是基于32位数据宽度,而系统对于仲裁器304的右边是基于128位数据宽度。
如早先提到的,可以存在多于数据d0-d3由特定代理从SMU 302读取。例如,仲裁器304可以授权代理0访问SMU 302以从SMU 302读取128位数据。在仲裁器304授权其他代理访问SMU 302之后,代理0可以从SMU 302读取附加数据。因此,例如,在128位数据由代理0从SMU 302读取之后,仲裁器304可以授权代理1访问SMU 302。128位数据继而可以由代理1从SMU 302读取。接下来,在128位数据由代理1从SMU 302读取之后,仲裁器304可以授权代理2访问SMU 302。128位数据继而可以由代理2从SMU 302读取。接下来,在128位数据由代理2从SMU 302读取之后,仲裁器304可以授权代理3访问SMU 302。128位数据继而可以由代理3从SMU 302读取。接下来,在128位数据由代理3从SMU 302读取之后,仲裁器304可以开始重复授权代理访问SMU 302的循环并且再次授权代理0访问SMU 302。另一128位数据(在第一授权周期中由代理0已经读取的128位数据之后)继而可以由代理0从SMU 302读取。接下来,代理1被授权访问SMU 302以此类推。
图4是根据某些实施例图示了用于从SMU读取数据的过程400的时间流图。执行过程400的仲裁器可以接收关于多个代理(诸如图3中所示的代理0至代理3)的每个代理的带宽的信息。在某些实现方式中,这种信息可以由单独代理提供给仲裁器。例如,仲裁器可以在握手过程中仲裁器与代理之间的连接之后向代理提供信息。仲裁器可以确定用于在多个代理中选择单个代理的顺序以允许该单个代理在单个时钟周期中从SMU读取数据。该顺序可以至少部分基于多个代理中每个代理的带宽。在某些实现方式中,仲裁器可以维持针对读取操作的恒定延迟,同时循环通过所确定的顺序。
虽然过程400可以涉及任意带宽,但是为了简化以下描述,从SMU读取数据的每个代理的带宽被假设为32位。时钟信号402由仲裁器和存储器(SMU)中或与其相关联的时钟电路生成,诸如图3所示仲裁器304中的时钟312。时隙404标识由仲裁器管理的读取周期的一部分。例如,读取周期的开始在时钟周期1并且被标识为T0,读取周期的结束在时钟周期4并且被标识为T3,下一读取周期的开始在时钟周期5并且被标识为T0以此类推。包括针对每个代理的一个读取周期的读取周期由仲裁器管理。代理授权行406标识哪个代理被授权在特定时间(例如,时钟周期)访问SMU。“A0”对应于代理0,“A1”对应于代理1以此类推。例如,在时钟周期1、5、9…出现的时隙T0,代理A0被授权访问以从SMU读取。在时钟周期2、6、10…出现的时隙T1,代理A1被授权访问以从SMU读取以此类推。其中单独代理被授权访问SMU的顺序至少部分基于多个代理的每个代理的带宽(在本示例实施例中32位)由仲裁器确定。此外,仲裁器可以响应于多个代理的一个或多个代理的带宽的变化而改变该顺序。例如,如果具有第一带宽的代理被具有不同于该第一带宽的第二带宽的另一代理代替,则仲裁器可以改变顺序。在另一示例中,如果代理被添加到已经存在的代理,则仲裁器可以对应地改变顺序。
当代理A0被授权在时隙T0访问SMU时,代理A0从SMU读取数据A0。因为每个代理A0-A3的带宽是32位,因此在本示例实施例中存在四个代理,SMU中存储的A0数据是128位宽(32位乘以4)。因此,如早先所述,128位宽A0数据可以被置于存储器总线408,其可以与图3所示的存储器总线306相同或相似。具体地,128位宽A0数据被置于存储器总线上使得所有128位并行,并且该128位占有存储器总线一个时钟周期。在下一时钟周期,由代理A1读取的128位宽A1数据将占有存储器总线。在第三时钟周期,由代理A2读取的128位宽A2数据将占有存储器总线。在第四时钟周期,由代理A3读取的128位宽A3数据将占有存储器总线。在第五时钟周期,在第一时钟周期早先读取的128位宽A0数据之后的128位宽A0数据由代理A0读取并且将占有存储器总线以此类推。
针对仲裁器的每个读取周期,位于存储器总线上的128位宽数据在该128位被分区成四个32位宽数据分组d0-d3之后传至单独代理总线。例如,在时隙T0,128位宽A0数据从存储器总线408传至代理0总线410作为四个连续的32位宽数据分组d0、d1、d2和d3。仲裁器管理这种从存储器总线向代理总线的数据传送。这种数据传送由箭头412指示。在另一示例中,在时隙T1,128位宽A1数据从存储器总线408传至代理1总线414作为四个连续的32位宽数据分组d0、d1、d2和d3。这种数据传送由箭头括号对416指示。在又一示例中,在时隙T2,128位宽A2数据从存储器总线408传至代理2总线418作为四个连续的32位宽数据分组d0、d1、d2和d3。这种数据传送由箭头括号对420指示。在又一示例中,在时隙T3,128位宽A3数据从存储器总线408传至代理3总线422作为四个连续的32位宽数据分组d0、d1、d2和d3。这种数据传送由箭头括号对424指示。
仲裁器管理将读取数据同时置于不止一个代理数据总线的过程。例如,在时钟周期1,仲裁器将A0数据的第一32位部分(即数据分组d0)置于代理0总线410上。在时钟周期2,仲裁器将A1数据的第一32位部分(即数据分组d0)置于代理1总线414上并且将A0数据的第二32位部分(即数据分组d1)置于代理0总线410上。在时钟周期3,仲裁器将A2数据的第一32位部分(即数据分组d0)置于代理2总线418上,将A1数据的第二32位部分(即数据分组d1)置于代理1总线414上,以及将A0数据的第三32位部分(即数据分组d2)置于代理0总线410上。在时钟周期4,仲裁器将A3数据的第一32位部分(即数据分组d0)置于代理3总线422上,将A2数据的第二32位部分(即数据分组d1)置于代理2总线418上,将A1数据的第三32位部分(即数据分组d2)置于代理1总线414上,以及将A0数据的第四32位部分(即数据分组d3)置于代理0总线410上以此类推。通过这种方式,仲裁器允许单独代理接收并处理读取数据同时其他代理当前正在从SMU读取。
过程400被图示为特定实施例,其中如早先提到的,每个代理具有32位带宽并且存在四个代理。所要求保护的主题并不限于此方面。例如,与过程400相同或相似的过程可以涉及具有相同或不同带宽的任意数目的代理。
图5是根据某些实施例图示了用于从SMU读取数据的过程500的时间流图。过程500可以与过程400相同或相似,除了不是所有代理都具有相同带宽。例如,代理A0和代理A1可以具有彼此相等的带宽,并且是代理A2和代理A3各自带宽的两倍。在这种情况下,仲裁器可以向代理A0和代理A1的每个代理授权访问,其在频率上是向代理A2和代理A3的每个代理授权访问量的两倍。虽然过程500可以涉及带宽和总线宽度的任意组合,但为了简化以下描述,从SMU读取数据的代理A0和代理A1的每个代理的带宽被假设为64位,代理A2和代理A3的每个代理的带宽被假设为32位,针对每个代理A0-A3的代理总线和存储器总线被假设为32位。时钟信号502由仲裁器中(或其相关联)的时钟电路生成,诸如图3中所示仲裁器304中的时钟312。时隙504标识由仲裁器管理的读取时钟的一部分。例如,读取周期的开始在时钟周期1并且被标识为T0,读取周期的结束在时钟周期6并且被标识为T5,下一读取周期的开始在时钟周期7并且被标识为T0以此类推。例如,过程500的读取周期包括针对代理A0的两个时隙,针对代理A1的两个时隙,以及针对代理A2和代理A3的每个代理的单个时隙。由于代理A0和代理A1的带宽是代理A2和代理A3的带宽的两倍,因此两个时隙用于代理A0和代理A1。这与早先描述的过程400相反,该过程400涉及包括针对每个代理的一个读取周期的读取周期,这是因为每个代理具有彼此相等的带宽。
代理授权行506标识哪个代理被授权在特定时间(例如,时钟周期)访问SMU。例如,在时钟周期1和时钟周期7出现的时隙T0,代理A0被授权访问以从SMU读取。在时钟周期2和时钟周期8出现的时隙T1,代理A1被授权访问以从SMU读取以此类推。其中单独代理被授权访问SMU的顺序至少部分基于多个代理的每个代理的带宽由仲裁器确定。在本示例实施例中,代理A0和代理A1的每个代理具有32位带宽,而代理A2和代理A3的每个代理具有16位带宽。为了优化功率,仲裁器时钟频率例如可以被选择为每个代理的时钟频率的3/4。因此,如代理授权行506中指示的顺序不同于图4中所示的代理授权行406中指示的顺序,后者涉及代理各自具有相同的带宽。此外,仲裁器可以响应于多个代理的一个或多个代理的带宽的变化而改变时钟频率或顺序。例如,如果具有第一带宽的代理被具有不同于该第一带宽的第二带宽的另一代理代替,则仲裁器可以改变顺序。在另一示例中,如果代理被添加到已经存在的代理,则仲裁器可以对应地改变顺序。在某些实现方式中,仲裁器可以维持针对读取操作的恒定延迟,同时循环通过所确定的顺序。
当代理A0被授权在时隙T0访问SMU时,代理A0从SMU读取数据A0。在本示例中,在SMU中存储的A0数据是128位宽。因此,128位宽A0数据可以被置于存储器总线508上,该存储器总线508与图3中所示的存储器总线308相同或相似。具体地,128位宽A0数据被置于存储器总线上使得所有128位并行,并且该128位占有存储器总线一个时钟周期。在下一时钟周期,由代理A1读取的128位宽A1数据将占有存储器总线。在第三时钟周期,由代理A2读取的128位宽A2数据将占有存储器总线。在第四时钟周期,在第一时钟周期早先读取的128位宽A0数据之后的128位宽A0数据由代理A0读取并且将占有存储器总线。在第五时钟周期,在第二时钟周期早先读取的128位宽A1数据之后的128位宽A1数据由代理A1读取并且将占有存储器总线。在第六时钟周期,128位宽A3数据由代理A3读取并且将占有存储器总线以此类推。
针对仲裁器的每个读取周期,位于存储器总线上的128位宽数据在该128位被分区成四个32位宽数据分组d0-d3之后至少部分基于代理时钟传至单独代理总线。例如,在时隙T0,128位宽A0数据从存储器总线508传至代理0总线510作为四个连续的32位宽数据分组d0、d1、d2和d3。仲裁器管理这种从存储器总线向代理总线的数据传送。这种数据传送由箭头512指示。在另一示例中,在时隙T1,128位宽A1数据从存储器总线508传至代理1总线514作为四个连续的32位宽数据分组d0、d1、d2和d3。这种数据传送由箭头括号对516指示。在又一示例中,在时隙T2,128位宽A2数据从存储器总线508传至代理2总线518作为四个连续的32位宽数据分组d0、d1、d2和d3。这种数据传送由箭头括号对520指示。在又一示例中,在时隙T5,128位宽A3数据从存储器总线508传至代理3总线522作为四个连续的32位宽数据分组d0、d1、d2和d3。这种数据传送由箭头括号对524指示。
仲裁器管理将读取数据同时置于不止一个代理数据总线的过程。例如,在时钟周期1(代理时钟周期),仲裁器将A0数据的第一32位部分(即数据分组d0)置于代理0总线510上。在时钟周期2,仲裁器将A1数据的第一32位部分(即数据分组d0)置于代理1总线514上并且将A0数据的第二32位部分(即数据分组d1)置于代理0总线510上。在时钟周期3,仲裁器将A2数据的第一32位部分(即数据分组d0)置于代理2总线518上,将A1数据的第二32位部分(即数据分组d1)置于代理1总线514上,以及将A0数据的第三32位部分(即数据分组d2)置于代理0总线510上。在时钟周期4,仲裁器将A2数据的第二32位部分(即数据分组d1)置于代理2总线518上,将A1数据的第三32位部分(即数据分组d2)置于代理1总线514上,以及将A0数据的第四32位部分(即数据分组d3)置于代理0总线510上以此类推。这里,代理2和代理3的数据轮流(代理3的{d0,d1,d2,d3}跟着代理2的{d0,d1,d2,d3}),这是因为其带宽为代理0和代理1的一半。通过这种方式,仲裁器允许单独代理接收并处理读取数据同时其他代理当前正在从SMU读取。
虽然描述了特定数目的代理以及相关联的带宽,但是过程500可以涉及具有相等或不同带宽的任意数目的代理,并且所要求保护的主题不限于此方面。
图6是根据其他实施例由多个代理管理对SMU的访问的过程600的流程图。例如,过程600可以与过程400或过程500相似或相同,并且分别由诸如图1、图2和图3中图示的仲裁器104、仲裁器204或仲裁器304之类的仲裁器执行。仲裁器可以至少部分基于如在框602中所示由仲裁器生成的时钟信号来执行过程600。
在框604,仲裁器接收关于多个代理(诸如图2和图3中图示的代理0至代理3)的每个代理的带宽的信息。在某些实现方式中,这种信息可以由单独代理提供给仲裁器。例如,仲裁器可以在握手过程中仲裁器与代理之间的连接之后向代理提供信息。在其他实现方式中,这种信息例如可以经由输入设备(未示出)由仲裁器的用户提供给仲裁器。
在框606,仲裁器确定用于在多个代理中选择单个代理的顺序以允许单个代理在时钟信号的单个时钟周期中向SMU/从SMU并行传送数据。例如,这种数据传送可以涉及读取操作或写入操作。该顺序可以至少部分基于多个代理的每个代理的带宽。仲裁器还可以至少部分基于用于优化功率的整体带宽需求来调整其时钟频率。在框608,仲裁器循环通过所确定的顺序,从而在多个代理中选择单个代理以允许单个代理在单个时钟周期从SMU读取或向SMU写入。
过程600并入了本文所述的技术,其中一个或多个步骤可以由仲裁器、一个或多个处理器和/或存储器控制器实现。此过程(以及贯穿全文所述的其他方法、过程和技术)被图示为逻辑流图,其中每个操作表示可以部分或全部以硬件、软件或其组合实现的一序列操作。在软件上下文中,操作表示一个或多个有形计算机可读存储介质上存储的计算机可执行指令,当由一个或多个处理器执行时,执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。其中操作被描述的顺序不旨在构成限制,任意数目的所述操作可以以任何顺序组合和/或并行来实现所述过程。此外,虽然本文所述的架构和技术已经针对服务器和用户设备进行了描述,但是该架构和技术等同地可用于其他环境和计算设备中的处理器和处理内核。
如本文中所使用的,术语“模块”或“框”可以指代以下各项、可以是以下各项的一部分或者可以包括以下各项:执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享的、专用的、或者组)和/或存储器(共享的、专用的、或者组)、组合逻辑电路、和/或提供所描述的功能的其他合适的部件。
描述包括使用短语“在一个实施例中”或者“在各种实施例中”,其可以各自指代相同或者不同实施例中的一个或多个实施例。另外,关于本公开内容的实施例所使用的术语“包括”、“包含”、“具有”等是同义的。
可以按照对于理解要求保护的主题最有用的方式来将各种操作描述为按照顺序执行的多个离散的动作或者操作。然而,不应当将描述的顺序理解为暗示这些操作必须依赖于顺序。特别地,这些操作可以不按照呈现的顺序来执行。所描述的操作可以按照与所描述的实施例不同的顺序来执行。在另外的实施例中,可以执行各种另外的操作和/或可以省略所描述的操作。
虽然已经在本文中图示和描述了特定实施例,然而应当注意,可以用各种备选和/或等同实现来替代所示出和所描述的特定实施例而不偏离本公开内容的范围。本公开内容覆盖在字面上或者在等同的教示下落入所附权利要求的范围内的所有方法、装置和制造品。本申请意在覆盖本文中所公开的实施例的任何适配或变化。因此,证明并且意在本公开内容仅受权利要求及其等同的限制。

Claims (19)

1.一种用于访问存储器的系统,包括:
共享存储器单元;以及
仲裁器,被配置为
生成时钟信号,
接收关于多个代理的每个代理的带宽的信息,
确定用于在所述多个代理中选择单个代理的时钟频率或顺序,以允许所述单个代理在所述时钟信号的单个时钟周期中从所述共享存储器单元/向所述共享存储器单元并行传送数据,其中所述顺序至少部分基于所述多个代理的每个代理的所述带宽,
循环通过所确定的用于在所述多个代理中选择所述单个代理的顺序,以允许所述单个代理在所述单个时钟周期中从所述共享存储器单元/向所述共享存储器单元传送数据,以及
响应于所述多个代理的一个或多个代理的带宽的变化,修改用于从所述共享存储器单元或者向所述共享存储器单元传送数据的n导体宽并行总线的导体数目。
2.根据权利要求1所述的系统,进一步包括:
在所述仲裁器与所述共享存储器单元之间的n导体宽并行总线,其中
n是整数,以及
n至少部分基于多个代理的每个代理的所述带宽。
3.根据权利要求1所述的系统,其中所述仲裁器进一步被配置为响应于所述多个代理的一个或多个代理的带宽的变化,改变所述时钟频率以优化功率。
4.根据权利要求1所述的系统,其中所述仲裁器进一步被配置为响应于所述多个代理的一个或多个代理的带宽的变化,改变所述顺序。
5.根据权利要求1所述的系统,其中所述仲裁器进一步被配置为至少部分基于多个代理的每个代理的所述带宽,配置所述共享存储器单元中可寻址存储器位置的宽度。
6.根据权利要求1所述的系统,其中所述仲裁器进一步被配置为维持针对读取操作的恒定最坏延迟,同时循环通过所确定的用于在所述多个代理中选择所述单个代理的顺序。
7.根据权利要求1所述的系统,其中所述仲裁器进一步被配置为当所述多个代理的至少一部分具有与所述多个代理的至少另一部分的带宽不同的带宽时,在所述多个代理中仲裁对所述共享存储器单元的访问。
8.一种用于访问存储器的方法,包括:
生成时钟信号;
接收关于多个代理的每个代理的带宽的信息;
确定用于在所述多个代理中选择单个代理的时钟频率或顺序,以允许所述单个代理在所述时钟信号的单个时钟周期中从共享存储器单元/向共享存储器单元并行传送数据,其中所述顺序至少部分基于所述多个代理的每个代理的所述带宽;
循环通过所确定的用于在所述多个代理中选择所述单个代理的顺序,以允许所述单个代理在所述单个时钟周期中从所述共享存储器单元/向所述共享存储器单元传送数据;以及
响应于所述多个代理的一个或多个代理的带宽的变化,修改用于从所述共享存储器单元或者向所述共享存储器单元传送数据的n导体宽并行总线的导体数目。
9.根据权利要求8所述的方法,进一步包括:
响应于所述多个代理的一个或多个代理的带宽的变化,改变所述时钟频率以优化功率。
10.根据权利要求8所述的方法,进一步包括:
响应于所述多个代理的一个或多个代理的带宽的变化,改变所述顺序。
11.根据权利要求8所述的方法,进一步包括:
至少部分基于多个代理的每个代理的所述带宽,配置所述共享存储器单元中可寻址存储器位置的宽度。
12.根据权利要求8所述的方法,进一步包括:
维持针对读取操作的恒定最坏延迟,同时循环通过所确定的用于在所述多个代理中选择所述单个代理的顺序。
13.根据权利要求8所述的方法,进一步包括:
当所述多个代理的至少一部分具有与所述多个代理的至少另一部分的带宽不同的带宽时,在所述多个代理中仲裁对所述共享存储器单元的访问。
14.一种存储有计算机可执行指令的计算机可读存储介质,当所述计算机可执行指令由处理器执行时,配置所述处理器执行以下操作,包括:
生成时钟信号;
确定用于在多个代理中选择单个代理的时钟频率或顺序,以允许所述单个代理在所述时钟信号的单个时钟周期中从共享存储器单元/向共享存储器单元并行传送数据,其中所述顺序至少部分基于所述多个代理的每个代理的带宽;
循环通过所确定的用于在所述多个代理中选择所述单个代理的顺序,以允许所述单个代理在所述单个时钟周期中从所述共享存储器单元/向所述共享存储器单元传送数据;以及
响应于所述多个代理的一个或多个代理的带宽的变化,修改用于从所述共享存储器单元或者向所述共享存储器单元传送数据的n导体宽并行总线的导体数目。
15.根据权利要求14所述的计算机可读存储介质,所述操作进一步包括:
响应于所述多个代理的一个或多个代理的带宽的变化,改变所述时钟频率以优化功率。
16.根据权利要求14所述的计算机可读存储介质,所述操作进一步包括:
响应于所述多个代理的一个或多个代理的带宽的变化,改变所述顺序。
17.根据权利要求14所述的计算机可读存储介质,所述操作进一步包括:
至少部分基于多个代理的每个代理的所述带宽,配置所述共享存储器单元中可寻址存储器位置的宽度。
18.根据权利要求14所述的计算机可读存储介质,所述操作进一步包括:
维持针对读取操作的恒定最坏延迟,同时循环通过所确定的用于在所述多个代理中选择所述单个代理的顺序。
19.根据权利要求14所述的计算机可读存储介质,所述操作进一步包括:
当所述多个代理的至少一部分具有与所述多个代理的至少另一部分的带宽不同的带宽时,在所述多个代理中仲裁对所述共享存储器单元的访问。
CN201480075682.0A 2013-12-17 2014-12-16 多端口共享存储器 Active CN106030557B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361917229P 2013-12-17 2013-12-17
US61/917,229 2013-12-17
US14/570,886 US9627014B2 (en) 2013-12-17 2014-12-15 Multiple port shared memory
US14/570,886 2014-12-15
PCT/US2014/070665 WO2015095231A1 (en) 2013-12-17 2014-12-16 Multiple port shared memory

Publications (2)

Publication Number Publication Date
CN106030557A CN106030557A (zh) 2016-10-12
CN106030557B true CN106030557B (zh) 2019-04-12

Family

ID=53369281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480075682.0A Active CN106030557B (zh) 2013-12-17 2014-12-16 多端口共享存储器

Country Status (3)

Country Link
US (1) US9627014B2 (zh)
CN (1) CN106030557B (zh)
WO (1) WO2015095231A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182036B (zh) * 2018-01-19 2021-05-11 湖南国科微电子股份有限公司 一种多芯片系统存储实现装置及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739372A (zh) * 2008-11-05 2010-06-16 联发科技股份有限公司 共享资源的仲裁方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006303A (en) 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture
US6594718B1 (en) 2000-04-29 2003-07-15 Hewlett-Packard Development Company, L.P. Arbitration scheme for equitable distribution of bandwidth for agents with different bandwidth requirements
US7555585B2 (en) 2006-06-30 2009-06-30 Broadcom Corporation Optimized performance and power access to a shared resource in a multiclock frequency system on a chip application
US8549234B2 (en) 2011-10-14 2013-10-01 Renesas Mobile Corporation Memory controller and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739372A (zh) * 2008-11-05 2010-06-16 联发科技股份有限公司 共享资源的仲裁方法及装置
US8032678B2 (en) * 2008-11-05 2011-10-04 Mediatek Inc. Shared resource arbitration

Also Published As

Publication number Publication date
CN106030557A (zh) 2016-10-12
WO2015095231A1 (en) 2015-06-25
US20150170720A1 (en) 2015-06-18
US9627014B2 (en) 2017-04-18

Similar Documents

Publication Publication Date Title
JP4740261B2 (ja) 通信システム及び通信モジュールの通信リンクや通信システムのノードを経由してメッセージのデータを伝送する方法と、この方法を実現するための通信システム。
US7047370B1 (en) Full access to memory interfaces via remote request
US7546393B2 (en) System for asynchronous DMA command completion notification wherein the DMA command comprising a tag belongs to a plurality of tag groups
US20090138624A1 (en) Storage system and method
US20100005233A1 (en) Storage region allocation system, storage region allocation method, and control apparatus
WO2006012284A2 (en) An apparatus and method for packet coalescing within interconnection network routers
US8199910B2 (en) Signature generation apparatus and signature verification apparatus
KR101380364B1 (ko) 적어도 하나의 dma 주변장치 및 직각위상 클록으로 동작하는 cpu 사이의 싱글 포트 sram의 대역폭 공유
CN105677605B (zh) 一种高效的可配置片上互联系统及其实现方法、装置
CN106233258B (zh) 可变宽度纠错
US20070260791A1 (en) Data processing device
KR20220136426A (ko) 머신 학습 가속기들에서의 큐 할당
CN106030557B (zh) 多端口共享存储器
US10581997B2 (en) Techniques for storing or accessing a key-value item
CN116685943A (zh) 可编程原子单元中的自调度线程
WO2013148439A1 (en) Hardware managed allocation and deallocation evaluation circuit
CN114518902A (zh) 一种内存定序器系统和应用该系统的内存定序方法
CN105718349B (zh) 跨管芯接口监听或全局观察消息排序
US11456862B2 (en) Secure computation system, secure computation apparatus, secure computation method, and recording medium
US10496565B2 (en) Micro-architectural techniques to minimize companion die firmware loading times in a server platform
CN114003544A (zh) 一种控制芯片、工作量证明系统和传输方法
CN103988178B (zh) 数据处理系统以及控制对共享存储单元的访问的方法
CN112416053A (zh) 多核架构的同步信号产生电路、芯片和同步方法及装置
JP4229242B2 (ja) ダイレクトメモリアクセスコントローラ
US11960416B2 (en) Multichannel memory arbitration and interleaving scheme

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right

Effective date of registration: 20200428

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200428

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200428

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

TR01 Transfer of patent right