WO2008143693A1 - Usb flash drive with selective file transfer - Google Patents

Usb flash drive with selective file transfer Download PDF

Info

Publication number
WO2008143693A1
WO2008143693A1 PCT/US2007/084066 US2007084066W WO2008143693A1 WO 2008143693 A1 WO2008143693 A1 WO 2008143693A1 US 2007084066 W US2007084066 W US 2007084066W WO 2008143693 A1 WO2008143693 A1 WO 2008143693A1
Authority
WO
WIPO (PCT)
Prior art keywords
usb
ufd
coupled
contained
main memory
Prior art date
Application number
PCT/US2007/084066
Other languages
French (fr)
Inventor
David H. Hitt
Charles W. Gaines
Original Assignee
Hitt David H
Gaines Charles W
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 Hitt David H, Gaines Charles W filed Critical Hitt David H
Publication of WO2008143693A1 publication Critical patent/WO2008143693A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks

Definitions

  • the invention is directed, in general, to computer memory peripheral devices and, more particularly, to a Universal Serial Bus (USB) flash drive (UFD) having integral, automatic, secure, directional and/or selective file transfer capability and a method of operating the same .
  • USB Universal Serial Bus
  • UFDs have become a widely used device for carrying one's computer files about.
  • a UFD also known as a "flash drive,” “pen drive,” “thumb drive,” “memory stick,” “jump drive” or perhaps dozens of other generic or trademarked names
  • a solid-state device containing nonvolatile computer memory, typically flash random-access memory (RAM) , and a Universal Serial Bus (USB) port that allows external access to the nonvolatile memory.
  • a user connects the UFD to a corresponding USB receptacle on a host device, typically a computer.
  • a host device typically a computer.
  • the host device automatically detects that a USB device has been connected to it, determines what kind of USB device it is by means of the USB controller and, if the USB device is a UFD (which it is in this case) , treats the UFD as a logical volume of storage, like a hard disk drive. In this manner, the user can read files from, and write files to, the UFD.
  • UFDs can be connected to a host device without having to install a driver for it or reboot the host device, disconnected from the host device without having to reboot the host device and thereafter carry it around, perhaps in one's pocket or briefcase or perhaps suspended from a lanyard about one's neck.
  • the UFD has a body and includes: (1) a nonvolatile main memory contained in the body, (2) a USB port coupled to the nonvolatile main memory and including a USB plug, (3) a power source contained in the body, (4) a USB host controller contained in the body, coupled to the nonvolatile main memory and powered by the power source, (5) at least two USB receptacles coupled to the USB host controller, (6) a program memory contained in the body and containing a control program and (7) a processor contained in the body, coupled to the nonvolatile main memory and the at least two USB receptacles via the USB host controller and configured to initiate a transfer of user data between the nonvolatile main memory and one of the at least two USB receptacles in accordance with the control program and of a directionality that is based on an identity of the one.
  • the invention provides a method of operating a UFD having a nonvolatile main memory, a USB port including a USB plug, a power source, a USB host controller, at least two USB receptacles coupled to the USB host controller, a processor and a program memory containing a control program.
  • the method includes: (1) employing the power source to provide power to the USB host controller, (2) automatically identifying a coupling of a USB mass storage device to one of the at least two USB receptacles and (3) automatically initiating with the processor a transfer of user data between the nonvolatile main memory and the one in accordance with the control program and of a directionality that is based on an identity of the one.
  • the invention provides a UFD.
  • the UFD has a body and includes: (1) a nonvolatile main memory contained in the body, (2) a USB port coupled to the nonvolatile main memory and including a USB plug, (3) a power source contained in the body, (4) a USB host controller contained in the body, coupled to the nonvolatile main memory and powered by the power source, (5) a USB receptacle coupled to the USB host controller, (6) a program memory contained in the body and containing a control program, (7) a configuration memory contained in the body and containing configuration data, (8) a processor contained in the body, coupled to the nonvolatile main memory and the USB receptacle via the USB host controller and (9) a configuration memory coupled to the processor, the processor configured to initiate a transfer of user data between the nonvolatile main memory and the USB receptacle in accordance with the control program and selectively in accordance with criteria reflected in the configuration data.
  • the invention provides a method of operating a UFD having a nonvolatile main memory, a USB port including a USB plug, a power source, a USB host controller, a USB receptacle coupled to the USB host controller, a processor, a program memory containing a control program and a configuration memory containing configuration data.
  • the method includes: (1) employing the power source to provide power to the USB host controller, (2) automatically identifying a coupling of a USB mass storage device to the USB receptacle and (3) automatically initiating with the processor a transfer of user data between the nonvolatile main memory and the USB receptacle in accordance with the control program and selectively in accordance with criteria reflected in the configuration data.
  • FIGURE 1 illustrates a high-level block diagram of one embodiment of a UFD constructed according to the principles of the invention
  • FIGURES 2A, 2B and 2C together illustrate the UFD of
  • FIGURE 1 employed in three possible modes of operation: a hosted mode (FIGURE 2A), a host mode in which the UFD is giving files (FIGURE 2B) and a host mode in which the UFD is getting files (FIGURE 2C) ;
  • FIGURES 3A and 3B respectively illustrate isometric upper and lower views of one embodiment of a UFD constructed according to the principles of the invention
  • FIGURES 4A-4F together illustrate various plan and elevational views of an embodiment of a UFD having dual
  • FIGURES 5A-5F together illustrate various plan and elevational views of an embodiment of a UFD having dual
  • FIGURES 6A-6F together illustrate various plan and elevational views of an embodiment of a UFD having a single USB receptacle of a configurable or preordained directionality and a single USB plug of a preordained or configurable directionality and constructed according to the principles of the invention;
  • FIGURES 7A-7F together illustrate various plan and elevational views of an embodiment of a UFD having dual
  • FIGURE 8 illustrates a flow diagram of one embodiment of a method of operating a UFD having USB receptacles or plugs of a preordained directionality and carried out according to the principles of the invention
  • FIGURES 9A-9G together illustrate various plan and elevational views of an embodiment of a UFD having a single USB receptacle of a configurable directionality and a detachable gender adapter and constructed according to the principles of the invention
  • FIGURE 10 is a block diagram of a representative operating system executable in the processor of FIGURE 1;
  • FIGURE 11 illustrates a screen shot of a configuration program that may be employed to configure a user-configurable embodiment of the UFD of FIGURE 1; and
  • FIGURE 12 illustrates a flow diagram of one embodiment of a method of operating a UFD having receptacles or plugs of a configurable directionality carried out according to the principles of the invention.
  • a user can, for example, transfer user files automatically to or from another UFD (of any type, including conventional UFDs) without having to do anything more than plug the two UFDs together.
  • No computer is required to affect the transfer. No switches need to be flipped; no buttons need to be pushed; no computer screens need to be read; nothing needs to be plugged into a wall outlet; no email or text messages need to be sent.
  • the file transfer capability is integral to the UFD.
  • integral means that the file transfer capability (including the power source) is built into the UFD, and the UFD itself performs the file transfer.
  • the file transfer is automatic.
  • automated means that the file transfer begins when a hosted device is plugged into the UFD, probably just after the USB connection is established according to the USB protocol.
  • the file transfer is secure.
  • "secure” means that the file transfer occurs in accordance with deliberate action by the user; file transfer mechanisms or technologies that may give rise to inadvertent, accidental or malicious file transfer are avoided.
  • file transfer controls having moving parts that are accessible from outside the UFD (e.g., manual switches or buttons) are avoided, because they can inadvertently hang on clothing or be accidentally slid or pushed by a finger in the normal course of handling the UFD.
  • Their vulnerability to inadvertent manual activation increases as they age, because they loosen up and actuate more easily. Wireless links are generally disfavored due to the potential for malicious interception.
  • the file transfer is directional.
  • directional means that the file transfer is user-controllable to occur only in one direction (unidirectionally) or in both directions (bidirectionally) .
  • files may be transferred only one of two opposite ways, perhaps depending upon how two UFDs are plugged into one another or perhaps based on a user configuration.
  • the file transfer may be selective.
  • selective means that only files satisfying one or more criteria are transferred.
  • only files located in one or more certain folders such as a "shared files” folder
  • the invention encompasses embodiments in which file transfer is not dependent upon criteria and instead is indiscriminant ; all folders and files on a UFD are transferred.
  • This peer-to-peer file transfer capability is highly advantageous in several real-world contexts.
  • a user can transfer the file(s) containing his business presentation directly to those in the audience who want an electronic copy of it.
  • Business- related files can be directly swapped at trade shows, airports, seminar ballrooms, golf courses without having to rely on computers or other devices.
  • a teacher may pass an assignment out by transferring it directly to the students' UFDs, and students may in turn transfer their homework or projects from their UFDs directly to the teacher's.
  • people may trade files (such as pictures or homemade audio recordings or videos) with each other as a natural part of their mingling.
  • FIGURE 1 illustrates a high-level block diagram of one embodiment of a UFD, generally designated 100 and constructed according to the principles of the invention.
  • the UFD 100 contains some components that are found in conventional UFDs.
  • the UFD 100 has a tough, rigid, elongated body 105, typically formed of plastic, that serves to support the various components contained within it.
  • the body 100 has a first end 110 and a second end 115 opposite the first end, as shown.
  • a USB plug 120 extends from the first end.
  • the USB plug 120 may be a Type A USB plug, but can be of any other type.
  • a nonvolatile main memory 125 which in the illustrated embodiment is a flash memory, is contained within the body 105.
  • the nonvolatile main memory 125 is configured to provide storage for user files, which may take the form of files, folders (also called “subdirectories") or other data of interest to a user.
  • the nonvolatile main memory 125 may also provide storage for non-user files, such as system files and directory and formatting data.
  • the nonvolatile main memory 125 is advantageously of large capacity, typically greater than 100 megabytes (MB) , but may be one gigabyte (GB) or larger.
  • a USB mass storage controller 130 is contained within the body 105 and coupled to the nonvolatile main memory 125 and the USB plug 120. Together, the USB mass storage controller 130 and the USB plug 120 are regarded as a USB port. As those skilled in the pertinent art understand, the USB mass storage controller 130 is configured to communicate through the USB plug 120 to establish a logical connection with a hosting device (not shown in FIGURE 1), such as a computer. During the establishment of that logical connection, the USB mass storage controller 130 communicates information regarding the UFD 100 such that the hosting device may understand its storage and file transfer capabilities.
  • the UFD 100 of FIGURE 1 also contains a component that is found on some conventional UFDs, but not on all.
  • An indicator lamp 135 is coupled to the body 105 such that it can be viewed from outside of the body 105.
  • the indicator lamp 135 is a light-emitting diode (LED) .
  • LED light-emitting diode
  • the UFD 100 of FIGURE 1 also contains components that are novel to the invention and therefore not found in conventional UFDs.
  • a processor 145 is contained in the body 105, coupled to the nonvolatile main memory 125 and is configured to function in a variety of ways that will be described below.
  • the processor 145 may be a microprocessor, microcontroller, digital signal processor
  • DSP DSP
  • the processor 145 may be separate from other components of the UFD 100 or integral with one or more of those components.
  • the processor 145 may be integral with a USB controller (e.g., the USB mass storage controller 130), if that controller has sufficient capability to provide the functions desired of the processor 145.
  • One or more USB receptacles 150a, 150b recess into the body 105 at or proximate the second end 115 thereof.
  • the one or more USB receptacles 150a, 150b may be Type A USB receptacles.
  • the one or more USB receptacles 150a, 150b may be of the same USB Type (Type A, Type B, etc.) as the USB plug 120. Further, the one or more USB receptacles 150a, 150b need not be located proximate the second end 115. Instead, the one or more USB receptacles 150a, 150b (and, for that matter, the USB plug 120) may recess into or project from any part of the body 105.
  • the USB receptacles may have a preordained directionality with respect to the transfer of user data to or from the UFD 100.
  • the USB receptacle 150a may be designated for transfers of user data from the UFD 100 to a hosted device (not shown) ; transfers of user data from the UFD 100 to a hosted device may be referred to herein as "giving.”
  • the USB receptacle 150b may be designated for transfers of user data from a hosted device (not shown) to the UFD 100; transfers of user data from a hosted device to the UFD 100 may be referred to herein as "getting.”
  • the directionality of user data transfer may be configurable by the user using, for example, a computer to configure the directionality. The directionality may be unidirectional giving or getting or be bidirectional.
  • a USB host controller 155 is contained in the body 105 and coupled to the one or more USB receptacles 150a, 150b and the nonvolatile main memory 125. Together, the USB host controller 155 and one or more USB receptacles 150a, 150b may be respectively regarded as one or more USB ports. As those skilled in the pertinent art understand, the USB host controller 155 is configured to communicate through the one or more USB receptacles 150a, 150b to establish a logical connection with a hosted device (not shown in FIGURE 1), such as another UFD.
  • a hosted device not shown in FIGURE 1
  • the USB host controller 155 During the establishment of that logical connection, the USB host controller 155 provides power to the hosted device, requests information regarding the hosted device such that the UFD 100 may understand its storage and/or data transfer capabilities and communicates with the hosted device in accordance with that information. As previously stated, the USB host controller 155 provides power to the hosted device. Accordingly, the UFD 100 includes a power source 160 contained within the body 105. In the embodiment of FIGURE 1, the power source 160 includes, and in fact may be, a battery, perhaps of the nickel-cadmium or lithium-ion type, and perhaps accessible via a door (not shown) in the body 150 such that it can be replaced as needed.
  • a program memory 165 contained in the body 105, is coupled to the processor 145 and contains a control program that controls operation of the processor 145, to cause, for example, the transfer of at least one file to or from the UFD 100. Certain functions that the processor 145 may perform will be described herein, with the understanding that many possible functions are possible without departing from the invention.
  • the program memory 165 may be quite small in terms of its storage capacity (perhaps on the order of kilobytes, or KB, or megabytes, or MB) .
  • the program memory 165 is read- only memory (ROM) , but may be of any type, including flash memory.
  • the program memory 165 is externally addressable and contains a configuration program in addition to the control program that controls operation of the processor 145.
  • An exemplary configuration program will be described below, with the understanding that many possible configurations are possible without departing from the invention.
  • a configuration memory 170 is likewise contained in the body 105 and coupled to the processor 145.
  • the configuration memory 170 contains configuration data that, in conjunction with the control program, may control the operation of the processor 145.
  • the configuration memory of FIGURE 1 may be extremely small, on the order of a single 16-bit register, since the functions that the processor 145 is to perform in the illustrated embodiments are limited and of limited variation.
  • the configuration data may be factory-preset or user-configurable via, e.g., the configuration program.
  • the program memory 165 and configuration memory 170 may be embedded with the processor 145 on a single integrated circuit (IC) chip or may be separate ICs. In fact, many of the components of the UFD 100 may be integrated into a single, application-specific IC (ASIC) for compactness and ease of assembly. Alternatively, the components of the UFD 100 may be embodied as a field- programmable gate array (FPGA) , or as a combination of FPGA and ASIC.
  • FPGA field- programmable gate array
  • USB plug 120 nonvolatile main memory 125, USB mass storage controller 130, indicator lamp 135, processor 145, one or more USB receptacles 150a, 150b, USB host controller 155, power source 160, program memory 165 and configuration memory 170 may be mounted on a single circuit board (not shown) .
  • certain embodiments of the invention may advantageously call for certain of these components not to be mounted on the single circuit board.
  • the USB plug 120 and/or the one or more USB receptacles 150a, 150b may be simply affixed to or molded into the body 105 or mounted on an additional, separate circuit board and merely electrically coupled to the remaining components, in which case they are quite clearly not mounted to the single circuit board as those skilled in the pertinent art understand the meaning of that term.
  • the embodiment of FIGURE 1 is relatively simple, more complex embodiments fall within the scope of the invention.
  • the UFD 100 may be provided with a display, perhaps a rudimentary liquid crystal display (LCD) , allowing more status data to be displayed and perhaps allowing user decisions to be based thereon. With a display, the indicator lamp 135 would probably no longer be necessary.
  • the UFD 100 may be provided with a vibrator or a speaker, which would provide other means of informing a user about a file transfer.
  • FIGURES 2A, 2B and 2C together illustrate that dual-receptacle embodiment employed in three possible modes of operation: a hosted mode (FIGURE 2A) , a host mode in which the UFD is giving files (FIGURE 2B) and a host mode in which the UFD is getting files (FIGURE 2C) .
  • the UFD 100 operates primarily as a conventional UFD.
  • the USB host controller (not shown) of the host device 210 automatically provides power to the UFD 100 and requests and receives information regarding the UFD 100 such that the host device 210 may understand its storage and data transfer capabilities. Thereafter, the UFD 100 appears as a logical volume of storage, like a disk drive, to the host device 210.
  • User files can be transferred to or from the UFD 100 by interacting with a file transfer application program (e.g., Microsoft® Windows® Explorer) executing on the host device 210.
  • a file transfer application program e.g., Microsoft® Windows® Explorer
  • the user may execute the configuration program to configure the UFD 100 for stand-alone operation.
  • a hosted memory device 200 is coupled to the UFD 100 via its USB receptacle 150a (see FIGURE 1) .
  • the USB host controller (see FIGURE 1) automatically provides power to the hosted device (in this case a hosted memory device 200) and requests and receives information regarding the hosted memory device 200 such that the UFD 100 may ascertain its storage and data transfer capabilities and establish a USB connection.
  • the processor (see FIGURE 1) automatically initiates a transfer of user data (files, folders or other data of interest to a user) from the UFD 100 to the hosted memory device 200. This is "giving.”
  • a hosted memory device 200 is coupled to the UFD 100 via its USB receptacle 150b (see FIGURE 1) .
  • the USB host controller (see FIGURE 1) automatically provides power to the hosted device (in this case a hosted memory device 200) and requests and receives information regarding the hosted memory device 200 such that the UFD 100 may ascertain its storage and data transfer capabilities and establish a USB connection.
  • the processor (see FIGURE 1) automatically initiates a transfer of user data (files, folders or other data of interest to a user) from the hosted memory device 200 to the UFD 100. This is "getting.”
  • the indicator lamp (see FIGURE 1) on the UFD 100 may blink to prompt the user to keep the hosted memory device 200 and the UFD 100 coupled together until the transfer is complete. Following the transfer, the indicator lamp may turn off or remain constantly on. In certain embodiments to be described, a user can configure the operation of the indicator lamp.
  • FIGURES 3A and 3B respectively illustrate isometric upper and lower views of one embodiment of a UFD constructed according to the principles of the invention.
  • the specific embodiment of FIGURES 3A and 3B is one in which the USB receptacles 150a, 150b are recessed into the second end 115 of the body 105 of the UFD 100.
  • FIGURES 3A and 3B are presented for two purposes.
  • the USB receptacles 150a, 150b may be offset from one another, perhaps in two dimensions (e.g., along the semimajor and minor axes of the body 105) as illustrated to increase the likelihood that the user plugs the hosted memory device (not shown) into the appropriate USB receptacle.
  • the USB receptacles 150a, 150b may be located proximate anywhere on the body 105 as may be advantageous for a particular embodiment.
  • visible directional indicia 310, 320 may be located on the body to aid the user in determining which USB receptacle 150a, 150b to use to affect a user data transfer in a desired direction.
  • the visual directional indicia 310, 320 of FIGURES 3A and 3B happen to take the form of bold, linear arrows pointing toward and away from the center of the UFD 100.
  • the visual directional indicium 310 indicates that the USB receptacle 150b is for getting files
  • the visual directional indicium 320 indicates that the USB receptacle 150a is for giving files.
  • the visual directional indicia 310, 320, if used, may be glued to, embossed on or molded into the body 105 or applied to the body 105 in any conventional or later- developed way.
  • indicator lamp 135 is illustrated as being located on the body 105, this need not be the case.
  • One or more indicator lamps 135 may be located on any surface or surfaces of the body 105, and may even constitute the visual directional indicia 310, 320 (e.g., arrow) , giving rise to illuminated, perhaps flashing, directional indicia.
  • the body 105 may be of any, perhaps ornamental, shape. The body 105 certainly need not assume the highly rectangular, sharp-edged shape that is shown.
  • FIGURES 4A-4F together illustrate various plan and elevational views of an embodiment of a UFD 100 having dual USB receptacles 150a, 150b of a preordained directionality and a single USB plug 120 and constructed according to the principles of the invention.
  • the embodiment of FIGURES 4A-4F is the same as that of FIGURES 3A and 3B; dual USB receptacles 150a, 150b recess into the second end (not referenced) of the body 105.
  • FIGURE 4A is a head-on view of the second end.
  • FIGURE 4B is a top plan view.
  • FIGURE 4C is a head-on view of the first end from which, in this embodiment, projects the USB plug 120.
  • FIGURES 4D, 4E and 4F are respective elevational, plan and elevational views taken respectively along lines 4D-4D, 4E-4E and 4F-4F. Because the embodiment of FIGURES 4A-4F has dual USB receptacles 150a, 150b, no configuration data are necessary to determine transfer direction; the receptacles 150a, 150b may be preordained as to their directionality. Configuration data may, however, be employed to determine file selectivity and/or indicator lamp behavior.
  • FIGURES 5A-5F together illustrate various plan and elevational views of an embodiment of a UFD 100 having dual USB receptacles 510 of a preordained directionality and a single USB plug 120 and constructed according to the principles of the invention.
  • the embodiment of FIGURES 5A-5F differs from that of FIGURES 4A-4F in two respects .
  • the dual USB receptacles 510 recess into opposing sides of the body 105 proximate the second end
  • the USB receptacles 510 may simply be two conventional USB receptacles located back-to-back.
  • the USB receptacles may be embodied in a single, hollow structure, allowing one to peer into and through the structure.
  • the single, hollow structure is likely to be less susceptible to clogging with debris, e.g., pocket lint, and easier to clean, e.g., by blowing air through the receptacle.
  • visual directional indicia 520, 530 take the form of bent arrows to reflect the fact that the USB receptacles are now on the sides of the body 105.
  • FIGURE 5A is a head-on view of the second end.
  • FIGURE 5B is a top plan view.
  • FIGURE 5C is a head-on view of the first end from which, in this embodiment, projects the USB plug 120.
  • FIGURES 5D, 5E and 5F are respective elevational, plan and elevational views taken respectively along lines 5D-5D, 5E-5E and 5F-5F.
  • FIGURES 5A-5F has dual USB receptacles 150a, 150b, no configuration data are necessary to determine transfer direction; the receptacles 150a, 150b may be preordained as to their directionality. Again, configuration data may, however, be employed to determine file selectivity and/or indicator lamp behavior.
  • a third USB receptacle (not shown) may be added to the UFD 100. The third USB receptacle may, for example, recess into the second end of the body. The third receptacle may be preordained, e.g., to support a bidirectional transfer of user data. Thus, a user may choose only to give, only to get or both give and get simply by selecting the USB receptacle to use for the transfer .
  • FIGURES 6A-6F together illustrate various plan and elevational views of an embodiment of a UFD 100 having a single USB receptacle of a configurable or preordained directionality and a single USB plug of a preordained or configurable directionality and constructed according to the principles of the invention.
  • the embodiment of FIGURES 6A-6F differs from that of FIGURES 4A-4F in that a single USB receptacle 610 recesses into the second end (not referenced) of the body 105.
  • FIGURE 6A is a head-on view of the second end.
  • FIGURE 6B is a top plan view.
  • FIGURE 6C is a head-on view of the first end from which, in this embodiment, projects the USB plug 120.
  • FIGURES 6D, 6E and 6F are respective elevational, plan and elevational views taken respectively along lines 6D-6D, 6E-6E and 6F-6F. Because the embodiment of FIGURES 6A-6F has only a single USB receptacle 610, configuration data may be employed to determine transfer direction with respect to the USB receptacle 610 in addition to file selectivity and/or indicator lamp behavior. Of course, the USB receptacle 610 may have a preordained directionality, resulting in a UFD 100 that is capable of only giving, or only getting, files. Alternatively, the USB receptacle may be preordained to be bidirectional, resulting in a UFD that both gives and gets files.
  • the USB plug 120 can receive a hosted device, allowing user data (e.g., files) to be transferred therebetween.
  • the hosted device needs a corresponding USB receptacle or an adapter to effect the USB connection. This may seem somewhat contrary to convention, since hosted devices typically plug into receptacles of host devices. However, nothing in the USB specification prevents a host device from plugging into a hosted device.
  • the USB receptacle 610 may be preordained to transfer user data in one direction, and the USB plug 120 may be preordained to transfer user data in the opposite direction when the UFD 100 is acting as a host.
  • configuration data may determine the direction of user data transfer.
  • FIGURES 7A-7F together illustrate various plan and elevational views of an embodiment of a UFD 100 having dual USB receptacles 710a, 710b of a preordained directionality and a detachable gender adapter 720 and constructed according to the principles of the invention.
  • FIGURE 7A is a head-on view of the second end.
  • FIGURE 7B is a top plan view.
  • FIGURE 7C is a top plan view of the detachable gender adapter 720.
  • FIGURES 7D, 7E and 7F are respective elevational, plan and elevational views taken respectively along lines 7D-7D, 7E-7E and 7F-7F.
  • the USB receptacles 710a, 710b may operate the same as the USB receptacles 150a, 150b when the gender adapter 720 is detached from the body 105; for example, they may be preordained as to directionality or configured by the user.
  • the illustrated embodiment of the gender adapter 720 is essentially a double-headed USB plug (plugs 730a, 730b) with a flange (shown, but not referenced) that acts as a stop and perhaps allows the gender adapter 720 to be positively latched to the body 105 in a conventional manner to inhibit inadvertent detachment.
  • a tether (not shown) may couple the gender adapter 720 to the body 105, or the gender adapter 720 may be configured to have detents, dogs or catches that cooperatively engage the body 105 to securely hold it in place.
  • the UFD' s processor may automatically detect the presence of the gender adapter 720 using, for example, a pair of exposed contacts located on an inner surface of the USB receptacle 710b that are electrically bridged by the shield of a plug (e.g., the plug 730a) of the gender adapter 720 to complete a circuit.
  • the processor may assume that the UFD is being rigged to be hosted and accordingly reconfigure the port associated with the USB receptacle (e.g., the USB receptacle 710b).
  • FIGURE 8 illustrates a flow diagram of one embodiment of a method of operating a UFD having directional USB receptacles or plugs carried out according to the principles of the invention. The method begins in a step 810.
  • the power source is employed to provide power to the USB host controller, at which time the coupling of the hosted memory device is automatically recognized and a USB connection established therewith in accordance with existing USB standards.
  • a step 830 the identity of the port (i.e., the corresponding USB receptacle) into which the hosted memory device was coupled is determined.
  • the port i.e., the corresponding USB receptacle
  • the identity of the port is determined.
  • only two ports are involved: a "give” port and a “get port.”
  • Port identification already occurs as part of the recognition that takes place when a USB connection is established in accordance with existing USB standards.
  • a step 840 is carried out in which the control program in the UFD is automatically invoked to initiate an automatic giving of user data (e.g., at least one user file or folder) , either indiscriminately or perhaps in accordance with selection criteria reflected the configuration data.
  • a step 850 is carried out in which the control program in the UFD is automatically invoked to initiate an automatic getting of user data, either indiscriminately or perhaps in accordance with selection criteria reflected the configuration data.
  • a transfer of user data between the hosted memory device (via the USB host controller) and the nonvolatile main memory of the UFD begins.
  • the control program causes the processor to change the state of the indicator lamp
  • step 870 the transfer of user data is completed, and the control program again causes the processor to change the state of the indicator lamp
  • the method ends in an end step 880.
  • FIGURES 9A-9G together illustrate various plan and elevational views of an embodiment of a UFD having a single USB receptacle 910 of a configurable directionality and the detachable gender adapter 720 and constructed according to the principles of the invention.
  • FIGURE 9A is a head-on view of the second end.
  • FIGURE 9B is a top plan view.
  • FIGURE 9C is a top plan view of the detachable gender adapter 920.
  • FIGURES 9D, 9E and 9F are respective elevational, plan and elevational views taken respectively along lines 9D-9D, 9E-9E and 9F-9F.
  • USB receptacle 910 may have a preordained directionality, resulting in a UFD 100 that is capable of only giving, or only getting, files.
  • the USB receptacle may be preordained to be bidirectional, resulting in a UFD that both gives and gets files.
  • FIGURE 10 is a block diagram of a representative operating system executable in the processor of FIGURE 1.
  • the operating system of FIGURE 10 is appropriate for a relatively straightforward device, such as the UFD described herein.
  • the operating system for the UFD 100 of FIGURE 1 need not follow the architecture of FIGURE 10. It may assume any architecture or level of complexity.
  • the operating system includes a micro-kernel 1010 that has a system call interface 1011, a file system 1012, device drivers 1013, a process control/memory management function 1014 and hardware control 1015.
  • the operating system controls the operation of hardware 1020, including various of the components illustrated in FIGURE 1.
  • One or more applications 1030 makes calls to the micro-kernel 1010 by way of the system call interface 1011.
  • the file system 1012 manages the location and transfer of files on the UFD and any hosted devices.
  • the file system employs the device drivers 1013 which, to enable USB operation, implements a USB protocol stack typically including a USB Transparent Transport layer, a USB Bulk layer, a USB Control layer, a USB Root Hub layer and a USB Host Controller Driver layer.
  • the UFD further includes a configuration program executable on a host device (e.g., the host device 210 of FIGURE 2) to allow a user to configure the configuration data contained in the host device (e.g., the host device 210 of FIGURE 2) to allow a user to configure the configuration data contained in the host device (e.g., the host device 210 of FIGURE 2)
  • FIGURE 11 illustrates a screen shot 1100 of a rudimentary configuration program that may be employed to configure a user-configurable embodiment of the UFD 100 of FIGURE 1.
  • the configuration program could be provided on a disk sold with the UFD 100 or, more advantageously, stored in the UFD itself, e.g., in the program memory 165 of FIGURE 1.
  • the configuration program might appear as an executable (e.g., .com or . exe) file in the UFD when the UFD is coupled to the host device.
  • the configuration program can then be executed off the UFD without the need for a separate disk.
  • a title 1110 is a list of possible configuration settings (not separately referenced) .
  • the user can select or deselect configuration settings by blackening or whitening bullets (also not separately referenced) located next to each of the configuration settings as shown.
  • blackening or whitening bullets also not separately referenced
  • the spacebar or a mouse click can be used for blackening and whitening bullets.
  • the configuration settings illustrated in FIGURE 11 will be described with the understanding that they are merely examples of possible UFD functions. More or fewer configuration settings may be desired, depending upon how sophisticated or simple the UFD functions are to be for a given embodiment.
  • the configuration settings are grouped into three groups: a GET FILES group 1120, a GIVE FILES group 1130 and a miscellaneous group 1140.
  • the GET FILES and GIVE FILES groups 1120, 1130 and the upper configuration setting of the miscellaneous group 1140 pertain to the host mode.
  • a user can first select
  • the user can select (via a configuration setting 1122) whether the UFD should get only files that do not already exist on the UFD ("new files") or all files irrespective of their pre-existence on the UFD.
  • the user can select (via a configuration setting 1123) whether the UFD should get files only from a folder on the hosted memory device named "Shared Files.” This allows users to define a "Shared Files" folder on their UFDs from which files are shared. If the configuration setting 1123 is whitened, all files are transferred from the hosted memory device, irrespective of the folder in which they may be contained.
  • the user can decide how to store the received files on the UFD.
  • the user can select (via a configuration setting 1124) whether a new subfolder should be created for the files or whether the files should be stored in the UFD' s root folder.
  • the former allows files to be grouped by origin, making it easier to determine from whom a file was received. The latter results in a simpler folder structure. If the former is selected, the user can then select (via a configuration setting 1125) how to name the newly-created folders.
  • the hosted memory device (called "UFD" in the configuration setting 1125) has a logical name that it provides to the hosting UFD.
  • That name can be used as the folder name, or the UFD can assign a unique name to the folder based upon some convention, perhaps an incrementing number. As is apparent from FIGURE 11, the user wants the UFD to get only new files and put them in a folder that the UFD assigns a unique name based upon some convention.
  • a user can first select (via a configuration setting 1131) whether or not the UFD should give any files to the hosted memory device when the UFD is in host mode. If the user does not want the UFD to get any files, the bullet next to the configuration setting 1131 should be whitened; otherwise it should be blackened. Assuming, as shown, that the user wants the UFD to give files, he now can configure what files and how they should be stored on the hosted memory device.
  • the user can select (via a configuration setting 1132) whether the UFD should give only files from folders that have a "shared" permission, such as one named "Shared Files.”
  • a "shared" permission such as one named "Shared Files.”
  • modern operating systems such as Microsoft® Windows® XP®, allow folders to be shared by setting a "shared" permission to those folders. Then the user can decide how to store the received files on the hosted memory device. The user can select
  • the configuration program saves the configuration settings to the configuration memory (see FIGURE 1), overwriting previous, perhaps factory, configuration settings.
  • FIGURE 12 illustrates a flow diagram of one embodiment of a method of operating a UFD having receptacles or plugs of configurable directionality carried out according to the principles of the invention. The method begins in a step 1210.
  • the power source is employed to provide power to the USB host controller, at which time the coupling of the hosted memory device is automatically recognized in accordance with USB standards.
  • the control program is automatically invoked to cause the processor to read the configuration data from the configuration memory.
  • the control program causes the processor to initiate a selective transfer of user data between the hosted memory device
  • Selection criteria may be of any kind, including one or more specific filenames or folders or specified file attributes, file types or extensions, file sizes, file contents or ranges of any of these.
  • a step 1250 the control program causes the processor to change the state of the indicator lamp (perhaps from off to blinking) to indicate that a transfer has begun.
  • a step 1260 the transfer of user data is completed, and the control program again causes the processor to change the state of the indicator lamp (perhaps from blinking to off) .
  • the method ends in an end step 1270.

Abstract

A Universal Serial Bus (USB) flash drive (UFD) and method of operating. The UFD has a body, including: (1 ) a nonvolatile main memory contained in the body, (2) a USB port coupled to the main memory and including a USB plug, (3) a power source contained in the body, (4) a USB host controller contained in the body, coupled to the main memory and powered by the power source, (5) at least two USB receptacles coupled to the host controller, ( 6) a program memory contained in the body and containing a control program and (7) a processor coupled to the main memory and the two receptacles via the host controller and configured to initiate a transfer of user data between the main memory and one of the receptacles in accordance with the control program and of a directionality that is based on an identity of the one.

Description

USB FLASH DRIVE WITH SELECTIVE FILE TRANSFER
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. Patent Application Serial No. 11/553,805, filed on October 27, 2006, entitled "Pen Drive Having Integral File Transfer Capability and Method of Operation Thereof" and U.S. Patent Application Serial No. 11/564,876, filed on November 30, 2006, entitled "Pen Drive Having Integral Data Processing And Battery Recharge Capability and Method of Operation Thereof," both filed by Hitt, commonly owned with this application and incorporated herein by reference. TECHNICAL FIELD OF THE INVENTION
The invention is directed, in general, to computer memory peripheral devices and, more particularly, to a Universal Serial Bus (USB) flash drive (UFD) having integral, automatic, secure, directional and/or selective file transfer capability and a method of operating the same . BACKGROUND OF THE INVENTION UFDs have become a widely used device for carrying one's computer files about. As is widely known, a UFD (also known as a "flash drive," "pen drive," "thumb drive," "memory stick," "jump drive" or perhaps dozens of other generic or trademarked names) is a solid-state device containing nonvolatile computer memory, typically flash random-access memory (RAM) , and a Universal Serial Bus (USB) port that allows external access to the nonvolatile memory.
To use the UFD, a user connects the UFD to a corresponding USB receptacle on a host device, typically a computer. In accordance with the USB standard (which is controlled by the USB Implementers Forum, Inc. at usb.org), the host device automatically detects that a USB device has been connected to it, determines what kind of USB device it is by means of the USB controller and, if the USB device is a UFD (which it is in this case) , treats the UFD as a logical volume of storage, like a hard disk drive. In this manner, the user can read files from, and write files to, the UFD.
The beauty of the UFD is that it can be connected to a host device without having to install a driver for it or reboot the host device, disconnected from the host device without having to reboot the host device and thereafter carry it around, perhaps in one's pocket or briefcase or perhaps suspended from a lanyard about one's neck. Being solid state and packaged in a relatively small, light and durable case, UFDs are reliable, tough and very easy to carry about. For this reason, UFDs have largely displaced floppy disks and even compact disks as portable storage media. Because the market is so large, quite a number of companies produce UFDs. As a result, UFDs are virtual commodities, with storage capacities increasing and prices decreasing almost daily. This indicates that the popularity of UFDs will continue to increase. As portable, capacious, durable and easy to use as UFDs now are, they can still benefit from further improvement. What is needed in the art is a way to make UFDs even more flexible and powerful. Most advantageously, UFDs should be made more flexible and powerful without diminishing their portability, capacity, durability and ease of use. SUMMARY OF THE INVENTION
To address the above-discussed deficiencies of the prior art, one aspect of the invention provides a UFD. In one embodiment, the UFD has a body and includes: (1) a nonvolatile main memory contained in the body, (2) a USB port coupled to the nonvolatile main memory and including a USB plug, (3) a power source contained in the body, (4) a USB host controller contained in the body, coupled to the nonvolatile main memory and powered by the power source, (5) at least two USB receptacles coupled to the USB host controller, (6) a program memory contained in the body and containing a control program and (7) a processor contained in the body, coupled to the nonvolatile main memory and the at least two USB receptacles via the USB host controller and configured to initiate a transfer of user data between the nonvolatile main memory and one of the at least two USB receptacles in accordance with the control program and of a directionality that is based on an identity of the one.
In another aspect, the invention provides a method of operating a UFD having a nonvolatile main memory, a USB port including a USB plug, a power source, a USB host controller, at least two USB receptacles coupled to the USB host controller, a processor and a program memory containing a control program. In one embodiment, the method includes: (1) employing the power source to provide power to the USB host controller, (2) automatically identifying a coupling of a USB mass storage device to one of the at least two USB receptacles and (3) automatically initiating with the processor a transfer of user data between the nonvolatile main memory and the one in accordance with the control program and of a directionality that is based on an identity of the one.
In yet another aspect, the invention provides a UFD.
In one embodiment, the UFD has a body and includes: (1) a nonvolatile main memory contained in the body, (2) a USB port coupled to the nonvolatile main memory and including a USB plug, (3) a power source contained in the body, (4) a USB host controller contained in the body, coupled to the nonvolatile main memory and powered by the power source, (5) a USB receptacle coupled to the USB host controller, (6) a program memory contained in the body and containing a control program, (7) a configuration memory contained in the body and containing configuration data, (8) a processor contained in the body, coupled to the nonvolatile main memory and the USB receptacle via the USB host controller and (9) a configuration memory coupled to the processor, the processor configured to initiate a transfer of user data between the nonvolatile main memory and the USB receptacle in accordance with the control program and selectively in accordance with criteria reflected in the configuration data. In still another aspect, the invention provides a method of operating a UFD having a nonvolatile main memory, a USB port including a USB plug, a power source, a USB host controller, a USB receptacle coupled to the USB host controller, a processor, a program memory containing a control program and a configuration memory containing configuration data. In one embodiment, the method includes: (1) employing the power source to provide power to the USB host controller, (2) automatically identifying a coupling of a USB mass storage device to the USB receptacle and (3) automatically initiating with the processor a transfer of user data between the nonvolatile main memory and the USB receptacle in accordance with the control program and selectively in accordance with criteria reflected in the configuration data.
The foregoing has outlined certain aspects and embodiments of the invention so that those skilled in the pertinent art may better understand the detailed description of the invention that follows. Additional aspects and embodiments will be described hereinafter that form the subject of the claims of the invention. Those skilled in the pertinent art should appreciate that they can readily use the disclosed aspects and embodiments as a basis for designing or modifying other structures for carrying out the same purposes of the invention. Those skilled in the pertinent art should also realize that such equivalent constructions do not depart from the scope of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: FIGURE 1 illustrates a high-level block diagram of one embodiment of a UFD constructed according to the principles of the invention;
FIGURES 2A, 2B and 2C together illustrate the UFD of
FIGURE 1 employed in three possible modes of operation: a hosted mode (FIGURE 2A), a host mode in which the UFD is giving files (FIGURE 2B) and a host mode in which the UFD is getting files (FIGURE 2C) ;
FIGURES 3A and 3B respectively illustrate isometric upper and lower views of one embodiment of a UFD constructed according to the principles of the invention;
FIGURES 4A-4F together illustrate various plan and elevational views of an embodiment of a UFD having dual
USB receptacles of a preordained directionality and a single USB plug and constructed according to the principles of the invention;
FIGURES 5A-5F together illustrate various plan and elevational views of an embodiment of a UFD having dual
USB receptacles of a preordained directionality and a single USB plug and constructed according to the principles of the invention;
FIGURES 6A-6F together illustrate various plan and elevational views of an embodiment of a UFD having a single USB receptacle of a configurable or preordained directionality and a single USB plug of a preordained or configurable directionality and constructed according to the principles of the invention; FIGURES 7A-7F together illustrate various plan and elevational views of an embodiment of a UFD having dual
USB receptacles of a preordained directionality and a detachable gender adapter and constructed according to the principles of the invention;
FIGURE 8 illustrates a flow diagram of one embodiment of a method of operating a UFD having USB receptacles or plugs of a preordained directionality and carried out according to the principles of the invention; FIGURES 9A-9G together illustrate various plan and elevational views of an embodiment of a UFD having a single USB receptacle of a configurable directionality and a detachable gender adapter and constructed according to the principles of the invention; FIGURE 10 is a block diagram of a representative operating system executable in the processor of FIGURE 1;
FIGURE 11 illustrates a screen shot of a configuration program that may be employed to configure a user-configurable embodiment of the UFD of FIGURE 1; and FIGURE 12 illustrates a flow diagram of one embodiment of a method of operating a UFD having receptacles or plugs of a configurable directionality carried out according to the principles of the invention.
DETAILED DESCRIPTION
Before describing technical aspects of various embodiments of a novel UFD in detail, its use and possible advantages should be understood in nontechnical, colloquial terms. With a UFD as described herein, a user can, for example, transfer user files automatically to or from another UFD (of any type, including conventional UFDs) without having to do anything more than plug the two UFDs together. No computer is required to affect the transfer. No switches need to be flipped; no buttons need to be pushed; no computer screens need to be read; nothing needs to be plugged into a wall outlet; no email or text messages need to be sent.
Several differences exist between embodiments of the UFD constructed according to the principles of the invention and those of the prior art.
First, the file transfer capability is integral to the UFD. For purposes of the invention, "integral" means that the file transfer capability (including the power source) is built into the UFD, and the UFD itself performs the file transfer.
Second, the file transfer is automatic. For purposes of the invention, "automatic" means that the file transfer begins when a hosted device is plugged into the UFD, probably just after the USB connection is established according to the USB protocol.
Third, the file transfer is secure. For purposes of the invention, "secure" means that the file transfer occurs in accordance with deliberate action by the user; file transfer mechanisms or technologies that may give rise to inadvertent, accidental or malicious file transfer are avoided. For example, file transfer controls having moving parts that are accessible from outside the UFD (e.g., manual switches or buttons) are avoided, because they can inadvertently hang on clothing or be accidentally slid or pushed by a finger in the normal course of handling the UFD. Their vulnerability to inadvertent manual activation increases as they age, because they loosen up and actuate more easily. Wireless links are generally disfavored due to the potential for malicious interception. Fourth, the file transfer is directional. For purposes of the invention, "directional" means that the file transfer is user-controllable to occur only in one direction (unidirectionally) or in both directions (bidirectionally) . For example, files may be transferred only one of two opposite ways, perhaps depending upon how two UFDs are plugged into one another or perhaps based on a user configuration.
And fifth, the file transfer may be selective. For purposes of the invention, "selective" means that only files satisfying one or more criteria are transferred. For example, only files located in one or more certain folders (such as a "shared files" folder) may be transferred. Of course, the invention encompasses embodiments in which file transfer is not dependent upon criteria and instead is indiscriminant ; all folders and files on a UFD are transferred.
This peer-to-peer file transfer capability is highly advantageous in several real-world contexts. In a work environment, a user can transfer the file(s) containing his business presentation directly to those in the audience who want an electronic copy of it. Business- related files can be directly swapped at trade shows, airports, seminar ballrooms, golf courses without having to rely on computers or other devices. In an educational environment, a teacher may pass an assignment out by transferring it directly to the students' UFDs, and students may in turn transfer their homework or projects from their UFDs directly to the teacher's. At a party, people may trade files (such as pictures or homemade audio recordings or videos) with each other as a natural part of their mingling. Those skilled in the pertinent art will understand how advantageous it is to have a UFD that automatically transfers files without the need for further hardware or software and without compromising the portability, light weight, durability and flexibility UFDs currently afford. Those skilled in the pertinent art will also see many applications for the UFD of the invention that may not be described herein. All such applications fall within the scope of the invention.
Having described in layman' s terms some of possible uses and advantages of the invention, some embodiments will now be described. FIGURE 1 illustrates a high-level block diagram of one embodiment of a UFD, generally designated 100 and constructed according to the principles of the invention. The UFD 100 contains some components that are found in conventional UFDs. The UFD 100 has a tough, rigid, elongated body 105, typically formed of plastic, that serves to support the various components contained within it. The body 100 has a first end 110 and a second end 115 opposite the first end, as shown. A USB plug 120 extends from the first end. The USB plug 120 may be a Type A USB plug, but can be of any other type. A nonvolatile main memory 125, which in the illustrated embodiment is a flash memory, is contained within the body 105. The nonvolatile main memory 125 is configured to provide storage for user files, which may take the form of files, folders (also called "subdirectories") or other data of interest to a user. (The nonvolatile main memory 125 may also provide storage for non-user files, such as system files and directory and formatting data.) The nonvolatile main memory 125 is advantageously of large capacity, typically greater than 100 megabytes (MB) , but may be one gigabyte (GB) or larger.
A USB mass storage controller 130 is contained within the body 105 and coupled to the nonvolatile main memory 125 and the USB plug 120. Together, the USB mass storage controller 130 and the USB plug 120 are regarded as a USB port. As those skilled in the pertinent art understand, the USB mass storage controller 130 is configured to communicate through the USB plug 120 to establish a logical connection with a hosting device (not shown in FIGURE 1), such as a computer. During the establishment of that logical connection, the USB mass storage controller 130 communicates information regarding the UFD 100 such that the hosting device may understand its storage and file transfer capabilities.
The UFD 100 of FIGURE 1 also contains a component that is found on some conventional UFDs, but not on all. An indicator lamp 135 is coupled to the body 105 such that it can be viewed from outside of the body 105. In the illustrated embodiment, the indicator lamp 135 is a light-emitting diode (LED) . However, this need not be the case. The UFD 100 of FIGURE 1 also contains components that are novel to the invention and therefore not found in conventional UFDs. A processor 145 is contained in the body 105, coupled to the nonvolatile main memory 125 and is configured to function in a variety of ways that will be described below. The processor 145 may be a microprocessor, microcontroller, digital signal processor
(DSP) or any other kind of processor having sufficient capability to provide the functions desired of the processor 145. Further, the processor 145 may be separate from other components of the UFD 100 or integral with one or more of those components. For example, the processor 145 may be integral with a USB controller (e.g., the USB mass storage controller 130), if that controller has sufficient capability to provide the functions desired of the processor 145.
One or more USB receptacles 150a, 150b recess into the body 105 at or proximate the second end 115 thereof. The one or more USB receptacles 150a, 150b may be Type A USB receptacles. The one or more USB receptacles 150a, 150b may be of the same USB Type (Type A, Type B, etc.) as the USB plug 120. Further, the one or more USB receptacles 150a, 150b need not be located proximate the second end 115. Instead, the one or more USB receptacles 150a, 150b (and, for that matter, the USB plug 120) may recess into or project from any part of the body 105.
In embodiments of the UFD 100 having two or more USB receptacles (e.g., both the USB receptacles 150a and 150b) , the USB receptacles may have a preordained directionality with respect to the transfer of user data to or from the UFD 100. For example, the USB receptacle 150a may be designated for transfers of user data from the UFD 100 to a hosted device (not shown) ; transfers of user data from the UFD 100 to a hosted device may be referred to herein as "giving." Likewise, the USB receptacle 150b may be designated for transfers of user data from a hosted device (not shown) to the UFD 100; transfers of user data from a hosted device to the UFD 100 may be referred to herein as "getting." In embodiments of the UFD 100 having a single USB receptacle (e.g., only the USB receptacle 150a), the directionality of user data transfer may be configurable by the user using, for example, a computer to configure the directionality. The directionality may be unidirectional giving or getting or be bidirectional.
A USB host controller 155 is contained in the body 105 and coupled to the one or more USB receptacles 150a, 150b and the nonvolatile main memory 125. Together, the USB host controller 155 and one or more USB receptacles 150a, 150b may be respectively regarded as one or more USB ports. As those skilled in the pertinent art understand, the USB host controller 155 is configured to communicate through the one or more USB receptacles 150a, 150b to establish a logical connection with a hosted device (not shown in FIGURE 1), such as another UFD. During the establishment of that logical connection, the USB host controller 155 provides power to the hosted device, requests information regarding the hosted device such that the UFD 100 may understand its storage and/or data transfer capabilities and communicates with the hosted device in accordance with that information. As previously stated, the USB host controller 155 provides power to the hosted device. Accordingly, the UFD 100 includes a power source 160 contained within the body 105. In the embodiment of FIGURE 1, the power source 160 includes, and in fact may be, a battery, perhaps of the nickel-cadmium or lithium-ion type, and perhaps accessible via a door (not shown) in the body 150 such that it can be replaced as needed.
Two components that may assist the processor 145 in providing its desired functions will now be described. A program memory 165, contained in the body 105, is coupled to the processor 145 and contains a control program that controls operation of the processor 145, to cause, for example, the transfer of at least one file to or from the UFD 100. Certain functions that the processor 145 may perform will be described herein, with the understanding that many possible functions are possible without departing from the invention.
The program memory 165 may be quite small in terms of its storage capacity (perhaps on the order of kilobytes, or KB, or megabytes, or MB) . In the embodiment of FIGURE 1, the program memory 165 is read- only memory (ROM) , but may be of any type, including flash memory. In one embodiment, the program memory 165 is externally addressable and contains a configuration program in addition to the control program that controls operation of the processor 145. An exemplary configuration program will be described below, with the understanding that many possible configurations are possible without departing from the invention.
A configuration memory 170 is likewise contained in the body 105 and coupled to the processor 145. The configuration memory 170 contains configuration data that, in conjunction with the control program, may control the operation of the processor 145. The configuration memory of FIGURE 1 may be extremely small, on the order of a single 16-bit register, since the functions that the processor 145 is to perform in the illustrated embodiments are limited and of limited variation. The configuration data may be factory-preset or user-configurable via, e.g., the configuration program.
The program memory 165 and configuration memory 170 may be embedded with the processor 145 on a single integrated circuit (IC) chip or may be separate ICs. In fact, many of the components of the UFD 100 may be integrated into a single, application-specific IC (ASIC) for compactness and ease of assembly. Alternatively, the components of the UFD 100 may be embodied as a field- programmable gate array (FPGA) , or as a combination of FPGA and ASIC.
The USB plug 120, nonvolatile main memory 125, USB mass storage controller 130, indicator lamp 135, processor 145, one or more USB receptacles 150a, 150b, USB host controller 155, power source 160, program memory 165 and configuration memory 170 may be mounted on a single circuit board (not shown) . However, certain embodiments of the invention may advantageously call for certain of these components not to be mounted on the single circuit board. In particular, the USB plug 120 and/or the one or more USB receptacles 150a, 150b may be simply affixed to or molded into the body 105 or mounted on an additional, separate circuit board and merely electrically coupled to the remaining components, in which case they are quite clearly not mounted to the single circuit board as those skilled in the pertinent art understand the meaning of that term. Though the embodiment of FIGURE 1 is relatively simple, more complex embodiments fall within the scope of the invention. For example, the UFD 100 may be provided with a display, perhaps a rudimentary liquid crystal display (LCD) , allowing more status data to be displayed and perhaps allowing user decisions to be based thereon. With a display, the indicator lamp 135 would probably no longer be necessary. The UFD 100 may be provided with a vibrator or a speaker, which would provide other means of informing a user about a file transfer.
Having described some embodiments of the UFD 100, various possible modes of operation of a dual-receptacle embodiment of the UFD 100 will now be described. FIGURES 2A, 2B and 2C together illustrate that dual-receptacle embodiment employed in three possible modes of operation: a hosted mode (FIGURE 2A) , a host mode in which the UFD is giving files (FIGURE 2B) and a host mode in which the UFD is getting files (FIGURE 2C) .
In the hosted mode of FIGURE 2A, the UFD 100 operates primarily as a conventional UFD. When the UFD 100 is coupled to a USB receptacle (not shown) on a host device 210, the USB host controller (not shown) of the host device 210 automatically provides power to the UFD 100 and requests and receives information regarding the UFD 100 such that the host device 210 may understand its storage and data transfer capabilities. Thereafter, the UFD 100 appears as a logical volume of storage, like a disk drive, to the host device 210. User files (e.g., files, folders or other data of interest to a user) can be transferred to or from the UFD 100 by interacting with a file transfer application program (e.g., Microsoft® Windows® Explorer) executing on the host device 210. In embodiments of the UFD 100 that include a configuration program, the user may execute the configuration program to configure the UFD 100 for stand-alone operation.
In the hosted mode of FIGURE 2B, a hosted memory device 200 is coupled to the UFD 100 via its USB receptacle 150a (see FIGURE 1) . In response, the USB host controller (see FIGURE 1) automatically provides power to the hosted device (in this case a hosted memory device 200) and requests and receives information regarding the hosted memory device 200 such that the UFD 100 may ascertain its storage and data transfer capabilities and establish a USB connection. Thereafter, and in recognition of the fact that the hosted memory device 200 is specifically plugged into the USB receptacle 150a, the processor (see FIGURE 1) automatically initiates a transfer of user data (files, folders or other data of interest to a user) from the UFD 100 to the hosted memory device 200. This is "giving."
In the hosted mode of FIGURE 2C, a hosted memory device 200 is coupled to the UFD 100 via its USB receptacle 150b (see FIGURE 1) . In response, the USB host controller (see FIGURE 1) automatically provides power to the hosted device (in this case a hosted memory device 200) and requests and receives information regarding the hosted memory device 200 such that the UFD 100 may ascertain its storage and data transfer capabilities and establish a USB connection. Thereafter, and in recognition of the fact that the hosted memory device 200 is specifically plugged into the USB receptacle 150b, the processor (see FIGURE 1) automatically initiates a transfer of user data (files, folders or other data of interest to a user) from the hosted memory device 200 to the UFD 100. This is "getting."
During the giving of FIGURE 2B or the getting of FIGURE 2C, the indicator lamp (see FIGURE 1) on the UFD 100 may blink to prompt the user to keep the hosted memory device 200 and the UFD 100 coupled together until the transfer is complete. Following the transfer, the indicator lamp may turn off or remain constantly on. In certain embodiments to be described, a user can configure the operation of the indicator lamp.
FIGURES 3A and 3B respectively illustrate isometric upper and lower views of one embodiment of a UFD constructed according to the principles of the invention. The specific embodiment of FIGURES 3A and 3B is one in which the USB receptacles 150a, 150b are recessed into the second end 115 of the body 105 of the UFD 100.
FIGURES 3A and 3B are presented for two purposes. First, the USB receptacles 150a, 150b may be offset from one another, perhaps in two dimensions (e.g., along the semimajor and minor axes of the body 105) as illustrated to increase the likelihood that the user plugs the hosted memory device (not shown) into the appropriate USB receptacle. Of course, the USB receptacles 150a, 150b may be located proximate anywhere on the body 105 as may be advantageous for a particular embodiment.
Second, visible directional indicia 310, 320 may be located on the body to aid the user in determining which USB receptacle 150a, 150b to use to affect a user data transfer in a desired direction. The visual directional indicia 310, 320 of FIGURES 3A and 3B happen to take the form of bold, linear arrows pointing toward and away from the center of the UFD 100. The visual directional indicium 310 indicates that the USB receptacle 150b is for getting files, and the visual directional indicium 320 indicates that the USB receptacle 150a is for giving files. The visual directional indicia 310, 320, if used, may be glued to, embossed on or molded into the body 105 or applied to the body 105 in any conventional or later- developed way.
Though a single indicator lamp 135 is illustrated as being located on the body 105, this need not be the case. One or more indicator lamps 135 may be located on any surface or surfaces of the body 105, and may even constitute the visual directional indicia 310, 320 (e.g., arrow) , giving rise to illuminated, perhaps flashing, directional indicia. Those skilled in the pertinent art should understand that the body 105 may be of any, perhaps ornamental, shape. The body 105 certainly need not assume the highly rectangular, sharp-edged shape that is shown.
FIGURES 4A-4F together illustrate various plan and elevational views of an embodiment of a UFD 100 having dual USB receptacles 150a, 150b of a preordained directionality and a single USB plug 120 and constructed according to the principles of the invention. The embodiment of FIGURES 4A-4F is the same as that of FIGURES 3A and 3B; dual USB receptacles 150a, 150b recess into the second end (not referenced) of the body 105. FIGURE 4A is a head-on view of the second end. FIGURE 4B is a top plan view. FIGURE 4C is a head-on view of the first end from which, in this embodiment, projects the USB plug 120. FIGURES 4D, 4E and 4F are respective elevational, plan and elevational views taken respectively along lines 4D-4D, 4E-4E and 4F-4F. Because the embodiment of FIGURES 4A-4F has dual USB receptacles 150a, 150b, no configuration data are necessary to determine transfer direction; the receptacles 150a, 150b may be preordained as to their directionality. Configuration data may, however, be employed to determine file selectivity and/or indicator lamp behavior.
FIGURES 5A-5F together illustrate various plan and elevational views of an embodiment of a UFD 100 having dual USB receptacles 510 of a preordained directionality and a single USB plug 120 and constructed according to the principles of the invention. The embodiment of FIGURES 5A-5F differs from that of FIGURES 4A-4F in two respects . First, the dual USB receptacles 510 recess into opposing sides of the body 105 proximate the second end
(not referenced) . The USB receptacles 510 may simply be two conventional USB receptacles located back-to-back.
Alternatively, the USB receptacles may be embodied in a single, hollow structure, allowing one to peer into and through the structure. The single, hollow structure is likely to be less susceptible to clogging with debris, e.g., pocket lint, and easier to clean, e.g., by blowing air through the receptacle. Second, visual directional indicia 520, 530 take the form of bent arrows to reflect the fact that the USB receptacles are now on the sides of the body 105. FIGURE 5A is a head-on view of the second end. FIGURE 5B is a top plan view. FIGURE 5C is a head-on view of the first end from which, in this embodiment, projects the USB plug 120. FIGURES 5D, 5E and 5F are respective elevational, plan and elevational views taken respectively along lines 5D-5D, 5E-5E and 5F-5F.
As with the embodiment of FIGURES 4A-4B, because the embodiment of FIGURES 5A-5F has dual USB receptacles 150a, 150b, no configuration data are necessary to determine transfer direction; the receptacles 150a, 150b may be preordained as to their directionality. Again, configuration data may, however, be employed to determine file selectivity and/or indicator lamp behavior. A third USB receptacle (not shown) may be added to the UFD 100. The third USB receptacle may, for example, recess into the second end of the body. The third receptacle may be preordained, e.g., to support a bidirectional transfer of user data. Thus, a user may choose only to give, only to get or both give and get simply by selecting the USB receptacle to use for the transfer .
FIGURES 6A-6F together illustrate various plan and elevational views of an embodiment of a UFD 100 having a single USB receptacle of a configurable or preordained directionality and a single USB plug of a preordained or configurable directionality and constructed according to the principles of the invention. The embodiment of FIGURES 6A-6F differs from that of FIGURES 4A-4F in that a single USB receptacle 610 recesses into the second end (not referenced) of the body 105. FIGURE 6A is a head-on view of the second end. FIGURE 6B is a top plan view. FIGURE 6C is a head-on view of the first end from which, in this embodiment, projects the USB plug 120. FIGURES 6D, 6E and 6F are respective elevational, plan and elevational views taken respectively along lines 6D-6D, 6E-6E and 6F-6F. Because the embodiment of FIGURES 6A-6F has only a single USB receptacle 610, configuration data may be employed to determine transfer direction with respect to the USB receptacle 610 in addition to file selectivity and/or indicator lamp behavior. Of course, the USB receptacle 610 may have a preordained directionality, resulting in a UFD 100 that is capable of only giving, or only getting, files. Alternatively, the USB receptacle may be preordained to be bidirectional, resulting in a UFD that both gives and gets files.
In an alternative embodiment, the USB plug 120 can receive a hosted device, allowing user data (e.g., files) to be transferred therebetween. Of course, the hosted device needs a corresponding USB receptacle or an adapter to effect the USB connection. This may seem somewhat contrary to convention, since hosted devices typically plug into receptacles of host devices. However, nothing in the USB specification prevents a host device from plugging into a hosted device. In this embodiment, the USB receptacle 610 may be preordained to transfer user data in one direction, and the USB plug 120 may be preordained to transfer user data in the opposite direction when the UFD 100 is acting as a host. Alternatively, configuration data may determine the direction of user data transfer.
FIGURES 7A-7F together illustrate various plan and elevational views of an embodiment of a UFD 100 having dual USB receptacles 710a, 710b of a preordained directionality and a detachable gender adapter 720 and constructed according to the principles of the invention. FIGURE 7A is a head-on view of the second end. FIGURE 7B is a top plan view. FIGURE 7C is a top plan view of the detachable gender adapter 720. FIGURES 7D, 7E and 7F are respective elevational, plan and elevational views taken respectively along lines 7D-7D, 7E-7E and 7F-7F. The USB receptacles 710a, 710b may operate the same as the USB receptacles 150a, 150b when the gender adapter 720 is detached from the body 105; for example, they may be preordained as to directionality or configured by the user.
The illustrated embodiment of the gender adapter 720 is essentially a double-headed USB plug (plugs 730a, 730b) with a flange (shown, but not referenced) that acts as a stop and perhaps allows the gender adapter 720 to be positively latched to the body 105 in a conventional manner to inhibit inadvertent detachment. A tether (not shown) may couple the gender adapter 720 to the body 105, or the gender adapter 720 may be configured to have detents, dogs or catches that cooperatively engage the body 105 to securely hold it in place.
When the gender adapter 720 is plugged into a USB receptacle of the UFD 100 (e.g., the USB receptacle 710b), the UFD' s processor may automatically detect the presence of the gender adapter 720 using, for example, a pair of exposed contacts located on an inner surface of the USB receptacle 710b that are electrically bridged by the shield of a plug (e.g., the plug 730a) of the gender adapter 720 to complete a circuit. Upon automatically detecting the attachment of the gender adapter 720, the processor may assume that the UFD is being rigged to be hosted and accordingly reconfigure the port associated with the USB receptacle (e.g., the USB receptacle 710b).
FIGURE 8 illustrates a flow diagram of one embodiment of a method of operating a UFD having directional USB receptacles or plugs carried out according to the principles of the invention. The method begins in a step 810.
In a step 820, the power source is employed to provide power to the USB host controller, at which time the coupling of the hosted memory device is automatically recognized and a USB connection established therewith in accordance with existing USB standards.
In a step 830, the identity of the port (i.e., the corresponding USB receptacle) into which the hosted memory device was coupled is determined. In the specific embodiment of FIGURE 8, only two ports are involved: a "give" port and a "get port." Port identification already occurs as part of the recognition that takes place when a USB connection is established in accordance with existing USB standards.
If the port is identified as being the "give" port, a step 840 is carried out in which the control program in the UFD is automatically invoked to initiate an automatic giving of user data (e.g., at least one user file or folder) , either indiscriminately or perhaps in accordance with selection criteria reflected the configuration data. If, on the other hand, the port is identified as being the "get" port, a step 850 is carried out in which the control program in the UFD is automatically invoked to initiate an automatic getting of user data, either indiscriminately or perhaps in accordance with selection criteria reflected the configuration data. Irrespective of whether giving or getting takes place, a transfer of user data between the hosted memory device (via the USB host controller) and the nonvolatile main memory of the UFD begins. In a step 860, the control program causes the processor to change the state of the indicator lamp
(perhaps from off to blinking) to indicate that a transfer has begun. In a step 870, the transfer of user data is completed, and the control program again causes the processor to change the state of the indicator lamp
(perhaps from blinking to off) . The method ends in an end step 880.
FIGURES 9A-9G together illustrate various plan and elevational views of an embodiment of a UFD having a single USB receptacle 910 of a configurable directionality and the detachable gender adapter 720 and constructed according to the principles of the invention. FIGURE 9A is a head-on view of the second end. FIGURE 9B is a top plan view. FIGURE 9C is a top plan view of the detachable gender adapter 920. FIGURES 9D, 9E and 9F are respective elevational, plan and elevational views taken respectively along lines 9D-9D, 9E-9E and 9F-9F.
Because the embodiment of FIGURES 9A-9F has only a single USB receptacle 910, configuration data may be employed to determine transfer direction with respect to the USB receptacle 910 in addition to file selectivity and/or indicator lamp behavior. Of course, the USB receptacle 910 may have a preordained directionality, resulting in a UFD 100 that is capable of only giving, or only getting, files. Alternatively, the USB receptacle may be preordained to be bidirectional, resulting in a UFD that both gives and gets files.
When the gender adapter 720 is plugged into the USB receptacle 910, the UFD' s processor may automatically detect the presence of the gender adapter 720 as described in conjunction with FIGURES 7A-7F. FIGURE 10 is a block diagram of a representative operating system executable in the processor of FIGURE 1. Those skilled in the art of operating systems will be familiar with the overall structure of the operating system of FIGURE 10. The operating system of FIGURE 10 is appropriate for a relatively straightforward device, such as the UFD described herein. However, the operating system for the UFD 100 of FIGURE 1 need not follow the architecture of FIGURE 10. It may assume any architecture or level of complexity.
The operating system includes a micro-kernel 1010 that has a system call interface 1011, a file system 1012, device drivers 1013, a process control/memory management function 1014 and hardware control 1015. The operating system controls the operation of hardware 1020, including various of the components illustrated in FIGURE 1.
One or more applications 1030, including the automatic file transfer control program application described herein, makes calls to the micro-kernel 1010 by way of the system call interface 1011. The file system 1012 manages the location and transfer of files on the UFD and any hosted devices. To do so, the file system employs the device drivers 1013 which, to enable USB operation, implements a USB protocol stack typically including a USB Transparent Transport layer, a USB Bulk layer, a USB Control layer, a USB Root Hub layer and a USB Host Controller Driver layer.
In several embodiments, the UFD further includes a configuration program executable on a host device (e.g., the host device 210 of FIGURE 2) to allow a user to configure the configuration data contained in the
- 2< configuration memory (see FIGURE 1) of the UFD 100. FIGURE 11 illustrates a screen shot 1100 of a rudimentary configuration program that may be employed to configure a user-configurable embodiment of the UFD 100 of FIGURE 1. Before describing the screen shot 1100, it should be noted that the configuration program could be provided on a disk sold with the UFD 100 or, more advantageously, stored in the UFD itself, e.g., in the program memory 165 of FIGURE 1. In the latter case, the configuration program might appear as an executable (e.g., .com or . exe) file in the UFD when the UFD is coupled to the host device. The configuration program can then be executed off the UFD without the need for a separate disk.
Turning now to the screen shot 1100, under a title 1110, is a list of possible configuration settings (not separately referenced) . The user can select or deselect configuration settings by blackening or whitening bullets (also not separately referenced) located next to each of the configuration settings as shown. Those skilled in the art know that the spacebar or a mouse click can be used for blackening and whitening bullets.
The configuration settings illustrated in FIGURE 11 will be described with the understanding that they are merely examples of possible UFD functions. More or fewer configuration settings may be desired, depending upon how sophisticated or simple the UFD functions are to be for a given embodiment. The configuration settings are grouped into three groups: a GET FILES group 1120, a GIVE FILES group 1130 and a miscellaneous group 1140. The GET FILES and GIVE FILES groups 1120, 1130 and the upper configuration setting of the miscellaneous group 1140 pertain to the host mode. In the GET FILES group 1120, a user can first select
(via a configuration setting 1121) whether or not the UFD should get any files from the hosted memory device when the UFD is in host mode. If the user does not want the UFD to get any files, the bullet next to the configuration setting 1121 should be whitened; otherwise it should be blackened. Assuming, as shown, that the user wants the UFD to get files, he now can configure what files and how they should be stored on the UFD. Accordingly, the user can select (via a configuration setting 1122) whether the UFD should get only files that do not already exist on the UFD ("new files") or all files irrespective of their pre-existence on the UFD. Then the user can select (via a configuration setting 1123) whether the UFD should get files only from a folder on the hosted memory device named "Shared Files." This allows users to define a "Shared Files" folder on their UFDs from which files are shared. If the configuration setting 1123 is whitened, all files are transferred from the hosted memory device, irrespective of the folder in which they may be contained.
Then the user can decide how to store the received files on the UFD. The user can select (via a configuration setting 1124) whether a new subfolder should be created for the files or whether the files should be stored in the UFD' s root folder. The former allows files to be grouped by origin, making it easier to determine from whom a file was received. The latter results in a simpler folder structure. If the former is selected, the user can then select (via a configuration setting 1125) how to name the newly-created folders. Being a USB device, the hosted memory device (called "UFD" in the configuration setting 1125) has a logical name that it provides to the hosting UFD. That name can be used as the folder name, or the UFD can assign a unique name to the folder based upon some convention, perhaps an incrementing number. As is apparent from FIGURE 11, the user wants the UFD to get only new files and put them in a folder that the UFD assigns a unique name based upon some convention.
In the GIVE FILES group 1130, a user can first select (via a configuration setting 1131) whether or not the UFD should give any files to the hosted memory device when the UFD is in host mode. If the user does not want the UFD to get any files, the bullet next to the configuration setting 1131 should be whitened; otherwise it should be blackened. Assuming, as shown, that the user wants the UFD to give files, he now can configure what files and how they should be stored on the hosted memory device. Accordingly, the user can select (via a configuration setting 1132) whether the UFD should give only files from folders that have a "shared" permission, such as one named "Shared Files." Those skilled in the pertinent art are aware that modern operating systems, such as Microsoft® Windows® XP®, allow folders to be shared by setting a "shared" permission to those folders. Then the user can decide how to store the received files on the hosted memory device. The user can select
(via a configuration setting 1133) whether the UFD should put the files in a folder on the hosted memory device named "Shared Files," creating such a folder if it does not already exist. If the configuration setting 1133 is whitened, files are put in the root folder of the hosted memory device. Alternatively, the user can select (via a configuration setting 1134) whether a new subfolder should be created for the files. If the latter is selected, the user can then select (via a configuration setting 1135) how to name the newly-created folders. The UFD' s logical name can be used as the folder name, or the UFD can assign a unique name to the folder based upon some convention. As is apparent from FIGURE 11, the user wants the UFD to give files only from shared folders and put them in the root folder of the hosted memory device. In the miscellaneous group 1140, the user can select
(via a configuration setting 1141) whether, following completion of a user file transfer, the indicator lamp should be left on or turned off. The former provides a more positive indication of a successful transfer; the latter saves battery power. The user can select (via a configuration setting 1142) among other desired configurations that a particular embodiment may provide. As is apparent from FIGURE 11, the user wants the UFD to turn the indicator lamp off following a transfer. Upon exiting the configuration program, the configuration program saves the configuration settings to the configuration memory (see FIGURE 1), overwriting previous, perhaps factory, configuration settings.
FIGURE 12 illustrates a flow diagram of one embodiment of a method of operating a UFD having receptacles or plugs of configurable directionality carried out according to the principles of the invention. The method begins in a step 1210.
In a step 1220, the power source is employed to provide power to the USB host controller, at which time the coupling of the hosted memory device is automatically recognized in accordance with USB standards. In a step 1230, the control program is automatically invoked to cause the processor to read the configuration data from the configuration memory. In a step 1240, the control program causes the processor to initiate a selective transfer of user data between the hosted memory device
(via the USB host controller) and the nonvolatile main memory of the UFD in accordance with one or more selection criteria reflected in the configuration data.
Those selection criteria may be of any kind, including one or more specific filenames or folders or specified file attributes, file types or extensions, file sizes, file contents or ranges of any of these.
In a step 1250, the control program causes the processor to change the state of the indicator lamp (perhaps from off to blinking) to indicate that a transfer has begun. In a step 1260, the transfer of user data is completed, and the control program again causes the processor to change the state of the indicator lamp (perhaps from blinking to off) . The method ends in an end step 1270.
Those skilled in the art to which the invention relates will appreciate that other and further additions, deletions, substitutions and modifications may be made to the described embodiments without departing from the scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A UFD having a body and comprising: a nonvolatile main memory contained in said body; a Universal Serial Bus (USB) port coupled to said nonvolatile main memory and including a USB plug; a power source contained in said body; a USB host controller contained in said body, coupled to said nonvolatile main memory and powered by said power source; at least two USB receptacles coupled to said USB host controller; a program memory contained in said body and containing a control program; and a processor contained in said body, coupled to said nonvolatile main memory and said at least two USB receptacles via said USB host controller and configured to initiate a transfer of user data between said nonvolatile main memory and one of said at least two USB receptacles in accordance with said control program and of a directionality that is based on an identity of said one .
2. The UFD as recited in Claim 1 further comprising a configuration memory contained in said body and coupled to said processor, said transfer selectively in accordance with criteria reflected in configuration data stored in said configuration memory.
3. The UFD as recited in Claim 2 wherein said configuration data is user-configurable.
4. The UFD as recited in Claim 3 further comprising a configuration program executable on a host device configured to host said UFD to allow a user to configure said configuration data.
5. The UFD as recited in Claim 1 further comprising an indicator lamp coupled to said body and said processor.
6. The UFD as recited in Claim 1 further comprising at least one visual directional indicium located on said body and associated with said one.
7. The UFD as recited in Claim 6 wherein said at least one visual directional indicium comprises an indicator lamp coupled to said body.
8. The UFD as recited in Claim 1 wherein said USB plug is located on a first end of said body and said at least two USB receptacles are located proximate a second end of said body and distal from said first end.
9. A UFD having a body and comprising: a nonvolatile main memory contained in said body; a Universal Serial Bus (USB) port coupled to said nonvolatile main memory and including a USB plug; a power source contained in said body; a USB host controller contained in said body, coupled to said nonvolatile main memory and powered by said power source; a USB receptacle coupled to said USB host controller; a program memory contained in said body and containing a control program; a configuration memory contained in said body and containing configuration data; a processor contained in said body, coupled to said nonvolatile main memory and said USB receptacle via said USB host controller; and a configuration memory coupled to said processor, said processor configured to initiate a transfer of user data between said nonvolatile main memory and said USB receptacle in accordance with said control program and selectively in accordance with criteria reflected in said configuration data.
10. The UFD as recited in Claim 9 further comprising a configuration program executable on a host device configured to host said UFD to allow a user to configure said configuration data.
PCT/US2007/084066 2007-05-21 2007-11-08 Usb flash drive with selective file transfer WO2008143693A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75119607A 2007-05-21 2007-05-21
US11/751,196 2007-05-21

Publications (1)

Publication Number Publication Date
WO2008143693A1 true WO2008143693A1 (en) 2008-11-27

Family

ID=40032201

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/084066 WO2008143693A1 (en) 2007-05-21 2007-11-08 Usb flash drive with selective file transfer

Country Status (1)

Country Link
WO (1) WO2008143693A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2524848A (en) * 2014-04-03 2015-10-07 Kingston Digital Inc Smart USB modules and method of making

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963468B2 (en) * 2002-07-26 2005-11-08 Wistron Corp. Portable storage device
US20060069840A1 (en) * 2004-09-28 2006-03-30 Microsoft Corporation Universal serial bus device
US7152801B2 (en) * 2004-04-16 2006-12-26 Sandisk Corporation Memory cards having two standard sets of contacts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963468B2 (en) * 2002-07-26 2005-11-08 Wistron Corp. Portable storage device
US7152801B2 (en) * 2004-04-16 2006-12-26 Sandisk Corporation Memory cards having two standard sets of contacts
US20060069840A1 (en) * 2004-09-28 2006-03-30 Microsoft Corporation Universal serial bus device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2524848A (en) * 2014-04-03 2015-10-07 Kingston Digital Inc Smart USB modules and method of making
GB2524848B (en) * 2014-04-03 2018-12-05 Kingston Digital Inc System and Smart USB Device For Data Storage
US10251293B2 (en) 2014-04-03 2019-04-02 Kingston Digital, Inc. Smart USB modules and method of making

Similar Documents

Publication Publication Date Title
US20080109566A1 (en) Usb mass storage device interconnect module having automatic file transfer capability and method of operation thereof
JP5255703B2 (en) Firmware storage media with customized image
JP4551320B2 (en) Electronic flash memory external storage method and apparatus
JP4510359B2 (en) Multifunctional semiconductor memory device and method for starting host computer
CN107885679B (en) Integrated circuit storage device or method capable of realizing automatic operation
US7624233B2 (en) Portable storage device
US20060192772A1 (en) Data control pen device
JP6021152B2 (en) USB memory device
US7451262B2 (en) Removable memory storage device having a display
US7685375B2 (en) Protecting confidential information on portable storage media
JP2004206660A (en) Detachable device, control circuit, firmware program of control circuit, information processing method in control circuit and circuit design pattern
US7555588B2 (en) Computers having USB buses, methods of operation thereof and programs and information for use therewith
TWM243761U (en) Memory disk with wireless data transmitting and rceiving function
WO2008052214A2 (en) Pen drive having integral file transfer capability and method of operation thereof
JP2009510588A (en) Modular computing system
WO2008143693A1 (en) Usb flash drive with selective file transfer
TW201124873A (en) Management hub, method and computer readable medium containing program instructions for managing a plurality of drives in communication with a host
WO2016101166A1 (en) Usb storage device with configurable cloud spaces
TW200825693A (en) Portable device with real time clock and reset circuit
WO2008067114A1 (en) Pen drive having integral data processing and battery recharge capability
TW200428216A (en) USB device and installation method of driver
TW576973B (en) Method for managing space and information on inserted information storage device
TWI237264B (en) A multi-function semi-conductor storage device and method for booting a computer using thereof
TW591418B (en) Storage device for rapidly detecting the remaining memory capacity and the method thereof
JP4618559B2 (en) Communication system and peripheral device used therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07844984

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07844984

Country of ref document: EP

Kind code of ref document: A1