提供电力至移动设备的闪存驱动器的制造方法

文档序号:10957279阅读:360来源:国知局
提供电力至移动设备的闪存驱动器的制造方法
【专利摘要】本实用新型公开了一种提供电力至移动设备的闪存驱动器,该闪存驱动器包括印刷电路板,闪存集成电路,第一连接器,其连接到该源设备并与该源设备进行通信,以及第二连接器,其连接到该移动设备并与该移动设备进行通信,以及电源开关和控制模块,其耦合闪存集成电路、印刷电路板、电源开关、第一连接器和第二连接器,并被配置成控制电源开关,以使电源开关将电流从源设备传递到移动设备以对移动设备的电池充电。
【专利说明】
提供电力至移动设备的闪存驱动器
技术领域
[0001]本申请大体上涉及闪存驱动器,并且更具体地,涉及提供电力至移动设备的闪存驱动器。
【背景技术】
[0002]闪存驱动器是包含闪存,其是非易失性存储器,并且可以通过标准连接器连接到计算设备,诸如个人计算机,智能手机,平板电脑等的设备。在经由标准接口将闪存驱动器连接到第一计算设备,如经由全尺寸通用串行总线(USB)连接器连接台式计算机之后,用户可以使用一组标准协议,诸如用于USB大容量存储设备类的,将数据从桌面计算机传送到闪存驱动器。因为数据被存储在非易失性闪存中,闪存驱动器保留数据,即使未连接到任何计算设备和未接收任何功率。闪存驱动器可以连接到第二计算设备,其具有相同的标准连接器并支持相同的协议,比如具有全尺寸USB连接器的笔记本电脑,并且该数据可以从闪存驱动器的闪存传送到笔记本电脑。
【实用新型内容】
[0003]本实用新型的一实施例提供了一种提供电力至移动设备的闪存驱动器,所述闪存驱动器包括:印刷电路板;闪存集成电路;第一连接器,其连接到源设备并与所述源设备进行通信;第二连接器,其连接到所述移动设备并与所述移动设备进行通信;电源开关;和控制模块,其a)耦合所述闪存集成电路、所述印刷电路板、所述电源开关、所述第一连接器,和第二连接器,b)配置成使第一数据能够经由所述第一连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一连接器发送到所述源设备或经由所述第二连接器发到所述移动设备,以及iii)被从所述闪存集成电路擦除,c)配置成使第二数据能够经由所述第二连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一连接器发送到所述源设备或经由所述第二连接器发到所述移动设备,以及iii)被从所述闪存集成电路擦除,以及d)配置成控制所述电源开关,以使所述电源开关将电流从所述源设备传递到所述移动设备以对所述移动设备的电池充电。
[0004]本实用新型的另一实施例提供了一种提供电力至移动设备的闪存驱动器,包括:印刷电路板;闪存集成电路;第一标准接口连接器;第二标准接口连接器;电源开关;和控制模块,其a)耦合所述闪存集成电路、所述印刷电路板、所述电源开关、所述第一标准接口连接器,和所述第二标准接口连接器,b)配置成使第一数据能够经由所述第一标准接口连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一标准接口连接器发送到第一设备或经由所述第二标准接口连接器发到第二设备,以及i i i)被从所述闪存集成电路擦除,c)配置成使第二数据能够经由所述第二标准接口连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一标准接口连接器发送到第一设备或经由所述第二标准接口连接器发到第二设备,以及iii)被从所述闪存集成电路擦除,以及d)配置成控制所述电源开关,以使所述电源开关将电流经由所述第一标准接连接器从所述第一设备经由所述第二标准接口设备传递到所述第二设备。
[0005]本文中所介绍的是使用闪存驱动器提供电流给移动设备的技术,例如,对移动设备的可充电电池进行充电。移动设备,如智能手机,平板电脑,等等,往往有需要定期对可充电的电池进行再充电。移动设备通常通过使用在两端具有连接器的数据线将移动设备连接到电源进行充电。
[0006]在一个例子中,具有微型USB接口的智能手机可以使用在一端具有微型USB连接器而在另一端具有全尺寸USB连接器的数据线进行充电。数据线的微型USB连接器插入智能手机的微型USB连接器,以及数据线的全尺寸USB连接器插入USB电源,如笔记本电脑或台式机的USB连接器,或插入到家用电源出口的USB电源适配器。电流通过USB电源经由数据线流到智能手机,并且可以被用来对智能手机的可充电电池进行充电。不过,也有人认为,携带数据线并不方便。如果携带在口袋或钱包中,数据线添加了其所在的口袋或钱包的杂乱,这可能会给人造成混乱。
[0007]许多人还在其口袋或钱包中携带闪存驱动器,例如,用于备份数据,以在设备之间传送或同步数据。在一个实施例中,闪速驱动器有两个连接器,如全尺寸USB连接器和微型USB连接器。闪存驱动器可以连接到具有兼容连接器的设备。如果该设备还支持闪存驱动器所支持的协议,闪存驱动器可用于备份数据,以在设备之间传送或同步数据等。该闪存驱动器,也可用于,例如,在具有不同的连接器的设备之间传送或同步数据,只要连接器与闪存驱动器兼容且设备支持闪存驱动器所支持的通信协议。例如,闪存驱动器可以通过全尺寸USB连接器连接到笔记本电脑,电影可以使用USB协议从笔记本电脑复制到闪存驱动器,闪存驱动器可以经由微型USB连接器被连接到智能手机,且电影可以流传输到闪存驱动器或从闪存驱动器复制到智能手机以进行观看。
[0008]此外,当同时连接到两个设备,闪存驱动器可用于从设备中的一个传送电力到另一设备,例如,对另一设备进行充电。例如,当闪存驱动器被连接到笔记本电脑和智能手机时,闪存驱动器可以从笔记本电脑传送电力到智能手机,如通过从笔记本电脑流通电流至智能手机。该电流可用于对智能手机供电,对智能手机的可充电电池进行充电,等等。
[0009]在一些实施方案中,闪存驱动器包括用于管理该电源流的电源管理模块。电源管理模块可以,例如,经由USB连接器与笔记本电脑进行通信,以确定笔记本电脑的USB连接器可以提供有多少功率。它可以,例如,经由微型USB连接器进一步与智能手机进行通信,以确定智能手机将经由通过微型USB连接器提供的电力消耗多少功率。例如,电源管理模块可以与智能手机进行通信,以确定一个或多个可能的功率消耗水平,并将智能手机的功率消耗设置为与笔记本电脑可以提供功率的量兼容的水平,鉴于一些电力也将由闪存驱动器本身所消耗。
【附图说明】
[0010]一个或多个实施例以举例的方式在附图中被说明,其中类似的标号表示类似的元件。
[0011]图1是环境图示,其示出了闪存驱动器被在其中使用的环境,与各种实施例一致。
[0012]图2是示出了为两组功能利用两个控制器模块的闪存驱动器的一个例子的方框图,与各种实施例一致。
[0013]图3是示出了使用控制器模块集成两组功能的闪存驱动器的一个例子的方框图,与各种实施例一致。
[0014]图4是示出了通过存储控制器的IC设计的定制集成了两组功能的闪存驱动器的一个例子的框图,与各种实施例一致。
[0015]图5是示出了使用闪存驱动器从非-1Phone操作系统(1S)计算设备复制数据到1S计算设备的工作图,与各种实施例一致。
[0016]图6是示出了具有两个控制器模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。
[0017]图7是示出了具有集成控制器模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。
[0018]图8是示出了具有电源管理模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。
[0019]图9是示出了使用闪存驱动器来将电流从源设备传递到移动设备的工作图,与各种实施例一致。
[0020]图10是示出了当用户持有智能手机时,在智能手机和用户的手之间形成的空间的图示,与各种实施例一致。
[0021]图11是示出了用户的小指被放置在智能手机的底部边缘上以稳定智能手机的图示,与各种实施例一致。
[0022]图12示出了被成形以利用移动装置后面的空间的闪存驱动器的图示,与各种实施例一致,以及如从三个不同的角度所观看的一样。
[0023]图13是示出了连接到一个智能手机并利用智能手机后面的空间的闪存驱动器的主视图,与各种实施例一致。
[0024]图14是示出了连接到一个智能手机并利用智能手机后面的空间的闪存驱动器的侧视图,与各种实施例一致。
[0025]图15是示出了连接到一个智能手机并利用智能手机后面的空间的闪存驱动器的后视图,与各种实施例一致。
[0026]图16是示出了利用智能手机和用户的手之间的空间的闪存驱动器的仰视图,与各种实施例一致。
[0027]图17是示出了利用智能手机和用户的手之间的空间的闪存驱动器的主视图,与各实施例一致。
[0028]图18是示出了具有被成形为利用移动设备后面的空间的连接器的闪存驱动器的图示,与各实施例一致,如从两个不同的角度观看的一样。
[0029]图19是示出了能够被弯曲以适应不同的厚度的移动设备的闪存驱动器图示,与各个实施例一致。
[0030]图20是示出了包括一帽,其被成形为利用移动设备后面的空间的闪存驱动器的分解图,与各实施例一致。
[0031]图21是示出了处理系统的示例的框图,在其中在此描述的至少一些操作可以被实现,与各种实施例一致。
【具体实施方式】
[0032]在本说明书中,提及“实施例”,“一个实施例”,“实例”或类似的,意味着所描述的特定特征、功能、结构或特性被包括在这里介绍的技术的至少一个实施例中。在本说明书中这样的短语出现不一定都指代相同实施例。另一方面,提及的实施例也并不一定是相互排斥的。另外,术语“模块”是指广义上的软件、硬件或固件(或其任何组合)的组件。模块通常是功能组件,可以使用指定的输入产生有用数据或其它输出。模块可以是或可以不是独立的。应用程序(也称为“应用”)可以包括一个或多个模块,或者模块可以包括一个或多个应用程序。
[0033]此外,术语“引起”及其变化是指任何直接的因果关系或间接因果关系。例如,一个计算机系统可以通过发送消息给第二计算机系统来“引起”动作,以命令、请求或促使第二计算机系统执行动作。任何数量的中间设备可以在此过程中检查和/或中继该消息。在这方面,设备可以“引起”动作,即使它可能不知道该设备是否最终将执行动作。
[0034]另外,一个协议,例如USB协议,可包括任何一组协议的,可包括任何各种版本的协议,可包括任何各类的设备,等等,正如可以由本领域普通技术人员所能够理解的。例如,USB协议可以包括任何USB大容量存储设备类,USB人机接口设备类等,可包括任何的USB版本1.0、USB2.0、USB3.0,等。此外,支持协议可以包括支持该协议的仅一部分。例如,支持协议可以包括仅支持该组协议的一部分,仅支持各种版本的协议的一部分,仅支持各类设备的一部分,等等,或者甚至仅支持该组协议中的一个的一部分。
[0035]图1是环境图示,示出了闪存驱动器被在其中被使用的环境,与各种实施例一致。在环境100的实施例中,用户105具有闪存驱动器110并希望从电脑115传送数据到智能手机120。在此实施例中,电脑115运行Microsoft Windows操作系统(Windows),包括标准的全尺寸USB端口,且支持USB协议。在各种实施方案中,电脑115和/或智能手机120可以是任何一个运行支持USB大容量存储协议的操作系统的计算机系统,例如AndroicU1S的,MacOS的,OS父,1]11丨1,即-1^,301348,830,1^111^等。操作系统可以是实时操作系统,诸如1^1?03,RTLinux,Vxfforks,Windows CE,FreeRTOS等。返回到图1的实施例,用户105可将USB连接器125插入到电脑115的USB端口。一旦连接,电脑115识别闪存驱动器110作为USB设备,并建立通信。用户105使用Windows界面,发起复制命令来从电脑115的硬盘复制一些数据,如电影到闪存驱动器110。
[0036]在将电影复制到闪存驱动器之后,用户105从电脑115的USB端口移除USB连接器125,并将闪电连接器130,这是一个标准的Apple电脑TM(Apple)连接器,插入智能手机120,它是运行1S的Apple设备。一旦连接,智能手机120识别闪存驱动器110作为Apple兼容设备,并建立通信。用户105,使用1S界面,发起复制命令,将电影从闪存驱动器125复制至智H泛手机120。
[0037]图2是一个框图,示出了为两组功能利用两个控制器模块的闪存驱动器的一个例子,与各种实施例一致。闪存驱动器200包括第一连接器205、第二连接器210、多路复用器215、锁存器220、安全IC 225、1S接口控制器230、存储控制器235和闪存240。存储控制器235被用于第一组功能,其包括处理USB协议和管理与闪存240的通信。1S接口控制器230被用于第二组功能,其包括Apple 1S特定处理,和与安全IC或模块的通信。在图2的实施例中,第一连接器205、第二连接器210、多路复用器215、锁存器220、安全IC 225、1S接口控制器230、存储控制器235和闪存240,每一个都是连接到印刷电路板(PCB,未示出)的单独的组件,并且PCB电连至各组件的连接点,也被称为引脚。另外,安全IC 225、1S接口控制器230、存储控制器235和闪存240的每一个都是集成电路(1C)。而225-240在本实施例中是单独的集成电路,在其他实施方案中,任何和/或所有的225-240,以及多路复用器215和锁存器220,可以被集成到一个或多个IC中。
[0038]在图2的实施例中,第一连接器205是标准的Apple连接器,如Apple闪电连接器,Apple 30针连接器,或Apple雷电连接器,并且可以被用来连接到运行1S的计算设备。第二连接器210是用于非-1OS计算设备的标准连接器(即运行操作系统不是任何版本的1S的其他计算设备),如全尺寸USB连接器,标准的USB连接器,标准的A型USB连接器,B型USB连接器,迷你USB连接器,迷你USB A型连接器,迷你USB B型连接器,微型USB连接器,微型USB A型连接器,微型USB B型连接器或UC-E6连接器。第二连接器210可以被用来连接到非-1OS计算设备,并且在一些实施方案中,可用于连接到运行1S的计算设备。标准的连接器可以是上述的标准Apple连接,或上述用于非-1OS计算设备的标准连接器,或任何其他工业标准的连接器。在各种实施例中,第一连接器205是第一类型的标准连接器以及第二连接器210是第二类型的标准连接器。
[0039]返回到图1的例子,闪电连接器130可以是第一连接器205,以及USB连接器125可以是第二连接器210。使用图1的例子,用户105可以将第二连接器210插入电脑115的USB端口。一旦连接,第二连接器210的电源引脚被电连接到电脑115的5.5 V电源,并且电源引脚传送5.5V到锁存器220。
[0040]在这一点上,第一连接器205的电源引脚未被连接。锁存器220,它可以是交叉耦合的NAND锁存器,从检测到来自第二连接器210的5.5V电源引脚是活跃的,以及检测到来自第一连接器205的3.3V电源引脚是不活跃的。锁存器220被设置为第二值,以指示第二连接器210是活跃的(S卩,以指示闪存驱动器的读取和写入将通过这个连接器)。锁存器220的输出被电连接到多路复用器215的选择输入,并且当选择输入设置为第二值时,该多路复用器选择第二连接器210的数据引脚以发送到1S接口控制器230。锁存器220的输出也被电连接至IJ1S接口控制器230和存储控制器235。当锁存器220的输出被设定为第二值时,1S接口控制器230和存储控制器235可以采样锁存器220的输出,以确定第二连接器210是否是活跃的。
[0041]组件215-240可以通过适当的电源引脚供电(如第一连接器205的3.3V电源引脚,第二连接器210的5.5V电源引脚,两个电源引脚的组合,第一连接器205或第二连接器210的不同的电源引脚,等等)。一旦部件215-240被通电,这些组件通过一个复位序列,其初始化部件并开始执行被存储在闪存240中的应用程序以有效地“引导”闪存驱动器进入就绪状
??τ O
[0042]在闪存驱动器处于就绪状态之后的某点处,笔记本电脑115发送USB协议消息至闪存驱动器200以启动通信。USB协议消息经由多路复用器215到1S接口控制器230,其将USB协议消息与存储控制器235关联。存储控制器235被配置为,经由存储控制器235的IC设计的定制和/或通过存储控制器235执行的软件,使用USB协议进行通信。存储控制器235接收并识别出USB命令,并相应地运作以建立在笔记本电脑115和闪存驱动器200之间的通信。用户105,使用Windows界面,发起复制命令以从电脑115的硬盘到闪存驱动器110复制一些数据,诸如电影。笔记本电脑115,利用一系列的USB命令,通过第二连接器210和多路复用器215发送电影到1S接口控制器230,其将数据转发到存储控制器235,其根据USB命令运作并将电影写入闪存240。
[0043]存储控制器235还配置成,通过存储控制器235的IC设计的定制和/或通过存储控制器235执行的软件,管理与闪存240的通信。存储控制器235可以是被优化以管理与闪存240的通信的模块,其包括管理从闪存读取数据,将数据写入闪存,以及擦除闪存的数据。管理与闪存的通信可以需要某些性能,例如管理闪存的数据的能力,以便适当地处理“擦除士夬”。闪存,诸如闪存240,可以是NAND或NOR闪存,和可以具有“擦除块”,擦除块是可以在一个时间被擦除的最小单位的闪存。擦除块具有基本上大于可以被读取或写入的存储器的最小单位。例如,NAND闪存可被以典型地2KB到4KB的范围大小的单位被随机存取的方式读取或写入。然而,一擦除块可以是128KB或256KB或更大的量级。
[0044]其结果是,当准备好从闪存240擦除数据或命令时,存储控制器235需要能够确保仅是预期被擦除的数据被实际擦除。存储控制器235可以通过管理数据使得将被擦除的闪存240的擦除块只包含要删除的数据来确保这一点。存储控制器235还可以通过读取在将被擦除的擦除块中的但并不打算被擦除的数据或命令,并存储数据或命令至临时存储器中来确保这一点,临时存储器可以是存储控制器235的一部分或者可以是另一模块的一部分。存储控制器235然后可以安全地擦除含有将被擦除和不将被擦除的数据/指令的混合的擦除块。一旦擦除块被擦除,不打算被擦除的数据/命令可以从临时存储器中被读取和写回闪存240。
[0045]在将电影复制到闪存200之后,用户105从电脑115拔掉闪存驱动器200。在这一点上没有电源连接到组件205-240的任何一个。然而,作为一个非易失性存储器,闪存240保持被写入到它的数据。
[0046]随后,第一连接器205被连接到智能手机120,以及第一连接器205的电源引脚被电连接到智能手机120的3.3V电源。在这一点上,第二连接器210的电源引脚未被连接。锁存器220检测来自第一连接器205的3.3V电源引脚是活跃的,以及从第二连接器210的5.5V电源引脚是不活跃的,且锁存器220被设置成第一值以指示第一连接器205是活跃的。多路复用器215,基于多路复用器选择被设定为第一值,选择第一连接器205的数据引脚以发送到1S接口控制器230 JOS接口控制器230和存储控制器235,基于锁存器220的输出,可确定第一连接器205是否是活跃的。闪存驱动器“引导”,如前所述。在闪存驱动器处于就绪状态后的某点,智能手机120发送外设协议消息到闪存驱动器200以启动通信。
[0047]外设协议是使外设设备,诸如闪存驱动器200,与1S设备进行通信的一个协议和/或一组命令。1S设备是运行任何版本的1S的计算设备。即使当两个设备有物理上兼容的连接器,这两个设备可能不兼容,例如,由于不兼容的通信协议。例如,虽然运行1S的Apple计算设备可具有全尺寸USB连接器,但Apple计算设备可能具有不兼容的通信协议。当用户插入闪存驱动器到Apple计算设备的全尺寸USB连接器时,Apple计算设备可能会显示一个消息,说明该闪存驱动器是无法识别或不被支持的设备。这可能是因为Apple计算设备不能识别仅支持大容量存储类USB协议的设备,即使该设备通过标准的USB连接器相连。
[0048]作为具有不兼容的通信协议的结果是,该闪存驱动器不能被用来从不相容的Apple计算设备发送数据或获得数据,即使该闪存驱动器和Apple计算设备都可以通过物理上兼容的连接器被连接。在这样的情况下,Apple计算设备可能要求所述外设设备支持除USB大容量存储器类的协议之外的外设协议。外设协议可以是,例如,Apple的专有外设协议,该协议的细节可从Apple公司的MFi许可项目获得。外设协议的例子包括提交于2012年I月 10 日的美国专利8,590,036,题为 “Method and system for authenticating anaccessory”所涉及的附件协议。
[0049]为了与外设设备兼容,Apple计算设备可以进一步要求该外设设备支持认证方案,其需要外设设备包括安全1C,如安全IC225。安全IC是可以从计算设备,如1S设备,接收消息并能提供响应给计算设备的1C,使得计算设备能够认证包括安全IC的外设设备。
[0050]返回到例子中,外设协议消息通过多路复用器215传递到1S接口控制器230。103接口控制器230被配置为经由1S接口控制器230的IC设计的定制和/或通过1S接口控制器230执行的软件,使用外设协议进行通信。1S接口控制器230接收并识别外设协议命令。为了建立通道与AppIe1S设备,如智成手机120,的通彳目,闪存驱动器200可以由智成手机120认证。智能手机120发送消息以发起认证过程,响应于此,1S控制器130与安全IC 225的通信以获得认证数据。安全IC 225发送认证数据到1S接口控制器230,其转发认证数据至智能手机120以授权闪存驱动器并启用闪存驱动器和智能手机120之间的数据传送。
[0051]用户105使用1S界面,启动复制命令,将电影从闪存驱动器200复制至智能手机120。智能手机120,采用了一系列的命令,其可以包括活或者USB命令,其是由存储控制器235处理的,或者外设协议命令,其是由1S接口控制器230处理的,或USB和外设协议命令两者,来启动电影的复制。存储控制器235从闪存240读取电影并发送电影到1S接口控制器230,其经由复用器215和第一个连接器205转发电影至智能手机120。
[0052]图3是示出了使用一个控制器模块集成两组功能的闪存驱动器的一个例子的框图,与各种实施例是一致的。闪存驱动器300包括第一连接器205、第二连接器210、多路复用器215、锁存器220、安全IC 225、存储控制器335和闪存240。在一些实施例中,存储控制器335与存储控制器235是相同的,或具有相同的功能。存储控制器335被用于第一组的功能,包括:处理USB协议和管理与闪存240的通信,以及第二组功能,包括:Apple 1S特定处理,和与安全IC进行通信。第二组的功能,在图2的实施例中,是通过1S接口控制器230处理,值得注意的是其不被包括在闪存驱动器300中。在各实施例中,第一组功能包括处理USB协议之外的通信协议,和管理与闪存240的通信。第二组功能包括处理通信协议,诸如Apple外设协议,以及与安全IC的通信。
[0053]在图3的实施例中,第一连接器205、第二连接器210、多路复用器215、锁存器220、安全芯片225、存储控制器335和闪存240,每一个都是连接到PCB(未示出)的单独的组件,并且PCB电连至各组件的引脚。此外,安全IC 225、存储控制器335和闪存240的每一个都是集成电路(1C)。而安全IC 225、存储控制器335和闪存240在本实施例中是单独的集成电路,在其他实施方案中,任何的和/或所有的安全IC 225、存储控制器335和闪存240,以及多路复用器215和锁存器220,可以被集成到一个或多个1C。
[0054]再次参照图1的例子,闪存驱动器300将处理:从电脑115复制电影和发送电影到智能手机120,类似于闪存驱动器200的方式,有一些显著的区别是使用整合存储处理器335集成两组功能的结果或使其可能实现。由图2的1S接口控制器230和存储控制器235处理的过程可以由图3的存储控制器335进行处理。如在图2的示例中的存储控制器235,存储控制器335被配置成,通过存储控制器335的IC设计的定制和/或通过存储控制器335执行的软件,使用USB协议进行通信,以及与闪存240通信。不同于图2示例中的存储控制器235,存储控制器335还被配置成,通过存储控制器335的IC设计的定制和/或通过存储控制器335执行的软件,利用外设协议进行通信,并与安全IC 225进行通信。当存储控制器335被配置为通过软件而不是通过存储控制器335的IC设计的定制时,存储控制器335可以与存储控制器235相同或具有与存储控制器235相同的功能。
[0055]图4是示出了通过存储控制器的的IC设计的定制集成了两组功能的闪存驱动器的一个例子的框图,与各种实施例一致。闪存驱动器400包括第一连接器205、第二连接器210、多路复用器215、锁存器220、安全IC225、存储控制器335、闪存接口控制器405,暂存器410、USB/PP/SIC控制器415和闪存240。一些实施例中,存储控制器435是与图3中的存储控制器335相同的,或具有与图3中的存储控制器335相同的功能。
[0056]在图4的实施例中,存储控制器435被用于第一组的功能,包括:处理USB协议和管理与闪存240的通信,以及第二组功能,包括Apple 1S特定处理,和与安全IC的通信。存储控制器435的子模块、闪存接口控制器405管理与闪存240的通信,以及存储控制器435的第二子模块,USB/PP/SIC控制器415处理USB协议、Apple 1S的特定处理,和与安全IC的通信。
[0057]虽然图4示出了经由存储控制器的IC设计的定制集成的两组功能,但功能可以通过由可编程IC执行的定制软件等效地集成,例如微控制器或专用集成电路(ASIC),或经由定制IC设计和定制软件的组合。如也被称为模块,图4的定制的IC的各块可以当功能通过定制软件被集成时,在定制软件中具有相当的模块。
[0058]再次参照图1的例子,图4的实施方式的闪存驱动器400将以类似于或相同于图3的闪存驱动器300的方式处理从笔记本电脑115复制电影和发送电影到智能手机120。在闪存驱动器400连接到笔记本电脑115且处于就绪状之后,电影复制可以通过发送消息由电脑115发起,如USB协议消息,到闪存驱动器400以发起通信并发送电影的第一数据。第一数据可以通过第二连接器210和多路复用器215到存储控制器435,在那里它传递给子模块USB/PP/SIC控制器415。当USB/PP/SIC控制器415接收第一数据时,它可以在其被连接至的临时存储器410B中存储第一数据。
[0059]闪存可被在典型地2KB到4KB的范围大小的单位中以随机存取的方式读取或写入,有时也被称为块。从笔记本电脑115被复制的第一数据可以被存储在临时存储器410B中,直到有足够的电影和/或其它数据已经被接收以触发闪存240的块的写入。第一数据可替代地或附加地被发送到闪存接口控制器405,在那里它可以被存储在临时存储器41OA,直到有足够的电影和/或其它数据已经被接收以触发闪存240的块的写入。
[0060]一旦足够的数据已被接收以触发写入,临时存储存储器中存储的电影和/或其它数据可以被读取,以及将被写入到闪存240的块的数据可以被发送到闪存接口控制器405。闪存接口控制器405可以将数据写入闪存240的块。一旦数据被写入到闪存240中,保持数据的临时存储存储器的对应存储器可用于其他用途。此外,由笔记本电脑115发送的命令,如USB命令,也可以存储在临时存储存储器410B中,直到USB/PP/SIC控制器415能够适当地处理这些命令。
[0061 ]在从笔记本电脑115被断开并连接到智能手机120之后,闪存驱动器400可以发送电影到智能手机120。要发送的电影数据保留在闪存240中。在闪存驱动器处于准备状态之后的某时,智能手机120发送外设协议消息到闪存驱动器400以启动通信。外设协议消息通过第一连接器205和多路复用器215到存储控制器435,其中消息传递到子模块USB传递/PP/SIC控制器415 WSB/PP/SIC控制器415接收外设协议命令,并可以发送命令到临时存储器410B,直到USB/PP/SIC控制器415已准备好处理该命令。
[0062]作为建立与闪存驱动器400的通信通道的一部分,智能手机120发送消息到闪存驱动器400以启动认证过程,响应于此,USB/PP/SIC控制器415与安全IC 225进行通信,以获得认证数据。安全IC 225发送认证数据到USB/PP/SIC控制器415,其转发认证数据到智能手机120以认证闪存驱动器400并使数据在闪存驱动器400和智能手机120之间传送。在一些实施例中,USB/PP/SIC控制器415在基于认证数据的处理发送消息到智能手机120之前,处理认证数据以支持闪存驱动器400的认证和使数据在闪存驱动器400和智能手机120之间传送。
[0063]用户105使用1S界面,启动复制命令,将电影从闪存驱动器400复制至智能手机120。智能手机120,采用了一系列的命令,可以包括任何USB命令或外设协议命令,这两者都是通过USB/PP/SIC控制器415来处理,发起电影的复制。USB/PP/SIC控制器415将消息发送到闪存接口控制器405,响应于此,闪存接口控制器405从闪存240读取电影,并发送电影到USB/PP/SIC控制器415,它经由多路复用器215和第一连接器205转发电影至智能手机120。
[0064]在一些实施方案中,闪存接口控制器405可以读取被从闪存240发送的电影数据和将数据存储在临时存储存储器410A。闪存接口控制器405可以替代地,或者附加地,发送电影数据到USB/PP/SIC控制器415,它可以存储将被发送电影数据至临时存储存储器410B。一旦USB/PP/SIC控制器415准备好发送电影数据到智能手机120,它可以从临时存储器410B读取电影数据和发送电影数据到智能手机120,或可以直接从闪存接口控制器405接收电影数据和发送电影数据到智能手机120。另外,要被发送的命令可以存储在临时存储器410B,直到USB/PP/SIC控制器415准备好将命令发送到连接的设备。
[0065]闪存接口控制器405还可以管理闪存240的擦除。正如前面讨论的,闪存具有“擦除±夬”,擦除块是可以在一个时间被擦除的最小单位的闪存。擦除块具有基本上大于可以被读取或写入的存储器的最小单位。例如,NAND闪存可被在典型地2KB到4KB的范围大小的单位中以随机存取的方式读取或写入。然而,一擦除块可以是128KB或256KB或更大的量级。其结果是,当准备好从闪存240擦除数据或命令时,管理与闪存驱动器的通信的控制器,例如闪存接口控制器405,需要能够确保仅是预期的被擦除的数据被实际擦除。闪存接口控制器405可以通过管理数据,这样将被擦除的闪存240的擦除块只包含要删除的数据来确保这一点。闪存接口控制器405还可以通过读取在将被擦除的擦除块中的但并不打算被擦除的数据或命令,并存储数据或命令至临时存储器410B中来确保这一点。闪存接口控制器405然后可以安全地擦除含有将被擦除和将不被擦除的数据/指令的混合的擦除块。一旦擦除块被擦除,不打算被擦除的数据/命令可以从临时存储器410B中被读取和写回闪存240。
[0066]本领域的技术人员将认识到示于图1-4和上述中的逻辑,和在下面讨论,以及在工作图中的逻辑,可以以各种方式来改变。例如,逻辑的次序可以被重新安排,子步骤可以并行执行,示出的逻辑可以被省略,其他逻辑可以被包括,等等。此外,所公开的技术的范围还包括实施例,其以其他各种方式实现所描述的功能。因此,所公开的技术的范围旨在涵盖所有这些替代,修改和变化落入权利要求书的范围内,以及所有的等同物。
[0067]图5是示出了使用闪存驱动器400从非-1OS的计算设备505(N⑶505)复制数据到1S计算设备510(1⑶510)的工作图,与各种实施例一致。N⑶505是不运行1S的计算设备,诸如笔记本电脑115,以及ICD 510是运行1S的设备,诸如智能手机120。虽然图示说明使用闪存驱动器400以从N⑶505复制数据到I⑶510,数据可以类似地使用闪存驱动器400被从ICD 510复制至NCD 505。
[0068]用户,如用户105,将闪存驱动器400的连接器,例如凸形USB连接器,插入NCD505的兼容连接器,如凹形USB连接器。被插入后,闪存驱动器400通电并经过一个复位序列,其中它初始化并处于就绪状态。在一些实施例中,初始化过程中,闪存驱动器400从闪存240读取并执行软件。例如,在经历复位序列后,闪存接口控制器405从闪存240读取数据。数据可以是将被闪存接口控制器405或USB/PP/SIC控制器415执行的软件。软件能够被执行以使闪存驱动器400进入就绪状态。
[0069]一旦闪存驱动器400处于就绪状态,闪存驱动器400或N⑶505可以启动两个设备之间的通信。响应于被插入NCD 505的USB连接器和有效地“引导”到准备状态,闪存驱动器400可以决定使用的协议以将消息发送到NCD 505以发起设备之间的通信(步骤518)。例如,闪存驱动器400可以基于被插入USB连接器,判断发送USB命令或消息至NCD 505以启动通信(步骤520) ο响应于接收USB命令或消息,N⑶505可以发送响应,以建立设备之间的通信(步骤512)。在一些实施例中,N⑶505可以发送消息以发起通信到闪存驱动器400,且闪存驱动器400可以发送响应以建立通信。
[0070]在某个时间点,用户105指示他要从NCD505复制数据,诸如电影,到闪动驱动器400。例如,用户105可以在NCD505上利用非-1OS操作系统的用户界面,如在笔记本电脑115上运行的Windows操作系统,以指示复制电影到闪存驱动器400(步骤514) A⑶505可使用USB协议和USB协议命令发送电影到闪存驱动器400(步骤516)。闪存驱动器400在USB/PP/SIC控制器415接收命令,其中USB命令被解释。基于所接收的USB命令,USB/PP/SIC控制器415确定将电影数据写入闪存240(步骤522),并且可以转发电影数据到闪存接口控制器405,其管理数据到闪存240的写入(步骤524)。在电影数据被写入到闪存驱动器400之后,用户105从NCD的505的USB接口拔出闪存驱动器400。
[0071]在稍后的时间点,用户105插入闪存驱动器400的连接器,例如,凸形闪电连接器,到NCD 510的兼容连接器,例如,凹形闪电连接器。被插入后,闪存驱动器400通电并经过一个复位序列;在其中它被初始化并置于就绪状态。一旦闪存驱动器400处于就绪状态,闪存驱动器400或N⑶510可以启动两个设备之间的通信。响应于被插入N⑶510的闪电连接器和有效地“引导”到准备状态,闪存驱动器400可以决定使用协议将消息发送到NCD 510以发起设备之间的通信(步骤526)。例如,闪存驱动器400可以基于被插入闪电连接器,判断发送外设协议命令或消息至NCD 510以启动通信(步骤528)。响应于接收到的所述外设协议命令或消息,NCD 510可以发送外设协议消息来认证闪存驱动器400(步骤538)。
[0072]在接收到该外设协议消息后,闪存驱动器400确定设备认证已启动(步骤530)。夕卜设协议消息被USB/PP/SIC控制器415接收,其中该外设协议命令被解释。USB/PP/SIC控制器415确定认证已被启动(步骤530),以及USB/PP/SIC控制器415将消息发送至安全IC225,以获得认证数据。安全IC 225发送认证数据到USB/PP/SIC控制器415,该认证数据转发至NCD510(步骤532),以认证闪存驱动器400,以使数据在闪存驱动器400和NCD 510之间传送。在一些实施例中,在将变换后的数据发送到NCD 510以授权闪存驱动器400之前,USB/PP/SIC控制器415处理授权数据。在接收到授权数据(或者,在一些实施例中,变换后的数据)后,NCD 510使用认证数据来验证闪存驱动器400是授权的设备。一旦授权,NCD 510发送一个响应,建立与闪存驱动器400 (步骤540)通信。
[0073]在稍后的时间点,用户105指示他要从闪存驱动器400复制或流传输电影到ICD510。例如,用户105利用在I⑶510上运行的1S的用户界面,例如智能手机120,以指示从闪存驱动器400复制或流传输电影到ICD 510(步骤542)。响应于该指示来复制或流传输电影,I⑶510通过发送,例如,请求电影数据的USB命令到闪存驱动器400来发送电影的请求到闪存驱动器400(步骤544),其中命令被指向USB/PP/SIC控制器415,其中USB命令将被解释。基于接收的USB命令,USB/PP/SIC控制器415确定从闪存240读取电影数据(步骤534),并转发读取请求到闪存接口控制器405,其管理从闪存240的电影的数据的读取。在从闪存240读取电影数据之后,闪存接口控制器405发送或传流输电影数据到USB/PP/SIC控制器415,其发送或流传输数据到I⑶510(步骤536),数据在那里被接收(步骤546)。
[0074]在一些实施方案中,其中存储控制器435被配置成,通过存储控制器435执行的软件,集成由图2的1S接口控制器230和存储控制器235上实现的各种功能。一些问题使得成功集成成为挑战。例如,存储控制器435可以与存储控制器235是相同的或具有与存储控制器235相同的功能,其没有被用来(在图2的实施例中)处理外设协议通信,也不能处理与安全IC225的通信。此外,当在软件中的数据传输应用层处理数据传输时,数据传输应用可能不被通知在较低层作出的错误检测,诸如通过USB层的命令,和/或错误检测可能不可见于数据传输应用。其结果是,通过软件实现这些由存储控制器435执行的功能可能是相当有挑战性的。例如,存储控制器435可以不具有处理将电影流传输至计算设备以用于显示所需的性能容量,或可能不能够适当地处理数据传输过程中发生的错误。
[0075]为了克服性能限制,在一些实施方案中,连接的外设设备(CP)通道可以在逻辑上被创建,以便能够使用小型计算机系统接口(SCSI)命令。CP通道是两个组件之间的通信通道,其使这两个组件使用外设协议以外的协议和/或命令进行通信。例如,为了克服使用不旨在实现外设协议的模块,例如存储控制器435,的性能限制,CP通道可以被实现以使小型计算机系统接口( SCSI)命令被使用。存储控制器435,被设计用于数据存储应用,支持SCSI命令,其不支持外设协议。通过建立CP通道,相比于仅仅使用外设协议的协议和/或命令来执行的数据传送而言,这些更高性能的SCSI命令可用于加快多达一个数量级的数据传送。
[0076]为了实现CP通道,存储控制器435可以被配置为创建两个USB端点以用在CP通道上,一个逻辑上地处于闪存驱动器400处以及第二个处于I⑶510处。一旦被建立,CP通道可以被用于利用除USB命令之外的其他命令发送数据。例如,存储控制器235可以为存储应用被设计和优化,并可能支持高性能的数据传输的命令,如SCSI命令。CP通道可用于使用SCSI命令将电影数据从闪存驱动器400传输到ICD 510,和/或从ICD 510到闪存驱动器400。通过利用SCSI命令,数据传输速率可以增加一个数量级的幅度或甚至更多。
[0077]为了克服由处理去往/来自闪存驱动器400的数据传输没有被通知传输错误,或传输错误不可见于数据传输应用的数据传输应用引起的问题,这些错误可以在数据传输应用层被检测。例如,USB协议可以包括循环冗余校验(CRC),它可以在USB协议层进行检查。如果通过CRC校验检测到错误,因为这个错误在比数据传输应用层低的层被检测到,数据传输应用可以不被通知该错误,和/或错误可能不可见于数据传输应用。其他标准USB错误检测机制的例子包括检测无效的产品ID(PID)的序列,漏填充的检测,或检测到令牌分组但在总线事务超时周期内没有相应检测到具有令牌分组的数据分组,等等。其他标准的USB错误检测机制可以是那些由USB规范,如USB 1.0,1.1,2.0,3.0,3.1,等等版本的USB规范调用的机制。
[0078]为了解决这个问题,在一些实施例中,进行检查以检测将通过标准的USB错误检测机制来检测的错误可以在数据传输应用层来实现,以及该错误可以在被由标准USB错误检测机制检查到之前被检测和解决。通过这样做,将通过其他方式被由较低层的USB错误检测机制,如CRC校验,来检测到的错误,能够在数据传输应用层被检测并处理。此外,通过在USB错误检测机制被用于检测错误之前处理数据,数据传输应用可以确保不存在错误,其将以其他方式由USB错误检测机制来检测,并且在与在较低层被检测的错误有关的问题可以被绕过。
[0079]作为错误问题的一例,当被插入连接器时,如闪电连接器,1S可能不允许存储设备,诸如闪存驱动器400被识别为存储设备。当闪存驱动器400插入,例如,运行Andro id操作系统(OS)计算设备时,闪存驱动器400可以被Android操作系统识别为存储设备。其结果是,大部分的数据传输可以由Android操作系统的文件系统进行处理。在这种情况下,当文件传输过程中遇到一个CRC错误,该文件系统的较低部分可以适当地处理该错误。然而,当1S不允许闪存驱动器400被识别为存储设备时,1S的件系统不能被用来处理数据传输。其结果是,当在文件传输过程中遇到的一个CRC错误的错误时,且文件系统不可用时,有可能没有其他软件可用于适当地处理错误。
[0080]这个问题可以通过实施一个文件系统,和包括具有数据传输应用的文件系统来解决。当ICD 510的1S不允许闪存驱动器400被识别为存储设备时,数据传输应用可以利用它自己的文件系统来传送数据。如那些将被1S的文件系统检测并处理的错误(在某些情况下,结合1S)可以,替代地,被由数据传输应用的文件系统检测和处理(在某些情况下,结合数据传输应用)。数据传输应用软件,以及相关的文件系统软件,可以被存储在闪存240中。闪存驱动器400可以从闪存240读取数据传输和文件系统软件,发送软件到ICD 510,并引起软件由I⑶510来执行。
[0081]如果没有某种形式的保护,当第一连接器205和第二连接器210被连接到计算设备时,闪存驱动器400可能损坏。例如,连接到两个连接器的计算设备可以尝试冲突写入。这可能导致闪存240中的数据损坏,或甚至是闪存驱动器400的物理损坏。为了防止这种情况,在一些实施例中,闪驱动器400包括保护电路,以检测何时两个接口都被连接。这个保护电路防止由两个接口试图同时访问闪存所导致的任何损坏或故障。可替代地,闪存驱动器400可具有防止两个连接器被同时连接到计算设备的物理机制。
[0082]作为第二个例子,连接到第一连接器205的第一计算设备的第一电源,和连接到第二连接器210的第二计算设备的第二电源可以,例如,通过短路进行交互,并且该交互可能会损坏连接到第一或第二电源的部件。在一些实施例中,闪存驱动器400包括保护电路,防止第一电源和第二电源电交互以破坏耦合到第一或第二电源的任何组件,以防止当闪存驱动器的每个连接器被连接到不同的计算设备时的损坏。
[0083]在一些实施方案中,当第一连接器205和第二连接器210同时连接到计算设备时,存储控制器435可进一步被配置为区分逻辑上在NCD 505的第一USB主机和逻辑上在ICD510的第二 USB主机。例如,存储控制器435可以根据在锁存器220中的值存储来区分主机,或基于从闪存驱动器400被连接至的计算设备接收到的数据来区分主机。被接收的数据可以是,例如,描述符,以及存储控制器435可以基于描述符来区分主机。
[0084]此外,闪存驱动器400可确定与两个连接的计算设备中的哪个进行通信的设备。例如,基于两个设备被连接到闪存驱动器400的各自相兼容的连接器的顺序,基于在闪存驱动器200和两个计算设备中的每一个之间发生通信的顺序,基于指示与该特定的计算设备进行通信的两个计算设备中的哪一个设备是更高的优先级等,闪存驱动器400可与该两个连接的计算设备中的哪个进行通信的设备。
[0085]图6是示出了具有两个控制器模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。闪存驱动器600包括第一连接器205、第二连接器210、闪存240、接口控制器630、存储控制器635、电源开关650和655、保险丝660、瞬态电压抑制器(TVS)665、USB开关670、主机检测逻辑675、和电阻器680和685。闪存驱动器600还可以包括附加的组件。接口控制器630可以是图2的1S接口控制器230,以及其它实现。存储控制器635可以是存储控制器235,以及其它实现。USB开关670可以是多路复用器215,以及其它实现。主机检测逻辑675,它可以是逻辑模块,可以是锁存器220,以及其它实现。在一些实施例中,闪存驱动器600包括安全IC 225,其耦合到接口控制器635。
[0086]存储控制器635被用于第一组功能,包括:处理USB协议和管理与闪存240的通信。在其它实施例中,存储控制器635处理用于与其他设备进行通信的其他协议,例如外设协议。接口控制器630被用于第二组功能,包括:接口外部计算设备,如Apple 1S设备,运行一个版本的Windows操作系统的计算机,运行一个版本的AndroidTM操作系统的移动设备等。在一些实施例中,接口控制器630被进一步用于与一个安全IC或模块,诸如安全IC 225,进行通信。
[0087]图6的实施例中,第一连接器205、第二连接器210、闪存240、接口控制器630、存储控制器635、电源开关650和655、保险丝660、TVS 665、USB开关670、主机检测逻辑675以及电阻680和685,其每个都是连接到PCB(未示出)的单独的组件,以及PCB电连接至各组件的引脚,以使组件彼此通信。在各种实施方案中,任何的闪存240、接口控制器630、存储控制器635、电源开关650和655,保险丝660、TVS 665、USB开关670、主机检测逻辑675,或电阻器680和685可以被集成以创建一个或多个组件,其集成这些组件的功能,或者可以被细分以创建多个组件,其被组合,包括一个或多个这些组件的功能。此外,这些组件可以连接至多个PCB,多个PCB经由导线或由另一个能使组件彼此通信的机制被耦合在一起。
[0088]返回到图1的例子,闪存驱动器600可以是闪存驱动器110,闪电连接器130可以是第一连接器205,以及USB连接器125可以是第二连接器210。使用图1的例子,用户105可以将第二连接器210插入笔记本电脑115的USB端口。一旦连接,第二连接器210的电源引脚电连接到笔记本电脑115的5.5V电源,电源引脚发送5.5V到主机检测逻辑675。
[0089]在这一点上,没有设备连接到第一连接器205,以及第一连接器205的电源引脚未连接。主机检测逻辑675确定连接到闪存驱动器600的哪个设备,通过第一连接器205或第二连接器210,是闪存驱动器600与之通信的主机设备。在一些实施例中,主机设备是USB主机,以及闪存驱动器600向主机设备发送消息或信号以建立主机设备作为USB主机。在主机设备和闪存驱动器600之间的后续通信可以基于被确立为USB主机的闪存驱动器600。
[0090]主机检测逻辑675的输出控制USB开关670,这是一个数据交换机,以使主机设备通过配置USB开关670与接口控制器630进行通信,以允许数据经过接口控制器630和第二连接器210之间传递。主机检测逻辑675的另一个输出,确定哪一个设备是主机以及是否有一个或两个设备连接到闪存驱动器600,被耦合至接口控制器630和存储控制器635。
[0091]当多个装置连接到闪存驱动器600,主机检测逻辑675可以使用任何的各种算法/机制以确定哪个设备是主机。在一些实施例中,基于哪个设备首先被连接到闪存驱动器600且为其供电,主机检测逻辑675确定哪个设备是主机设备。在其他实施方案中,当两个设备被连接到闪存驱动器600时,主机检测逻辑675设置主机为连接到优先的连接器的设备。例如,当第一和第二连接器205和210连接到设备时,主机检测逻辑675可确定连接到第二连接器210的设备是主机,即使闪存驱动器600经由第一连接器205最初被连接到设备,并且设备被初始设置为主机。
[0092]在图6的例子中,主机检测逻辑675基于连接器的优先级确定主机,其中当设备被连接到第一和第二连接器205和210时,连接于第一连接器205的设备被确定为主机。主机检测逻辑675检测到从第二连接器210的5.5V电源引脚是活跃的,以及从第一连接器205的3.3V电源引脚是不活跃的,并且确定连接到第二连接器210的设备,其是笔记本电脑115,是主机。主机检测逻辑675进一步确定只有一个设备连接到闪存驱动器600。控制USB开关670的主机检测逻辑675的输被设定为第二值,以指示连接到第二连接器210的设备是主机。主机检测逻辑675的输出被电连接到的USB开关电路670的选择输入。主机检测逻辑675的第二输出被电连接到接口控制器630和存储控制器635,并且被设置为一个值,其表示连接到第二连接器210的设备是主机,以及闪存驱动器600被连接到一个设备。
[0093]当USB开关670的选择输入被设定为第二值时,USB开关670使第二连接器210的数据引脚被耦合到接口控制器630,使得数据可以在笔记本电脑115和接口控制器630之间往复发送。主机检测逻辑675的第二输出,它连接到接口控制器630和存储控制器635,可通过接口控制器630和存储控制器635进行采样,以确定连接到第二连接器210的设备是主机,以及闪存驱动器600被连接到一个设备。
[0094]闪存驱动器600的各种组件可以通过适当的电源引脚供电。在闪存驱动器600被连接到任何设备之前,电阻680和685被连接至的三个节点的电压都是相同的,所以这两个电阻器之间的节点的电压和电阻685连接到的接地节点的电压是相同的。因为第二连接器210连接到笔记本电脑115,第二连接器210的5.5V输出端被上电,以及电流流过电阻器680和685到地,导致两个电阻器之间的节点的电压相对于接地节点增加。两个电阻之间的节点被连接到电源开关650,并设置开关到适当的状态。
[0095]当5.5V电源可用时,两个电阻之间的节点的电压增加,禁用开关650且防止3.3V电源从第一连接器205流动到接口控制器630、存储控制器635或闪存240。接口控制器630包括功率转换器,其从5.5V电源生成3.3V。当5.5V电源可用时,接口控制器630供给3.3V电源到存储控制器635和闪存240。当第二连接器210的5.5V电源不可用,这两个电阻器之间的节点的电压是接地,从而启动电源开关650并使3.3V电源从第一连接器205流动到接口控制器630、存储控制器635和闪存240。
[0096]一旦闪存驱动器600通电,该组件通过复位序列,其初始化该组件,并开始执行应用程序,该应用程序存储在闪存240以有效地“引导”闪存驱动器进入就绪状态。相关于“弓丨导”过程,枚举过程被启动,其中闪存驱动器600和笔记本电脑115通信以识别设备类型。在一些实施方案中,在枚举过程中,闪存驱动器600和笔记本电脑115通信以确定从笔记本电脑115的USB端口提取的闪存驱动器600的功率的允许量,以及闪存驱动器600相应地限制了它的功耗。限制了它的功率提取也可以包括闪存驱动器600限制连接到该闪存驱动器的第二设备的功率消耗,以及可以从闪存驱动器600提取的功率。
[0097]在闪存驱动器600处于就绪状态后的某点,笔记本电脑115发送USB协议消息到闪存驱动器600以启动通信。USB协议消息通过USB开关670传送到接口控制器630,其将USB协议消息相关到存储控制器635。存储控制器635被配置为,通过存储控制器635的IC设计的定制,和/或通过存储控制器635执行的软件,使用USB协议进行通信。存储控制器635接收并识别出USB命令,并相应地运作以建立笔记本电脑115和闪存驱动器600之间的通信通道。用户105,使用Windows界面,将启动复制命令从笔记本电脑115复制一些数据,诸如电影,到闪存驱动器600。
[0098]笔记本电脑115,利用一系列的USB命令,发送该电影通过第二连接器210和USB开关670到接口的控制器630,其转发数据到存储控制器635,其根据USB命令运作并将电影写入闪存240。存储控制器635还配置成,通过存储控制器635的IC设计的定制,和/或通过存储控制器635执行的软件,管理与闪存240的通信,类似于存储控制器235。
[0099]将电影复制到闪存驱动器600之后,用户105将闪存驱动器插入智能手机120,使闪存驱动器600连接到笔记本电脑115和智能手机120。主机检测逻辑675确定第一连接器205的3.3V电源和第二连接器210的5.5V电源是活跃的。基于智能手机120被连接到优先连接器,这是第一连接器205,主机检测逻辑675的输出被设置为第一值,以指示连接到第一连接器205的设备,它是智能手机120,是新的主机设备。如以上所讨论,在一些实施例中,主机设备是USB主机。闪存驱动器600可以发送消息或信号到新的主机设备以建立新的主机设备作为USB主机。新的主机设备和闪存驱动器600之间的后续通信可以基于闪存驱动器600被确立为新的USB主机。
[0100]USB开关670,基于开关选择被设定为第一值,使得第一连接器205的数据引脚能够耦合到接口控制器630,使得数据可以在智能手机120和接口控制器630之间往复发送。主机检测逻辑675的第二输出被连接到接口控制器630和存储控制器635被设置为一个值,其表示智能手机120是主机,以及闪存驱动器600连接到两个设备。
[0101]闪存驱动器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有助于通过在一定范围内钳制电压防止过压/欠压。
[0102]在一些实施方案中,在枚举过程中,闪存驱动器600和智能手机115通信以确定用于智能手机120从闪存驱动器600提取的允许量的功率。闪存驱动器600可以基于由笔记本电脑115的USB端口提供的功耗以及基于闪存驱动器600的组件的功率消耗来确定智能手机120的功率提取。例如,如果笔记本电脑115可以提供10瓦特功率给闪存驱动器600,以及闪存驱动器600的组件占用I瓦特,则闪存驱动器600应该限制由智能手机120消耗的功率为九瓦或更少。如果智能手机120可设置为提取5瓦特或十瓦特,闪存驱动器600可与智能手机120通信以将闪存驱动器600的功耗设置为5瓦特(如设置提取为10瓦特会超过由笔记本电脑115提供的功率)。
[0103]在一些实施方案中,如一个实施例,其中闪存驱动器600包括一个安全1C,例如安全IC 225,智能手机120可发送外设协议消息到闪存驱动器600,以发起通信,并授权闪存驱动器600 ο外设协议消息通过USB开关670进入接口控制器630。接口控制器630被配置成,经由接口控制器630的IC设计的定制和/或通过接口控制器630执行的软件,使用外设协议进行通信。接口控制器630接收并识别外设协议命令。当智能手机120是Apple 1S设备时,闪存驱动器600可以通过智能手机120授权。智能手机120发送消息以发起授权过程,响应于此,接口控制器630与安全IC通信以获得认证数据。安全IC发送验证数据到接口控制器630,其转发验证数据到智能手机120以授权闪存驱动器并使数据在闪存驱动器和智能手机120之间传输。
[0104]用户105启动复制命令,将电影从闪存驱动器600复制至智能手机120。智能手机120采用了一系列的命令,它可以包括任何的由存储控制器635处理的USB命令,或由接口控制器630处理的外设协议命令,或USB和外设协议命令两者,以开始复制过程。存储控制器635从闪存240读取电影并发送电影到接口控制器630,其通过USB开关670和第一接口 205转发电影到智能手机120。
[0105]图7是示出了具有集成控制器模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。在图7的例子中,闪存驱动器700与闪存驱动器600是相同的,不同之处在于接口控制器630和存储控制器635的功能已经被集成到接口 /存储控制器730,其是1C。此外,闪存驱动器700可以与闪存驱动器300是相同的,也可以是不同的实现。接口/存储控制器730可以与存储控制器335是相同的,也可以是不同的实现。
[0106]图8是示出了具有电源管理模块的闪存驱动器的一个例子的框图,其能使电流从源设备传送到移动设备,与各种实施例一致。在图8的例子中,闪存驱动器800可以与闪存驱动器300以及闪存驱动器700是相同的,也可以是不同的实现。接口 /存储控制器830可以与接口/存储控制器730以及存储控制器335是相同的,也可以是不同的实现。主机检测逻辑875,它可以是一个逻辑模块,可以与主机检测逻辑675是相同的,也可以是不同的实现。闪存驱动器800包括未包含在图7中的实现中的数个组件/模块,包括界面/存储控制器830、主机检测逻辑875、USB开关890和USB电源管理895。闪存驱动器800还可以包括附加组件。在一些实施例中,闪存驱动器800包括安全IC 225,其耦合到接口 /存储控制器830,并可以使用外设协议命令进行通信。
[0107]图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经由导线或由另一个能使组件彼此通信的机制被耦合在一起。
[0108]闪存驱动器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。
[0109]在这一点上,没有设备连接到第一连接器205,以及第一连接器205的电源引脚未连接。主机检测逻辑875确定连接到闪存驱动器800设备中的哪个设备,通过第一连接器205或第二连接器210,是闪存驱动器800与之通信的主机设备。在一些实施例中,主机设备是USB主机,以及闪存驱动器800向主机设备发送消息或信号以建立主机设备作为USB主机。在主机设备和闪存驱动器800之间的后续通信可以基于被确立为USB主机的闪存驱动器800。
[0110]主机检测逻辑875的输出控制USB开关670和USB开关890,以使主机设备在枚举期间与USB电源管理895进行通信,并且,以使主机设备在其他时候与接口 /存储控制器830进行通信。第二个输出,确定哪一个设备是主机以及是否有一个或两个设备连接到闪存驱动器800,被耦合到存储/接口控制器830。主机检测逻辑875可以使用任何上述的与主机检测逻辑675相关的各种算法/机制来确定哪个设备是主机。
[0111]在图8的例子中,主机检测逻辑875基于连接器的优先级确定主机,其中当设备被连接到第一和第二连接器205和210时,连接于第一连接器205的设备被确定为主机。主机检测逻辑875检测到主机来自第二连接器210的5.5V电源引脚是活跃的,以及来自第一连接器205的3.3V电源引脚是不活跃的。在此基础上,主机检测逻辑875确定连接到第二连接器210的设备,其是笔记本电脑115,是主机,而只有一个设备连接到闪存驱动器800。
[0112]当闪存驱动器800通电时,该组件通过复位序列,其初始化该组件,并开始执行应用,该应用存储在闪存240中以有效地“引导”闪存驱动器进入就绪状态。相关于“引导”过程,枚举过程被启动,其中闪存驱动器800和笔记本电脑115通信以确定设备类型。在枚举过程中,闪存驱动器800和笔记本电脑115通信以确定从电脑115的USB端口提取的闪存驱动器800的功率的允许量。功率相关的通信是通过USB电源管理895所处理的。
[0113]在这些功率相关的通信中,控制USB开关670和890的主机检测逻辑875的输出被设置为一个值,它允许主机与USB电源管理895通信。USB电源管理895与主机通信以确定闪存驱动器800可以从主机的USB连接器拉出的功率的允许量。闪存驱动器800然后相应地限制了它的功耗。限制其功耗可以包括闪存驱动器800限制也连接到闪存驱动器的第二设备的功耗。例如,闪存驱动器800可确定电脑115可以提供10瓦特,并且能够确定智能手机120可以提取5瓦特或10瓦特。此外,闪存驱动电源800消合I瓦特功耗。如果闪存驱动器800使智能手机120提取1瓦特,则将从电脑115的USB端口提取的功率将是11瓦特,这超过了 1瓦特限制。所以闪存驱动器800与智能手机120通信以限制智能手机120的功耗至五瓦特。
[0114]在USB电源管理895已经完成其与主机设备通信之后,则控制USB开关670和890的主机检测逻辑875的输出被设置为使主机与接口 /存储控制器830进行通信。从这点开始,闪存驱动器800的功能类似于闪存驱动器700,直到一个新的设备连接到闪存驱动器800。一旦新的设备连接和对新连接的设备的枚举过程启动时,主机检测逻辑875再次设置它的输出使USB电源管理895在枚举期间连接到新连接的设备。一旦这些通信完成,主机检测逻辑875再次设置它的输出以使主机,其可能已经改变了,如从电脑115改变到智能手机120,与接口 /存储控制器830通信。从这点开始,闪存驱动器800的功能再次类似于闪存驱动器700,直到又一个新的设备连接到闪存驱动器700,而另一个枚举过程开始。
[0115]图9是示出了使用闪存驱动器来将电流从源设备传递到移动设备的工作图,与各种实施例一致。源设备905是具有第一连接器的计算设备,诸如笔记本电脑115,其中所述第一连接器是USB端口,以及移动设备910是具有第二连接器的计算设备,诸如智能手机120,其中所述第二连接器是闪电端口。虽然这个图说明了使用闪存驱动器800以从源设备905将数据复制到移动设备910,旦数据同样可以从移动设备910使用闪存驱动器800复制至源装置905。
[0116]源设备905可以是任何类型的计算,其包括一连接器,诸如USB端口,可以提供电源。源设备905也可以是电源适配器,其不是计算设备,而是一种主要目的是提供电源的设备。然而,当源设备905是电源适配器且不是计算设备时,步骤914、916、922和924是不可能的,并且在一些实施方案中,步骤913也是不可能。移动设备910,以及在此所讨论的任何其它移动设备,可以是任何类型的移动设备,诸如笔记本电脑、平板计算机、蜂窝手机、智能手机,可佩戴装置等。
[0117]用户,如用户105,将闪存驱动器800的连接器,例如凸形USB连接器,插入源设备905的兼容连接器,例如凹形USB连接器。被插入后,闪存驱动器800通电并经过复位序列,它初始化至就绪状态。在一些实施例中,在初始化过程中,闪存驱动器800从闪存240读取并执行软件。例如,在经历复位序列后,接口 /存储控制器830从闪存240读取数据。数据可以是软件将被执行接口 /存储控制器830。软件可以被执行以使闪存驱动器800进入就绪状态。
[0118]一旦闪存驱动器800处于就绪状态,闪存驱动器800或源设备905可以启动两个设备之间的通信。响应于被插入源设备905的USB连接器和有效地“引导”到就绪状态,闪存驱动器800可以确定使用的协议以将消息发送到源设备905以启动设备之间的通信(步骤918)。例如,闪存驱动器800可以基于被插入USB连接器,确定发送USB命令或消息到源设备905以启动通信(步骤920)。响应于接收USB命令或消息,源设备905可以发送一个响应以建立设备之间的通信(步骤912)。在一些实施方案或案例中,源设备905可以发送消息以发起通信到闪存驱动器800,以及闪存驱动器800可以发送响应以建立通信。
[0119]—些外设接口标准,如USB(根据,例如,USB电源输送规格),允许连接器端口提供一定范围的功率水平,并且还允许连接器端口提取一定范围的功率水平。例如,第一设备的USB端口可以允许仅100毫安(ma)被连接的设备提取,而第二设备的USB端口可以允许连接的设备提取500毫安。在某些情况下,要提取的功率可协商。例如,当第一设备的USB端口只允许10ma被最初提取,它可能会与第一设备进行协商,以使第一设备增加USB端口可以提供的电流。同样地,第一设备的USB端口默认可以提取100毫安,并且可以增加其电流消耗。
[0120]例如,可以输出功率的第一设备的USB端口被连接到需要充电其电池的第二设备的微型USB端口。这两个设备可以交换功率信息,如枚举过程中。第一设备的USB端口可以初始被设成提供100毫安。在枚举过程中,第二设备可以确定第一设备的USB端口可以被设置为提供更多的功率,并且可请求第一设备提供更多的功率,例如,提高被提供的电流从100毫安到500毫安。类似地,第二设备的USB端口最初被设置为提取100毫安。基于确定源USB端口可以提供500毫安,第二设备可以提高其微型USB接口的电流消耗从100毫安到500毫安。[0121 ]即使闪存驱动器800消耗功率量非常小,不会超过任何USB端口的任何功率的限制,因为闪存驱动器800可以将电流从一个连接的设备传到第二连接的设备,闪存驱动器800需要知道源设备905的连接器端口可以提供多少功率。闪存驱动器800需要知道这个,以便它可以确保闪存驱动器800和可在将来的某点被连接至闪存驱动器800的第二设备的组合的功率消耗,将不超过源设备905的供电能力。所以闪存驱动器800将消息发送到源设备905,以确定可从USB连接器被提取的功率的允许量(步骤921)。源设备905发送一个响应,其指示功率的允许量(步骤913)。例如,源设备905可以发送一个响应,其指示它仅可以提供一个功率水平。在一些实施例中,源设备905可以发送响应,指示该USB连接器端口可以被设置为提供多个不同的功率水平。在这些实施例中,闪存驱动器800可以与源设备905通信,以使源设备905设置USB连接器端口的功率水平为期望的水平。
[0122]在某个时间点,用户105指示他希望从源设备905复制数据,诸如电影,到闪存驱动器800。例如,用户105可以利用源设备的用户接口,诸如笔记本电脑115的Windows资源管理器,以指示将电影复制到闪存驱动器800(步骤914)。源设备905可使用USB协议和USB协议命令发送电影到闪存驱动器800(步骤916)。闪存驱动器800在接口 /存储控制器830接收命令,其中USB命令被解释。基于所接收的USB命令,接口 /存储控制器830确定要写入电影数据到闪存存储器240(步骤922),并管理数据写入到闪存240(步骤924)。
[0123]在稍后的时间点,用户105将闪存驱动器800的连接器,例如凸形闪电连接器,插入移动设备910的兼容连接器,例如凹形电连接器。被插入后,该闪存驱动器800的主机检测逻辑875确定闪存驱动器800被连接到两个设备,并且确定将主机从源设备905改变到移动设备910。闪存驱动器800将消息发送至移动设备910以启动通信(步骤928)。移动设备910响应以建立与闪存驱动器800通信(步骤938)。
[0124]如上所讨论的,闪存800需要确保其从源设备905的USB端口提取的电流没有超过允许的水平。闪存驱动器800发送消息,以确定移动设备910的功率消耗水平的范围(步骤930)。移动设备910发送响应,其指示功率消耗水平的范围(步骤939)。在某些情况下,该范围可以是一个单一的值。在其他情况下,该范围可以是多个预估水平。闪存驱动器800稍早确定了可以从源设备905的USB端口提取的功率的允许量。闪存驱动器800还知道消耗多少功率。在此基础上,并根据指示的移动设备910的功率消耗水平的范围,闪存驱动器800为移动设备910确定功耗水平(步骤932)。闪存驱动器800将消息发送到移动设备910以设置移动设备910将通过连接器(932步)从闪存驱动器800提取的功率水平。移动设备910发送消息,以使功耗水平智能手机120被设置到适当的水平(步骤940)。闪存驱动器800使功率从源设备905流到移动设备910,例如通过控制功率开关655,以使功率在两个设备之间流动。移动设备910提取的功率是小于或等于所限定的功耗水平(步骤941)。
[0125]在稍后的时间点,用户105指示他希望从闪存驱动器800将电影复制或流传输到移动设备910。例如,用户105采用在移动设备910上运行的OS的用户接口以指示从闪存驱动器800将电影复制或流传输到移动设备910(步骤942)。响应于该复制或传输电影的指示,移动设备910发送针对电影到闪存驱动器800的请求(步骤944)。例如,移动设备910发送请求电影数据的USB命令到闪存驱动器800,其中该命令指向接口 /存储控制器830,其中该USB命令将被解释。基于所接收的USB命令,接口 /存储控制器830确定从闪存240读取电影数据(步骤934)。接口 /存储控制器830还管理从闪存240读取电影数据。在从闪存240读取电影数据之后,接口 /存储控制器830发送或流传输数据至移动设备910(步骤936),其中该数据被接收(步骤946)。
[0126]在对使用智能手机和其他移动设备的人的观察中,观察者指出,当他们在手里垂直地拿着自己的智能手机时,人们往往在指尖的基部和手的内侧之间持有自己的手机。当以这种方式拿着智能手机时,进一步注意到的是,许多智能手机用户会使自己的小指移动到手机的底部以使其稳定。当用户以这种方式持有智能手机并滑动他的小指到手机底部以稳定手机时,可以注意到的空的空间被在手机的背面和使用者的手的手掌之间产生。
[0127]图10是示出了当用户持有的智能手机1005时,在智能手机1005和用户的手之间形成的空间的图示,与各种实施例一致。智能手机1005是苹果iPhone,其在手机的底部边缘具有闪电连接器端口。观察者,在开发技术时,观察使用者利用他们的智能手机和其他移动设备。观察者注意到,在他们的手里垂直拿着他们的移动设备的时候,人们往往在指尖的基部和手的内侧之间持有自己的手机。图10和11分别示出了用户在他的指尖的基部和他的手的内侧之间持有智能手机1005的仰视图和主视图。
[0128]观察者还注意到,当以这种方式持有智能手机的时候,很多人把他们的小手指放在手机底部以稳定手机。图10和11,分别示出了用户把他的小指放在智能手机1005的底部以稳定手机的仰视图和主视图。当用户如图10和11所示地持有智能手机时,观察员注意到空的空间被在手机的背面和使用者的手的手掌之间产生。图10示出了在智能手机1005的背面和使用者的手之间形成的这样的空的空间。
[0129]图12示出了被成形以利用移动装置后面的空间的闪存驱动器的图示,与各种实施例一致,以及从三个不同的角度所观看的一样。在图12的实施例中,闪存驱动器1210具有J形,且在J形的两端具有连接器。移动连接器1215,在图12的实施方式中其是Apple闪电连接器,从前部1225延伸,这是J形的短端。连接器1220,在图12的实施方式中其是全尺寸的通用串行总线(USB)连接器,其从背部1230延伸,这是J形的长端。
[0130]当移动连接器1215被连接到移动设备,如智能手机1005,闪存驱动器围绕移动设备并位于该移动设备的后面,如图13-15所示。图13-15是分别示出了连接到一个智能手机1005并利用智能手机后面的空间的闪存驱动器1210的主视图、侧视图和后视图,与各种实施例一致。虽然图12的实施方式的闪存驱动器是一个特定的形状,其他实施例可包括任何闪存驱动器,其被成形或配置成当连接到移动设备时,使闪存驱动器围绕移动设备,以使得当这样连接的时候,闪存驱动器的一部分位于所述移动设备的后面。
[0131]位于移动设备的后面的闪存驱动器的一部分可以是邻近于移动设备的背面,如在图14和15中所示。当用户持有智能手机1005,且闪存驱动器1210如在13-15图中所示地被连接到智能手机时,连接器1220和闪存驱动器1210的背部1230的一部分可以容纳在用户的手和智能手机1210的背面之间的空间中,如在图16和17中所示。图16和17分别是示出了利用智能手机1005和用户的手之间的空间的闪存驱动器的仰视图和主视图,与各种实施例一致。
[0132]此外,当移动设备被放置在保护壳体中,使得壳体的表面覆盖移动设备的背面,位于移动设备后面的闪存驱动器的一部分(以及在壳体的后面)可以是邻近于移动设备的背面。这是因为被置于邻近于被置于邻近于第三对象的第二对象的第一对象,如本文所用,邻近于第三对象。因此,闪存驱动器的一部分,其邻近于壳体的表面,该壳体的表面邻近于移动设备的背面,顾名思义在此,邻近于所述移动设备的背面。
[0133]在一些实施方案中,闪存驱动器的主体具有三个部分,前部,中部和背部。前部在第一方向上从中部延伸,且具有从前部的端部延伸的移动设备的连接器。例如,闪存驱动器1210的中部可以为U形中部1235,以及前部可以是前部1225。在各种实施例中,中部可以是直线U形,J形,或V形,等等。直线U字形是由三个长方形片形成的U形。移动设备连接器可以是移动连接器1215。移动设备连接器可以使闪存驱动器连接到并与移动设备进行通信。移动设备的例子包括智能手机,平板电脑,便携式音乐设备等。
[0134]主体的背部在第二方向上从中部延伸,且具有从背部的端部延伸的设备连接器。闪存驱动器1210的背部可以是背面部1230。以及设备连接器可以是连接器1220。在一些实施例中,闪存驱动器的主体的背部比前部在第一方向上从中部延伸更进一步地在第二方向上从中部延伸。在其他实施方案中,闪存驱动器的主体的背部比前部在第一方向上从中部更进一步地在第一方向上从中部延伸。在其它实施例中,闪存驱动器的主体的背部在第一方向上从中部延伸比前部在第一方向上从中部延伸超过两倍。
[0135]第一方向和第二方向可以基本上平行,或两个方向在它们之间最多可以有45度的角度。这两个方向之间的最佳角度为O度和大约20度之间。当两个方向之间的角度超过大约20度,具有更长背部的闪存驱动器开始有麻烦容纳到空的空间中,如在10图中所描绘的在智能手机和持有智能手机的用户的手之间的空的空间。随着两个方向之间的角度增加,背部需要减小长度,以适应空的空间。在大于约45度的角度,闪存驱动器不再能够合理利用这个空的空间。
[0136]在一些实施方案中,主体的中间部分被配置或成形使得,当移动连接器在第一方向连接到移动设备,移动设备的背部的一部分,以及设备连接器,将位于移动设备的后面。图14包含闪存驱动器的例子,闪存驱动器1210,具有闪存驱动器的背部的一部分,部分1440,以及设备连接器,连接器1220,位于后面并且也相邻于移动设备。图15还包含闪存驱动器1210的一个例子,其具有闪存驱动器的背部的一部分,以及设备连接器,位于后面也邻近于移动设备。在一些实施例中,闪存驱动器的移动连接器可被以第二方向插入到移动设备的的移动连接器端口。例如,闪电连接器可以在第一方向插入闪电连接器端口,同样也在第二方向插入闪电连接器端口,其中闪电连接器被旋转180度。在这种情况下,当闪存驱动器被在第二方向连接到移动设备时,移动设备的背部以及设备连接器,可位于移动设备的正面且相邻于所述移动设备的前面。
[0137]在一些实施方案中,诸如图18的实施例,闪存驱动器只有一个连接器,手机连接器。图18示出具有一个连接器的闪存驱动器,其被成形为利用移动设备后面的空间,与各实施例一致,从两个不同的角度观察。图18的闪存驱动器,闪存驱动器1810,具有一个连接器,连接器1815。在闪存驱动器仅具有一个连接器的实施方案中,闪存驱动器的背部,如背部1830不具有连接器。在一些实施方案中,主体的中间部分,如U形中部1835,被配置或成形为使得,当移动连接器在第一方向连接到移动设备时,闪存驱动器的背部的一部分是位于移动设备的后面。可以位于移动设备后面的背部的一部分可以是大部分的背部。
[0138]移动连接器1215是配置为连接到并与移动设备通信的连接器。移动设备连接器的例子包括苹果闪电连接器、苹果30针连接器、苹果Thunderbolt连接器、迷你USB连接器、迷你USB A型连接器、迷你USB B型连接器、微型USB连接器、微型USB A型连接器、微型USB B型连接器,和UC-E6连接器。连接器1220是配置为连接到并与设备进行通信的连接器。设备连接器的示例包括全尺寸的USB连接器、标准的USB连接器、标准的A型USB连接器、B型USB连接器、迷你USB连接器,迷你USBA型连接器、迷你USB B型连接器、微型USB连接器、微型USB A型连接器、微型USB B型连接器、UC-E6连接器、苹果闪电连接器、苹果30针连接器,以及苹果Thunderbo 11 连接器。
[0139]图19是示出了能够被弯曲以适应不同的厚度的移动设备的闪存驱动器图示,与各个实施例一致。不同的移动设备可以具有不同的厚度。例如,苹果公司的iPod Touch可能为6.1毫米厚,而苹果5C iPhone可能为8.9毫米厚。在一些实施例中,为了适应不同厚度的移动设备,闪存驱动器的中间部分可被配置成引起闪存驱动器在前部和后部之间的特定间距。这种配置造成闪存驱动器的前部和背部之间的间隙足以当连接到最厚的目标移动设备,使闪存驱动器围绕最厚的目标移动设备。
[0140]闪存驱动器的前部,如前部1225,和闪存驱动器的背部,如背部1230,之间的距离,可以在许多位置被限定。在一些实施例中,假想线或平面可以用来限定第一距离。例如,在图12的侧视图示出了虚线,线1265,其通过沿一平面上的第一点和沿一平面的第二点被定义,其中第一点沿着前部1225与U形中部1235连接的平面,以及第二点沿背部1230与U形中间部分1235连接的平面。线1265也可以是可通过选择位于这两个平面中的一个之上的第三点来定义的平面的一部分。
[0141]第一距离,如第一距离1250,可以被定义为两个点之间的距离。第一点是在闪存驱动器的前部的内侧表面上的点,例如前部1225,其也在以上讨论的线或平面之上,如线1265。第二点是闪存驱动器的背部的内侧表面上的点,如背部1230,其也在该线或平面之上。第一距离可以是在第一点与第二点之间的距离。例如,对于闪存驱动器1210,所述第一距离是第一距离1250。
[0142]在一些实施方案中,前部沿着两个上述平面之一过渡到中间部分,它可以是与在第一方向上的线基本上垂直。背面部过渡到中间部分,沿两个上述平面的另一个,它可以是与在第二方向上的线基本上垂直。在一些实施方案中,两个以上讨论的平面是共面的,并且该两个平面可以与在第一方向和/或在第二方向上的线基本上垂直。
[0143]为了使闪存驱动器适应各种厚度的移动设备,它是基于各种不同厚度的各种移动设备的分析被确定,不同厚度是指实际第一距离的范围是约3毫米至约7毫米之间,5.5毫米是优选第一距离。在一些实施例中,闪存驱动器的中间部分,诸如U形中部1235,可以被成形或配置成造成特定的第一距离,如在实际第一距离范围内的第一距离。例如,U形中部1235可以被成形或配置成使得第一距离1250为3毫米和7毫米之间。
[0144]当闪存驱动器如图14中所示地被连接到移动设备时,闪存驱动器的背部的内表面是闪存驱动器的背部中最接近所述移动设备的表面。闪存驱动器的前部的内表面是闪存驱动器的前部最接近闪存驱动器的背面的内表面的表面。
[0145]第二距离,如第二距离1255,可以由在两个点之间的距离来限定。第三点可以是在移动连接器的中心线上的点,如在移动连接器1215的中心线1260上的点。该点也可以或可选地通过在平分该移动连接器,并包含中心线的平面上的点。例如,该平面可以是包含中心线1260的平面,并垂直于图12的纸平面。第四点可以是在闪存驱动器的背部的内表面上的点,其是最接近第三点。第二距离可以是第三点与第四点之间的距离。例如,对于闪存驱动器1210,第二距离是第二距离1255。
[0146]为了使闪存驱动器适应各种厚度的移动设备,它是基于各种不同厚度的各种移动设备的分析被确定,不同厚度是指实际第二距离的范围是约3毫米至约7毫米之间,5.5毫米是优选第二距离。在一些实施例中,闪存驱动器的中间部分,诸如U形中部1235,可以被成形或配置成造成特定的第二距离,如在实际第二距离范围内的第二距离。例如,U形中部1235可以被成形或配置成使得第二距离1255为3毫米和7毫米之间。
[0147]在一些实施方案中,闪存驱动器的一部分由柔性材料制成,以使闪存驱动器的前部和背部被弯曲分开。例如,U形中部1235的一部分可以由柔性材料制成,以使U形中部1235被弯曲,以增加或减少第一距离和/或第二距离,如在图19中所示。如本文所用,一些对象或材料的一部分可以是对象或材料的整体。这使得闪存驱动器可以弯曲,以适应不同厚度的移动设备。当闪存驱动器被连接到移动设备时,闪存驱动器的某些实施例的背部可以紧贴移动设备的背部。闪存驱动器也可以适应更厚的移动设备。通过弯曲闪存驱动器以增加第一距离和/或第二距离,所述闪存驱动器可以围绕较厚的移动设备以利用移动设备后面的空间。
[0148]分析和实验已经确定,具有70和95之间的肖氏A硬度的材料,如一些弹性聚合物,具有足够的柔性以在闪存驱动器使用,并且85是一个优选的肖氏A硬度。当中间部分,诸如U形中部1235,是用具有70和95之间的肖氏A硬度的材料制成,该中间部分能够收缩和弯曲到足以使闪存驱动器以适应适当范围厚度的移动设备。具有85的肖氏A硬度的材料被确定为在使闪存驱动器容易弯曲足以满足各种厚度的移动设备,但仍然有足够的刚性以提供给用户的反馈(虽然该用户可以感觉到该刚度),该闪存驱动器不应当被弯曲太多之间的很好的权衡。各种材料的分析已经确定了一些材料,如弹性体聚合物,其足够在闪存驱动器的柔性部分中使用。这些材料包括热塑性聚氨酯(TPU),聚丙烯,热塑性弹性体(TPE),和聚硅氧烷,THJ是优选的材料。
[0149]图20是示出了包括一帽,并被被成形为利用移动设备后面的空间的闪存驱动器的分解图,与各实施例一致。在各种实施例中,闪存驱动器2000可以是闪存驱动器110或闪存驱动器1210,或可以是不同的。闪存驱动器2000包括PCB 2005、内模2010、护罩2015、包覆模2020、型材2025和2030、帽2035,和光导管2040C3PCB 2005包括PCB、闪存1C、控制器、USB连接器、闪电连接器和耦合闪电连接器至PCB的导线,以及其它组件。PCB和导线耦合PCB 2000的各种组件。在各种实施方式中,PCB 2005可以包括在图2、图3、图4、图6、图7,或图8中示出的任何组件。
[0150]内模2010是闪存驱动器2000的中间部分的一部分。内模2010被形成在PCB2005的一部分之上。内模2010在其上被形成的PCB 2005包括闪电连接器的一部分,闪电连接器和PCB之间的导线,以及PCB的一部分。在一个实施方案中,内模2010被形成在PCB的端部的2mm之上。内模2010可以由具有70和95之间的肖氏A硬度的材料制成。内模2010可以由任何的TPU、聚丙烯、TPE或硅胶,其他材料制成。为了形成内模2010,希望的形状的模具被创建。要由内模2010覆盖的PCB 2005的一部分被放置在模具的内部,并且包覆成型过程,也称为插入模制工艺被使用。该包覆模制材料被注入成形,并使其固化并硬化以形成内模2010。内模2010优选地由具有85的肖氏A硬度的TPU形成。
[0151]为了帮助内模2010附着到PCB2005的PCB上,在一些实施方案中,两个孔被在PCB的端部被切开,以将内模2010在其上被形成。当TPU被注入模具中时,TPU流入两个孔。固化后,形成在这两个孔中的硬化的TPU使内模2010牢固地附着至PCB。
[0152]光导管2040由传导光的材料构成。光导管2040被插入护罩2015,以及护罩2015在PCB 2005上滑动。护罩2015可以由丙烯腈-丁二烯-苯乙烯(ABS)以及其它材料制成。在PCB2005上放置护罩2015起到多种作用。例如,包覆成型在稍后的制造步骤中形成在PCB 2005上,护罩2015可在包覆成型中保护PCB及其组件。此外,考虑到当闪存驱动器2000被弯曲以适应厚的移动设备时被产生的应力,虽然内模2010被安装到PCB2005,该连接可能不具有需要保持附着的机械强度。内模2010具有变窄的端。护罩2015在PCB 2005上滑动,也在内模2010的变窄的端上滑过。
[0153]利用这种结构,当闪存驱动器2000被弯曲,封装内模2010的变窄的端的护罩的一部分也有助于当弯曲导致的力发生时,机械支撑内模2010。取代内模2010由于被弯曲产生的力可能从PCB 2005的端部断裂,一些这样的力被转移到护罩2015,它传递力进一步沿PCB2005向下。一旦护罩2015被适当地定位在PCB2005之上/围绕PCB 2005,光导管2040定位在PCB上的LED之上。定位正是如此,光导管2040可以从LED传递光到闪存驱动器2000的外部,其中光可被使用者看见。
[0154]包覆模2020被形成在PCB 2005之上,内模2010和护罩2015(其被定位在PCB 2005的一部分之上/围绕PCB 2005的一部分)。包覆模2020可以由ABS、TPU、聚丙烯、TPE或硅胶,等等制成。为了形成包覆模2020,所需形状的模具被创建。通过包覆模2020被覆盖的PCB2005、内模2010和护罩2015的一部分被放置在模具内,并且包覆成型过程用于创建包覆模2020。包覆成型材料被注入成形,并且允许被固化并硬化以形成包覆模2020。包覆模2020优选地由ABS被形成。
[0155]在一些实施方案中,型材2025和2030是金属型材,如铝合金型材。当包覆模2020被形成时,它不完全封装内模2010或护罩2015。包覆模2020的一端被形成以从内模2010的一端拉回一定距离。包覆模2020的另一端被形成以从护罩2015的一端拉回另一距离。型材2030滑过内模2010最接近闪电连接器的一端,其中,型材2030抵靠包覆模2025的一端。型材2025滑过护罩2015的最接近USB连接器的一端,其中,型材2025抵靠包覆模2020的第二端。胶粘剂被用来将两个型材连接到闪存驱动器2000。
[0156]帽2035是一个J形帽,其可放置在两个连接器之上以保护连接器。帽2035可以由ABS、TPU、聚丙烯、TPE或硅胶,以及其它材料制成。帽2035在每个端具有孔该被成形以容纳将要被插入孔中的连接器。帽2035在帽2035的弯曲部的中间具有孔。该孔可以被用于,例如,附着帽2035至键环。当闪存驱动器2000插入帽2035中,帽2035紧紧地持有闪存驱动器
2000 ο
[0157]图21是示出了处理系统的框图,在其中在此描述的至少一些操作可以被实现,与各种实施例一致。处理设备2100可以表示任何如上所述的计算设备,例如,笔记本电脑115、智能手机120、非1S计算设备505、i0S计算设备510、源设备905、移动设备910,或智能手机1005。任何这些系统可以包括两个或多个处理设备,如表示在图21中,它可以通过一个网络或多个网络耦合到彼此。
[0158]在所示实施例中,处理系统2100包括一个或多个处理器2110、存储器2111、通信设备2112,以及一个或多个输入/输出(I/O)设备2113,其全部都通过互连2114耦合到彼此。互连2114可以是或包括一个或多个导电迹线、总线、点对点连接、控制器、适配器和/或其它常规的连接设备。处理器2110可以是或包括,例如,一个或一个以上通用可编程微处理器,微控制器,专用集成电路(ASIC),可编程门阵列,或类似物,或这些设备的任何组合。处理器2110控制处理设备2100的全部操作。存储器2111可以是或包括一个或多个物理存储装置,其可以是随机存取存储器(RAM)、只读存储器(ROM)(其可以是可擦除可编程的)、闪存、微型硬盘驱动器的形式,或其它合适的类型的存储装置,或这些设备的任何组合。存储器2111可以存储数据和指令,其配置处理器2110以根据上文所描述的技术执行操作。通信设备2112可以是或者包括,例如,以太网适配器、电缆调制解调器、无线网络适配器、蜂窝收发器、蓝牙收发器,或类似物,或它们的任意组合。取决于处理设备2100具体的性质和目的,I/O设备2113可以包括各种设备,例如,显示器(其可以是触摸屏显示器)、音频扬声器、键盘、鼠标或其他指针设备、麦克风、相机等。
[0159]除非与物理可能性相反,可以设想,(i)上述方法/步骤可以以任何顺序和/或以任何组合来执行,以及(ii)各实施例的部件可以以任何方式组合。
[0160]上面所介绍的技术可以由由软件和/或固件编程/配置的可编程电路来实现,或者完全由专用电路来实现,或者通过这些形式的任意组合来实现。这种专用电路(如果有的话)可以以,例如,一个或多个应用专用集成电路(ASIC),可编程逻辑器件(PLD),现场可编程门阵列(FPGA)的形式,等等。
[0161]实现此处介绍的技术的软件或固件可以被存储在机器可读存储介质上,并且可以由一个或多个通用或专用可编程微处理器执行。“机器可读介质”,如该术语在本文中使用的,包括可以以机器可访问的形式存储信息的任何机制(机器可以是,例如,计算机、网络设备、蜂窝手机、个人数字助理(PDA)、制造工具,具有一个或多个处理器的任何设备等)。例如,机器可访问介质包括可记录/不可记录介质(例如,只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存装置;等),等等。
[0162]注意,上述的任何实施例可以与彼此组合。除非它在以上可能被以其他方式指出的程度,或者任何这样的实施方案可能在功能和/或结构上是相互排斥的程度。
[0163]虽然本实用新型已经参照具体的示例性实施例进行描述,但将认识到本实用新型并不限于所描述的实施例,而是可以在所附权利要求的精神和范围内由修改和变更来实践。因此,说明书和附图将被认为是说明意义而不是限制意义的。
【主权项】
1.一种提供电力至移动设备的闪存驱动器,其特征在于,所述闪存驱动器包括: 印刷电路板; 闪存集成电路; 第一连接器,其连接到源设备并与所述源设备进行通信; 第二连接器,其连接到所述移动设备并与所述移动设备进行通信; 电源开关;和 控制模块,其 a)耦合所述闪存集成电路、所述印刷电路板、所述电源开关、所述第一连接器,和第二连接器, b)配置成使第一数据能够经由所述第一连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一连接器发送到所述源设备或经由所述第二连接器发到所述移动设备,以及iii)被从所述闪存集成电路擦除, c)配置成使第二数据能够经由所述第二连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一连接器发送到所述源设备或经由所述第二连接器发到所述移动设备,以及iii)被从所述闪存集成电路擦除,以及 d)配置成控制所述电源开关,以使所述电源开关将电流从所述源设备传递到所述移动设备以对所述移动设备的电池充电。2.如权利要求1所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块被进一步配置成使电影可以从所述源设备经由所述第一连接器被复制并经由所述第二连接器流传输到所述移动设备。3.如权利要求2所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块被进一步配置成使被从所述源设备复制的所述电影被存储在所述闪存集成电路中,以及使所述电影到所述移动设备的所述流传输包括从所述闪存集成电路读取所述电影。4.如权利要求2所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块被进一步配置成使用小型计算机系统接口(SCSI)命令流传输所述电影。5.如权利要求1所述的提供电力至移动设备的闪存驱动器,其特征在于,进一步包括: 数据开关,其耦合到所述控制模块、所述第一连接器,和所述第二连接器;以及 逻辑模块,其中所述逻辑模块被配置成控制所述数据开关以使 a)所述第一数据被写入所述闪存集成电路,以及,在被从所述闪存集成电路读取之后,经由所述第一连接器被发送至所述源设备或经由所述第二连接器被发送至所述移动设备,以及 b)所述第二数据被写入所述闪存集成电路,以及,在被从所述闪存集成电路读取之后,经由所述第一连接器被发送至所述源设备或经由所述第二连接器被发送至所述移动设备。6.如权利要求1所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块集成电路进一步配置为: 从所述闪存集成电路读取文件系统软件;和 发送所述文件系统软件到所述移动设备,以使所述移动设备使用所述文件系统软件,以将数据发送至所述闪存驱动器并从所述闪存驱动器接收数据。7.一种提供电力至移动设备的闪存驱动器,其特征在于,包括: 印刷电路板; 闪存集成电路; 第一标准接口连接器; 第二标准接口连接器; 电源开关;和 控制模块,其 a)耦合所述闪存集成电路、所述印刷电路板、所述电源开关、所述第一标准接口连接器,和所述第二标准接口连接器, b)配置成使第一数据能够经由所述第一标准接口连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一标准接口连接器发送到第一设备或经由所述第二标准接口连接器发到第二设备,以及iii)被从所述闪存集成电路擦除, c)配置成使第二数据能够经由所述第二标准接口连接器被接收以i)被写入所述闪存集成电路,ii)被从所述闪存集成电路读取并经由所述第一标准接口连接器发送到第一设备或经由所述第二标准接口连接器发到第二设备,以及iii)被从所述闪存集成电路擦除,以及 d)配置成控制所述电源开关,以使所述电源开关将电流经由所述第一标准接连接器从所述第一设备经由所述第二标准接口设备传递到所述第二设备。8.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块包括多个子模块,其中,所述子模块的每一个被分别包括在多个集成电路的一个集成电路中,其中所述多个集成电路的每一个被耦合到所述印刷电路板,并且其中所述多个集成电路的每一个包括所述子模块的至少一个。9.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,所述闪存集成电路存储指令,其,当由所述控制模块执行时,使得所述闪存驱动器执行以下操作,包括: 经由所述第一标准接口连接器从所述第一设备接收电影数据; 在所述闪存集成电路存储所述电影数据; 在流传输所述电影数据的准备中,从所述闪存集成电路读取所述电影数据;和 经由所述第二标准接口连接器流传输所述电影数据给所述第二设备。10.如权利要求7所述的闪存驱动器,其特征在于,所述控制模块集成电路还被配置为防止通过标准USB错误检测机制的错误检测,以及使能通过存储在所述闪存驱动器的文件系统软件的所述错误检测。11.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,所述第一标准连接器是全尺寸USB连接器、标准USB连接器、迷你USB连接器、微型USB连接器,或UC-E6连接器,并且其中所述第二标准接口连接器是Apple闪电接口、AppIe30针连接器、AppIeThunderbo 11连接器、迷你USB连接器、微型USB连接器、或UC-E6连接器。12.如权利要求11所述的提供电力至移动设备的闪存驱动器,其特征在于,所述标准USB连接器包括标准A型USB连接器和B型USB连接器。13.如权利要求11所述的提供电力至移动设备的闪存驱动器,其特征在于,所述迷你USB连接器包括迷你USB A型连接器和迷你USB B型连接器。14.如权利要求11所述的提供电力至移动设备的闪存驱动器,其特征在于,所述微型USB连接器包括微型USB A型连接器和微型USB B型连接器。15.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,还包括:电源管理模块,其耦合到所述第一标准接口连接器和所述第二标准接口连接器,且被配置成使电力经由所述第一标准接口连接器从所述第一设备经由所述第二标准接口连接器流到所述第二设备。16.如权利要求15所述的提供电力至移动设备的闪存驱动器,其特征在于,所述闪存驱动器被配置成与所述第一设备进行通信以确定所述第一设备可以提供多少电流给所述闪存驱动器。17.如权利要求15所述的提供电力至移动设备的闪存驱动器,其特征在于,所述闪存驱动器被配置为与所述第二设备进行通信以确定所述第二设备将消耗多少电流,从所述第一设备经由电流流至所述第二设备的电力是由所述第一设备提供并流至所述第二设备。18.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,还包括: 数据开关,其被耦合到所述第一标准接口连接器、所述第二标准接口连接器,和所述控制模块,其中所述控制模块被进一步配置为确定是否与所述第一设备或所述第二设备进行通信,并控制所述数据开关以启动所述被确定的通信。19.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块被进一步配置成防止所述第一设备的第一电源和所述第二设备的第二电源的电交互而损坏耦合至所述第一电源或所述第二电源的闪存驱动器的任何组件,或者损坏所述第一电源或所述第二电源。20.如权利要求7所述的提供电力至移动设备的闪存驱动器,其特征在于,所述控制模块被进一步配置成 a)检测 i)所述第一设备何时耦合到所述第一标准接口连接器,和 i i)所述第二设备何时耦合到所述第二标准接口连接器,和 b)基于以下之间的川页序确定是否从所述闪存集成电路将数据发送到所述第一设备或所述第二设备 i)所述第一标准接口连接器被耦合到所述第一设备的检测,和 i i)所述第二标准接口连接器被耦合到所述第二设备的检测。
【文档编号】H02J7/00GK205646850SQ201620040696
【公开日】2016年10月12日
【申请日】2016年1月15日
【发明人】塞尔吉·萨莫鲁科夫, 大卫·F·思摩斯威特, 乔恩·李·安德森, 德瑞尔·斯杜基恩
【申请人】雷夫创新有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1