首页> 中国专利> 用于从集成电路的非易失性存储器中取数据的方法和相应的集成电路

用于从集成电路的非易失性存储器中取数据的方法和相应的集成电路

摘要

该方法使用包括处理器(603)、非易失性存储器(602)、尤其为快闪存储器、系统时钟和接口(605)的集成电路,该接口(605)一侧连接在处理器(603)上,而另一侧连接在非易失性存储器(602)上。当处理器(603)提供的地址(ba[])已经改变时,接口(605)将地址(ba[])引导给非易失性存储器(602),在地址(ba[])已经改变期间的系统时钟周期内生成选通信号(CL;DCR),并将其指向给非易失性存储器(602)。一旦非易失性存储器(602)中相应于地址(ba[])的数据可用,则将数据指向给处理器(603)。从而根据快闪存储器(602)存取时间,可以在集成电路上获得最高数据吞吐量,同时得到最小化的芯片面积。

著录项

  • 公开/公告号CN1650288A

    专利类型发明专利

  • 公开/公告日2005-08-03

    原文格式PDF

  • 申请/专利权人 皇家飞利浦电子股份有限公司;

    申请/专利号CN03809704.4

  • 发明设计人 F·坎帕那勒;G·范斯蒂恩维克;

    申请日2003-04-29

  • 分类号G06F15/78;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人吴立明;王勇

  • 地址 荷兰艾恩德霍芬

  • 入库时间 2023-12-17 16:21:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-22

    未缴年费专利权终止 IPC(主分类):G06F15/78 授权公告日:20081224 终止日期:20150429 申请日:20030429

    专利权的终止

  • 2008-12-24

    授权

    授权

  • 2007-09-12

    专利申请权、专利权的转移专利申请权的转移 变更前: 变更后: 登记生效日:20070810 申请日:20030429

    专利申请权、专利权的转移专利申请权的转移

  • 2005-09-28

    实质审查的生效

    实质审查的生效

  • 2005-08-03

    公开

    公开

说明书

本发明涉及一种用于从嵌入在集成电路中的非易失性存储器中取数据的方法,并且涉及一种尤其适合于执行这种方法的集成电路。

这种集成电路广泛地用于便携式设备中,例如无线模块、蓝牙设备、移动电话、数字无绳设备或个人数字助理(PDA)。在市场上,尺寸和功耗是决定性因素,因此小面积因素变为首要的要求。因此,就降低的部件数量、低管脚输出数量、可布线性和降低的系统成本而言,将非易失性存储器集成在基带系统的存储控制器(MCU)的管芯上似乎是最好的选择。

另一方面,其他几个方面有助于改善基带片上系统(SOC)的性能/价格比。

尽管或多或少取决于结构特点,但是最有效的特征之一是适当选择的存储层次。通过具有不同的访问能力、不同的成本和尺寸的层次来分配存储器资源将导致系统性能的整体改善。

图1示出的是一种典型的所谓哈佛结构(HarvardArchitecture)。桥101通过32位总线104连接于高级系统总线(ASB)模块105、存储器管理单元(MMU)106、RAM 107和快闪存储器102。高级RISC机(ARM)103连接于MMU 106。桥101通过16位总线108连接于高级外围总线(APB)模块109。例如,这些可以是通用串行总线(USB)模块。很明显,就面积而言主要的成本在于存储层次。因此,严格根据所需的性能而明智地选择存储器的大小和类型是设计成功的基础。

对于需要用于哈佛结构中微控制器的某软件层的应用,只读存储器(ROM)一般用于指令存储器(IMEM),而对于数据存储器而言,易失性存储器,例如DRAM或SRAM是最佳的选择。这样做的优点在于有机会将管芯上的引导码存储空间也作为指令存储器使用,由此节省了空间并提高了系统的稳定性和安全性。该优点在于利用基线处理而集成的嵌入式ROM不需要专门的技术选择。

令人遗憾的是,这种解决方法需要稳定的软件,从而只适合于最终生产的情形。另一方面,多数应用需要数个软件改进,这使得IMEM的ROM解决方法不适宜。因此,就尺寸和性能而言,将嵌入式快闪存储器用作IMEM可以说是最佳的解决方案。

在现有技术中,Cáceres等人的美国专利5802554描述了一种方法和系统,通过在其中传送数据块的同时提供对快闪存储器提供细微粒直接存取来减少存储器存取等待时间。存储器管理单元控制具有来自于存储层次的第一级或第二级的数据的高速缓存的内容。然而,这种解决方案不能将快闪存储器作为IMEM使用。

本发明的一个目的是提供一种集成电路和一种方法,用于从嵌入在集成电路中的非易失性存储器中取数据,其能够根据闪存存取时间获得最高数据吞吐量,同时得到最小化的芯片面积。

本发明的另一目的是在不抑制非易失性存储器作为数据存储器的功能的情况下,将其作为指令存储器使用。

该问题是通过一种具有根据任一方法权利要求的特征的集成电路中嵌入的非易失性存储器中取数据的方法,以及通过具有根据任一装置权利要求的特征的集成电路来解决的。

实质上,根据本发明的用于从嵌入在集成电路中的非易失性存储器中取数据的方法包括以下步骤:

●当通过处理器由非易失性存储器请求数据时,将相应于该数据的地址转发到非易失性存储器,并且

●在地址已改变期间的系统时钟周期内的选通信号将被指向非易失性存储器。

●一旦相应于该地址的非易失性存储器中的数据可用,就将数据指向处理器。

根据本发明的集成电路,包括处理器、非易失性存储器、系统时钟和接口,该接口一侧连接于该处理器而另一侧连接于非易失性存储器。当由处理器提供的地址已改变时,该接口将地址引导给非易失性存储器,在地址已改变期间的系统时钟周期内产生选通信号,并将其指向给非易失性存储器。一旦相应于该地址的非易失性存储器中的数据可用,就将数据指向给处理器。

本发明进一步开发的优点由从属专利权利要求中所指示的特征而产生。

在本发明的一个具体实施例中,集成电路的非易失性存储器是快闪存储器。

在同步方式中,当选通信号有效时将向非易失性存储器提供地址,并且在这个阶段中,非易失性存储器的读电路是有效的。这节省了电流和时间。

在异步方式中,始终向非易失性存储器提供地址,并且非易失性存储器的读电路始终有效。于是,可以减少数据的存取时间。

在本发明的另一具体实施例中,接口具有地址比较器,其对总线上的地址和标记进行比较。

在本发明的进一步的具体实施例中,地址比较器是一种永久地对总线上的地址和标记进行比较的永久地址比较器,并且一旦地址稳定,就传送输出信号,藉此输出信号表明地址是否为一个新地址。这减少了确定地址是否为一个新地址的时间。

为了减少等待数据的时间,提供了一种对存储在非易失性存储器中的一部分数据进行缓冲的高速缓存。当接口检测到相应于被选地址的数据已在高速缓存中时,立即将数据从高速缓存指向处理器。当接口检测到相应于该地址的数据不在高速缓存中时,该接口产生长达为存储器存取时间的时间段的等待信号,并之后将数据从非易失性存储器指向处理器。

在下文中,将使用随后的11个附图来进一步解释本发明。

图1示出了根据现有技术的基于嵌入式快闪存储器的子系统的高级RISC机;

图2示出了根据现有技术的系统总线和快闪存储器之间的线高速缓存,其中快闪存储器的字宽度大于总线宽度;

图3示出了根据现有技术的控制快闪存储器桥结构中的读操作的状态机;

图4示出了在读快闪存储器的过程中,表示根据现有技术的结构所执行的操作的流程图。

图5示出了使用现有技术的结构进行读操作中所包含的主信号的时序表示;

图6示出了根据发明结构的框图;

图7示出了在自定时读模式中,由根据本发明的结构所执行的操作的流程图;

图8示出了使用本发明的结构进行同步读操作中所包括的主信号的时序表示;

图9示出了使用本发明的结构进行异步读操作中所包括的主信号的时序表示;

图10示出了根据本发明的结构在不同时钟速率下的时序;以及

图11示出了根据本发明的处理器在三个不同频率下的读等待时间。

从技术角度来说,例如由于功耗、漏耗或合格性的原因,以及从结构角度来说,例如由于对系统进行编程操作的可测性或接口的原因,在集成有微处理器的相同管芯上集成快闪存储器引发了几个问题。此外,如果快闪存储器将被用作处理器的直接IMEM,则难于获得良好的性能激发。事实上,快闪存储器读存取的绝对速度慢于ROM或RAM的读存取速度。这意味着在本应用的关键数据通路中使用快闪存储器将成为整个系统的瓶颈。

为了实现所需的处理器性能,嵌入式快闪存储器存取时间必须跟上微处理器时钟速率的步调。如图2所示,解决这个问题的方案是介于快闪存储器202和处理器203之间的存储层次中的另一易失性存储器层。所谓的具有控制器的线高速缓存(line cache)201将快闪存储器202接口到高速微控制器总线系统204。尽管这个子系统最适合用于管理具有多处理器的复杂系统、几个易失性高速缓存,而非快闪存储器和几个时钟域,但是其在只具有快闪存储器作为IMEM、并且高度注重于存储器的读性能的典型单一处理器系统中是低效率的。

在图2中是示出的基于典型高级RISC机(ARM)的总线子系统(AMBA总线)。在典型应用中,如果系统时钟周期短于能实现的快闪存储器周期,那么快闪存储器202就会太慢以至于不能用作IMEM。在这种情况下,可能的解决方案是将接口201与快闪存储器202集成,其用于增加快闪存储器的数据字宽,并用于提供允许使用中间数据存储寄存器作为具有一条或多条线的高速缓存的地址标记寄存器。由于在几个主机或ARM 203和时钟域之间需要判优,因此除了快闪存储器202对于数据吞吐量之外,这种系统又进一步造成了瓶颈。

闪存桥(flash bridge)主要由三个状态机组成,如图3所示:高速缓存控制器状态机(CACO-SM)、总线控制器状态机(BUCO-SM)以及用于管理读、写操作和内部总线应答的判优状态机。这意指控制器和快闪存储器之间的控制、地址和数据总线。

读操作由CACO-SM和判优状态机控制。在下文中,描述从空闲状态开始,高速缓存中具有未命中的正常读存取。如图3所示,事件的序列是:

1.读请求:

1.1.在AMBA总线地址ba[...]变化之后的1/2时钟,CACO-SM进入读状态,

1.2.在寄存器总线地址rba[...]中寄存总线地址ba[...],

1.3.标记高速缓存比较和闪存命中信号f_hit<=0。

2.未命中识别:

2.1.一旦闪存命中信号f_hit=0,CACO-SM就进入闪存总线请求状态Fbreq,

2.2.请求内部总线的内部总线请求信号rd_fbus_req转高。

3.同步和判优:

3.1.在同步处理之后一个时钟周期,如果存在不同的时钟域那么这一处理是需要的,将闪存总线请求信号rd_fbus_req传送给判优器SM闪存总线读请求信号f_fbrdreq<=rd_fbus_req,

3.2.CACO-SM进入未命中状态Miss

4.许可快闪存储器总线:

4.1.随着f_fbrdreq为高,判优器进入FBRDGNT1,

4.2.总线地址rba[...]最终被传递给快闪存储器地址。

5.快闪存储器存取:

5.1.在一半(1/2)时钟以后,闪存选通信号f_cl转高,并且被传递给真正的闪存选通信号Flash CL。此刻,将开始真实的闪存读操作。

图4所示的流程图表明执行读操作所需的操作顺序和事件的时序表示。

在图5中,示出了就包含在具有上述结构的读操作中而言的主信号总线时钟bclk、总线地址ba[...]、寄存器总线地址rba[...]、闪存总线命中信号fb_hit、高速缓存控制状态信号caco_state、闪存总线请求信号rd_fbus_req、闪存总线读请求信号f_fbrdreq、判优状态信号arb_state、闪存地址Flash ADD[...]以及闪存选通信号Flash CL的时序表示。

该分析示出,利用这种控制器,从ARM要求到真正快闪读请求花费四个时钟周期,而与频率无关。因此建议用来管理多处理器和多时钟域的嵌入式快闪存储器桥的该方法是低效率的。这尤其对单时钟域中嵌入有具有快闪存储器的单一微控制器的所有系统来说是正确的,并且速率要求在高和低频率下将变得重要。

根据本发明的结构的目的是在高速缓存中未命中期间消耗最少的时间。这意味着,在理想的情况下,这种存取类型的等待时间将是最少的时钟周期数,其是快闪存储器的真正存取时间所需要的。为了获得这个结果,快闪存储器控制器将在选通快闪存储器之前不引入任何不必要的时钟周期。当然,不可能一旦请求来自ARM就查询快闪存储器,这是由于在任何情况下这是命中且快闪存储器的查询已经完成。如果下一个周期是未命中,那么在开始下一个新的之前,处理器不得不等到此读操作结束。因此,理想地,一旦数据未命中的信息可以获得,则快闪存储器必须被选通。

图6以框图的形式示出了本发明的一个具体实施例。本发明采用伪直接存储器存取(DMA)用于快闪存储器602的读操作,这是由于AMBA系统能够在不等待来自控制器或接口605的应答的情况下对快闪存储器602进行存取。这实质上包括细长且有效的控制器用于读操作中将快闪存储器602的内部总线和AMBA总线604接口,鉴于此快闪存储器602具有最高优先级操作。采用这种方法,闪存地址总线已经与用于从快闪存储器60取数据的ARM请求同时被更新。此外,由于既不需要与不同的时钟域同步也不需要总线判优,因此AMBA数据总线604直接连接于快闪存储器数据总线,并因此与闪存数据FlashOut Q[...]连接。在这一点上,依赖于存取方式,可以有两种可能性:

1、同步方式

同步方式中,快闪存储器602在闪存同步选通信号CL下锁存地址Add[...]。AMBA地址ba[...]保持连接并且在设备选择下立即可用。因此,仅仅在一半(1/2)时钟周期之后,如果未命中是稳定的那么这是等待信息所必须的,将选通快闪存储器602。这与以上在图2-5中所述的实施例相比较而言节省了3.5个时钟周期。然后通过快闪存储器的就绪信号Flash Ready异步地复位闪存选通信号CL。这个解决方法使得在可以再次驱动闪存选通信号CL之前,不需要等待整个时钟周期。使用这种机制的最大改善在于,在非常低的频率下,当快闪存储器的存取时间小于时钟周期时,高速缓存601中的未命中将不隐含任何等待状态。事实上,即使发生未命中,由于快闪存储器的就绪信号Flash Ready将在下一个周期之前到达,而使得快闪存储器602选通,微控制器(下文也称为ARM或处理器603)也不被置为等待状态,并且在下一个时钟周期中已经可以请求新的数据。在已复位选通信号CL之后,为下一个周期准备好。

2、DC或异步方式

该DC模式提供了最快的存取时间,但具有较高的功耗。在上述的具体实施例中,存在有在读操作结束时切断快闪存储器602的机制,但是浪费没用的第一时钟周期增大了功耗。因此,之后描述的同步方式的差异在于,读操作由地址改变本身而触发,因此在半个1/2时钟周期之后,AMBA请求,这对于未命中和DC方式信息的稳定是必要的,选通信号DCR代替选通信号CL被驱动,闪存地址总线以AMBA地址rba[...]的寄存形式被再次驱动。以次方式,可以确信对于所有读操作,地址将是稳定的。最终,在两种情况中,一旦来自快闪存储器602的数据FlashOut Q[...]可用,则它们也在AMBA数据总线604上可用。因此,在上述结构中,等待处理器603信号的释放可以预期在早于其可以预计的至少一个时钟之前。这是将数据从快闪存储器602传递到内部高速缓存寄存器601所需要的时间。

图7所示的流程图描述了由图6所示的结构所执行的操作顺序。一旦检测到读请求,就在Amba地址总线604和闪存地址总线之间建立连接。此时,将不得不检验所请求的数据是否在高速缓存601中。如果是这样的情况,即意味着在高速缓存601中存在有命中,通过命令Output Data from Cache muxing by reg_ba[...],将高速缓存601中的数据递送到Amba数据总线604。之后,系统为新的读请求做好准备。如果所请求的数据不在高速缓存601中,那么状态机跳转到分支方式?。在异步方式Asynch中,DC模式(DCR)中的闪存选通将寄存的Amba地址rba[...]连接到闪存地址总线,并检查闪存就绪信号是否在零或低状态。如果闪存就绪信号在零状态或低状态,那么为ARM设定等待信号,并检验闪存就绪信号是否在1状态或高状态。一旦是,那么用于ARM的等待信号复位,并使快闪存储器休眠。此时,通过命令Direct Connection Flash Data Bus to Amba Data muxingwords by reg_ba[...],建立在闪存数据总线和Amba数据总线之间的连接。此后,更新线高速缓冲存储器,并且系统为新的读请求做好准备。如果选择了同步方式Synch而代替异步方式Asynch,那么信号闪存选通CL变高,并且检验闪存就绪信号是否为零。如果是,那么闪存选通信号CL碰巧会进入低状态。从现在开始,状态机执行如上所述的相同步骤。

在图8和图9中,表示了在建议的设计中读未命中存取中所包含的主信号总线时钟bclk、总线地址ba[...]、总线等待信号bwait、总线数据bd[...]、寄存总线地址rba[...]、闪存总线命中信号fb_hit、闪存地址Flash ADD[...]、同步方式的闪存选通信号FlashCL、异步方式的闪存选通信号Flash DCR,Flash Ready和闪存数据Flash Q[...]。

图8示出了速率改善。从AMBA请求的仅仅半个时钟周期需要用来决定在查询快闪存储器602之前是否未命中或命中。

下表总结了通过0.18um嵌入式快闪存储器的典型数字,在三个典型系统频率下的读时钟等待的比较,并且快闪存储器具有80ns的同步方式下的存取时间,以及45ns的DC方式下的存取时间。

   DC方式(45ns)   STL方式(80ns) 48MHz(21ns)    3clk=63ns    4clk=84ns 24MHz(41.6ns)    2clk=83ns    2clk=84ns 8MHz(125ns)    1ck=125ns    1clk=125ns

图10和11中的图表示出了结果。

本发明并不在于具有快闪存储器的结构性接口,而是在于硬件算法,以便提供对存储器的高速直接访问,而不需要在高速缓存未命中的情况下引入不必要的等待状态。具有其结构化实现方式的本发明最适合用于在其中作为主机的单一微处理器将低速存取的嵌入式快闪存储器用作指令存储器的所有应用中。对于这些情况,系统每指令周期(CPI)和每秒百万次指令(MIPS)的计算性能将严格依赖于存储器的吞吐量。因此查询快闪存储器的接口越快,那么性能也就越高。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号