数据处理系统中用于覆盖存储器的方法和设备的制作方法

文档序号:6467183阅读:265来源:国知局
专利名称:数据处理系统中用于覆盖存储器的方法和设备的制作方法
技术领域
本发明涉及一种数据处理系统。更具体地说,本发明涉及一种数据能够从一个存储器覆盖(overlay)到另一个存储器的数据处理系统。
背景技术
现有技术的嵌入式控制器支持各种存储器,包括芯片内和片外存储器。例如,一些嵌入式控制器既有静态存储器又有闪速存储器。有时想要在嵌入式控制器的常规操作中改变闪速存储器中的数据。例如,用作发动机(或者其它的机电设备)控制器的嵌入式控制器,存储在闪速存储器中的各种参数可能需要改变以适当地转动发动机。因为闪速存储器在嵌入式控制器的常规操作中不容易编程,现有技术的嵌入式控制器利用覆盖原理将数据从静态存储块覆盖到闪速存储器。
现有技术的覆盖原理有各种问题。其中一个问题涉及数据转移时间。数据转移时间定义为从总线主控器请求数据到数据可用和接收到所有的访问终止信号所消耗的时间。当访问闪速存储器或被覆盖的闪存区域时,维持相同的数据转移时间至关重要。现有技术的覆盖原理不可能在芯片内或片外闪速存储器中维持相同的数据转移速率。结果,对于存放于可覆盖存储器中的数据和存放于闪速存储器中同样的数据,嵌入式控制器不可能以同样的方法进行操作。
另一个问题是用于现有技术的覆盖原理只能覆盖整个存储块。换句话说,如果嵌入式控制器有覆盖原理使用的512个字节的静态存储器模块,那么任何一个模块的整个512个字节都必须被覆盖。有时希望有选择性地覆盖存储器模块的某些部分,而不是覆盖整个模块。有时也希望选择覆盖部分的尺寸。
现有技术的覆盖原理的另一个问题是,为了具有多个覆盖区域,需要多个存储模块,每一个模块须有自己独立的总线接口单元(BIU)。每个BIU要求有独立电路,这样,带有多个BIU需要占用芯片的空间。


本发明以举例子的方法加以说明,但并不局限于附图,其中类似的参考符号代表类似的元件,其中图1是根据本发明的一个实施例的嵌入式控制器的方框图;图2和3是说明从静态存储器区覆盖到闪速存储器的例子的方框图;图4是说明本发明的一个实施例的操作流程图。
本领域技术人员将理解,为了简洁且清晰起见图中的元件不必按比例画。例如,为了有助于更好地理解本发明的具体实施例,图中一些元件的尺寸相对其它元件可能被夸大。
具体实施例方式
图1是嵌入式控制器100的框图。该嵌入式控制器100包括作为控制器100的中央处理单元的核心102。核心102耦接到一条指令总线120和一条装入/储存总线122。这种结构被称作“哈佛结构”。应该理解其他结构也能用于本发明。例如,单条系统总线能用于代替120和122这两条总线。指令总线被用作提取指令,而装入/储存总线122则用于提取数据。一个系统接口单元(SIU)114和指令总线120和外部总线124相耦接。SIU 114为嵌入式控制器100的外部组件或者装置提供一个接口。
嵌入式控制器100包括非易失性存储器。该非易失性存储器可以是闪速存储器(FLASH),只读存储器(ROM),电可擦除只读存储器(EEPROM),可擦可编程只读存储器(EPROM),或者其他合适类型的存储器。在优选实施例中选用了闪速存储器。在图1中,闪速存储器104耦接于指令总线120。此外,可以包括耦接到外部总线124的外部闪速存储器116。嵌入式控制器100也包括易失性存储器。易失性存储器可以包括任何类型的随机存取存储器(RAM),例如静态随机存取存储器(SRAM)或者动态随机存取存储器(DRAM),在优选实施例中选用了SRAM来执行。然而,任何类型和数目合适的RAM模块都可以选用。在图1中,SRAM 106被耦接于装入/储存总线122。该SRAM 106包括非覆盖区108和覆盖区110(详见后述)。此外,可以包括耦接于外部总线124的外部SRAM 118。耦接在指令总线120和装入/储存总线122间的是总线接口单元(BIU)112。BIU112的功能是提供一个在指令总线120和装入/储存总线122之间的接口。在一个可替换的实施例中,BIU是非易失性存储器的一部分。
如上所述,在嵌入式控制器100正常运作过程中有时需要改变闪速存储器104中的参数或者数据。然而,在嵌入式控制器100正常工作过程中闪速存储器可能不容易编程。这样,SRAM 106必须被覆盖于闪速存储器104上,因为SRAM 106中的参数能够轻易地改变。
本发明的实施例提供了一种改进的覆盖原理。如上所述,SRAM106包括一个非覆盖区108和覆盖区110。在一个实施例中,该SRAM106是32千字节的,其中非覆盖区108占据了28千字节且覆盖区110占据了4千字节。当然,SRAM 106可以是任何合适的尺寸并以任何需要的方式分割。覆盖区110可以用作普通目的的RAM或者用作覆盖。非覆盖区108可以用作普通目的的RAM。在一个可替换实施例中,整个SRAM106可以被指定作为一个覆盖区。换言之,该SRAM 106可以如图1所示那样分割或者实际上一些SRAM 106用作覆盖而另一些SRAM 106不用作覆盖。这样,单个的RAM模块(举例说,诸如静态存储器SRAM或者动态存储器DRAM)可以同时用作覆盖和普通目的。
图2和图3是图解说明将静态存储器SRAM区覆盖到闪速存储器的方框图。图2示出SRAM 106和闪速存储器104。SRAM 106被分为非覆盖区108和覆盖区110。覆盖区110被进一步分为八个独立的区域或者分区(覆盖分区0,覆盖分区1,覆盖分区2,覆盖分区3,覆盖分区4,覆盖分区5,覆盖分区6,覆盖分区7,覆盖分区8)。在该例子中,覆盖分区为4千字节,八个分区中的每一个为512字节。可替代的实施例中可以包括任何数量的分区或者不同尺寸的分区。如图2示出的本实施例允许八个分区中的一些用作覆盖。此外,对于每一个被用作覆盖的分区,可以使用全部分区,或者可以使用一部分。
在一个实施例中,分区是可以软件编程的。例如,SRAM 106可以包括一个具有各种能定义相应于SRAM 106的模式和分区特性的字段的控制寄存器。该控制寄存器可以包括一种能将随机存储器RAM模块配置为覆盖模式或者非覆盖模式的模式字段。在非覆盖模式中,整个RAM模块被用作为普通目的RAM,没有覆盖能力。在覆盖模式中,如上所述,能建立覆盖区。控制寄存器因而可以包括一个可以启动每一个分区的启动字段。这样,即使RAM被配置为覆盖模式,每一个分区可以被启动用于覆盖闪速存储器的一部分或者被禁止而用作普通目的RAM。该控制寄存器还可以包括一个能够将覆盖分区收缩(collapse)到邻接的存储地址的收缩字段(收缩字段在下面参照图3进一步描述)。为了配置每个覆盖分区的尺寸,该控制寄存器可以包含一个分区尺寸字段。
如上所述,控制寄存器可以由软件配置,由此允许灵活配置RAM模块和它的分区。进一步说,控制寄存器可以在诸如SRAM 106的RAM模块中找到,或者在其他软件或者硬件可访问的合适地址中找到。同样,如果除SRAM 106之外用到其他RAM模块,类似地可由与每一附加RAM模块相应的控制寄存器来配置它们。
SRAM 106也可以包括基本地址寄存器。在一个实施例中,有八个寄存器,每一个相应于如图2所示的八个分区。同样,如果有更多或者更少的分区,则使用更多或者更少的基本地址寄存器。每一个基本地址寄存器包含一个将被覆盖的闪速存储器段的基本的或者开始地址。基本地址存储器也可以包含一个字段用以定义将被覆盖的闪速存储器段的尺寸。例如,每一个寄存器中的四个比特可被用作表示尺寸。进一步说,在上面提到的收缩模式中,闪速存储器段的尺寸可以强制为一个特定的尺寸,不管尺寸字段的编程值如何。应当理解,基本地址寄存器可以建立在任何合适的地址中,例如另一个存储器模块。
在如图2所示的例子中,覆盖分区0被全部(512字节)用作闪速存储器104的覆盖段130,该覆盖段130为512字节。覆盖分区1被部分地覆盖为段132,该段有256字节。覆盖分区5被部分地覆盖为段134,该段有128字节。可以看到,覆盖区110的分区可以有选择性地覆盖在闪速存储器104中。也应注意到,不被用作覆盖的每一个分区,或者一个分区的一部分,能被用作普通目的的存储器。如图2所示的例子中,覆盖分区2,覆盖分区3,覆盖分区4,覆盖分区6和覆盖分区7这些分区可以整个地用作普通目的存储器。类似地,覆盖分区1的256字节和覆盖分区5的384字节可以用作普通目的的存储器。闪速存储器104的剩余部分能正常地对闪速存储器的访问作出响应。
图3是列举一个可替换的使用可收缩模式覆盖存储器的原理的框图。图3表明SRAM 106有一个非覆盖区108和覆盖区110。如图3所示的覆盖区110可以按照可收缩方式运行。如上所述,这种模式可以被一种在SRAM 106的控制寄存器找到的收缩字段所起动。正如图示,覆盖区包括八个分区142,144,146,148,150,152,154和156。在本例子中,分区142,144,146,148,150,152,154和156中的每一个均为4字节,整个为32字节。当然,分区可以大于或者小于4字节。这些分区可以被收缩为一个邻接的存储器单元,这样留下更多的邻接存储器单元以用作普通非覆盖目的。覆盖区110没用作覆盖的部分被表示为区140。在本实施例中,区140与非覆盖区108相邻。分区142,144,146,148,150,152,154和156中的每一个能覆盖于闪速存储器104的一段上。
在此所描述的存储器覆盖技术的实施例中,覆盖分区的尺寸在闪速存储器中被自然对准。因而,覆盖分区的尺寸与闪速存储器的对准相对应。例如,如果128字节的部分被覆盖,应该是128字节在闪速存储器中对准。因而,在上面提到的基础地址寄存器中,基础地址可以不必然对准。在本例中,闪速存储器中的基本地址中将被覆盖的最低有效位认为是0′s,使得开始地址自然对准。
图4以流程图形式说明本发明的一个实施例的运作。图4的目的是以图解方式说明本实施例如何运作。尽管如此,其他改变可以用以得到类似的结果。在嵌入式控制器100的正常运作中,一总线主控器要求读取一个存储器(方框400)。在这个实施例中,总线主控器是核心102。该要求可以用于任何可以得到的存储器,包括闪速存储器104,SRAM 106,外部闪速存储器116,或者外部SRAM 118。注意,也可以是图中未示出的可得到的其他类型的模块。流程图中的判定菱形框402询问是否该请求要求读取闪速存储器。如果不是闪速存储器读取请求,则正常的存储器运作继续(方框404)。如果是闪速存储器读取请求,则判定菱形框406询问该存储器是否在闪速存储器的覆盖区。这个判定通过由SRAM 106窥探位于装入/存储总线122上的闪速存储器的地址来完成。如果不是覆盖区访问请求,则闪速存储器(通过BIU112)驱动数据和所有的访问终止控制信号(方框408)通过BIU 112到达核心102。注意在其他结构中,例如在那些单系统总线的情况中,数据和终止控制信号可以无需使用如BIU 112那样的总线接口单元,直接被驱动到请求装置或者总线主控器。
如果所请求的存储器处于被覆盖区,则SRAM通过BIU 112给闪速存储器104发送一个“块数据”信号(方框410)。在其它结构中,“块数据”信号可能不用BIU 112而直接送到非易失性存储器。发送这种信号的目的是为了禁止闪速存储器104向装入/存储总线122驱动数据。该SRAM然后在数据总线许可的情况下向装入/存储总线122驱动数据(方框412)。下一步,通过BIU 112,闪速存储器104将所有的访问终止控制信号,例如转移确认,数据有效,等(方框414)驱动到总线主控器或请求设备。通过这种方式,数据由RAM模块驱动,而访问终止控制信号由闪速存储器驱动。这减少了硬件需求,因为每一个RAM模块不需要它自己的根据闪速存储器结构能够驱动访问终止控制信号的总线接口单元。更进一步讲,使闪速存储器驱动访问终止控制信号可维持适当的时序(timing)。
在本发明的一个实施例中,RAM模块(例如SRAM 106)可能基于对总线主控器的识别或总线主控器的类型,有选择性地允许来自总线主控器的写操作。例如,装入/存储总线122可能包括一个叫作“核心访问”的信号,以便当核心102开始一个事务时,该信号被确证。当启动这种覆盖模式时,如果有一个写操作访问覆盖区110编程用来覆盖一个闪速存储器段的一部分时,根据对请求写操作的控制器的识别,这一访问或者被允许或者不被允许。在一个实施例中,由核心所启动的写访问(被确证的“核心访问”)不被允许,然而一个被非核心设备,例如开发工具所启动的写访问(“核心访问”求反)将被允许。这防止核心102无意中破坏用来覆盖闪速存储器段的数据。如果该核心确实意欲改变覆盖区域110中的覆盖数据,它能够使覆盖模式无效,改变数据,然后再使覆盖模式有效。相似地,其它方法或信号也可以被用来允许RAM模块在允许写请求之前识别总线主控器。
如上所述,SRAM 106可能在控制寄存器中有一个模式位,用来使覆盖模式有效或无效。当设备100接收到一个复位信号时,SRAM106通过分别对控制寄存器中的这个模式位置1或清0来使覆盖特性有效或无效。根据复位配置信息,该位可能为1(覆盖使能)或0(覆盖禁止)。这种复位配置信息可由任何非易失性存储器,例如EEPROM提供,或者在对设备复位求反时通过取样设备的针来获取。而且,一旦接收到一个复位信号时,基地址寄存器的内容(正如上面所讨论)可能保持不变。也就是说,基地址和尺寸的信息可能在复位时保持不变。于是,替代的实施例允许通过各种对设备复位的选择增进灵活性。
因此,能够理解,这里所描述的存储器覆盖技术能够利用单个RAM模块既实现覆盖又实现常规功能。本发明的实施例也允许通过软件可编程部分的应用来增进灵活性。而且,通过允许RAM模块覆盖非易失性存储器的一部分,通常存储在该非易失性存储器中的参数可以由开发工具利用更精确的参数在常规操作和在编制非易失性存储器最后版本之前进行修整和修改。
当本发明的操作被描述为从SRAM 106到闪速存储器104的覆盖时,其它的操作也是可能的。例如,SRAM 106能够将内存覆盖到外部闪速存储器116或外部SRAM 118上。注意到在这个例子中,内存覆盖维持适当的数据转移时间。而且,注意到SRAM 106的覆盖区110的任何部分能够被覆盖到芯片内的闪速存储器104或外部闪速存储器116上。例如,在数据处理的同时,覆盖分区0(图2)能够被覆盖到芯片内的闪速存储器104上,而覆盖分区1能够被覆盖到外部闪速存储器116上。正如上面所提到的,其它的模块也可以被采用。
具有SRAM 106、闪速存储器104、外部闪速存储器116和外部SRAM 118的本发明的实施例已经被描述。应该理解,嵌入式控制器100可能包括多个SRAM 106、多个闪速存储器104、多个外部闪速存储器116和/或多个外部SRAM 118。利用多个模块,本发明可按如上所述的类似的方法进行操作。
更进一步讲,相同的闪速存储器片段能够被SRAM 106的多个区域覆盖。为了从最高优先级区选择数据,给每个区指定一个优先级。在图2所示的实施例中,覆盖分区0具有最高的优先级,其次是覆盖分区1,覆盖分区2等等。在多个RAM模块被应用的情况下,各模块的优先级同上面类似分配。也就是说,具有覆盖数据最高优先级的RAM模块禁止非易失性存储器数据并将覆盖数据传到请求设备。
在前面的说明书中,已经参照说明的实施例对本发明进行了描述。然而,本领域普通技术人员应当理解,还可以作各种修改和改变,而未脱离如下面权利要求书所述的本发明的保护范围。因此,说明书和附图应认为是一种举例而非限制性说明,并且所有这种修改都意在包括在本发明的保护范围内。
本发明的益处,其它的优点和解决问题的技术方案已经结合有关具体实施例进行了描述。然而,这些益处,优点和解决问题的技术方案,以及一些可以带来益处,优点,或者可以想到的或者变得更加显著的解决方案的因素不应被解释为是任何或者全部权利要求中关键的、必须的、或者基本的特征或者要素。在此,术语“包含”“由……组成”,或者任何其他的变化形式,意图覆盖一个非排他性的结论,以便包含一系列因素的一个过程,方法,物品,或者装置并非仅包含这些元素,而是还可以包括没有明确罗列出来或者是这些过程、方法、物品,或者装置中固有的因素的其他因素。
权利要求
1.在一个具有非易失性存储器(104)和含有当作一般随机存储器使用的非覆盖区(108)以及用于覆盖该非易失性存储器的部分的覆盖区(110)的第一随机存取存储器(RAM)模块(106)的数据处理系统中,该非易失性存储器通过系统总线被耦接到该第一RAM模块,一种方法包括发出一个存储器访问请求来访问该非易失性存储器的覆盖部分;通过该第一RAM模块将块数据信号送给该非易失性存储器来禁止该非易失性存储器向系统总线驱动数据;第一RAM模块在数据总线许可情况下将数据驱动到系统总线上;和该非易失性存储器驱动访问终止控制信号来完成对存储器的访问。
2.如权利要求1所述的方法,其中第一RAM模块具有一个相应的RAM数据转移时间,且该非易失性存储器具有一个相应的非易失性存储器数据转移时间,其中该RAM数据转移时间与该非易失性数据转移时间相匹配。
3.如权利要求1所述的方法,其中数据处理系统还包括一个耦接到该非易失性存储器的总线接口单元(112),其中块数据信号被送到总线接口单元,和该总线接口单元驱动访问终止控制信号。
4.如权利要求1所述的方法,还包括通过RAM模块从数据总线主控器接收一个写请求;和基于对该总线主控器的识别有选择性地允许该写请求。
5.如权利要求4所述的方法,其中一个核心访问信号基于对总线主控器的识别有选择性地被确证,并且响应该核心访问信号有选择性地允许该写请求。
6.一个随机存取存储器(RAM)模块(106),包括一个非覆盖区(108),用作一般RAM目的;一个覆盖区(110),可用于覆盖非易失性存储器的部分;和一个块数据信号,其能够禁止该非易失性存储器向系统总线上驱动数据。
7.一个能够以覆盖模式和非覆盖模式操作的随机存取存储器(RAM)模块(106),其中在覆盖模式中,该RAM模块包括一个用作一般RAM目的的非覆盖区(108);一个包含多个分区的覆盖区(110),其中该多个分区的第一部分能够被启动用于覆盖该非易失性存储器的部分,该多个分区的第二部分能够用作一般RAM目的;和在非覆盖模式中,该RAM模块用作一般RAM目的。
8.如权利要求7所述的RAM模块,还包括一个能够禁止该非易失性存储器驱动数据的块数据信号。
9.如权利要求8所述的RAM模块,还包括一个控制寄存器,其中该控制寄存器包括一个能够配置该RAM模块进入覆盖模式和非覆盖模式的模式字段。
10.如权利要求9所述的RAM模块,其中该控制寄存器还包括一个能够将该多个分区的第一部分收缩成邻接的内存单元的收缩字段;一个能够相应于该多个分区的每一分区配置分区尺寸的分区尺寸字段;和一个能够使该多个分区的每一分区使能的分区使能字段。
全文摘要
一个数据处理系统,包括一个具有核心(102)的嵌入式控制器(100),系统总线,非易失性存储器(104),和随机存储器(RAM)(106)。该RAM(104)有一个非覆盖区(108)和一个覆盖区(110)。该覆盖区(110)可被分成多个分区。在不被用作覆盖区时,该覆盖区(110)的各分区可用作一般RAM目的。
文档编号G06F12/00GK1426559SQ01807583
公开日2003年6月25日 申请日期2001年4月4日 优先权日2000年4月4日
发明者格鲁斯维米·甘尼什, 苏雷德雷·P·伯哈塔雷, 华莱士·B·哈伍德三世, 加里·L·米勒, 约瑟夫·杰勒曼斯基 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1