发明内容
本发明的目的是提供一个用于控制存储访问的电气装置,其是有效的、高灵活性的并实现了可伸缩的执行过程。
另一个目的是提供一个用于控制存储访问的电气装置,其降低了存储访问装置之间的存储访问冲突的危险性。
这些目的(除了别的以外)由用于控制存储访问的电气装置来实现,所述的装置被连接到至少一个存储器访问单元,和连接到包括至少一个物理存储器模块的存储器,所述的装置包括至少两个访问信道电路,其中,至少一个访问信道电路经由至少一条系统总线被连接到所述的至少一个存储器访问单元并被连接到所述的至少一个物理存储模块,所述的至少一个访问信道电路向所述的至少一个存储器访问单元提供对至少一部分所述存储器的存储访问。
在此,只要所有的存储器访问单元不访问相同的存储器部分,它们就都能够访问它们所需的存储器。另外还可以避免不必要的冲突,即如果两个单元访问不同的存储器部分、不同的内存、不同的存储器模件或不同的存储体,则只要两个单元独立,它们就可以立即相互做到这点。
存储器可以被存储器访问单元完全或部分地共享,即几个存储器访问单元可以访问相同的存储器部分。
在一个优选实施例中,所述的至少两个访问信道电路分别向至少一个存储器访问单元提供对至少一部分存储器的存储访问,从而允许连接到不同访问信道电路的存储器访问单元独立和同时/并行地访问不同的存储器部分。
因此,不同存储器访问单元的并行存储器访问用结果存储装置的相对低复杂度来实现。控制和配置电路的动态控制还实现了灵活性,因为负责一个单独的数据传送的访问信道电路可能被动态地控制和设置并可以独立地运行。
另外,存储控制器很容易执行和配置以用于需要一个或多个访问信道的系统。
这样,因为(在执行过程期间)通过这样设计访问信道,从而通过在执行过程中简单地增加更多访问信道而不是增加每个访问信道的复杂度来实现了更多连通性和更多访问并行性,从而达到了访问信道设计的可伸缩性,所以这样就实现了用于控制存储器访问的装置和可伸缩的存储控制器。必须执行附加的访问信道电路所需的附加线路、连接等等只不过是辅助访问信道电路和配置与控制电路之间的一个连接而已。
这样,对存储器的并行和独立的访问信道数量可以被调节来最好地匹配已知的系统要求、需要等等。
在一个实施例中,装置包括动态地控制所述的至少两个访问信道电路的配置与控制电路,所述的配置与控制电路允许在执行过程期间简单地再添加一个访问信道电路。
根据一个实施例,所述的装置包括至少两个访问信道电路,它们分别经由一条单独的系统总线被连接到一个单独的存储器访问单元并且被分别连接以从至少一部分所述的存储器中接收信息/数据。
据此,因为数据/信息可以经由双方的系统总线来检索并发射,所以获得了增加的并行和独立的数据/信息传送速度。这要求存储器访问单元能够在两条连接的系统总线上处理输入数据/信息。增加的速度还减少了访问信道电路被占用的时间,从而降低了存储访问冲突的危险性。两个不同的访问信道电路可以同时访问相同存储器的不同部分(即不同的物理存储模块)。如果它们访问存储器的相同部分,则存储器将根据一些方案来串行化访问并且一个访问信道电路将不得不等候另一个访问信道电路。存储器访问单元和访问信道电路之间的系统总线是单独的并且不同的系统总线。
在一个实施例中,所述的装置包括经由一条单独的系统总线连接到至少两个存储器访问单元的访问信道电路,所述的一个访问信道电路被连接以从至少一部分所述的存储器中接收数据/信息或把数据/信息发射到至少一部分所述的存储器中。
这甚至再次降低了存储控制器的整体复杂度,但是可能会增加冲突的危险性。然而,如果两个或更多的存储访问装置从来不和很少需要同时访问相同的物理存储模块,即两个或更多的存储访问装置是将连接到相同的系统总线的很好候选而不会损害根据本发明的存储控制器的效率,则危险性被最小化和完全被避免。
在一个实施例中,访问信道电路还包括一个自动数据传输引擎,用于在存储访问装置检索所述的数据/信息之前把数据/信息从存储器的第一部分/第一物理存储模块传送到存储器的第二部分/第二物理存储模块。自动数据传输可以通过来自配置与控制电路的特殊的命令、地址范围等等通过模式匹配等等在(一条或多条)输入(对特殊的访问信道)系统总线上来激活。
这样,对于直接存储器访问(DMA)、无须CPU介入(对于设置不同)从一个存储器能够读取数据并将其存储在另外的存储器中的控制单元的支持用简单的方法被获得。据此,在存取单元使用(例如CPU)数据之前传送存储器之间(例如从慢速存储器到(更)快速的存储器)的大量数据、代码、信息等等是可能的,从而隐藏了较慢速存储器的访问延时并加快了信息检索过程。
在一个实施例中,多个访问信道电路的自动数据传输引擎被连接来形成一个自动数据传输引擎链,其中,每个数据传送引擎负责传送所述的数据/信息的不同部分。
这样,最佳化存储访问序列和降低单独的链路或控制单元的平均占用时间是可能的。
在一个实施例中,所述的至少一个访问信道电路包括至少一个专用寄存器并被连接到所述的配置与控制电路,其中,所述的配置与控制电路被适合来修改所述的至少一个专用寄存器的内容,从而允许在操作期间允许重新配置单独的访问信道电路而不会影响其它的访问信道。
这样可以允许容易地动态配置给定访问信道电路的运行模式。
在一个实施例中,所述的重新配置包括配置功能模块和/或至少一个所述存储器的访问区域。
在一个实施例中,所述的装置包括用于每个被连接的存储器访问单元的一个访问信道电路,因为,每个访问信道电路与所述存储器的每个存储模块相连接。
这样,只有当多个存取单元同时访问相同的存储模块时,唯一可能的冲突才将出现。这极大地降低了不同存储器访问单元的存储访问冲突的危险性,从而极大地提高了存储控制器的性能。这对于实时或基本上实时应用、操作等等是尤其重要的。
在一个实施例中,访问信道电路包括
存储访问控制器,适合于监控连接到存储访问装置的输入系统总线和连接到存储访问装置的输出系统总线,以得到表示将被连接的给定存储总线的第一标识符(例如表示存储器总线的地址),存储访问控制器基于表示所述给定存储器总线和所述的给定存储器总线将被连接之处的所述的第一标识符而提供第一控制信号/代码。
用于实现存储总线访问的源和目标选择器,取决于从所述存储访问控制器接收的所述第一控制信号/代码,其从所述输入系统总线或所述存储访问控制器被连接到所述存储器的存储模块,和
用于选择哪个存储模块将被连接到输出系统总线的存储模块选择器,在取决于第二唯一标识符给定的特殊存储模块的读取访问期间,其被连接到所述的存储访问装置。
本发明还涉及一个控制存储访问的方法(及其实施例),该方法具有根据本发明的装置(及其实施例)的相同目的和优点。
这通过在至少一个存储器访问单元和一个包括至少一个物理存储模块存储器之间有效和灵活地控制存储访问的方法来实现,该方法包括如下步骤:
由至少两个访问信道电路中的至少一个向所述至少一个存储器访问单元提供对至少一部分所述存储器的存储访问,其中,所述的至少一个访问信道电路经由至少一条系统总线被连接到所述的至少一个存储器访问单元并被连接到所述的至少一个物理存储模块。
在一个实施例中,该方法包括如下步骤:经由所述的至少两个访问信道电路向所述的至少两个存储器访问单元提供对至少一部分存储器的存储访问,每个访问信道分别向存储器的不同部分提供独立访问,从而允许被连接到不同访问信道电路的存储器访问单元并行访问存储器的不同部分。
在一个实施例中,该方法还包括如下步骤:
由配置与控制电路来动态地控制所述的至少两个访问信道电路,所述的配置与控制电路允许在执行过程期间简单地再添加一个访问信道电路。
在一个实施例中,该方法还包括如下步骤:
由至少两个访问信道电路来提供对来自至少一部分所述存储器的一个单独存储器访问单元的存储访问,至少两个访问信道电路分别经由一条单独系统总线各自被连接到一个单独存储器访问单元并各自被连接来从至少一部分所述存储器接收信息/数据。
在一个实施例中,该方法还包括如下步骤:
由一个经由一条单独系统总线连接到所述的至少两个存储器访问单元的一个单独访问信道电路来提供对来自至少一部分所述存储器的至少两个存储器访问单元的存储访问,所述的单独访问信道电路被连接来从至少一部分所述的存储器接收数据/信息和向至少一部分所述的存储器发射数据/信息。
在一个实施例中,该方法还包括如下步骤:
由包括自动数据传输引擎的访问信道电路来提供数据/信息的自动数据传输,自动数据传输引擎用于在存储访问装置检索所述的数据/信息之前把来自存储器的第一物理存储模块的数据/信息传输到存储器的第二物理存储模块。
在一个实施例中,该方法还包括如下步骤:
提供数据/信息的自动数据传输,其中,多个访问信道电路的多个自动数据传输引擎被连接来形成一个自动数据传输引擎链,和
其中,每个数据传送引擎负责传输所述数据/信息的不同部分。
在一个实施例中,该方法还包括如下步骤:
由所述的配置与控制电路来修改由连接到所述配置与控制电路的至少一个访问信道电路所包括的至少一个专用寄存器的内容,从而允许在操作期间重新配置单独的访问信道电路而不会影响其它的访问信道。
在一个实施例中,重新配置包括配置功能性和/或至少一个该存储器的访问区的模式。
在一个实施例中,存储访问由一个访问信道电路提供用于每个被连接的存储器访问单元,其中,每个访问信道电路与所述存储器的每个存储模块相连接。
在一个实施例中,该方法还包括以下步骤:
通过被访问信道电路包括的存储访问控制器来监控连接到存储访问装置的输入系统总线,和监控连接到存储访问装置的输出系统总线,以得到表示将被连接的给定存储总线的第一标识符,
由存储访问控制器基于所述的第一标识符来提供第一控制信号/代码,所述的第一标识符表示所述给定的存储总线并指出所述给定的存储总线将被连接之处,
取决于从所述存储访问控制器接收的所述第一控制信号/代码,由被连接到所述存储器的存储模块的源&目标选择器来实现从所述输入系统总线或所述存储访问控制器对存储总线的访问,和
在取决于第二唯一标识符给出对特殊存储模块的读取访问期间,由连接到所述存储访问装置的存储模块选择器来选择哪个存储模块将被连接到输出系统总线。
本发明还涉及根据本发明用于移动式通信终端中的电气装置和/或方法的使用。
具体实施方式
图1示出本发明的一个示意图。存储器访问单元202的数量(可以是一个或多个)被示出,比如CPUs(中央处理单元)、专门或通用处理单元、DSP(数字信号处理器)、和其它需要(读和/或写)访问存储器的其它类型的处理器/单元。一个或多个存储器访问单元202还在下面被指定为主装置202’。
包括至少一个物理存储模块、电路、存储体等等的存储器100也被示出,其中,数据和/或信息可以被存储、读取、检索、移动等等。存储器100可以包括离线易失性存储器、离线非易失性存储器、和/或不同类型的在线存储器。存储器可以被不同的存储器访问单元202完全或部分地共享,即几个存储器访问单元202可以访问其中的相同的(一个或多个)存储模块和/或(一个或多个)部分,相同的存储器(地址)范围等等。存储器100优选地包括多个物理存储模块203,其中,存储模块可以包括一个或几个用许多不同的普遍知道的方法来安排物理存储器。
另外,用于控制根据本发明的存储访问的存储控制器/装置被说明。存储控制器200包括配置与控制电路(例如参见图2)和许多逻辑′访问信道′102(可以是一个或多个),其中,一个或多个访问信道(102)被连接到(相同的或不同的)存储器访问单元202并负责在存储控制器200的控制下对至少存储器100的一部分进行读和/或写访问。每个访问信道102都被连接到至少一个物理存储模块203,其可以被组织或不被组织到一个单独或多个存储体中。访问信道102由参考图3中示出的一个存储访问电路300来执行,其中,这类电路的一个实施例被示出。另外,存储控制器200可以包括至少一个访问信道102,访问信道102如下所述地在物理存储模块203之间提供自动数据传输。用于自动数据传输的访问信道102不必被连接到存储器访问单元202(尽管它们可以)。另外,这类访问信道102可以如下所述地被链接起来。
本发明实现了被连接到不同访问信道102并访问不同物理存储模块203的存储器访问单元202可以用较小甚至没有冲突危险性来运行。在一个可仿效实施例中,其中,每个存储器访问单元202都被连接到单独的访问信道102并且每个访问信道都被连接到所有的存储模块即完整的存储器100,只有当多个存取单元同时访问相同的存储模块时才出现唯一可能的存储器存取冲突。这极大地降低了不同存储器访问单元202的存储访问冲突的危险性,从而极大地提高了存储控制器的性能。这对于实时或基本上实时应用、操作等等是尤其重要的。
替换实施例包括
几个连接到相同的访问信道102的存储器访问单元202(这降低了存储控制器200的整体复杂度,但是可能增加了冲突危险性。然而,如果几个(即两个或更多)存储器访问单元202从来不或极难得需要同时访问存储器和/或需要访问存储器100相同的物理部分,则危险性被最小化或被完全避免);
几个被连接到相同的存储器访问单元202的访问信道102;
专门地连接到存储器100的一部分或存储模块的一个访问信道102(即只有存储器的一部分可经由特殊的访问信道来寻址);
只有一部分访问信道102被连接到每个存储模块(这降低了存储控制器200的整体复杂度,但是可能极大地取决于特殊访问装置及其目的而稍微增加冲突的危险性);
被连接到一个或多个存储器访问单元的一个访问信道102;
和/或它们的结合。
通过这样设计访问信道102,因此在存储控制器200的设计阶段期间,通过添加更多访问信道102而不是增加每个信道的复杂度来实现更多的连通性和访问并行性,从而实现了根据本发明的设计的可伸缩性原理。这给出了一个非常简单和不复杂来实现可伸缩性的方法。一旦根据特殊设计和/或应付给出的任务、情况等等的特殊的控制器被执行,访问信道102的数量就被固定。
另外,取决于给出的执行过程,给出的存储控制器的访问信道电路不必完全相同。
存储控制器200的配置与控制电路(例如参见图2)被用于控制和配置存储控制器200中(一个或多个)逻辑访问信道102的(一个或多个)访问信道电路(结合图2中的300来解释)。当配置与控制电路简单地需要容纳更多连接到已存在总线的访问信道时,对存储控制器200中的配置与控制电路和其余的辅助访问信道设计的影响被保持到最小。
优选地,所有的访问信道102都是相同的,但是它们可以在配置与控制电路的控制下被独立地配置到功能性和存储器100的访问区的不同模式中。每个访问信道102优选地包括一个自动数据传输引擎,例如其可以通过(到(一个或多个)访问信道的)(一个或多个)输入相关总线上的匹配的模式等等由配置与控制电路发出的特殊命令来触发。优选地,访问信道102的配置可以无须中断其它访问信道而用正常工作模式来完成,正如下面所阐述的。
自动数据传输引擎负责在不同的物理存储器和/或存储器100的不同部分之间传送数据、信息、代码等等。另外,例如通过使用自动数据传输引擎建立(一个或多个)自动数据传输会话,在存取单元(例如CPU)使用数据之前在物理存储器之间(例如从慢速存储器到(更)快速存储器)传输大量数据或代码是可能的,从而隐藏较慢速存储器的访问延时并加快了信息检索过程。优选地,(一个或多个)自动数据传输引擎由参考图3所描述的那样由存储访问控制器来执行。
每个具有专用访问信道102的存储器访问单元202都可以通过其专用访问信道102来访问存储器100,专用访问信道102是并行独立于其他访问信道,即例如两个分别具有它们自己的专用访问信道102的存取单元可以并行/同时访问存储器100(只要它们不是同时访问相同的存储器部分/地址/范围或存储模块)。这使存储控制器能够支持与访问信道一样多的并行存储器访问会话(取决于存储器分区,即,专用访问信道被连接到的存储器100的那部分)。
此外,在不同的访问信道中用简单方法来把数据传输引擎一起链接成一个或几个传输链(取决于访问信道的数量)是可能的,例如这可以被用于特殊的存储访问序列。通过使用(一个或多个)数据传输链,映射到特殊的访问信道的大容量存储器事务可以被分成多个但较小的事务。这将会降低特殊的访问信道被阻塞的时间,并因此还将降低潜在的资源冲突并增加存储器可用性/访问,因为更快速地完成了工作。
用于控制存储访问200的存储器控制器/装置结合图2被更详细地解释。
图2说明了根据本发明实施例的一个更详细的示意图。根据本发明的存储控制器200中包括的被连接到L+1个访问信道电路300的L+1个(在第一主装置202’被指定为0时所用的标记)主装置202’/存储器访问单元被示出。在这个特殊实施例中,分别被连接到存储控制器200的每个主装置202’具有专用访问信道300,主装置202’可以通过专用访问信道300直接与(在本实施例中完全或部分地)集中共享的存储器的至少一个物理存储模块203通信,其中,(一个或多个)存储模块/存储器可以位于不同种类的在线和/或离线存储器(易失或非易失性的、不同速度、大小、布局等等)。值L可以取决于特殊的实施例/执行过程等于或大于0。这个特殊实施例中的主装置202’分别经由系统总线304、308各自被连接到一个单独不同的访问信道电路300,尽管如下所述的其它布局也可用于其它的执行过程。每个主装置202’还可以被连接来经由从主装置202’连接的每个访问信道电路300的连接305接收中断信号。例如,中断信号可以被用来向连接的主装置202’发信号告知访问信道电路300已经结束执行任务。替换地可以使用轮询,凭此(一个或多个)中断连接305是多余的并可以对于一个或多个主装置202’/访问信道电路300被省略。因为多个主装置202’可能被连接到相同的系统总线304、308并因此被连接到相同的(一个或多个)访问信道电路300,所以主装置202’的数量不必等于访问信道300的数量。另外,每个主装置202’可以被连接到多于一个的访问信道电路300等等,这将在别处来解释。
每个访问信道电路300都被连接用于经由一个或多个存储总线209把信息/数据传递到一个或多个物理存储模块203,并用于经由连接210从一个或多个存储模块接收信息。在这个特殊的实施例中,每个访问信道电路300都经由N+1个连接210被连接到N+1个存储模块来接收信息/数据和经由M+1个存储总线209以用于发射、寻址等等信息/数据。N和M都可以等于或大于0,并且它们可能相等或不等。
在这个特殊的实施例中,只有一个物理存储模块203被连接到每个存储总线209,即M和N相等,但是几个存储模块可以共享一条单独存储总线209,并且存储器解码逻辑电路(未示出;参见图3)将确定访问哪个存储模块。替换地,M可以大于N,反之亦然。
另外,存储控制器200可以包括(一个或多个)仅用于物理存储模块203之间的自动数据传输的访问信道300,其中,(一个或多个)这类访问信道不必被连接到系统总线304、308或者具有中断连接305。例如,这能够被用于在把数据/信息传送到主装置202’之前将数据从慢速物理存储器移动到较快速物理存储器。
这个示意图中的物理存储模块203表示物理存储器和存储接口。
存储控制器200可以通过连接到系统总线#0304、308的专用′配置与控制电路′201来配置和控制。配置与控制电路201和(一个或多个)访问信道电路300中的专用寄存器全都被优选地地址映射到系统总线#0上。在访问访问信道电路的特殊寄存器的期间中,配置与控制电路201在系统总线#0上经由连接205接收的地址被译为内部存储器控制器地址,其然后被用于通过内部存储器控制器总线307访问适当的访问信道电路300中的特殊寄存器。连接205优选地只用于(一个或多个)访问信道电路300的功能性状态和/或改变的目的。内部总线306也可用于把数据/信息从(一个或多个)访问信道300发送到配置与控制电路201。例如,这些数据/信息可以是从物理存储模块203检索的状态信息和/或数据。系统总线#0上的多路复用器204被用来选择是否从配置与控制电路201还是从连接到访问信道#0的存储模块选择数据。当配置与控制电路201经由系统总线#0被寻址以用于读取进程时,多路复用器204基于来自配置与控制电路201的控制信号207从配置与控制电路201选择输出信号206。用于所有其它的目的,系统总线208(等于图3中用于访问信道#0)被优选地由多路复用器204连接到输出系统总线#0。即,多路复用器204基于来自配置与控制电路201的控制信号206确定主装置202’#0是否从配置与控制电路201还是从访问信道电路#0读取数据/信息。在所示的例子中,只有MD#0能够发出/初始化配置与控制命令。然而,在设计和执行过程中用细小的修改让其它MD能够完成这点是可能的,例如把连接205延伸到其它的输入系统总线304。
访问信道电路300的一个实施例结合图3被详细地描述。
读取进程发生,例如如下:
主装置202’发出指令、命令、特殊模式等等以用于在输入系统总线#0304上检索/读取给出存储器范围/地址的内容,例如简单地通过把存储器范围/地址与读取进程的表示/指示符一起放在总线304上。这由访问信道电路#0300来接收,其确定(一个或多个)对应/包括所请求的存储器范围/地址和与存储模块相关的存储总线209的物理存储模块203,是否访问信道电路#0被连接到包括那些信息的物理存储模块203。然后,经由选择的存储总线209(例如存储总线#2)向适当的存储模块(例如存储模块#2)发送一个指令,这样经由存储模块连接210(例如连接#2)把存储在所请求的存储器范围的数据/信息返回给访问信道电路#0 300。然后,访问信道可以经由多路复用器204向请求主装置202’#0提供用于输出系统总线208和308的被检索的信息/数据。如果访问信道电路#0没有连接到包括请求信息/数据的存储模块,则内部总线306和307以及配置与控制电路201被用来把请求传送到连接到可适用的存储模块的访问信道。信息/数据用相同的方法被发射回访问信道电路300#0。然而,每个访问信道电路300都被优选地连接到每个物理存储模块203。这个读取进程可以并行于访问存储器的其它主装置202’而被执行,只要不同时访问相同的特殊的物理存储模块。
预先取得/自动数据传送操作能够如下进行:主装置202’#0在输入系统总线#0304上发出预先取得/自动数据传送指令以用于位于相对慢的物理存储器的给出存储器范围/地址的数据/信息内容。指令被第一连接的访问信道电路#0 300接收,如果它被连接到被访问的相关物理存储模块或经由内部总线306和307以及配置与控制电路201向另外的访问信道电路300(例如#1)发信号,则自己开始检索进程来检索信息。通过选择适合于相对较慢速存储器的存储总线209,第一或其它访问信道电路300(例如#1)开始信息检索并经由被连接到相对较慢速存储器的存储模块连接210来接收该信息。在第一或其它访问信道电路300接收信息之后,信息经由适当的存储总线209被存储在相对比较快的物理存储模块203中。如果这些信息直接经由存储总线210被连接到相对较快的存储器,则它们可以直接被第一或其它访问信道存储。否则,内部总线306和307以及配置与控制电路201被用来把信息传送到连接到相对比较快的存储器的访问信道。
在信息/数据已经被移动到相对比较快的存储器之后,可以经由中断连接305向主装置202’发出中断,然后可以开始传送来自相对比较快的存储器的信息/数据。从相对较慢到相对比较快的存储器的移动加快了向主装置202’的实际传送速度并隐藏了较慢速存储器的访问延时。
此外,辅助的(一个或多个)访问信道可以在执行自动、数据传送/预先取得的时候被连接/链接。这样,每个访问信道都负责检索和存储完整内容的一部分,凭此,被映射到特殊访问信道上相对大容量存储器的事务就可以被分解成多个但较小的事务,从而降低了访问信道的占用时间。
被用作自动数据传输一部分的(一个或多个)辅助访问信道不需要被连接到主装置202’。然而,这对于具有多个主装置202’的系统来说可能不是好的解决方案,因为额外的访问信道只能被用于自动数据传输。取决于最终的存储器体系结构,这在一个单独主系统中可能是好的解决方案。
除了从相对较慢的物理存储器向相对较快的物理存储器传送数据/信息之外,自动数据传输还可以被用来执行其它任务。举例来说,驻留在不同存储模块中的数据/信息可以被移动/复制到一个单独存储模块,从而允许向主装置202’连续数据传送。
写入操作可以如下进行:
主装置202’#0发出一个写入指令,数据/信息将被写入/存储在例如存储/地址范围或起始地址,其中,数据/信息将在输入系统总线#0 304上被写入。这在被连接的访问信道电路#0 300中被接收,其确定适当的物理存储模块203(例如#N)和对应的存储总线209(例如#1)。然后,将被写入的信息/数据经由所选择的存储总线209被发送并被写入/存储在物理存储模块203中。一个应答可以被送回访问信道电路300,例如这可以通过查询等等经由中断连接305向主装置202’#0发信号。这个写入进程可以并行于(一个或多个)其它的存储访问来执行,只要它们不同时访问相同的特殊物理存储模块。如果连接到主装置202’的访问信道电路没有直接连接到将存储数据的存储模块,则内部总线306和307以及配置与控制电路201可以被用来把请求和信息/数据传送到连接到可适用存储模块的访问信道。
具有一个单独访问信道电路的执行过程可能提供例如向一个单独的被连接的存储访问装置/主装置202’提供存储访问,并且在主装置202’不访问存储器的时候被用作自动数据传输单元。
图3说明在根据本发明实施例的存储控制器中的一个单独访问信道电路的实施例的一个示意图;所示出的是访问信道电路300的一个实施例,其中包括′源&目标选择器′303、′存储访问控制器′301和′存储模块选择器′302。特殊的访问信道电路300表示特殊的逻辑访问信道。在这个特殊例子中,访问信道电路300的数量为k并且经由系统总线#k 304、308被连接到一个单独主装置202’#k(例如参见图2))。系统总线#k 304、308包括(到访问信道电路300的)输入系统总线304和输出系统总线308。替换地,取决于特殊的执行过程和/或需要,几个(大于1)主装置202’可以经由系统总线#k 304、308被连接到访问信道电路300。
源&目标选择器303经由输入系统总线#k 304从被连接的主装置202’接收数据/信息和/或经由连接311从存储访问控制器301接收数据/信息。从存储访问控制器301经由连接312到源和目标选择器303的(一个或多个)控制信号在源和目标选择器303中确定数据/信息路径,即从系统总线#k 304或从存储访问控制器301提供的信息将被转发到(一个或多个)存储总线209。源&目标选择器303经由M+1存储总线209向M+1被连接的物理存储模块(参见例如图2)发射接收到的数据/信息或其一部分(在第一存储总线被指定为0时所用的标记)。取决于特殊的实施例/执行过程,即取决于有多少存储总线209被连接到特殊的访问信道电路,值M可能等于或大于0。在这个特殊的实施例中,一条单独存储总线209被优选地用于访问信道电路300需要访问的每个物理存储模块。源和目标选择器还确定用于给定数据段的哪个特殊存储总线或存储总线被寻址。
存储访问控制器301还经由输入系统总线#k 304从被连接的主装置202’接收数据/信息。另外,如果适当的话,它可以经由控制&设置#k连接307从′配置与控制′电路(参见例如图2)接收控制/设置数据/信息。存储访问控制器301还被连接到输出系统总线#k连接308以用于从存储模块选择器302接收数据/信息。这样,存储访问控制器301在输出系统总线#k 308上经由总线/连接311向源和目标选择器303路由/发射将在新的存储地址、范围,部分等等被写入的数据/信息是可能的。例如,当主模块宁愿需要在相对较慢的物理存储模块中进行检索时,这用于把数据/信息从慢的存储器部分移动到快的存储器部分,例如作为导致在快物理存储器模块中表示的想要信息/数据的预先取操作的部分,因此加快了数据传送速度并降低了访问信道电路300的占用时间。例如,基于在经由输入系统总线#k304从被连接的主装置202’接收的信息/数据上执行模式匹配,和/或基于经由控制与设置#k连接307接收的配置与控制命令、指令等等,预先取操作可以被开始。存储访问控制器301还经由中断连接305被连接到主装置202’,主装置202’被连接到系统总线#k,而中断连接305向被连接的主装置202’发出中断,例如发信号告知给出的任务、进程等等(例如预先取操作)被完成。如果几个主装置202’被连接到系统总线#k,则优先地对于它们只有一个中断连接是可用的,所有的中断连接被连接到系统总线的一条或多条上,即中断连接不必被连接到每个主装置202’,主装置202’被连接到相同的系统总线。此外,存储访问控制器301经由分别用于发射数据/信息和控制信号的连接311和312被连接到源和目标选择器303。控制信号312规定从系统总线#k 304或存储访问控制器301选择的哪个数据/信息将被转发到(一个或多个)存储总线209,即如果数据/信息将从存储访问控制器301被接收,则它经由连接312发信号来告知。存储访问控制器301还可以分别经由控制&设置#k连接307和306接收和发射寄存器、命令、配置等等的数据/信息从和到′配置与控制电路(图2(201)中示出)。与访问信道电路300相关的专用寄存器可以用这个方法被写入/更新或通过(图2中示出的)′配置与控制′电路来读取。
存储模块选择器302经由存储模块输入连接210从N+1(在第一存储模块被指定为0时所用的标记)物理存储模块接收数据/信息。取决于特殊的实施例/执行过程,即取决于有多少连接到特殊访问信道电路300的物理存储模块,值N可能等于或大于0。当可适用时,存储模块选择器302经由输出系统总线#k 308向被连接的(一个或多个)主装置202’和/或经由系统总线308向存储访问控制器301提供数据/信息。
存储模块选择器302负责在特殊存储模块的读取访问期间选择将哪个特殊物理存储模块输入210被连接到输出系统总线#k 308,以便请求主装置202’的存储访问被连接到适当的存储模块。存储模块的存储接口把那个特殊访问电路/信道300与比如标识码、地址等等的唯一标识符关联起来,存储接口被优选地标记上并通过访问信道电路/信道300来访问。替换地,其它的方案也可以被使用。然后,标识代码/地址从物理存储模块203的存储接口被送回所有经由存储模块总线210连接到相同存储模块的访问信道。取决于标识符代码/地址,正确的访问信道/电路300的存储模块选择器303在正确的访问信道/电路300中把适当的存储模块总线209连接到输入系统总线304。
源和目标选择器303负责实现从连接到特殊访问信道电路300的系统总线304或从连接到存储访问控制器301的总线/连接311对任何存储总线209的访问。通过源和目标选择器303的数据路径由来自存储访问控制器301的控制信号来确定。
存储访问控制器301监控系统总线304、308、307。取决于例如具有给出存储地址形式的信息/数据,在这些总线304、308、307的其中一个上,对应的存储总线209被选择为从存储访问控制器301到源和目标选择器303的控制信号312的输出。优选地,向特殊的存储总线209总线地址的映射通过一对寄存器(未示出)可编程用于每个存储总线209。寄存器规定用于具体地址范围的较低和较高的地址,具体地址范围将被映射在给定的存储总线209上。因为给出的访问信道电路300的可能存储访问可以在操作过程中动态地被改变,所以这实现了存储控制器200的高灵活性。
基于不同的″触发″、代码、命令等等,存储访问控制器301可以在物理存储器之间开始自动数据传送/自动预先取操作。触发可以是由于经由连接307从配置与控制电路(参见图2中的201)接收的直接命令,或者通过检测输入系统总线304上的预定义地址(输入总线到源和目标选择器电路303和到存储访问控制器301)。存储访问控制器301优选地包括多个寄存器,通过它们有可能如先前所属地配置一个或多个地址的多个地址区。如果例如系统总线304上的当前地址映射到这些地址区中的一个,则稍后存储访问控制器301可以开始具有可配置循环数的自动存储器访问序列。循环数可以例如在专用寄存器中来配置。发出自动数据传输的(一个或多个)主装置202’可以用两个方法来被告知完成,即之前解释过的查询或中断。当自动传送被完成时,配置与控制电路(参见图2中的201)通过来自每个访问信道的专用寄存器被优选地告知,然后主装置202’可以读取寄存器并提取信息。存储访问控制器还可以优选地被设置来产生自动数据传输的完成中断,其中,中断信号可以如图2和3中的连接305所示地被直接连接到特殊的主装置202’。
另外,还有可能实现访问信道/电路300链式运转(两个或更多的信道300)以用于例如检索来自存储器的大量数据/信息,以便每个信道300负责经由它们自己的系统总线并行地检索信息的一部分。这要求专用信道300经由相同的系统总线被连接到请求大量信息的相同主装置202’。这′扩展′了每个访问信道的负载并降低了信息检索所用的时间。这也适用于较少量信息的情况。
如果访问信道电路300只被用于自动数据传输,则它不必(但是可以)连接到系统总线304、308,因为内部总线306可以被用来向别的访问信道电路300和/或配置与控制电路提供被检索的信息/数据。其它的访问信道电路300能够经由内部总线307接收信息。
在访问信道电路300中信息/数据流的下列几个例子中,给出了在这个特殊实施例中它如何工作的较好的说明。
存储器范围在单独的访问信道和配置与控制块的(通过软件)设置与配置过程中被映射。映射与每个访问信道怎样被连接到物理存储模块相关,这对于不同的执行过程来说可能有变化。最灵活的执行过程将把所有的访问信道连接到所有的物理存储模块。
读取进程能够如下进行:
用于检索/读取给出存储器范围/地址和例如,存储器范围或起始地址以及偏移的内容的指令、命令、特殊模式在输入系统总线#k304上被接收,因此也由存储访问控制器301以及源和目标选择器303接收。存储访问控制器301解译指令和/或存储器范围并确定存储访问的类型以及确定是否访问信道电路300能够独自处理请求,即访问信道电路300是否被连接到包括该信息的特殊的物理存储模块203。如果访问信道电路300能够处理该请求,则向源和目标选择器303发出控制信号312,来确定从系统总线#k 304(不是存储访问控制器301)提供的信息将被转发到存储总线209。然后,源和目标选择器303确定对应/包括所请求的存储器范围/地址的物理存储模块203和与(一个或多个)特殊存储模块相关的存储总线209,并且经由所选择的存储总线209(例如存储总线#2)向合适的存储模块(例如存储模块#2)发送一个指令,从而经由到存储模块选择器302的存储模块连接210(例如连接#N)把在所请求的存储器范围存储的数据/信息返回给访问信道电路#k 300。存储模块选择器302选择将哪个存储模块输入被连接到输出系统总线#k 308。优选地,由访问信道电路300访问的存储模块的存储接口用唯一标识符(例如代码、地址等等)来标记那个特殊的访问信道电路300,唯一标识符被送回给所有连接到相同存储模块总线210的访问信道电路300。基于这个唯一标识符,存储模块选择器302在正确的访问信道电路300中把正确的存储模块总线210连接到其输出系统总线#k308,以便将被检索/读取的信息可用于被连接的主装置202’。
如果访问信道电路#k 300没有连接到包括请求信息/数据的存储模块,则内部总线306和307以及配置与控制电路201被用来把请求传送到连接到可用存储模块的访问信道电路300。信息/数据用相同的方法被发射回访问信道电路300#k。然而,每个访问信道电路300都被优选地连接到每个物理存储模块203。这个读取进程可以并行与访问存储器的其它主装置202’而被执行,只要它们不同时访问相同的特殊物理存储模块。
写入进程可以如下进行:
写入指令、命令、特殊模式等等和将被写入给出的存储器范围/地址的信息/数据在输入系统总线#k 304上由存储访问控制器301和源和目标选择器303接收。存储访问控制器301解译指令和/或存储器范围并确定存储访问的类型以及确定是否访问信道电路300能够独自处理请求,即访问信道电路300是否被连接到被写入的特殊物理存储模块203。如果访问信道电路300能够处理请求,则向源和目标选择器303发出控制信号312来确定从系统总线#k 304(并且不是存储访问控制器301)提供的信息将被转发到存储总线209。然后,源和目标选择器303对应/包括所请求的存储器范围/地址的物理存储模块203和与(一个或多个)特殊存储模块相关的存储总线209,并且把写入指令和经由被选择的存储总线209(例如存储总线#2)写入的内容发送到适当的存储模块(例如存储模块#2)。
在信息被存储在存储模块中之后,可以向访问信道电路300送回一个应答,其可以例如经由中断连接305通过查询等等向主装置202’#0发信号。这个写入进程可以并行于(一个或多个)其它的存储访问来执行,只要它们不同时访问相同的特殊物理存储模块。如果连接到主装置202’的访问信道电路没有直接连接到存储数据的存储模块,则内部总线306和307以及配置与控制电路201可以被用来把请求和信息/数据传送到连接到可适用存储模块的访问信道。
预先取得/自动数据传送进程可以如下进行:用于检索/读取将从给出的源存储器范围/地址被移动到给出的目标存储器范围/地址的内容的预先取得/自动数据传送指令、命令、特殊模式等等在输入系统总线#k 304上被接收,因此也由存储访问控制器301和源和目标选择器303接收。存储访问控制器301解译指令和/或存储器范围并确定存储访问的类型以及确定是否访问信道电路300能够独自处理请求,即访问信道电路300是否被连接到包括将被复制/移动的信息的特殊物理源存储模块。如果访问信道电路300能够处理请求,则信息/数据连同读取进程用上述方法来检索。
当在输出系统总线#k 308经由存储模块连接210提供将被复制/移动的数据/信息时,存储访问控制器301直接经由其与输出系统总线#k 308的连接来检索这个数据/信息,并且经由连接311与控制信号312一起提供到源和目标选择器303,控制信号规定连接311上的信息/数据将在规定的目标地址/存储范围被写入。信息/数据的写入连同写入进程如上所述地被执行。
当信息/数据已经被移动/复制到目标存储器时,存储访问控制器301可以经由中断连接305向主装置202’发出中断,这然后可以开始传送来自相对比较快存储器的信息/数据。
如果访问信道电路#k300没有连接到源和/或目标存储模块,则内部总线306和307以及配置与控制电路201被用来把请求传送到连接到可适用存储模块的访问信道电路300。信息/数据用相同的方法被发射回访问信道电路300#k。然而,每个访问信道电路300都被优选地连接到每个物理存储模块203。
此外,辅助的(一个或多个)访问信道可以在执行自动数据传送/预先取得的时候被连接/链接。这样,每个访问信道都负责检索和存储完整内容的一部分,凭此,被映射到特殊访问信道上相对大容量存储器的事务就可以被分解成多个但较小的事务,从而降低了访问信道的占用时间。
注意,被用作自动数据传输的一部分的(一个或多个)其它访问信道要求(一个或多个)访问信道不被连接(如图中另外所示)到主装置202’或在自动数据传输过程中是闲置的。
图4a-4c说明访问信道电路的不同配置实施例。在这些例子中只显示了两个存储模块和两个访问信道电路300。这两个访问信道电路300经由两个存储模块连接#0和#1 210被连接到两个存储模块。
图4a对应于图2中示出的配置,不同之处是每个存储模块都被连接到相同的存储总线209(存储总线#0)。这降低了设计的复杂度。然而,在存储访问期间在主装置202’#k和#n之间的冲突危险性被增加,除非主装置202’不是经常或从不需要同时访问。如果主装置202’从不或很少同时访问存储器(即使用唯一的存储总线#0),则不显著地增加冲突危险性而又能减少复杂度可以不具有第二访问信道电路#n 300。然而,第二访问信道电路#n 300可以被用于自动数据传输,等等。
图4b中显示了一个配置,其中,访问信道电路300的其中一个只起自动数据传输引擎(访问信道#n)的作用。这个例子显示链接在一起的传送引擎,即访问信道电路#k和#n 300被连接到相同的系统总线#1304;308。因为访问信道电路#n 300也被连接到系统总线#1304;308,所以数据传送被直接实现到主装置202’#k。否则它只能够用于内部存储复制(例如慢速到快速)。
图4c显示了一个配置,其中,两个主装置202’经由相同的系统总线308(系统总线#1)被连接,和一个访问信道电路#k300经由一个单独存储总线#0 209连接,而其它的访问信道电路#n 300通过两个存储总线#0和#1 209被分别连接到特殊存储模块#0或#1。这样,一个存储总线(#0)209访问信道电路300之间被共享。另外,被连接的主装置202’#k和#n共享/被连接到相同的系统总线#1304;308。
图5说明了本发明的一个优选实施例,其可以包括根据本发明方法的存储控制器和/或应用。所示出的是如同移动电路、智能电路、PDA等等的移动通信终端的一个示意图,包括显示器504,如同小键盘、触垫、触控式荧光屏等等505的输入装置,无线通信收发机502,如同麦克风等等的声音捕获单元506,和如同扬声器等等的声音产生单元503。通过包括存储控制器和/或应用这个方法,有效和高灵活的存储访问被提供。另外,本发明提供的可伸缩性使存储控制器的特殊实施方案/存储访问的方法伸缩到合适的需要(速度,灵活性等等)。此外,在存储访问装置之间降低或消除冲突危险性被实现。然而,本发明通常可以结合使用存储访问的ASIC、FPGA、PLD、及其它数字电路来使用,并增强/优化了这些电路的存储访问。