首页> 中国专利> 从MMC/SD设备引导主机设备的方法,可从MMC/SD设备引导的主机设备以及可以从其引导主机设备的MMC/SD设备方法

从MMC/SD设备引导主机设备的方法,可从MMC/SD设备引导的主机设备以及可以从其引导主机设备的MMC/SD设备方法

摘要

用于经由接口从外围设备引导主机设备的系统和方法,该接口例如MMC/SD接口,其具有电源端子,具有数据总线端子的数据总线,具有时钟端子的时钟线,以及具有命令端子的命令线。将电源提供给电源端子,并且在加电期间将MMC/SD或类似接口的命令端子设置为低。针对数据传输的起始位监控数据总线。

著录项

  • 公开/公告号CN101361043A

    专利类型发明专利

  • 公开/公告日2009-02-04

    原文格式PDF

  • 申请/专利权人 诺基亚公司;

    申请/专利号CN200680051271.3

  • 发明设计人 K·米利;M·阿弗奈南;

    申请日2006-11-27

  • 分类号G06F9/445(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人吴立明;陈宇萱

  • 地址 芬兰埃斯波

  • 入库时间 2023-12-17 21:27:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-07-30

    专利权的转移 IPC(主分类):G06F9/445 变更前: 变更后: 登记生效日:20140711 申请日:20061127

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

  • 2012-04-04

    授权

    授权

  • 2009-04-01

    实质审查的生效

    实质审查的生效

  • 2009-02-04

    公开

    公开

说明书

技术领域

本发明涉及存储设备,尤其涉及存储卡的接口。更具体地,本发 明涉及多媒体卡(MMC)或安全数字(SD)卡。存在嵌入式大容量 存储器开始通过已知存储卡电接口引入的趋势。即,期望能够使用 类似于大容量存储器的存储卡。至今为止,这种接口的开发和改进 已集中于可移除存储卡。存在一些未解决的问题需要处理,使得接 口也较好地适于嵌入式存储器。

本发明还对之前已知的串行协议存储卡接口(MMC IF)引入了 引导机制。方法可以基于相同信号状态(如在现有技术中)或者可 以使用已经存在的存储卡接口的串行协议。

背景技术

MMC规范的简略规范可以从因特网站点 http://www.mmca.org/compliance/buy spec/MMCA System SummaryV41.pdf下载。

用于具有不同电接口的现有嵌入式大容量存储器组件的引导定 义是已知的。这些已知组件例如是NAND、OneNAND和MDOC大 容量存储器。所有这些所共同的是它们在加电的确定阶段期间使用 某信号状态(例如为引导保留的单独管脚)以向存储器组件指示其 将取数据的第一扇区(典型地512B)到IO缓冲器。作为现有技术 引用的M-systems DiskOnChip(DOC)的技术数据表可以在地址 http://www m-systems.com/NR/rdonlyres/85A96312-0130-47AD-A22C-CB533E28EE7A/0/DOC G3 512Mb 1Gb Rev20.pdf从因特网获取。

存在针对具有不同电接口的其它现有嵌入式大容量存储器组件 的其它已知引导定义。这些种类的组件例如是NAND(参见: http://www.samsung.com/Products/Semiconductor/NANDFlash/index.htm)、OneNAND(参见: http://www.samsung.com/Products/Semiconductor/OneNAND/index.htm)和MDOC(参见: http://www.m-systems.com/site/en-US/Products/DiskOnChip/DiskOnChip/)大容量存储器。所有这些所共同的是它们在加电的确定阶段期 间使用某信号状态(例如为引导保留的单独管脚)以向存储器组件 指示其将取数据的第一扇区(典型地512B)到IO缓冲器。

现有MMC和SD存储卡可以提供执行例如热交换操作的能力, 但是还期望扩展这些存储卡的能力以能够提供更宽泛的功能性。

为了改进存储卡的可用性,期望使用户能够使用存储卡作为可引 导介质。该特征将实现例如MMC(多媒体卡)和SD(安全数字) 卡的更广泛使用,不仅在例如移动蜂窝电话或照相机的自引导设备 中,而且作为可引导存储介质用于例如膝上型和掌上型计算机。

目前,在MMC卡和SD卡领域,在主机设备的引导期间访问第 一(扇区)数据的唯一方法是随着初始化卡的整个过程,读/写寄存 器并执行到已知地址的正常读访问。

现有MMC和SD存储卡接口协议的问题在于不存在定义的有效 引导机制。在主机设备的引导期间访问第一(扇区)数据的唯一方 法是随着初始化卡的整个过程,读/写寄存器并执行到已知地址的正 常读访问。这意味着通过未配置用于自动执行到引导地址的正常读 访问(例如因为要读取的引导数据的地址是不知道的)的设备执行 引导过程实际上是不可能的。

还期望实现更宽泛的可用性,而不必须改变电接口或形状因子, 即不用在加电的确定阶段期间使用为引导保留的附加单独管脚的信 号状态以向存储器组件指示其将取数据的确定扇区到I/O缓冲器。

因此,本发明解决的问题涉及扩展现有MMC和SD卡的能力, 而不改变存储卡的许多特性并且还能够保证完全向下兼容性。

发明内容

根据本发明的一个方面,将引导机制引入在MMC卡/设备和SD 卡/设备中使用的MMC IF的已知串行协议存储卡接口。该方法可以 基于相同信号状态(如现有技术中)或者可以使用已经存在的存储 卡接口的串行协议。

根据本发明的第一方面,提供了用于经由MMC/SD接口从外围 设备引导主机设备的方法。MMC/SD接口包括电源端子、具有数据 总线端子的数据总线、具有时钟(CLK)端子的时钟(CLK)线以 及具有命令(CMD)端子的命令(CMD)线。根据本发明,该方法 包括将电源(以及地)提供给所述电源端子,并且在加电期间将(主 机设备的)所述MMC/SD接口的CMD端子设置为低(信号状态), 随后针对数据传输的起始位监控数据总线。

在MMC/SD卡或设备的标准加电过程中,主机设备在加电期间 将所述MMC/SD接口的CMD端子设置为高。即,该实施方式使用 现有信号来在加电期间指示引导。然而,其旨在执行引导过程是由 主机设备使用的接口中“不期望的”信号。目前,在MMC/SD规范 中未定义在MMC/SD卡或设备的加电过程期间如果CMD线设置为 低会发生什么。

主机设备的所述MMC/SD接口的CMD端子在该周期期间可以 被设置为“低”信号状态;传统上经由CMD先发送“CMD0”命令。 “CMD0”命令是加电过程的命令,GO_IDLE_STATE(CMD0)。 初始化期间使用的下一命令是CMD1命令,SEND_OP_COND(发送 操作条件),以识别具有MMC/SD接口的外围设备的操作电压范围。 初始化过程的其它命令是CMD2和CMD3命令,其中CMD2 (ALL_SEND_CID)请求唯一卡标识号(CID),命令CMD3 (SET_RELATIVE_ADDR)设置相对卡地址(RCA),其短于CID, 用于加速数据交换。

在本发明的示范性实施方式中,该方法进一步包括从所述主机设 备向所述MMC/SD接口的所述时钟端子发送时钟信号,其中在24 个到148个之间,优选地在60个和100个之间,以及最优选地起始 74个或至少起始74个初始化时钟周期的传输期间,所述MMC/SD 接口的所述CMD端子在加电过程之前或期间被设置为低。

在本发明的另一示范性实施方式中,所述方法进一步包括从所述 主机设备向所述时钟端子发送时钟信号,只要卡已经经由所述数据 总线发送了数据,例如,主机设备保持时钟,直到传输了卡必须发 送的所有数据。

在本发明的方法的又一示范性实施方式中,主机设备设置数据总 线端子为低,以指示将用于数据传输的数据总线的宽度。在该实施 方式中,主机设备可以通过例如MMC/SD卡的MMC/SD设备向具有 MMC/SD接口的外围设备信号发送将用于引导数据的数据传输的数 据线/端子的数量。在现有规范中,选择表达MMC/SD设备来表示 MMC/SD存储卡以及嵌入式设备,例如具有MMC/SD接口的嵌入式 存储设备。

例如设想仅将第一数据总线端子(Dat0)设置为低以向具有 MMC/SD接口的外围设备指示仅该端子(单个信道多路)将用于传 输引导数据到主机设备。

即,将用于传输引导数据到主机设备的数据总线线路的各数量拉 为低连同以CMD线低指示引导请求。

通过这些实现,不再需要在用于请求例如引导数据的最初读访问 之前完全初始化组件和设置寄存器。

根据本发明的另一方面,提供了一种用于从具有MMC/SD接口 的外围设备引导的方法。该方法主要涉及引导过程的外围设备侧。 外围设备包括MMC/SD接口,其具有电源端子、具有数据总线端子 的数据总线、具有时钟端子的时钟线以及具有CMD端子的CMD线。 本发明的该方面的方法包括在所述MMC/SD接口的所述电源端子处 接收电源(以及地),在加电之前或其期间在CMD端子处接收低信 号(状态),以及经由数据总线发送预定存储区的起始数据,开始 于起始数据帧的起始位。

在加电期间,具有MMC/SD接口的外围设备在命令线处检测“不 期望的”信号状态以及从预定数据文件开始引导数据的传输、具有 MMC/SD接口的外围设备的存储模块/核心的预定存储区或已定义 “引导数据扇区”。上述用于引导主机设备的方法和用于从具有 MMC/SD接口的外围设备引导的方法的结合互相完成引导过程。设 想还撰写系统权利要求例如包括两个所涉及设备(例如,具有 MMC/SD接口的主机设备和外围设备)的所有步骤。

在示范性实施方式中,在24个到148个初始化时钟周期之间, 优选地在60个和100个初始化时钟周期之间,以及最优选地起始74 个或至少起始74个初始化时钟周期的传输期间,在加电期间如果外 围设备在所述MMC/SD接口的所述CMD端子处接收低信号则仅发 送经由数据总线的预定存储区的所述起始数据。也设想选择预定文 件代替用于传输引导数据的预定存储区。

在本发明的方法的示范性实施方式中,所述方法进一步包括在数 据总线端子接收低信号,指示将用于数据传输的数据总线的宽度, 以及使用所指示的数据总线宽度发送所述数据。

如果例如确定最初两个数据总线端子(Dat0和Dat1)设置为“低” (信号状态),则具有MMC/SD接口的外围设备仅使用这两个端子 (两个信道多路)用于传输引导数据到主机设备。

即,将用于传输引导数据到主机设备的数据总线线路的各数量 “拉到低”连同CMD线低(指示引导请求)。

根据本发明的另一方面,提供了用于从具有MMC/SD接口的外 围设备引导主机设备的方法。主机设备具有MMC/SD接口,其具有 电源端子、具有数据总线端子的数据总线、具有时钟端子的时钟线 以及具有CMD端子的CMD线。方法包括在初始化过程期间从所述 主机设备经由所述MMC/SD接口发送用于引导请求的自变量到所述 外围设备,所述引导请求包括命令,发送时钟(CLK)信号到时钟 (CLK)线,以及针对数据传输的起始位(以及其自己的数据)监 控数据总线的端子。

该实现基于现有串行协议命令的使用。即,“不期望的”信号协 议命令发送到接口以指示主机设备旨在执行引导过程(通过来自具 有MMC/SD接口的外围设备的数据)。这可以例如通过以下步骤实 现:从主机经由MMC/SD接口发送包括复位命令的引导请求的自变 量到外围设备,随后针对数据传输/数据帧的起始位监控数据总线端 子。在初始化过程期间,例如在CMD1阶段(例如,在卡的加电之 后具有MMC/SD接口的外围设备的初始化)期间或紧接其后,发送 用于引导请求的自变量。也设想在命令帧内部发送内部引导请求(例 如,在CMD0命令内部,如在MMC/SD规范中定义的)。

这可以通过修改例如用于CMD0的自变量来实现,其当前是 0X00000000。当值0X00000001用作发送到MMC/SD接口的第一自 变量时,这可以指示引导请求。

在本发明的示范性实施方式中,该方法进一步包括从所述主机设 备发送附加自变量连同用于引导请求的自变量到MMC/SD接口,该 附加自变量指示涉及选自将用于引导扇区读取的数据线的数量以及 要使用的时钟频率/定时模式的组的引导序列的参数等。除了引导请 求之外,用于数据总线宽度的自变量例如可以在命令帧内部传输(例 如,在CMD0的命令帧内部)。

该实施方式使得主机设备能够定义用于其它自变量的附加参数, 涉及在引导请求或引导数据传输过程中(或者与之有关)的引导序 列/引导过程。

在本发明的其它方面中已经描述了,将用于引导数据的传输的总 线宽度还可以由数据总线端子的数量来指示,其可以(在引导请求 自变量的传输之前、期间或之后)被设置为低。也可能使用数据总 线端子的数量,其被设置为“低”信号状态,作为将用于传输的数 据总线端子的数量的指示。

当使用用于Dat0到Dat7端子的二进制编码计数算法时,使用仅 4个例如Dat0到Dat3来定义端子用于确定可以用于传输引导序列的 所有可能数量端子将是足够的。当使用二进制计数算法来定义将用 于传输的2N个数据端子时,仅使用三个Dat端子来定义8(以及到 64)个尚未定义的Dat端子是足够的,否则当N定义例如为(二进 制编码数-1)时,用于单个线路传输的Dat端子将编码为设置为“高” 的所有端子,其进而根本不能解释为总线宽度(因为引导过程期间 的标准信号是设置为“高”的所有数据端子)。也可以设想使用初 始化过程期间设置为“低”的Dat线/端子的仅一个作为用于引导请 求的指示(当或不当其它的将总线宽度编码为频率或其它参数)。

(技术人员将知道,在本实现中,低信号条件将根据各自正或负 的计数方案被解释为二进制“0”或二进制“1”,并且不需要清楚 指明二进制数是否从Dat0到Dat3计数或者仅在偶数或奇数端子中 编码或者从顶到底(Dat7到Dat4)等是无关紧要的。)

该实现留下4到5个自由Dat端子,其进而可以用于编码附加引 导周期参数,例如将用于引导扇区读取的数据线的数量,以及要使 用的时钟频率/定时模式等。

在启动期间数据总线信号的该实现可以在本发明的方法或设备 的所有以上和以下实现中实现。

根据本发明的又一方面,提供了用于具有MMC/SD接口的外围 设备的上述引导数据提供过程。该方法是用于从外围设备引导主机 设备,该外围设备具有MMC/SD接口,其具有电源端子、具有数据 总线端子的数据总线、具有时钟端子的时钟线以及具有CMD端子的 CMD线。该方法包括在具有MMC/SD接口的外围设备的初始化过 程期间在所述外围设备的所述MMC/SD接口处接收来自所述主机设 备的用于引导请求的自变量,在数据总线处接收时钟信号,以及如 果引导数据存储在外围设备中则经由所述MMC/SD接口发送开始于 数据传输的起始位的数据到所述主机设备。

该实现代表使用例如现有串行协议(以及也可以和复位命令), 因为在接口处接收的“不期望的”信号协议命令(其被接收代替通 常期望的CMD0命令)由外围设备(控制器)解释为用于引导数据 的传输的请求。如已经公开的,在主机侧过程中,所述用于引导请 求的自变量可以例如包括在所述MMC/SD接口的复位命令(其可以 包含在修改的CMD0命令中,指示引导请求)。在卡接收例如具有 自变量的复位命令CMD0之后,其将取起始数据到IO缓冲器,并且 开始发送存储的或获取的引导数据到数据总线(至少在时钟端子处 接收时钟信号时)。

在本发明的示范性实施方式中,该方法进一步包括从所述主机设 备接收附加自变量连同用于引导请求的自变量,该附加自变量指示 涉及选自将用于引导扇区读取的数据线的数量以及将用于数据传输 的时钟频率/定时模式的组的引导序列的参数,以及使用所述指示的 参数用于经由所述数据总线传输数据到所述主机设备。这可以在引 导请求中直接实现或者可以通过在Dat0到Dat7端子处检测的各信 号输入/状态指示。

根据本发明的另一方面,提供了用于从具有MMC/SD接口的外 围设备引导主机设备的方法。方法包括开始具有MMC/SD接口的外 围设备的标准初始化数据交换,直到达到具有MMC/SD接口的外围 设备的备用状态,随后从所述备用状态执行所述主机设备和所述外 围设备之间的数据交换以搜索数据总线中的组件中的有效引导。

在引导请求中,也可以在初始化序列的较后阶段中给出自变量, 通过或在(在卡进入备用状态前正常初始化的)CMD0、CMD1、 CMD2、CMD3命令之后。在具有MMC/SD接口的外围设备达到备 用状态之后,主机可以逐一检查总线中的组件以搜索有效引导码。

该方面在主机设备开始应用以有效搜索引导数据之前使用具有 MMC/SD接口的外围设备的传统初始化过程。该实现要求主机设备 能够执行整个初始化过程以及甚至在未引导条件下存储在具有 MMC/SD接口的外围设备上的用于引导数据的搜索/加载例程。其为 至少要求用于具有MMC/SD接口的外围设备的初始化硬编码算法和 用于引导数据搜索/加载的算法的设备。

该实现具有最显著的优点是可以通过各自修改的主机设备和完 全传统的具有MMC/SD接口的外围设备来执行。

根据本发明的另一方面,提供了用于从具有MMC/SD接口的外 围设备引导主机设备的方法。主机设备经由具有数据总线和CMD端 子的MMC/SD接口连接到外围设备。附加地,所述外围设备在具有 MMC/SD接口的所述外围设备的操作条件寄存器中设置有用于引导 请求的附加自变量。在本发明的该方面中,所述方法包括执行具有 MMC/SD接口的外围设备的标准初始化过程,以及在终止所述初始 化过程之后,发送用于引导请求的自变量到所述MMC/SD接口,以 及针对将经由所述MMC/SD接口从外围设备接收的引导数据监控数 据总线。

本发明的该实施方式可以在具有MMC/SD接口的外围设备的初 始化过程的“CMD1”(或较高的后面的CMD号)期间执行。即, 引导数据的传输可以随着外围设备初始化的初始步骤后启动。如在 上述情况中,该方法要求在操作条件寄存器处的改变,从而要求具 有MMC/SD接口的外围设备本身的改变。其进而限定不可能更新现 有(主机设备或)具有MMC/SD接口的外围设备以能够执行该引导 数据传输。

如在本发明的上述情况中,上述方法还包括在外围设备侧的成对 物。在本发明的该实施方式中,提供了用于从具有MMC/SD接口的 外围设备引导主机设备的方法。如在上述情况中,所述外围设备设 置有具有数据总线和CMD端子的MMC/SD接口。具有MMC/SD接 口的外围设备还在所述外围设备的操作条件寄存器中设置有用于引 导请求的附加自变量。本发明的该实施方式包括执行具有MMC/SD 接口的外围设备的初始化过程,以及在终止所述初始化过程之后; 在外围设备处接收用于引导请求的自变量;以及如果所述外围设备 经由所述MMC/SD接口到所述主机设备,则获取和发送来自存储模 块的引导数据。

根据本发明的另一方面,提供了一种用于执行从具有MMC/SD 接口的外围设备引导主机设备的前述方法的可从服务器下载的计算 机程序产品。该计算机程序包括程序代码装置,用于当所述程序在 主机设备、具有MMC/SD接口的外围设备或内插有具有MMC/SD 接口的外围设备的主机设备的系统上运行时执行前述方法的所有步 骤。

根据本发明的又一方面,提供了计算机程序产品,包括存储在计 算机可读介质上的程序代码装置,用于当所述程序产品在主机设备、 具有MMC/SD接口的外围设备或内插有具有MMC/SD接口的外围 设备的主机设备的系统上运行时,执行能够从具有MMC/SD接口的 外围设备引导主机设备的前述方法。

根据本发明的另一方面,提供了计算机数据信号。计算机数据信 号实施在载波中,并且表示一程序,该程序使得计算机在所述程序 产品在主机设备、具有MMC/SD接口的外围设备或内插有具有 MMC/SD接口的外围设备的主机设备的系统上运行时,执行从具有 MMC/SD接口的外围设备引导主机设备的前述方法的步骤。

优选地,计算机程序/计算机程序产品分布在主机设备和具有 MMC/SD接口的外围设备的系统的不同部分中,例如计算机程序的 一部分位于主机设备中,以及一部分计算机程序位于具有MMC/SD 接口的外围设备中。因此,计算机程序和计算机程序设备必须在能 力和源代码上不同。

根据本发明的又一方面,提供了配置用于从具有MMC/SD接口 的外围设备被引导的可引导主机设备。该主机设备包括内部或外部 电源,连接到所述电源的处理器,以及连接到所述处理器和连接到 所述电源的MMC/SD接口。MMC/SD接口包括电源端子、具有数据 总线端子的数据总线、具有时钟端子的时钟线以及具有CMD端子的 CMD线。该主机设备配置用于向所述MMC/SD接口的端子提供电 源,在加电期间将所述MMC/SD接口的CMD端子设置为低(信号 状态),以及针对数据传输的起始位监控数据总线。

本发明的该方面主要涉及能够执行说明书前面部分中公开的引 导过程的主机设备。处理器可以设置有主存储器并且可以有必要执 行引导过程。

基本上,设备排除在MMC/SD接口的命令端子处的不期望的信 号状态。MMC/SD接口的命令线/端子可以被设置为低(代替当前的 上拉)以在初始化期间指示引导请求。即,本发明的原理在于在初 始化过程期间使用(已知或新的)信号作为“不期望的”输入以用 信号通知主机设备实际上请求引导数据。

在可引导主机设备的示范性实施方式中,所述处理器配置用于从 所述主机设备发送时钟信号到所述MMC/SD接口的所述数据总线端 子,以及在24个到148个初始化时钟周期之间,优选地在60个和 100个初始化时钟周期之间,以及最优选地74个初始化时钟周期的 传输时,在加电过程期间将所述MMC/SD接口的CMD端子设置为 低。在该实施方式中,主机设备使用不同的“不期望的信号”以指 示引导数据请求。该实施方式要求具有MMC/SD接口的各外围设备 能够在加电/初始化过程期间在时钟端子识别时钟信号。还设想使用 发送到MMC/SD接口的时钟信号的数量作为用于编码例如要使用的 数据总线的宽度或将用于引导数据传输的频率的参数。

在本发明的主机设备的另一示范性实施方式中,所述处理器进一 步配置用于只要卡开始经由所述数据总线发送起始数据就从所述主 机设备发送时钟信号到所述MMC/SD接口的所述数据总线端子。即, 主机配置用于使时钟端子保持产生时钟信号,直到数据传输的开始 可以从起始数据帧的起始位的接收被主机检测到或者直到所有引导 数据被传输到主机设备。

在本发明的又一示范性实施方式中,所述处理器配置用于将数据 总线端子设置为低,以指示将由插入所述MMC/SD接口的具有 MMC/SD接口的外围设备用于传输的数据总线的宽度。这可以通过 配置用于设置端子Dat0到Dat7为低的处理器来实现,其将用于传 输引导数据。还可以设想实现反向方法以设置将用于引导数据传输 的所有Dat0-7端子为高以指示将使用8位总线宽度。(在这种情况 下,还设想使用配置用于使用在本说明书的方法部分中指示的编码 方案之一的主机设备或具有MMC/SD接口的外围设备。)

根据本发明的另一方面,提供了具有MMC/SD接口的外围设备, 其配置用于引导可引导主机设备(其进而配置用于从具有MMC/SD 接口的外围设备被引导)。根据本发明,所述外围设备包括MMC/SD 接口,连接到所述MMC/SD接口的外围设备控制器,以及连接到所 述外围设备控制器的存储模块。如MMC/SD规范中定义的,MMC/SD 接口设置有电源端子、具有数据总线端子的数据总线、具有时钟端 子的时钟线以及具有CMD端子的CMD线。具有MMC/SD接口的 外围设备的特征在于,所述外围设备控制器配置用于当在外围设备 的所述MMC/SD接口的端子处接收电源,以及在加电期间在所述 MMC/SD接口的CMD端子处接收低信号时,经由数据总线发送预 定存储区的起始数据,开始于起始数据帧的起始位。在具有MMC/SD 接口的外围设备中,所述外围设备控制器连接到所述MMC/SD接口 以及连接到所述存储模块。

还设想设备(控制器)配置用于自动选择用于传输引导数据的存 储模块中的预定文件。应该清楚,加电过程还包括在电源端子处电 源的提供/检测以及提供接地到接地端子(作为MMC/SD接口的电源 端子的一部分)。

在本发明的示范性实施方式中,具有MMC/SD接口的所述外围 设备(控制器)进一步配置用于在24个到148个初始化时钟周期之 间,优选地在60个和100个初始化时钟周期之间,以及最优选地74 个初始化时钟周期的传输期间,仅当在加电过程之前或期间在所述 MMC/SD接口的所述CMD端子处接收低信号时,经由数据总线发 送预定存储区的所述初始数据。

在该实施方式中,MMC/SD卡必须能够对在初始化过程期间接 收的时钟周期的数量进行计数以识别来自主机设备的接收的/指示的 引导请求(其要求具有MMC/SD接口的外围设备的由此修改的设 计)。

在本发明的另一示范性实施方式中,所述外围设备控制器进一步 配置用于在所述MMC/SD接口的数据总线端子处接收低信号,指示 将用于传输的数据总线的宽度,以及使用所指示的数据总线宽度发 送所述数据。该实施方式考虑为侧重MMC卡,其能够在启动过程 期间识别在Dat端子(0-2,0-3或0-7)的信号状态以从该信号获取 将用于传输引导信号的总线宽度。还设想以能够识别例如被二进制 编码的总线宽度数据的方式配置具有MMC/SD接口的外围设备。

即,本发明的该实施方式方面的具有MMC/SD接口的外围设备 能够在加电过程期间检查和识别CMD信号线的信号状态,以及最后 在更复杂的实施方式中,还有CLK和总线线路的信号状态(或脉冲 数量)来识别引导请求。(例如参见设计本发明的方法的规范的部 分。)

根据本发明的另一方面,可引导主机设备配置用于从具有 MMC/SD接口的外围设备被引导。主机设备包括(如所有其它上述 主机设备)电源,连接到所述电源的处理器,以及连接到所述处理 器和连接到所述电源的MMC/SD接口,所述MMC/SD接口具有电源 端子、具有数据总线端子的数据总线、具有时钟端子的时钟线以及 具有CMD端子的CMD线。

该主机设备配置用于在具有MMC/SD接口的外围设备的初始化 过程期间从所述主机设备经由所述MMC/SD接口发送用于引导请求 的自变量到外围设备,以及针对数据传输的起始位监控数据总线。

针对引导请求的所述自变量可以例如包括例如在CMD0阶段期 间发送的在所述MMC/SD接口的复位命令(即在向卡的电源端子提 供推荐电压之后立即的具有MMC/SD接口的外围设备的初始化)。

在本发明的示范性实施方式中,所述主机设备配置用于经由所述 MMC/SD接口发送附加自变量,所述附加自变量指示涉及例如将用 于引导扇区读取的数据线的数量以及要使用的时钟频率/定时模式的 引导序列的参数等。这些附加自变量/参数连同用于引导请求的所述 自变量一起从所述主机设备发送到所述MMC/SD接口。

在本发明的另一示范性实施方式中,所述主机设备进一步配置用 于设置所述MMC/SD接口的数据总线端子为低,用于指示将用于传 输的数据总线的宽度。这实现了能够经由数据总线的数据端子发送 总线信息到具有MMC/SD接口的外围设备用于配置引导数据传输的 主机设备。在本发明的方法描述中给出了指示/用信号通知这些参数 的多个可能性的例子。期望主机设备可以不从具有MMC/SD接口的 传统外围设备引导。

根据本发明的又一方面,提供了具有MMC/SD接口的外围设备, 其配置用于引导可引导主机设备(其进而配置用于从具有MMC/SD 接口的外围设备被引导)。根据本发明,外围设备包括MMC/SD接 口,其包括电源端子、具有数据总线端子的数据总线、具有时钟端 子的时钟线以及具有CMD端子的CMD线;外围设备控制器,连接 到所述MMC/SD接口;以及存储模块,连接到所述外围设备控制器。 进一步根据本发明,具有MMC/SD接口的所述外围设备配置用于如 果在外围设备的所述MMC/SD接口接收来自所述主机设备的用于引 导请求的自变量,以及当在时钟线接收时钟信号时,在引导数据存 储在外围设备中的情况下,经由所述MMC/SD接口发送开始于数据 传输的起始位的数据到所述主机设备。

例如设想如果引导请求包括例如复位命令(如MMC/SD接口规 范中定义的)则具有MMC/SD接口的外围设备识别用于引导请求的 自变量。

在本发明的示范性实施方式中,所述外围设备控制器进一步配置 用于在所述MMC/SD接口端子的数据总线端子处接收低信号,指示 将用于传输的数据总线的宽度,以及其中所述外围设备控制器进一 步配置用于使用将用于传输的数据总线的所述指示的数据总线宽 度。在本发明的上述描述中公开了可以如何将总线宽度编码为 MMC/SD接口的数据端子/线Dat0到Dat7的8位自变量的例子。

在本发明的另一示范性实施方式中,所述外围设备控制器进一步 配置用于从所述主机设备接收附加自变量连同用于引导请求的自变 量,该附加自变量指示涉及例如将用于引导扇区读取的数据线的数 量以及要使用的频率/定时模式的引导序列的参数和/或其它参数。该 实施方式的具有MMC/SD接口的外围设备(控制器)进一步配置用 于根据在所述接收的自变量中指示的所述参数经由所述数据总线发 送所述(请求的引导)数据到所述主机设备。

还可以注意,主机设备的所有上述实现具有主要设计目标,即或 多或少相对于完全初始化MMC/SD接口以及随后搜索存储在具有 MMC/SD接口的所述外围设备上的引导数据的传统方法,缩短到引 导数据的访问时间。

(应该注意,使用术语“MMC/SD接口”指明单独MMC接口或 组合的MMC/SD接口,乃至单独SD接口,因为不是所有MMC接 口也支持SD形状因子)。

如在汽车仪表板的情况下,MMC设计者看来已实现了MMC/SD 接口的初始化过程中的“全高”输入,可能能够检查端子之一是否 有了故障或失效。如果由电子故障造成低信号状态,这是其中本发 明的方法可能产生错误结果的唯一情况。

根据本发明的又一方面,提供了可引导主机设备,其配置用于从 具有MMC/SD接口的外围设备被引导。该主机设备包括电源,连接 到所述电源的处理器,以及连接到所述处理器和连接到所述电源的 MMC/SD接口,所述MMC/SD接口具有电源端子、具有数据总线端 子的数据总线、具有时钟端子的时钟线以及具有CMD端子的CMD 线。本发明的该方面的主机设备配置用于经由所述MMC/SD接口开 始外围设备的标准初始化数据交换,直到达到具有MMC/SD接口的 外围设备的备用状态,以及从所述备用状态执行所述主机设备和所 述外围设备之间的数据交换用于搜索在总线中的组件中的有效引导 代码。

所述处理器可以设置有(可引导)主存储器。(该主机设备配置 为完全不发送“引导请求自变量”,因为主机设备可能能够自主地 搜索可以识别为引导文件/数据的数据文件。)即,通过或在(卡已 进入备用状态前的正常初始化的)CMD0、CMD1、CMD2、CMD3 命令之后的初始化序列的较后阶段中给出引导请求。在具有 MMC/SD接口的外围设备达到备用状态之后,主机可以逐一检查总 线中的组件以搜索有效引导码。

该主机设备可以在主机设备开始应用以有效搜索引导数据之前 使用具有MMC/SD接口的外围设备的传统初始化。具有MMC/SD 接口的外围设备的该实现要求主机设备能够执行整个初始化过程以 及甚至在未引导条件下存储在外围设备上的用于引导数据的搜索/加 载例程。这可以解释为某种BIOS能力,使得设备能够操作MMC/SD 接口以初始化外围设备以及随后搜索引导数据。这可以例如通过至 少用于具有MMC/SD接口的外围设备的初始化硬编码算法和用于引 导数据搜索/加载的算法来实现。

该实现具有显著优点,其可以通过各自修改的主机设备和完全传 统的具有MMC/SD接口的外围设备来执行。然而,用户可能遇到的 事实可以包括用户可能在插槽(即接口)中无意地使用具有MMC/SD 接口的错误外围设备。因此,该实现对于如下应用是尤其有用的, 其中没有具有MMC/SD接口的外围设备例如游戏设备(例如N-gage 游戏操作台),设备将不工作是清楚的,或者其中MMC/SD卡用作 内部固件存储(即用户不访问卡并且可以在没有任何引导数据的情 况下不失败的试图通过具有MMC/SD接口的外围设备操作设备)。

根据本发明的又一方面,可引导主机设备配置用于从具有 MMC/SD接口的外围设备被引导,其中所述外围设备设置有操作条 件寄存器(OCR),具有用于引导请求的附加自变量。如在主机设 备的其它上述实施方式中,所述主机设备包括电源,连接到所述电 源的处理器,以及连接到所述处理器和连接到所述电源的MMC/SD 接口,所述MMC/SD接口具有电源端子、具有数据总线端子的数据 总线、具有时钟端子的时钟线以及具有CMD端子的CMD线。根据 本发明,主机设备配置用于在具有MMC/SD接口的外围设备的初始 化之后发送用于引导请求的自变量到所述MMC/SD接口,以及针对 将要经由所述MMC/SD接口从外围设备接收的引导数据监控数据总 线。

即,主机设备可以在具有MMC/SD接口的外围设备的初始化之 后发送用于引导请求的自变量到所述MMC/SD接口,以及针对将要 经由所述MMC/SD接口从外围设备接收的引导数据监控数据总线。 这可以发生在例如“CMD1”数据交换阶段/周期期间或之后。对比 于上述版本的主机设备,存在设置用于外围设备/在外围设备中的专 用请求用于传输引导数据。即,在该实施方式中,用于主机设备的 引导过程仅包括初始化过程、引导数据请求的传输和引导数据的接 收。在该实现中,具有MMC/SD接口的外围设备知道是否存在引导 数据以及它们存储在什么位置。即使技术人员容易地识别该事实, 清楚规定主机设备实际上知道(即已存储)用于具有MMC/SD接口 的外围设备的操作条件寄存器的引导请求的自变量。

本发明的该实现要求寄存器信息的新定义在CMD1级中定义, 以及OCR寄存器中的附加自变量以指示组件是否内嵌有/包括引导 码。因此,主机可能在发送CMD1时(为CMD1分配的自变量)要 求引导数据。

根据本发明的又一附加方面,提供了具有MMC/SD接口的外围 设备。该外围设备配置用于引导可引导主机设备,该主机设备配置 用于从具有MMC/SD接口的外围设备被引导。该具有MMC/SD接口 的外围设备在操作条件寄存器中设置有用于引导请求的附加自变 量。该外围设备包括MMC/SD接口,其包括电源端子、具有数据总 线端子的数据总线、具有时钟端子的时钟线以及具有CMD端子的 CMD线;连接到所述MMC/SD接口的具有操作条件寄存器的外围 设备控制器;以及连接到所述外围设备控制器的存储模块。

该具有MMC/SD接口的外围设备在操作条件寄存器中设置有用 于引导请求的附加自变量。该具有MMC/SD接口的外围设备(或其 控制器)配置用于在具有MMC/SD接口的外围设备的初始化过程之 后在外围设备处接收用于引导请求的自变量,以及获取(来自存储 模块的所述请求的引导数据)和经由所述MMC/SD接口发送来自外 围设备存储模块的所述引导数据到所述主机设备。因此,外围设备 使得主机设备能够通过发送单个引导数据传输请求来请求引导数 据。然而,MMC/SD的操作条件寄存器必须改变,其固有地包括这 样一个事实,市场上具有MMC/SD接口的传统外围设备实际上不可 能升级具有该额外功能。

在本发明的示范性实施方式中,具有所述用于引导请求的自变量 的所述操作条件寄存器在具有MMC/SD接口的外围设备中实现为硬 编码硬件组件,连接到所述外围设备控制器或在其中实现。

在该硬件解决方案中,将包括引导能力的组件将仅通过其OCR 答复,以及在CMD1握手已完成之后(准备状态),主机可以仅继 续对总线产生时钟信号以再次在数据线中接收起始数据。然而,该 实现要求引导/非引导组件之间的不同硬件。无论如何,没有接收引 导请求,甚至允许引导过程的具有MMC/SD接口的外围设备可以用 作具有MMC/SD接口的非引导外围设备。

在本发明的另一示范性实施方式中,具有所述用于引导请求的自 变量的所述操作条件寄存器实现为在外围设备控制器中运行的软 件。该实施方式表示固件(软件)解决方案,其中总线中的所有组 件将通过其OCR答复直到它们准备好,以及仅最后答复将包括关于 引导能力的有效指示。该实现是更复杂的,因为如下事实,如果在 相同总线中具有多于一个组件,以及能够引导的组件比不能够引导 的组件更早准备好,则引导能力需要再次在初始化序列中较后核实 (例如通过再次分别读取OCR寄存器)。

应该注意,存储卡控制器的存储卡可以进一步设置有从MMC/SD 接口规范已知的附加子元件,例如通电检测模块,存储核心,存储 接口,接口存储卡接口控制器和其它组件。

附图说明

以下,将通过参照附图详细描述本发明,附图中:

图1是示出根据本发明的一个方面的方法的两部分的流程图;

图2示出图1的方法的可选实施方式;

图3示出根据本发明的引导过程的另一实施方式;

图4示出本发明的另一实施方式,其中在具有MMC/SD接口的 外围设备已完全初始化之后传输引导请求;

图5示出经由MMC/SD接口连接的主机设备和具有MMC/SD接 口的外围设备;以及

图6示出各自设置有经由MMC/SD接口连接的专用引导单元的 主机设备和具有MMC/SD接口的外围设备。

具体实施方式

在以下详细描述中,对相同组件给予相同参考标号,不论它们是 否在本发明的不同实施方式中示出。为了清楚简明示出本发明,附 图不一定按照比例绘制,并且可能以某种示意形式示出特定功能。

在图1和随后的图2、3和4中,在左侧示出流程图的主机设备 部分,而在右侧示出的流程图部分指的是由具有MMC/SD接口的外 围设备执行的或在其中执行的动作或过程。

为了进一步示出本发明的方法,一些选择的信号,例如电源 (PWR)、有时甚至分成单个数据信号(Dat0,Dat1,…)的数据 (DAT),时钟(CLK)信号和命令信号以传统左到右的方式指示。 为了更好地指示低信号状态,低信号示出为从高到低的转变。

传统用信号通知以虚线指示(当需要时)。

图1是示出根据本发明的一个方面的方法的两部分的流程图。在 流程图中,主机设备从外围设备经由MMC/SD连接到MMC/SD卡。 流程图开始于左上角,其中主机设备通过向MMC/SD接口的电源端 子提供电源到来向具有MMC/SD接口的外围设备供电。因此,外围 设备接收电源信号(右上)。

同时(或随后)主机设备提供“低”信号到命令线(CMD)。 接收该信号(当根据现有MMC/SD接口规范期望时)高信号状态(以 及后来CMD0命令)的具有MMC/SD接口的外围设备检测(根据现 有MMC/SD接口初始化规范)“不期望的”信号。MMC/SD卡(根 据本发明)配置用于识别该低信号状态并将其监视为引导请求。检 测的引导请求之后,具有MMC/SD接口的外围设备仅获取引导数据 (例如从专用文件或存储区)并经由接口发送到主机设备(如DAT 信号所指示)。

因此,主机设备监控接口的数据端子用于接收引导信号。当接收 数据时,主机设备可以将它们加载到主机设备的主存储器中以实际 地终止引导请求。

为了指示在命令线的传统信号状态(全部时间为高,直到传统初 始化过程的CMD0,CMD1和CMD2,…的传输),在图1中示出 虚线。

图2示出图1的方法的可选实施方式。图1中所公开的补充。图 2开始于与图1的相同步骤。除了在CMD端子处提供的低信号,主 机设备在时钟端子处提供时钟信号(持续至少74个周期或者直到引 导数据已传输)。

通过提供该附加信号,具有MMC/SD接口的外围设备可以在例 如命令端子故障和包含两个不同信号分量的引导请求之间清楚地区 分。

在附加步骤中,主机设备设置数据总线的两个Dat0和Dat1端子 为低,从而指示将用于随后的数据传输的数据总线的宽度。(传统 上,总线端子设置为“高”,如虚线所示。)“低信号”在卡处接 收并由此解释,因此在最后步骤中仅Dat0和Dat1端子示出发送信 号,而Dat2和Dat…端子不用于引导数据传输。

通过该实现,一旦具有MMC/SD接口的外围设备连接,主机设 备可以通过起始步骤开始引导数据的下载,从而显著加速引导过程。

图3类似示出引导过程。对比于图2的实现,使用修改的CMD0 来指示引导请求到具有MMC/SD接口的外围设备。传统上,初始化 过程将包括具有自变量00H的CMD命令。本发明的方法的所示实 现使用(根据传统规范)“不期望的”具有自变量01H的CMD0信 号。通过接收修改的CMD0信号,MMC卡可以识别进入的引导请求, 即使在具有MMC/SD接口的外围设备达到初始化状态之前。

修改的CMD0命令可以单独发送或者(如在图2中)连同时钟 信号一起发送。

可以连同引导请求在命令自变量内传输其它参数。这些种类的附 加参数可以是例如使用的总线宽度和使用的定时模式(各位/值将需 要分配)。

图4示出本发明的另一实现,其中在具有MMC/SD接口的外围 设备已完全初始化即“备用状态”之后传输引导请求。在备用时, 主机设备经由命令线发送引导请求命令到具有MMC/SD接口的外围 设备(并开始对MMC/SD接口的时钟端子产生时钟信号)。该实现 要求各引导请求命令在MMC/SD接口的协议中定义(即在具有 MMC/SD接口的外围设备的操作条件寄存器中)。(还设想主机设 备自主地针对可识别为引导数据的特定数据结构搜索具有MMC/SD 接口的外围设备的存储模块,例如标记有例如“**.bot”的文件名。) 当接收引导请求时,具有MMC/SD接口的外围设备可以自动地定义 希望的引导数据并且可以初始化数据传输。

图5示出经由MMC/SD接口连接的主机设备和具有MMC/SD接 口的外围设备。主机设备包括处理单元(CPU)和MMC/SD接口控 制器。为了避免混淆,示出MMC/SD接口的CMD CLK和DAT端 子的图形。MMC/SD存储卡包括用作接口和存储模块之间的介质的 外围设备控制器,并用于控制将在MMC/SD接口和存储模块之间执 行的所有过程。

在本发明的实现中,主机接口控制器配置用于执行(例如发送执 行要求的信号)本发明的方法。

因此,主机设备(或者主机接口控制器)可以设置有实现为主机 设备中的软件的专用引导模块。

在本发明的实现中,具有MMC/SD接口的外围设备的接口控制 器配置用于执行(例如发送执行要求的信号)本发明的方法。

类似地,MMC/SD接口控制器设置有实现为软件的专用引导模 块。软件引导模块使得外围设备控制器能够确定是否接收指示引导 请求的信号以及引导数据是否将发送到主机设备。

图5示出主机设备和具有MMC/SD接口的外围设备,其中每个 都设置有专用引导模块或引导单元。

在本发明的实现中,连接到主机接口控制器的引导单元/引导模 块配置用于执行(例如发送执行要求的信号)本发明的方法。主机 设备(或主机接口控制器)设置有实现为主机设备中的软件的专用 引导模块。这种引导模块必须连接到CPU以能够确定是否将执行引 导程序。附加地,引导模块或引导单元也必须连接到(MMC/SD) 接口(或控制器)以能够采取引导(或执行)引导程序所需的所有 步骤(即发送所有所需信号)。引导单元可以实现为并行连接到接 口本身和CPU之间的接口控制器的电路。

所述引导模块可以包括组件,用于在加电期间将所述MMC/SD 接口的命令端子设置为低,只要卡已经经由所述数据总线发送数据 就从所述主机设备发送时钟信号到所述MMC/SD接口的所述时钟端 子,将数据总线端子设置为低,以指示将用于数据传输的数据总线 的宽度,和/或可以进一步包括组件,配置用于在初始化过程期间发 送用于引导请求的自变量到MMC/SD接口,发送时钟信号到时钟线, 和/或进一步包括组件,配置用于在具有MMC/SD接口的外围设备的 初始化之后发送用于引导请求的自变量到所述MMC/SD接口,并针 对将经由所述MMC/SD接口从外围设备接收的引导数据的起始位监 控数据总线。

在所述外围设备的另一示范性实施方式中,具有用于引导请求的 所述自变量的所述操作条件寄存器实现为在外围设备控制器中运行 的软件。

在本发明的实现中,MMC/SD接口控制器配置用于通过使用专 用引导模块或引导单元执行(例如发送执行要求的信号)本发明的 方法。

类似地,MMC/SD(存储卡或)接口控制器设置有实现为在 MMC/SD存储设备中硬件实现的软件的专用引导模块。这种引导模 块必须连接到外围设备控制器(或至少连接到接口)以能够确定是 否接收指示引导请求的信号以及引导数据是否将发送到主机设备。 引导模块也可以连接到在外围设备的存储模块上定义的专用引导扇 区以简化引导过程。

所述引导模块可以包括组件,用于在加电之前或期间在命令端子 接收低信号之后经由数据总线发送预定存储区的起始数据,开始于 起始数据帧的起始位。

还设想引导单元或引导模块包括专用组件,接收时钟信号作为指 示引导请求的附加参数,并且可以进一步设置有组件,用于使用由 在数据总线端子处接收的低信号指示的总线宽度发送所述数据。

引导单元还可以设置有专用操作条件寄存器,其具有在具有 MMC/SD接口的所述外围设备中设置的用于引导请求的附加自变 量。

在本发明的又一示范性实施方式中,所述具有用于引导请求的所 述自变量的操作条件寄存器实现为在外围设备控制器中运行的软 件。

本发明的使用实现了通过存储卡接口内插存储器的非常有效的 引导,其中最小化HW/FW的现有管脚/协议的使用改变。

本申请通过示例包含本发明的实现和实施方式的描述。本领域技 术人员将理解,本发明不限于上述实施方式的细节,并且本发明也 可以在不脱离本发明的特征的前提下以其它形式实现。上述实施方 式应认为是示例而不是限制。因此实现和使用本发明的可能性仅由 所附权利要求所限制。从而由权利要求确定的实现本发明的各种选 择,包括等同实现,也属于本发明的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号