具有经由控制器集成的多功能的闪存驱动器的制造方法_4

文档序号:9616223阅读:来源:国知局
到接口控制器630,其将USB协议消息相关到存储控制器635。存储控制器635被配置为,通过存储控制器635的1C设计的定制,和/或通过存储控制器635执行的软件,使用USB协议进行通信。存储控制器635接收并识别出USB命令,并相应地运作以建立笔记本电脑115和闪存驱动器600之间的通信通道。用户105,使用Windows界面,将启动复制命令从笔记本电脑115复制一些数据,诸如电影,到闪存驱动器600。
[0099]笔记本电脑115,利用一系列的USB命令,发送该电影通过第二连接器210和USB开关670到接口的控制器630,其转发数据到存储控制器635,其根据USB命令运作并将电影写入闪存240。存储控制器635还配置成,通过存储控制器635的1C设计的定制,和/或通过存储控制器635执行的软件,管理与闪存240的通信,类似于存储控制器235。
[0100]将电影复制到闪存驱动器600之后,用户105将闪存驱动器插入智能手机120,使闪存驱动器600连接到笔记本电脑115和智能手机120。主机检测逻辑675确定第一连接器205的3.3V电源和第二连接器210的5.5V电源是活跃的。基于智能手机120被连接到优先连接器,这是第一连接器205,主机检测逻辑675的输出被设置为第一值,以指示连接到第一连接器205的设备,它是智能手机120,是新的主机设备。如以上所讨论,在一些实施例中,主机设备是USB主机。闪存驱动器600可以发送消息或信号到新的主机设备以建立新的主机设备作为USB主机。新的主机设备和闪存驱动器600之间的后续通信可以基于闪存驱动器600被确立为新的USB主机。
[0101]USB开关670,基于开关选择被设定为第一值,使得第一连接器205的数据引脚能够耦合到接口控制器630,使得数据可以在智能手机120和接口控制器630之间往复发送。主机检测逻辑675的第二输出被连接到接口控制器630和存储控制器635被设置为一个值,其表示智能手机120是主机,以及闪存驱动器600连接到两个设备。
[0102]闪存驱动器600和智能手机120之间枚举开始以确定设备类型。枚举后,通信信道被建立在智能手机120和闪存驱动器600之间。接口控制器630基于主机检测逻辑675的第二输出的值,进一步确定,闪存驱动器600连接到两个设备。接口控制器630通过电连接到电源开关655的选择信号来控制电源开关655。通过设置电源开关655的选择信号,以启动电源开关,接口控制器630使得功率从笔记本电脑115流过第二连接器210的5.5V电源信号通过保险丝660通过电源开关655通过第一连接器205到智能手机120。智能手机120可以任何不同的方式使用该电源,如对智能手机120供电或对智能手机120的充电电池进行充电。保险丝660可以是自恢复保险丝。TVS 665和保险丝660用来帮助防止闪存驱动器600的组件和连接到闪存驱动器600的设备的过/欠电压的电源损坏。如果过大电流通过保险丝660,保险丝跳闸和禁用电流。保险丝660可以是自恢复保险丝。TVS 665有助于通过在一定范围内钳制电压防止过压/欠压。
[0103]在一些实施方案中,在枚举过程中,闪存驱动器600和智能手机115通信以确定用于智能手机120从闪存驱动器600提取的允许量的功率。闪存驱动器600可以基于由笔记本电脑115的USB端口提供的功耗以及基于闪存驱动器600的组件的功率消耗来确定智能手机120的功率提取。例如,如果笔记本电脑115可以提供10瓦特功率给闪存驱动器600,以及闪存驱动器600的组件占用1瓦特,则闪存驱动器600应该限制由智能手机120消耗的功率为九瓦或更少。如果智能手机120可设置为提取5瓦特或十瓦特,闪存驱动器600可与智能手机120通信以将闪存驱动器600的功耗设置为5瓦特(如设置提取为10瓦特会超过由笔记本电脑115提供的功率)。
[0104]在一些实施方案中,如一个实施例,其中闪存驱动器600包括一个安全1C,例如安全1C 225,智能手机120可发送外设协议消息到闪存驱动器600,以发起通信,并授权闪存驱动器600。外设协议消息通过USB开关670进入接口控制器630。接口控制器630被配置成,经由接口控制器630的1C设计的定制和/或通过接口控制器630执行的软件,使用外设协议进行通信。接口控制器630接收并识别外设协议命令。当智能手机120是Apple1S设备时,闪存驱动器600可以通过智能手机120授权。智能手机120发送消息以发起授权过程,响应于此,接口控制器630与安全1C通信以获得认证数据。安全1C发送验证数据到接口控制器630,其转发验证数据到智能手机120以授权闪存驱动器并使数据在闪存驱动器和智能手机120之间传输。
[0105]用户105启动复制命令,将电影从闪存驱动器600复制至智能手机120。智能手机120采用了一系列的命令,它可以包括任何的由存储控制器635处理的USB命令,或由接口控制器630处理的外设协议命令,或USB和外设协议命令两者,以开始复制过程。存储控制器635从闪存240读取电影并发送电影到接口控制器630,其通过USB开关670和第一接口205转发电影到智能手机120。
[0106]图7是示出了具有集成控制器模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。在图7的例子中,闪存驱动器700与闪存驱动器600是相同的,不同之处在于接口控制器630和存储控制器635的功能已经被集成到接口 /存储控制器730,其是1C。此外,闪存驱动器700可以与闪存驱动器300是相同的,也可以是不同的实现。接口 /存储控制器730可以与存储控制器335是相同的,也可以是不同的实现。
[0107]图8是示出了具有电源管理模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。在图8的例子中,闪存驱动器800可以与闪存驱动器300以及闪存驱动器700是相同的,也可以是不同的实现。接口 /存储控制器830可以与接口 /存储控制器730以及存储控制器335是相同的,也可以是不同的实现。主机检测逻辑875,它可以是一个逻辑模块,可以与主机检测逻辑675是相同的,也可以是不同的实现。闪存驱动器800包括未包含在图7中的实现中的数个组件/模块,包括界面/存储控制器830、主机检测逻辑875、USB开关890和USB电源管理895。闪存驱动器800还可以包括附加组件。在一些实施例中,闪存驱动器800包括安全1C 225,其耦合到接口 /存储控制器830,并可以使用外设协议命令进行通信。
[0108]图8的实施例中,第一连接器205、第二连接器210、闪存240、接口 /存储控制器830、电源开关650和655、保险丝660、TVS 665、USB开关670和890、主机检测逻辑875、USB电源管理的895以及电阻器680和685的每一个是连接到PCB (未示出)的单独的组件,并且PCB电连接各部件的引脚,以使组件彼此通信。在各种实施方案中,任何的闪存240、接口/存储控制器830、电源开关650和655、保险丝660、TVS 665、USB开关670和890、主机检测逻辑875、USB电源管理895,以及电阻器680和685可以被集成以创建一个或多个组件,其集成这些组件的功能,或者可以被细分以创建多个组件,其被组合,包括一个或多个这些组件的功能。此外,这些组件可以连接至多个PCB,多个PCB经由导线或由另一个能使组件彼此通信的机制被耦合在一起。
[0109]闪存驱动器800的功能类似于闪存驱动器700。闪存驱动器800包括USB电源管理895,它没有出现在图7的示例中,其是电源管理模块/组件。再次返回到图1的例子,闪存驱动器800可以是闪存驱动器110,闪电连接器130可以是第一连接器205,以及USB连接器125可以是第二连接器210。使用图1的例子,用户105可以将第二连接器210插入笔记本电脑115的USB端口。一旦连接,第二连接器210的电源引脚电连接到笔记本电脑115的5.5V电源,电源引脚传输5.5V到主机检测逻辑875。
[0110]在这一点上,没有设备连接到第一连接器205,以及第一连接器205的电源引脚未连接。主机检测逻辑875确定连接到闪存驱动器800设备中的哪个设备,通过第一连接器205或第二连接器210,是闪存驱动器800与之通信的主机设备。在一些实施例中,主机设备是USB主机,以及闪存驱动器800向主机设备发送消息或信号以建立主机设备作为USB主机。在主机设备和闪存驱动器800之间的后续通信可以基于被确立为USB主机的闪存驱动器800。
[0111]主机检测逻辑875的输出控制USB开关670和USB开关890,以使主机设备在枚举期间与USB电源管理895进行通信,并且,以使主机设备在其他时候与接口 /存储控制器830进行通信。第二个输出,确定哪一个设备是主机以及是否有一个或两个设备连接到闪存驱动器800,被耦合到存储/接口控制器830。主机检测逻辑875可以使用任何上述的与主机检测逻辑675相关的各种算法/机制来确定哪个设备是主机。
[0112]在图8的例子中,主机检测逻辑875基于连接器的优先级确定主机,其中当设备被连接到第一和第二连接器205和210时,连接于第一连接器205的设备被确定为主机。主机检测逻辑875检测到主机来自第二连接器210的5.5V电源引脚是活跃的,以及来自第一连接器205的3.3V电源引脚是不活跃的。在此基础上,主机检测逻辑875确定连接到第二连接器210的设备,其是笔记本电脑115,是主机,而只有一个设备连接到闪存驱动器800。
[0113]当闪存驱动器800通电时,该组件通过复位序列,其初始化该组件,并开始执行应用,该应用存储在闪存240中以有效地“引导”闪存驱动器进入就绪状态。相关于“引导”过程,枚举过程被启动,其中闪存驱动器800和笔记本电脑115通信以确定设备类型。在枚举过程中,闪存驱动器800和笔记本电脑115通信以确定从电脑115的USB端口提取的闪存驱动器800的功率的允许量。功率相关的通信是通过USB电源管理895所处理的。
[0114]在这些功率相关的通信中,控制USB开关670和890的主机检测逻辑875的输出被设置为一个值,它允许主机与USB电源管理895通信。USB电源管理895与主机通信以确定闪存驱动器800可以从主机的USB连接器拉出的功率的允许量。闪存驱动器800然后相应地限制了它的功耗。限制其功耗可以包括闪存驱动器800限制也连接到闪存驱动器的第二设备的功耗。例如,闪存驱动器800可确定电脑115可以提供10瓦特,并且能够确定智能手机120可以提取5瓦特或10瓦特。此外,闪存驱动电源800消合1瓦特功耗。如果闪存驱动器800使智能手机120提取10瓦特,则将从电脑115的USB端口提取的功率将是11瓦特,这超过了 10瓦特限制。所以闪存驱动器800与智能手机120通信以限制智能手机120的功耗至五瓦特。
[0115]在USB电源管理895已经完成其与主机设备通信之后,则控制USB开关670和890的主机检测逻辑875的输出被设置为使主机与接口 /存储控制器830进行通信。从这点开始,闪存驱动器800的功能类似于闪存驱动器700,直到一个新的设备连接到闪存驱动器800。一旦新的设备连接和对新连接的设备的枚举过程启动时,主机检测逻辑875再次设置它的输出使USB电源管理895在枚举期间连接到新连接的设备。一旦这些通信完成,主机检测逻辑875再次设置它的输出以使主机,其可能已经改变了,如从电脑115改变到智能手机120,与接口 /存储控制器830通信。从这点开始,闪存驱动器800的功能再次类似于闪存驱动器700,直到又一个新的设备连接到闪存驱动器700,而另一个枚举过程开始。
[0116]图9是示出了使用闪存驱动器来将电流从源设备传递到移动设备的工作图,与各种实施例一致。源设备905是具有第一连接器的计算设备,诸如笔记本电脑115,其中所述第一连接器是USB端口,以及移动设备910是具有第二连接器的计算设备,诸如智能手机120,其中所述第二连接器是闪电端口。虽然这个图说明了使用闪存驱动器800以从源设备905将数据复制到移动设备910,旦数据同样可以从移动设备910使用闪存驱动器800复制至源装置905。
[0117]源设备905可以是任何类型的计算,其包括一连接器,诸如USB端口,可以提供电源。源设备905也可以是电源适配器,其不是计算设备,而是一种主要目的是提供电源的设备。然而,当源设备905是电源适配器且不是计算设备时,步骤914、916、922和924是不可能的,并且在一些实施方案中,步骤913也是不可能。移动设备910,以及在此所讨论的任何其它移动设备,可以是任何类型的移动设备,诸如笔记本电脑、平板计算机、蜂窝手机、智能手机,可佩戴装置等。
[0118]用户,如用户105,将闪存驱动器800的连接器,例如凸形USB连接器,插入源设备905的兼容连接器,例如凹形USB连接器。被插入后,闪存驱动器800通电并经过复位序列,它初始化至就绪状态。在一些实施例中,在初始化过程中,闪存驱动器800从闪存240读取并执行软件。例如,在经历复位序列后,接口 /存储控制器830从闪存240读取数据。数据可以是软件将被执行接口 /存储控制器830。软件可以被执行以使闪存驱动器800进入就绪状态。
[0119]一旦闪存驱动器800处于就绪状态,闪存驱动器800或源设备905可以启动两个设备之间的通信。响应于被插入源设备905的USB连接器和有效地“引导”到就绪状态,闪存驱动器800可以确定使用的协议以将消息发送到源设备905以启动设备之间的通信(步骤918)。例如,闪存驱动器800可以基于被插入USB连接器,确定发送USB命令或消息到源设备905以启动通信(步骤920)。响应于接收USB命令或消息,源设备905可以发送一个响应以建立设备之间的通信(步骤912)。在一些实施方案或案例中,源设备905可以发送消息以发起通信到闪存驱动器800,以及闪存驱动器800可以发送响应以建立通信。
[0120]一些外设接口标准,如USB (根据,例如,USB电源输送规格),允许连接器端口提供一定范围的功率水平,并且还允许连接器端口提取一定范围的功率水平。例如,第一设备的USB端口可以允许仅100毫安(ma)被连接的设备提取,而第二设备的USB端口可以允许连接的设备提取500毫安。在某些情况下,要提取的功率可协商。例如,当第一设备的USB端口只允许lOOma被最初提取,它可能会与第一设备进行协商,以使第一设备增加USB端口可以提供的电流。同样地,第一设备的USB端口默认可以提取100毫安,并且可以增加其电流消耗。
[0121]例如,可以输出功率的第一设备的USB端口被连接到需要充电其电池的第二设备的微型USB端口。这两个设备可以交换功率信息,如枚举过程中。第一设备的USB端口可以初始被设成提供100毫安。在枚举过程中,第二设备可以确定第一设备的USB端口可以被设置为提供更多的功率,并且可请求第一设备提供更多的功率,例如,提高被提供的电流从100毫安到500毫安。类似地,第二设备的USB端口最初被设置为提取100毫安。基于确定源USB端口可以提供500毫安,第二设备可以提高其微型USB接口的电流消耗从100晕安到500晕安。
[0122]即使闪存驱动器800消耗功率量非常小,不会超过任何USB端口的任何功率的限制,因为闪存驱动器800可以将电流从一个连接的设备传到第二连接的设备,闪存驱动器800需要知道源设备905的连接器端口可以提供多少功率。闪存驱动器800需要知道这个,以便它可以确保闪存驱动器800和可在将来的某点被连接至闪存驱动器800的第二设备的组合的功率消耗,将不超过源设备905的供电能力。所以闪存驱动器800将消息发送到源设备905,以确定可从USB连接器被提取的功率的允许量(步骤921)。源设备905发送一个响应,其指示功率的允许量(步骤913)。例如,源设备905可以发送一个响应,其指示它仅可以提供一个功率水平。在一些实施例中,源设备905可以发送响应,指示该USB连接器端口可以被设置为提供多个不同的功率水平。在这些实施例中,闪存驱动器800可以与源设备905通信,以使源设备905设置USB连接器端口的功率水平为期望的水平。
[0123]在某个时间点,用户105指示他希望从源设备905复制数据,诸如电影,到闪存驱动器800。例如,用户105可以利用源设备的用户接口,诸如笔记本电脑115的Windows资源管理器,以指示将电影复制到闪存驱动器800 (步骤914)。源设备905可使用USB协议和USB协议命令发送电影到闪存驱动器800 (步骤916)。闪存驱动器800在接口 /存储控制器830接收命令,其中USB命令被解释。基于所接收的USB命令,接口 /存储控制器830确定要写入电影数据到闪存存储器240 (步骤922),并管理数据写入到闪存240 (步骤924)。
[0124]在稍后的时间点,用户105将闪存驱动器800的连接器,例如凸形闪电连接器,插入移动设备910的兼容连接器,例如凹形电连接器。被插入后,该闪存驱动器800的主机检测逻辑875确定闪存驱动器800被连接到两个设备,并且确定将主机从源设备905改变到移动设备910。闪存驱动器800将消息发送至移动设备910以启动通信(步骤928)。移动设备910响应以建立与闪存驱动器800通信(步骤938)。<
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1