专利名称:用于在启动序列期间检测非易失性存储器的电路和方法
技术领域:
本发明主要涉及计算机启动序列处理。更具体地,本发明涉及在 诸如包括位于移动收发机中的接收机、集中收发机、相关设备的计算 装置内的装置中的电路和方法,包括用于在启动序列期间检测非易失
性存储(NVM)装置的超宽带(UWB)装置。
背景技术:
在包括无线电发射机和接收机的现代电子计算装置中的处理电路 面临独特机遇,即部分由高速需求以及关于操作的模块性、可量测性、 简单性和鲁棒性的需求等导致的有助于启动操作。特别地,假设,因
为本领域中知道的理由,模块性和可量测性需求对于允许为不同操作 水平不同地配置标准计算平台来说很重要,所以可以基于具有不同软 件的标准计算平台的提供而提供附加的操作特征或特征包,该不同软 件可以从例如与计算平台集成的NVM装置读取,或在制造期间被插入 到装置内,或者甚至在购买后等由用户插入到计算平台中。
在提供所用的多个特征的同时使用不同NVM装置可能导致这样 的问题,即根据NVM装置的数量和尺寸,计算平台可能难以访问NVM 装置。计算平台必需设有复杂存储器控制器以管理各种存储装置。可 选择地,计算平台必须将NVM装置的使用限制为在标准地址处的标准 尺寸的装置的使用。当适应性和可量测性是主要目标时,没有选项是 理想的。
例如,在存储器管理器的情况下,逻辑或虚拟地址被映射到物理 存储空间,从而使得,当处理器从逻辑或虚拟地址读取时,存储器控 制器解析逻辑或虚拟地址,并访问与该逻辑或虚拟地址相关联的物理存储器。为了执行映射,存储器控制器必须从基本输入输出系统(BIOS)设置获得存储器配置,或者必须执行物理存储空间的检査,增加了执行启动序列所需的总时间。此外,注意到,每个存储器访问被执行为转换,并由此每次访问采用了额外时间,对具有高速操作需求的装置导致了潜在的速度问题。
因此,有利的是,使得计算平台具有以一致方式启动的能力同时具有从任何NVM装置读取的能力,其可以存在而无需长度地址转换机制、复杂的存储器管理器装置等。
在附图中,在各个视图中相似参考数字表示相同或功能相似的元件,附图连同下面详细描述被包括在说明书中并形成说明书的一部分,用于进一步示出多个实施例以及解释根据本发明的多个原理和优点。
图1是示出根据本发明多个示例性实施例的基本硬件结构的部分的图示;
图2是示出来自只读存储器(ROM)的传统处理器启动序列的图
示;
图3是示出根据本发明多个例示实施例的包括处理器和NVM检测器电路的例示装置的图示;
图4是示出根据本发明例示实施例用于确定NVM装置的存在的例示处理流的图示;
图5是根据本发明多个例示实施例的例示电路的图示,该例示电路包括处理器和NVM检测器电路;
图6是示出根据本发明多个例示实施例的例示过程的流程图;以
及
图7是示出根据本发明多个可选择例示实施例的例示过程的流程图。
8
具体实施例方式
提供本公开以生效形式(enabling fashion)解释执行本发明一个或 多个实施例的最佳模式。还提供本公开以改进对于本发明原理及其优 点的理解和认知,而非以任何方式限制本发明。本发明仅仅由所附权 利要求及其等效定义,所所附权利要求包括在本申请的未决期间做出 的任何修改。
还知道,诸如第一和第二等的关系术语的使用仅用来将一个实体、 项目或行为从另一个区别开,而非必需需要或暗示在这些实体、项目 或行为之间的任何实际该关系或次序。注意, 一些实施例可以包括多 个过程或步骤,其可以任何次序执行,除非明确和必要地限制为特定 次序,也就是没有这样限制的过程或步骤可以以任何次序执行。
在实现时,大部分发明功能和很多发明原理可以得到软件或集成 电路(IC)的支持,诸如嵌入式处理器及用于其的软件或专用集成电 路。预期,本领域技术人员,得到由例如可用时间、现有技术和经济 考虑激发的可能显著的努力和很多设计选择,在这里公开的概念和原 理的引导下,将易于能够利用最小的实践生成这样的软件指令或IC。 因此,为了简短以及最小化模糊根据本发明的原理和概念的风险,如 果有,则这些软件和IC的进一步讨论将被限制为关于例示实施例使用 的原理和概念的本质。
因此,在一个实施例中,描述用于在与处理器相关联的执行序列 期间检测两个或多个非易失性存储(NVM)装置的存在的方法,该执 行序列诸如启动序列等。将知道,两个或多个NVM装置具有对应的两 个或多个预定的开始地址。可以复位处理器,从而当完成复位操作时, 处理器从与NVM装置的第一个相关联的起始位置的第一个开始操作。 同时,可以判定每个NVM装置是否存在。可以从与第一个NVM装置 相关联的预定起始位置的第一个执行读取。如果第一个NVM装置被判 定为不存在,诸如通过JUMP指令来指示处理器在与NVM装置的第二个相关联的第二起始位置处继续执行。例如通过将处理器维持在复位
状态直到完成对于每个NVM装置的判定,来在复位期间以及在处理器开始操作之前进行判定。
可选择地,如果还没有完成对于一个或多个NVM装置的判定,则可以开始从起始位置的读取,以及致使处理器等待。在处理器开始操作之后,可以从与第一个NVM装置相关联的任何地址执行读取,如果该第一个NVM装置不存在,则可以诸如利用JUMP指令指示处理器在与两个或多个NVM装置的第二个相关联的两个或多个起始位置的第二个处继续执行。判定可以包括诸如使用下面更详细描述的NVM检测器电路独立于处理器地从两个或多个NVM装置的每个中的已知位置读取验证码。该验证码可以包括标识符、码字、NVM大小、NVM类型等或它们的组合。读取进一步可以从与第二个NVM装置相关联的第二预定起始地址执行,以及如果该第二个NVM装置不存在,则可以利用诸如JUMP指令指示处理器在与两个或多个NVM装置的第三个相关联的两个或多个起始地址的第三个处继续执行。将知道,可以在任何数量的NVM装置上使用相同的过程。因此,在处理器开始操作之后,从与如果不存在的第二个NVM装置相关联的任何地址读取,将导致处理器诸如由JUMP指令指示以在与第三个NVM装置相关联的第三起始位置处继续执行,等等。
根据另一例示实施例,公开用于在处理器启动期间检测两个或多个非易失性存储(NVM)装置的存在的电路。该NVM装置具有对应的预定起始地址。该电路包括处理器,处理器被配置为在复位间隔之后从与第一个NVM装置相关联的第一预定起始地址开始操作。该电路还包括耦合到处理器的总线以及耦合到总线的两个或多个处理器。检测器电路能够耦合到NVM装置,以及被配置为判定与各个预定起始地址相关联的各个NVM装置是否存在。处理器可以从与第一 NVM装置关联的第一预定起始地址读取,并且如果第一 NVM装置被其第一检测器电路判定为不存在,则处理器跳转到与第二 NVM装置关联的第二起始地址。如果该装置不存在,则处理器还可以跳转到在与各个NVM装置相关联的地址范围内的处理器进行读取后的起始地址的下一个。将知道,根据本发明,电路可以被构造为集成电路,并且至少一个NVM装置,如果存在,被集成到集成电路中并且耦合到检测器电路的相应一个。可选择地,至少一个NVM装置,如果存在,是电连接到检测器电路的相应一个的外部NVM装置。
根据本发明又一例示实施例,公开用于在检测器启动序列期间检测是否存在两个或多个非易失性存储(NVM)装置的电路。该两个或多个NVM装置具有对应的预定起始地址。与处理器启动序列相关联的处理器可以被配置为在复位间隔之后,从与NVM装置的第一个相关联的预定起始地址的第一个开始操作。例示电路包括第一NVM装置检测器电路,该第一 NVM装置检测器电路被配置为确定与第一预定起始地址相关联的第一NVM装置是否存在。如果第一NVM装置不存在,则第一检测器电路可以返回指令,诸如JUMP指令,用于让处理器来在第一预定起始地址处由处理器执行读取之后,在预定起始地址的第二个处继续执行。该电路还包括第二NVM装置检测器电路,其被配置为判定与第二预定起始地址相关联的NVM装置的第二个是否存在。如果第二NVM装置不存在,则第二检测器电路可以返回指令,诸如JUMP指令,用于让处理器在第二预定起始地址处由处理器读取后在预定起始地址的下一个处继续执行。
应该注意,第一NVM装置检测器电路和第二NVM装置检测器电路可以被配置为将处理器保持在复位状态中,诸如延长复位间隔,直到完成判定第一NVM装置和第二NVM装置是否存在。可选择地,如果在来自处理器的读取时没有完成第一 NVM装置和第二 NVM装置是否存在的判定,则第一 NVM装置检测器电路和第二 NVM装置检测器电路可以导致处理器等待。第一 NVM装置检测器电路和第二 NVM装置检测器电路可以通过从如果存在的NVM装置的每一个中的预定位置读取验证码来判定相应NVM装置是否存在。如果NVM装置不存在,或者如果NVM装置不可操作或故障,则验证码读取将失败并且该装置将判断为不存在。将知道,验证码可以包括标识符、代码字、NVM大小以及NVM类型。将知道,根据本发明,电路可以被配置为集成电路,其中,至少一个NVM装置,如果存在,则被集成在该集成电路中并且耦合到NVM装置检测器电路的相应一个。可选择地,至少一个NVM装置,如果存在,则是电连接到NVM装置检测器电路的相应一个的外部NVM装置。
处理器启动序列
典型的计算装置结构100,例如,如图1所示,可以包括诸如处理电路等的处理器模块110。将知道,该基本电路可以在很多类型的装置中找到并且通常可以被集成在电路板上或可以由电路板上的独立装置组成。处理器模块110可以在很多装置中找到,这些装置包括通信装置,诸如无线电通信装置和用于已知为超宽带(UWB)的带宽中的无线电通信装置。UWB —般被定义为在占用大于中央频率的20%的带宽或至少500 MHz的带宽的频谱中操作的任何无线电通信装置。因此,处理器模块110可以包括处理器111、存储器112和总线113。该基本构造对于本领域技术人员来说公知。处理器可以是通用处理器、高速处理器、专用集成电路(ASIC)、数字信号处理器、可编程阵列等。处理器111可以经由总线113与存储器112通信,从而取得其中的信息并在其中存储信息。将知道,在一些构造中,处理器模块110可以通过集成到一起并封装到相同的电路或装置中的存储器112和总线U3或其他互连来构成处理器、
根据多个己知的启动过程,图2所示的传统装置结构200,可以包括具有处理器211和存储器212的处理器模块210。虽然为了简洁没有示出,可以利用例如图1所示的总线来连接处理器211和存储器212。可选择地,如果处理器211和存储器212被集成到一起,它们可以以本领域技术人员已知的方式直接连接。存储器212可以是诸如只读存储器(ROM)、可编程ROM等的非易失性存储(NVM)装置。ROM
12可以包括诸如段213和214的段或区(partition)。段可以包含诸如启动信息的不同信息,该启动信息采用可由处理器211读取并执行的与启动序列相关联的指令的形式。段还可以包含诸如本领域技术人员知道的诸如常数等的其他编程值。
在典型的启动序列期间,通过保持按压复位按钮或釆用诸如通过软件的其他方式,在从诸如断电或掉电或其他供电中断的低电源场景恢复期间,处理器211将在复位间隔结束时,诸如在通电复位间隔或可以在通电期间发生的系统复位间隔结束时,开始操作。处理器211可以配置为具有指令单元或指令寄存器220。加载到其中的数据将被作为指令处理。如将知道的,当处理器211脱离复位状态时,其典型将通过例如从与例如指令寄存器220中的指令1 221相关联的存储器212中的默认地址进行读取来开始执行。处理器211从存储器212读取以加载并执行指令2 222、指令3 223以及指令4 224等,直到达到在指令n225处的启动序列的结束。存储器212的内容,因为处理器的启动序列的假设(presumable)部分,将包含与例如加载BIOS等相关联的指令,以开始诸如操作系统等的附加操作,以及最终执行应用程序。应知道,其他例程可以作为启动序列的一部分运行,诸如加电自检(POST),其核査附着到处理器211的装置正在运行并且初始化这些装置。附加地,BIOS查找装置列表直到其找到这样的装置,从该装置其可以加载操作系统内核。除了包含所述的启动序列,如将知道的,存储器212还可以包含诸如辅助启动加载器、BIOS等的附加指令214。
可能在计算装置中发生困难,其中,启动序列取决于向例示计算装置或处理器模块提供多个非易失性存储(NVM)装置。这些困难在上文中进行了描述,并且如果使用两个或多个NVM装置则包括对于复杂存储器控制器的需求。将知道,在例如单个计算装置包括需要执行特定启动序列的由公司内的不同制造单元制造或由第三方制造的装置或模块的情况下,多个NVM装置的使用可能是必需的。该多个NVM装置的使用的有利之处在于,每个制造单元或第三方可以提供与其模
13块等对应的NVM装置。可选择地,不同的特征包(feature package)或其部分可以通过安装特定系列的NVM装置来提供到计算装置内。
因此,根据本发明,例示计算装置结构300可以包括处理器模块310,其耦合到总线312以及NVM装置检测器320、 322和324。 NVM装置检测器320、 322和324能够被耦合到可能存在或可能不存在的NVM1装置321、NVM2装置323以及NVM3装置325。NVM装置321、323以及325可以是内部或外部存储装置或其组合,以及如果是内部存储装置,可以与处理器模块310集成为集成电路。NVM装置321、 323以及325的每个可以与例如相应固定物理地址范围331、 332和333相关联。物理地址范围331、 332和333每个具有起始地址,例如用于NVM1装置321的OOOO...OO,用于NVM2装置323的OlOO...Ol,以及用于NVMn装置325的0200...01。将知道,在这里用来描述起始地址的值仅仅是代表性的,并且仅为了简洁和说明目的而使用。在实际执行中,可如本领域技术人员知道的,以十六进制等来描述地址。还将知道,虽然示出了两个编号的装置,诸如NVM1装置321和NVM2装置323,根据本发明可以使用诸如达到NVMn装置325的多个NVM装置。
在完成复位之后,诸如处理器311的处理器可以从诸如基本存储器地址的第一起始地址来开始执行。重要的是,将第一NVM装置、或至少第一NVM装置检测器定位在第一地址处。因此,例如可以在第一NVM装置检测器320中执行的第一检测操作420通过执行读取操作422将从NVM1装置321中的预定地址在421处进行读取,该读取操作422可以包括从NVM1装置321中的绝对地址读取、从NVM1装置321的起始地址读取、或从NVM1装置321的起始地址加上偏移读取,从而找到诸如标识符或码字的验证代码。如果从读取操作在424处返回的验证代码被证实,则检测操作420可以认为NVM1装置321存在。如果在424处返回的验证代码不被证实,例如如图中所示,则检测操作420可以在423处认为NVM1装置321不存在或以某些方式故障且不可读取。同样地,例如可以在第二NVM装置检测器322中执行的第 二检测操作430将通过执行读取操作432从NVM2装置323中的预定 地址在431处读取,该读取操作432可以包括从NVM2装置323中的 绝对地址读取、从NVM2装置323的起始地址读取、或从NVM2装置 323的起始地址加上偏移读取,以找到诸如标识符或码字的验证代码。 如果从读取操作在434处返回的验证代码在433被核实,则检测操作 430可以认为NVM2装置323存在。如果例示计算装置被配置用于附 加NVM,则例如在第n个NVM装置检测器325中执行的第三检测操 作440将通过执行读取操作442从NVMn装置325中的预定地址在441 处读取,该读取操作442可以包括从NVMn装置325中的绝对地址读 取、从NVMn装置325的起始地址读取、或从NVMn装置325的起始 地址加上偏移读取,从而找到诸如标识符或码字的验证代码。如果从 读取操作在444处返回的验证代码在443被核实,则检测操作440可 以认为NVMn装置325存在。将知道,例示码字可以还包括NVM装 置的大小和类型,从而在需要或适合时在操作期间允许处理器310使 用装置的更大灵活性。
一旦已经判定NVM装置存在,或正在判断诸如NVM装置是否存 在的同时,对于装置的读取或者成功完成,或者将导致如具有处理器 511的图5中的例示结构500所示的改道(redirection)。如先前描述, 例如结合图4,将假设NVM1装置321不存在。此外,诸如NVM1装 置321、 NVM2装置332、 NVMn装置325是否存在的判断可以在处理 器511的复位期间进行,或可以在复位之后且在启动序列期间进行。 例如,如果期望在处理器511的复位期间进行判断,则可以以本领域 已知的方式,诸如由每个检测器保持复位线低(down)直到完成由每 个检测器进行的判断,来延长复位。该逻辑相对简单且公知,并由此 为了简洁不示出。可选择地,检测器可以在复位之后且在处理器511 开始尝试从NVM装置读取之后执行检测操作。如果处理器511在检测 依然处于进行中的同时从NVM装置读取,则对应的检测器将仅仅导致 处理器511等待直到检测操作完成,在检测操作完成之后,检测器将
15或者返回跳转指令,或将允许处理器511无干扰地从NVM读取。因此, 当处理器511在512处从执行例如检测操作420的装置检测器320执 行读取时,NVM1装置321将已经被判定为不存在,并且装置检测器 320将在513处返回跳转(JUMP)指令到处理器511,导致处理器511 从NVM2装置332的起始地址读取。因为例如执行检测操作430的装 置检测器330已经判定NVM2装置323存在,所以处理器511将能够 在514处不受阻碍地从NVM2装置332的内容读取,该NVM2装置332 的内容包括从起始地址0100...01 332到结束地址0200...00。当在515 将诸如指令的内容返回到处理器511时,处理器511将继续到下个装 置的起始地址。因为执行例如检测操作440的装置检测器340已经判 定NVMn装置325存在,所以处理器511将在516开始从在0200...01 处的NVMn装置325的起始地址读取指令,并且继续读取从NVMn装 置325的内容到0300…00处的结束地址。将知道,根据多个例示实施 例,NVM装置可以包括跳转到下个装置的起始地址作为最终指令,或 者,如在检测和验证期间给出装置的大小的情况下,装置的大小将已 知,并因此当达到NVM装置的结束时,尤其在由于尺寸较小装置等的 使用导致存储器边界不相邻的情况下,处理器将被配置为从下个装置 的起始地址开始下个读取。
根据本发明的例示过程600在图6中示出。将知道,例示过程600 可以在如这里讨论和描述的例示装置上实现,或在其他装置上实现而 不偏离本发明。在601开始之后,例示计算装置可以在602初始化并 开始例如通电复位过程,诸如系统范围硬件复位,该系统范围硬件复 位将复位诸如处理器511的处理器,并致使处理器从诸如第一NVM装 置的起始地址的预定起始地址开始操作。在一个例示实施例中,复位 过程可以延长直到已经判定所有NVM装置的存在或不存在。由此,可 以在603检验是否已经判定所有装置的存在或不存在。如果否,则在 604,例示过程可以通过基于例如固定起始地址从NVM装置内的预定 固定位置读取,来判断下一个装置是否存在,该下一个装置当之前没 有检查过装置时包括第一装置。诸如码字等的固定地址的内容可以如上文所述被验证或核实,或者如果不被核实,则判定该装置不存在。
在还有NVM装置的存在或不存在未被判定的同时,例示过程可以在 603和604之间循环。
当已经判定所有NVM装置的存在或不存在时,处理器可以利用 检测器从复位释放。可以在605进行检验,判断处理器是否例如利用 另一装置被依然保持在复位中。如果计算装置中没有其他装置正在将 处理器保持在复位中,则处理器启动过程可以通过从第一 NVM地址读 取在606开始。如果诸如NVM1装置321的第一 NVM装置不存在, 则处理器可以跳转到诸如NVM2装置323的第二 NVM装置的起始地 址,否则处理器可以读取第一NVM装置的内容。如果第二NVM装置 不存在,那么处理器可以跳转到诸如NVM2装置325的下一 NVM装 置的起始地址,否则处理器可以读取第二 NVM装置的内容。如果 NVMn装置325不存在,则处理器可以跳转到NVMn+l的起始地址, 否则处理器可以读取第n个NVM装置的内容。此后,例如,在607, 如果对被判定不存在的任何NVM装置进行读取,则处理器可以跳转到 起始地址或下个地址或指令。虽然例示过程被示出为在608处结束, 将知道,可以执行附加处理,诸如上文所述的操作系统的加载等。此 外,如果例示过程手动复位、通过软件复位、掉电等,则可以如上所 述重复例示过程。
根据其他例示实施例,如图7所示,根据本发明可以执行另一例 示过程700。在701处开始之后,其在本实施例中可以包括在完成处理 器的复位之后的时间,处理器可以在702通过从诸如NVM1装置321 的第一 NVM装置的起始地址读取来开始诸如启动过程的操作。可以在 703检验是否己经判定第一NVM装置的存在或不存在。如果否,则如 上所述处理器可以保持在等待状态中直到执行从固定地址的读取。例 如通过读取和核实标识符、码字等,将核实读取的内容来判定该装置 是否存在。如果在703已经判定NVM装置的存在或不存在,或如果在 704处完成了判定,则可以在705处进行关于该NVM装置是否存在的
17第二检验。如果是,则可以在707处读取该NVM的内容。如果否,则在706处,该NVM装置的地址范围内的任何读取将导致跳转(JUMP)指令返回到处理器,以在下个NVM装置的起始地址处继续执行。在708,可以进行关于是否已经判定该下个NVM装置的存在或不存在的检验。如果是,则可以在709处读取该下个NVM装置的内容。如果还没有判定该下个NVM装置的存在或不存在,则例示过程可以循环返回704,这里处理器可以如上所述保持在等待状态中直到执行从与该下个NVM装置相关联的固定地址的读取。例如通过读取和核实标识符、码字等,将核实读取的内容来判定该装置是否存在。可以在710处执行检验以判定是否还存在其他NVM装置,但是在实际应用中,例示过程被设计为以对处理器更透明的方式通过。换句话说,只要还有装置要读取,则或者读取每个装置以及处理器将继续从下一个NVM装置的起始地址的读取,或者如果装置不存在,处理器将跳转到下个装置的起始地址。如果不存在其他的NVM装置,则例示过程可以在712结束。将知道,通过结束,例示过程将把控制转到辅助启动加载器或其他程序, 一旦已经达到与一系列NVM装置中的最后装置相关联的地址范围的结束,其应开始诸如加载操作系统等的操作。
总结
本公开意图结束如何形成和使用根据本发明的多种实施例而不是限制其真实、预期和合理的范围及精神。之前描述不意图穷举或将本发明限制为公开的准确形式。根据以上指导可以进行修改或变化。实施例(多个)被选择和描述以提供本发明原理及其实际应用的最佳说明,以及使得本领域技术人员能够以多个实施例以及适于预期具体使用的多种修改来使用本发明。所有这些修改和变化在由可以在该专利申请的未决期间修改的所附权利要求及其所有等效根据它们合理、合法且公平授权的范围解释时确定的本发明的范围内。上述多种电路可以按照实现需要而利用独立电路或集成电路实现。
18
权利要求
1. 一种用于在与处理器相关联的执行序列期间检测两个或多个非易失性存储(NVM)装置的存在的方法,所述两个或多个NVM装置具有对应的两个或多个预定起始地址,所述方法包括复位所述处理器,从而当完成所述复位操作时,从与所述两个或多个NVM装置的第一个相关联的所述两个或多个预定起始地址的第一个开始操作;判定包括与所述两个或多个预定起始地址的所述第一个相关联的所述两个或多个NVM装置的所述第一个的所述两个或多个NVM装置的每一个是否存在;以及从与所述两个或多个NVM装置的所述第一个相关联的所述两个或多个预定起始地址的所述第一个进行读取,以及,如果在所述判定中判定所述两个或多个NVM装置的所述第一个不存在,则指示所述处理器在与所述两个或多个NVM装置的第二个相关联的所述两个或多个起始地址的第二个处继续执行。
2. 根据权利要求l所述的方法,其中,所述判定还包括在所述 复位期间且在所述处理器开始操作之前,判定所述两个或多个NVM装 置的每一个是否存在。
3. 根据权利要求l所述的方法,其中,所述复位包括将所述处 理器保持在复位状态中直到完成对于所述两个或多个NVM装置的每 一个的所述判定。
4. 根据权利要求l所述的方法,还包括在所述处理器开始操作 之后,从与所述两个或多个NVM装置的所述第一个相关联的任何地址 进行读取,以及,如果所述两个或多个NVM装置的所述第一个在所述 判定中被判定为不存在,则指示所述处理器在与所述两个或多个NVM 装置的所述第二个相关联的所述两个或多个起始地址的所述第二个处继续执行。
5. 根据权利要求l所述的方法,其中,所述判定还包括与所述 处理器独立地从所述两个或多个NVM装置的每一个中的已知位置读 取验证代码。
6. 根据权利要求5所述的方法,其中,所述验证代码包括标识符、 码字、NVM大小和NVM类型中的一个或多个。
7. 根据权利要求1所述的方法,还包括从与所述两个或多个NVM 装置相关联的所述两个或多个预定起始地址的所述第二个进行读取, 以及,如果所述两个或多个NVM装置的所述第二个在所述判定中被判 定为不存在,则指示所述处理器在与所述两个或多个NVM装置的第三 个相关联的所述两个或多个起始地址的第三个处继续执行。
8. 根据权利要求7所述的方法,还包括在所述处理器开始操作 之后,从与所述两个或多个NVM装置的所述第二个相关联的任何地址 进行读取,以及,如果所述两个或多个NVM装置的所述第二个在所述 判定中被判定为不存在,则指示所述处理器在与所述两个或多个NVM 装置的第三个相关联的所述两个或多个起始地址的第三个处继续执 行。
9. 一种用于在处理器启动序列期间检测两个或多个非易失性存 储(NVM)装置的存在的电路,所述两个或多个NVM装置具有对应 的两个或多个预定起始地址,所述电路包括处理器,配置为在复位间隔之后,从与所述两个或多个NVM装 置的第一个相关联的所述两个或多个预定起始地址的第一个开始操 作;总线,耦合到所述处理器;以及两个或多个检测器,耦合到所述总线,并且能够耦合到所述两个或多个NVM装置,所述两个或多个检测器电路的每一个被配置为判定 与所述两个或多个预定起始地址的相应各个相关联的所述两个或多个 NVM装置的相应各个是否存在。
10. 根据权利要求9所述的电路,其中,所述处理器还被配置为 从与所述两个或多个NVM装置的所述第一个相关联的所述两个或多个预定起始地址的所述第一个进行读取,以及如果利用所述两个或多个检测器电路的相应第一个判定所述两个 或多个NVM装置的所述第一个不存在,则跳转到与所述两个或多个 NVM装置的第二个相关联的所述两个或多个起始地址的第二个。
11. 根据权利要求9所述的电路,其中,所述处理器还被配置为 如果所述相应一个不存在,则在利用所述处理器在与所述两个或多个 NVM装置的所述相应一个相关联的地址范围中进行读取时跳转到所述 两个或多个起始地址的下一个。
12. 根据权利要求9所述的电路,其中,所述电路包括集成电路, 以及其中,所述两个或多个NVM装置的至少一个,如果存在,则被集成到所述集成电路中并且耦合到所述两个或多个检测器电路的相应一 个。
13. 根据权利要求9所述的电路,其中,所述电路包括集成电路, 以及其中,所述两个或多个NVM装置的至少一个,如果存在,是电连 接到所述两个或多个检测器电路的相应一个的外部NVM装置。
14. 一种用于在处理器启动序列期间检测两个或多个非易失性存 储(NVM)装置的存在的电路,所述两个或多个NVM装置具有对应 的两个或多个预定起始地址,所述处理器被配置为在复位间隔之后从 与所述两个或多个NVM装置的第一个相关联的所述两个或多个预定 起始地址的第一个开始操作,所述电路包括第一NVM装置检测器电路,配置为判定与所述两个或多个预定起始地址的所述第一个相关联的所述两个或多个NVM装置的所述第一个是否存在;以及如果所述两个或多个NVM装置的所述第一个不存在,则返回 指令,以让所述处理器来在所述处理器在所述第一预定起始地址处进 行读取时在所述两个或多个预定起始地址的第二个处继续执行;以及 第二NVM装置检测器电路,配置为判定与所述两个或多个预定起始地址的所述第二个相关联的所述两个或多个NVM装置的所述第二个是否存在;以及如果所述两个或多个NVM装置的所述第二个不存在,则返回指令,以让所述处理器来在所述处理器在所述第二预定起始地址处进 行读取时在所述两个或多个预定起始地址的下一个处继续执行
15. 根据权利要求14所述的电路,其中,所述第一NVM装置检 测器电路和所述第二 NVM装置检测器电路被进一步配置为将所述处 理器保持在与所述复位间隔关联的复位状态中,直到完成所述两个或 多个NVM装置的所述第一个和所述两个或多个NVM装置的所述第二 个是否存在的判断为止。
16. 根据权利要求14所述的电路,其中,所述第一NVM装置检 测器电路和所述第二NVM装置检测器电路被进一步配置为如果在所 述读取时还没有完成所述两个或多个NVM装置的所述第一个和所述 两个或多个NVM装置的所述第二个是否存在的判断,则致使所述处理 器等待。
17. 根据权利要求14所述的电路,其中,所述第一NVM装置检 测器电路和所述第二 NVM装置检测器电路在所述判定中被进一步配 置为从如果存在的所述两个或多个NVM装置的所述每一个中的预定 位置读取验证代码。
18. 根据权利要求14所述的电路,其中,所述验证代码包括标识 符、码字、NVM大小和NVM类型中的一个或多个。
19. 根据权利要求14所述的电路,其中,所述电路包括集成电路, 以及其中,所述两个或多个NVM装置的至少一个,如果存在,则被集 成到所述集成电路中且耦合到所述第一 NVM装置检测器电路和所述 第二 NVM装置检测器电路的相应一个。
20. 根据权利要求14所述的电路,其中,所述电路包括集成电路, 以及其中,所述两个或多个NVM装置的至少一个,如果存在,是电连 接到所述第一 NVM装置检测器电路和所述第二 NVM装置检测器电路 的相应一个的外部NVM装置。
全文摘要
提出用于在处理器启动序列期间检测与计算装置相关联的非易失性存储(NVM)装置(321、323、325)的电路(500)和方法(600、700)。该NVM装置具有对应的起始地址(331、332、333)以及处理器在复位间隔之后从与第一NVM装置相关联的第一起始地址开始操作。电路包括NVM装置检测器,其通过从如果存在的NVM装置的每一个中的预定位置读取(512、514、516)包括标识符、码字、NVM大小或NVM类型的验证代码,来判定NVM装置是否存在。如果该NVM装置不存在,则检测器返回指令(513、515、517),以让处理器在下个NVM装置的起始地址处继续执行。
文档编号G06F13/38GK101501661SQ200680036412
公开日2009年8月5日 申请日期2006年9月25日 优先权日2005年9月30日
发明者保罗·M·韦纳 申请人:飞思卡尔半导体公司