新存储器体系结构中用直接存储器访问来系统引导的方法技术方案

技术编号:2837562 阅读:194 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例提供了一种用于初始化计算机系统的方法和设备,其中该计算机系统包括处理器、易失性存储器和非易失性存储器。在一个实施例中,该方法包括,当计算机系统被初始化时,自动将存储在非易失性存储器中的初始化代码复制到易失性存储器,其中易失性存储器中的电路自动创建副本,并通过处理器来执行来自易失性存储器的初始化代码的副本。

【技术实现步骤摘要】

本专利技术一般涉及计算机系统的初始化。具体地,本专利技术设计改善的用于引导计算机系统的存储器体系结构。
技术介绍
许多现代电子设备,比如手机、PDA、便携式音乐播放器、仪器等通常合并了嵌入式计算机系统。嵌入式计算机系统通常包含计算机处理器(称为主机)、非易失性存储器(比如闪速存储器和/或ROM存储器)、和易失性存储器,比如动态随机访问存储器(DRAM)。主机可包括中央处理单元(CPU)、数字信号处理器(DSP)、微控制器单元(MCU)或直接存储器访问(DMA)数据传输设备。在操作期间,主机通常运行操作系统或其它操作代码。因为易失性存储器通常比非易失性存储器可被更快速地访问,因此操作代码可存储在易失性存储器中并由主机从易失性存储器访问。但是,由于易失性存储器要求电源来维持存储于其中的数据,因此当嵌入式系统掉电时,易失性存储器通常被擦除。由此,当嵌入式系统掉电(例如当嵌入式系统进入复位状态时),主机系统所要求的操作代码通常被加载到易失性存储器中。通常,从非易失性存储器(例如ROM和/或闪速存储器)加载操作代码,非易失性存储器即使在嵌入式系统没有加电时也保持所存储的数据。将存储在非易失性存储器中的代码加载到易失性存储器中并执行来自易失性存储器的代码的过程可称为代码映射(code shadowing)。当嵌入式系统被加电时,嵌入式系统通常执行引导序列以正确地从非易失性存储器加载操作代码到易失性存储器,并用操作代码来初始化主机。为了执行引导序列,主机通常访问存储在非易失性存储器的预定区域中的引导代码。引导代码是可由主机执行的简单代码,使主机能够执行将操作代码加载到易失性存储器并开始执行操作代码所要求的更复杂的动作。在一些情况下,主机可利用直接存储器访问(DMA)将操作代码从非易失性存储器传送到易失性存储器。DMA允许部分的存储器快速并自动地从一个存储单元移动到另一个存储单元。为了执行DMA传送,主机可能需要初始化DMA引擎。在一些情况下,DMA引擎可位于主机中。为了初始化DMA引擎,主机可使用由引导代码提供的信息和/或指令。一旦DMA引擎被初始化,则主机可向DMA引擎发出命令将操作代码从非易失性存储器加载到易失性存储器。主机接着可开始执行操作代码和其它主机正确操作所需要的代码。如前所述引导嵌入式系统对于主机可能需要各种特定的配置。例如,主机通常要求被配置为将多种存储器(闪速、ROM、和DRAM类型的存储器)对接的多个接口。主机还通常被配置为自动加载引导代码、加载用于嵌入式微控制器的控制器代码、并提供初始化和管理从非易失性存储器到易失性存储器的DMA传送的能力以作为一部分的引导序列。主机引导嵌入式系统所要求的这种特定配置通常降低了灵活性并增加了主机和嵌入式系统的设计成本。由此,所需要的是一种改善的用于引导嵌入式系统的系统和方法。
技术实现思路
本专利技术的实施例提供了一种用于初始化计算机系统的方法和设备,其中该计算机系统包括处理器、易失性存储器和非易失性存储器。在一个实施例中,该方法包括,当计算机系统被初始化时,自动将存储在非易失性存储器中的初始化代码复制到易失性存储器,其中易失性存储器中的电路自动创建副本,并通过处理器来执行来自易失性存储器的初始化代码的副本。附图说明因此,参考实施例可得到详细理解本专利技术的上述特征的方式和上面简要概括的本专利技术更特殊的描述,这些实施例中一些在附图中说明。但是注意到,附图只说明本专利技术的典型实施例,并因此不被认为限制其范围,对于本专利技术可承认其它等同的有效实施例。图1是描述根据本专利技术的一个实施例的示例系统的框图。图2是描述示例DRAM设备和NAND闪速存储器的详细视图和数据路径的框图。图3A和3B是描述根据本专利技术的一个实施例的用于嵌入式系统的示例引导序列的流程图。图4是描述根据本专利技术的一个实施例的用于引导嵌入式系统的示例状态机的状态图。图5是描述根据本专利技术的一个实施例的示例DMA引擎/参数设置的详细视图的框图。图6是描述根据本专利技术的一个实施例的用于利用感知复位(sense-on-reset)方案来初始化DMA引擎的电路的框图。图7描述了根据本专利技术的一个实施例的用于存储引导代码和OS代码的组合RAM存储器。具体实施例方式本专利技术的实施例提供一种改进的用于引导嵌入式系统的系统和方法。本专利技术的一个实施例中,存储在非易失性存储器中的引导代码和控制器代码可由位于易失性存储器芯片上的DMA引擎加载到引导代码缓冲器和控制器代码缓冲器中。通过利用位于易失性存储器芯片上的DMA引擎来加载引导和控制器代码,可将引导嵌入式系统所需的处理工作量从主机处理器卸载到易失性存储器芯片,由此降低主机处理器和嵌入式系统的复杂度(以及因此的总成本)。在已经将引导代码从非易失性存储器加载到易失性存储器中的引导代码缓冲器后,主机处理器可接着访问存储在引导代码缓冲器中的引导代码。当主机访问存储在引导代码缓冲器中的引导代码时,主机可执行引导操作。在一个实施例中,引导操作可包括向DMA引擎发出命令以加载易失性存储器中的操作系统代码。主机可接着执行存储在易失性存储器中的操作系统代码。在一个实施例中,引导代码和控制器代码可由DMA引擎加载到易失性存储器芯片中而不用与主机交互。下面对于包括主机处理器、易失性存储器和非易失性存储器的嵌入式系统来描述本专利技术的实施例。但是,在一些情况下,嵌入式系统可包含多个主机处理器、多个易失性存储器和多个非易失性存储器。易失性存储器可包括任何类型的DRAM、SRAM或者任何其它类型的易失性存储器。非易失性存储器可包括任何类型的NAND闪速存储器、NOR闪速存储器、可编程只读存储器(PROM)、电可擦除可编程只读存储器(EE-PROM)、只读存储器(ROM)、或任何其它类型的非易失性存储器。主机处理器可包括任何类型的处理器,包括中央处理单元(CPU)、数字信号处理器(DSP)、微控制器单元(MCU)或直接存储器访问(DMA)数据传输设备。并且在一些情况下,系统中的每块芯片可包含多种处理器和/或存储器。例如,主机可包括CPU、DSP和SRAM。在一些情况下,非易失性存储器可包括ROM和闪速存储器。本领域技术人员应当容易理解可与本专利技术实施例一起使用的其它示例组合。示例嵌入式系统图1是描述根据本专利技术的一个实施例的示例系统100的框图。如图所示,系统100包括主机102、易失性存储器(DRAM设备110)和非易失性存储器(NAND闪速存储器130)。主机可经由DRAM连接104访问DRAM设备110。DRAM设备110可经由闪速接口122和闪速存储器连接124访问NAND闪速存储器130。在一些情况下,由于闪速接口位于DRAM设备110上,因此主机102可不需要闪速存储器接口或连接,由此简化了主机102的设计和选择。可选地,在需要时,主机102可包括闪速存储器接口和连接。在本专利技术的一个实施例中,DRAM设备110可包括SDRAM存储器阵列108。DRAM设备还可包含引导代码和数据缓冲器106、DRAM接口114、闪速管理器112、控制器代码缓冲器116、嵌入式微控制器核118和DMA引擎120。如下所述,NAND闪速接口122可用于访问存储在NAND闪速存储器130中的信息,包括引导代码132、控制器代码134、操作系本文档来自技高网
...

【技术保护点】
一种用于初始化计算机系统的方法,其中该计算机系统包括处理器、易失性存储器和非易失性存储器,该方法包括:当计算机系统被初始化时,自动将存储在非易失性存储器中的初始化代码复制到易失性存储器,其中易失性存储器中的电路自动创建副本;并且 通过处理器来执行来自易失性存储器的初始化代码的副本。

【技术特征摘要】
US 2006-1-23 11/3377541.一种用于初始化计算机系统的方法,其中该计算机系统包括处理器、易失性存储器和非易失性存储器,该方法包括当计算机系统被初始化时,自动将存储在非易失性存储器中的初始化代码复制到易失性存储器,其中易失性存储器中的电路自动创建副本;并且通过处理器来执行来自易失性存储器的初始化代码的副本。2.权利要求1的方法,其中自动创建初始代码的副本包括执行直接存储器访问来将初始化代码从非易失性存储器传送到易失性存储器,其中易失性存储器中的电路执行直接存储器访问。3.权利要求2的方法,其中执行用于将初始化代码从非易失性存储器传送到易失性存储器的直接存储器访问包括将引导代码自动传送到引导代码缓冲器;和将控制器代码自动传送到控制器代码缓冲器。4.权利要求3的方法,其中引导代码和控制器代码被放置在包括引导代码缓冲器和控制器代码缓冲器的共享缓冲器中。5.权利要求3的方法,其中处理器执行来自引导代码缓冲器的引导代码,并且其中易失性存储器设备上的控制器执行来自控制器代码缓冲器的控制器代码。6.一种用于初始化计算机系统的方法,其中该计算机系统包括处理器、动态随机访问存储器(DRAM)存储器和闪速存储器,该方法包括当计算机系统被初始化时,在DRAM存储器的引导代码缓冲器中自动创建存储在闪速存储器中的引导代码的副本,其中在DRAM存储器中的直接存储器访问电路自动创建副本;并且执行来自DRAM存储器中引导代码缓冲器的引导代码的副本。7.权利要求6的方法,其中处理器执行来自引导代码缓冲器的引导代码的副本,并且还包括响应于执行引导代码的副本,而从处理器向DRAM存储器发出命令,其中所述命令使直接存储器访问电路在DRAM存储器的存储器阵列中自动创建存储在闪速存储器中的操作系统代码的副本;并且执行来自DRAM存储器的存储器阵列的操作系统代码的副本。8.权利要求6的方法,其中经由直接存储器访问传送来创建存储在闪速存储器中的引导代码的副本。9.权利要求8的方法,其中在处理器和DRAM存储器之间没有发出命令的情况下启动直接存储器访问传送。10.权利要求6的方法,还包括在创建引导代码的副本后,在DRAM存储器的控制器代码缓冲器中自动创建存储在闪速存储器中的控制器代码的副本,其中DRAM存储器中的直接存储器访问电路自动创建该副本;并且用DRAM存储器中的控制器来执行存储在控制器代码缓冲器中的控制器代码的副本。11.一种用于在嵌入式系统中将初始化代码从非易失性存储器加载到易失性存储器的方法,该方法包括接收加电信号,其表示嵌入式系统已经被加电;在易失性存储器的引脚上读取初始化代码的源地址和尺寸数据;和执行初始化代码从非易失性存储器到易失性存储器的直接存储器访问传送。12.权利要求11的方法,其中由易失性存储器内的直接存储器访问电路来自动执行直接存储器访问传送。13.权利要求12的方法,还包括根据在易失性存储器的引脚上的源地址数据和尺寸数据来确定引导代码的源地址和尺寸,其中源地址数据表示非易失性存储器中对应于源地址的块,并且其中尺寸数据表示对应于引导代码尺寸的字节数;并且使用引导代码的源地址和尺寸来执行直接存储器访问传送。14.权利要求11的方法,还包括根据引导代码的源地址和尺寸数据来计算控制器代码的源地址;从非易失性存储器中的预定位置读取控制器代码的尺寸数据;并且利用所计算的控制器代码的源地址和...

【专利技术属性】
技术研发人员:RS考
申请(专利权)人:奇梦达股份公司
类型:发明
国别省市:DE[德国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1