CN101815990A - 用于执行存储器块初始化及复制的存储器控制器 - Google Patents

用于执行存储器块初始化及复制的存储器控制器 Download PDF

Info

Publication number
CN101815990A
CN101815990A CN200880109893A CN200880109893A CN101815990A CN 101815990 A CN101815990 A CN 101815990A CN 200880109893 A CN200880109893 A CN 200880109893A CN 200880109893 A CN200880109893 A CN 200880109893A CN 101815990 A CN101815990 A CN 101815990A
Authority
CN
China
Prior art keywords
address
memory controller
memory
value
initialization
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
CN200880109893A
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101815990A publication Critical patent/CN101815990A/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明揭示用于在总线业务减少的情况下执行存储器块初始化及复制功能的存储器控制器及方法。所述存储器控制器可通过接收存储器的开始地址、所述存储器的结束地址及填充值来执行所述存储器初始化。接着将所述填充值从所述存储器控制器写入到所述存储器中由所述开始地址及结束地址界定的任意长度的填充范围中。

Description

用于执行存储器块初始化及复制的存储器控制器
技术领域
本发明的实施例涉及一种存储器控制器且涉及包括所述存储器控制器的计算机系统。更明确地说,本发明的实施例涉及一种经配置以执行存储器块初始化及复制功能的存储器控制器且涉及用于在总线业务减少的情况下执行存储器块初始化及复制功能的方法。
背景技术
常规计算机系统通常包括用于存储软件应用程序及程序数据的一个或一个以上存储器模块及在微处理器的指导下控制对存储器模块的存取的存储器控制器。常规存储器模块通常基于预定义命令序列来加电且初始化以便适当地操作(例如,在“启动”操作期间)。未能遵循用于加电及初始化的所需程序可能导致未定义操作。
除了启动或加电初始化操作外,存储器初始化也可在正常系统操作期间执行以保留存储器或将存储器分配给正由计算机系统执行或经调度以由计算机系统执行的一个或一个以上软件程序或应用程序(例如,实时串流视频应用程序)。这些类型的存储器初始化通常由处理器进行微观管理。举例来说,初始化程序可通过处理器经由循环来执行,其中所述循环的每一次反复产生被发送到存储器控制器的指令存储器控制器初始化一个或一个以上指定存储器地址的初始化命令。由处理器发送到存储器控制器的初始化命令包括指令存储器控制器将指定存储器块设定为给定初始化值或逻辑电平(例如,较高逻辑电平或逻辑“1”、较低逻辑电平或逻辑“0”等等)的存储器写入。
举例来说,参看图1A,由常规计算机系统10中的处理器12执行的常规存储器初始化循环可用编程逻辑来执行,如下:
For(Address=[0000]until[Address]=10000){
Data[Address]=Initialization_Value;
Address=Address+1;
}
因此,如上述编程逻辑中所示,为了初始化10,000个存储器地址处的数据,处理器12执行具有10,000次反复的for循环,其中每一次反复产生经由总线14发送到存储器控制器16用于初始化在存储器装置18中的一个特定存储器位置或地址处的数据的指令(例如,写入命令)。每一所产生的指令或写入命令包括一个存储器地址及一个初始化值。因此,在上述实例中,处理器12将10,000个存储器地址及10,000个初始化值发送到存储器控制器16,存储器控制器16执行初始化指令。此外,尽管上文提供的编程逻辑使参数地址针对for循环的每一次反复而递增1,但其它常规实施方案可使参数地址递增不同于1的值(例如,2的幂)。
如上文相对于常规初始化编程逻辑的实例所示,用于软件应用程序的存储器块的定制初始化可包括若干由处理器执行的写入命令,这可消耗宝贵的系统资源(例如,总线带宽、处理器功率等等)。此外,处理器12在发布用于目标存储器地址的存储器命令(例如,读取命令、写入命令等等)之前必须等待直到初始化操作之后,这可进一步延迟计算机系统10。举例来说,处理器12可监控初始化操作以便在发布用于存储器18中的经初始化存储器地址的存储器命令之前等待直到初始化操作完成为止。
发明内容
本发明的实施例涉及一种经配置以执行存储器块初始化及复制功能的存储器控制器且涉及用于在总线业务减少的情况下执行存储器块初始化及复制功能的方法。
因此,本发明的实施例可包括一种存储器控制器,其包含:经配置以接收存储器的开始地址的逻辑;经配置以接收所述存储器的结束地址或长度的逻辑;经配置以接收填充值的逻辑;及经配置以将所述填充值写入到所述存储器中由开始地址及结束地址或长度界定的任意长度的填充范围中的逻辑。
本发明的另一实施例可包括一种在存储器控制器处执行的用于初始化或复制存储器中的数据的方法,所述方法包含:接收存储器的开始地址;接收所述存储器的结束地址或长度;接收填充值;及将所述填充值写入到所述存储器中由开始地址及结束地址或长度界定的任意长度的填充范围中。
本发明的另一实施例可包括一种计算机系统,其包含:处理器,其经配置以发送包括待初始化或复制的任意范围的存储器地址的存储器初始化指令或存储器复制指令中的一者;及存储器控制器,其耦合到所述处理器,其中所述存储器控制器经配置以从所述处理器接收所述存储器初始化指令或存储器复制指令,且经配置以根据接收到的指令来初始化或复制所述范围的存储器地址。
本发明的另一实施例可包括一种在存储器控制器处执行的用于存储器初始化的方法,所述方法包含:接收包括开始地址、结束地址及初始化值的存储器初始化命令;将当前地址设定为所述开始地址;将所述初始化值写入到所述存储器中的所述当前地址处;使所述当前地址递增;及如果所述当前地址不大于所述结束地址,则重复所述写入及递增。
本发明的另一实施例可包括一种在存储器控制器处执行的用于复制存储器的方法,所述方法包含:接收包括源地址、目的地地址及复制计数的存储器复制命令;将来自所述源地址的数据复制到所述目的地地址;使所述源地址及所述目的地地址递增;使当前计数递增;及如果所述当前计数不大于所述复制计数,则重复所述复制及递增。
附图说明
附图经包括以提供对本发明的进一步理解,且并入在本说明书中并构成本说明书的一部分。所述图式说明本发明的实施例,且连同描述,用以解释本发明的原理。
图1A为说明使用常规初始化处理的计算系统的框图。
图1B为说明使用具有减少的总线业务及处理器利用的初始化处理的计算系统的框图。
图2A到图2D为双通道总线及在其上传送的相关联指令的说明。
图3为说明在计算系统的处理器处执行的存储器初始化/复制处理的流程图。
图4A为说明在计算系统的存储器控制器处执行的存储器初始化/复制处理的流程图。
图4B为说明在存储器初始化处理期间执行的任选处理的流程图。
图5为在计算系统的处理器处执行的替代存储器初始化/复制处理的说明。
图6A为说明在存储器控制器处执行的存储器复制处理的流程图。
图6B为说明在存储器控制器处执行的存储器初始化的流程图。
图7为说明包括初始化逻辑及相关元件的存储器控制器的框图。
具体实施方式
本发明的各方面在针对于本发明的特定实施例的以下描述及相关图式中揭示。在不脱离本发明的范围的情况下可设计出替代实施例。另外,将不会详细描述本发明的众所周知元件,或将省略所述元件,以免混淆本发明的相关细节。
词“示范性”及/或“实例”在本文中用于意指“充当实例、例子或说明”。本文中被描述为“示范性”及/或“实例”的任何实施例不必解释为比其它实施例优选或有利。同样,术语“本发明的实施例”并不要求本发明的所有实施例均包括所论述的特征、优点或操作模式。
此外,依据将由(例如)计算装置的元件执行的动作序列来描述许多实施例。将认识到,可通过特定电路(例如,专用集成电路(ASIC)),通过正由一个或一个以上处理器执行的程序指令,或通过两者的组合来执行本文描述的各种动作。另外,可认为本文中描述的这些动作序列完全体现于里面已存储有一组对应计算机指令的任何形式的计算机可读存储媒体内,所述计算机指令在执行时将致使相关联处理器执行本文中描述的功能性。因此,本发明的各种方面可以若干不同形式来体现,已预期所有所述形式均在所主张标的物的范围内。另外,对于本文中描述的实施例中的每一者来说,任何所述实施例的对应形式均可在本文中被描述为(例如)“经配置以”执行所描述的动作的“逻辑”。
将理解,尽管术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于区分一个元件与另一元件。举例来说,在不脱离本发明的实施例的范围的情况下,第一元件可称作第二元件,且类似地,第二元件可称作第一元件。而且,如本文中所使用,术语“及/或”包括所列出相关联项中的一者或一者以上的任何及所有组合。
本文中所使用的术语仅用于描述特定实施例的目的且不希望限制本发明的实施例。如本文中所使用,单数形式“一”及“所述”既定还包括复数形式,除非上下文另有清楚指示。将进一步理解,术语“包含”及/或“包括”在本文中使用时指定所陈述特征、整数、步骤、操作、元件及/或组件的存在,但并不排除一个或一个以上其它特征、整数、步骤、操作、元件、组件及/或其群组的存在或添加。
为了更好地理解本发明的实施例,将描述实例计算系统,之后将描述在实例计算处理内执行的存储器初始化处理的实例。图1B为说明根据本发明的实施例的计算系统100的框图。
在图1B的实施例中,处理器102经由总线104而耦合到存储器控制器106。存储器控制器106耦合到存储器108。在一实例中,处理器102可对应于任何众所周知的处理器。举例来说,处理器102可体现为图形处理器单元(GPU)、中央处理单元(CPU)、数字信号处理器(DSP)、硬件加速器等。此外,处理器102可表示可控制总线104及/或存储器控制器106的多个处理器或主控器及其它相关元件(例如,互连/总线仲裁器)。处理器102与存储器控制器106之间及同样存储器控制器106与存储器108之间的总线连接104可为直接连接或间接连接。举例来说,处理器102与存储器控制器106可经由总线104而连接,总线104可为多点总线、单点总线、双通道总线及/或专用连接。在图1B的实施例中,计算系统100可表示任何类型的计算系统,例如服务器、个人计算机、膝上型计算机、电池供电的袖珍型手持式PC、个人数字助理(PDA)或其它移动计算装置(例如,移动电话)。
此外,存储器108可表示任何众所周知类型的存储器。举例来说,存储器108可包括以下各者中的一者或一者以上:单列直插式存储器模块(SIMM)、双列直插式存储器模块(DIMM)、快闪存储器(例如,NAND快闪存储器、NOR快闪存储器等等)、随机存取存储器(RAM)(例如同步RAM(SRAM)、磁性RAM(MRAM)、动态RAM(DRAM))及电可擦除可编程只读存储器(EEPROM)。
在复杂的现代数字系统设计的中心处是在总线(例如,104/204)上路由传送请求的互连。将了解,所述互连是将事务请求及写入数据从主控器路由到受控器及将读取数据及写入响应从受控器路由到主控器(例如,从(主控器)发送装置202到(受控器)接收装置206/从(受控器)接收装置206到(主控器)发送装置202)的逻辑。举例来说,互连(其可为102/202的部分)可用于具有多个主控器(例如,多个处理器)及/或多个存储器控制器的系统中。举例来说,总线104在驻存于系统100中的各种处理功能当中移动信息。总线结构可包括独立且单独的地址、读取及写入总线。这些连接允许将传送地址从发送装置传送到接收装置、将读取数据从接收装置传送到发送装置及将写入数据从发送装置传送到接收装置。
如图2A中所说明,总线204可驻存于发送装置202与接收装置206之间。在所说明的通用系统200中,需要能够在装置(例如,202、206)之间移动数据。本发明的实施例描述用于执行芯片上系统设计及其它系统架构的存储器块初始化的紧密总线命令。如本文中所使用及说明,发射通道208为用于在发送装置202与接收装置206之间发射“信息”的一般媒体。举例来说,以时分多路复用型式,可将不同类型的信息从发送装置202广播到接收装置206。本发明的一些实施例可使用所说明的双通道总线204来促进存储器初始化及复制命令。双通道总线配置的额外细节可从2004年4月27日申请的题为“多地址双通道总线结构(A Multiple Address Two Channel Bus Structure)”的第10/833,716号美国专利申请案中获得,所述申请案转让给本受让人且以全文引用的方式并入本文中。
举例来说,通过使用所说明的双通道总线结构204,发送装置202可通过在地址占用期间在发射通道208上广播地址来起始读取或写入传送或者其任何组合。在读取传送请求的情况下,这是需要在发射通道208上广播的唯一信息。接收装置206确认此广播且随后通过在读取数据通道210上广播读取数据来提供所请求数据。在写入传送请求的情况下,主控器(例如,发送装置202)随后可通过在写入占用中经由发射通道208将写入数据广播到接收装置206来跟随地址在发射通道上的广播。在存储器初始化命令的情况下,在地址占用期间将用于存储器初始化的“开始”地址及“结束”(例如,结束地址或长度)两者同时广播到接收装置206(例如,存储器控制器)。此外,随后可在数据占用中发射初始化值作为根据本发明的实施例的存储器初始化总线命令的任选部分。
发射通道可包括作为在发射通道208上发射的位的部分的用于指示正被广播的数据的类型(例如,写入地址、读取地址、数据)的控制/信令位。或者,可提供次级信令/控制连接/总线(未图示),使得发射通道的整个宽度(例如,64个位)可用于发送地址/数据信息。同样,可针对控制/信令信息提供从接收装置到发送装置的次级信令/控制连接/总线(未图示)。关于双通道总线结构204中的次级连接的细节可在上述第10/833,716号美国专利申请案中找到,所以将不在本文中进一步论述额外细节。
发送装置202可具有对发射通道208的控制且可在作用中写入数据占用之前、期间或之后广播一个或一个以上传送地址。而且,发射通道208及读取数据通道210可为独立的。因此,由发送装置202广播地址及写入数据可与由接收装置206将读取数据广播回到发送装置202同时发生,这产生非常紧密及有效的总线结构204。
双通道总线204的另一方面是促进在单一广播循环中将多个数据传送请求从发送装置202管线传输到接收装置206的能力。一次广播多个地址增加了总线204的性能。举例来说,通过在单一广播循环中呈现具有用于所要存储器初始化操作的“开始”及“结束”地址的单一总线请求,可以非常有效的型式来呈现命令。
在本发明的一个实施例中,发射通道208及读取数据通道210各自为64位宽。呈现给接收装置206的传送地址为32位宽。这允许发送装置202在单一广播循环期间在发射通道208上提供两个传送地址,例如地址A及地址B。在此情况下,广播循环可界定为一个时钟循环。
举例来说,如图2B中所说明,发送装置202可在地址占用220期间广播在地址A1上的数据初始化开始存储器地址及在地址B1上的结束存储器地址。互连及存储器控制器(接收装置206)可基于此隐含定位(例如,第一32个位作为地址A1,且第二32个位作为地址B1)来处理此请求类型。发送装置202可经由唯一传送请求属性(例如,MI[1])来指示这是存储器初始化事务请求。存储器初始化请求属性(例如,MI[1])可致使互连将此存储器初始化事务转发到控制开始地址的存储器控制器。在此配置中,可将存储器初始化为预定值。
在如图2C中所说明的另一实施例中,可经由不同传送属性值(例如,MI[2])来识别总线命令。此总线命令可包括地址占用命令230,其与由MI[1]产生的地址占用命令相同,然而,所述总线命令还在发射通道上产生后继数据占用232,其含有将在从开始地址A1到结束地址B1的存储器初始化处理期间使用的“初始化值”D1。一旦数据初始化命令被路由到存储器控制器,存储器控制器便可执行所请求的初始化操作。
在如图2D中所说明的又一实施例中,可经由不同传送属性值(例如,MC[1])来识别另一总线命令。此总线命令可包括多个地址占用命令240及242,其与由MI[1]产生的地址占用命令类似。举例来说,此总线命令可在复制从开始地址A1到结束地址B1的存储器值且将所述值写入到开始地址A2到结束地址B2的存储器复制处理期间使用。一旦第二组地址被路由到存储器控制器,存储器控制器便可执行所请求的存储器复制操作。
如上文所说明,双通道总线结构的此特殊总线命令提供实施存储器初始化功能的有效方式。举例来说,效率包括(但不限于):用以产生存储器初始化的单一总线命令/事务;存储器控制器基于“开始”地址使所述命令转向到的互连指定;以及具有及不具有“初始化”值的可选格式。而且,如上所提,特殊总线命令可界定有效存储器复制功能。此外,可用待初始化或复制的长度(例如,存储器的字节)来替代结束地址。
本发明的实施例将存储器初始化的功能性置于存储器控制器中,这节省时间及能量两者。节省时间是因为处理器可继续进行处理而非在地址上进行循环(例如,比较在图1A中执行的N次处理与图1B中执行的1次处理)。可节省能量是因为以下原因:处理器102执行较少代码;不将个别存储器写入从处理器102发送到存储器控制器106;及存储器控制器106可改进到存储器108的写入及减少在存储器数据线上的值触发器的数目。举例来说,存储器控制器106可一次初始化一存储器页,从而在整个页的写入期间使数据线保持恒定。
一般来说,如将在下文中相对于图3及图4A到4B来更详细地描述,处理器102可将初始化指令发布到存储器控制器106,所述初始化指令指令存储器控制器106初始化多个存储器地址(例如,位于指定存储器地址范围内的存储器地址)。
图3、图4A及图4B共同说明在图1B的计算系统100内执行的实例存储器初始化处理。在下文的描述中,图3的处理是在图1B的处理器102处执行,且图4A及图4B的处理是在图1B的存储器控制器106处执行。然而,应理解,图3、图4A及图4B的实例处理可替代地在任何类型的计算或存储器系统内执行。
在图3的实施例中,在300中,处理器102确定是否要初始化存储器108的一个或一个以上存储器地址处的数据。举例来说,框300的确定可基于与正由处理器102执行或经调度以由图1B的处理器102执行的软件程序相关联的存储器要求。因此,在一实例中,如果软件程序或应用程序路由将使用多达10,000个字节的数据,则处理器102可确定初始化存储器108的对应于10,000个字节的数据的若干存储器地址处的数据。
在305中,处理器102基于来自300的针对初始化确定的存储器地址数目来产生初始化指令。所述初始化指令可包括待初始化的一定范围的存储器地址(例如,如相对于图2B论述的开始及结束地址)且任选地包括初始化值(例如,见图2C)。在另一替代方案中,所述初始化值无需包括于所述初始化指令内,而是可为隐含的或由存储器控制器106假定。举例来说,可假定所述初始化值设定为“0”或某其它常数,除非所述初始化值包括于初始化指令内被设定为不同于“0”的电平。在另一实例中,初始化值可对应于信息。举例来说,如果正针对串流视频应用对大体上蓝色帧进行解码,则可将与待显示的下一帧相关联的存储器地址初始化为表示固体“蓝”帧的值,使得在视频解码期间仅需要更新所述下一帧的最后非蓝色部分。
在一实例中,假定在300中确定将初始化10,000个存储器地址,且初始化值为“0”。在这些假定下,在一实例中,初始化指令可用编程逻辑表示如下:
Initialization Instructions{
Initialize from Address[0000]to Address[9999]with data(″0″);
}
初始化指令实例1
如上述实例编程逻辑中所示,初始化指令可相对较简单以及相对较短。如将了解,依据上述假定,上述实例编程逻辑指令存储器控制器106用逻辑“0”初始化存储器地址[0000]到[9999]。然而,应理解,编程逻辑的其它实例无需为了初始化10,000个存储器地址而初始化上文给定的特定地址,而是可指定存储器108内可用的任何存储器地址范围。在一实例中,仅需要将两个地址(例如,[0000]及[9999])从处理器102发送到存储器控制器106以支持初始化操作。在另一实例中,单一地址(例如,[0000])及偏移值或长度(例如,10000)可替代两个单独存储器地址而从处理器102发送到存储器控制器106以支持初始化操作。
在又一实例中,初始化指令可指令存储器控制器106用从其它存储器地址复制的数据来初始化第一组存储器地址(例如,见图2D)。因此,此情况中的给定初始化值并非为一个常数值,而是可对应于待复制的对应存储器地址处的数据的值。在此实例中,初始化指令可用编程逻辑表示如下:
Initialization Instructions{
Initialize from Address[0000]to Address[9999]with data at Address
[10000]to[19999];
}
初始化指令实例2
如上述实例2编程逻辑中所示,指令存储器控制器106用存储器地址[10000]到[19999]处的数据来初始化存储器地址[0000]到[9999]。再次,此实例中的两个相应存储器地址范围中的每一者可表示为一组两个存储器地址,或替代地,单一存储器地址及偏移值或长度。从存储器控制器106的观点来说,初始化指令实例2稍微较复杂,因为存储器控制器106读取待复制的存储器地址处的数据以及将所述读取数据写入到对应目标存储器地址。
返回到图3的实施例,在310中,处理器102将初始化指令发送到存储器控制器106(例如,经由总线104,例如多点总线连接、单点总线连接、专用连接等等)。在一个实施例中,可经由例如将存储器控制器106与处理器102连接的配置总线(例如,并非用于存储器写入/读取指令的总线)等替代总线来发送存储器初始化命令(例如,MI[1])。
图4A为说明根据本发明的一实施例的方法400的流程图。所述方法可在框402中通过接收存储器的开始地址来开始。在框404中接收存储器的结束地址或长度。如果在决策框406中确定指令不是存储器复制,则在框408中接收填充值或初始化值。在框410中,将所述填充值写入到存储器中由开始地址及结束地址或长度界定的任意长度的填充范围中(例如,见图2C)。因此,所述填充值(或默认初始化值)可用于初始化存储器而对将处理器102耦合到存储器控制器106的写入总线104上的带宽消耗很少,因为所述处理是在存储器控制器106处本地执行。
任选地,如果接收到的命令是用于存储器复制的,则可使用所说明的方法400来检测存储器复制。在决策框406中,检测存储器复制指令。如果所述指令是用于存储器复制的,则所述方法可进一步包括在框412中接收存储器的待复制的第一读取地址。在框414中,读取所述存储器的在所述第一读取地址处开始的对应于所述填充范围的读取范围。举例来说,可通过所述第一读取地址及结束读取地址(例如,见图2D)、所述第一读取地址及长度等来确立所述读取范围。在框416中,可在将填充值写入到存储器之前基于从读取范围读取的值来更新填充(或初始化)值。
如所说明,如果在框418中到达结束地址,则所述方法结束。如果否,则在框420中,可分别将开始及第一地址更新为待读取及写入的下一地址。或者,可更新指向当前读取及写入地址的指针,且可维持原始开始及第一读取地址。所述处理接着可继续进行,直到在指定范围内对存储器进行复制或初始化为止。
图4B为说明根据本发明的一实施例的在存储器控制器106处执行的存储器初始化处理的另一实施例的流程图。在图4B的实施例中,在框400中,存储器控制器106执行初始化指令(例如,初始化指令实例1、初始化指令实例2等等,如图4A中所说明)。在框450中,在正执行框400的初始化处理的同时,存储器控制器106可确定是否已从处理器102接收到任何后继读取命令。如果存储器控制器106确定已从处理器102接收到一个或一个以上读取命令,则所述处理前进到框452;否则,所述处理前进到框454。在框452中,存储器控制器106用作为用于由读取命令指定的在填充/初始化存储器范围中的每一存储器地址的读取响应数据的填充/初始化值来响应于所述一个或一个以上接收到的读取命令。在一实例中,存储器控制器106无需从指定存储器地址读取初始化值,而是可仅仅用填充/初始化值来自动地进行响应。因此,实际上无需为了提供读取响应数据而执行读取操作,进而增加计算系统100的效率。
在替代实例中,尽管图4B中未明确地展示,但如果读取命令请求对尚未初始化(例如,基于指示初始化处理的当前存储器地址位置的指针)的存储器地址进行数据读取操作,则框400的初始化处理可响应于一个或一个以上读取命令的接收而中断。换句话说,此实例中的数据读取操作实际上如在常规技术中般执行,且400的初始化处理在读取操作完成之后恢复。
在另一替代实例中,如果用类似于初始化指令实例2(例如,将给定存储器装置处的存储器从一个部分复制到另一部分的存储器复制型操作)的编程逻辑来执行框400的初始化,则框452可能不返回初始化值,而是可直接前进到框454。举例来说,在存储器复制型操作中,初始化值在存储器控制器106处不必为已知的,而是可能需要对一个或一个以上存储器地址进行读取操作以便确定。因此,基于系统设计偏好,框400的初始化无需为了在此情形下用读取数据来进行响应而中断。举例来说,用于存储器复制操作的目标或目的地部分中的存储器地址的读取命令可被忽略直到其可得到服务为止,或替代地可被添加到读取命令队列,所述读取命令队列是在初始化400完成之后或在与所述读取命令相关联的存储器地址已被初始化或复制(例如,基于指示初始化处理的当前存储器地址位置的指针)之后执行。
在框454中,在正执行框400的初始化处理的同时,存储器控制器确定是否已从处理器102接收到任何后继写入命令。如果存储器控制器106确定已从处理器102接收到一个或一个以上写入命令,则所述处理前进到框456;否则,所述处理前进到框458。在框456中,存储器控制器106将所述一个或一个以上写入命令添加到写入缓冲器/队列。在一实例中,所述写入队列可本地存储于存储器控制器106处。在另一实例中,所述写入命令队列可经配置以存储多达阈值数目的写入命令。在此实例中,除了所述阈值数目外接收到的任何写入命令(例如,在写入队列满之后接收到的写入命令)可被忽略直到其可得到服务(即,不存储于存储器控制器106处)为止及/或可能不被确认(这将会允许存储器控制器将背压施加到总线/处理器)。
在框458中,存储器控制器106确定框400的初始化操作是否完成(例如,含有来自初始化指令的指定存储器地址的所有或一部分是否已被初始化)。如果存储器控制器确定框400的初始化操作完成,则图4B的处理前进到框460;否则,处理返回到框400且继续初始化操作。
本发明的另一实施例在图5中说明,其具有用于存储器复制及存储器初始化的单独应用程序例程510。在此配置中,在处理器102上运行的应用程序例程510可调用用于存储器复制(mem_copy请求)520及存储器初始化(mem_init请求)530的特定服务。在请求mem_copy 520后,在框522中,产生含有源地址及目的地地址以及复制计数的指令,且接着在框524中,将mem_copy指令发送到存储器控制器106。在请求mem_init530后,在框532中,产生含有开始地址及结束地址以及任选地含有初始化值的指令,且接着在框534中,将mem_copy指令发送到存储器控制器106。
图6A说明用于在接收到存储器复制指令(例如,图5中的520)之后在存储器控制器处执行存储器复制的流程图。举例来说,可使用相对于图2D描述的技术来将mem_copy指令及信息传送到存储器控制器,除了将在数据占用中提供复制计数而非第二组地址外。在框621中,接收含有源地址及目的地地址以及复制计数的复制命令。在框622中,将计数器设定为1,其确定复制计数。在框623中,将来自源地址的数据复制到目的地地址。在框624中,使复制计数器递增。在框625中,使源地址及目的地地址分别递增到将从其复制及写入到其的下一地址。在决策框626中,将复制计数器与接收到的复制计数值进行比较。如果当前计数器小于或等于复制计数,则处理循环到框623且继续进行,直到复制处理完成为止。
图6B说明用于在接收到存储器初始化指令(例如,图5中的530)之后在存储器控制器处执行存储器初始化的流程图。举例来说,可使用相对于图2C描述的技术来将mem_init指令及信息传送到存储器控制器106。在框631中,接收含有开始地址及结束地址以及任选地含有初始化值的初始化命令。在框632中,将当前地址设定为开始地址。在框633中,将存储于当前地址处的值设定为初始化值或任选地设定为默认值。在框634中,使当前地址递增。在决策框635中,将当前地址与结束地址进行比较。如果当前地址不大于结束地址,则处理循环到框633且继续进行,直到初始化完成为止。
将了解,本发明的实施例不限于前文中提供的实例。举例来说,mem_copy指令可包括源开始及结束地址以及目的地开始及结束地址,而非如上所述的复制计数。同样,mem_init指令可含有开始地址及长度,而非开始地址及结束地址。然而,不管用于传送所述指令的特定格式如何,每一实施例通过减少经传送到存储器控制器的用于给定功能(例如,mem_init或mem_copy)的处理器起始的事务的数目而大体上减少所使用的总线带宽及处理器功率。
图7为根据本发明的实施例的存储器控制器106的较详细说明。存储器控制器106可包括初始化逻辑140、填充寄存器142以及例如传送队列150及写入缓冲器152等常规元件。初始化可经配置以从主控器(例如,CPU、DSP等等)接收初始化指令及填充如在初始化指令(例如,见上述的指令实例1及图2B到图2C)中指定的存储器范围。
举例来说,在一个实施例中,初始化逻辑140可包括:经配置以接收存储器的开始地址的逻辑;经配置以接收存储器的结束地址或长度的逻辑;经配置以接收填充值的逻辑;及经配置以将所述填充值写入到存储器中由开始地址及结束地址或长度界定的任意长度的填充范围中的逻辑。初始化逻辑140可经配置以使用存储器控制器106的还与其它主控器(例如,DSP、CPU等等)共享的传送队列150。可通过初始化逻辑140使用用于存储器控制器106的所确立协议来将填充数据置于传送队列150上。因此,初始化逻辑140可较易于集成到现有存储器控制器设计中且与系统中的其它主控器协同地工作。
举例来说,如图7中所说明,传送队列150可具有从初始化逻辑140写入的顺序填充操作。因此,本发明的一方面可包括经配置以格式化用以将填充值写入到填充范围的写入命令以遵照传送队列的逻辑。举例来说,每一填充可依从用于特定操作的标准大小及代码。举例来说,顶部“填充”可为在如初始化指令中指定的开始地址(例如,00000)处开始的32字节写入命令。下一“填充”可为用于下一地址块的写入命令(例如,在地址00032处开始的32字节写入命令)。如本文中所论述,以字节为单位的写入大小及所述两个顺序写入命令仅为实例,且本发明的实施例不限于这些特定值或序列。传送队列150中接下来的两个条目是来自其它主控器(例如,DSP及CPU),所述两个条目与填充指令交错。如可了解,多个处理器/主控器可存取存储器控制器106,且初始化逻辑140可经配置以与其它主控器协同地操作。或者,初始化逻辑140可经配置以阻断其它主控器且顺序地执行初始化,直到用填充值来初始化了整个存储器范围为止。
另外,由于填充数据/值将为相同的,所以填充寄存器142可包括于存储器控制器106中以在将填充值置于传送队列150中以供写入到存储器108之前对填充值进行排队。具有单独填充寄存器142的一个优点是其防止将冗余数据写入到写入缓冲器152,这将限制写入缓冲器152中可用于其它主控器(例如,DSP、CPU)的空间。
如上文所论述,存储器控制器106经配置以处理来自一个或一个以上主控装置的读取/写入指令,所述一个或一个以上主控装置经由总线104(例如,AXI总线、双通道总线等等)来与存储器控制器通信。然而,可经由替代总线132(例如,配置总线)将开始地址、结束地址或长度或者填充值中的至少一者传送到存储器控制器。而且,如相对于图2A到图2D所论述,可经由所述替代总线来传送传送属性值,且可经由发射总线来传送相关地址及数据。使用替代总线132可防止阻断在存储器控制器的寻址对应于物理存储器的架构中供由初始化命令使用的存储器108的一部分,且还可减少标准总线104上的业务。
在本发明的另一方面中,初始化逻辑可包括经配置以检测对填充范围内的存储器地址的读取请求的逻辑及经配置以在实际上将填充值写入到所述读取请求中指定的存储器地址之前返回填充值的逻辑。因此,甚至在将填充值写入到存储器之前仍可为读取服务,这将改进系统的响应性。同样,本发明的另一方面可包括经配置以更新开始地址以反映最后一个地址值的逻辑,所述最后一个地址值经写入以使得用填充值初始化的存储器地址可供存取。因此,通过将开始地址更新为待写入的下一地址,已经被初始化的任何存储器地址可供系统的剩余部分使用。
在本发明的另一实施例中,初始化逻辑140或存储器控制器106可进一步包括:经配置以接收存储器的待复制的第一读取地址的逻辑;经配置以读取存储器的在所述第一读取地址处开始的读取范围的逻辑,其中所述读取范围的长度对应于所述填充范围的长度;及经配置以在用填充值写入所述填充范围的对应地址之前基于从所述读取范围的每一地址读取的值来更新填充值的逻辑。因此,存储器控制器106可使用初始化逻辑140来执行局部复制(例如,见指令实例2)。在此情况下,填充值并非为固定值,而是可根据从复制命令中界定的存储器位置读取的数据来更新填充值,且可使用经更新的值来初始化存储器空间。因此,初始化逻辑140可将对所述第一读取存储器地址的读取请求放置于事务队列150上,从存储器(例如,108)俘获读取数据,且接着将用以将读取值写入到开始地址的写入命令放置于传送队列150上。随着处理继续进行,可更新读取及写入地址,直到到达读取范围及填充范围两者的结束地址为止。从读取范围读取的值可存储于写入缓冲器152或与初始化逻辑140相关联的另一缓冲器中,直到其被放置于传送队列上以供写回到存储器为止。因此,本发明的此方面还可减少总线(例如,104或204/208)上的业务且改进存储器复制性能,因为所述处理是在存储器控制器106处本地执行。
如上所述,初始化逻辑可基于接收到的指令类型而执行存储器初始化及存储器复制指令两者。然而,本发明的实施例还可包括用于每一操作的个别化逻辑,其可实现为用于每一功能的单独状态机。同样,本发明的实施例不限于缓冲器、寄存器等等的所说明配置,因为这些装置可按系统设计者所需要而为共享的或分开的。
将了解,可使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或者其任何组合来表示可在整个以上描述中所参考的数据、指令、命令、信息、信号、位及符号。
此外,所属领域的技术人员将了解,结合本文中揭示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上在功能性方面描述了各种说明性组件、块、模块、电路及步骤。将此功能性实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式实施所述功能性,但此些实施方案决策不应被解释为导致脱离本发明的实施例的范围。
结合本文所揭示的实施例而描述的各种说明性逻辑块、模块及电路可用经设计以执行本文所述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可被实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器或任何其它此类配置。
结合本文中所揭示的实施例所描述的方法、序列及/或算法可直接在硬件、由处理器执行的软件模块或两者的组合中体现。软件模块可驻存于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器及存储媒体可驻存于ASIC中。ASIC可驻存于用户终端(例如,存取终端)中。在替代方案中,处理器及存储媒体可作为离散组件而驻存于用户终端中。
在如此描述本发明的实施例的情况下,将了解,可以许多方式对所述实施例进行改变。举例来说,尽管图1B的计算系统100经说明为单处理器系统,但本发明的实施例可替代地实施于多处理器系统配置内。
尽管前文的揭示内容展示本发明的说明性实施例,但应注意,在不脱离如所附权利要求书所界定的本发明的范围的情况下,可在本文中进行各种改变及修改。无需以任何特定次序来执行根据本文中描述的本发明实施例的方法项的功能、步骤及/或动作。此外,尽管可以单数形式描述或主张本发明的元件,但除非明确规定对于单数形式的限制,否则还预期复数形式。

Claims (25)

1.一种存储器控制器,其包含:
经配置以接收存储器的开始地址的逻辑;
经配置以接收所述存储器的结束地址或长度的逻辑;
经配置以接收填充值的逻辑;及
经配置以将所述填充值写入到所述存储器中的由所述开始地址及结束地址或长度界定的任意长度的填充范围中的逻辑。
2.根据权利要求1所述的存储器控制器,其进一步包含:
经配置以接收所述存储器的待复制的第一读取地址的逻辑;
经配置以读取所述存储器的在所述第一读取地址处开始的读取范围的逻辑,其中所述读取范围的长度对应于所述填充范围的长度;及
经配置以在用所述填充值写入所述填充范围的对应地址之前基于从所述读取范围的每一地址读取的值来更新所述填充值的逻辑。
3.根据权利要求1所述的存储器控制器,其中所述存储器控制器经配置以处理来自经由标准总线与所述存储器控制器通信的一个或一个以上主控装置的读取/写入指令。
4.根据权利要求3所述的存储器控制器,其中所述开始地址、结束地址或长度或者填充值中的至少一者是经由替代总线而传送到所述存储器控制器的。
5.根据权利要求4所述的存储器控制器,其中所述替代总线为配置总线。
6.根据权利要求1所述的存储器控制器,其进一步包含:
传送队列;
填充寄存器;及
写入缓冲器。
7.根据权利要求6所述的存储器控制器,其中用以将所述填充值写入到所述存储器中的所述填充范围中的写入命令是经由所述填充寄存器及所述传送队列而写入到所述存储器的。
8.根据权利要求7所述的存储器控制器,其中所述写入缓冲器经配置以从耦合到所述存储器控制器的一个或一个以上主控器接收写入指令。
9.根据权利要求6所述的存储器控制器,其进一步包含:
经配置以格式化用以将所述填充值写入到所述填充范围的写入命令以遵照所述传送队列的逻辑。
10.根据权利要求1所述的存储器控制器,其进一步包含:
经配置以检测对所述填充范围内的存储器地址的读取请求的逻辑;及
经配置以在实际上将所述填充值写入到所述读取请求中指定的所述存储器地址之前返回所述填充值的逻辑。
11.根据权利要求1所述的存储器控制器,其进一步包含:
经配置以更新所述开始地址以反映最后一个地址值的逻辑,所述最后一个地址值经写入以使得用所述填充值初始化的存储器地址可供存取。
12.一种在存储器控制器处执行的用于初始化或复制存储器中的数据的方法,所述方法包含:
接收存储器的开始地址;
接收所述存储器的结束地址或长度;
接收填充值;及
将所述填充值写入到所述存储器中的由所述开始地址及结束地址或长度界定的任意长度的填充范围中。
13.根据权利要求12所述的方法,其进一步包含:
接收所述存储器的待复制的第一读取地址;
读取所述存储器的在所述第一读取地址处开始的读取范围,其中所述读取范围的长度对应于所述填充范围的长度;及
在将所述填充值写入到所述填充范围的对应地址之前,基于从所述读取范围的每一地址读取的值来更新所述填充值。
14.根据权利要求12所述的方法,其进一步包含:
在所述存储器控制器处处理来自经由标准总线与所述存储器控制器通信的一个或一个以上主控装置的读取/写入指令。
15.根据权利要求12所述的方法,其进一步包含:
格式化用以将所述填充值写入到所述填充范围的写入命令以遵照所述存储器控制器的传送队列。
16.根据权利要求12所述的方法,其进一步包含:
检测对所述填充范围内的存储器地址的读取请求;及
在实际上将所述填充值写入到所述读取请求中指定的所述存储器地址之前,返回所述填充值。
17.根据权利要求12所述的方法,其进一步包含:
更新所述开始地址以反映最后一个地址值,所述最后一个地址值经写入以使得用所述填充值初始化的存储器地址可供存取。
18.根据权利要求12所述的方法,其中从耦合到所述存储器控制器的处理器接收初始化指令。
19.一种计算机系统,其包含:
处理器,其经配置以发送包括待初始化或复制的任意范围的存储器地址的存储器初始化指令或存储器复制指令中的一者;及
存储器控制器,其耦合到所述处理器,其中所述存储器控制器经配置以从所述处理器接收所述存储器初始化指令或存储器复制指令,且经配置以根据所述接收到的指令来初始化或复制所述范围的存储器地址。
20.根据权利要求19所述的计算机系统,其进一步包含:
双通道总线,其包含发射通道及读取数据通道,其中所述存储器控制器经由所述双通道总线而耦合到所述处理器。
21.根据权利要求20所述的计算机系统,其进一步包含:
替代总线,其耦合所述处理器与所述存储器控制器,其中传送请求属性是在所述替代总线上发射以向所述存储器控制器告知对应的存储器初始化或复制指令。
22.根据权利要求21所述的计算机系统,其中所述传送请求属性包括以下各项中的至少一者:
第一存储器初始化属性,其与存储器开始地址及存储器结束地址相关联;
第二存储器初始化属性,其与存储器开始地址、存储器结束地址及初始化值相关联;
第三存储器初始化请求,其与存储器开始地址及长度相关联;
第四存储器初始化属性,其与存储器开始地址、存储器长度及初始化值相关联;
第一存储器复制属性,其与源开始地址、源结束地址、目的地开始地址及目的地结束地址相关联;或
第二存储器复制属性,其与源地址、目的地地址及复制长度相关联。
23.根据权利要求20所述的计算机系统,其中两个存储器地址是在第一广播循环中在所述发射通道上发射的。
24.一种在存储器控制器处执行的用于存储器初始化的方法,所述方法包含:
接收包括开始地址、结束地址及初始化值的存储器初始化命令;
将当前地址设定为所述开始地址;
将所述初始化值写入到所述存储器中的所述当前地址处;
使所述当前地址递增;及
如果所述当前地址不大于所述结束地址,则重复所述写入及递增。
25.一种在存储器控制器处执行的用于复制存储器的方法,所述方法包含:
接收包括源地址、目的地地址及复制计数的存储器复制命令;
将来自所述源地址的数据复制到所述目的地地址;
使所述源地址及所述目的地地址递增;
使当前计数递增;及
如果所述当前计数不大于所述复制计数,则重复所述复制及递增。
CN200880109893A 2007-10-02 2008-10-02 用于执行存储器块初始化及复制的存储器控制器 Pending CN101815990A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/865,970 2007-10-02
US11/865,970 US20090089515A1 (en) 2007-10-02 2007-10-02 Memory Controller for Performing Memory Block Initialization and Copy
PCT/US2008/078574 WO2009046190A1 (en) 2007-10-02 2008-10-02 Memory controller for performing memory block initialization and copy

Publications (1)

Publication Number Publication Date
CN101815990A true CN101815990A (zh) 2010-08-25

Family

ID=39967321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880109893A Pending CN101815990A (zh) 2007-10-02 2008-10-02 用于执行存储器块初始化及复制的存储器控制器

Country Status (7)

Country Link
US (1) US20090089515A1 (zh)
EP (1) EP2195742A1 (zh)
JP (1) JP2010541103A (zh)
KR (1) KR20100058678A (zh)
CN (1) CN101815990A (zh)
TW (1) TW200931250A (zh)
WO (1) WO2009046190A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111344682A (zh) * 2017-10-30 2020-06-26 Arm有限公司 存储设备的初始化
CN111433748A (zh) * 2017-12-14 2020-07-17 美光科技公司 多级寻址
CN113094304A (zh) * 2017-04-20 2021-07-09 远东金士顿科技股份有限公司 用于控制存储器模块的控制系统及控制方法
CN113867803A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 一种内存初始化装置、方法及计算机系统
CN114968130A (zh) * 2022-08-01 2022-08-30 深圳云豹智能有限公司 链表初始化装置、方法、系统、计算机设备和存储介质
CN117742805A (zh) * 2024-02-21 2024-03-22 井芯微电子技术(天津)有限公司 芯片初始化方法和装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
US20120036301A1 (en) * 2010-08-03 2012-02-09 Caspole Eric R Processor support for filling memory regions
GB2504772A (en) * 2012-08-10 2014-02-12 Ibm Coprocessor providing service address space for diagnostics collection
KR102149222B1 (ko) 2013-09-26 2020-10-14 삼성전자주식회사 캐시를 이용한 데이터 복사 방법 및 그 장치
US9684465B2 (en) 2014-03-28 2017-06-20 International Business Machines Corporation Memory power management and data consolidation
JP6391991B2 (ja) * 2014-05-26 2018-09-19 株式会社河合楽器製作所 効果付与装置
KR20160061703A (ko) 2014-11-24 2016-06-01 삼성전자주식회사 내부 카피 동작을 수행하는 메모리 장치
US10168901B2 (en) 2015-03-12 2019-01-01 Toshiba Memory Corporation Memory system, information processing apparatus, control method, and initialization apparatus
KR20160120004A (ko) * 2015-04-07 2016-10-17 삼성전자주식회사 시스템 온-칩 및 이를 포함하는 전자 기기
US9805802B2 (en) 2015-09-14 2017-10-31 Samsung Electronics Co., Ltd. Memory device, memory module, and memory system
US9823871B2 (en) 2015-10-09 2017-11-21 Oracle International Corporation Performance of coprocessor assisted memset() through heterogeneous computing
US20170344283A1 (en) * 2016-05-27 2017-11-30 Intel Corporation Data access between computing nodes
US10394724B2 (en) * 2016-08-22 2019-08-27 Qualcomm Incorporated Low power data transfer for memory subsystem using data pattern checker to determine when to suppress transfers based on specific patterns
GB2561011B (en) * 2017-03-31 2021-03-17 Advanced Risc Mach Ltd Initialisation of a storage device
US10540316B2 (en) * 2017-12-28 2020-01-21 Advanced Micro Devices, Inc. Cancel and replay protocol scheme to improve ordered bandwidth
GB201903513D0 (en) 2019-03-14 2019-05-01 Blueshift Memory Ltd Moving data in a memory and command for memory control
US20220187992A1 (en) * 2020-12-16 2022-06-16 Kioxia Corporation Systems and methods for data copy offload for storage devices
CN115794692A (zh) * 2021-09-09 2023-03-14 瑞昱半导体股份有限公司 存取内存的电子装置及数据写入方法
US20230205436A1 (en) * 2021-12-23 2023-06-29 Intel Corporation Zero cycle memory initialization

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210847A (en) * 1989-05-19 1993-05-11 Compaq Computer Corporation Noncacheable address random access memory
JPH03105640A (ja) * 1989-09-20 1991-05-02 Fujitsu Ltd メモリクリア制御方式
JPH0822411A (ja) * 1994-07-08 1996-01-23 Fuji Xerox Co Ltd 画像メモリ初期化装置
JP3442207B2 (ja) * 1995-10-12 2003-09-02 株式会社リコー 記憶装置
US6256683B1 (en) * 1998-12-23 2001-07-03 Bops, Inc. Methods and apparatus for providing direct memory access control
US6505306B1 (en) * 1999-09-15 2003-01-07 International Business Machines Corporation Redundant bit steering mechanism with delayed switchover of fetch operations during redundant device initialization
JP2001209500A (ja) * 2000-01-28 2001-08-03 Fujitsu Ltd ディスク装置およびディスク装置のリード・ライト処理方法
US6425053B1 (en) * 2000-06-27 2002-07-23 Adaptec, Inc. System and method for zeroing data storage blocks in a raid storage implementation
JP2003131934A (ja) * 2001-10-26 2003-05-09 Seiko Epson Corp メモリ制御回路及び情報処理装置
JP4063619B2 (ja) * 2002-03-13 2008-03-19 Necエレクトロニクス株式会社 半導体装置の製造方法
DE10213839B4 (de) * 2002-03-27 2016-11-03 Advanced Micro Devices, Inc. DMA-Mechanismus für einen Hochgeschwindigkeitspaketbus
EP1396792B1 (en) * 2002-09-06 2005-06-15 Sun Microsystems, Inc. Memory copy command specifying source and destination of data executed in the memory controller
KR100630071B1 (ko) * 2003-11-05 2006-09-27 삼성전자주식회사 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
US20050182884A1 (en) * 2004-01-22 2005-08-18 Hofmann Richard G. Multiple address two channel bus structure
JP2005235860A (ja) * 2004-02-17 2005-09-02 Sanyo Electric Co Ltd 半導体装置及びその製造方法
JP2005347510A (ja) * 2004-06-03 2005-12-15 Matsushita Electric Ind Co Ltd 半導体装置及びその製造方法
US7277982B2 (en) * 2004-07-27 2007-10-02 International Business Machines Corporation DRAM access command queuing structure
US7464243B2 (en) * 2004-12-21 2008-12-09 Cisco Technology, Inc. Method and apparatus for arbitrarily initializing a portion of memory
US7774512B2 (en) * 2005-02-08 2010-08-10 Sony Computer Entertainment Inc. Methods and apparatus for hybrid DMA queue and DMA table
US20060206635A1 (en) * 2005-03-11 2006-09-14 Pmc-Sierra, Inc. DMA engine for protocol processing
JP2007034643A (ja) * 2005-07-27 2007-02-08 Fujitsu Ltd メモリ装置
US7215006B2 (en) * 2005-10-07 2007-05-08 International Business Machines Corporation Plating seed layer including an oxygen/nitrogen transition region for barrier enhancement
US7433977B2 (en) * 2006-11-28 2008-10-07 Telefonaktiebolaget Lm Ericsson (Publ) DMAC to handle transfers of unknown lengths

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094304A (zh) * 2017-04-20 2021-07-09 远东金士顿科技股份有限公司 用于控制存储器模块的控制系统及控制方法
CN113094304B (zh) * 2017-04-20 2024-05-28 远东金士顿科技股份有限公司 用于控制存储器模块的控制系统及控制方法
CN111344682A (zh) * 2017-10-30 2020-06-26 Arm有限公司 存储设备的初始化
CN111433748A (zh) * 2017-12-14 2020-07-17 美光科技公司 多级寻址
CN113867803A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 一种内存初始化装置、方法及计算机系统
CN114968130A (zh) * 2022-08-01 2022-08-30 深圳云豹智能有限公司 链表初始化装置、方法、系统、计算机设备和存储介质
CN114968130B (zh) * 2022-08-01 2022-09-30 深圳云豹智能有限公司 链表初始化装置、方法、系统、计算机设备和存储介质
CN117742805A (zh) * 2024-02-21 2024-03-22 井芯微电子技术(天津)有限公司 芯片初始化方法和装置
CN117742805B (zh) * 2024-02-21 2024-05-31 井芯微电子技术(天津)有限公司 芯片初始化方法和装置

Also Published As

Publication number Publication date
WO2009046190A1 (en) 2009-04-09
EP2195742A1 (en) 2010-06-16
JP2010541103A (ja) 2010-12-24
TW200931250A (en) 2009-07-16
KR20100058678A (ko) 2010-06-03
US20090089515A1 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
CN101815990A (zh) 用于执行存储器块初始化及复制的存储器控制器
CN101410811B (zh) 提供远程预取缓冲器的计算机存储器系统
CN101236540B (zh) 选择预取模式的方法、集线器器件、存储器系统及子系统
CN1238793C (zh) 分布式存储器控制和带宽优化
CN101320360B (zh) 用于并行集成电路结构的消息排队系统和相关操作方法
US20050102444A1 (en) Memory controller useable in a data processing system
JP2005500621A (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
CN111258935B (zh) 数据传输装置和方法
CN103246625B (zh) 一种数据与地址共用引脚自适应调整访存粒度的方法
CN101681323A (zh) 装置引导的存储器屏障
CN114662136B (zh) 一种基于pcie通道的多算法ip核的高速加解密系统及方法
WO2017105741A1 (en) Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache
US20210382721A1 (en) Central processor-coprocessor synchronization
US6789183B1 (en) Apparatus and method for activation of a digital signal processor in an idle mode for interprocessor transfer of signal groups in a digital signal processing unit
KR20170013882A (ko) 플래시 메모리 기반 저장 디바이스의 멀티 호스트 전력 제어기(mhpc)
US8943238B2 (en) Operations using direct memory access
CN111258769A (zh) 数据传输装置和方法
CN110413562B (zh) 一种具有自适应功能的同步系统和方法
CN103019829A (zh) 用签名实现的多核程序内存竞争记录及重演方法
US6957319B1 (en) Integrated circuit with multiple microcode ROMs
CN111860821A (zh) 数据流架构神经网络芯片的数据传输的控制方法及系统
CN108268280B (zh) 半导体装置的处理器及其操作方法
US7209988B2 (en) Management of the freezing of a functional module in a system on a chip
US20120144399A1 (en) Apparatus and method for synchronization of threads
CN112166470A (zh) 用于串行存储器设备控制的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100825