专利名称:通过存储器地址映射使处理器与外部设备相接口的桥电路的制作方法
技术领域:
本发明涉及将处理器与多个外部设备相接口的桥电路。
背景技术:
在此提供的背景描述是出于一般地呈现本发明的语境的目的。在此背景技术部分 中描述的范围内的当前所指定的发明人的工作以及在递交时不可以其他方式认为是现有 技术的描述的各方面,既不明确地也不暗示地承认为相对于本公开的现有技术。诸如便携式摄像机之类的消费者电子(CE)设备可包括专用集成电路(ASIC)和硬 盘驱动器(HDD)。ASIC可包括处理器和HDD控制器(HDC)。处理器经由HDC与HDD通信。 HDC通过遵从HDD的存储接口的存储接口与HDD通信。例如,存储接口可包括高级技术附件 (ATA)接口、串行 ATA(SATA)接口等。为了利用具有不同存储接口的HDD,CE设备的HDC可能需要被设计为遵从不同的 存储接口。设计HDC以遵从不同的存储接口增加了 CE设备开发的时间和成本。
发明内容
—种桥电路包括总线、存储器接口模块、存储器控制模块和外部存储控制模块。存 储器接口模块经由存储器接口从处理器接收存储器地址,并且将存储器地址输出到总线。 存储器地址与处理器的地址空间的多个地址区域中的一个相对应。存储器控制模块经由总 线接收存储器地址,并且当存储器地址与多个地址区域中的第一地址区域相对应时与存储 器通信。外部存储控制模块经由总线接收存储器地址,并且当存储器地址与多个地址区域 中的第二地址区域相对应时与外部存储设备通信。桥电路还包括外围设备控制模块,该外围设备控制模块经由总线接收存储器地 址,并且当存储器地址与多个地址区域中的第三地址区域相对应时与外围设备通信。桥电 路还包括外部存储接口,该外部存储接口将外部存储控制模块与外部存储设备相接口。桥 电路还包括外围设备接口,该外围设备接口将外围设备控制模块与外围设备相接口。从详细描述、权利要求和附图中,本发明的进一步适用范围将会变得清楚。详细描 述和具体示例仅意欲出于例示的目的,并且不意欲限制本发明的范围。
从详细描述和附图中,本发明将会被更充分地理解,在附图中图1是根据本公开的电子设备的功能框图2是根据本公开的控制模块和桥电路的功能框图;图3是用于经由存储器总线与外部设备通信的方法的流程图;图4示出根据本公开的控制模块的示例性存储器地址空间;图5示出包括在根据本公开的任务文件寄存器中的示例性信息;图6示出包括在根据本公开的I/O控制寄存器中的示例性信息;图7示出包括在根据本公开的描述表中的示例性信息;以及图8示出包括在根据本公开的通用串行总线(USB)控制寄存器中的示例性信息。
具体实施例方式以下描述本质上仅是示例性的,决不意欲限制本发明及其应用或使用。出于清楚 的目的,在附图中将使用相同的标号来标识类似的元件。这里使用的短语“A、B和C中的至 少一个”应当被解释为意思是使用非排他性逻辑或的逻辑(A或B或C)。应当理解的是,在 不变更本发明的原理的情况下,可以按不同的顺序执行方法内的步骤。这里使用的术语“模块”可以指以下各项、是以下各项的一部分或者包括以下各 项专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、 专用的或成组的)和/或存储器(共享的、专用的或成组的)、组合逻辑电路和/或提供所 描述的功能的其他合适部件。消费者电子(CE)设备通常包括与存储器和外部设备通信的处理器。处理器通常 通过分离的接口访问存储器和外部设备。处理器通过存储器总线访问存储器。处理器通过 外部设备接口访问外部设备。根据本公开的桥电路允许处理器经由存储器总线来访问存储器以及一个或多个 外部设备。更具体而言,当处理器生成读取或写入数据的请求时,桥电路可经由存储器总线 从处理器接收数据的存储器地址。桥电路可基于存储器地址来与外部设备或者存储器通 信。例如,当存储器地址对应于处理器的存储器地址空间的第一区域时,桥电路可与存储器 通信。当存储器地址来自存储器地址空间的第二区域时,桥电路可与外部设备通信。现在参考图1,示例性电子设备10包括控制模块12、硬盘驱动器(HDD) 14、通用串 行总线(USB)设备16以及桥电路18。仅作为示例,电子设备10可包括便携式摄像机。控 制模块12控制电子设备10。在一些实现方式中,HDD 14可被任何合适的外部存储设备取 代。例如,HDD 14可被光盘驱动器取代。USB设备16可包括非易失性半导体存储器(例如, 闪存)。USB设备16还可包括输入/输出设备,诸如键盘和/或打印机。USB设备16可从 电子设备10上拆卸下来。控制模块12经由存储器总线100、桥电路18和外部存储接口 200与HDD 14通信。 外部存储接口 200与HDD 14的存储接口相兼容。例如,外部存储接口 200和HDD 14的存 储接口可包括高级技术附件(ATA)接口、串行ATA(SATA)接口等中的一个。控制模块12经 由存储器总线100、桥电路18和USB接口 300与USB设备16通信。控制模块12经由存储器总线100与桥电路18通信。桥电路18可包括被设计为 将控制模块12与具有不同接口的外部存储装置和外围设备相接口的集成电路(IC)。例如, 桥电路18可被设计为将控制模块12与具有存储器接口的存储器、具有存储接口的外部存 储设备以及具有USB接口的USB设备相接口。桥电路18和控制模块12可在同一 IC上或在不同IC上实现。桥电路18包括存储器20。控制模块12可在存储器20中存储数据。存储器20可 包括随机存取存储器。例如,存储器20可包括动态随机存取存储器(DRAM)。取决于控制模块12所利用的处理器,控制模块12可在地址空间上读取/写入数 据。仅作为示例,地址空间可包括三个分离的地址区域可向存储器20分配地址空间内的 第一地址区域;可向HDD 14分配地址空间内的第二地址区域;并且可向USB设备16分配地 址空间内的第三地址区域。HDD 14和USB设备16可从存储器20或控制模块12接收数据。HDD 14和USB设 备16可通过直接存储器存取(DMA)或经编程的输入/输出(PIO)传送从存储器20接收数 据。HDD 14和USB设备16可向存储器20或控制模块12发送数据。HDD 14和USB设备16 可经由DMA或PIO传送向存储器20发送数据。控制模块12经由存储器总线100与桥电路18通信。存储器总线100可包括 DRAM接口。因此,存储器总线100可包括但不限于用于同步DRAM (SDRAM)、双倍数据速率 DRAM (DDR)、DDR2、DDR3 和Rambus DRAM (RDRAM)的接 口。桥电路18经由外部存储接口 200与HDD 14通信。外部存储接口 200可遵从 各种接口标准。仅作为示例,外部存储接口 200可遵从高级技术附件(ATA)接口、串行 ATA(SATA)接口以及高级技术附件包接口(ATAPI)。外部存储接口 200还可遵从消费者电 子ATA(CE-ATA)接口、个人计算机存储卡国际协会(PCMCIA)接口以及小型计算机系统接口 (SCSI)。桥电路18和USB设备16经由USB接口 300通信。USB接口 300可包括但不限于 USB 1. 1 和 USB 2. 0 接口。现在参考图2,控制模块12可包括处理器22、显示控制模块24、音频-视频(AV) 引擎模块26、外围控制模块28以及第一存储器控制模块30。处理器22执行一个或多个程 序以操作电子设备10。处理器22可向电子设备10的其他部件(例如,存储器20)传送数 据。处理器22还可向电子设备10的其他部件传送命令。例如,处理器22可向HDD 14、USB 设备16和存储器20传送读/写命令。在下文中,术语“数据”和“命令”被可互换地使用。显示控制模块24控制可包括在电子设备10中的显示器(未示出)。AV引擎模块 26可处理由电子设备10获取的音频和视频数据。外围控制模块28可与电子设备10中所 提供的各种外围设备通信。例如,HDD 14可经由外围控制模块28来中断处理器22。显示 控制模块24、AV引擎模块26和外围控制模块28被连接到输入/输出(I/O)接口 400。I/ 0接口 400可包括外围部件互连(PCI)总线。处理器22经由第一存储器控制模块30和I/O接口 400与显示控制模块24、AV引 擎模块26和外围控制模块28通信。处理器22经由第一存储器控制模块30向I/O接口 400 传送数据。处理器22经由第一存储器控制模块30从I/O接口 400接收数据。第一存储器 控制模块30经由I/O接口 400向显示控制模块24、AV引擎模块26和外围控制模块28传 送数据。显示控制模块24、AV引擎模块26和外围控制模块28经由I/O接口 400向第一存 储器控制模块30传送数据。处理器22可经由第一存储器控制模块30和存储器总线100与存储器20、HDD 14 和USB设备16通信。处理器22经由第一存储器控制模块30向存储器总线100传送数据。当处理器22访问地址空间的第一、第二或第三地址区域时,第一存储器控制模块30将来自 处理器22的数据传送到存储器总线100。第一存储器控制模块30将来自存储器总线100的数据传送到处理器22。当处理 器22访问第一、第二或第三地址区域时,第一存储器控制模块30可分别从存储器20、HDD 14或USB设备16接收数据。处理器22访问第一地址区域中的地址以向存储器20写入数据/从存储器20读 取数据。换句话说,当处理器22发出去往/来自存储器20的写/读命令时,处理器22访 问第一地址区域中的地址。第一存储器控制模块30将地址传送到存储器总线100。处理器22访问第二地址区域以向HDD 14写入数据/从HDD 14读取数据。第二 地址区域是与第一地址区域相分离的。处理器22可向第二地址区域中的地址传送命令以 控制HDD 14。例如,处理器22可向HDD 14发出命令以向/从HDD 14上的位置写入/读取 数据。该位置可包括开始地址和扇区数。此外,处理器22可通过读取第二地址区域中的地 址来读取HDD 14的状态。处理器22访问第三地址区域以向/从USB设备16发送/接收数据。第三地址区 域是与第一地址区域和第二地址区域相分离的。处理器22可向第三地址区域中的地址传 送命令以控制USB设备16。例如,处理器22可向/从USB设备16写入/读取数据。处理 器22还可通过第三地址区域中的地址从USB设备16接收数据。例如,处理器22可通过读 取第三地址区域中的地址来接收USB设备16的状态。桥电路18包括存储器接口模块42和内部总线62。存储器接口模块42经由存储 器总线100与控制模块12相接口。存储器接口模块42从存储器总线100接收数据。存储 器接口模块42将来自存储器总线100的数据传送到内部总线62。存储器接口模块42还可 将来自内部总线62的数据传送到存储器总线100。从内部总线62接收的数据可包括从存 储器20、HDD14和USB设备16接收的数据。桥电路18还包括与内部总线62通信的第二存储器控制模块46。第二存储器控制 模块46可将来自内部总线62的数据传送到存储器20。第二存储器控制模块46还可将来 自存储器20的数据传送到内部总线62。向存储器20分配控制模块12的存储器地址空间 内的第一地址区域。因此,当处理器22访问第一地址区域时,第二存储器控制模块46可将 来自内部总线62的数据传送到存储器20。存储器20可存储从第二存储器控制模块46接 收的数据。当处理器22访问第一地址区域时,第二存储器控制模块46还可将来自存储器 20的数据传送到内部总线62。桥电路18还包括与内部总线62通信的外部存储控制寄存器48。向外部存储控制 寄存器48分配控制模块12的存储器地址空间内的第二地址区域。因此,当处理器22访问 第二地址区域时,外部存储控制寄存器48可从内部总线62接收数据。外部存储控制寄存 器48可存储从内部总线62接收的数据。桥电路18还包括转换模块52。外部存储控制寄存器48可将从内部总线62接收 的数据输出到转换模块52。转换模块52将数据转换为可与HDD 14相兼容的命令。例如, 该命令可与ATA、S-ATA, CE-ATA, PCMCIA、SCSI和/或ATAPI的命令相兼容。桥电路18还包括经由外部存储接口 200与HDD 14通信的外部存储接口模块54。 转换模块52向外部存储接口模块54输出命令。外部存储接口模块54经由外部存储接口200向HDD 14传送命令。此外,外部存储接口模块54可经由外部存储接口 200从HDD 14接收数据。例如, 外部存储接口模块54可接收HDD 14的状态。外部存储接口模块54可将所接收的数据传 送到转换模块52。当处理器22访问第二地址区域时,转换模块52将所接收的数据转换为 处理器22可读的数据。转换模块52将数据输出到外部存储控制寄存器48。外部存储接口模块54可经由内部总线62从存储器20或控制模块12接收数据。 外部存储接口模块54可经由外部存储接口 200向HDD 14写入数据。外部存储接口模块54 可经由外部存储接口 200从HDD 14读取数据。外部存储接口模块54可经由内部总线62将 从HDD 14读取的数据传送到存储器20或控制模块12。外部存储接口模块54可通过DMA 传送来向存储器20传送数据。桥电路18还包括当DMA传送完成时可中断处理器22的中 断模块58。中断模块58可经由外围控制模块28和I/O接口 400来中断处理器22。桥电路18还包括与内部总线62通信的USB控制寄存器50。向USB控制寄存器 50分配控制模块12的存储器地址空间内的第三地址区域。因此,当处理器22访问第三地 址区域时,USB控制寄存器50从内部总线62接收数据。USB控制寄存器50可存储从内部 总线62接收的数据。USB控制寄存器50还可将从内部总线62接收的数据输出到转换模块 52。转换模块52接收来自USB控制寄存器50的数据。转换模块52将数据转换为可 与USB设备16相兼容的USB命令。例如,USB命令可与USB 1. 1和/或USB 2. 0相兼容。 桥电路18还包括经由USB接口 300与USB设备16通信的USB接口模块56。转换模块52 向USB接口模块56输出USB命令。USB接口模块56经由USB接口 300向USB设备16传送 USB命令。USB接口模块56可经由USB接口 300从USB设备16接收数据。例如,USB接口模 块56可接收USB设备16的状态。USB接口模块56可将所接收的数据传送到转换模块52。 当处理器22访问第三地址区域时,转换模块52将所接收的数据转换为处理器22可读的数 据。转换模块52向USB控制寄存器50输出数据。USB接口模块56可经由内部总线62从存储器20或控制模块12接收数据。USB 接口模块56可经由USB接口 300向USB设备16传送数据。USB接口模块56可经由USB接 口 300从USB设备16接收数据。USB接口模块56可经由内部总线62将从USB设备16读 取的数据传送到存储器20或控制模块12。USB接口模块56可通过DMA传送向存储器20 传送数据。当DMA传送完成时,中断模块58可中断处理器22。中断模块58可经由外围控 制模块28和I/O接口 400来中断处理器22。现在参考图3,示出了用于经由存储器总线与外部设备通信的示例性方法500。方 法500在步骤501开始。在步骤502,存储器接口模块42经由存储器总线100从控制模块 12接收地址和相应数据。在步骤504,存储器接口模块42将地址和数据传送到内部总线62。在步骤506,第 二存储器控制模块46确定地址是否与第一地址区域相对应。如果相对应,那么在步骤508, 第二存储器控制模块46与存储器20通信(例如,向/从存储器20写入/读取数据)。如 果不相对应,那么方法500继续步骤510。在步骤510,外部存储控制寄存器48确定地址是否与第二地址区域相对应。如果相对应,那么在步骤512,桥电路18经由外部存储接口 200与HDD 14通信。如果不相对应, 那么方法500继续步骤514。在步骤514,USB控制寄存器50确定地址与第三地址区域相对应。在步骤516,桥 电路18经由USB接口 300与USB设备16通信。方法500在步骤518结束。现在参考图4,控制模块12的示例性存储器地址空间包括第一地址区域、第二地 址区域和第三地址区域。第一地址区域被分配给存储器20。第一地址区域可包括描述表 72被写于其中的区域。描述表72包括指定存储器20中数据的读或写位置的信息。第二地址区域被分配给外部存储控制寄存器48。外部存储控制寄存器48可包括 任务文件寄存器74和I/O控制寄存器76。任务文件寄存器74包括用于在HDD 14上读取 和写入数据的位置信息。I/O控制寄存器76包括I/O控制命令。第三地址区域被分配给 USB控制寄存器50。现在参考图5,示出了包括在任务文件寄存器74中的示例性信息。任务文件寄存 器74可包括数据的开始地址,例如,逻辑块地址(LBA)低、LBA中和LBA高。任务文件寄存 器74可包括数据的扇区的数目(例如,扇区计数)。任务文件寄存器74可包括指定设备和 头部的信息(例如,设备/头部)。任务文件寄存器74可包括HDD 14的状态。命令可被写 入任务文件寄存器74中。任务文件寄存器74还可包括控制信息、错误信息以及用于读取 和写入数据的其他信息。现在参考图6,示出了包括在I/O控制寄存器76中的示例性信息。I/O控制寄存 器76包括命令寄存器、状态寄存器、指针寄存器和控制寄存器。命令寄存器包括对HDD 14 的指令(例如,读/写、开始/停止)。状态寄存器包括错误信息和当前描述符。指针寄存 器包括指定描述表72的开始位置的描述指针地址。控制寄存器包括外部存储接口 200的 时钟频率和数据传送模式。现在参考图7,示出了包括在描述表72中的示例性信息。描述表72指定数据的位 置。例如,描述表72包括开始地址(例如,描述地址)、指定传输结束(EOT)的信息以及用 于第一到第η段数据的传送字节,其中η是大于1的整数。EOT指示相应数据的传输结束。现在参考图8,示出了包括在USB控制寄存器50中的示例性信息。USB控制寄存 器50可包括与USB标准相关联的信息。例如,USB控制寄存器50可包括所示的多个寄存
ο可以以各种形式实现本公开的广泛教导。因此,虽然此公开包括具体示例,但是本 公开的真正范围不应当被如此限制,因为在研究了附图、说明书和权利要求后,其他修改就 将会变得明显。
权利要求
一种桥电路,包括总线;存储器接口模块,所述存储器接口模块经由存储器接口从处理器接收存储器地址,并且将所述存储器地址输出到所述总线,其中所述存储器地址与所述处理器的地址空间的多个地址区域中的一个相对应;存储器控制模块,所述存储器控制模块经由所述总线接收所述存储器地址,并且当所述存储器地址与所述多个地址区域中的第一地址区域相对应时与存储器通信;以及外部存储控制模块,所述外部存储控制模块经由所述总线接收所述存储器地址,并且当所述存储器地址与所述多个地址区域中的第二地址区域相对应时与外部存储设备通信。
2.如权利要求1所述的桥电路,还包括所述存储器。
3.如权利要求2所述的桥电路,其中所述存储器包括动态随机存取存储器(DRAM)、同 步DRAM(SDRAM)和双倍数据速率DRAM(DDR)中的至少一个。
4.如权利要求1所述的桥电路,还包括外围设备控制模块,所述外围设备控制模块经 由所述总线接收所述存储器地址,并且当所述存储器地址与所述多个地址区域中的第三地 址区域相对应时与外围设备通信。
5.如权利要求1所述的桥电路,还包括外部存储接口,所述外部存储接口将所述外部 存储控制模块与所述外部存储设备相接口。
6.如权利要求5所述的桥电路,其中所述外部存储接口包括高级技术附件(ATA)接口、 串行ATA(SATA)接口、高级技术附件包接口(ATAPI)、消费者电子ATA(CE-ATA)接口、个人计 算机存储卡国际协会(PCMCIA)接口以及小型计算机系统接口(SCSI)中的至少一个。
7.如权利要求4所述的桥电路,还包括外围设备接口,所述外围设备接口将所述外围 设备控制模块与所述外围设备相接口。
8.如权利要求7所述的桥电路,其中所述外围设备接口包括通用串行总线(USB)接口。
9.如权利要求1所述的桥电路,其中所述存储器接口包括动态随机存取存储器(DRAM) 接口。
10.如权利要求1所述的桥电路,其中所述外部存储设备包括磁存储设备和光存储设 备中的至少一个。
11.如权利要求1所述的桥电路,其中所述外部存储设备经由所述总线与所述存储器通{曰。
12.如权利要求4所述的桥电路,其中所述外围设备经由所述总线与所述存储器通信。
13.一种消费者电子(CE)设备,包括如权利要求1所述的桥电路,并且还包括控制模 块,所述控制模块包括所述处理器,经由所述存储器接口与所述存储器接口模块通信,并且 经由所述存储器接口模块而与所述存储器和所述外部存储设备通信。
全文摘要
一种桥电路包括总线、存储器接口模块、存储器控制模块和外部存储控制模块。存储器接口模块经由存储器接口从处理器接收存储器地址,并且将存储器地址输出到总线。存储器地址与处理器的地址空间的多个地址区域中的一个相对应。存储器控制模块经由总线接收存储器地址,并且当存储器地址与多个地址区域中的第一地址区域相对应时与存储器通信。外部存储控制模块经由总线接收存储器地址,并且当存储器地址与多个地址区域中的第二地址区域相对应时与外部存储设备通信。
文档编号G06F13/40GK101911035SQ200880123203
公开日2010年12月8日 申请日期2008年12月23日 优先权日2007年12月26日
发明者九野信一郎, 松本宗久 申请人:马维尔国际贸易有限公司