专利名称:对共用总线进行控制的方法和设备的制作方法
技术领域:
本发明涉及一种对共用总线进行控制的方法和设备。
背景技术:
例如移动电话、PDA、便携式音乐播放器、电器等的许多现代 电子器件通常结合了嵌入式计算机系统。嵌入式计算机系统通常包括计算机处理器(称作主机)、非易失性存储器(诸如闪存和/或ROM 存储器)、以及诸如动态随机存取存储器(DRAM)的易失性存储 器。主机可以包括中央处理器(CPU)、数字信号处理器(DSP)、 微控制器单元(MCU)或直接存储器存取(DMA)数据传输装置。 嵌入式系统还可以包括可以用来控制和/或存耳又非易失性存储器的 非易失性存储器控制器。
在嵌入式系统中,通常可以比非易失性存储器更快速地访问易 失性存^f诸器。因此,例如,主才几运行的代码可以—皮存^f诸在易失性存 储器中并通过主机从该易失性存储器中进行存取。然而,由于易失 性存储器通常需要电源来维持其中所存储的数据,因此当嵌入式系 统-故断电时,易失性存储器通常就会被擦除。因此,当嵌入式系统 断电时,通常不需要电源来维持所存储的数据的非易失性存储器可 以用来存储主机运行的代码。当对嵌入式系统供电时(例如,当嵌 入式系统进入复^M犬态时),主才几系统所-使用的^f戈石马可以加载到易 失性存储器中并通过主机由易失性存储器来执行。将存储在非易失 性存储器中的代码加载到易失性存储器中并由易失性存储器来执 4亍代码的过禾呈可称作代码遮蔽(code shadowing )。
为了维持存取嵌入式系统中的数据的灵活性,可能需要以各种 方式在主机、易失性存储器和非易失性存储器之间传输数据。例如, 可能需要在易失性存储器与主机之间、非易失性存储器与主机之 间、和易失性存储器与非易失性存储器之间执行数据传送。当维持 存取嵌入式系统中的数据的灵活性时,还可能需要降低主机和存储 系统的组件之间的接口的成本和复杂性。
因此,需要一种改进的系统和方法来存取嵌入式系统中的存储器。
本发明的实施例大体上提供了 一种用于对共用总线进行控制 的方法和设备。在易失性存储装置和两个或两个以上的非易失性存 储器控制器之间,经由易失性存储器的非易失性存储接口来共用共用总线。在一个实施例中,该方法包括*接收来自两个或两个以上 非易失性存储器控制器中的第 一非易失性存储器控制器的关于对 该共用总线进行控制的请求。响应于接收该请求,如果这两个或两 个以上非易失性存储器控制器中的每个的优先级表示应准许控制, 则准许第 一非易失性存储器控制器对共用总线进行控制。当准许第 一非易失性存储器控制器进行控制时,第 一非易失性非存储器控制 器是两个或两个以上非易失性存储器控制器中经由共用总线执行 数据存取操作的唯一非易失性存储器控制器。
为了可以更详细地理解本发明的上述特征,将结合实施例详细描述本发明以上概括的特征,其中一些实施方式在附图中给出。然 而,应注意,附图仅描述了本发明的典型实施例,因此并不能认为 限制其范围,本发明可以允许其它同等效果的实施例。
图1A 图1D是示出了根据本发明实施例的嵌入式系统的各个方面的框图2A ~图2C是示出了根据本发明实施例的用于存取嵌入式系统中的数据的流程图3A~图3D是示出了根据本发明的一个实施例的用于存取共 用总线的第一接口的各个方面的示意图4A ~图4D是示出了根据本发明的一个实施例的用于存取共 用总线的第二4^口的各个方面的示意图;以及
图5A 图5B是示出了根据本发明实施例的示例性控制寄存器 和控制管脚的框图。
具体实施例方式
本发明的实施例大体提供了用于对共用总线进行控制的方法 和设备。在易失性存储装置和两个或两个以上的非易失性存储器控 制器之间,经由易失性存储器的非易失性存储接口来共用共用总 线。在一个实施例中, 一种方法包4舌4妻^1丈来自该两个或两个以上 非易失性存储器控制器中的第 一非易失性存储器控制器的关于对 该共用总线进行控制的请求。响应于接收该请求,如果这两个或两 个以上非易失性存储器控制器中的每个的优先级表示应准许控制, 则准许第 一非易失性存储器控制器对该共用总线进行控制。当准许 第一非易失性控制器进行控制时,第 一非易失性存储器控制器可以 是这两个或两个以上非易失性存储器控制器中经由共用总线来执 行数据存取的唯一非易失性存储器控制器。通过提供对共用总线的 专门控制,本发明的实施例可以防止多个装置经由共用总线来执行 相沖突的存取4喿作。
图1A 图1B是示出了根据本发明实施例的嵌入式系统100的 框图。如图所示,嵌入式系统100可以包括主机102;易失性存 储器104;和多个非易失性存储器控制器106,每个均连接至非易 失性存储器108。非易失性存储器控制器106可以被配置为经由共 用总线182访问易失性存储器104。例如,每个非易失性存储器控 制器106都可以共用相同的数据、地址、和构成共用总线182的控 制线。两个或两个以上非易失性存储器控制器106通过共用总线同 时进行访问会导致各个非易失性存储器控制器106同时传输不同信
息,并因而造成错误。因此,如下所述,总线仲裁器(mediator) 电路180可用于每次向一个非易失性存储器控制器106提供对共用 总线182的4空制,乂人而防止同时相冲突地^j"共用总线182的存取。
在一个实施例中,主机102可以包括控制电路132和用于与易 失性存储器104的易失性存储器接口 112进行通信的易失性存储器 接口 110。在一个实施例中,易失性存储器接口 112可以包括满足 电子元件工业联合会(JEDEC)的低功耗双数据率(LPDDR)同步 动态随机存取存储器(SDRAM)规范的接口。可选地,可以使用 任何其他适合的易失性存储器接口 (例如,其利用了诸如写使能 (WE)、行存取选通(RAS)、列存取选通(CAS)、和片选(CS) 的DRAM接口控制信号)。
例如,可以使用控制电路132来运行计算才几指令并处理从易失 性存储器104或另一个存储单元(例如,磁盘驱动器或其他存储装 置)接收到的数据。在一些情况下,主机102还可以包括其他电路, 例如用于接收用户输入的输入/输出(1/0)接口、和与其他嵌入式 系统部件(诸如其他存储部件、 一磁盘驱动器和其他装置)的额外接 口。此外,主才几102可以利用易失性存储器4妻口 112来才是供命令和 信息,并接收来自易失性存储器104、非易失性存储器控制器106、 和/或非易失性存储器108的信息。
在一个实施例中,易失性存储器104可以包括用于与主机102 进行通信的易失性存储器接口 112、和用于经由共用总线182与非 易失性存储器控制器106进行通信的非易失性存储器接口 120。易 失性存储器104可以看作相对于主机102和非易失性存储器控制器 106的从属装置(例如,可以通过其他非易失性存储器控制器106 经由共用总线182来控制易失性存储器104)。可选地,易失性存储 器104可以是相对于非易失性存储器控制器106的主动装置。非易 失性存储器接口 120可以包括用于访问非易失性存储器108的任何
接口,例如,包括写使能(WE)、输出使能(OE)、和片选(CS) 控制信号。如所述,在一个实施例中,总线仲裁器电路180 (可被 设置为非易失性存储器控制器106的一部分或被设置为单独装置) 可以用来控制共用总线182在非易失性存储器控制器106之间的共 用。
易失性存储器104还可以包括用于处理经由易失性存储器接口 112和/或非易失性存储器接口 120接收到的命令的易失性存储器控 制电路114。易失性存储器104还可以包括用于存储数据的易失性 存储器阵列116,以及用于在主机102、易失性存储器104、非易失 性存储器控制器106、和/或非易失性存储器108之间传输数据和/ 或命令的一个或多个緩沖器118。在一个实施例中,緩冲器118可 以是动态RAM (DRAM)存储器。可选地,缓冲器118可以是静 态RAM ( SRAM )存储器。易失性存储器104还可以包括用于与非 易失性存储器控制器106进行通信的易失性存储器接口 120。
在本发明的一个实施例中,每个非易失性存储器控制器106可 以包括用于经由共用总线与易失性存储器104进行通信的第一非易 失性存储器接口 122、和用于与对应的非易失性存储器108进行通 信的第二非易失性存储器接口 126。每个非易失性存储器控制器106 还可以包括用于控制在易失性存储器104、非易失性存储器控制器 106、和非易失性存储器108之间的数据传输的非易失性存储器控 制电路124。在一个实施例中,可以经由非易失性存储器接口 128 来存取每个非易失性存储器108。每个非易失性存储器108中的数 据可以被存储在非易失性存储器阵列130中。
图1C是示出了根据本发明的一个实施例的易失性存储器104 和单个非易失性存储器控制器106的进一步细节的框图。如所示, 易失性存储器104可以包括指令和地址解码器电3各164 (例如,易 失性存储器控制电路114的一部分)。当指令和地址解码器电路164从主机102用于接收存取易失性存储器阵列116中的多个存储区 136之一中的数据的命令时,可以经由易失性存储器阵列116的主 机易失性存储器访问控制器160来存取数据。易失性存储器104还 可以提供用于控制易失性存储器104的操作的模式寄存器170、用 于控制覆盖窗的覆盖窗控制寄存器138、和用于在如下更详细描述 的嵌入式系统100的多个部件之间传输数据的覆盖窗緩冲器146。
在本发明的一个实施例中,易失性存储器104还可以冲是供用于 在控制非易失性存储器108、非易失性存储器控制器106、和易失 性存储器104之间的DMA传送的内部直接存储器存取(iDMA) 控制寄存器140。如下所述,修改易失性存储器104中的iDMA控 制寄存器设置会引起易失性存储器104向非易失性存储器控制器 106发出命令,从而引起在非易失性存储器控制器106的IDMA控 制器150中的iDMA控制寄存器152中的对应改变。例如,这种改 变会导致向iDMA控制器150发出引起在易失性存储器104、给定 的非易失性存储器控制器106、和相应的非易失性存储器108之间 #1行DMA传送的命令。
在一个实施例中,例如,DMA传送可以利用非易失性存4诸器 控制器106中的緩沖器154来临时保存在非易失性存储器108和易 失性存储器104之间传送的数据。相对于易失性存储器104, DMA 传送可以利用iDMA易失性存储器存取控制器162来存取易失性存 储器阵列116(例如,读或写关于DMA传送的数据)。来自易失性 存储器阵列116的数据可以被传送至iDMA緩沖器144,或由其传 送,iDMA緩冲器144还可以被用于经由易失性存储器104的非易 失性存储器接口 120来传送数据。还可以使用iDMA緩冲控制器148 来控制在iDMA易失性存储器存取控制电路162、 iDMA緩冲器144、 和易失性存储器104的非易失性存储器接口 120之间的数据传送。
在一个实施例中,易失性存储器104还可以包括用于控制非易
失性存储器控制器106中的USB/ATA功能的通用串行总线(USB ) /先进技术配件(ATA)寄存器142。例如,在一个实施例中,当使 易失性存储器104中的USB/ATA寄存器改变时,易失性存储器104 可以自动使非易失性存储器控制器106的非易失性存储器控制电路 124中的USB/ATA控制寄存器158对应改变。因而,主机102能够 经由易失性存储器104来存取非易失性存储器控制器106的 USB/ATA功能。
在本发明的一个实施例中,可以将用于易失性存储器104的易 失性存储器地址空间190(图ID所示)的一部分分配给覆盖窗192, 被主机102可以使用该覆盖窗来向易失性存储器104、非易失性存 储器控制器106、和非易失性存储器105发出命令,并在它们之间 传送数据。易失性存储器104的易失性存储器地址空间190大体上 包括可经由易失性存储器104的易失性存储器接口 112存取的地址 范围。例如,如果易失性存储器接口 112提供总共18个地址位(例 如,两个存4诸区地址位BAO和BA1以及16个地址^立[15:0]),贝'J易 失性存4诸器104的地址空间190可以包括262144个地址(2的18 次幂),这可以存取易失性存储器104中的高达256K的数据行项(其 中,每4亍项都对应于主会定地址)。
在一个实施例中,例如,由于经由易失性存储器接口 112接收 到命令(例如,通过设置或清除覆盖窗使能位,OWE),所以可以 启动或禁止覆盖窗192。此外,在一些情况下,覆盖窗190所占用 的易失性存^f诸器i也址可以是可配置的。因而,例如,可以通过改变 易失性存储器104中的控制寄存器设置来配置覆盖窗192的基地址 (OW基地址)以及覆盖窗192的大小194。
在一些情况下,通过经由易失性存储器接口 112存取覆盖窗192 中的地址,主机102能够存取非易失性存储器108以及覆盖窗控制寄存器138、 iDMA控制寄存器140、和USB/ATA控制寄存器142 中的数据。因而,覆盖窗192能够经由易失性存储器接口 112来存 取除易失性存储器阵列116外的寄存器和存储器阵列。如果经由易 失性存储器接口 112接收到的存取命令(例如,读或写命令)没有 落在覆盖窗指定的地址范围,则该存取命令可以用于存取易失性存 储器阵列116。如果接收到的地址的确落在覆盖窗192中,则存取 命令可以用于存取其他数据(诸如在覆盖窗緩沖器146 (经由緩冲 地址空间196)或易失性存储器104中的控制寄存器138、 140、 142 中的数据)。经由覆盖窗192的特定緩沖部分或寄存器138、 140、 142可以耳又决于覆盖窗192内的緩沖地址空间196或寄存器138、 140、 142的对目^H扁移。
在其全部内容结合于此作为参考的由Rom-shen Kao于2006年 7月6日才是交的题为"CCW77 (9丄尸W(9rOCOL爿A^D 57GA^丄/7VG /iV爿 A 『7kffiMOR:Tv4WC777r五CrL^五"的序列号为11/456,061和律师巻 号为QIMO/0263的美国专利申it中,更详细;也描述了嵌入式系统 100中的用于发出命令的覆盖窗的使用、以及进行通信的其他方面。 尽管以上相对于使用用于存取易失性存储器104、非易失性存储器 控制器106、和非易失性存储器108并向易失性存储器104、非易 失性存储器控制器106、和非易失性存储器108发出命令的覆盖窗 192来进行描述,但是通常,本发明的实施例可以用于在主机102 和嵌入式系统100的其他部件之间进行通信和控制的任意类型的控 制机制(例如,使用包括不同连接管脚的不同接口来提供不同命令 的不同4妻口 )。
在本发明的一个实施例中,主机102可以经由易失性存储器 104的易失性存储器接口 112来向易失性存储器104和非易失性存 储器控制器106发出命令。例如,这些命令可以在非易失性存储器 108和易失性存储器104之间经由非易失性存储器控制器106来传送数据。这些命令还可以在一个非易失性存储器108和其他的非易失性存储器108之间经由两个非易失性存储器控制器106来传送数 据。这些命令还可以修改易失性存储器104、非易失性存储器控制 器106、和/或非易失性存储器108中的控制设置。
图2A是示出了根据本发明的一个实施例的用于从主机102向 所选非易失性存储器控制器106发出命令的处理200的流程图。在 一个实施例中,如上所述,可以使用覆盖窗192来发出命令。处理 200可以以步骤202为开始,在步骤202中,经由易失性存储器104 的易失性存储器接口 112接收来自主机102的命令。然后,可以在 步骤204处理,人主才几102才妻收到的命令,例如,以确定l丸行该命令 是否需要使用一个或多个非易失性存储器控制器106。例如,该命 令可以表示第一非易失性存储器控制器106应执行数据传送,或应 修改非易失性存储器控制器106的一个或多个控制设置。
一旦确定该命令需要使用第一非易失性存储器控制器106,则 在步艰《206中,易失性存卩诸器装置104可以经由共用总线182来向 第一非易失性存储器控制器106提供中断。例如,易失性存储器104 可以在共用总线182上声明表示哪个非易失性存储器控制器106是 中断的目标的中断和/或中断矢量。可选地,可以为每个非易失性存 储器控制106提供单独的中断(例如,经由易失性存储器104的各 个管脚),并且如果接收到的命令将所选非易失性存储器控制器106 作为目标,则易失性存储器104可以仅对所选非易失性存储器控制 器106声明给定的中断。如下所述, 一旦接收到中断,第一非易失 性存储器控制器106就试图通过从总线仲裁器180请求对共用总线 182进行控制来为该中断提供服务。如果第一非易失性存储器控制 器106能够获得对共用总线182的控制,则步骤208中,在为中断 提供服务的同时,易失性存储器104还可以处理第一非易失性存储 器控制器经由共用总线接收到的任何命令。
如上所述,在非易失性存储器控制器106之一接收到中断后,
非易失性存储器控制器106可以被配置为从总线仲裁器电路180请 求对共用总线182进行控制。在获得对共用总线182的专门控制后, 如下所述,非易失性存储器控制器106可以被配置为向该中断提供服务。
图2B是示出了根据本发明的一个实施例的用于获得对共用总 线182的4空制的处理210的流禾呈图。该处理210可以以步A繁212为 开始,在步骤212中,经由共用总线182和易失性存储器装置104 的非易失性存储器接口 120从易失性存储器装置104接收中断。响 应于接收该中断,在步骤214,非易失性存储器控制器106可以从 总线仲裁器电^各18(H青求对共用总线182进行控制。例如,可以通 过声明施加给总线仲裁器电路180的输入管脚的控制请求信号来请 求进行控制。可选地,例如,可以使用能够发送信息(诸如中断类 型、中断优先级、非易失性存储器控制器信息、和非易失性存储器 控制106的优先级等)的更灵活接口来请求进行控制。
在步骤216,可以从总线仲裁器电路180接收到表示是否准许 对共用总线进行控制的响应。例如,该响应可以包括^C降低来表示 不准许进行控制或一皮声明以表示准许控制的控制准许信号。在步骤 218,可以由总线仲裁器180来确定是否准许对共用总线182进行 控制。
如果不准许对共用总线182进行控制,则在步骤220中,请求 进行控制的非易失性存储器控制器106可以等待,直到准许对共用 总线182进行控制。例如,非易失性存储器控制器106可以^投票选 择由总线仲裁器180提供的控制准许信号,直到信号被声明。可选 地,非易失性存储器控制器182可以进入睡眠状态,直到总线仲裁 器电路180声明该控制准许信号并将非易失性存储器控制器106从 睡眠状态中唤醒。在一些情况下,非易失性存储器控制器106还可
以被配置为具有暂时休息。例如,如果总线仲裁器电路180在休息其间不准许对共用总线182进行控制,则非易失性存储器控制器106 可以经由易失性存储器104的非易失性存储器接口 120向总线仲裁 器电路180发出另 一个请求或向主机102才是供错误表示。
如果准许对共用总线进行控制,则在步骤222中,接收到中断 的非易失性存储器控制器106可以确定中断源。例如,易失性存储 器104可以响应于从主机102接收到的命令或响应于来自iDMA緩 冲控制器148的请求(例如,可以由iDMA緩沖控制器148发出中 断来向非易失性存储器控制器106请求进行DMA传送或一部分 DMA传送)来发出中断。同样,可以通过另一个非易失性存储器 控制器106来发出中断。
非易失性存4诸器控制器106可以以任意方式来确定中断源。例 如,中断源可以经由非易失性存储器4妄口 122的管脚作为为中断源 矢量来提供并且可以被非易失性存储器控制器106解码。可选地, 非易失性存储器控制器106可以为每个中断源提供一个单独管脚, 并可以根据接收到中断的管脚来确定中断源。作为另一个实例,非 易失性存储器控制器106可以通过从易失性存储器104 (诸如对应 于非易失性存储器控制器106并被配置为提供中断的源的指示(由 非易失性存储器控制器106解码的值)的存储器映射寄存器)中的 一个存储单元开始进行读-操作来确定中断源。
在步骤224,非易失性存储器控制器106可以确定中断的原因。 例如,中断可以表示主机102已向非易失性存储器控制器106发出 命令以修改一个或多个器控制设置。例如,中断还可以表示非易失 性存储器控制器106应在非易失性存储器108和易失性存储器104 之间执行数据传送或部分数据传送。如上所述,通过主机102和/ 或DMA电路(诸如,易失性存储器104中的iDMA緩沖控制器148 ) 都可以发出这样的命令。
在确定中断的原因后,在步骤226中,非易失性存储器控制器
106可以为中断提供服务。例如,在主机102已为易失性存储器104 中(例如,在存储器映射寄存器中)的一个存储单元处非易失性存 储器控制器106提供新的控制设置的情况下,非易失性存储器控制 器106可以经由共用总线182和易失性存储器104的非易失性存储 器接口 120从易失性存储器104下载新的控制设置,并实现该新的 控制设置。在主机102或另一个装置中的其他电路已请求非易失性 存储器控制器106执行数据传送的情况下,非易失性存储器控制器 106可以提取(例如,用于易失性存储器阵列116、緩沖器118中、 或非易失性存储器阵列130中的)源地址和(例如,相对于其他列 出的存储单元之一)目的地址、以及待传送的数据量。例如,可以 从易失性存储器104中的存储器映射寄存器中提取出用于进行传送 的信息。相对于易失性存储器104和相应的非易失性存储器108充 当主动装置的非易失性存储器控制器106可以经由共用总线182来 才丸4亍所请求的lt据传送。
如上所述,在一个实施例中,总线仲裁器180可以用于准许对 共用总线182进行控制。图2C是示出了根据本发明的一个实施例 的用于准许对共用总线182进行控制的处理230的流程图。在步骤 232,可以接收到来自第一非易失性存储器控制器106的关于对共 用总线182进行控制的请求。在步骤234,确定是否准许非易失性 存储器控制器106对共用总线182进行控制。
在一个实施例中,可以-使用共用了共用总线182的两个或两个 以上的非易失性存储器控制器106中的每个的优先级来进行确定。 例如,可以在共用了共用总线182的两个或两个以上的非易失性存 4诸器控制器106中的每个之间建立附加优先级。例如,还可以通过 <吏用4仑叫调度(round-robin scheduling )、或<吏用本4贞i或才支术人员乂> 知的任何其他优先级/调度才几制才艮据中断矢量或中断类型的其他指示确定优先级来建立优先级。同样,在一些情况下,可以基于先到 先月良务原则来准许对共用总线182进行控制。在一个实施例中,只要非易失性存储器控制器106执行操作,非易失性存储器控制器106 就可以保持对共用总线182的控制。可选地,在一些情况下,控制 了共用总线182的非易失性存储器控制器106可以将控制暂时让与 给其他非易失性存储器控制器106,并在恢复控制后重新开始操作。
在步骤236,确定是否应准许对共用总线182进4于控制。如果 不准许对共用总线182进行控制(例如,如果一个或多个其他非易 失性存储器控制器106保持关于对共用总线182进行控制的优先 级),则在步骤238,总线仲裁器180可以等到具有更高优先级的其 他非易失性存储器控制器106放弃对共用总线182的控制。当确定 准许第一非易失性存储器控制器106对共用总线182进行控制时, 在步骤240,可以准许对共用总线182进行控制。例如,可以通过 声明由第 一非易失性存储器控制器106检测到的共用总线控制信号 来准许对共用总线182的控制。
在一些情况下,当准许第一非易失性存储器控制器106对共用 总线182进行控制时,可以临时中断第二非易失性存储器控制器 106,例如,尽管第二非易失性存储器控制器106正在执行数据传 送(诸如DMA传送)。在第一非易失性存储器控制器106临时中断 第二非易失性存储器控制器106的情况下,可以在第一非易失性存 储器控制器106已经完成对其中断提供服务后允许第二非易失性存 储器控制器106继续中断的数据传送。
例如,当第二控制器106中断时,总线仲裁器180可以存储表 示第二控制器106被中断的记录信息。在第一控制器106已接收到 控制、为中断提供服务、并放弃控制后,总线仲裁器180可以使用 所存储的记录信息来将对共用总线182的控制返回给第二控制器 106,从而使第二非易失性存储器控制器106重新开始中断的数据传送。在一个实施例中,除使用由总线仲裁器180存储的记录信息 外,第二控制器106还可以向总线仲裁器180提供表示在第一控制 器106已完成后应将该控制返回的指示信息。例如, 一旦失去了控 制,第二控制器106就向总线仲裁器180声明控制请求信号。在第 一控制器106已放弃对共用总线182的控制后,总线仲裁器180可 以响应于第二控制器106声明的控制请求信号来将对共用总线182 的控制提供给第二控制器106。
总的来说,连4妾至共用总线182的装置104、 106可以使用任 何适当类型的4妄口通过共用总线182来进行通信。下面参照图3A~ 图3D和图4A~图4D来描述两种示例性的接口 。
图3A是示出了根据本发明的一个实施例的用于通过共用总线 182进行通信的第一接口 300的框图。尽管相对于单个易失性存储 器104和非易失性存储器控制器106进行了描述,但是可以通过连 接至共用总线182的每个非易失性存储器控制器106来提供相同的 描述信号。如所示,接口 300可以包括时钟信号(CLK)、用于非 易失性存储器接口的控制信号(/ADV、 /CE、 /WE、 /OE)、以及数 据和地址总线连接(ADQ
)。
在一个实施例中,所示的控制信号可以对应于伪^静态随才几存取 存<诸器(PSRAM)接口 。如下所述,接口 300可以用于4丸4亍同步突 发才喿作。在一些情况下,接口 300可以不利用刷新配置寄存器(CRC ) 或总线配置寄存器(BCR)。此外,在一些情况下,接口 300可以 省略等待信号、高地址管脚、和/或字节使能(UB/LB)信号。
在一个实施例中,接口 300还可以包括中断(INT)和复位信 号(RESET)。中断信号可以用于向非易失性存储器控制器106提 供何时发布中断的指示。复位信号可以用于复位非易失性存储器控 制器106。在一些情况下,可以为发给非易失性存储器控制器106的中断和复位信号中的每个提供单独连接(例如,不共用的连接)。 可选地,可以将共用中断和共用复位信号的信号提供给所有的非易
失性存储器控制器106,并且可以向每个控制器106议表示那个控 制器在接收中断和/或复位信号提供单独的片使能(/CE)信号。
在本发明的一个实施例中,接口 300可以用于向非易失性存储 器控制器106发出复位命令。例如,当嵌入式系统100启动(例如, 上电)时、或如果非易失性存储器控制器106有错误,可以发出复 位命令。通过复位非易失性存储器控制器106,例如,通过将预定 设置加载到控制器存储器中并使控制器106准备为任何接收到的中 断提供服务,可以将非易失性存储器控制器106置于限定状态。在 一些情况下,可以通过提供表示在接收到复位命令后应由控制器 106采^f又哪个复位状态的复位矢量来^是供多个复位状态(例如,在 接收到复位命令后,非易失性存储器控制器106可以被置于多个配 置之一)。
图3B是示出了根据本发明的一个实施例的使用图3A所示的 接口 300复位或向非易失性存储器控制器106发出中断的示例性操 作的时序图。如所示,复位操作可以在片使能信号/CE为低的时间 TO处开始。在复位情况下,可以声明RESET信号。在中断的情况 下,可以声明INT信号。当声明RESET信号时,经由地址和数据 总线ADQ[15:0]提供的值可以表示复位命令的复位矢量。当声明 INT信号时,经由地址和数据总线ADQ[15:0]提供的值可以表示关 于中断命令的中断矢量(表示中断的源和/或类型)。
在本发明的一个实施例中,接口 300可以用于执行突发写操作 以从易失性存储器104内的地址中读出多个数据。例如,该地址可 以对应于緩冲器118或易失性存储器阵列116中的一个存储单元。 在突发读操作期间,非易失性存储器控制器106经由命令管脚以及 地址和数据管脚ADQ[15:0]提供单个突发读命令和地址。在提供单
个突发读命令和地址后,可以经由地址和数据管脚ADQ[15:0]4是供 突发读命令的后续数据。
图3C是示出了根据本发明的一个实施例的使用图3A所示的 接口 300执行的示例性突发读操作的时序图。如所示,通过降低片 使能(/CE)信号、降低地址有效(/ADV)信号、提高写使能(/WE) 信号、保持提高的输出使能(/OE)信号、以及将读地址置于地址 和数据总线ADQ[15:0]上,在将突发读命令提供给给定非易失性存 储器控制器106的时间TO处开始突发读操作。
在接收到突发读命令后,易失性存储器104可以被配置为在给 定延迟(通常以时钟周期限定)后开始输出用于读命令的数据。例 如,还可以通过改变易失性存储器104中的控制寄存器的设置来指 定延迟。还可以通过4是供发给易失性存储器104的命令中的设置来 指定延迟设置。在图3C所示的情况下,当延迟设置(LC)为l(LC =1)时,可以在接收到突发读命令后的两个时钟周期输出关于突 发读的命令。因而,在时间Tl,可以降低输出使能(/OE)信号。 在时间T2开始并在时间T3和T4持续,可以在每个下降时钟(CLK ) 沿输出关于突发读操作的数据。在一个实施例中,输出使能(/OE) 信号可以确定突发读命令的长度。因而,当输出使能(/OE)信号 变高时,可以在时间T5停止突发读操作。
在本发明的一个实施例中,*接口 300还可以对易失性存储器 104中的地址执行突发写操作。在突发写操作期间,通过非易失性 存储器控制器106经由命令管脚以及地址和数据管脚ADQ[15:0]来 提供单个突发写命令和地址。在已才是供突发写命令和地址后,还可 以经由相同的地址和数据管脚ADQ[15:0]来提供关于突发写命令的 后续数据。
图3D是示出了根据本发明的一个实施例的使用图3A所示的 接口 300的示例性突发写操作的时序图。如所示,在片使能(/CE) 信号降低、地址有效(/ADV )信号降低、写使能(/WE )信号降低、 输出使能(/OE)信号保持在高电平、以及将用于突发写命令的写 地址置于地址和lt据管脚ADQ[15:0]上时,在时间T0开始突发写 操作。
类似于突发读#:作,易失性存储器104可以^皮配置为在指定延
迟后接收关于突发写命令的数据。在图3D所示的情况下,其中 LC=1,可以在由非易失性存储器控制器106发出突发写命令后的两 个时钟,通过非易失性存储器控制器106将数据提供给易失性存储 器104。因而,在时间Tl开始并在时间T2和T3持续,因此可以 在地址和凄t据管脚ADQ[15:0]上,通过非易失性存4诸器控制器106 输出关于突发写命令的数据。在一个实施例中,片选(/CE)信号 可以用于控制突发写操作的长度。因而,当通过非易失性存储器控 制器106提高片使能(/CE)信号时,可以在时间T4处结束突发写 操作。
在本发明的一个实施例中,还可以通过减少专用命令管脚的数 目以及通过地址和数据总线管脚ADQ[15:0]发送命令信息来进一步 简化给定非易失性存储器控制器106和易失性存储器104之间的接 口。因而,图4A是示出了4艮据本发明的一个实施例的用于通过i也 址和数据总线管脚ADQ[15:0]发送命令信息来经过共用总线182进 行通信的第二4妄口 400的框图。如所示,才妻口 400可以包括时钟
(CLK)信号、激活连接至共用总线182的给定非易失性存储器控 制器106的激活(/ACT)信号、共用地址和lt据总线管脚
(ADQ[15:0])、以及上述中断(INT )和复位(RESET)信号。
图4B是示出了根据本发明的一个实施例的用于使用图4A所 示的接口 400复位非易失性存储器控制器106或向非易失性存储器
控制器106提供中断的示例性才喿作的时序图。如所示,在时间T0, 可以将复位命令或中断命令提供给非易失性存储器控制器106。在 复位命令的情况下,可以声明RESET信号。在中断命令的情况下, 可以声明INT信号。取决于所发出的命令的类型(复位或中断), 如上所述,可以使用地址和数据管脚ADQ[15:0]来提供复位矢量 (RV)或中断矢量(IV)。
在 一 个实施例中,可以如上所述经由;也址和婆t才居总线 ADQ[15:0]的一个或多个管脚来提供命令数据。例如,在激活/ACT 信号被降低后,可以使用三个高位管脚来4是供命令代码。例如,如 果地址和^t据总线ADQ[l5:13]的三个高位管脚用于向易失性存4诸 器104传输'000,,则该命令可以是如下参照图4C所述的突发读 命令。然而,如果三个高位管脚用于传输'001,,则该命令可以是 如下参照图4D所述的突发写命令。当发出给定命令时,4氐位管脚 ADQ[12:0]可以用于提供关于命令代码的地址。在已提供命令和地 址后,随后,地址和数据总线管脚ADQ[15:0]中的每个都可以用于 传输关于所接收命令的数据。
图4C是示出了根据本发明的一个实施例的使用图4A所示的 接口 400执行示例性突发读操作的时序图。如所示,可以在激活 (/ACT)信号被降低的时间TO处开始突发读命令,并且经由地址 和数据管脚ADQ[15:0]来提供读命令和地址。然后,可以经由地址 和数据管脚ADQ[15:0]输出读数据,该输出在时间Tl处开始,在 时间T2和T3处持续。在一个实施例中,激活(/ACT)信号可以 用于表示每个突发命令的长度。因此,可以在激活(/ACT)信号升 高的时间T4结束突发读命令。
图4D是示出了根据本发明的一个实施例的使用图4A所示的 接口 400的示例性突发写操作的时序图。如所示,如果写命令可以 在激活(/ACT)信号降j氐的时间TO处开始,并且经由地址和翁:据管脚ADQ[15:0]来提供写命令和地址。然后,可以经由地址和数据 管脚ADQ[15:0]来输出写数据,该输出在时间Tl处开始并在时间 T2和T3处持续。如上所述,在一个实施例中,激活(/ACT)信号 可用来表示每个突发命令的长度。因此,突发写命令可以在激活 (/ACT)信号升高的时间T4处结束。
如上所述,主才几102可以一皮配置经由覆盖窗或其他4几制来向易 失性存储器104提供各种命令。在易失性存储器104已接收到命令 后,易失性存储器104可以向由主才几102指派的一个或多个非易失 性存储器控制器106提供中断。同样如上所述,中断可以提供表示 主机102已发出的命令的类型和/或非易失性存储器控制器106将从 何处获得命令数据(例如,诸如关于命令的纟喿作码、关于命令的地 址、和/或关于命令的数据)的中断矢量。例如,中断矢量可以提供 对应于易失性存储器104中的寄存器的地址或号码,其中,接收中 断的非易失性存储器控制器106可以从易失性存储器104获得用于 为中断提供服务的命令数据。
图5A是示出了易失性存储器104中的示例性寄存器的框图, 其中,主机102可以使用易失性寄存器104来向非易失性存储器控 制器106传送命令数据。如所示,寄存器可以位于覆盖窗地址空间 192中,覆盖窗地址空间192可以包括随机存取存储器(RAM)緩 冲器146、以及USB和ATA寄存器142、以及控制寄存器140。主 机102可以使用控制寄存器140来向一个或多个非易失性存储器控 制器106提供緩沖大小信息、命令操作数、NAND管理器命令(用 于管理非易失性存储器108)、緩冲存取命令、加载-存储命令、和/ 或配置命令。
如上所述,在本发明的一个实施例中,为了向不同的非易失性 存储器控制器106提供不同的命令,可以向每个非易失性存储器控制器106提供单独控制信号(例如,片使能(/CE )信号、激活(/ACT ) 信号、复位(RESET)信号、和/或中断(INT)信号)。
作为用于向每个非易失性存储器控制器106提供单独命令的另 一个选项,可以将主才几102和/或易失性存储器104配置为使用单独 的存储器控制标识(ID)来识别每个独立的非易失性存储器控制器 106。例如,在向易失性存储器104提供命令时,主机102可以使 用独立的存储器控制ID,然后易失性存储器可以使用如上所述的单 独控制信号来向对应的非易失性存储器控制器106传送中断或复位命令。
可选地,除使用单独的控制信号以外,易失性存储器104可以 被配置为当发出中断或复位命令时,向每个非易失性存储器控制器 106提供给定的存储器控制器ID。然后,每个非易失性存储器控制 器106可以检查给定的存储器控制器ID,以确定中断或复位命令是 否被发给那个特定的非易失性存储器控制器106。例如,每个非易 失性存储器控制器106可以具有在制造其间被编码到非易失性存储 器控制器106上的电路中的特定存储器控制器ID。可选地,可以通过烧断非易失性存储器控制器106中的一个或多个熔丝、或通过将存储器控制器ID存储到非易失性存储器控制器106本身的非易失 性存储器中来指定存储器控制器ID。
此外,在一个实施例中,可以使用连接至非易失性存储器控制 器106的一个或多个管脚来指定关于每个非易失性存储器控制器 106的存储器ID。例如,可以通过嵌入式系统的制造商以指定每个 非易失性存储器控制器106的单独存储器控制ID的方式将管脚连 4妻至上^立或下4i电阻器。在一个实施例中,如图5B所示,复位感 应(sense-on-reset, SOR )管脚550可以用于指定每个非易失性存 储器控制器106的存储器控制器ID。当非易失性存储器控制器106 接收到复位(RESET)信号时,非易失性存储器控制器106可以被
配置为加载经由sense-on-reset ( SOR )管脚55(U是供的存储器控制 器ID 552,并当确定是否将由易失性存储器104发出的随后中断和 /或复位命令指给特定的非易失性存储器控制器106时,使用存储器 控制器ID 552。
如上所述,总线仲裁器180可以提供用于4是供对共用总线182 的共用控制的简单且灵活的工具。共用控制可以确定使用共用总线 182的多个非易失性存储器控制器106能够在易失性存储器104和 非易失性存储装置108之间传送数据,而不会经由共用总线182执 行相冲突的存取操作。
虽然以上描述了本发明的实施例,但是在不背离本发明的基本 范围的情况下,可以设计本发明的其它或者另外的实施例,本发明 的范围由附加的权利要求来限定。
权利要求
1.一种对共用总线进行控制的方法,其中,在易失性存储装置和两个或两个以上非易失性存储器控制器之间,经由所述易失性存储装置的非易失性存储器接口来共用所述共用总线,所述方法包括接收来自所述两个或两个以上非易失性存储器控制器中的第一非易失性存储器控制器的关于对所述共用总线进行控制的请求;以及响应于接收所述请求如果所述两个或两个以上非易失性存储器控制器中的每个的优先级表示应准许进行控制,则准许所述第一非易失性存储器控制器对所述共用总线进行控制,其中,当准许所述第一非易失性存储器控制器进行控制时,所述第一非易失性存储器控制器是所述两个或两个以上非易失性存储器控制器中经由所述共用总线来执行数据存取操作的唯一非易失性存储器控制器。
2. 根据权利要求1所述的方法,其中,所述共用总线只被所述易 失性存储装置和所述两个或两个以上非易失性存储器控制器 共用。
3. 根据权利要求1所述的方法,其中,在接收到所述请求之后并 准许进行控制之前,从所述两个或两个以上非易失性存储器控 制器中的第二非易失性存储器控制器获得对所述共用总线的 控制。
4. 根据权利要求1所述的方法,进一步包括在所述非易失性存储器控制器已经由所述共用总线执行 所述数据存取操作之后,接收所述第 一非易失性存储器控制器 放弃的控制。
5. 根据权利要求1所述的方法,其中,响应于从所述易失性存储 装置发送到所述第 一非易失性存储器控制器的中断,接收来自 所述第 一非易失性存储器控制器的所述请求。
6. 根据权利要求1所述的方法,进一步包括当接收到所述第一非易失性存储器控制器对所述共用总 线的控制时,执行从经由所述非易失性存储器控制器的第 一非 易失性存储器接口的非易失性存储装置到经由所述共用总线 和所述非易失性存储器控制器的第二非易失性存储器接口的 所述易失性存储装置的数据传送。
7. 根据权利要求1所述的方法,进一步包括当接收到所述第 一 非易失性存储器控制器对所述共用总 线的控制时,执行从经由所述非易失性存储器控制器的第 一非 易失性存储器接口的非易失性存储装置到经由所述共用总线 和所述非易失性存储器控制器的第二非易失性存储器接口的 所述易失性存储装置的数据传送。
8. —种总线仲裁器电路,包括至两个或两个以上非易失性存储器控制器的控制接口 , 其中,在易失性存储装置和所述两个或两个以上非易失性存储 器控制器之间,经由所述易失性存储装置的非易失性存储器接 口来共用一条共用总线;以及4空制电^各,,皮配置为接收来自所述两个或两个以上非易失性存储器控制 器的第 一 非易失性存储器控制器的关于对所述共用总线进行控制的请求;以及响应于才妄收所述i青求如果所述两个或两个以上非易失性存储器控制 器中的每个的优先级表示应准许进行控制,则准许 所述第 一非易失性存储器控制器对所述共用总线进 行控制,其中,当准许所述第一非易失性存储器控 制器进行控制时,所述第 一非易失性存储器控制器 是所述两个或两个以上非易失性存储器控制器中经 由所述共用总线来执行数据存取操作的唯一非易失 性存储器控制器。
9. 根据权利要求8所述的总线仲裁器电路,其中,所述共用总线 只-故所述易失性存储装置和所述两个或两个以上非易失性存 储器控制器共用。
10. 根据权利要求8所述的总线仲裁器电路,其中,所述控制电路 进一步一皮配置为在接收到所述请求之后并准许进行控制之前,从所述两 个或两个以上非易失性存储器控制器中的第二非易失性存储 器控制器获得对所述共用总线的控制。
11. 根据权利要求8所述的总线仲裁器电路,其中,所述控制电路 进一步一皮配置为在所述第 一非易失性存储器控制器已经由所述共用总线 执行所述数据存取操作之后,接收所述第 一非易失性存储器控 制器放弃的控制。
12. 根据权利要求8所述的总线仲裁器电路,其中,响应于从所述 易失性存储装置发送到所述第 一非易失性存储器控制器的中 断,接收来自所述第一非易失性存储器控制器的所述请求。
13. 根据权利要求8所述的总线仲裁器电路,其中,所述总线仲裁 器电路作为所述两个或两个以上非易失性存储器控制器之一 的一部分一皮包括。
14. 一种存取共用总线的方法,其中,所述共用总线被易失性存储 装置和两个或两个以上非易失性存储器控制器共用,所述方法 包括经由所述共用总线和所述易失性存储装置的第 一非易失 性存储器接口接收来自所述易失性存储装置的中断;以及响应于4妻收所述中断从总线仲裁器电路请求对所述共用总线进行控制;从所述总线仲裁器电路接收表示是否准许对所述共 用总线进行控制的响应;以及如果准许对所述共用总线进行控制,则使用所述共 用总线来为所述中断提供服务,其中,当未准许进行控制 时,所述共用总线不被给定的非易失性存储器控制器使 用。
15. 根据权利要求14所述的方法,其中,为所述中断提供服务包 括接收对所述共用总线的控制;在非易失性存储装置和非易失性存储器数据总线之间, 经由第二非易失性存储器接口执行数据的数据传送;以及在所述易失性存储装置和所述共用总线之间,经由所述 第 一非易失性存储器接口执行所述数据的数据传送。
16. 根据权利要求14所述的方法,其中,为所述中断提供服务包 括接收对所述共用总线的控制;在非易失性存储装置和非易失性存储器数据总线之间, 经由第二非易失性存储器接口执行数据的数据传送;以及在所述两个或两个以上非易失性存储装置之一和所述共 用总线之间,经由第三非易失性存储器接口执行所述数据的数 据传送。
17. 才艮据权利要求14所述的方法,进一步包括接收对所述共用总线的控制;在非易失性存储装置和所述易失性存储装置之间,经由 所述共用总线执行数据的数据传送的第一部分;;故弃对所述共用总线的控制,同时所述两个或两个以上 非易失性存储装置之一为第二中断提供服务;以及在恢复对所述共用总线的控制时,执行所述数据传送的 第二部分。
18. 根据权利要求14所述的方法,其中,所述第一非易失性存储 器接口包括用于提供命令信息的命令管脚、和用于提供地址信 息并纟;M亍非地址信息的数据传送的地址管脚。
19. 根据权利要求14所述的方法,其中,所述第一非易失性存储 器接口包括被配置为提供命令信息、地址信息、并执行非地址 信息的^t据传送的地址管脚。
20. —种非易失性存储器控制器,包括第一非易失性存储器接口 ,被配置为使用非易失性存储 器控制器和至少一个其他非易失性存储器控制器之间的共用总线来与所述易失性存储装置进行通信;第二非易失性存储器接口 ,被配置为与非易失性存储装 置进行通信;以及4空制电^各, 一皮配置为经由所述共用总线和所述易失性存储装置的所述第 一非易失性存储器接口接收来自所述易失性存储装置的 中断;以及响应于4妻收所述中断从总线仲裁器电路请求对所述共用总线进行控制;接收来自所述总线仲裁器电路的表示是否准许 对所述共用总线进行控制的响应;以及如果准许对所述共用总线进行控制,则使用所述 共用总线为所述中断提供服务,其中,在未准许进 行控制时,所述共用总线不被所述非易失性存储器 控制器使用。
21. 根据权利要求20所述的非易失性存储器控制器,其中,为所 述中断提供服务包括接收对所述共用总线的控制;在所述非易失性存储装置和非易失性存储器数据总线之 间,经由所述第二非易失性存储器接口来执行数据的数据传 送;以及在所述易失性存储装置和所述共用总线之间,经由所述 第 一非易失性存储器接口来执行所述数据的数据传送。
22. 根据权利要求20所述的非易失性存储器控制器,其中,为所 述中断才是供服务包括接收对所述共用总线的控制;在所述非易失性存储装置和非易失性存储器数据总线之 间,经由所述第二非易失性存储器接口来执行数据的数据传 送;以及在所述至少一个其他非易失性存储器控制器之间,经由 所述共用总线来执行所述数据的数据传送。
23. 根据权利要求20所述的非易失性存储器控制器,其中,所述 控制电路进一步被配置为接收对所述共用总线的控制;在所述非易失性存储装置和所述易失性存储装置之间, 经由所述共用总线来执行数据的数据传送的第 一部分;放弃对所述共用总线的控制,同时所述至少一个其他非 易失性存储装置为第二中断提供服务;以及当恢复对所述共用总线的控制时,执行所述数据传送的 第二部分。
24. 根据权利要求20所述的非易失性存储器控制器,其中,所述 第一非易失性存储器接口包括用于提供命令信息的命令管脚、 和用于提供地址信息并寺丸行非地址信息的数据传送的地址管 脚。
25. 根据权利要求20所述的非易失性存储器控制器,其中,所述 第一非易失性存储器接口包括被配置为提供命令信息、地址信 息、并执行非地址信息的数据传送的地址管脚。
26. —种系统,包才舌易失性存储装置,具有易失性存储器接口和非易失性存 储器接口;主机处理器,被配置为经由所述易失性存储器接口对所 述易失性存储器进行存取;两个或两个以上非易失性存储器控制器;共用总线,其中,在所述两个或两个以上非易失性存储 器控制器和所述易失性存储装置之间,经由所述非易失性存储 器接口来共用所述总线;以及总线仲裁器电路,包括至所述两个或两个以上非易失性存储器控制器的控 制4妻口; 以及控制电^各,故配置为接收来自所述两个或两个以上非易失性存储器 控制器中的第 一 非易失性存储器控制器的关于对所 述共用总线进行控制的请求;以及响应于接收所述中断如果所述两个或两个以上非易失性存^f诸器 控制器中的每个的优先级表示应准许控制,则 准许所述第一非易失性存储器控制器对所述共 用总线进行控制,其中,当准许所述第一非易 失性存储器控制器进行控制时,所述第一非易 失性存储器控制器是所述两个或两个以上非易 失性存储器控制器中经由所述共用总线执行数 据存取操作的唯一 非易失性存储器控制器。
27. 根据权利要求26所述的系统,其中,所述共用总线只被所述 易失性存储装置和所述两个或两个以上非易失性存储器控制 器共用。
28. 根据权利要求26所述的系统,其中,所述控制电路进一步被 配置为在接收到所述请求之后并准许进行控制之前,从所述两 个或两个以上非易失性存储器控制器中的第二非易失性存储 器控制器获得对所述共用总线的控制。
29. 根据权利要求26所述的系统,所述控制电路进一步被配置为在所述非易失性存储器控制器已经由所述共用总线执行 所述数据存取操作之后,接收所述第 一非易失性存储器控制器 放弃的控制。
30. 根据权利要求26所述的系统,其中,响应于从所述易失性存 储装置发送至所述第一非易失性存储器控制器的中断,接收来 自所述第一非易失性存储器控制器的所述请求。
31. 根据权利要求26所述的系统,其中,所述总线仲裁器电路作 为所述两个或两个以上非易失性存储器控制器之一 的 一部分 被包括。
全文摘要
本发明提供了一种用于控制共用总线的方法和设备。在易失性存储装置和两个或两个以上非易失性存储器控制器之间经由易失性存储器的非易失性存储器接口来共用上述共用总线。在一个实施例中,一种方法包括接收来自两个或两个以上非易失性存储器控制器中的第一非易失性存储器控制器的关于对共用总线的控制的请求。响应于接收该请求,如果两个或两个以上非易失性存储器控制器中的每个的优先级表示应准许进行控制,则准许第一非易失性存储器控制器对共用总线进行控制。当准许第一非易失性存储器控制器进行控制时,第一非易失性存储器控制器是两个或两个以上非易失性存储器控制器中经由共用总线执行数据存取操作的唯一非易失性存储器控制器。
文档编号G06F13/16GK101206626SQ20071030233
公开日2008年6月25日 申请日期2007年12月18日 优先权日2006年12月18日
发明者吴忠勋, 罗姆-申·卡奥 申请人:奇梦达北美公司