CN101589592B - 多协议可移动存储设备 - Google Patents

多协议可移动存储设备 Download PDF

Info

Publication number
CN101589592B
CN101589592B CN2007800066967A CN200780006696A CN101589592B CN 101589592 B CN101589592 B CN 101589592B CN 2007800066967 A CN2007800066967 A CN 2007800066967A CN 200780006696 A CN200780006696 A CN 200780006696A CN 101589592 B CN101589592 B CN 101589592B
Authority
CN
China
Prior art keywords
agreement
protocol
equipment
master computer
mtp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007800066967A
Other languages
English (en)
Other versions
CN101589592A (zh
Inventor
D·W·普罗克特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101589592A publication Critical patent/CN101589592A/zh
Application granted granted Critical
Publication of CN101589592B publication Critical patent/CN101589592B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种自动地选择通信协议来与主计算机交换信息的可移动存储设备包括物理层接口、协议失败检测模块、连接和断开连接仿真器、插入和移除检测器、以及内部控制逻辑。内部控制逻辑协调以下动作:检测设备到目标主计算机的附连以及尝试用于与该目标主计算机进行通信的初始协议。如果协议失败检测器指示初始协议已经失败,则该逻辑还逻辑上断开与目标主计算机的连接并重新连接到它,并且尝试第二协议来与该目标主计算机进行通信。如果成功,则设备设置成功指示符以记录哪个协议最后成功用于与目标主计算机进行通信。该成功指示符随后用于指示当设备重新连接到主计算机时首先尝试哪个协议。

Description

多协议可移动存储设备
背景
通用串行总线(USB)大容量存储类(MSC)是由USB设备论坛定义的一组计算通信协议。该标准提供了对各种存储设备的接口。连接到主计算机并包括该标准的典型存储设备包括外部磁硬盘驱动器、包括CD和DVD读取器和刻录机驱动器的外部光盘驱动器、包括USB闪存设备的便携式闪存设备、桥接标准闪存卡和USB连接的适配器、数码照相机、诸如MP3播放器等的数字音频播放器、以及用于音乐、视频和图片的高端数字媒体播放器。
这一USB大容量存储类并不指定在使用它的设备上应使用哪个文件系统;相反,它主要提供读出任何硬盘设备上的扇区的方法。操作系统可自由地用诸如文件分配表(FAT)文件系统等的对存储区域可用的任何文件系统来格式化该存储区域。使用MSC的一个不利方面是它阻止可附连USB的设备容易地经过USB接口呈现其实际功能行为。
媒体传输协议(MTP)是一种新的协议,并且附带了由华盛顿州雷蒙德市的微软公司开发的驱动程序集以将便携式设备连接到Windows
Figure G2007800066967D00011
XP个人计算机(PC)并且在那些设备和PC之间同步数字媒体内容。MTP适于具有硬盘驱动器的便携式设备。以下是MTP的好处。所有兼容MTP的设备使用随Windows Media PlayerTM版本10(MP10)及以上一起出厂的驱动程序,并且用户将能够从播放器控制软件中执行所有传输和同步功能。所有兼容MTP的设备支持被称为AutoSync(自动同步)的特征,该特征让用户将MP10配置为只要将设备连接到支持的PC就自动地将新获取或抓取的内容传输到该设备。兼容MTP的设备具有允许在设备断开连接并然后重新连接时将对该设备上的文件属性(诸如用户评级等)所做出的改变传播回PC的文件属性同步。
因此,媒体传输协议(MTP)设备提供超出USB大容量存储类(MSC)设备的额外的功能。然而,MTP协议并没有在和MSC协议一样多的主机设备上得到支持。运行MP10的主机设备支持MTP,而没有MP10或诸如Linux、MacOS、或Windows 95、Windows ME、或Windows CE等的操作系统的设备不支持MTP。所有这些操作系统及更多操作系统支持MSC。支持旧MSC的PC上的MTP设备的可操作性是有问题的,除非存在某一种协议灵活性。其他协议也存在类似的问题。该问题并不限于MTP和MSC。
特定于MTP和MSC的一个问题是MTP设备维护对存储中的所有对象/文件的数据库索引的这一事实,该数据库索引允许在诸如(但不限于)专辑、作者、风格等的许多属性上进行快速浏览、排序、以及访问。MSC并不维护对于所有对象的数据库索引。结果,当使用MSC来访问可移动存储设备时,MTP使用的数据库索引将变得不与对象同步。
此外,当前不存在检测是否已经以导致MTP数据库不同步的方式使用了MSC的标准方法。结果,主机或设备将不得不假设数据库没有同步并在每次连接或重新连接时修复或重新创建MTP数据库。该操作增加了显著的延迟。一种合乎需要的特征将会是取决于主PC所支持的协议选择任一协议以及在该协议中容纳升级的改变的能力。
概述
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定要求保护的主题的范围。
在本发明的一方面中,一种可移动存储设备能够维护用于可以支持一个或多个协议的主计算机的确定优先顺序的协议的列表。在一个实施例中,一个协议可以是MTP协议,而另一个协议可以是MSC协议。MTP协议可被认为是优先的协议。存储设备按照优先级次序来尝试各协议。如果主机成功地检测到并支持该协议,则操作如同该设备只用该协议来运行一样继续。如果主机没有检测到或不支持该协议,则该设备仿真一断开连接事件并且用该列表中的下一个协议来重新连接。
如果该设备用MSC协议来连接,则该设备对每个存储区域启用写入检测器。对于由主机向存储区域的每次写入,设备将索引标志设为真。如果设备根据MTP来连接,则该设备检查每个存储区域的索引标志。如果区域的索引标志为真,则该设备修复对应于该区域的数据库索引并且将该索引标志清除为假。更新的索引允许在即使该数字媒体是使用不支持索引的MSC协议来存储在该设备上的的情况下也能使用MTP协议的能力来对存储在设备上的数字媒体进行分类和搜索。
附图简述
在附图中:图1是示出具有本发明的各方面的示例媒体存储设备的图;图2是展示了本发明的各方面的示例流程图;以及图3是示出示例主机计算环境的框图。
详细描述
示例性实施例
可插入存储媒体的一个问题是所使用的接口和协议。在可以使用两个操作协议的情况下,用户可能不知道要使用的协议。例如,兼容通用串行总线(USB)的设备的用户可能不知道该设备或者诸如个人计算机等的主计算机支持哪个协议。一种解决方案是使兼容USB的设备配备在各可选协议之间转换的能力以使得用户无需连接和断开兼容USB的设备,也无需做出选择一个协议而不是另一个的手动转换。注意,任何协议集都可以结合本发明来使用,并且以下所呈现的各具体实施例并非限制。
图1描绘了用于能够运用多个协议而无需主PC或者用户干涉的兼容USB的存储设备的体系结构。图1描绘了在其中与至少两个协议兼容的媒体存储设备120可连接到第一、第二、或第三主机中的任一个的系统。如果连接到第一主机105,则所支持的协议可以是较新的MTP协议或者常见的MSC协议中的任一个。如果连接到第二主机110,则所支持的协议是MSC协议。如果连接到第三主机115,则所支持的协议是MTP协议。
媒体存储设备120包括物理接口130,该接口包括典型接口的电学和硬件方面。该接口可以是USB接口、火线接口、WiFi接口、以太网、光学(同步光纤网(Sonet))接口、或其他通常可用的PC接口中的任一种。设备120功能上还包含能够检测对PC或其他计算设备的工作接口的存在的插入和移除检测模块125。插入和移除检测块确定存储设备120与PC或其他外部主机相连接还是断开与其连接。
设备120的协议失败检测功能135可以存储该设备内可用的协议的各方面以便能够在用所支持的协议中的一个来操作或试图操作时检测到错误。连接和断开连接仿真器140允许设备在设备120有从一个协议改变到另一个的原因时仿真断开连接和重新连接。协议失败检测功能135与连接/断开连接仿真器140的组合使设备120能够用不止一种协议来操作。如果尝试了第一种协议并且失败了,则协议失败功能135检测到该失败并且,如果合适,可以用作激活连接/断开连接仿真器140的触发器。在协议失败时,在内部逻辑170的控制下,仿真器140能够仿真设备120从主机的断开连接。然后,仿真器140能够提供该设备到主计算机的逻辑连接因此允许尝试第二种协议。仿真器140能够以逻辑控制170所允许的频率来向设备120提供断开连接和连接服务。
在本发明的一方面中,内部逻辑控制可被实现为逻辑状态机或可编程控制器。可编程控制器可以通过到媒体存储设备120的接口使用从诸如CD、软盘等的计算机可读介质下载的程序来进行编程。可编程介质可包含用于在设备120上执行操作的指令。设备120的电源可以从总线接口中得到,诸如在设备是兼容USB的情况下。或者,或作为结合,设备120可包括提供用于维护和/或工作电力的所需的偏压的电池。
设备120支持MTP协议。因此,提供数据库165以使得设备120可以对存储在该设备中的文件的各方面进行存储和分类。例如,如果该设备是数字音乐设备,则每个特定的文件可具有包括文件名、大小、艺术家、专辑、风格、标题、以及其他标签或属性的各方面。这些属性和信息可被存储在数据库165中。MTP协议还允许用户排序或搜索用于歌曲的设备的内容。实现搜索的一种方法是用能够指向可访问歌曲的存储中的位置的数据库上的索引。因此,MTP支持在数据库信息上的索引。索引行列可被存储在数据库165中。在一个实施例中,可由小型磁盘驱动器或半导体存储器来支持MTP数据库。
图1描绘了存储区域1到N、160a和160b。设备数据库165可用作诸如数字音乐等的媒体的存储。因此,在该具体示例中,诸如160a和160b等的存储区域的指示可用于将存储在数据库165上的音乐文件或音乐文件组相关联。每个存储区域都具有相关联的索引标志和写入检测元件。索引标志145a和145b分别与存储区域160a和160b相关联,写入检测模块150a和150b分别与存储区域指示符160a和160b相关联。
在本发明的一方面中,设备120可以与兼容MSC的主PC以及兼容MTP的主PC一起使用。如果兼容MTP的主机连接到该设备,则用户可以根据搜索准则使用索引来检索歌曲。如果添加了新歌曲,则可以更新索引。然而,如果使用MSC协议来添加数字音乐内容,则将添加该文件,但不会更新索引,因为MSC协议不支持文件的索引。在本发明的一方面中,如果设备被连接到不支持索引搜索的使用的MSC主机,则歌曲将被放置于存储器中诸如存储区域160a等的存储区域中。如果发生这一情况,则写入检测模块150a检测到对存储区域160a的写入已经在MSC操作模式中发生并且设置索引标志145a。
随后,如果在后续会话期间使用MTP协议,则设备120能够检测到该索引标志并且指示已经添加了数字内容但没有被索引。设备120然后允许索引新添加的数字内容以使得MTP协议能够允许使用索引来搜索新的数字音乐内容。
在本发明的另一方面中,当新的数字音乐被加载到设备中,更新对应于该新添加的数字音乐的索引。作为添加的结果,可以更新多个索引。更新索引的一种方法是每次进行MTP连接时更新整个存储区域。然而,因为设备可能保持有10,000以上的可单独索引的数字内容项,所以这可能花费大量的时间。通过使用按照每个存储部分划分的索引标志,只需要更新对于由被激活的索引标志指示的存储部分的索引。因此,整个索引的重建变得没有必要,并且可以在更少的时间内实现更新。因此,设备120变得更快对用户可用。本发明的该方面避免了设备存储器的数据库索引的重建。在该设备上使用的存储器可以是诸如非易失性或易失性存储器等的磁盘或半导体存储器。
在本发明的另一方面中,如果该设备在MTP协议下操作并且察觉到部分文件,则可如在任何其他数据库中那样回退(roll back)数据库以便移除该部分文件。部分文件可能是用户在写入操作期间移除设备的结果,或者可能是以其他方式损坏的文件。因此,本发明允许恢复和回退其文件因设备电源丢失而不完整的数据库。
图2是利用本发明的各方面的一个可能的实施方法200。方法200假设类似于图1的设备120的媒体存储设备可由用户物理地连接到支持MTP协议或者MSC协议中的任一个,或两者都支持的主机。作为过程200的开始,设备等待被物理连接到主机(步骤210)。在物理连接之后,检查成功标志以查看该设备是否上一次成功地连接到兼容MTP的主机或是否已过了可配置时间段(计数)。在一个实施例中,该设备最初可被设为使得设置在步骤215处的成功标志以指示上一次尝试连接时的成功的MTP初始化,即使先前从未连接过该设备。可设置该偏好,以使得该设备最初选择尝试用最先进的协议:MTP来连接。
假设设置成功标志以指示成功的上一次MTP尝试,该过程再次移至连接到兼容MTP的主机(步骤220)。或者,如果超出了计数,则做出初始化MTP协议的尝试(步骤220)。超出计数可以是诸如超出可配置时钟计数或成功连接计数等的计数器事件。时钟计数可以是诸如24小时时间段等的设备附连之间的时间量,该时间量用作在其后引导该媒体设备在下一个附连事件时重新尝试MTP协议的超时时间段。或者,超出计数可以是由该设备做出的成功的MTP或MSC连接的特定(可配置)数量。在做出多次连接之后,可引导该设备尝试高优先级MTP协议。假设做出MTP尝试(步骤220),如果连接是成功的(步骤225),则设置成功标志以记住上一次成功的尝试是与兼容MTP的主机进行的(步骤230)。在步骤230处,可以启动上述的诸如时钟计数或成功连接计数等的计数。接着,检查索引标志以查看该索引标志是否已设置(步骤245)。如果设置了该索引标志(真),则指示发生了先前的MSC会话并且存在还未被正确索引的媒体存储数据。如果在步骤245中索引标志被检测到为真,则修复该索引并且清除该索引标志(步骤260)。然后可做出作为MTP设备的最终连接(步骤275)。该媒体存储设备然后可以等待断开连接(步骤280)。如果断开该设备,则该过程回到等待下一次连接(步骤210)。
回到步骤225处的过程200,如果启动MTP协议的尝试不成功,则做出MSC协议的尝试(步骤235)。在本发明的一个实际方面中,替换协议的尝试可调用断开连接后跟连接的仿真。如果与MTP主机相连接的最初尝试是成功的(步骤240),则该媒体存储设备记住上一次成功的协议初始化为MSC协议连接(步骤250)。最后,调用完整的协议并且使用MSC协议来将媒体存储设备连接到主机设备(步骤265)。该媒体存储设备然后在其等待断开连接指示(步骤280)之后等待重新连接(步骤210)时支持MSC协议的操作。
如果该媒体存储设备随后被附连到MSC设备,则过程200允许快速地连接该设备。将进行设备附连(步骤210),并且上一次成功将指示在其中该存储设备将在MSC协议下启动与该主机的连接的MSC连接(步骤215)。与MSC协议主PC的初始化连接将会是成功的,并且方法200进入上述的步骤250和265。
如果该媒体存储设备随后被连接到只支持MTP的主机,则该设备将在等待(步骤210)之后进入连接状态并且将检查成功标志。因为该设备先前已经有了MSC成功作为上一次连接协议,所以该过程将从步骤215遍历到步骤235并且将发生MSC协议启动。然而,因为该设备被连接到只支持MTP的主机,所以MSC尝试将会失败(步骤240)。过程然后询问在当前会话期间是否已有过MTP协议尝试(步骤255)。在这一情况下,不存在先前的MTP尝试。所以,该过程从步骤255遍历到在其中做出MTP协议尝试的步骤220。当成功连接时(步骤225),设置成功标志以指示MTP成功,所以任何随后到主机的连接将首先尝试兼容MTP的协议(步骤230)。再一次,在成功的MTP初始化之后,测试索引标志(步骤245)。如果设置了该索引标志,则在用MTP协议来完全连接之前修复该索引(步骤275)。
回到在其中MSC连接尝试失败的步骤255,如果先前已尝试了MTP协议并且失败了,则过程200得出该媒体存储设备无法使用MSC协议或用MTP来连接的结论(步骤270)并因此遍历到等待另一次重新连接(步骤210)。
方法200示出了本发明的灵活性。一旦设备已用一种协议来连接,它就会记住那次成功,并且当被重新连接到主机时,尝试使用该相同的成功的协议。然而,如果该存储媒体设备被连接到支持不同协议的主机,则该设备首先尝试上次成功的协议,并且如果失败了,则该存储设备尝试替换协议。如果两个协议都失败了,则该设备等待随后的重新连接。因此,媒体存储设备可被连接到支持MTP协议、MSC协议中的任一种的主机,以及支持其中一种协议的主机。该设备可从一个主机移至另一个主机,并且如果该主机支持该设备支持的协议中的任一种则该设备将成功连接。如果在MSC设备上使用该设备,并且该设备随后被连接到MTP设备,则进行自动索引修复以使得即使数字内容是使用MSC协议下载的也可以使用完整的MTP协议功能。
在本发明的一个实施例中,主机计算机可以支持MSC或者MTP协议。因此,如果该设备先前是结合只支持MSC的主机来使用的,则该存储设备会记住那次成功的连接并且始终尝试使用MSC协议来连接。所以,如果该媒体存储设备被连接到支持MSC和MTP协议两者的主机,则由于MSC设置了成功标志,将更偏爱MSC协议。在一个实施例中,如果上一次成功标志被设置为尝试MSC,则将在预定的计数数量之后尝试MTP协议。计数可以是由时钟提供的定时计数,或可以是指示该媒体存储设备被连接到主计算机的次数的计数器。时钟、累加器、标志、或寄存器可以包括在控制逻辑170内。例如,如果成功标志被设置为偏爱MSC协议尝试,则在每个预定的重新连接次数(例如,到主机的三次或四次连接)之后,该存储设备将转为偏爱初始MTP协议尝试。这将允许该设备变得向上兼容高级的MTP协议并且适应存储设备的用户可能将该设备连接到兼容MTP或MSC的主机的可能性。在一个实施例中,超出的预定计数会将成功标志设置到优选的MTP协议。在另一个实施例中,超出的预定计数将简单地覆盖成功标志并且使用优选的MTP协议作为初始尝试协议。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
示例性计算设备
图3和以下讨论旨在提供适于与媒体存储设备进行交互的主计算机的简要概括描述。虽然以下描述了通用计算机,但这仅是单个处理器示例,并且具有多个处理器的主计算机的各实施例可以用诸如具有网络/总线互操作性和交互的客户机等的其他计算设备来实现。
参考图3,用于实现示例主计算机的一个示例性系统包括计算机系统310形式的通用计算设备。计算机系统310的组件可以包括,但不限于,处理单元320、系统存储器330和将包括系统存储器在内的各种系统组件耦合至处理单元320的系统总线321。系统总线321可以是若干种总线结构中的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中的任一种的局部总线。
计算机系统310通常包括各种计算机可读介质。计算机可读介质可以是能由计算机系统310访问的任何可用介质,而且包含易失性/非易失性介质以及可移动/不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备、或可用于存储所需信息并可由计算机系统310访问的任何其它介质。
系统存储器330包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)331和随机存取存储器(RAM)332。基本输入/输出系统333(BIOS)包含有助于诸如启动时在计算机系统310中的元件之间传递信息的基本例程,它通常存储在ROM 331中。RAM 332通常包含处理单元320可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图3示出了操作系统333、应用程序335、其它程序模块336和程序数据337。
计算机系统310也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图3示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器331,从可移动、非易失性磁盘352中读取或向其写入的磁盘驱动器351,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘356中读取或向其写入的光盘驱动器355。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器341通常由不可移动存储器接口,诸如接口340连接至系统总线321,磁盘驱动器351和光盘驱动器355通常由可移动存储器接口,诸如接口350连接至系统总线321。到系统总线321的其他连接包括向串行接口设备358提供电源和数据连接服务的串行接口连接357。串行连接357的示例包括火线、USB、以及光学接口。串行接口设备的示例包括闪存设备、媒体设备、以及诸如扫描仪和组合设备等的其他外围设备。
上文讨论并在图3中示出的驱动器及其关联的计算机存储介质为计算机系统310提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图3中,硬盘驱动器341被示为存储操作系统344、应用程序345、其它程序模块346和程序数据347。注意,这些组件可以与操作系统344、应用程序345、其它程序模块346和程序数据347相同或不同。操作系统344、应用程序345、其它程序模块346和程序数据347在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,如键盘362和定点设备361(通常指鼠标、跟踪球或触摸板)向计算机系统310输入命令和信息。其它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线320的用户输入接口360连接到处理单元321,但是也可由诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构连接。监视器391或其它类型的显示设备也经由可以进而与视频存储器(未示出)进行通信的接口,诸如视频接口390连接至系统总线321。除监视器391以外,计算机系统也可以包括其它外围输出设备,诸如扬声器397和打印机396,它们可以通过输出外围接口395连接。
计算机系统310可使用至一个或多个远程计算机,诸如远程计算机380的逻辑连接在联网或分布式环境中操作。远程计算机380可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算机系统310描述的许多或所有元件,尽管在图3中只示出存储器存储设备381。图3中所示的逻辑连接包括局域网(LAN)371和广域网(WAN)373,但也可以包括其它网络/总线。这样的联网环境在家庭、办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN网络环境中使用时,计算机系统310通过网络接口或适配器370连接至LAN 371。当在WAN网络环境中使用时,计算机系统310通常包括调制解调器372,或用于通过WAN 373,如因特网建立通信的其它装置。调制解调器372可以是内置或外置的,它可以通过用户输入接口360或其它合适的机制连接至系统总线321。在联网环境中,相对于计算机系统310所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例,而非限制,图3示出了远程应用程序385驻留在存储器设备381上。可以理解,示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
此处所述的各种技术可结合硬件或软件,或在适当时以其组合来实现。因此,本发明的方法和装置或其某些方面或部分,可以采用包含在有形介质中的程序代码(即,指令)的形式,有形介质诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质,其中,当程序代码被加载至诸如计算机等机器并由其运行时,该机器成为用于实现本发明的装置。
尽管已结合各个附图的优选实施例对本发明的各方面进行了描述,但是可以理解,可以使用其它类似的实施例,并且可以对所述实施例进行修改或添加,来实现本发明的相同功能而不背离本发明。此外,应当强调,可构想包括手持式设备操作系统以及其他专用操作系统的各种计算机平台,尤其当无线联网设备的数量继续增长时。因此,所要求保护的发明不应限于任何单个实施例,而是应该根据所附权利要求书的宽度和范围来解释。

Claims (20)

1.一种由附连的设备选择数据传输协议的方法,所述方法包括:
检测设备到主计算机的物理附连,所述设备能够使用至少两种数据传输协议;
所述设备使用第一数据传输协议来尝试启动与主计算机的通信,所述第一数据传输协议包括初始尝试协议;
当所述第一数据传输协议无法启动与所述主计算机的通信时,仿真与所述设备的逻辑上的断开连接,而后仿真与所述设备的逻辑上的重新连接;
所述设备使用第二数据传输协议来尝试启动与主计算机的通信,其中所述第二数据传输协议是启动与所述主计算机的通信的成功协议;以及
存储所述成功协议的指示符,其中所述指示符在所述设备随后物理附连到主计算机时使用以便选择初始尝试协议。
2.如权利要求1所述的方法,其特征在于,存储所述成功协议的指示符包括设置成功标志,其中所述成功标志指示用来启动与主计算机的通信的上一次成功协议。
3.如权利要求2所述的方法,其特征在于,所述成功标志指示USB大容量存储类MSC协议或者USB媒体传输协议MTP中的任一个。
4.如权利要求3所述的方法,其特征在于,还包括:
测试索引标志以确定当所述设备使用所述MSC协议来操作时是否执行了对存储器的写入。
5.如权利要求4所述的方法,其特征在于,还包括:
更新与所述索引标志相关联的存储器区域的索引,其中所述索引在所述设备使用所述MTP协议被成功地连接到主计算机时是有用的。
6.如权利要求1所述的方法,其特征在于,还包括:
感测所述设备从所述主计算机的物理断开连接;
检测所述设备到主计算机的随后的物理附连;
如果没有超过预定计数,则使用由所述指示符标识的所述成功协议来尝试通信;以及
如果超过了所述预定计数,则尝试使用替换协议而不是由所述指示符标识的所述成功协议以建立与主计算机的通信。
7.如权利要求6所述的方法,其特征在于,所述替换协议是优选协议,并且其中所述方法还包括:
如果所述优选协议被成功地用来启动与主计算机的联系,则更新所述成功协议的指示符以指示所述优选协议。
8.如权利要求7所述的方法,其特征在于,所述优选协议是MTP协议。
9.如权利要求6所述的方法,其特征在于,所述计数是所述设备遇到的到任何主计算机的物理附连的次数的指示。
10.一种用于自动选择至少两种协议中的一种的媒体存储设备,所述存储设备包括:
用于连接到任何兼容的主计算机的物理接口;
用于检测所述设备与任何兼容的主计算机的附连和移除的插入和移除检测器;
用于确定正用来启动与连接的主计算机的通信的协议是否已经失败的协议失败检测器;
用于逻辑上模拟做出和断开与所述连接的主计算机的通信的连接和断开仿真器;
表示哪个协议上一次成功建立与任何兼容的主计算机的通信的成功指示符;以及
内部控制逻辑,所述控制逻辑协调以下动作:检测所述设备到目标主计算机的附连、使用用于尝试与所述目标主计算机通信的初始协议、在所述协议失败检测器指示所述初始协议无法启动与所述目标主计算机的通信的情况下逻辑上仿真断开连接并重新连接到所述目标主计算机、使用用于尝试与所述目标主计算机通信的第二协议、以及设置所述成功指示符以记录哪个协议成功地用于与所述目标主计算机的通信,其中所述成功指示符在所述设备随后的物理附连时使用以选择数据协议。
11.如权利要求10所述的媒体存储设备,其特征在于,还包括:
用于存储所述设备上的数字媒体的数据库;以及
各自都与所述数据库的相应的多个存储区域相关联的多个索引标志,每个索引标志在被设置时指示存储在所述相关联的存储区域中的数字媒体的索引没有被更新。
12.如权利要求11所述的媒体存储设备,其特征在于,所述至少两种协议包括USB大容量存储类MSC协议和USB媒体传输协议MTP。
13.如权利要求12所述的媒体存储设备,其特征在于,所存储的数字媒体的索引在所述设备使用所述媒体传输协议MTP来连接,并且先前的附连使用在其中做出对所述数据库的数字内容写入的所述大容量存储类MSC协议时被更新。
14.如权利要求10所述的媒体存储设备,其特征在于,还包括:
与数据库的存储区域相关联的写入检测器,其中所述写入检测器检测对所述数据库的存储区域的写入并且设置相关联的索引标志。
15.如权利要求10所述的媒体存储设备,其特征在于,所述物理接口包括USB接口、火线接口、WiFi接口、以太网接口、以及同步光纤网接口中的一种。
16.如权利要求12所述的媒体存储设备,其特征在于,还包括:
对做出到任何主计算机的物理连接的次数进行计数的连接计数器,所述计数器用于在所述计数超出预定值时强制所述设备尝试使用所述媒体传输协议。
17.如权利要求12所述的媒体存储设备,其特征在于,还包括:
对做出到任何主计算机的物理连接之间的时间量进行计数的时钟计数器,所述计数器用于在所述计数超出预定值时强制所述设备尝试使用所述媒体传输协议。
18.一种由媒体存储设备选择协议的方法,所述方法包括:
检测设备到主计算机的物理附连,所述设备能够使用至少两种数据传输协议,所述协议包括大容量存储类MSC协议和媒体传输协议MTP;
由所述设备使用第一数据传输协议来尝试启动与主计算机的通信,所述第一数据传输协议包括初始尝试协议;
当所述第一数据传输协议无法启动与所述主计算机的通信时,仿真与所述设备的逻辑上的断开连接,而后仿真与所述设备的逻辑上的重新连接;
由所述设备使用第二数据传输协议来尝试启动与主计算机的通信,其中所述第二数据传输协议是启动与所述主计算机的通信的成功协议;以及
将成功标志设置成所述成功协议的指示符,其中所述成功标志在所述设备随后物理附连到主计算机时使用以便选择初始尝试协议。
19.如权利要求18所述的方法,其特征在于,进一步的方法还包括:
测试索引标志以确定当所述设备使用所述MSC协议来操作时是否执行了对存储器的写入,并且如果为真,则在使用所述MTP协议来操作时更新数据库上的数字媒体的索引。
20.如权利要求18所述的方法,其特征在于,还包括:
感测所述设备从所述主计算机的物理断开连接;
检测所述设备到主计算机的随后的物理附连;
如果没有超过预定计数,则使用由所述成功标志标识的所述成功协议来尝试通信;以及
如果超过了预定计数,则尝试使用所述MTP协议以建立与主计算机的通信。
CN2007800066967A 2006-02-27 2007-01-20 多协议可移动存储设备 Expired - Fee Related CN101589592B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/364,772 US20070204089A1 (en) 2006-02-27 2006-02-27 Multi-protocol removable storage device
US11/364,772 2006-02-27
PCT/US2007/001613 WO2007100424A1 (en) 2006-02-27 2007-01-20 Multi-protocol removable storage device

Publications (2)

Publication Number Publication Date
CN101589592A CN101589592A (zh) 2009-11-25
CN101589592B true CN101589592B (zh) 2013-03-27

Family

ID=38445377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800066967A Expired - Fee Related CN101589592B (zh) 2006-02-27 2007-01-20 多协议可移动存储设备

Country Status (11)

Country Link
US (1) US20070204089A1 (zh)
EP (1) EP1989857B1 (zh)
JP (1) JP5021685B2 (zh)
KR (1) KR20080096572A (zh)
CN (1) CN101589592B (zh)
AU (1) AU2007221429B2 (zh)
BR (1) BRPI0707564A2 (zh)
CA (1) CA2636649A1 (zh)
IL (1) IL192624A (zh)
RU (1) RU2434269C2 (zh)
WO (1) WO2007100424A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024757A1 (en) * 2004-07-30 2009-01-22 Proctor David W Automatic Protocol Determination For Portable Devices Supporting Multiple Protocols
JP4241681B2 (ja) * 2005-07-05 2009-03-18 ブラザー工業株式会社 情報処理装置、およびプログラム
FR2896884A1 (fr) * 2006-01-27 2007-08-03 St Microelectronics Sa Test de scan
US8190658B2 (en) * 2006-03-14 2012-05-29 Korea Institute Of Science And Technology Intelligent computing device agent system for automatic recognition of multi user computing environment and information sharing setup
US7562159B2 (en) * 2006-04-28 2009-07-14 Mediatek Inc. Systems and methods for selectively activating functions provided by a mobile phone
US8793390B2 (en) * 2006-05-23 2014-07-29 Blue Coat Systems, Inc. Systems and methods for protocol detection in a proxy
KR100784975B1 (ko) * 2006-10-09 2007-12-11 삼성전자주식회사 이동통신 단말기의 데이터베이스 운용 방법 및 장치
US7970957B2 (en) * 2006-12-20 2011-06-28 Sandisk Il Ltd. Apparatus, method and computer readable medium for disambiguating commands with respect to logical protocols
KR100877065B1 (ko) * 2007-01-12 2009-01-09 삼성전자주식회사 통신 프로토콜 결정 방법 및 장치
US20080288097A1 (en) * 2007-05-18 2008-11-20 William Thanos Method for improving a digital media player experience
US20080288099A1 (en) * 2007-05-18 2008-11-20 William Thanos Digital media player with improved user experience
US20080288096A1 (en) * 2007-05-18 2008-11-20 William Thanos Digital media player with circuitry for avoiding refreshing a database of metadata associated with digital media content
US8655463B2 (en) * 2007-05-18 2014-02-18 Sandisk Technologies Inc. Method for avoiding refreshing a database of metadata associated with digital media content
US8892767B1 (en) * 2007-09-26 2014-11-18 Qualcomm Incorporated Method and apparatus for communication of a target over point-to-point interface with a host managing wireless LAN services and target resources
US20090193153A1 (en) * 2007-12-26 2009-07-30 Thanos William N MTP-capable USB device and methods for use therewith
US8959188B2 (en) * 2008-10-01 2015-02-17 Nokia Corporation Method, system, and apparatus for configuring network accounts on devices for use therewith
JP5319238B2 (ja) * 2008-10-29 2013-10-16 真二 栗本 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム
US8631284B2 (en) 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
US8762682B1 (en) 2010-07-02 2014-06-24 Western Digital Technologies, Inc. Data storage apparatus providing host full duplex operations using half duplex storage devices
KR20130056539A (ko) * 2011-11-22 2013-05-30 삼성전자주식회사 미디어 전송 프로토콜을 지원하는 디바이스와 통신을 수행하기 위한 휴대용 단말기의 장치 및 방법
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
CN102981990B (zh) * 2012-11-09 2015-07-22 青岛海信移动通信技术股份有限公司 采用Android平台终端设备的数据传输方法及装置
JPWO2014087844A1 (ja) * 2012-12-06 2017-01-05 コニカミノルタ株式会社 パルスオキシメトリーシステム、その構築のためのサブシステムおよび通信変換装置
US20140256286A1 (en) * 2013-03-08 2014-09-11 Microsoft Corporation Intelligent Protocol Selection
CN103995943A (zh) * 2014-06-09 2014-08-20 上海华力微电子有限公司 电路后仿真方法
CN105589657A (zh) * 2014-10-23 2016-05-18 中兴通讯股份有限公司 一种实现移动存储挂载的方法及装置
FR3038407B1 (fr) * 2015-07-02 2017-07-21 Peugeot Citroen Automobiles Sa Organe maitre a moyens d’analyse de defaut de la couche physique d’un reseau video bidirectionnel
US10013181B2 (en) * 2015-12-07 2018-07-03 International Business Machines Corporation Distributed storage of data in a local storage and a heterogeneous cloud
US10122832B2 (en) 2015-12-07 2018-11-06 International Business Machines Corporation Communications of usernames and passwords to a plurality of cloud storages via a plurality of communications protocols that change over time
US10171585B2 (en) 2015-12-07 2019-01-01 International Business Machines Corporation Method, system, and computer program product for distributed storage of data in a heterogeneous cloud
CN106778321B (zh) * 2016-11-18 2020-06-05 东软集团股份有限公司 权限控制方法和装置
US20210274025A1 (en) * 2018-06-25 2021-09-02 Telefonaktiebolaget Lm Ericsson (Publ) Communication protocol discover method in constrained application protocol (coap)
CN109271266B (zh) * 2018-10-09 2020-07-28 Oppo广东移动通信有限公司 文件传输方法、装置及终端设备
CN109298956B (zh) * 2018-10-09 2020-07-28 Oppo广东移动通信有限公司 文件传输方法、装置及终端设备
CN111414322B (zh) * 2020-03-19 2021-10-22 江苏芯盛智能科技有限公司 一种Nand flash接口工作协议自适应方法、系统、设备及存储介质
CN111800403A (zh) * 2020-06-29 2020-10-20 南京酷开智慧屏科技有限公司 一种用于触点通信的多协议通信方法及系统
CN112731875B (zh) * 2020-12-21 2022-09-13 珠海格力电器股份有限公司 目标设备控制方法及装置、非易失性存储介质和处理器
WO2023065162A1 (zh) * 2021-10-20 2023-04-27 深圳市大疆创新科技有限公司 移动存储装置的数据传输方法、装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1341942A (zh) * 2001-06-30 2002-03-27 深圳市朗科科技有限公司 一种多功能半导体存储装置
CN1584816A (zh) * 2004-06-03 2005-02-23 瑞程科技股份有限公司 一种具有多重接口功能的存储卡及其传输模式选择方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3161910B2 (ja) * 1994-07-26 2001-04-25 シャープ株式会社 通信装置
JPH098946A (ja) * 1995-06-21 1997-01-10 Hitachi Ltd 情報処理装置
US6721859B1 (en) * 1999-10-21 2004-04-13 Sony Corporation Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US6484219B1 (en) * 2000-02-04 2002-11-19 Microsoft Corporation Host-specified USB device requests
JP2001222503A (ja) * 2000-02-08 2001-08-17 Ricoh Co Ltd 周辺機器制御システム
JP4659175B2 (ja) * 2000-04-25 2011-03-30 富士通東芝モバイルコミュニケーションズ株式会社 携帯通信端末
US7039727B2 (en) * 2000-10-17 2006-05-02 Microsoft Corporation System and method for controlling mass storage class digital imaging devices
EP1241857A1 (en) * 2001-03-15 2002-09-18 Nokia Corporation Method for accessing files stored in a mobile terminal device supporting an internet protocol
JP2004094514A (ja) * 2002-08-30 2004-03-25 Japan Radio Co Ltd 初期化方法及びusbドライバ
US8028078B2 (en) * 2003-08-07 2011-09-27 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
JP4318075B2 (ja) * 2003-08-29 2009-08-19 富士フイルム株式会社 Usbファンクション装置
JP4539115B2 (ja) * 2004-02-25 2010-09-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR100647370B1 (ko) * 2004-04-20 2006-11-23 주식회사 하이닉스반도체 멀티 프로토콜 시리얼 인터페이스 시스템
US7668404B2 (en) 2004-06-30 2010-02-23 Lexmark International, Inc. Method and system of deskewing an image using monochrome conversion to separate foreground from background
US7536486B2 (en) * 2004-07-30 2009-05-19 Microsoft Corporation Automatic protocol determination for portable devices supporting multiple protocols
US7555554B2 (en) * 2004-08-06 2009-06-30 Microsoft Corporation System and method for generating selectable extension to media transport protocol
JP4907900B2 (ja) * 2005-04-27 2012-04-04 京セラ株式会社 接続装置及び接続方法
JP2007179332A (ja) * 2005-12-28 2007-07-12 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、記録媒体
JP2007179410A (ja) * 2005-12-28 2007-07-12 Sony Corp 情報処理システム、情報処理装置、および、情報処理方法、プログラム、並びに、記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1341942A (zh) * 2001-06-30 2002-03-27 深圳市朗科科技有限公司 一种多功能半导体存储装置
CN1584816A (zh) * 2004-06-03 2005-02-23 瑞程科技股份有限公司 一种具有多重接口功能的存储卡及其传输模式选择方法

Also Published As

Publication number Publication date
KR20080096572A (ko) 2008-10-30
RU2434269C2 (ru) 2011-11-20
EP1989857B1 (en) 2015-12-02
BRPI0707564A2 (pt) 2011-05-10
AU2007221429B2 (en) 2010-09-16
AU2007221429A1 (en) 2007-09-07
JP2009528616A (ja) 2009-08-06
CN101589592A (zh) 2009-11-25
IL192624A (en) 2012-05-31
IL192624A0 (en) 2009-02-11
JP5021685B2 (ja) 2012-09-12
US20070204089A1 (en) 2007-08-30
CA2636649A1 (en) 2007-09-07
RU2008134885A (ru) 2010-03-10
EP1989857A4 (en) 2014-08-20
EP1989857A1 (en) 2008-11-12
WO2007100424A1 (en) 2007-09-07

Similar Documents

Publication Publication Date Title
CN101589592B (zh) 多协议可移动存储设备
US8225135B2 (en) System and method for protecting users of data storage systems against known problems
CN101436138B (zh) 一种用于软件升级且动态回滚的控制装置以及控制方法
CN103150231B (zh) 计算机开机的方法与计算机系统
CN100388196C (zh) 支持安全更新和多处理器类型的固件体系结构
CN101821727B (zh) 管理更新以创建虚拟机复制品
US20160188318A1 (en) Data processing for upgrading medical equipment
CN101393524A (zh) 固件更新方法及系统
CN102929665B (zh) 用于驱动安装的系统
CN100421083C (zh) 更新适配器代码映像的装置、系统和方法
CN102339227A (zh) 多固件嵌入式系统及其固件更新方法
CN111356996A (zh) 对异构数据存储库之间的数据传输的版本化验证
US8799716B2 (en) Heap dump occurrence detection
KR100922584B1 (ko) 객체 기반 분산 공유 시스템 및 그의 방법
CN103973470A (zh) 用于无共享集群的集群管理方法和设备
CN101086717B (zh) 存储瞬态信息的系统和方法
CN102937902A (zh) 一种驱动安装的方法和装置
US20080201572A1 (en) Method and system for uniformizing product data embedded in a computer platform
JP2009238113A (ja) 設計支援システム、設計支援方法、及び設計支援プログラム
CN113867812A (zh) 一种bmc获取链路信息的方法、系统、设备以及介质
CN105208105A (zh) 索引更新方法和装置
US8726299B1 (en) Image-oriented, plugin-based API to storage server appliances
CN110795281A (zh) 一种文件恢复方法、装置、设备及存储介质
CN108196798B (zh) 一种raid控制卡配置方法及装置
CN101771573B (zh) 一种升级软件过程中业务中断时间的预测方法及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130327

Termination date: 20180120

CF01 Termination of patent right due to non-payment of annual fee