MX2008009872A - Multi-protocol removable storage device - Google Patents

Multi-protocol removable storage device

Info

Publication number
MX2008009872A
MX2008009872A MXMX/A/2008/009872A MX2008009872A MX2008009872A MX 2008009872 A MX2008009872 A MX 2008009872A MX 2008009872 A MX2008009872 A MX 2008009872A MX 2008009872 A MX2008009872 A MX 2008009872A
Authority
MX
Mexico
Prior art keywords
protocol
host computer
successful
media
mtp
Prior art date
Application number
MXMX/A/2008/009872A
Other languages
Spanish (es)
Inventor
w proctor David
Original Assignee
Microsoft Corporation
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 Corporation filed Critical Microsoft Corporation
Publication of MX2008009872A publication Critical patent/MX2008009872A/en

Links

Abstract

A removable storage device that automatically selects a communication protocol to exchange information with a host computerincludes a physical layer interface, a protocol failure detection module, a connect and disconnect emulator, an insert and removal detector, and internal control logic. The internal control logic coordinates detecting an attachment of the device to a target host computer and attempting an initial protocol for communication with the target host computer. The logic also logically disconnects and reconnects to the target host computer if the protocol failure detector indicates that the initial protocol has failed and then attempts a second protocol for communications with the target host computer. If successful, the device sets a success indicator to record which protocol was finally successful for communications with the target host computer. The success indicator is subsequently used to indicate which protocol to try first when the device is reconnected to a host computer.

Description

MULTIPLE PROTOCOL REMOVABLE STORAGE DEVICE BACKGROUND The Mass Storage Class (MSC) of Universal Serial Conductor (USB) is a group of computer communications protocols defined by the USB Implementers Forum. The standard provides an interface to a variety of storage devices. Typical storage devices that connect to a host computer and include this standard include external hard drives, external optical drives, including CD and DVD writer and writer drives, portable flash memory devices, including flash memory devices of USB, adapters that bridge between standard flash memory cards and a USB connection, digital cameras, digital audio players, such as MP3 players, and high-end digital media players for music, video, and images. The USB mass storage class as such does not specify which file system should be used on the device that uses it; instead, it mainly provides a way to read sectors like on any hard drive device. Operating systems are free to format this storage area with any file system that is available to them, such as the File Distribution Table (FAT) file system. A lower side to use the MSC is that it prevents the USB-capable device from easily displaying its actual functional behavior through the USB interface. The Media Transfer Protocol (MTP) is a new protocol and the add-on group of drivers developed by Microsoft of Redmond, Washington, to connect portable devices to a Windows® XP (PC) personal computer and synchronize digital media content between those devices and the PC. The MTP is directed towards portable devices with hard drives. Among the benefits of MTP are the following. All MTP-compatible devices use drivers that ship with version 10 of Windows Media Player ™ (MP10) and more, and users will be able to perform all transfers and synchronization functions from within the player control software . All supported MTP devices support a feature called Auto Synchronization, which allows users to configure MP10 to automatically transfer all newly acquired or extracted content to a device at any time it connects to a supporting PC, compatible MTP devices they have a file ownership synchronization that allows changes made to file properties (such as user classification) on a device to be propagated back to the PC when the device is disconnected and then collected.
In that way, Media Transfer Protocol (MTP) devices provide additional functionality beyond USB Mass Storage Class (MSC) devices. However, the MTP protocol is not supported on as many guest devices as the MSC protocol. Host devices that run MP10 support MTP while devices without MP10 or other operating systems such as Linux, MacOS, or Windows 95, Windows ME, or Windows CE do not support MTP. All of these operating systems and more support MSC. The ability to operate an MTP device on a PC supported by older MSCs is questionable unless there is a kind of protocol flexibility. There are similar problems with other protocols. The problem is not limited to MTP and MSC. A specific problem for MTP and MSC is the fact that MTP devices maintain a database index for all objects / files in storage that allow fast navigation, classification, and access in many properties such as (but not limited to) album, artist, gender. MSC does not maintain a database index on all objects. As a result, when accessing a removable storage device that uses MSC, the database index used by MTP will be out of synchronization with the objects. Additionally, there is currently no standard method to detect if MSC was used in a way that causes the MTP database to go out of sync. As a result, the host of the device will have to assume that the database is out of sync and repair or re-create the MTP database at every connection or re-connection. This operation adds a significant delay. A desirable feature will be the ability to select any protocol depending on the protocol supported by the host PC and to accommodate an improved change in that protocol.
BRIEF DESCRIPTION OF THE INVENTION This brief description is provided to introduce a selection of concepts in a simplified form which is also described later in the detailed description. This brief description does not intend to identify key characteristics or essential characteristics of the claimed subject, and it is intended to be used to limit the scope of the subject claimed. In one aspect of the invention, a removable storage device can maintain a list of priority protocols for use with host computers that can support one or more of the protocols. In one modality, one protocol may be the MTP protocol and another may be the MSC protocol. The MTP protocol can be claimed as a priority protocol. The storage device attempts the protocols in order of priority. If the protocol is successfully detected and supported by the host then the operation continues as if the device operates with that protocol only. If the protocol is not detected or supported by the host, then the device emulates a disconnection event and reconnects with the next protocol in the list. If the device is connected to the SC protocol, then the device allows writing detectors for each storage region. For each write by the host to a storage region, the device sets a true index flag. If the device connects to MTP, then the device checks each storage region index mark. If a region index mark is true, then the device repairs the database index for that region and cleans the index flag for false. An updated index allows the use of MTP protocol capability to classify and search digital media stored in the device even if the digital media was stored in the device using the MSC protocol that does not support indexing.
BRIEF DESCRIPTION OF THE DRAWINGS In the drawings: Figure 1 is a diagram showing an illustrative media storage device having aspects of the invention; Figure 2 is an illustrative flow diagram demonstrating aspects of the invention; and Figure 3 is a block diagram showing illustrative host computing environment.
DETAILED DESCRIPTION Illustrative Modalities A problem with insertable storage media is the interface and the protocol used. In situations where two operational protocols can be used, the protocol to be used may be unknown to the user. For example, a user of a common universal (USB) compatible driver of the storage device may know which protocol is supported by any device or host computer, such as a personal computer. One solution is to equip the compatible USB device with the ability to switch between alternative protocols so that the user does not need to connect and disconnect the compatible USB device or launch a manual switch to select one protocol over another. It is noted that any group of protocols can be used in conjunction with the invention and the specific modalities presented below are not limiting. Figure 1 illustrates an architecture for a USB compatible storage device that is capable of exercising multiple protocols without intervention by the host PC or the user. Figure 1 illustrates a system wherein a medium storage device 120, compatible with at least two protocols, can be connected to any of the first, second, or third host. If a first host is connected, 105, the protocol supported by either the newer MTP protocol or the common MSC protocol. If it is connected to the second host, 110, the supported protocol is the MSC protocol. If it is connected to the third guest, 115, the protocol supported is the MTP protocol. The medium storage device 120 includes a physical interface, 130, which includes two electrical and hardware aspects of a typical interface. This interface can be any of a USB interface, a firewire interface (heat-sensitive cable), a WiFi interface, Ethernet, an optical interface (Sonet), or another commonly available PC interface. The device 120 also functionally contains an insertion and removal detection module 125 that is capable of detecting the presence of a work interface to a PC or other computing device. The insertion and removal detection block determines whether the storage device 120 is connected or disconnected with a PC or other external host. The protocol failure detection function 135 of the device 120 may store aspects of the protocols available within the device to allow detection of errors while operating or attempting to operate with one of the supported protocols. The connection and disconnection emulator 140 allows the device to emulate a disconnection and a reconnection if the device 120 causes a change from one protocol to another. The combination of the protocol failure detection function 135 with the connection / disconnection emulator 140 allows the device 120 to operate with more than one protocol. If a first protocol attempts and fails, the protocol failure function 135 detects the failure and, if appropriate, can be used as an activator to activate the connection / disconnection emulator 140. With a protocol failure, the emulator 140, under control of the internal logic 170, can emulate a disconnection of the device 120 from a guest. Then, the emulator 140 can provide a logical connection of the device to the host computer which thereby allows a second protocol to be attempted. The emulator 140 can provide disconnect and connection services to the device 120 as frequently as the logic control 170 allows. In one aspect of the invention, the internal logic control can be performed as a logic state machine or as a programmable controller . The programmable controller may be programmed by using a program downloaded from a computer readable medium, such as a CD, floppy disk, through an interface to the media storage device 120. The programmable means may contain instruction to conduct operations on the device 120. The power for the device 120 can be integrated from the common conductor interface, such as if a device is compatible with USB. Alternatively, or together, the device 120 may include a battery to provide necessary tilt for maintenance I / O operational energy. The device 120 supports the MTP protocol. Accordingly, a database 165 is provided so that the device 120 can store and catalog aspects of files stored in the device. For example, if the device is a digital music device, each specific file may have aspects that include file name, size, artist, album, genre, title, and other labels or attributes. These attributes and information can be stored in the database 165. The MTP protocol also allows a user to classify or search the contents of the device for songs. One way to implement a search is with indexes in the database that can point to locations in storage where a song is accessible. Accordingly, the indexes in the database information are supported in MTP. The index columns and the rows can be stored in the database 165. In one embodiment, the MTP database can be supported by a small disk unit or by semiconductor memory. The storage regions 1 through N, 160a and 160b are illustrated in Figure 1. The device database 165 can be used as storage for media such as digital music. Therefore, in that specific example, the indication of the storage areas, such as 160a and 160b can be used to associate music files or groups of music files stored in the database 165. Each storage area has an associated index mark and write detection element. The index marks 145a and 145b are associated with storage regions 160a and 160b respectively, write detection modules 150a and 150b are associated with storage region indicators 160a and 160b respectively. In one aspect of the invention, the device 120 can be used with an MSC as well as a host PC compatible with MTP. If a compatible MTP guest connects to the device, users can use indexes to retrieve songs according to a search criteria. If a new song is added, the index can be updated. However, if digital music content is added when using an MSC protocol, the file must be added, but the index will not be updated because the MSC protocol does not support index files. In one aspect of the invention, if device is connected to an MSC host that does not support the use of index searches, the song may be placed in a memory storage area, such as storage region 160a. If this occurs, then the write detection module 150a detects that a write to the storage region 160a occurred in the MSC operational mode and the index mark 145a is set. Then, if an MTP protocol is used during a subsequent session, then the device 120 can detect the index mark and indicate which digital content was added but not indexed. The device 120 then allows the newly added content to be entered so that the MTP protocol can allow a search for new digital music content using an index. In another aspect of the invention, when new digital music is loaded into the device, the index of that newly added digital content is updated. Multiple indexes can be updated as a result of the addition. One approach to such an index update is to update the entire storage area each time an MTP connection is made. However, this can take a great deal of time because the device can support up to 10,000 individually indexable digital content articles. When using the index mark, divided by storage section, only the index for the storage section indicated by an activated index mark needs to be updated. In this way, a reconstruction of a complete index becomes unnecessary and updates can be made in less time. In that way, the device 120 becomes available to the user more quickly. This aspect of the invention edits the reconstruction of the database indexes of the device memory. The memory used in the device may be disk or semiconductor memory, such as in non-volatile or volatile memory. In another aspect of the invention, if the device operates under an MTP protocol and a partial file is perceived, then the database may return as in any other database to remove the partial file. A partial file can be the result of the device being removed by the user during a write operation or otherwise it can be a corrupted file. In this way, the present invention allows the recovery and return of databases whose files are incomplete as a result of loss of energy in the device. Figure 2 is a possible mode method 200 employing aspects of the current invention. Method 200 assumes that a media storage device, similar to device 120 of Figure 1 can be physically connected, by a user, to a host that supports an MTP protocol, an MSC protocol, or both MTP and MSC protocols. The start of procedure 200, the waiting device for physically connecting to a guest (step 210). After a physical connection, a success mark is checked to see if the device successfully connected last to a compatible MTP guest or a configurable time period (account) step (step 215). In one embodiment, the device can initially be set so that the success mark in step 215 is set to indicate a successful MTP start in the last attempt to connect even though the device was never previously connected. This preference can be set so that the device initially chooses to try to connect by using the much improved protocol, MTP. Assuming that the success mark is set to indicate a successful last MTP attempt, the procedure is moved again to connect to an MTP compatible host (step 220). Alternatively, if the account was exceeded, then an attempt is made to make an MTP protocol start (step 220). Exceeding an account can be a counter event, such as turning on a configurable clock account or a successful connection account. A clock account can be the amount of time between device joins, such as a 24-hour period, which acts as a time limit period after which the media device is directed to retry an MTP protocol in the next event. of Union. Alternatively, exceeding an account can be a specific (configurable) number of successful connections, either MTP or MSC, made by the device. After a number of connections are made, the device can be directed to try the high priority MTP protocol. Assuming that an MTP attempt is made (step 220), if the connection is successful (step 225), the successful mark is set to remember that the last successful attempt was with an MTP compatible host (step 230). In step 230, an account, such as a clock account or a successful connection account as described above can be started. Then, the index mark is checked to see if it was established (step 245). If the index mark (true) was set, then this indicates that a previous MSC session occurred and that media storage data exists that was not properly indexed. If the index mark is detected as true in step 245, then the index is repaired in the cleaned index mark (step 260). The final connection as an MTP device can then be made (step 275). The media storage device can then wait for disconnection (step 280) if the device is disconnected, the procedure returns to wait for the next connection (step 210).
Returning to procedure 200 in step 225, if the attempt to start the MTP protocol is not successful, then an attempt is made in the MSC protocol (step 235). In a practical aspect of the invention, the attempt in an alternative protocol can invoke an emulation of a disconnection followed by a connection. If the initial attempt to connect to an MTP guest is successful (step 240), then the media storage device remembers the last successful protocol start with an MSC protocol connection (step 250). Finally, the complete protocol is invoked and the media storage device connects when using the MSC protocol to a host device (step 265). The media storage device then supports the MSC protocol operation while waiting for a disconnection indication (step 280) followed by waiting for a reconnection (step 210). If the media storage device subsequently attaches an MSC device, the procedure 200 returns to the unit to connect quickly. The device connection can be made (step 210), and the last success will indicate an MSC connection (step 215) wherein the storage device will initiate connection with the host under the MSC protocol. The startup connection to the MSC protocol host PC will be successful and method 200 enters steps 250 and 265 as above. If the media storage device is subsequently connected to a host that supports MTP only, the device will enter a connection state after wait (step 210) and check the success mark. Since the device previously had an MSC success as the last connection protocol, the procedure will go from step 215 to step 235 and an MSC protocol start will occur. However, because the device is connected to a single MTP host, the MSC attempt will fail (step 240). The procedure then consults, during the present session, if there was an attempted MTP protocol (step 255). In this case, there was no previous MTP attempt. Thus, the procedure goes from step 255 to step 220 where an attempt is made in the MTP protocol. With the successful connection (step 225), the success mark is set to indicate an MTP success, so that no subsequent connection to a guest is first attempted with an MTP compatible protocol (step 230). Again, after a successful MTP start, the index mark is tested (step 245). If the index mark is set, then the index is repaired before the complete connection with the MTP protocol (step 275). Returning to step 255, where an MSC connection attempt failed, if the MTP protocol was tried and failed previously, the procedure 200 concludes that the media storage device failed to connect (step 270) using any MCS or MTP protocol and in that way it goes through to wait for another re-connection (step 210). The method 200 illustrates the flexibility of the present invention. Once a device connects with a protocol, it remembers that it succeeds, and then, when it reconnects to a guest, it tries to use the same successful protocol. However, if the storage media device is connected to a host that supports a different protocol, it first attempts the protocol that was ultimately successful, and if it fails, the storage device attempts the alternate protocol. If both protocols fail, the device waits for a subsequent re-connection. Accordingly, the media storage device can be connected to a host that supports any MTP protocol, the MSC protocol, and a host that supports any protocol. The device can move from one host to another, and the device will successfully connect if the host supports any of the protocols that are supported by the device. If the device is used in an MSC device, and subsequently is connected to an MTP device, an automatic index repair is conducted so that the full MTP protocol functionality can be used even if digital content using an MSC protocol is downloaded. In an embodiment of the invention, the host computer can support any MSC or an MTP protocol. Therefore, if the device was previously used in conjunction with an MSC-only guest, the storage device will remember the successful connection and always invite to connect when using an MSC protocol. Thus, if the media storage device will be connected to a host that supports both MSC and MTP protocol, the MSC protocol will be favored due to the MSC configuration of the success mark. In one mode, the MTP protocol will be tried after a predetermined number of accounts if the last successful mark is set to try MSC. The account can be an account with time, fed by a clock or it can be a counter that indicates the number of times the media storage device was connected to a host computer. The clocks, accumulators, marks, or registers may be included in the control logic 170. For example, if the success mark is set to favor an MSC protocol attempt, then, after each predetermined number of re-connections (e.g. three or four re-connections to a guest), the storage device may change in favor of an initial MTP protocol attempt. This may allow the device to be upward compatible with the advanced MTP protocol and the possibility that the user of the storage device may connect the device to a compatible MTP or MSC guest. In a modality, a predetermined account exceeded can set the successful mark to the preferred MTP protocol. In another embodiment, a predetermined account displayed can simply surpass the success mark and use the preferred MTP protocol as the initial attempt protocol. Although the subject was described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. More than that, the specific features and acts described above are described as illustrative ways to implement the claims.
Illustrative Computation Device Figure 3 and the following discussion are intended to provide a brief general description of a suitable host computer to interfere with the media storage device. While a general-purpose computer is subsequently described, there is only one example of an individual processor, and host computer modalities within multiple processors can be implemented with other computing devices, such as a client having interoperability and network / driver interaction. common. With reference to Figure 3, an illustrative system for implementing an illustrative host computer includes a general-purpose computing device in the form of a computer system 310. The components of computer system 310 may include, but are not limited to, a processing unit 320, a system memory 330, and a common system conductor 321 that couples various system components that include the system memory to the processing unit 320. The common system conductor 321 can be any of several types of common conductor structures that include a common memory conductor or memory controller, peripheral common conductor, and a local common conductor that uses any of a variety of common conductor architectures. The computer system 310 typically includes a variety of computer readable media. The computer-readable media can be any available media that can be accessed by the computer system 310 and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, Memory Compact Disc Read Only (CD-ROM), compact rewritable disc (CD-RW), digital versatile discs (DVD) or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices , or any other means which can be used to store the desired information and which can be accessed by the computer system 310. The system memory 330 includes computer storage means in the form of volatile and / or non-volatile memory such as memory. read-only (ROM) 331 and random access memory (RAM) 332. A basic input / output system 333 (BIOS), which contains the basic routines that help transfe information among elements within computer system 310, such as during startup, is typically stored in ROM 331. RAM 332 typically contains data and / or program modules that are immediately accessible to and / or currently being operated by the unit. 320. By way of example, and not limitation, Figure 3 illustrates operating system 333, application programs 335, other program modules 336, and program data 337. Computer system 310 may also include other means of removable / non-removable, volatile / non-volatile computer storage. By way of example only, Figure 3 illustrates a hard disk drive 331 that reads from or writes to non-removable, non-volatile magnetic media, a magnetic disk unit 351 that reads from or writes to a removable, non-volatile magnetic disk 352, and an optical disk drive 355 that reads from or writes to a removable, non-volatile optical disk 356, such as a CD-ROM, CD RW, DVD, or other optical medium. Other removable / non-removable, volatile / non-volatile computer storage media that can be used in the illustrative operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile discs, digital video cassette, Solid state RAM, solid state ROM, and the like. The hard disk drive 341 is typically connected to the common system conductor 321 through a non-removable memory interface such as interface 340, and magnetic disk unit 351 and optical disk unit 355 are typically connected to the common system conductor 321 through a removable memory interface, such as interface 350. Other connections to the common system conductor 321 include a serial interface connection 357 that provides power and data connection services to a serial interface device 358. Examples of Series 357 connections include a firewire, USB, and optical interfaces. Examples of serial interface devices include flash memory devices, media devices, and other peripheral devices such as scanners, and combination devices. The units and their associated computer storage media discussed above and illustrated in Figure 3 provide storage of computer-readable instructions, data structures, program modules and other data for computer system 310. In Figure 3, for example , the hard disk drive 341 is illustrated as storing the operating system 344, application programs 345, other program modules 346, and program data 347. It should be noted that these components may be the same as or different from the operating system 344 , application programs 345, other program modules 346, and program data 347. Operating system 344, application programs 345, other program modules 346, and program data 347 are provided here with different numbers to illustrate that, in a minimum, they are different copies. A user can enter commands and information into the computer system 310 through input devices such as a keyboard 362 and pointing device 361, commonly referred to as a mouse, seguibola or touchpad. Other input devices (not shown) may include a microphone, joystick, touch pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 320 via a user input interface 360 which is coupled to the common system conductor 321, but can be connected by another interface and common conductor structures, such as a parallel port, game port or a common universal serial driver (USB). A monitor 391 or other type of display device is also connected to the common system bus 321 through an interface, such as video interface 390, which in turn can communicate with video memory (not shown). In addition to monitor 391, computer systems may also include other peripheral output devices such as speakers 397 and printers 396, which may be connected through peripheral output interface 395. Computer system 310 may operate in a networked or distributed which uses logical connections to one or more remote computers, such as a remote computer 380. The remote computer 380 can be a personal computer, a server, a router, a network PC, a peer device or another common network node, and typically includes many or all of the elements described above relating to the computer system 310, although only one memory storage device 381 is illustrated in Figure 3. The logical connections illustrated in Figure 3 include a local area network (LAN). 371 and a wide area network (WAN) 373, but may also include other common networks / drivers. Such networked environments are commonly located in homes, offices, extended computer networks in companies, intranets and the Internet. When used in a LAN network environment, computer system 310 connects to LAN 371 through a network interface or adapter 370. When used in a WAN network environment, computer system 310 typically includes a modem 372 or other means for establishing communications on the WAN 373, such as the Internet. The modem 372, which may be internal or external, may be connected to the common system bus 321 through the user input interface 360, or other appropriate mechanism. In a networked environment, the illustrated program modules relative to the computer system 310, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, Figure 3 illustrates remote application programs 385 as resident in the memory device 381. It will be appreciated that the network connections shown are illustrative and other means for establishing a communication link between the computers. The various techniques described herein can be implemented in connection with hardware or software or, where appropriate, with a combination of both. In that way, the methods and apparatuses of the invention, or certain aspects or portions thereof, may take the form of program code (ie, instructions) represented on legible media, such as flexible diskettes, CD ROMs, hard drives , or any other machine-readable storage medium, wherein, when the program code is loaded on and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. Although aspects of the present invention were described in connection with preferred embodiments of the various figures, it should be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment to perform the same function as the present invention without deviating from the same. In addition, it should be emphasized that a variety of computer platforms, including portable device operating systems, and other application-specific operating systems are contemplated, especially while the number of wireless network devices continues to proliferate. Therefore, the claimed invention should not be limited to any individual modality, more than that it should be interpreted in breadth of scope according to the appended claims.

Claims (9)

1. - A method for selecting a data transfer protocol by an attached device, the method comprising: detecting a physical connection of a device to a host computer, the device capable of using at least two data transfer protocols; attempting the use of a first data transfer protocol by the device, the first data transfer protocol comprising an initial attempt protocol; with the failure of the first data transfer protocol to initiate communications with the host computer, which logically disconnects the device followed by logical re-connection of the device; attempting the use of a second data transfer protocol by the device, wherein the second data transfer protocol is a successful protocol when initiating communications with the host computer; and storing a successful protocol indicator, wherein the indicator is used in a subsequent physical connection of the device to a host computer to select an initial trial protocol. 2 - The method according to claim 1, wherein storing a successful protocol indicator comprises configuring a successful mark, wherein the successful mark indicates the last successful protocol used to initiate communications with a host computer. 3. The method according to claim 2, wherein the successful mark indicates either a USB mass storage class (MSC) protocol or a USB media transfer protocol (MTP). 4. - The method according to claim 3, further comprising: testing an index mark to determine if a writing was made to the memory when the device was operated using the MSC protocol. 5. - The method according to claim 4, further comprising: updating an index of the memory region associated with the index mark, wherein the index is useful if the device is successfully connected to a host computer using the protocol MTP. 6. - The method according to claim 1, further comprising: perceiving a physical disconnection of the host computer device; detecting a subsequent physical union of the device to a host computer; try to use the successful protocol identified by the indicator if a predetermined account is not exceeded; and try to use an alternate protocol other than the successful protocol identified by the indicator to establish communication with a host computer if the predetermined account is exceeded. 7. The method according to claim 6, wherein the alternate protocol is a preferred protocol and wherein the method further comprises: updating the successful protocol indicator to indicate the preferred protocol if the preferred protocol is successfully used to initiate contact with a host computer. 8. - The method according to claim 7, wherein the preferred protocol is the MTP protocol. 9. - The method according to claim 6, wherein the source is an indication of the number of physical connections found by the device to any host computer. 10. - A media storage device for automatically selecting one of at least two protocols, the storage device comprises. a physical interface to connect to any compatible host computer; an insertion and removal detector for the detection of union and removal of the device with any compatible host computer; a protocol failure detector to determine whether a protocol used to initiate communications with a connected guest computer has failed; a connection and disconnection emulator to logically simulate making and splitting communication with the connected host computer; a success indicator that represents what protocol was ultimately successful in establishing communications with any compatible host computer; and internal control logic that coordinates to detect a union of the device to a target host computer, attempt an initial protocol for communication with the target host computer, logically disconnect and reconnect the target host computer if the protocol failure detector indicates that the initial protocol failed to initiate communications with the target host computer, attempt a second protocol for communications with the target host computer, and establish the successful flag to record which protocol was successful for communications with the target host computer, wherein the successful flag is used in a subsequent physical union of the device to select a data protocol. 11. The media storage device according to claim 10, further comprising: a database for storing digital media in the device; and a multiplicity of index marks, each associated with a respective multiplicity of storage regions of the database, each index mark, if set, indicating that an index of digital media stored in the storage region was not updated. associated 1
2. - The media storage device according to claim 11, wherein at least two protocols comprise a USB mass storage device (MSD) protocol and a USB media transfer protocol (MTP). 1
3. - The media storage device according to claim 12, wherein the index of stored digital media is updated when the device is connected when using the media transfer protocol (MTP) and a previous binding used the protocol of mass storage class (MSC) where digital content was written to the database. 1
4. The media storage device according to claim 10, further comprising: a write detector associated with a storage region of the database, wherein the write detector detects a write to the storage region of the database and establishes an associated index mark. 1
5. The media storage device according to claim 10, wherein the physical interface comprises one of a USB interface, a Firewire interface, a WiFi interface, an Ethernet interface, and a Sonet interphase. 1
6. The media storage device according to claim 10, further comprising: a connection counter that counts the number of times a physical connection is made to any host computer, the counter used to force the device to try use the media transfer protocol if the account exceeds a predetermined value. 1
7. - The media storage device according to claim 10, further comprising: a clock counter that counts an amount of time between physical connections made to any host computer, the counter used to force the device to try to use the Media transfer protocol if the account exceeds a predetermined value. 1
8. - A computer readable medium having instructions for a controller for a media storage device containing a database, the media storage device performing a method of selecting a protocol, the method comprising: detecting a physical union from the device to a host computer, the device capable of using at least two transfer protocols, the protocols comprise a mass storage class protocol (MSC) and a media transport protocol (MTP); attempting the use of a first data transfer protocol by the device, the first data transfer protocol comprising an initial attempt protocol; with the failure of the first data transfer protocol to initiate communications with the host computer, logically disconnect the device followed by logically reconnecting the device; attempting the use of a second data transfer protocol by the device, wherein the second data transfer protocol is a successful protocol when initiating communications with the host computer; and establishing a successful mark to be a successful protocol indicator, wherein the successful mark is used in a subsequent physical connection of the device to a host computer to select an initial try protocol. 1
9. - The computer readable media according to claim 18, further method further comprises; test an index mark to determine if a write was made to the memory when the device operated using the MSC protocol and, if true, update an index of digital media in the database while operating using the MTP protocol. 20. - The computer readable media according to claim 18, further method further comprising; perceive a physical disconnection of the host computer device; detecting a subsequent physical union of the device to a host computer; try to use the successful protocol identified by the successful brand if a predetermined account is not exceeded; and attempt to use the MTP protocol to establish communication with a host computer if a predetermined account is exceeded.
MXMX/A/2008/009872A 2006-02-27 2008-07-31 Multi-protocol removable storage device MX2008009872A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11364772 2006-02-27

Publications (1)

Publication Number Publication Date
MX2008009872A true MX2008009872A (en) 2008-10-03

Family

ID=

Similar Documents

Publication Publication Date Title
EP1989857B1 (en) Multi-protocol removable storage device
US7941814B1 (en) Device driver processing for automated system restores
US7334157B1 (en) Restore of data to a computer system having different hardware
CN100407151C (en) System and method for managing multiple hot plug operations
TW408286B (en) Software pre-installation method
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
US8185673B2 (en) Information processing apparatus, and method for controlling the same
US10754737B2 (en) Boot assist metadata tables for persistent memory device updates during a hardware fault
JP2011253339A (en) Information processing device and method for controlling driver execution
CN109960678B (en) Naming processing method and computer processing device
US20130268744A1 (en) Method for detecting hardware
CN101996109A (en) Computer system, control method thereof and recording medium storing computer program thereof
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
TWI461904B (en) Recovery method and device for linux using fat file system
US7117302B2 (en) Boot techniques involving tape media
US20100049749A1 (en) System of synchronizing data between storage devices and method thereof
MX2008009872A (en) Multi-protocol removable storage device
WO2001027860A2 (en) Data recovery method, said method stored on computer readable medium, and remote data control method and system
US7024493B1 (en) Bootable CD for transferring files independently of computer operating systems
US20080281992A1 (en) Method for detecting order of attached devices and computer readable storage media storing program thereof
CN108509252B (en) Virtual machine starting device and method and host
EP1914628B1 (en) Method for changing booting sources of computer system and related backup/restore method thereof
US20240020044A1 (en) Method for locating hard disk, system and server
US20040254981A1 (en) Apparatus for and method of providing recording related information regarding disc
CN117234604A (en) PCIe device hot plug shielding mark setting method, shielding method and device