会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 实施例 / 半导体系统、半导体装置以及电子装置初始化方法

半导体系统、半导体装置以及电子装置初始化方法

阅读:1067发布:2020-10-05

IPRDB可以提供半导体系统、半导体装置以及电子装置初始化方法专利检索,专利查询,专利分析的服务。并且根据本公开的一个实施例,公开了一种半导体系统。根据一个实施例的半导体系统可以包括例如主机设备和多个电子装置。所述主机设备可对所述多个电子装置以组为单位同时进行初始化。,下面是半导体系统、半导体装置以及电子装置初始化方法专利的具体信息内容。

1.一种半导体系统,包括:

多个电子装置;以及

主机设备,其对所述多个电子装置以组为单位同时进行初始化。

2.根据权利要求1所述的系统,其中,所述主机设备广播用于所述电子装置的初始化的包,所述包包括第一组号和可用于所述初始化的功率单元的第一数目,所述包在所述多个电子装置之间顺序地传送,预先为所述电子装置中的每一个设定第二组号,

功率单元的第二数目是在所述电子装置中的每一个的初始化期间所需的功率单元,当所述第一组号与所述第二组号相匹配且功率单元的所述第一数目不低于功率单元的所述第二数目时,尚未被初始化的电子装置执行所述初始化,将功率单元的所述第一数目更新为在从功率单元的所述第一数目减去功率单元的所述第二数目时获得的差分值,并且将所述包发送到下一电子装置,以及已被初始化的电子装置将所述包发送到下一电子装置而不执行所述初始化。

3.根据权利要求2所述的系统,其中,当前正在被初始化的电子装置在等待初始化完成之后将所述包发送到下一电子装置。

4.根据权利要求2所述的系统,其中,所述包还包括初始化完成标志,并且尚未被初始化的电子装置或当前并非正被初始化的电子装置将所述初始化完成标志更新为指示初始化尚未完成的信息,并且将所述包发送到下一电子装置。

5.根据权利要求4所述的系统,其中,所述主机设备将所述初始化完成标志设定为初始值并且将所述包发送到所述电子装置,在返回其初始化完成标志指示所述初始化完成的包时,所述主机设备确定所有的电子装置完成了初始化,以及在返回其初始化完成标志指示所述初始化未完成的包时,所述主机设备确定存在至少一个未完成初始化的电子装置。

6.根据权利要求2所述的系统,当所述初始化完成标志指示初始化未完成时,其中,当从所述电子装置接收到具有与发送时的功率单元数目不同的功率单元的所述第一数目的包时,所述主机设备再次发送所述包而不更新所述第一组号,以及当从所述电子装置接收到具有与发送时的功率单元数目相同的功率单元的所述第一数目的包时,所述主机设备更新所述第一组号以再次发送所述包。

7.根据权利要求1所述的系统,其中,所述主机设备将命令发送到所述电子装置以读取所述电子装置的操作性能,所述命令包括指示操作性能的自变量,当电子装置能够支持在所述自变量中指示的第一操作性能时,所述电子装置不改变用于所述第一操作性能的自变量,并且发送所述命令,当所述电子装置不能支持在所述自变量中指示的所述第一操作性能时,所述电子装置将用于所述第一操作性能的自变量改变为被所述电子装置支持的值,并且发送所述命令,以及所述主机设备基于所述命令确定满足所述主机设备和所述电子装置的用于所述第一操作性能的共同操作条件,并且通过广播命令为所述电子装置设定所述共同操作条件。

8.根据权利要求7所述的系统,其中,所述第一操作性能包括所述主机设备和所述电子装置的操作频率、符号长度、支持包的种类、功率控制模式以及重试次数中的至少一个。

9.根据权利要求7所述的系统,其中,所述主机设备从所述电子装置读取第二操作性能,所述主机设备分别确定用于所述电子装置的所述第二操作性能的操作条件,以及在设定了所述第一操作性能之后,所述主机设备分别为所述电子装置设定用于所述第二操作性能的操作条件。

10.根据权利要求9所述的系统,其中,所述第二操作性能包括在数据传送中使用的缓冲区大小和数据传送时机中的至少一个。

11.一种半导体系统,包括:

多个电子装置;以及

主机设备,其能够对所述电子装置进行初始化并且能够将第一电源电压和第二电源电压供应给所述电子装置,所述第二电源电压等于或低于所述第一电源电压,其中,所述电子装置中的每一个包括:装置单元,其使用所述第一电源电压进行操作;

以及控制器单元,其使用所述第二电源电压进行操作以执行与所述主机设备的接口处理,所述控制器单元包括寄存器,所述寄存器保持所述主机设备与所述电子装置之间的操作条件信息,以及当所述电子装置处于特定状态时以及在即使关闭了所述第一电源电压仍供应所述第二电源电压时,保持所述寄存器中的所述操作条件信息。

12.根据权利要求11所述的系统,其中,当在关闭了所述第一电源电压之后再次施加所述第一电源电压时,除非关闭了所述第二电源电压,所述主机设备不对所述电子装置进行初始化。

13.根据权利要求11所述的系统,其中,在供应所述第一电源电压和所述第二电源电压时,所述主机设备能够对所述电子装置进行再初始化,基于在所述电子装置的最近初始化之后所述第二电源电压是否被关闭,所述主机设备判断是否需要所述再初始化。

14.一种半导体装置,包括:

第一电子装置,其接收从主机设备广播的包,所述包包括第一组号和可用于初始化的功率单元的第一数目;以及第二电子装置,其从所述第一电子装置接收所述包,

其中,所述包用于对所述第一电子装置或所述第二电子装置进行初始化,为所述第一和第二电子装置中的每一个设定第二组号,以及在尚未被初始化的所述第一电子装置接收到所述包的情况下,

当所述第一组号与所述第二组号相匹配且功率单元的所述第一数目不低于所述第一电子装置的所述初始化所需的功率单元的第二数目时,所述第一电子装置执行初始化,将功率单元的所述第一数目更新为在从功率单元的所述第一数目减去功率单元的所述第二数目时获得的差分值,并且将所述包发送到所述第二电子装置,以及在正被初始化的所述第一电子装置接收到所述包的情况下,

所述第一电子装置等待初始化的结束,然后发送所述包而不执行对所述第二电子装置的初始化,以及在已被初始化的所述第一电子装置接收到所述包的情况下,

所述第一电子装置立即发送所述包而不执行对所述第二电子装置的初始化。

15.根据权利要求14所述的装置,其中,当在初始化期间接收到所述包时,所述第一电子装置在初始化完成之后发送所述包。

16.一种用于对电子装置进行初始化的方法,包括:

由所述电子装置接收来自主机设备的广播的包,所述包包括第一组号和可用于初始化的功率单元的第一数目;

在多个电子装置之间顺序地传送所述包,为所述电子装置中的每一个设定第二组号,所述电子装置中的每一个的初始化需要功率单元的第二数目;以及当所述第一组号与所述电子装置的所述第二组号相匹配且功率单元的所述第一数目不低于用于所述电子装置的功率单元的所述第二数目时,尚未被初始化的电子装置执行初始化,将功率单元的所述第一数目更新为在从功率单元的所述第一数目减去功率单元的所述第二数目时获得的差分值,并且将所述包发送到下一电子装置;

等待初始化的完成且将所述包发送到下一电子装置,而不由正在被初始化的电子装置执行初始化;以及立即将所述包发送到下一电子装置,而不由已被初始化的电子装置执行初始化。

17.根据权利要求16所述的方法,其中,当前正在被初始化的电子装置在等待初始化完成之后将所述包发送到下一电子装置。

1.一种半导体系统,包括:

多个电子装置;以及

主机设备,其对所述多个电子装置以组为单位同时进行初始化,其中,所述主机设备广播用于所述电子装置的初始化的包,所述包包括第一组号和可用于所述初始化的功率单元的第一数目,所述包在所述多个电子装置之间顺序地传送,

预先为所述电子装置中的每一个设定第二组号,

功率单元的第二数目是在所述电子装置中的每一个的初始化期间所需的功率单元,当所述第一组号与所述第二组号相匹配且功率单元的所述第一数目不低于功率单元的所述第二数目时,尚未被初始化的电子装置执行所述初始化,将功率单元的所述第一数目更新为在从功率单元的所述第一数目减去功率单元的所述第二数目时获得的差分值,并且将所述包发送到下一电子装置,以及已被初始化的电子装置将所述包发送到下一电子装置而不执行所述初始化。

2.根据权利要求1所述的系统,其中,当前正在被初始化的电子装置在等待初始化完成之后将所述包发送到下一电子装置。

3.根据权利要求1所述的系统,其中,所述包还包括初始化完成标志,并且尚未被初始化的电子装置或当前并非正被初始化的电子装置将所述初始化完成标志更新为指示初始化尚未完成的信息,并且将所述包发送到下一电子装置。

4.根据权利要求3所述的系统,其中,所述主机设备将所述初始化完成标志设定为初始值并且将所述包发送到所述电子装置,在返回其初始化完成标志指示所述初始化完成的包时,所述主机设备确定所有的电子装置完成了初始化,以及在返回其初始化完成标志指示所述初始化未完成的包时,所述主机设备确定存在至少一个未完成初始化的电子装置。

5.根据权利要求1所述的系统,当所述初始化完成标志指示初始化未完成时,其中,当从所述电子装置接收到具有与发送时的功率单元数目不同的功率单元的所述第一数目的包时,所述主机设备再次发送所述包而不更新所述第一组号,以及当从所述电子装置接收到具有与发送时的功率单元数目相同的功率单元的所述第一数目的包时,所述主机设备更新所述第一组号以再次发送所述包。

6.一种半导体系统,包括:

多个电子装置;以及

主机设备,其对所述多个电子装置以组为单位同时进行初始化,

其中,所述主机设备将命令发送到所述电子装置以读取所述电子装置的操作性能,所述命令包括指示操作性能的自变量,当电子装置能够支持在所述自变量中指示的所述操作性能时,所述电子装置不改变用于所述操作性能的自变量,并且发送所述命令,当所述电子装置不能支持在所述自变量中指示的所述操作性能时,所述电子装置将用于所述操作性能的自变量改变为被所述电子装置支持的值,并且发送所述命令,以及所述主机设备基于所述命令确定满足所述主机设备和所述电子装置的共同操作性能,并且通过广播命令为所述电子装置设定所述共同操作性能。

7.根据权利要求6所述的系统,其中,所述操作性能涉及所述主机设备和所述电子装置的操作频率、符号长度、支持包的种类、功率控制模式以及重试次数中的至少一个。

8.一种半导体系统,包括:

多个电子装置;以及

主机设备,其对所述多个电子装置以组为单位同时进行初始化,

其中,所述主机设备从所述电子装置读取操作性能,

所述主机设备分别确定所述电子装置的操作性能,以及

所述主机设备分别为所述电子装置设定所述操作性能。

9.根据权利要求8所述的系统,其中,所述操作性能涉及在数据传送中使用的缓冲区大小和数据传送时机中的至少一个。

10.一种半导体系统,包括:

多个电子装置;以及

主机设备,其能够对所述电子装置进行初始化并且能够将第一电源电压和第二电源电压供应给所述电子装置,所述第二电源电压等于或低于所述第一电源电压,其中,所述电子装置中的每一个包括:装置单元,其使用所述第一电源电压进行操作;

以及控制器单元,其使用所述第二电源电压进行操作以执行与所述主机设备的接口处理,所述控制器单元包括寄存器,所述寄存器保持所述主机设备与所述电子装置之间的操作条件信息,以及当所述电子装置处于特定状态时以及在即使关闭了所述第一电源电压仍供应所述第二电源电压时,保持所述寄存器中的所述操作条件信息。

11.根据权利要求10所述的系统,其中,当在关闭了所述第一电源电压之后再次施加所述第一电源电压时,除非关闭了所述第二电源电压,所述主机设备不对所述电子装置进行初始化。

12.根据权利要求10所述的系统,其中,在供应所述第一电源电压和所述第二电源电压时,所述主机设备能够对所述电子装置进行再初始化,基于在所述电子装置的最近初始化之后所述第二电源电压是否被关闭,所述主机设备判断是否需要所述再初始化。

13.一种半导体装置,包括:

第一电子装置,其接收从主机设备广播的包,所述包包括第一组号和可用于初始化的功率单元的第一数目;以及第二电子装置,其从所述第一电子装置接收所述包,

其中,所述包用于对所述第一电子装置或所述第二电子装置进行初始化,为所述第一和第二电子装置中的每一个设定第二组号,以及在尚未被初始化的所述第一电子装置接收到所述包的情况下,

当所述第一组号与所述第二组号相匹配且功率单元的所述第一数目不低于所述第一电子装置的所述初始化所需的功率单元的第二数目时,所述第一电子装置执行初始化,将功率单元的所述第一数目更新为在从功率单元的所述第一数目减去功率单元的所述第二数目时获得的差分值,并且将所述包发送到所述第二电子装置,以及

说明书全文

半导体系统、半导体装置以及电子装置初始化方法

[0001] 相关申请的交叉引用
[0002] 本申请基于且要求2009年12月17日提交的序号为2009-286791和2010年2月2日提交的序号为2010-021569的日本专利申请的优先权的权益;通过引用将上述两个日本专利申请的全部内容并入到本文中。

技术领域

[0003] 本文中介绍的实施例一般涉及半导体系统、半导体装置以及电子装置初始化方法。例如,实施例涉及包括多个电子装置的半导体系统。

背景技术

[0004] 公知SDTM卡是使用NAND型闪速存储器的存储器系统。公知SD接口是SD卡与主机设备之间的接口。在SD接口中,多个装置可以连接到一个总线。例如,序号为6,820,148的美国专利公开了上述配置。
[0005] 然而,在传统的方法中,当由一个主机设备控制多个装置时,对这些装置进行初始化需要花费较长的时间。

发明内容

[0006] 一般来说,根据一个实施例,一种半导体系统包括主机设备和多个电子装置。所述主机设备对所述多个电子装置以组为单位进行初始化。

附图说明

[0007] 图1是根据第一实施例的半导体系统的框图;
[0008] 图2是示例了第一实施例的半导体系统的操作的流程图;
[0009] 图3和图4是第一实施例的符号(symbol)和信号的时序图;
[0010] 图5是第一实施例的半导体系统的框图;
[0011] 图6是第一实施例的电子装置的框图;
[0012] 图7和图8是第一实施例的框格式(frame format)的概念图;
[0013] 图9和图10是示例了第一实施例的主机设备和电子装置的操作的流程图;
[0014] 图11是第一实施例的半导体系统的框图;
[0015] 图12是第一实施例的框格式的概念图;
[0016] 图13和图14是示例了第一实施例的电子装置的流程图;
[0017] 图15到18是第一实施例的半导体系统的框图;
[0018] 图19是示例了第一实施例的电子装置的性能(capability)的图;
[0019] 图20是第一实施例的框格式的概念图;
[0020] 图21是根据第二实施例的框格式的概念图;
[0021] 图22和图23是示例了第二实施例的电子装置和主机设备的操作的流程图;
[0022] 图24到30是第二实施例的半导体系统的框图;
[0023] 图31是第二实施例的框格式的概念图;
[0024] 图32是根据第三实施例的半导体系统的框图;
[0025] 图33是示例了第三实施例的标志(flag)和主机设备的操作的图;
[0026] 图34和图35是根据第四实施例的半导体系统的框图;
[0027] 图36是根据第五实施例的半导体系统的框图;
[0028] 图37是根据第六实施例的半导体系统的框图;以及
[0029] 图38是示例了第六实施例的为电子装置的信号引脚分配信号的图。

具体实施方式

[0030] [第一实施例]
[0031] 下面将介绍根据第一实施例的半导体系统和电子装置初始化方法。图1是示例了第一实施例的半导体系统的实例的框图。
[0032] <半导体系统的配置>
[0033] 参见图1,半导体系统1包括主机设备2和半导体装置3。
[0034] 主机设备2包括至少一个输入端口和至少一个输出端口。主机设备2通过端口控制半导体装置3的操作,以管理半导体系统1的操作。例如,根据LVDS(低电压差分信号)方法,将每个端口配置为差分对。下文中,将从主机设备2的输出端口输出的信号称为信号D0,并且将信号D0的差分信号称为信号D0+和D0-。将输入到主机设备2的输出端口的信号称为信号D1,并且将信号D1的差分信号称为信号D1+和D1-。主机设备2汇编(assemble)包括命令和数据的包(packet),并且主机设备2将包发送给半导体装置3以控制半导体装置3的操作。主机设备2接收从半导体装置3发送的包,以根据所接收的包执行操作。
[0035] 半导体装置3包括N个(N是大于1的自然数)电子装置4。下文中,当彼此进行区别时,该N个电子装置4被称为电子装置4-i(i是1到N)。
[0036] 在第一实施例中,电子装置4的每一个包括输入信号引脚(pin)5、输出信号引脚6、包解码器7、处理单元8、寄存器9和包更新电路10。类似地,当电子装置4-i彼此进行区别时,将单元称为输入信号引脚5-i、输出信号引脚6-i、包解码器7-i、处理单元8-i、寄存器9-i和包更新电路10-i。
[0037] 包括多个信号的输入信号引脚5用作至少一个输入端口,以接收从外部提供的包。输入信号引脚5将所接收的包传送给包解码器7。
[0038] 包解码器7被配置为能够分析从输入信号引脚5传送的包。包解码器7使用包首部(packet header)中的命令标识符来辨别包的种类。包解码器7命令处理单元8响应于包的种类来执行必要的计算。包解码器7命令包更新电路10在必要时更新所接收的包。
[0039] 处理单元8被配置为能够响应于来自包解码器7的命令执行必要处理。处理内容的实例包括装置的初始化和装置ID的计算。在计算装置ID时,处理单元8使寄存器9保持该装置ID。装置ID表示对于每个电子装置4唯一的号码,并且主机设备可以使用装置ID识别每个电子装置4。当没有广播(broadcast)(例如,单播或多播)所接收的包时,包解码器7将包中的被包括作为地址信息的装置ID与寄存器9中的装置ID进行比较,这允许包解码器7判定该包是否指向半导体装置3。
[0040] 包更新电路10更新所接收的包的有效载荷(payload)的内容,并且包更新电路10将该包从输出信号引脚6输出到外部,所述输出信号引脚6包括多个信号以充当至少一个输出端口。例如,包更新电路10根据处理单元8的计算结果来更新有效载荷的内容。存在从输出信号引脚6输出所述包的两种时机(timing),即,尽可能快地发送所接收的包而不考虑装置对所接收的包的处理状态的情况以及装置执行了对所接收的包的处理之后发送包的情况。这取决于包的命令标识符和装置的状态。
[0041] 具有上述配置的N个电子装置4-1到4-N被环形连接(或链形连接)到主机设备2,如图1所示。即,从主机设备2发送的包被电子装置4-1接收,从电子装置4-1传送到电子装置4-2,并且从电子装置4-2传送到电子装置4-3。之后,重复相似的步骤。然后,将从电子装置4-N的输出信号引脚6-N输出的包返回给主机设备2。图1的半导体装置3包括这样的配置:在该配置中,半导体装置3包括电子装置4-1到4-N以及集线器(hub)(参见第四实施例)。几乎所有的使用环形连接进行的通信段都被用于主机与电子装置之间的通信中,偶尔用于电子装置之间的通信中。例如,当电子装置4-2由于噪声而没有正确地接收到从电子装置4-1发送到电子装置4-2的数据时,电子装置4-2可以发出再次发送数据的请求。此时,向电子装置4-1通知由电子装置4-2通过电子装置4-3到4-N和主机设备2发出的重传请求,这允许电子装置4-1重传数据。
[0042] <半导体系统1的操作>
[0043] 下面将通过参考图2来介绍具有上述配置的半导体系统1在将半导体装置3连接到主机设备2时的操作。图2是示例了半导体系统的操作的流程图。首先,将大体上介绍整个流程。
[0044] 如图2中所示,进行接口选择(步骤S10)。在步骤S10,主机设备2判断是否可以使用连接到半导体装置3的接口,即,半导体装置3是否被连接。当可以使用所述接口时,即,当半导体装置3被连接时(步骤S11中的是),电子装置4中的一个将引导代码(boot code)发送给主机设备2(步骤S12)。接收引导代码的主机设备2执行引导代码并且执行对电子装置4的编号(枚举(enumeration))(步骤S13)。即,将上述装置ID分配给每个电子装置4。
[0045] 在装置ID的分配之后,响应于来自主机设备2的命令,每个电子装置4(步骤S14)被初始化。每个电子装置4通过初始化变为就绪(ready)状态。为了缩短初始化所需要的时间,以多个电子装置4为单位进行初始化。然而,当主机设备2具有对可以供应给电子装置4的电源电流的限制时,同时初始化的装置的数目受到限制,并由此单独地进行初始化。
[0046] 然后,主机设备2获得关于每个电子装置4的信息(步骤S15)。在步骤S15之后,主机设备2基于主机设备2和电子装置4的性能而确定对电子设备4共同的操作条件,并且主机设备2集体地(collectively)设定主机设备2和电子装置4的操作条件(步骤S16)。在该步骤中设定的性能是对整个系统共同的项目。然后,主机设备2确定电子装置4的各个操作条件,并且主机设备2单独地设定电子装置4的各个操作条件(步骤S17)。
[0047] UHS-II卡具有分级结构。因此,当半导体装置3是UHS-II卡时,在步骤S14中对物理层执行初始化。例如,在步骤S16和步骤S17B,对高于物理层的层执行初始化。
[0048] 将顺序地详细介绍每个步骤。
[0049] <步骤S10>
[0050] 将通过参考图3和图4来介绍步骤S10。图3是示例了紧接在将半导体装置3连接到主机设备2之后,从主机设备2发送到半导体装置3的时钟和符号以及从半导体装置3发送到主机设备2的电平和符号(该状态与符号中的时钟同步地通信,并且符号包括多个比特,且由8b/10b编码对符号进行编码)的时序图。图4是紧接在将半导体装置3连接到主机设备2之后,信号D0和D1的时序图。
[0051] 如图3和图4所示的,在时间t1之前,半导体系统1处于断电状态。在断电状态下,主机设备2不生成时钟,并且主机设备2不向半导体装置3发送符号。半导体装置3不向半导体装置3发送符号。因此,在时间t1之前,可以采用电平D0+=D0-=D1+=D1-=“H”或电平D0+=D0-=D1+=D1-=“L”。图4示例了电平D0+=D0-=D1+=D1-=“L”。
[0052] 然后,在时间t1,主机设备2使用差分信号的“H”电平或“L”电平中的一个将STB发送到半导体装置3,以判断接口的可使用性。此时,假设“H”电平是STB。因此,数据链路状态转换为唤醒状态。主机设备2将时钟RCLK输出到半导体装置3。将时钟RCLK供应给电子装置4-0到4-n中的每一个。此后,电子装置4与时钟RCLK同步地执行操作。从而,将电平STB从电子装置4-0传送到电子装置4-N。在时间t2,接收电平STB的电子装置4将电平STB返回给主机设备2。电平STB是指示出主机设备2和电子装置4在彼此同步之前处于备用(standby)状态的信号。
[0053] 主机设备2发送电平STB,从而D0-从“L”电平改变为“H”电平,而信号D0改变为差分电平。半导体装置3发送电平STB,从而D1-从“L”电平改变为“H”电平,而信号D0改变为差分电平。由此,主机设备2通过检测到信号D0和D1改变为差分电平而辨识可以使用的接口。
[0054] 然后,执行处理以将主机设备2和半导体装置3彼此同步。即,主机设备2向半导体装置3发送符号SYN,并且当PLL被锁定时半导体装置3将符号SYN返回给主机设备2。当PLL关于所有半导体装置3都被锁定时,主机设备2接收符号SYN。由于主机设备2的接收时钟与发送时钟RCLK相位不同,有必要锁定用于接收的另一PLL。符号SYN是用于同步的符号。在多次接收符号SYN时PLL被锁定,这允许在主机设备2与半导体装置3之间进行同步通信。
[0055] 图5是电子装置4中的任意一个和主机设备2的框图,特别地示例了与数据链路相关的配置。如图5中所示的,主机设备2包括用于发送信号D0+和D0-的发送I/O 20-1和20-2、用于接收差分信号D1+和D1-的接收I/O 21-1和21-2以及电压电平检测电路22。电压电平检测电路22检测差分信号D1+和D1-的电平改变。当电压电平检测电路22检测到信号电平的改变时,作出可以使用与电子装置4之间的接口的判断。
[0056] 电子装置4包括用于发送差分信号D1+和D1-的发送I/O 23-1和23-2、用于接收差分信号D0+和D0-的接收I/O 24-1和24-2以及电压电平检测电路25。电压电平检测电路25检测差分信号D0+和D0-的电平改变。例如,当主机设备2从电子装置4启动时,电压电平检测电路25检测到信号电平中的改变,这允许启动主机设备2。
[0057] <步骤S12>
[0058] 下面将介绍图2的步骤S12。在半导体装置3中,电子装置4中的任意一个是保持引导代码的存储器装置。此时,仅通过实例的方式,假设电子装置4-N是保持引导代码的存储器装置。引导代码表示启动主机设备2中的系统所需要的程序代码。将引导代码传送到主机装置2的系统存储器,并且由主机设备2执行引导代码。由包括在引导代码中的引导装入程序(boot loader)将装置驱动程序和OS(操作系统)装入到系统存储器上。
[0059] 电子装置4-N从主机设备2接收符号STB并且将符号STB返回给主机设备2。然后,电子装置4-N主动地读取引导代码而不从主机设备2接收命令,并且电子装置4-N将引导代码发送到主机设备2。
[0060] 图6是电子装置4-N的框图,并且图6示例了电子装置4-N的与图1中相比详细的配置。如图6所示,电子装置4-N包括存储器控制器30和NAND型闪速存储器31。存储器控制器30包括包解码器7-N、处理单元8-N、寄存器9-N和包更新电路10-N。NAND型闪速存储器31保持引导代码32。在将电平STB发送到主机设备2之后,处理单元8-N从NAND型闪速存储器31读取引导代码32。处理单元8-N将引导代码32汇编为包并将该包从输出信号引脚6发送到主机设备2。
[0061] 图7是示例了包的配置的示意图。如图7所示,包33包括包首部34和有效载荷35。有效载荷35包括从NAND型闪速存储器31读出的引导代码32。包首部34包括包的目的地。目的地被指示为ID,并且当目的地是主机设备2时,存储ID=“0”。尽管在枚举(enumeration)之前发送了引导代码时尚未确定引导装置的装置ID,例如,将发送源的装置ID=1试探性地分配给引导装置的装置ID。引导代码的大小可以被设定为对主机和引导装置的预设值,或者可以在包首部或引导代码的特定部分中确保指示引导代码的大小的区域。
[0062] 除了电子装置4-N之外的电子装置可以被用作包括引导代码的电子装置。例如,电子装置4-(N-1)可以被用作包括引导代码的电子装置。在这种情况下,首先,电子装置4-(N-1)将包33发送到电子装置4-N。由于包33的目的地是主机设备2,电子装置4-N将包33发送给主机设备2而不进行改变。
[0063] <步骤S13>
[0064] 下面将介绍图2的步骤S13。在步骤S13,主机设备2将装置ID提供给在半导体装置3中包括的电子装置4-0到4-N。例如,在步骤S13中可以采用序号为2009-221468的日本专利申请中公开的方法。图8是在执行步骤S13时由主机设备2发出的包的示意图。
[0065] 如图8中所示的,包40的包首部至少包括字段41-1和41-2。将指示包40的目的地的装置ID存储在字段41-1中。将与提供装置ID的命令对应的命令标识符存储在字段41-2中。有效载荷至少包括字段42-1和42-2。字段42-1指示开始装置ID(开始装置号),并且由最初从主机设备2接收包40的电子装置4-1确定字段42-1的值。在字段42-2中存储完成了装置ID的设定的电子装置4的数目。在电子装置4之间传送包的过程中增加字段42-1的值,这允许主机设备2辨识电子装置4的总数。主机设备2可以通过字段42-1和42-2的值来指定每个电子装置4的装置ID。由于当得到最终的装置号和初始装置号时可以通过减法来计算装置的数目,因此可以在字段42-2中指示最终的装置ID(最终装置号),而不是由完成了装置ID的设定的电子装置4的数目来指示。
[0066] 图9是示例了主机设备2在提供装置ID时的操作的流程图。如图9所示,主机设备2对包进行汇编,以指定装置ID(步骤S20)。即,将与指定装置ID的命令(下文中称为ID提供命令)相对应的命令标识符(字段41-2)设定到包首部,并且将初始值(在第一实施例中为零)设定为开始装置ID(字段42-1)的值以及有效载荷的装置的数目(字段42-2)。
[0067] 主机设备2将在步骤S20中汇编的包发送给半导体装置3(步骤S21)。预先在每个命令中确定是以广播(多播)形式还是以单播形式发送该包。ID提供命令是广播命令。因此,忽略包首部的字段41-1中的目的地,并在图1中连接关系的情况下将包发送到环形连接的初始电子装置4-1。
[0068] 然后,主机设备2从环形连接的最后电子装置4-N接收包(步骤S22)。因此,主机设备2读取所接收的包中的初始装置ID(字段42-1)和装置的数目(字段42-2)(步骤S23)。字段42-1的值是环形连接的初始电子装置4-1的装置ID,并且字段42-2的值是环形连接的电子装置4-1到4-N的数目N。
[0069] 主机设备2使用字段42-1和42-2的值来执行预定计算,以辨识电子装置4-2到4-N的装置ID和装置的总数(步骤S24)。通过装置ID字段的比特的数目来确定可识别的装置的数目。该预定计算意味着电子装置4-2到4-N计算与开始装置ID相关的其ID的规则。例如,该预定计算意味着通过装置的数目来执行增加。因此,例如,从电子装置4-N接收的包中的开始装置ID具有值“n(n是自然数)”,则得到电子装置4-1具有装置ID“n”、电子装置4-2具有装置ID“n+1”且电子装置4-N具有装置ID“n+N”。
[0070] 主机设备2使用在步骤S24中获得的装置ID来管理电子装置4-1到4-3。
[0071] 下面将通过参考图10来介绍电子装置4的操作。图10是示例了电子装置4在接收包括ID提供命令的包时的操作的流程图,并且图10的流程图对于电子装置4-1到4-N是共同的。
[0072] 如图10所示,电子装置4在输入信号引脚5处接收包(步骤S30)。当通过包的字段41-2的命令号辨识出所接收的包包括ID提供命令时,包解码器7命令处理单元8计算其装置ID。
[0073] 响应于该命令,处理单元8确认所接收的包的字段42-1的值(开始装置ID)是否是由主机设备2设定的预定值(在第一实施例中为零)(步骤S31)。当字段42-1的值为零时(步骤S32中的是),处理单元8将除了零之外的任意数字确定为其装置ID,并且处理单元8命令包更新电路10将字段42-1的值(开始装置ID)更新为所确定的装置ID。因此,包更新电路10更新字段42-1。使用不是零的数字的原因是:零已经被分配给了主机设备2的装置ID。
[0074] 另一方面,当字段42-1的值不是由主机设备2设定的预定值时(步骤S32中的否),保持字段42-1的值(步骤S34)。即,处理单元8不命令包更新电路10更新字段42-1的值。处理单元8使用字段42-1执行预定计算,以计算其装置ID(步骤S35)。步骤S35中的计算与图9的步骤S24中的计算相同。例如,步骤S35中的计算意味着将字段42-1(开始装置ID)增加与字段42-2(装置的数目)相对应的次数。
[0075] 然后,处理单元8在寄存器9中存储在步骤S33或S35中确定的其装置ID(步骤S36)。
[0076] 响应于来自包解码器7或处理单元8的命令,包更新电路10更新(增加)所接收的包的字段42-2的值。包更新电路10输出这样的包,在该包中,更新了字段42-2或字段42-1和42-2两者。
[0077] 将通过参考图11来介绍步骤S13中的具体实施例。图11是半导体系统1的框图,并且图11通过实例的方式示例了在半导体装置3中提供15个(N=15)电子装置4的情况。在图11中,在装置之间的箭头的一侧增加的方形标记指示包的有效载荷内容,方形标记的左侧指示字段42-1(开始装置ID),并且右侧指示字段42-2(装置的数目)。
[0078] 如图11所示,首先,从主机设备2广播包括ID提供命令的包。此时,包的字段42-1和42-2的值是由主机设备2设定的预定值(零)(图9的步骤S20和S21)。该包最初由电子装置4-1接收。
[0079] 在电子装置4-1中,由于字段42-1具有值“0”(图10的步骤S32中的是),任意号码被确定为装置4-1的装置ID。在图11中示例的实例中,装置ID是号码“1”。将字段42-1从“0”更新为“1”(图10的步骤S33),将字段42-2的值从“0”增加和更新为“1”(图
10的步骤S37),并且由装置4-1输出字段42-2的更新值。
[0080] 电子装置4-2接收从电子装置4-1输出的包。在电子装置4-2中,由于字段42-1不具有值“0”(图10的步骤S32中的否),通过预定计算方法来计算装置4-2的装置ID(图10的步骤S35)。即,使字段42-1的值增加,所增加的值为字段42-2的值,以将电子装置
4-2的装置ID确定为“1”+“1”=“2”。虽然保持字段42-1的值(图10的步骤S34),将字段42-2的值从“1”增加和更新到“2”(图10的步骤S37),并且由装置4-2输出字段42-2的更新值。
[0081] 相似地,将装置ID分配给电子装置4。即,将装置ID“3”至“15”分配给电子装置4-3到4-15。
[0082] 主机设备2接收从电子装置4-15输出的包。在该包中,字段42-1具有值“1”且字段42-2具有值“15”。因此,主机设备可以辨识出电子装置4-1具有装置ID“1”且电子装置4的总数是“15”(图9的步骤S23)。因此,主机设备2了解到电子装置4-1到4-15分别具有装置ID“1”到“15”。
[0083] <步骤S14>
[0084] 下面将介绍图2的步骤S14。在步骤S14中,主机设备2对半导体装置3中包括的电子装置4-0到4-N进行初始化。图12是主机设备2在执行初始化时发出的包的示意图。
[0085] 如图12所示的,指示初始化命令的命令标识符被包括在包50的包首部51中,并且主机设备2一次可以初始化的电子装置的最大数目M被包括在有效载荷52中。将初始化命令作为广播命令而发出。可以通过命令标识符来判断初始化命令是否是广播命令。或者,可以通过设定发送源ID=发送目的地ID=“0”来定义广播命令。这意味着主机设备2发送包并且主机设备2最后接收该包。
[0086] 图13是示例了电子装置4在接收包括初始化命令的包时的操作的流程图,并且图13的流程图对于电子装置4-1到4-N是共同的。
[0087] 如图13所示,电子装置4在输入信号引脚5处接收包(步骤S40)。当从包的包首部51的命令标识符辨识出所接收的包包括初始化命令时,包解码器7向处理单元8通知在该包中包括的初始化命令以及有效载荷52的电子装置的数目M。处理单元8判断当前是否正在对电子装置4进行初始化。当电子装置4当前正在执行初始化时(步骤S41中的是),处理单元8等待初始化完成(步骤S42)。在初始化完成之后,处理单元8不会再次执行初始化(步骤S43),处理单元8使包更新电路10将所接收的包发送到下一电子装置4(在电子装置4-N的情况下,发送到主机设备2)而不进行改变(步骤S44)。
[0088] 当并非当前正在对电子装置4进行初始化时,处理单元8判断电子装置4是否已经被初始化。当电子装置4已经被初始化时(步骤S45中的是),处理单元8不会再次执行初始化(步骤S43)。处理单元8使包更新电路10将所接收的包发送到下一电子装置4(在电子装置4-N的情况下,发送到主机设备2)而不进行改变(步骤S44)。
[0089] 另一方面,当电子装置4没有被初始化时(步骤S45中的否),处理单元8确认有效载荷52的电子装置的数目M是否为“0”(步骤S46)。当电子装置的数目M为“0”时(步骤S46中的是),处理单元8转到步骤S43,并且处理单元8转到步骤S44而不执行初始化。
[0090] 当电子装置的数目M不是“0”时(步骤S46中的否),处理单元8执行初始化(步骤S47)。处理单元8命令包更新电路10减少有效载荷52的电子装置的数目(步骤S48)。即,将电子装置的数目M更新为M-1。包更新电路10输出其中有效载荷52的电子装置的数目M被更新的包(步骤S44)。此时,响应于步骤S47中的初始化的开始,包更新电路10执行步骤S44中的处理而不等待电子装置4的初始化完成。
[0091] 主机设备2反复地发出初始化包50,直到主机设备2接收到电子装置的数目M不为“0”的初始化包50。在发出初始化包50的同时,重设(reset)可以被初始化的设备的数目。换句话说,主机设备2可以通过接收M ≠“0”的包50来确认完成了对所有电子装置4-1到4-N的初始化。
[0092] 可以通过发送初始化完成确认命令来做出是否完成了对所有电子装置4的初始化的确认。将通过参考图14来介绍电子装置4在接收初始化完成确认命令时的操作。图14是示例了电子装置4在接收包括初始化完成确认命令的包时的操作的流程图,并且图14的流程图对于电子装置4-1到4-N是共同的。
[0093] 如图14中所示,电子装置4在输入信号引脚5处接收包(步骤S50)。当从所接收的包的包首部的命令标识符辨识出该包包括初始化完成确认命令时,包首部7向处理单元5通知该包包括初始化完成确认命令。处理单元8判断当前是否正在对电子装置4进行初始化。当当前正在对电子装置4进行初始化时(步骤S51中的是),处理单元8等待初始化完成(步骤S52)。在初始化完成之后,处理单元8使包更新电路10将所接收的包发送给下一电子装置4(在电子装置4-N的情况下,发送到主机设备2)而不进行改变(步骤S54)。
[0094] 当当前并非正在对电子装置4进行初始化时,处理单元8判断电子装置4是否已经被初始化。当电子装置4已经被初始化时(步骤S53中的是),处理单元8命令包更新电路10将所接收的包发送给下一电子装置4(在电子装置4-N的情况下,发送到主机设备2)而不进行改变(步骤S54)。因此,将包传送到下一电子装置4。另一方面,当电子装置4尚未被初始化时(步骤S53中的否),处理单元8不将该包发送到下一电子装置4。即,该包停留在电子装置4中。
[0095] 由此,在M个电子装置中的每一个中执行初始化。换句话说,将N个电子装置分成L=(N/M)个组,并且对属于每个组的电子装置一起(collectively)执行初始化(图2的步骤S14-1到S14-L)。
[0096] 将通过参考图15到图18来介绍步骤S14的具体实例。图15到图18是半导体系统1的框图,并且图15到图18示例了其中半导体系统1包括15个(N=15)电子装置4的与图11的情况相类似的情况。在图15到图18中,在装置之间的箭头的一侧增加的方形标记指示包50的有效载荷,即,电子装置的数目M。与图11的情况相类似,假设将装置ID提供给每个电子装置14。
[0097] 图15示例了在发出初始化命令时尚未对任何电子装置4执行初始化的状态。如图15所示,假设主机设备2发出包且电子装置的数目M被设定为“4”。即,主机设备2可以一次对四个电子装置进行初始化。
[0098] 如图15所示,由电子装置4-1接收包括初始化命令的包(M=“4”)。电子装置4-1尚未被初始化(在步骤S45中的否),并且电子装置的数目M为“4”(步骤S46中的否)。因此,处理单元8执行初始化(步骤S47),处理单元8将电子装置的数目M更新为M-1=“3”(步骤S48),并且处理单元8将包发送给下一电子装置4-2。在图15中,将“-1”增加到电子装置4意味着使电子装置的数目M减少。
[0099] 与电子装置4-1相似,接收到包括初始化命令的包(M=“3”)的电子装置4-2执行初始化,并且电子装置4-2将电子装置的数目M从“3”减小和更新为“2”,并且将包发送给电子装置4-3。电子装置4-3和4-4执行相似的操作。
[0100] 作为电子装置4-4对电子装置的数目M进行减小的结果,电子装置的数目M变为“0”。因此,电子装置4-5到4-15将包传送到后续电子装置4-6到4-16而不执行初始化。环形连接的最后的电子装置4-16将具有M=“0”的包发送给主机设备2。
[0101] 主机设备2反复地发出初始化命令,直到主机设备2接收到除了值M=“0”之外的值。或者,在发出了特定次数的初始化命令之后,主机设备2在任意时机发出初始化完成确认命令,以将包括初始化完成确认命令的包发送给半导体装置3。图16示例了其中在图15的状态之后发出了初始化完成确认命令的状态。
[0102] 由电子装置4-1接收包括初始化完成确认命令的包(步骤S50)。由于电子装置4-1已经被初始化(步骤S53中的是),电子装置4-1将该包传送给下一电子装置4-2(步骤S54)。此时,由于电子装置4-1到4-4已经被初始化,该包到达电子装置4-5。然而,电子装置4-5尚未被初始化,该包停留在电子装置4-5中,但是不将包返回到主机设备2。因此,主机设备2能够辨识出其初始化没有完成的电子装置4的存在。
[0103] 因此,主机设备2再次发出包括初始化命令的包,以将该包发送到半导体装置3。图17示出该状态。如图17中所示,由于电子装置4-1到4-4已经被初始化(步骤S41中的是),该包到达电子装置4-5而没有改变。按与图15的方式相似的方式来对电子装置4-5到4-8进行初始化。包括初始化完成确认命令的包到达电子装置4-9。
[0104] 然后,主机设备2发出包括初始化命令的包两次,从而初始化所有的电子装置4。图18示例了这种状态。当所有的电子装置4被初始化时,将包括初始化完成确认命令的包从电子装置4-16发送到主机设备2(图18中的粗线箭头指示包括初始化完成确认命令的包的流)。因此,主机设备2辨识出所有的电子装置4-1到4-16已被初始化。显然,即使没有发出初始化完成确认命令,主机设备2在图18的时刻从电子装置4-15接收到M=“1”(M≠“0”)的包50,从而主机设备2可以辨识出所有的电子装置4已被初始化。
[0105] 上述初始化技术通过对电子装置分组来初始化电子装置,从而缩短了对多个电子装置的初始化并且在主机所支持的电源电流内实现初始化。该方法可以通过限定每个电子装置所需的初始化电流的上限而实现。然而,考虑到有时初始化所需的电流依赖于电子装置。例如,考虑到这样的情况:当初始化所需的电流变为2倍时,可以在一半的时间内执行初始化。在嵌入式系统环境中,有时,可以通过预先在每个电子装置中指定最佳初始化组来进一步缩短初始化时间。可以通过为每个电子装置设定组号来实现该进一步缩短的初始化时间。组号指示在第几次初始化命令中执行对电子装置的初始化。当设定组号时,忽略可以在初始化命令中初始化的装置的数目,每个电子装置对所接收的初始化命令的数目进行计数,并且当所接收的初始化命令的数目与组号相匹配时,每个电子装置开始初始化。当当前正在执行初始化时,电子装置等待初始化完成以输出初始化命令。主机系统可以根据电子装置的特征来选择最佳初始化过程。在第二实施例中详细地介绍了这一点。
[0106] <步骤S15>
[0107] 下面将介绍图2的步骤S15。为了设定所有电子装置可以被操作的条件,主机设备2通过广播发出命令以读取设定值。将诸如最大时钟频率范围、超时值(time-out value)、以及各种符号长度的参数指示为命令的自变量(argument),每个电子装置不更新可被处理的自变量,并且电子装置将不可被处理的自变量更新为可被处理的自变量。主机设备2所接收的参数包括所有电子装置可被操作的条件。
[0108] <步骤S16>
[0109] 下面将介绍图2的步骤S16。由于主机设备2在步骤S15确定对电子装置4共同的操作条件,因此通过广播通过用以写入设定值的命令来对所有电子装置4设定相同的值(对每个电子装置4的寄存器9设定该值)。
[0110] 通过采用具体实例来介绍这一点。图19是示例了在步骤S15中读出的信息的表,并且图19通过实例示例了在15个电子装置的情况下的最大操作频率和操作时机。
[0111] 如图19所示,假设电子装置4-1到4-15分别具有最大操作频率f0到f15,而主机设备具有最大操作频率f0。假设最低频率是电子装置4-3的最大操作频率f3。从图19的信息,主机设备2可以辨识出:所有的电子装置4-1到4-15和主机设备2可以在频率f3下操作。
[0112] 假设电子装置4-1到4-15分别具有操作时机(operation timing)T1到T15,而主机设备2具有操作时机T0。假设最差的时机是电子装置4-1的操作时机T1。从图19的信息,主机设备2可以辨识出:所有电子装置4-1到4-15和主机设备2可以在操作时机T1下操作。
[0113] 作为参照性能(capability)的结果,主机设备2将电子装置4-1到4-15的操作频率确定为操作频率f3,并且将电子装置4-1到4-15的操作时机确定为操作时机T1。主机设备2将操作频率f3和操作时机T1作为操作条件写入每个电子装置4的寄存器9中。图20示例了此时由主机设备2发出的包60。
[0114] 如图20所示,在包60中,将与寄存器写命令相对应的命令标识符存储在包首部61中,并且将操作频率f3和操作时机T1存储在有效载荷62中。通过发送该包60,将操作频率f3和操作时机T1顺序地写入每个电子装置4的寄存器中(步骤S16-1到S16-N)。可以通过广播、单播或多播来发送包60。
[0115] 除了最大操作频率和操作时机之外,在步骤S16中设定的配置还可包括特定符号的长度、所支持的包的种类、功率控制模式和重试的次数。
[0116] <步骤S17>
[0117] 下面将介绍图2的步骤S17。在步骤S15和S16的序列中确定对所有电子装置4共同的操作条件。有时,传送块大小(transfer block size)等依赖于各个I/O装置。因此,当电子装置4具有应当分别设定的参数时主机设备2使用单播命令来读出电子装置4的性能(图2的步骤S17A-1、S17A-1、...和S17A-N),主机设备2确定既满足主机设备2的性能也满足电子装置4的性能的最佳值,并且主机设备2使用单播命令为电子装置4设定最佳值(图2的步骤S17B-1、S17B-1、...和S17B-N)。
[0118] 参数的实例包括在数据传送中使用的缓冲区的大小和数据传送时机。
[0119] <效果>
[0120] 如上所述,可以在第一实施例的半导体装置中实现初始化操作的速度提高。
[0121] (1)在第一实施例的配置中,主机设备2可以通过检测电压电平来判断可以使用可被连接到电子装置4的总线接口(图2的步骤S10)。即,主机设备2将电平STB发送到电子装置4,并且当从电子装置4返回电平STB时主机设备2判定可以使用该总线接口。换句话说,通过检测到在信号D0从同相电平改变为差分电平之后信号D1从同相电平改变为差分电平,主机设备2判定可以使用该总线接口。
[0122] 这同样适用于电子装置4。当主机设备2将电平STB发送到电子装置4时,电子装置4检测到信号D0从同相电平改变为差分电平,并且电子装置4判定可以使用该总线接口。
[0123] 由此,通过检测信号D0和D1的电压电平,可以高速地判断总线接口的可使用性。当总线接口可以使用时,主机设备2发送信号SYN,从而每个电子装置4使用输入符号SYN来使内部时钟同步。在通过内部PPL而时钟同步期间,电子装置4连续地输出电平STB,并且当时钟同步完成时,电子装置4输出与时钟同步的符号SYN。当接收到符号SYN时,主机设备2辨识出所有电子装置4完成了同步。
[0124] 在接收到符号SYN之后,主机设备2发送符号IDLE(图3的时刻t4)。符号IDLE是指示主机设备2处于空闲状态的符号。
[0125] (2)在第一实施例的配置中,当接收到符号IDLE时,保持引导代码的电子装置4主动地将引导代码发送给主机设备2而不等待来自主机设备2的命令(图2的步骤S12)。
[0126] 当主机设备2发出所述命令时,需要多个命令过程。因此,读取引导代码需要花费相对较长的时间。在不包括引导装置的系统中,需要实现专用的引导ROM以读取从存储器装置启动系统的程序。
[0127] 另一方面,在第一实施例中,由于主机控制器将引导代码从引导装置直接装载到系统存储器,因此不需要主机设备2生成命令,并且省略了引导ROM,这允许实现成本降低。因此,在主机设备2中,系统快速地启动,并且在电子装置4中可以实现初始化的速度提高。
[0128] (3)在第一实施例的配置中,在装置ID的分配期间,主机设备2广播包以请求每个电子装置4的装置ID(图2的步骤S13)。在每个电子装置4中发出装置ID时,在电子装置4之间按照连接顺序来传送包。每次当包通过电子装置4时,更新包中的装置ID,并且更新后的值成为每个电子装置4的装置ID。因此,装置ID不会彼此重叠。因此,不需要主机设备2确认装置ID之间的重叠的存在或不存在,从而可以简化初始化操作。
[0129] (4)在第一实施例的配置中,使用与装置ID的分配相似的广播命令来执行初始化(步骤S14)。因此,可以实现初始化的速度提高。
[0130] 通常,最多花费大约1秒钟来执行初始化。因此,在包括多个电子装置的系统中,通过用于在每个电子装置中发出命令的方法,用户需要花费较长时间等待初始化完成。
[0131] 然而,当使用广播命令时,由主机设备2发出的命令的数目可以降低而简化初始化序列。由一个命令同时对多个电子装置进行初始化,这允许缩短初始化时间。
[0132] 主机设备2确定同时初始化的电子装置4的数目。通常,100mA的电流是初始化一个电子装置4所需的最大电流。然而,存在对主机设备的电流供应性能的限制。因此,主机设备2存储在包括初始化命令的包中可被初始化的电子装置的数目,并且主机设备2同时初始化与该包中存储的电子装置的数目相同的电子装置。以该数目为单位顺序地初始化电子装置4,这允许在主机设备2的电流供应性能内在较短的时间内执行初始化。
[0133] 可以采用使用组号的方法以进一步提高初始化速度。在上述示例方法中,尽管初始化电流被限制为最大100mA,有时,当更大的电流通过时,初始化时间可被缩短。在这样的情况下,将待初始化的电子装置分成组,主机系统可以为这些组供应电流,预先将组号写入电子装置中,对发出的初始化命令的数目进行计数,以及当计数值与组号匹配时电子装置开始初始化。因此,主机系统可以更有效地定制初始化。
[0134] (5)在第一实施例的配置中,基于主机设备2和电子装置4的性能而确定既满足主机设备2也满足电子装置4的共同操作条件(图2的步骤S15和S16)。
[0135] 例如,在传统系统中,通过总线的规范来确定最大操作频率。当总线频率极度增加时,电子装置侧或主设备侧难以支持该总线频率。仅总线的速度提高意味着对于存储器装置的极小的速度提高,并且应当根据存储器装置的写入或读取性能确定数据传送速率。例如,由于存储器性能限制存储器装置的性能,即使提高了总线操作频率以提高总线接口速度,功率消耗也会不利地增加。
[0136] 另一方面,在第一实施例中,通过参照主机设备2和电子装置4的性能,确定既满足主机设备2也满足电子装置4的共同操作条件。因此,可以将最佳操作条件设定为操作性能的至少一部分,并且可以提升半导体系统1的操作性能。使用广播命令将操作条件发送到多个电子装置4,从而相比于在每个电子装置4中确定操作条件的情况,可以实现初始化的速度提高。
[0137] (6)在第一实施例的配置中,分别确定电子装置4的操作条件(图2的步骤S17)。因此,电子装置4可以有效地发挥操作性能。即,虽然在步骤S15和S16中确定应当共有的操作条件,在步骤S17中确定不需要共有的点。分别确定操作条件,这允许每个电子装置4发挥不依赖于其它电子装置4的性能的优良操作性能。
[0138] <第二实施例>
[0139] 下面将介绍根据第二实施例的半导体系统和电子装置初始化方法。在第二实施例中,通过另一方法来进行在第一实施例的步骤S14中的处理。由于第二实施例的其它配置与第一实施例的配置相类似,因此省略了说明。
[0140] <第一实例>
[0141] 第一实例将被介绍为用于进行步骤S14中的处理的另一方法。在第一实例的主机设备2中,预先将电子装置4-1到4-N分类为组。为每个组提供组号,并且将组号写入到电子装置4的寄存器中。例如,可以在步骤S14或步骤S13中执行该操作,或者可以在生产过程中预先执行该操作。
[0142] 使用可被用于由主机设备2初始化电子装置4的功率单元(power unit)的数目M来替代可以一次初始化的电子装置的最大数目M。功率单元的数目M是表达可被以特定的单位进行初始化的功率(电力)的值,并且当初始化每个电子装置4时,主机设备2消耗预定数目的功率单元。
[0143] 除了组和功率单元的数目M之外,还使用初始化完成标志CF(完成标志)。当对所有的电子装置4完成初始化时,初始化完成标志CF被设定为“1”,否则,初始化完成标志CF被设定为除了“1”之外的值(例如,“0”)
[0144] (包括初始化命令的包)
[0145] 在步骤S14中,主机设备2产生图21中所示例的包70以将该包70发送到半导体装置3。如图21中所示,指示初始化命令的命令标识符被包括在包70的包首部71中,并且组号CC、功率单元的数目M以及初始化完成标志CF作为自变量而被包括在有效载荷中。将包70作为广播命令发出。
[0146] (电子装置4的操作)
[0147] 图22是示例了电子装置4在接收包70时的操作的流程图,并且图22的流程图对于电子装置4-1到4-N是共同的。如图22中所示,电子装置4在输入信号引脚5处接收包70(步骤S50)。当通过所接收的包70的包首部71的命令标识符而辨识出该包包括初始化命令时,包解码器7向处理单元8通知该包包括初始化完成确认命令,并且包解码器7还向处理单元8通知组号CC、功率单元的数目M以及有效载荷中的初始化完成标志CF。处理单元8判断电子装置4当前是否正被初始化(步骤S51)。当电子装置4当前正被初始化时(步骤S51中的是),处理单元8等待初始化完成(步骤S52)。处理单元8不执行初始化(步骤S53),并且处理单元8将包70发送到下一电子装置4(在电子装置4-N的情况下,发送到主机设备2)(步骤S60)。此时,包更新电路10不更新包70中的功率单元的数目M和初始化完成标志CF。
[0148] 当电子装置4当前并非正被初始化时(步骤S51中的否),以及当电子装置4已经被初始化时(步骤S54中的是),流程转到步骤S53和S60。此时,不更新包70中的功率单元的数目M和初始化完成标志CF。
[0149] 当电子装置4当前并非正被初始化时(步骤S51中的否),以及当电子装置尚未被初始化时(步骤S54中的否),处理单元8命令包更新电路10将有效载荷中的初始化完成标志CF清除为“0”(步骤S55)。当初始化完成标志CF被清除为“0”时,主机设备2辨识出连续地需要初始化命令的发出(稍后介绍这一点)。处理单元8还确认有效载荷中的组号CC(步骤S56)。处理单元8判断组号CC是否与寄存器9中存储的其组号GN相匹配。
[0150] 当组号CC与组号GN相匹配时(步骤S56中的是),处理单元8将有效载荷中的功率单元的数目M和对电子装置4进行初始化时消耗的功率单元的数目P进行比较(步骤S57)。例如,可以在每个电子装置4的寄存器9中写入用于每个电子装置4的功率单元的数目P。
在这种情况下,处理单元8将寄存器9中的功率单元的数目P与所接收的包的有效载荷中的功率单元的数目M进行比较。可以在步骤S14或步骤S13中在寄存器9中写入功率单元
9的数目,或可以在生产期间预先执行所述处理。
[0151] 处理单元8判断(M-P)是否不低于零,即,功率单元的数目M是否不低于功率单元的数目P。当(M-P)不低于零时,即,当功率单元的数目M不低于功率单元的数目P时(步骤S57中的是),处理单元8命令包更新电路10将有效载荷中的功率单元的数目M更新为(M-P)(步骤S58)。(M-P)的值指示从可由主机设备2可以供应的功率减去由电子装置4消耗的功率的差,且(M-P)的值还指示功率单元的数目,这对于其它电子装置同时执行初始化而言是必要的。处理单元8开始初始化(步骤S59)。在开始初始化之后,处理单元8使包更新电路10将其功率单元的数目M和完成标志被更新的包70发送给下一电子装置4(在电子装置4-N的情况下,发送到主机设备2)而不等待初始化完成(步骤S60)。
[0152] 当组号CC与组号GN彼此不相匹配时(步骤S56中的否),处理单元8转到步骤60而不执行初始化(步骤S53)。即,包70被发送而不更新功率单元的数目M。当(M-P)低于零时,即,当功率单元的数目M低于功率单元的数目P时(步骤S57中的否),处理单元8同样转到步骤S60而不执行初始化(步骤S53)。
[0153] 可以在电子装置4中实现多个功率单元数P。例如,预先将多个可实现的功率单元数P写入寄存器9中,并且可以使用该多个功率单元数P来执行步骤S57到S58的处理段和初始化。或者,电子装置4可以相对于在初始化命令中指示的功率单元M而选择功率单元P的最佳数目。
[0154] (主机设备2的操作)
[0155] 下面将通过参考图23来介绍主机设备2在执行步骤S14中的处理时的操作。图23是示出了主机设备2的操作的流程图。
[0156] 如图23所示,主机设备2将组号初始值CC设定为零,且将初始化完成标志CF设定为1(步骤S70)。主机设备2将组号CC、初始化完成标志CF以及功率单元的数目M设定为自变量以对包70进行汇编,并且主机设备2通过广播命令来发送包70(步骤S71)。
[0157] 然后,主机设备2接收通过所有电子装置4的包70(步骤S72)。主机设备2判断所接收的包70中初始化完成标志CF是否为1(步骤S73)。当初始化完成标志CF为1时(步骤S73中的是),主机设备2确定对于所有的电子装置4都完成了初始化,并且初始化结束。
[0158] 另一方面,当初始化完成标志CF不是1时(步骤S73中的否),主机设备2确认功率单元的数目M是否改变(步骤S74)。即,主机设备2判断所接收的包70中包括的功率单元的数目M是否与包70的发送的值不同。
[0159] 当功率单元的数目M没有改变时(步骤S74中的否),主机设备2确定属于组号CC的所有电子装置4已经开始初始化或者所有的电子装置4完成了初始化,主机设备2使组号CC增加(步骤S75),主机设备2将初始化完成标志CF设定为1,并且主机设备2转到步骤S71以再次发出初始化命令。
[0160] 当功率单元的数目M改变时(步骤S74中的是),主机设备2确定属于该组号的电子装置4可能没有开始初始化,主机设备2将初始化完成标志CF设定为1且保持组号CC不变(步骤S76),并且主机设备2转到步骤S71以再次发出初始化命令。
[0161] 由此,主机设备2可以通过检查所接收的包70的初始化完成标志CF而确认所有的电子装置4是否完成了初始化。换言之,在第一实例中,可以说,用以对电子装置4初始化的初始化命令和用以确认是否所有电子装置4完成了初始化的初始化完成确认命令被统一(unify)。
[0162] 然而,与第一实施例相似地,可以单独地发出用以确认电子装置4的初始化完成的命令。例如,通过将组号CC设定为预定值,将图21中示出的包用作初始化完成确认命令。在这种情况下,当电子装置接收到该命令时,当前并非正被初始化的电子装置立即输出该命令,而当前正被初始化的电子装置在等待初始化完成之后输出该命令。当接收到该命令时,主机设备2辨识出:一个组完成了初始化。主机设备2重复地发送包括初始化命令的包70并改变组号CC,直到所有的电子装置4都被初始化。
[0163] 初始化命令也可以在将装置ID分配给电子装置4之前发出。
[0164] (第一具体实例)
[0165] 下面将通过参考图24和图25来介绍第一实例的在步骤S14中的处理的具体实例。图24和图25是半导体系统1的框图,且图24和图25示例了半导体系统1包括与图11相似的15个(N=15)电子装置4。在图24和图25中,在电子装置之间的箭头的一侧增加的方形标记指示包70的有效载荷72,即,从左边开始依次为组号CC、功率单元的数目M以及初始化完成标志CF。在图23中,每个电子装置4中记载的GN=i(i=0到3)指示分配给每个电子装置4的组号GN。
[0166] 如图23所示,将电子装置4-1到4-4分配给第0组(GN=0)、将电子装置4-5到4-8分配给第1组(GN=1)、将电子装置4-9到4-12分配给第2组(GN=2),且将电子装置4-13到4-15分配给第3组(GN=3)。假设:1是对每个电子装置进行初始化所需的功率单元的数目P。
[0167] 如图24所示,在尚未对任何电子装置4执行初始化时,主机设备2发送包70。如图24所示,主机设备2将组号CC设定为零,且将初始化完成标志CF设定为1,并且主机设备2发出包70。假设:4是功率单元的数目M。
[0168] 电子装置4-1接收包70。分配给电子装置4-1的组号GN(=0)与包70的有效载荷中的组号CC(=0)相匹配(步骤S56中的是)。因此,电子装置4-1的处理单元8进行初始化(步骤S59)。处理单元8将包70发送到下一电子装置4-2。此时,电子装置4-1的包更新单元10将功率单元的数目M更新为(M-P)=(4-3)=3,且将初始化完成标志CF更新为0。
[0169] 由于接收包70的电子装置4-2被分配给第0组(GN=0),与电子装置4-1相似地,电子装置4-2进行初始化并且将包70发送给电子装置4-3。功率单元的数目M被更新为(M-P)=(3-1)=2。电子装置4-3和4-4执行相似的处理。
[0170] 电子装置4-5从电子装置4-4接收包70。电子装置4-5被分配给第1组(GN=1)(步骤S56中的否)。因此,电子装置4-5将包70发送给下一电子装置4-6而不执行初始化(步骤S53)。相似地,电子装置4-6到4-15不执行初始化。将包70从电子装置4-15返回到主机设备2。
[0171] 从电子装置4-15接收包70的主机设备2辨识出:所接收的包70的功率单元的数目M从发送时的4改变为0(步骤S74中的是),并且主机设备2再次发送具有CC=0和CF=1的包70(步骤S71)。在初始化之后,电子装置4-1将包70发送到下一电子装置4-2而不改变自变量。电子装置4-2到4-4执行相似的处理。
[0172] 尽管从电子装置4-4接收包70的电子装置4-5将初始化完成标志CF更新为0(步骤S55),由于CC≠GN(步骤S56中的否),电子装置4-5不进行初始化(步骤S53),并且电子装置4-5将包70发送到下一电子装置4-6而不更新功率单元的数目M。电子装置4-6到4-15执行相似的处理。将包70从电子装置4-15返回到主机设备2。
[0173] 从电子装置4-15接收包70的主机设备2辨识出:所接收的包70的功率单元的数目M没有从发送时的4改变(步骤S74中的否),并且主机设备2再次发送具有CC=CC+1=1(步骤S75)以及CF=1(步骤S71)的包70。图25示出了该状态。
[0174] 如图25所示,由于电子装置4-1到4-4已经被初始化,电子装置4-1到4-4发送包70而不更新初始化完成标志CF以及功率单元的数目M。因此,电子装置4-5接收具有CC=1、M=4和CF=1的包70。因此,电子装置4-5开始初始化,将初始化完成标志CF更新为0,将功率单元的数目M从4更新为3并且发送包70。相似地,电子装置4-6到4-8开始初始化。
[0175] 然后,主机设备2再次发送具有CC=1的包70。在电子装置4-5到4-8完成了初始化之后,主机设备2接收具有与发送时相同的M值的包70。因此,主机设备2发送其组号CC被更新的包70。然后,相似地对电子装置4-9到4-12和电子装置4-13到4-15进行初始化。
[0176] 当完成了电子装置4-15的初始化时,由于主机设备2接收到具有CF=1的包70,因此主机设备2辨识出:所有的电子装置4-1到4-15完成了初始化,并且完成了初始化操作。
[0177] (第二具体实例)
[0178] 将通过参考图26到图30来介绍另一具体实例。图26到图30是半导体系统1的框图,并且图26和图30示例了半导体系统1包括4个(N=4)电子装置4。在图26和图30中,在电子装置之间的箭头处增加的方形标记指示包70的有效载荷,即,从左边开始依次为组号CC、功率单元的数目M以及初始化完成标志CF。在图26中示例了每个电子装置的功率单元的数目P和组号GN。
[0179] 如图26所示,在尚未对任何电子装置4执行初始化时,主机设备2发送包70。如图26所示,主机设备2将组号CC设定为零,且将初始化完成标志CF设定为1,并且主机设备2发出包70。假设:3是功率单元的数目M。
[0180] 最初接收该包的电子装置4-1将包70的初始化完成标志CF从1更新为0(步骤S55)。由于CC≠GN(步骤S56中的否),电子装置4-1将包70发送到电子装置4-2而不更新M的值。电子装置4-2执行相似的处理。在电子装置4-3中,获得CC=GN(步骤S56中的是)。因此,电子装置4-3开始初始化,且将M的值更新为(M-P)=(3-2)=1,且电子装置4-3发送包70。由于电子装置4-4中CC≠GN(步骤S56中的否),电子装置4-4将包70返回到主机设备2而不执行初始化。
[0181] 如图27所示,由于图26中的主机设备2所接收的包的M的值从发送时的3改变为1(步骤S74中的是),主机设备2再次发送具有CC=0的包70。
[0182] 最初接收包70的电子装置4-1将包70的初始化完成标志CF从1更新为0(步骤S55)。由于CC≠GN(步骤S56中的否),电子装置4-1将包70发送到电子装置4-2而不更新M的值。电子装置4-2执行相似的处理。在初始化结束后(步骤S52),电子装置4-3发送包70而不更新M的值。由于电子装置4-4中CC≠GN(步骤S56中的否),电子装置4-4将包70返回到主机设备2而不执行初始化。
[0183] 如图28所示,由于图27中由主机设备2接收的包的M的值没有从3改变(步骤S74中的否),主机设备2发送具有CC=CC+1=(0+1)=1的包70。
[0184] 最初接收包70的电子装置4-1将包70的初始化完成标志CF从1更新为0(步骤S55)。由于电子装置4-1中CC=GN(步骤S56中的是),电子装置4-1开始初始化,且将M的值更新为(M-P)=(3-3)=0,并且电子装置4-1发送包70。尽管在电子装置4-2中获得CC=GN(步骤S56中的是),由于M
[0185] 如图29所示,由于图28中由主机设备2接收的包的M的值从3改变为0(步骤S74中的是),主机设备2再次发送具有CC=1的包70。
[0186] 在完成了初始化之后(步骤S52),最初接收包70的电子装置4-1将包70传送到电子装置4-2而不更新M和CF的值。由于电子装置4-2中CC=GN(步骤S56中的是),电子装置4-2开始初始化且将CF的值更新为0,并且电子装置4-2将M的值更新为(M-P)=(3-1)=2以发送包70。电子装置4-3将所接收的包70直接传送到电子装置4-4。由于电子装置4-4中CC=GN(步骤S56中的是),电子装置4-4开始初始化,且将M的值更新为(M-P)=(2-1)=1,并且电子装置4-4发送包70。
[0187] 如图30所示,由于图29中由主机设备2接收的包的M值从3改变为1(步骤S74中的是),主机设备2再次发送具有CC=1的包70。
[0188] 最初接收包70的电子装置4-1将包70直接传送到电子装置4-2(步骤S54中的是)。当完成了初始化时(步骤S52),电子装置4-2将包70直接传送到电子装置4-3。电子装置4-3同样将包70直接传送到电子装置4-4(步骤S54中的是)。当完成了初始化时(步骤S52),电子装置4-4将包70直接传送到主机设备2。
[0189] 结果,主机设备2从电子装置4-4接收具有CF=1的包70。因此,主机设备2完成了初始化操作。
[0190] <第二实例>
[0191] 下面将介绍第二实例。在第二实例中,从包70中移除第一实例的组号CC。即,与第一实例相似地,可以按从位置上更靠近主机设备2的电子装置4的顺序来执行初始化。在这种情况下,在电子装置4的操作中移除图22中的步骤S56中的处理,并且在主机设备
2的操作中移除图23中的与组号CC相关联的操作。
[0192] 例如,在图26中,由于电子装置4-1中M=P,电子装置4-1开始初始化。电子装置4-1将初始化完成标志CF更新为0,且将M的值更新为(M-P)=0。由于M=0,电子装置4-2到4-4不开始初始化。
[0193] 由于主机设备2从电子装置4-4接收具有CF=0的包70,主机设备2再次发送包70。因此,由于电子装置4-2中M>P,电子装置4-2开始初始化。电子装置4-2将CF的值更新为0,且将M的值更新为(M-P)=2。由于接收更新后的包的电子装置4-3中M>P,电子装置4-3开始初始化。电子装置4-3将M的值更新为(M-P)=0。由于电子装置4-4中M
[0194] 然后,当主机设备2发出包70时,由于电子装置4-4中M>P,电子装置4-4开始初始化。电子装置4-4将CF的值更新为0,且将M的值更新为(M-P)=2。
[0195] 然后,当主机设备2发出包70时,在所有电子装置4完成了初始化之后,主机设备2接收具有CF=1和与发送时的值相同的M的值的包70。因此,主机设备2完成初始化操作。
[0196] 由此,在电子装置4-1到4-4顺序地初始化的实例中,由于包70包括初始化完成标志CF,主机设备2可以辨识出是否由包70完成了初始化。明显地,可以使用初始化完成确认命令而不考虑初始化命令。
[0197] <第三实例>
[0198] 下面将介绍第三实例。在第三实例中,将图31中示例的包90用于第一实例中。在第三实例中,主机设备2在执行初始化和确认初始化完成时都使用图31中示出的包90。
[0199] 包90包括命令标识符91、S/C标识符92以及组号93。初始化命令和初始化完成确认命令共享命令标识符91。S/C标识符92具有值“0”或“1”。当具有值“0”时,S/C标识符92指示初始化,而当具有值“1”时,S/C标识符92指示初始化完成确认。即,接收包90的电子装置4可以通过S/C标识符92的值而确定包90是初始化命令还是初始化完成确认命令。
[0200] 该包90同样可应用于第二实例。在这种情况下,可以移除组号CC。
[0201] <第四实例>
[0202] 下面将介绍第四实例。在第四实例中,替代将组号GN分配给每个电子装置4,通过包括初始化命令的包的接收次数而将电子装置4分类为组。
[0203] 例如,在图23中,电子装置4-1到4-4被配置为在第一次接收包括初始化命令的包时执行初始化,电子装置4-5到4-8被配置为在第二次接收包时执行初始化,电子装置4-9到4-12被配置为在第三次接收包时执行初始化,电子装置4-13到4-16被配置为在第四次接收包时执行初始化。例如,在寄存器9中存储该信息。例如,在寄存器9中存储该信息的时机可以是步骤S14或步骤S13,或者该时机可以存在于生产期间。
[0204] 接收包括初始化命令的包的电子装置4使接收次数增加并且将该接收次数保持在寄存器9中。处理单元8判断增加后的接收次数是否与寄存器9中存储的接收次数相匹配。当增加后的接收次数与寄存器9中存储的接收次数相匹配时,处理单元8执行初始化并且将包发送到下一电子装置4。当增加后的接收次数与寄存器9中存储的接收次数不匹配时,处理单元8将包发送到下一电子装置4而不执行初始化。
[0205] 在主机设备2的操作中移除图23中的与组号CC相关联的操作。
[0206] 在图24和图25中示出的实例中,当主机设备2初始地发送包括初始化命令的包时,电子装置4-1到4-4被初始化。当主机设备2第二次发送包时,电子装置4-5到4-8被初始化。当主机设备2第三次发送包时,电子装置4-9到4-12被初始化。当主机设备2第四次发送包时,电子装置4-13到4-15被初始化。在这种情况下,不需要初始化完成确认命令。然而,可以使用初始化完成确认命令。在该情况下,电子装置4的操作与图14中的操作相似。
[0207] 根据该方法,在包括初始化命令和初始化完成确认命令的包中不必包括组号。
[0208] 在图26到图29中示例的实例中,当主机设备2初始地发送包括初始化命令的包时,电子装置4-3被初始化。当主机设备2第二次发送包时,电子装置4-1被初始化。当主机设备2第三次发送包时,电子装置4-2和4-4被初始化(将电子装置4-2和4-4分配给接收次数(换言之,GN)为2的组)。
[0209] 在第四实例中,每次电子装置4接收初始化命令时,使每个电子装置4中的接收次数增加。因此,有必要使主机系统以这样的方式将组分配给电子装置4:使得属于所述组的所有电子装置4可以响应于一个初始化命令而开始初始化。即,需要考虑对电子装置4进行初始化所需的功率单元4的数目而执行分组。更具体地,属于一个组(接收次数)的电子装置4的数目被选择为使得对属于该组的所有电子装置4进行初始化所需的功率单元的总数∑P不超过主机设备2可以使用的功率单元的数目M。
[0210] <效果>
[0211] 可以通过上述方法执行第一实施例的步骤S14中的处理。在第二实施例中获得了与第一实施例的效果相似的效果。
[0212] [第三实施例]
[0213] 下面将介绍根据第三实施例的半导体系统和电子装置初始化方法。第三实施例涉及在执行第一和第二实施例中的再初始化时的操作。由于其他配置和操作与第一和第二实施例的配置和操作相似,因此省略说明。
[0214] 图32是示例了电子装置4中的一个和主机设备2,特别地示例了与电源线相关的配置的框图。如图32所示,主机设备2包括电压生成电路26-1和26-2。电压生成电路26-1生成电压VDD1,电压生成电路26-2生成电压VDD2。其中VDD1>VDD2(或者VDD1和VDD2可以彼此基本上相等,或VDD1=VDD2)。将电压VDD1和VDD2作为电源电压供应给电子装置4。
[0215] 电子装置4基于电压VDD1和VDD2而操作。电子装置4大体上包括控制器27、装置单元28以及调节器(regulator)29。装置单元28执行电子装置4的主要功能(例如,存储器功能和无线LAN功能)。控制器27具有执行与主机设备2的接口处理的功能以及控制装置单元28的功能。例如,控制器27对应于第一实施例的图6中示出的控制器30,并且装置单元28对应于图6中示出的NAND型闪速存储器31。调节器29调节电压VDD1和/或VDD2,以产生比电压VDD1和VDD2低的电压VDD3(例如,1.2V)。
[0216] 用电压VDD1作为电源电压来操作装置单元4。用由调节器29产生的电压VDD3作为电源电压来操作控制器27。特别地,在控制器27中,用电压VDD3作为电源电压来操作执行与主机设备2进行接口处理的电路块,并且还将电压VDD3作为电源电压提供给寄存器9。
[0217] 寄存器9包括初始化标志。初始化标志包括标志VDD2ON以及标志DIDA。将通过参考图33来详细介绍初始化标志。图33示例了初始化标志和主机设备2的根据初始化标志的操作。
[0218] 标志VDD2ON指示电压VDD2的状态。标志VDD2ON=“0”指示紧接在电压VDD2被通电(power on)之后的状态以及电子装置4没有完成初始化的状态。标志VDD2ON=“1”指示在电压VDD2被通电且甚至在电子装置4完成了初始化之后仍保持的状态。换句话说,标志VDD2ON是指示在对电子装置4的最近的(last)初始化之后是否发生电压VDD2的供应停止的信息。
[0219] 标志DIDA指示是否要求装置ID的分配。标志DIDA=“0”指示要求装置ID的分配。标志DIDA=“0”的实例包括图2的步骤S10到S12中的状态以及新的电子装置4的增加。标志DIDA=“1”指示不要求装置ID的分配。例如,标志DIDA=“1”对应于在从图2的步骤S13的处理中没有添加新的电子装置4的状态。
[0220] 如上所述,寄存器9的电源电压是通过调节电压VDD2而获得的电压VDD3。因此,只要供应电压VDD2,即使电压VDD1的供应停止,不删除寄存器9中的信息。具体地,只要停止了电压VDD2的供应,保持每个电子装置4中的装置ID、性能信息、图2的步骤S16和S17中设定的操作条件以及初始化标志。
[0221] 存在两种再初始化。即,第一再初始化是从断电模式恢复,并且第二再初始化是仅对一个电子装置执行的初始化。将通过参考图2来详细地介绍第一初始化和第二初始化。
[0222] <第一再初始化>
[0223] 在与初始化的过程相似的过程中执行从断电模式(休眠状态(dormant state))的恢复。然而,当检查标志VDD2ON以获得VDD2ON=“1”,仅执行在图2中的步骤S10中的处理。可以不执行步骤S12到S17中的其它处理段。
[0224] <第二再初始化>
[0225] 在第三实施例的半导体系统1中支持对仅一个电子装置进行再初始化的过程。在该情况下,使用单播命令,而不使用广播命令。当通过重设(reset)命令来对特定的电子装置进行重设时,该电子装置返回到在步骤S13中完成了装置ID的分配时的状态(图2的步骤S18)。通过单播初始化命令来仅对特定的电子装置4进行初始化。尽管在VDD2ON=“0”的情况下需要步骤S14到S17中的处理段,但由于在VDD2ON=“1”的情况下保持寄存器设定值,在步骤S14到S17中的处理段中可省略该性能。
[0226] <效果>
[0227] 甚至在第三实施例的配置中,也获得与第一实施例的效果相似的效果。另外,在第三实施例中可以实现再初始化操作的速度提高。
[0228] 在第三实施例中,主机设备2将两种电源电压VDD1和VDD2的供应给电子装置4。供应低电压电源VDD2的原因是:半导体系统满足操作的速度提高。在电子装置4的装置单元28中使用高电压电源VDD1,并且在控制器27与主机设备2之间的通信中使用低电压电源VDD2(通过调节电源VDD2而产生的电源VDD3)。只要供应低电压电源VDD2,不删除寄存器9中的信息。因此,在不使用电子装置4的时间段中,可以停止高电压电源VDD1的供应以降低功率消耗。
[0229] 在再初始化中,除非停止低电压电源VDD2的供应,可以使用寄存器9中的信息。因此,可以省略图2的步骤S12到S17中的处理段。即,不需要执行再初始化序列,但是可以将电子装置4返回到可使用状态。因此,电子装置4可以快速地从断电状态恢复。
[0230] <第三实施例的修改例>
[0231] 在第三实施例中,通过实例的方式,主机设备2参照标志DIDA和标志VDD2ON。然而,不总是需要提供标志DIDA和标志VDD2ON。
[0232] 这是因为在最近的初始化之后第二电源电压VDD2是否关闭是对于主机设备2的公知信息。因此,在主机设备2在初始化之后关闭第二电源电压VDD2的情况下,主机设备2再次执行图2的初始化序列,而当主机设备2没有关闭第二电源电压VDD2时,主机设备2省略图2的初始化序列。
[0233] 可替代地,主机设备2可以在恢复了第一电源电压VDD1之后发出初始命令,并且可以检测响应超时。响应的超时意味着电子装置4尚不能使用的状态,即,主机设备2可以确定第二电源电压VDD2在过去的时间内关闭。此时,主机设备2执行功率循环以执行再初始化。
[0234] 除了电源条件,存在与重设命令相关联的再初始化处理。将重设命令大致上分类为两种类型。
[0235] 首先,将介绍按照SD接口的命令(CMD0)。命令(CMD0)仅对处理SD命令的上层进行重设。例如,对于UHS-II卡,将该层大致分为物理层、链路层和事务层(transaction layer)。物理层是基于LVDS技术的I/O基本单元(cell unit)。物理层执行LVDS信号的串行-并行转换,以获得在LSI中可以操作的频率。此时,例如,使用8B10B编码。链路层以符号为单位执行处理(例如,1个符号是2个字节)。即,例如,链路层涉及符号的编码和解码以及符号同步。事务层执行基于包的发送,并且事务层涉及包中记载的命令-响应的通信、打包的数据的传送以及基于协议的管理。SOP(包的开始)和EOP(包的结束)之间的间隔是包。
[0236] 当发出命令CMD0时,仅对事务层进行初始化,而不对物理层和低于物理层的链路层进行初始化。
[0237] 另一命令是Full_Reset。根据命令Full_Reset,对所有的层初始化以将电子装置4置于紧接在通电之后的状态。因此,在该情况下,需要初始化序列。命令CMD0同样在初始化期间发出。
[0238] 当仅发出命令CMD0时,不需要设定寄存器(图2的步骤S16和S17B)(寄存器中的信息不会丢失)。另一方面,当发出命令Full_Reset(包括命令CMD0)时,需要对寄存器进行重设。
[0239] [第四实施例]
[0240] 下面将介绍根据第四实施例的半导体系统和电子装置初始化方法。第四实施例涉及在第一到第三实施例中的电子装置4的各种连接方法。下文中,省略对与第一到第三实施例相同的点的说明。
[0241] <第一连接实例>
[0242] 在第一实施例中,如图1所示,通过实例的方式。电子装置4被环形连接。另一方面,可以如第四实施例的第一连接实例中所示使用集线器(hub)。图34是示例了根据第四实施例的第一连接实例的半导体系统1的实例的框图。
[0243] 如图34所示,半导体系统1包括主机设备2、电子装置4-1到4-3以及集线器100。例如,集线器100包括四个端口P1到P4,并且按照从端口P1到P4的顺序传送包。主机设备2被连接到集线器100的端口P1,并且电子装置4-1到4-3分别连接到端口P2到P4。在第一到第四实施例中介绍了主机设备2和电子装置4的配置和操作。与图11的第一实施例相似,为了包的流的目的,图34的方形标记指示有效载荷的字段42-1(开始装置ID)和字段42-2(装置的数目)。很明显,将图34中示出的包流相似地适用于步骤S14的处理。
[0244] 下面将介绍由主机设备2发送的包的流。将包发送到集线器100,并且集线器100将包传送到电子装置4-1。在执行必要的处理之后,电子装置4-1将包返回到集线器100。然后,集线器100将从电子装置4-1接收的包传送到电子装置4-2。在执行必要的处理之后,电子装置4-2将包返回到集线器100。然后,集线器100将从电子装置4-2接收的包传送到电子装置4-3。在执行必要的处理之后,电子装置4-3将包返回到集线器100。最后,集线器100将从电子装置4-3接收的包返回给主机设备2。
[0245] <第二连接实例>
[0246] 下面将通过参考图35来介绍第二连接实例。图35是根据第四实施例的第二连接实例的半导体系统1的框图。第二连接实例涉及两段式(two-stage)集线器连接。
[0247] 如图35中所示,半导体系统1包括主机设备2、电子装置4-1到4-5以及集线器100-1和100-2。例如,集线器100-1和100-2中的每一个包括四个端口P1到P4,并且按照从端口P1到P4的顺序来传送包。主机设备2被连接到集线器100-1的端口P1,电子装置
4-1和4-5分别被连接到端口P2和P4,并且集线器100-2的端口P1被连接到端口P3。将电子装置4-2到4-4分别连接到集线器100-2的端口P2到P4。在第一到第三实施例中介绍了主机设备2和电子装置4的配置和操作。与图11的第一实施例相似,为了包的流的目的,图35的方形标记指示有效载荷的字段42-1(装置ID的初始值)以及字段42-2(装置的数目)。图35中示出的包流相似地适用于步骤S14的处理。
[0248] 下面将介绍由主机设备2发送的包的流。集线器100-1从主机设备2接收包,并且集线器100-1将该包传送到电子装置4-1。电子装置4-1将包返回到集线器100-1。集线器100-1将从电子装置4-1接收的包发送到集线器100-2。集线器100-2将从集线器100-1接收的包发送到电子装置4-2。电子装置4-2将包返回给集线器100-2。集线器100-2将从电子装置4-2接收的包发送到电子装置4-3。电子装置4-3将包返回到集线器100-2。然后,集线器100-2将从电子装置4-3接收的包发送到电子装置4-4。电子装置4-4将包返回到集线器100-2。集线器100-2将从电子装置4-4接收的包返回给集线器100-1。集线器
100-1将从集线器100-2接收的包发送到电子装置4-5,并且电子装置4-5将包返回给集线器100-1。最后,集线器100-1将从电子装置4-5接收的包返回给主机设备2。
[0249] <效果>
[0250] 如上所述,第一到第三实施例的配置不仅可被应用于环形连接,还可被应用于集线器连接,并且在第四实施例中获得与第一到第三实施例中的效果相似的效果。当从主机设备2广播包时,集线器100原始地具有将包传送到电子装置4的功能。因此,主机设备2不需要了解多个电子装置4之间的连接关系。
[0251] [第五实施例]
[0252] 下面将介绍根据第五实施例的半导体系统和电子装置初始化方法。第五实施例涉及第一到第四实施例的特定实例。下文中,省略与第一到第三实施例相同的点的说明。
[0253] 图36是示例了根据第五实施例的存储器系统的实例的框图。如图36所示,存储器系统110包括主机控制器111、卡槽112、CPU(中央处理单元)113、系统存储器114、电子装置4-1到4-4以及集线器100。
[0254] CPU 113控制存储器系统110的整体操作,并且根据ROM(只读存储器,未示出)中存储的程序来操作CPU 113。使用系统存储器114,以便CPU 113将各种数据段暂时地存储在系统存储器114中,并且系统存储器114用于执行可执行的程序。
[0255] 主机控制器111对应于第一到第四实施例的主机设备2。主机控制器111包括各种硬件和软件部分、各种协议等,其是与可能连接到主机控制器111的装置(元件)进行通信所需要的。特别地,将主机控制器111配置为能够通过多个信号线而与电子装置4进行通信。信号线的实例包括:用于传送包的信号线、用于传送时钟的信号线以及电源线(之前所述的VDD1和VDD2)。主机控制器111的部分功能根据预先设定的规则在信号线上输出和捕获信号。更具体地,主机控制器111分析通过信号线供应的信号,以从该信号辨识出预先设定的比特模式,并且主机控制器111从该信号捕获命令。相似地,主机控制器111辨识出预定的比特模式以从信号捕获数据。存在在主机控制器111中定义的准备好的各种命令。例如,通过在软件的控制下执行的CPU的部分功能,可以实现主机控制器111,或者可以实现这种功能的半导体芯片。
[0256] 更具体地,主机控制器111支持用于传送包的信号线D0和D1以及用于传送时钟RCLK的信号线。即,主机控制器111被配置为使用这些信号线来传送数据。更特别地,主机控制器111被配置为能够控制例如SD接口。
[0257] 将电子装置4-1到4-4并入存储器系统110中。可以将被配置为能够通过主机控制器111而与CPU 113进行通信的任何类型的装置用作电子装置4-1到4-4。可以将存储器装置和无线LAN(局域网)装置引用作为该装置的实例。可以根据电子装置4-1到4-4中的每一个的功能而通过公知技术来实现可被用作电子装置4-1到4-4的装置的主要部分。可以使用密封在诸如SD卡的便携式装置中的半导体芯片来实现电子装置4-1到4-4。
[0258] 电子装置4-1到4-4包括装置单元28-1到28-4,以分别执行电子装置4-1到4-4的主要功能(例如,存储器功能和无线LAN功能)。电子装置4-1到4-4分别还包括控制器(装置控制器)27-1到27-4。控制器27-1到27-4中的每一个被配置为能够通过主机控制器111使用接口与CPU 113进行通信。即,控制器27-1到27-4中的每一个包括硬件和软件配置以支持接口。
[0259] 当主机控制器111支持SD接口时,将控制器27-1到27-4配置为还支持SD接口。控制器27-1到27-4可以被实现为CPU和/或半导体芯片,其独立于装置单元28-1到28-4。
可替代地,可以实现其中集成了控制器27-1到27-4和装置单元28-1到28-4的半导体芯片。
[0260] 与第一到第四实施例相似地,控制器27-1到27-4中的每一个包括输入信号引脚5、输出信号引脚6、包解码器7、处理单元8、寄存器9和包更新电路10。
[0261] 电子装置4-1和4-2是存储器装置。电子装置4-1和4-2包括作为装置单元28-1和28-2的NAND型闪速存储器。NAND型闪速存储器包括作为存储区域的多个页。每个页包括串联连接的多个存储器基元(memory cell)晶体管。每个存储器基元晶体管由所谓的叠栅结构型MOS晶体管形成。叠栅结构型MOS晶体管包括栅电极和源极/漏极扩散层。隧道绝缘体、电荷积累层(例如,浮栅电极)、电极间绝缘体以及控制栅电极顺序地层叠在栅电极中。在每个存储器基元晶体管中,阈值电压根据在电荷积累层中累积的电子的数目而改变,并且根据阈值电压的差别来存储信息段。控制电路包括存储器读出放大器和电位发生电路。控制电路具有这样的配置:其中,可以将多位数据写入存储器基元晶体管中或从存储器基元晶体管读出多位数据。以页为单元执行数据写入和读取。以块为单元执行数据删除,其中每个块包括多个页。
[0262] 例如,电子装置4-3和4-4是SD IO装置,并且电子装置4-3和4-4具有作为装置单元28-3和28-4的无线LAN功能。
[0263] 可以将可移除卡型电子装置4-5(下文中称为卡装置4-5)插入到卡槽112中以及从卡槽112拔出。卡装置4-5包括存储器系统和被卡槽112支持的其它装置。
[0264] 卡槽112包括要连接到卡装置4-5的端子,并且接口中的线被连接到相应的端子。当主机控制器21支持SD接口时,在卡槽112中设置SD接口所需的端子。
[0265] 卡装置4-5包括可以通过SD接口与主机控制器111进行通信的所有卡装置,例如,SD存储器卡和SD IO卡。在图36的实例中,卡装置4-5是SD存储器卡。与电子装置4-1到4-4相似,卡装置4-5包括控制器27-5和装置单元28-5。
[0266] 与第一到第四实施例相似,控制器27-5包括输入信号引脚5、输出信号引脚6、包解码器7、处理单元8、寄存器9以及包更新电路10。装置单元28-5包括NAND型闪速存储器。装置单元28-5的配置与装置单元28-1和28-2的配置相似。
[0267] 在具有上述配置的半导体系统110中,电子装置4-1接收从主机控制器111发送的包,电子装置4-1将该包传送到电子装置4-2,电子装置4-2将包传送到电子装置4-3,电子装置4-3将包传送到电子装置4-4,电子装置4-4将包传送到集线器100。
[0268] 集线器100将从电子装置4-4传送来的包传送给卡槽112(如果需要的话),由此将该包提供给插入在卡槽112中的卡装置4-5。将从卡装置4-5的输出信号引脚6输出的包和/或从电子装置4-4的输出信号引脚6输出的包通过集线器100返回给主机控制器111。
[0269] 第一到第四实施例可被应用于第五实施例的配置。
[0270] [第六实施例]
[0271] 下面将介绍根据第六实施例的半导体系统和电子装置初始化方法。在第六实施例中,将第一到第五实施例应用到包括单个电子装置的半导体系统中。
[0272] 图37是根据第六实施例的半导体系统1的框图。如图37所示,半导体系统1包括一个电子装置4。电子装置4是SD存储器卡。
[0273] 通过总线接口120在存储器卡4与主机设备2之间发送和接收信息。存储器卡4包括NAND闪速存储器芯片(有时简单地称为NAND闪速存储器或闪速存储器)28、控制NAND闪速存储器芯片28的存储器控制器27以及多个信号引脚(第1引脚到第17引脚)29。
[0274] 多个信号引脚29被电连接到存储器控制器27。图38示例了信号向多个信号引脚29中的第1引脚到第17引脚的分配的实例。图38是示例了第1引脚到第17引脚以及分配给第1引脚到第17引脚的信号的表。
[0275] 将第7引脚、第8引脚、第9引脚和第1引脚分别分配给数据0到数据3。第1引脚还被分配给卡检测信号。将第2引脚分配给命令CMD,将第3引脚和第6引脚分配给地电位GND,将第4引脚分配给上述电源电压VDD1,并且将第5引脚分配给时钟信号RCLK。
[0276] 将第10引脚、第13引脚、第14引脚和第17引脚分配给上述电源电压VDD2或地电位GND。将第11引脚、第12引脚、第15引脚以及第16引脚分配给数据(D1+)、数据(D1-)、数据(D0-)和数据(D0+)。数据(D1+)和数据(D1-)以及数据(D0-)和数据(D0+)分别是上述差分信号的对。如上所述,信号对D0+和D0-用于从主机设备2到电子装置4的信号发送。信号对D1+和D1-用于从电子装置4到主机设备2的信号发送。
[0277] 存储器卡4被形成为能够被插入在主机设备2中设置的槽内和从该槽拔出。在主机设备2中设置的主机控制器(未示出)通过第1引脚到第17引脚将各种信号和数据发送到电子装置4中的存储器控制器27以及从存储器控制器27接收各种信号和数据。例如,当将数据写入到存储器卡4中时,主机控制器将写入命令作为串行信号通过第11引脚和第12引脚发送到存储器控制器27。此时,响应于供应给第7引脚和第8引脚的时钟RCLK,存储器控制器27捕获提供给第11引脚和第12引脚的写命令。
[0278] 仅使用第11引脚和第12引脚,将写命令串行地输入到存储器控制器27。如图38所示来设置分配给命令输入的第11引脚和第12引脚。使用多个信号引脚29和与引脚29相关联的总线接口120,以便主机设备2中的主机控制器和存储器卡4彼此通信。
[0279] 另一方面,通过NAND闪速存储器接口来进行NAND型闪速存储器28和存储器控制器27之间的通信。因此,尽管此处没有示出,通过例如8比特输入和输出(I/O)线来连接NAND闪速存储器28和存储器控制器27。
[0280] 在上述配置中,存储器控制器27对应于第一到第五实施例的控制器27和30,并且NAND闪速存储器28对应于第一到第五实施例的装置单元28和31。可以通过第六实施例的配置来执行第一到第三实施例的操作。第六实施例对应于图2中的L=1和N=1的情况。
[0281] <修改例>
[0282] 如上所述,根据半导体系统1和用于初始化第一到第六实施例的电子装置4的方法,包括多个电子装置4和以组为单位对电子装置4同时进行初始化的主机设备2。因此,可以提高电子装置4的初始化速度。注意:词语“同时”并不总是需要意味着时间上的“同时”,而是,词语“同时”意味着例如多个电子装置4通过由主机设备发出的一个包而被初始化。例如,在图15中,电子装置4-1到4-4通过包52的一次发出而被一起初始化。然而,很显然,可以包括时间上同时的初始化。
[0283] 即,电子装置4利用包的接收作为触发而开始初始化。此时,接收包以开始初始化的电子装置4将该包发送到下一电子装置4而不等待初始化完成。
[0284] 因此,在初始化开始时机中,尽管在电子装置4之间产生了延迟,但当初始化所需的时间长于包发送时间时,存在多个电子装置4同时执行初始化的时间段。
[0285] 如上所述,当在初始化期间接收到包时,电子装置4等待初始化完成,并且在完成之后电子装置4将该包发送到下一电子装置。因此,需要使主机设备等待该包有限的时间段,直到该包返回到主机设备。然而,已通过最后的包开始了初始化,多个电子装置4同时执行初始化,并且存在对每个电子装置4的初始化所需的时间的限制(最大时间)。因此,即使增加了电子装置4的数目,主机设备也不会长时间地等待包。当主机设备接收到包时,所有电子装置4完成初始化。
[0286] 半导体系统1包括主机设备2和多个电子装置4。主机设备2将第一电源电压VDD1和低于第一电源电压VDD1的第二电源电压VDD2供应给电子装置4,并且主机设备2可以对电子装置4进行初始化。电子装置4中的每一个包括装置单元28和控制器单元27。装置单元28使用第一电源电压VDD1来进行操作。控制器单元27使用第二电源电压VDD2来进行操作,并且控制器单元27执行与主机设备2的接口处理。控制器单元27包括寄存器9,该寄存器9保持主机设备2与电子装置4之间的操作条件信息。在供应第二电源电压VDD2的时间段中,即使第一电源电压VDD1关闭,也会保持寄存器9中的操作条件信息。
[0287] 在第一实施例中,当半导体系统1处于休眠状态时,信号D0+和D0-都具有“L”电平。或者,信号D0+和D0-可具有“H”电平。即使在这种情况下,通过符号STB的发送,可将信号D0+或D0-改变为“L”电平,由此检测到信号D0改变为差分电平。这同样适用于信号D1。
[0288] 除了SD存储器卡之外,还可以将实施例应用到高速地传送数据的诸如UHS(超高速)-II卡的装置。当电子装置4是存储器装置时,电子装置4的存储器结构不限于NAND闪速存储器,而是可以将NOR闪速存储器和除闪速存储器外的半导体存储器的存储器结构用作电子装置4的存储器结构。
[0289] 在实施例中,通过参考各种流程图来介绍操作。然而,仅通过实例的方式来介绍每个流程图。可以尽可能多地使步骤互换,多个步骤可以同时地执行,并且还可以省略某些步骤。
[0290] 例如,在图2中,可以使引导代码的传送(步骤S12)和装置ID的分配(步骤S13)互换。例如,当紧接在主机设备2对半导体装置3通电之后传送引导代码时,如图2中所示,步骤S12中的处理可以在步骤S13中的处理之前执行。或者,电子装置4可以做出请求以向主机设备2发出读命令。即,紧接在通电之后,保持引导代码的电子装置4向主机设备2请求读取引导代码。响应于该请求,主机设备2从电子装置4读出引导代码。由此,当从电子装置4侧发出读命令时,在步骤S12中的处理之前执行步骤S13中的处理。
[0291] 可通过硬件、软件或其组合来实现流程图。当由软件执行所述流程图时,将对应于流程图的程序存储在ROM中,并且诸如CPU的处理器执行该程序以执行流程图中记载的操作。
[0292] 虽然已经介绍了一些实施例,但这些实施例仅通过实例的方式给出,并且不旨在限制本发明的范围。实际上,本文中介绍的新颖的实施例可以以各种其它的形式体现;此外,在不脱离本发明的精神的情况下,可以做出本文中介绍的实施例的形式上的各种省略、替代和改变。所附权利要求及其等价形式旨在覆盖落入本发明的范围和精神内的这样的形式或修改。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用