存储器控制器地址与数据管脚多路复用的制作方法

文档序号:6365189阅读:174来源:国知局
专利名称:存储器控制器地址与数据管脚多路复用的制作方法
技术领域
本发明涉及一种存储器控制器,且更具体地,涉及ー种用于配置存储器控制器以启用存储器控制器和一个或多个其他设备之间的数据传输的系统及方法。
背景技术
现今,大多数计算机系统使用先进的电路以供通信和数据传输目的。这些计算机系统一般包括用于管理存储器设备和微控制器/微处理器之间的通信的存储器控制器。这样的系统通常是使用被设计为具有高效紧凑的电路的印刷电路板(PCB)来实现的。因此,空间的高效利用是设计这些电路时主要关注的。各种大小的地址宽度和数据路径以及不同类型的存储器必然需要大量的存储器控制器管脚。因此,需要管理管脚使用,以保持低的总管脚数。
減少管脚数的ー个方法是将存储器控制器的ー个或多个管脚用于多个应用。在传统的系统中,通过多路复用地址总线和数据总线来減少集成电路的管脚数。在这样的系统中,传送地址位的ー个或多个管脚也按不同的时间间隔或者基于控制信号来传送数据位。在一个这样的系统中,将传送存储器地址的最高有效位(MSB)的管脚与数据总线多路复用。利用控制信号来多路复用管脚,使得当控制信号为高时传输地址位并且当控制信号为低时传输数据位,或者反之亦然。然而,如果存储器大小被减小并且被指定为传送用于对存储器设备寻址的地址位的管脚全都不需要,则因为未利用的管脚不能用于任何其他应用,所以存在管脚的低效利用。


当结合附图来阅读时,下面对本发明的优选实施例的详细描述将更好地得到理解。本发明仅作为示例示出,而非受附图所限,附图中相同的附图标记指示相似的元件。图I是示出用于使存储器控制器与存储器设备接ロ的常规系统的示意性框图;图2是示出根据本发明实施例的用于使存储器控制器与存储器设备接ロ的系统的示意性框图;图3A示出与片上系统的存储器控制器的管脚对应的地址位的布置;图3B示出根据本发明实施例的与片上系统的管脚对应的地址位的布置;图4是根据本发明实施例的图2的存储器控制器接ロ的可编程逻辑块的示意性框图;图5A示出与片上系统的存储器控制器的管脚对应的地址位的布置;图5B示出根据本发明另ー个实施例的与片上系统的管脚对应的地址位的布置;图6是根据本发明另一个实施例的存储器控制器接ロ的可编程逻辑块的示意性框图;以及图7是示出根据本发明实施例的用于配置存储器控制器的方法的流程图。
具体实施例方式对附图的详细描述g在作为对本发明的当前优选实施例的描述,而非意图表示可以实践本发明的唯一形式。要理解的是,可以通过意图被囊括在本发明的精神和范围内的不同实施例来实现相同或等同的功能。在本发明的一个实施例中,提供一种用于配置与存储器设备通信的存储器控制器的系统。存储器控制器包括管脚组并且该管脚组中的每ー个管脚与数据位或地址位或者这两者相关联。该系统包括可编程逻辑块,其连接至存储器控制器的管脚组,用于使用管脚组的子集来启用存储器设备和存储器控制器之间的数据传输。根据存储器设备的大小选择管脚,使得该子集以外的管脚可用于ー个或多个应用。在本发明的另一个实施例中,提供一种用于配置用干与存储器设备通信的存储器控制器的系统。存储器控制器包括管脚组,使得该管脚组中的每ー个管脚与数据位或地址位相关联,或者与这两者相关联。该系统包括可编程逻辑块,其连接至存储器控制器的管脚 组,用于选择该管脚组的子集,以启用存储器设备和存储器控制器之间的数据传输。该子集的选择通过根据存储器设备的大小在存储器控制器的管脚组中重新编排ー个或多个地址位来进行。锁存器被连接至可编程逻辑块,用于在管脚子集中的多个管脚上多路复用地址位和数据位,以在存储器设备和存储器控制器之间传输数据。在本发明的又一个实施例中,提供一种用于配置用于存储器设备通信的存储器控制器的方法。存储器控制器包括管脚组,使得该管脚组中的每ー个管脚与数据位和地址位中的至少ー个相关联。该方法包括选择管脚组的子集以启用存储器设备和存储器控制器之间的数据传输的步骤。该子集的选择通过根据存储器设备的大小在存储器控制器的管脚组中重新编排地址位来进行。该方法进ー步包括在管脚子集中的多个管脚上多路复用地址位和数据位,以在存储器设备和存储器控制器之间传输数据。根据本发明,提供一种用于配置存储器控制器的系统。存储器控制器包括用于在给定时间发送地址位和数据位中的ー个的多个管脚。可以将这多个管脚之中的一组管脚用干与存储器设备通信。下面,參照可以用以对最大4千兆字节(GB)存储器寻址、需要32个地址位的存储器控制器来描述本发明。在此情况下,如果4GB存储器设备被连接至存储器控制器,则存储器控制器的管脚组的全部32个管脚都被用干与存储器设备通信。本领域技术人员应予以理解的是,本发明也适用于其他大小的存储器设备,且针对4GB存储器设备的描述只是例示性的。图I是示出用于使存储器控制器102与8兆字节存储器设备104接ロ的常规系统100的示意性框图。系统100包括存储器控制器102、存储器设备104和锁存器106。存储器控制器102包括32个管脚AD0-AD15和A16-A31,用于传送地址位和数据位中的至少ー个。对应于管脚编号ADO至AD15的16个最高有效位(MSB)基于由控制管脚提供的控制信号、经由锁存器106而被多路复用,并且包括数据位和地址位中的ー个。当控制信号为高时,管脚ADO至AD 15传送地址位,且当控制信号为低时,经由管脚ADO至AD 15发送数据位。存储器控制器102的管脚A16至A31 (A16-A31)只为存储器设备104传送地址最低有效位(LSB)。对于本领域技术人员而言,了解8MB存储器设备104需要23个位用于寻址。因此,只使用管脚AD9-AD15和A16-A31来传送需要的地址位(23个LSB),而未使用管脚AD0-AD8 (对应于9个MSB)。因为未使用的AD0-AD8不能用于任何其他应用,所以这会导致显著的空间量的损失。图2是示出根据本发明实施例的用于使存储器控制器102与存储器设备104接ロ的系统200的示意性框图。系统200包括片上系统(SoC) 202、图I的存储器设备104和锁存器106。SoC 202进ー步包括存储器控制器102和可编程逻辑块204。SoC 202经由多个管脚而连接至存储器设备104。在本发明的实施例中,可编程逻辑块204连接至存储器控制器102的32个管脚。可编程逻辑块204从32个管脚的组中选择管脚子集,其中该管脚子集用干与8MB存储器设备104通信。根 据本发明的实施例,该子集包括用干与8MB存储器设备104通信的23个管脚。存储器控制器102在管脚AD0-AD15和A16-A31上将ー个或多个地址位发送至可编程逻辑块204。在可编程逻辑块204,重新编排这些位,以便选择由用于与存储器设备104通信的23个管脚组成的子集。结合图3至图6来更加详细地讨论由可编程逻辑块204对地址位进行的重新编排。在本发明的实施例中,对应于管脚ADO至AD 15(AD0_AD15)的16个最高有效位(MSB)基于控制信号而经由锁存器106被多路复用,并且数据位和地址位都被发送。当控制信号为高吋,管脚AD0-AD15传送地址位,且当控制信号为低吋,经由管脚AD0-AD15发送数据位。此外,基于所选择的由23个管脚组成的子集,管脚A25至A31(A25-A31)传送地址LSB且管脚A16至A24(A16-A24)空闲以用于ー个或多个其他应用。在本发明的不同实施例中,ー个或多个其他应用包括与另一存储器设备通信以及与I/O设备通信。为了分配要由一个或多个管脚传送的特定位,通过可编程逻辑块204来重新编排地址位。在本发明的一个实施例中,通过将多个位从被选择用干与存储器设备104通信的管脚子集左移来重新编排这些位。在本发明的第二实施例中,通过将多个位从被选择用于与存储器设备104通信的管脚子集右移来重新编排这些位。图3A示出了根据本发明的与SoC 202的存储器控制器102的管脚对应的地址位的布置,其中对应于地址MSB的管脚与用于待传输的数据位的管脚一起被锁存。由于该组地址位中的16个MSB被设计为既传送地址位又传送数据位,所以这16个MSB表示为对应于管脚AD0-AD15。此外,图3A中的16个LSB是纯地址(address only)位,并且表示为对应于管脚A16-A31。存储器控制器102与8MB存储器设备104通信,并且只有23个位用于传送地址信息。如图3A所示,这23个位是SoC 202的整个ー组32个地址位中的LSB,并且表示为对应于管脚A16-A31。此外,这些位中只有7个用于地址-数据多路复用管脚中,使得如果直接用干与存储器设备104通信,则将导致地址-数据多路复用管脚的低效利用。这7个位对应于图3A中的管脚AD9-AD15。然而,在该级,存在地址数据多路复用管脚的部分利用。这在下一级通过使用可编程逻辑块204来改善。图3B示出了根据本发明实施例的与SoC 202的输出管脚对应的地址位的布置。通过可编程逻辑块204重新编排对应于管脚AD0-AD15和A16-A31的地址位,使得地址-数据多路复用管脚被高效地用于存储器控制器102和存储器设备104之间的通信。如图3B所示,通过将图3A中所示的16个MSB左移来重新编排地址位,使得地址-数据多路复用管脚ADO-AD15发送有效的地址信息并被高效利用。7个LSB被保持在其原始位置(A25-A31)。图4是根据本发明实施例的可编程逻辑块204的示意性框图。如已结合图2讨论了的,重新编排与存储器控制器102的管脚对应的位,以便选择由用干与8MB存储器设备104通信的23个管脚组成的子集。在本发明的实施例中,通过由可编程逻辑块204使多个期望的位左移来完成该重新编排。图4中,可编程逻辑块204包括地址左移块402和第一多路复用器404。图4的系统进一歩包括第二多路复用器406和锁存器106。根据本发明的实施例,可编程逻辑块204的地址左移块402和第一多路复用器404起选择器的作用,用于选择用干与一个或多个应用通信的第二管脚子集。可编程逻辑块204被预编程为将多个位从由23个管脚组成的子集左移预定的位数。例如,在图3的示例中,位AD9-AD24左移预定的9位(因为在实现8MB存储器设备时有9个未使用的管脚)。这使得管脚A16-A24能够被空出,这些管脚于是可以用于ー个或多个其他应用,诸如对另一存储器设备寻址或者与I/O设备通信。存储器控制器102的32个地址位(表示为地址位
)被地址左移块402接收,该地址左移块402使多个期望的位左移预定的9位,使得左移的位全部都经由 被多路复用为既传送地址位又传送数据位的管脚AD0-AD16发送。将左移的位提供到第二多路复用器406,该第二多路复用器406多路复用左移的地址位和数据位。当地址锁存使能信号(ALE)为高时,第二多路复用器406使左移的地址位通过。在本发明的实施例中,锁存器106为外部锁存器。锁存器106在多路复用器406的输出端处,并且当ALE为高时,锁存左移的地址位。多路复用器406和锁存器106都接收ALE信号。在图4的地址输出管脚处直接输出未被地址左移块402移位的地址位。图5A示出根据本发明的与SoC 202的存储器控制器102的管脚对应的地址位的布置,其中对应于地址MSB的管脚与传送待传输的数据位的管脚一起被锁存。图5A中的16个LSB是纯地址位,并且表示为对应于管脚A16-A31。存储器控制器102与8MB存储器设备104通信,并且只有23个位用于传送地址信息。由于地址位组中的7个MSB被设计为既传送地址位又传送数据位,所以这7个MSB表示为对应于管脚AD9-AD15。此外,对应于管脚AD0-AD8的剩余9个地址MSB也与数据位多路复用,但这9个MSB不传送相关地址信息,并且可以用于使其他管脚空出,以便用于其他应用。这在下ー级完成,其中通过可编程逻辑块204来重新编排与存储器控制器102的管脚对应的位,使得这些管脚可以用于其他应用。图5B示出了根据本发明另ー个实施例的与SoC 202的输出管脚对应的地址位的布置。重新编排对应于管脚AD0-AD15和A16-A31的地址位,使得地址-数据多路复用管脚被高效地用于存储器控制器102和存储器设备104之间的通信。如图5B所示,通过将图5A的7个地址MSB(AD9-AD15)右移至与图5B的MSB (A25-A31)对应的管脚来重新编排这些位。此外,将接下来16个地址位A16-A31左移至LSB AD0-AD15,从而使对应于位A16-A24的管脚空出。图6是根据本发明实施例的可编程逻辑块204的示意性框图。如已结合图2讨论的,重新编排与存储器控制器102的管脚对应的位,以便选择由用干与8MB存储器设备104通信的23个管脚组成的子集。在本发明的实施例中,通过由可编程逻辑块204使多个期望的位右移来完成该重新编排。可编程逻辑块204包括地址右移块602、第一多路复用器604和左移块606。图6的系统进一歩包括第二多路复用器608和锁存器106。根据本发明的实施例,地址右移块602、第一多路复用器604和左移块606起选择器的作用,用于选择用于与一个或多个应用通信的第二管脚子集。可编程逻辑块204被预编程为将多个位从由23个管脚组成的子集右移预定的位数。例如,在图5A的示例中,将位AD0-AD6向右移位预定的位数。在本发明的实施例中,预定的位数是使得地址的MSB与寄存器空间AD0-AD31的变址31对准。在图5B所示的实施例中,位AD9-AD15右移预定的16位。此外,左移块606使剩余的地址位A16-A31左移,使得这些位被重新编排为位AD0-AD15。这使得管脚A16-A24能够被空出,这些管脚于是可以用于ー个或多个其他应用,诸如对另一存储器设备寻址或者与I/O设备通信。32个地址位(表示为地址位
)被地址右移块602接收,该地址右移块602使多个期望的位右移预定的16位,使地址的MSB与变址31对准。右移的位然后经由第一多路复用器604而提供到地址输出管脚。尚未右移的位中的第二位组(例如,图5A中的A16-A31)被左移块606左移,使得左移的位占据图5B的LSB AD0-AD15。左移的位然后经由第二多路复用器608而提供到锁存器106。锁存器106锁存图6中的地址位
的左移的地址位以及图6中由数据位
表示的数据位。在本发明的实施例中,锁存器106为外部锁存器。锁存是结合地址锁存使能(ALE)信号来完成。当ALE为高时,第二多路复用器608输出被锁存器106锁存的地址位,并且当ALE为低时,第二多路复用器608输出数据位
ο 图7是示出根据本发明实施例的用于配置存储器控制器的方法的流程图700。结合图2来描述流程图700。在步骤702,从IC设备的管脚组选择子集,以启用存储器控制器102和存储器设备104之间的数据传输。这通过由可编程逻辑块204在SoC 202的输出管脚组中重新编排地址位来实现。在步骤704,存储器控制器102和存储器设备104之间的通信通过在预定的多个管脚上多路复用地址位和数据位来启用,其中所述预定的多个管脚属于被选择用于存储器控制器102和存储器设备104之间的通信的子集。上述方法和系统具有诸多优点。实施该方法可以允许地址和数据位之间管脚共享的最大化。此外,同一管脚组可以被用于ー个或多个其他应用,诸如用于与另一存储器设备通信以及与输入/输出设备通信。这导致低成本且高效空间的改进的IC设备。此外,本发明可以被用来给管脚数非常有限的低端和超低端SoC增值。可编程逻辑块可以被编程为取决于存储器设备的大小而空出未使用的管脚。因为可以使用本发明来減少一部分的管脚数,所以其还有利于低成本、低功率系统设计。虽然已示出并描述了本发明的各种实施例,但应清楚的是,本发明不仅限于这些实施例。在不脱离根据权利要求书所描述的本发明的精神和范围的情况下,大量修改、改变、变形、替换及等同物对于本领域技术人员而言将是显而易见的。
权利要求
1.一种用于配置与存储器设备通信的存储器控制器的系统,所述存储器控制器包括管脚组,所述管脚组中的每ー个管脚与数据位和地址位中的至少ー个相关联,所述系统包括 可编程逻辑块,所述可编程逻辑块连接至所述存储器控制器的所述管脚组,所述可编程逻辑块根据所述存储器设备的大小使用所述管脚组的子集,以启用所述存储器设备和所述存储器控制器之间的数据传输,其中所述子集以外的管脚可用于ー个或多个其他应用。
2.根据权利要求I所述的系统,进一歩包括锁存器,所述锁存器连接在所述可编程逻辑块和所述存储器设备之间,所述锁存器锁存所述管脚子集中的多个管脚上的多路复用的地址位和数据位,以在所述存储器设备和所述存储器控制器之间传输地址位和数据位。
3.根据权利要求I所述的系统,其中所述可编程逻辑块包括地址移位块,用于通过下列步骤中的至少ー个步骤来在所述存储器控制器的所述管脚组中重新编排ー个或多个地址位 根据所述存储器设备的大小而使所述ー个或多个地址位左移;和 根据所述存储器设备的大小而使所述ー个或多个地址位右移。
4.根据权利要求I所述的系统,其中所述ー个或多个其他应用包括与另一存储器设备通信。
5.根据权利要求I所述的系统,其中所述ー个或多个其他应用包括与输入/输出设备通信。
6.一种用于配置存储器控制器的系统,所述存储器控制器适合于与存储器设备通信,所述存储器控制器包括管脚组,所述管脚组中的每ー个管脚与数据位和地址位中的至少ー个相关联,所述系统包括 可编程逻辑块,所述可编程逻辑块连接至所述存储器控制器的所述管脚组,所述可编程逻辑块选择所述管脚组的子集,以启用所述存储器设备和所述存储器控制器之间的数据传输,其中所述子集的选择通过根据所述存储器设备的大小在所述存储器控制器的所述管脚组中重新编排ー个或多个地址位来进行; 多路复用器,所述多路复用器连接至所述可编程逻辑块,用于多路复用地址位和数据位;和 锁存器,所述锁存器连接在所述多路复用器和所述存储器设备之间,所述锁存器锁存所述管脚子集中的多个管脚上的多路复用的地址位和数据位,以在所述存储器设备和所述存储器控制器之间传输地址位和数据位。
7.根据权利要求6所述的系统,其中所述锁存器和所述多路复用器中的每ー个包括控制管脚,所述控制管脚用于接收指示地址位和数据位的多路复用的控制信号,其中所述控制信号指示所述地址位和所述数据位中的ー个的传输。
8.根据权利要求7所述的系统,其中在多个管脚上多路复用地址位和数据位包括将所述地址位中的ー个或多个最高有效位(MSB)与数据位多路复用。
9.根据权利要求7所述的系统,其中在多个管脚上多路复用地址位和数据位包括将所述地址位中的ー个或多个最低有效位(LSB)与所述数据位多路复用。
10.根据权利要求6所述的系统,其中所述可编程逻辑块包括地址移位块,所述地址移位块用于通过根据所述存储器设备的大小使一个或多个地址位左移,来在所述存储器控制器的所述管脚组中重新编排所述ー个或多个地址位。
11.根据权利要求6所述的系统,其中所述可编程逻辑块包括地址移位块,所述地址移位块用于通过根据所述存储器设备的大小使一个或多个地址位右移,来在所述存储器控制器的所述管脚组中重新编排所述ー个或多个地址位。
12.根据权利要求6所述的系统,其中所述可编程逻辑块包括选择器,所述选择器用于选择用干与ー个或多个其他应用通信的第二管脚子集,所述通信使用所重新编排的地址位中剰余的地址位来进行,其中所重新编排的地址位中剰余的地址位对应于所述第二管脚子集。
13.一种用于配置与存储器设备通信的存储器控制器的方法,所述存储器控制器包括管脚组,所述管脚组中的每ー个管脚与数据位和地址位中的至少ー个相关联,所述方法包括 选择所述管脚组的子集,以启用所述存储器设备和所述存储器控制器之间的数据传输,所述子集的选择通过根据所述存储器设备的大小在所述存储器控制器的所述管脚组中重新编排地址位来进行;以及 在所述管脚子集中的多个管脚上多路复用地址位和数据位,以在所述存储器设备和所述存储器控制器之间传输数据。
14.根据权利要求13所述的方法,其中,利用指示地址位和数据位中的ー个的传输的控制信号来控制地址位和数据位的多路复用。
15.根据权利要求13所述的方法,其中,在多个管脚上多路复用地址位和数据位包括将地址位中的ー个或多个最高有效位(MSB)与数据位多路复用。
16.根据权利要求13所述的方法,其中,在多个管脚上多路复用地址位和数据位包括将地址位中的ー个或多个最低有效位(LSB)与数据位多路复用。
17.根据权利要求13所述的方法,其中,在所述存储器控制器的所述管脚组中重新编排地址位包括根据所述存储器设备的大小使一个或多个地址位左移。
18.根据权利要求13所述的方法,其中,在所述存储器控制器的所述管脚组中重新编排地址位包括根据所述存储器设备的大小使一个或多个地址位右移。
19.根据权利要求13所述的方法,其中,所述存储器设备和所述存储器控制器之间的数据传输包括从所述存储器设备读取数据。
20.根据权利要求13所述的方法,其中,所述存储器设备和所述存储器控制器之间的数据传输包括将数据从所述存储器控制器写入到所述存储器设备。
全文摘要
本发明公开了存储器控制器地址与数据管脚多路复用。一种用于配置与存储器设备通信的存储器控制器的系统及方法,其多路复用所选管脚以用于数据传输。存储器控制器包括管脚组,其中该组中的每一个管脚与数据位和地址位相关联。可编程逻辑块连接至该管脚组,并且取决于存储器设备的大小使用该管脚组的子集,以启用存储器设备和存储器控制器之间的数据传输,使得未包括在该子集中的管脚可用于其他应用。
文档编号G06F13/16GK102693196SQ20121004083
公开日2012年9月26日 申请日期2012年2月21日 优先权日2011年3月18日
发明者赫曼特·诺蒂亚尔, 迪鲁夫·萨特桑吉 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1