GB2465815A - A data access module allowing a host to access external devices via a card interface - Google Patents
A data access module allowing a host to access external devices via a card interface Download PDFInfo
- Publication number
- GB2465815A GB2465815A GB0902454A GB0902454A GB2465815A GB 2465815 A GB2465815 A GB 2465815A GB 0902454 A GB0902454 A GB 0902454A GB 0902454 A GB0902454 A GB 0902454A GB 2465815 A GB2465815 A GB 2465815A
- Authority
- GB
- United Kingdom
- Prior art keywords
- data
- access
- host device
- protocol
- access module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000013500 data storage Methods 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000012546 transfer Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 14
- 238000007639 printing Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 17
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1632—External expansion units, e.g. docking stations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G06F2003/0692—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1293—Printer information exchange with computer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A data access module 20 for providing a host device 10 (e.g. a mobile telephone) supporting a conventional memory card format, e.g. a secure digital (SD) format, with access to an external device 40, such as a memory, scanner (185), or printer (285). The data access module comprises a memory card interface 22, an external device access interface 24 and a controller 26. The controller is coupled to the memory card interface and the external device interface and generates a file structure information table in the memory card format based on properties of the external device, and to presents the table to the host so as to appear as (i.e. spoof) a conventional portable data storage device. The controller is further operable to convert data between the external device access protocol and the portable data storage protocol to allow the transfer of data between the external device and the host in response to data access requests from the host device based on the file structure information table.
Description
INTELLECTUAL
. .... PROPERTY OFFICE Application No. GB0902454.8 RTM Date:10 March 2009 The following terms are registered trademarks and should be read as such wherever they occur in this document: "SD", "SDHC", "USB", "MMC", "Bluetooth", "\Vi-Fi".
Intellectual Property Office is an operating name of the Patent Office www.ipo.gov.uk
S
TITLE OF THE INVENTION
EXTERNAL DEVICE ACCESS
BACKGROUND ART
The invention relates to methods and apparatus for accessing external devices via a conventional memory card slot in a host device. Example external devices include, an external memory / file store, a printer and/or a scanner, for example.
It is well known for a host device to access data stored on portable data cards.
For example, Secure Digital (SD) memory cards are often used for storing media files, e.g. video, image and music files, and other types of data, e.g., map data for satellite navigation devices, which can be accessed by the host device.
Figure 1 shows a schematic representation of a conventional SD card 2. The SD card 2 conforms to an industry standard form factor, having dimensions 32 mm x 24 mm x 2.1 mm, and has an industry standard connection configuration 4. Internally the SD card may be considered to comprise an interface controller 6 through which a host device may access data stored in a non-volatile memory 8. Conventional SD cards typically have memory sizes ranging from a few MB to perhaps around 4 GB. A variant on the SD format, the so-called SDHC (Secure Digital High Capacity) format provides capacities that may be several times higher.
Figure 2 schematically shows a conventional host device 10 having an SD card slot 12 for receiving a conventional SD card 2. The host device 10 comprises a card controller 14 and a central processor 16. The host device will be assumed here to be a portable music player. The music player 10 further includes a display 18 for displaying available music files, and a user interface (e.g. control buttons) 21 for receiving user input, e.g. to navigate and select from the available music files in an SD card memory.
Music files are stored on the SD card 2 in any of the usual ways, e.g. in MP3 format, having been copied to the card from a home computer. The SD card 2 is inserted into the card slot 12 of the host device 10. This establishes a connection between the card controller 14 of the host device and the interface controller 6 of the SD card. The card controller 14 senses the presence of the SD card 2 and
S
communicates this to the host device's central processor 16. The central processor 16 may then access files stored on the SD card 2 via the host device's card controller 14 and the interface controller 6 of the SD card 2. For example, the central processor 16 can obtain a listing of the music files available and the directory structure of the card for display to a user on the display 18. The user may then navigate the listing of available music files through the user interface 21 and select one for playback. The central controller may then retrieve the data corresponding to the selected music file from the memory 8 of the SD card 2 (again via the host device's card controller 14 and SD card's interface controller 6). A music playback component of the host device (not shown in Figure 2) may then play the selected music file to the user in the conventional way.
Data in the memory 8 of the SD card 2 are stored in accordance with a defined SD file format structure (file system specification). The host device 10 is configured (through the functionality of its central processor 16 and card controller 14) to access the data in accordance with a defined SD communication protocol. (Further information on the defined SD standards can be found in the various published specifications, for example in "SD Specifications: Part I -Physical Layer, Simplified Specification, Version 2.00, September 25, 2006", published by the SD Group.) In very broad summary, the defined SD storage and access protocols are in some respects similar to hard disk storage and access protocols (for historical reasons).
Thus data access with SD cards is generally based on requests for data from particular memory locations (e.g. particular blocks / cylinders) which are associated with a desired file. The associations between files and memory locations are defined by a file structure table. Depending on the formatting of the SD card, data access may be based on a file allocation table (FAT) files system or a New Technology File System
(NTFS), for example.
There are clearly many advantages of portable data storage cards, such as SD cards. For example, a user can readily change the data he wishes to use with a host device just by switching cards. The high level of standardization also allows easy swapping of data between different host device, e.g. between a portable media player and a more permanently installed media player, e.g. a home television or stereo system with SD card support.
Nonetheless, portable data storage cards and the host devices that support them suffer some drawbacks.
For example, portable data storage cards are of limited capacity. A conventional "large" SD card might have around 4GB of storage. This is comparable to the amount of space that might typically be required to store a single movie film. An SD card having a movie stored thereon, e.g. in an MPEG format, may be inserted into a host device capable of playing the relevant movie format and the movie may be watched accordingly.
However, to watch another movie, the user needs to either have another SD card with the other movie stored thereon, or needs to overwrite the original movie, e.g. by transferring a file from a source location (e.g. a hard disk or the Internet) of their main home computer to the SD card, and then reinsert the SD card back into the host device. Not only is it frustrating to have to manually manage the files available to the host device in this way, it can also take a significant amount of time to do so. For example, it might take several tens of minutes to copy the data from the source location to the SD card.
Furthermore, in many cases a host device may only support a particular card format, whereas a user may prefer to use another format. For example, a host device might have a conventional FAT format SD card but a user may prefer to use a linux formatted USB memory device (e.g. because that is more suitable for use with his home computer). In these cases the user wishing to access data on a linux formatted USB memory device must first convert the data to a FAT formatted SD card. This is inconvenient.
There is therefore a need for methods and apparatus for providing more flexible access to data for host devices configured to access data on portable data storage cards, such as SD cards and its variants.
SUMMARY OF THE INVENTION
According to a first aspect of the invention there is provided an access module for providing a host device with access to an external device, the access module comprising: a memory card interface conforming to a portable data storage protocol used by the host device; an external device interface conforming to an external device access protocol used by the external device; and a controller coupled to the memory card interface and to the external device interface, wherein the controller is operable to generate a file structure information table in a format conforming to the portable data storage protocol based on properties of the external device and to present the file structure information table to the host device so that the access module appears to the host device as a conventional portable data storage device, and wherein the controller is fUrther operable to convert data between the external device access protocol and the portable data storage protocol so as to allow the transfer of data between the external device and the host device in accordance with their respective protocols in response to data access requests from the host device based on the file structure information table.
Thus a host device which might otherwise not support access to certain types of external device may be provided with such access through a convention memory card interface.
The data access requests from the host device may be requests to retrieve data via the memory card interface of the access module or requests to send data via the memory card interface of the access module.
The external device may, for example, be an external memory. The external memory may be a remote file store, in which case the external device access protocol may be a wireless network access protocol, a wireless network access protocol, and/or a Bluetooth protocol, for example.
In other examples where the external device is an external memory, the memory may a local memory device. In such cases the external device access protocol may be a Universal Serial Bus (USB) access protocol, for example.
The external device access protocol may be based on a server message block (SMB) file sharing protocol, a hypertext transfer protocol (HTTP) for file sharing, or a file transfer protocol (FTP) for file sharing, for example.
In accordance with embodiments of the invention examples the external device may be a document scanner.
In such embodiments the controller may be operable to include an indication of a spoof data file in the file structure information table presented to the host device, and in response to receiving a request from the host device to access the data file may further be operable to communicate with the scanner to obtain scanned image data in accordance with the external device access protocol, and to forward the scanned image data to the host device in accordance with the portable data storage protocol. This provides a simple mechanism for a user to initiate a scan.
in some cases the controller may be operable to include indications of a plurality of spoof data files in the file structure information table presented to the host device, and in response to receiving a request from the host device to access a selected one of the spoof data files may be further operable to communicate with the scanner to obtain scanned image data in accordance with the external device access protocol and having parameters dependent on which spoof data file was selected for access by the host, and to forward the scanned image data to the host device in accordance with the portable data storage protocol. This provides a simple mechanism for a user to initiate a scan having selected parameters, e.g. resolution and size.
The controller may in some examples be operable to receive and store scanned image data from the scanner, and to update the file structure information table to include an indication of a data file comprising the stored scanned image data, and is further operable to provide the scanned image data to the host device in accordance with the portable data storage protocol in response to receiving a request from the host device to access the data file. This allows scans instigated by the scanner to be made available to the host device.
In accordance with other embodiments of the invention examples the external device may be a printer.
In such cases the controller may be operable to receive data from the host device in accordance with the portable data storage protocol and to forward the data to the printer in accordance with the external device access protocol for printing.
The controller is further operable to update the file structure information table to include an indication of a spoof data file for the data received from the host device. This
S
may be helpful, for example, if there is a concern the host device might think an error has occurred if the data sent to what the host thinks is a conventional memory card does not appear in the file structure information table presented by the data access module.
In some cases the external device might be both a scanner and a printer.
The portable data storage protocol may be a Secure Digital (SD) protocol e.g. the "basic" SD protocol, or a variant, such as a mini-or micro-SD card protocol, or high capacity variants of any of any of these. This format is particularly useful because many types of host device utilise SD memory cards. In other embodiments the portable data storage protocol may be a Universal Serial Bus (USB) protocol.
According to a second aspect of the invention there is provided an apparatus comprising a host device coupled to a data access module according to the first aspect of the invention. The host device may, for example, be selected from a group comprising a portable media player, a home media player, a television, a video-media recorder, a stereo system, a digital photograph display, a printer, a personal data assistant, a mobile telephone, a vehicle navigation system, a personal computer, a digital camera and a digital video camera.
According to a third aspect of the invention there is provided a method for providing a host device with access to data in an external device, the method comprising: providing a memory card interface conforming to a portable data storage protocol used by the host device; providing an external device interface conforming to an external device access protocol used by the external device; and generating a file structure information table in a format conforming to the portable data storage protocol based on properties of the external device presenting the file structure information table to the host device so that the access module appears to the host device as a conventional portable data storage device, and converting data between the external device access protocol and the portable data storage protocol so as to allow the transfer of data between the external device and the host device in accordance with their respective protocols in response to data access requests from the host device based on the file structure information table.
According to another aspect of the invention there is provided a data access module for providing a host device with access to data in an external memory, the data access module comprising: a card interface conforming to a portable data storage protocol used by the host device; an external memory interface conforming to an external memory access protocol used by the external memory; and a controller coupled to the card interface and to the external memory interface and operable to obtain file information for data in the external memory via the external memory interface in accordance with the external memory access protocol, to convert the file information to a file structure information format conforming to the portable data storage protocol, and to present the converted file information to the host device via the card interface.
The controller may be operable to then convert between the portable data storage protocol and the external memory access protocol such that a host device using the portable data storage protocol is able to access data in the external memory through the data access module.
The external memory may be a remote file store, e.g. on a network or accessible by Bluetooth, or a local memory, e.g. a USB memory device.
Thus in accordance with embodiments of the invention a host device that might not support direct access to the external memory is nonetheless able to access data in the external memory, e.g. via a network, through the data access module. Because the data access module is operable to generate the file structure information from the data in the external memory for presentation to the host in a format conforming to the portable data storage protocol of the host, the host device and the external memory may be wholly conventional. That is to say, no modification of the host device is necessary as the use of the data access module to access the external memory may be completely transparent to the host device. So far as the host device is concerned, the external memory / file store appears as a local memory of a conventional memory card conforming to the portable data storage protocol used by the host device. The host device is able to access the data in the external memory, e.g. to get file information / directory listings, and to retrieve data from and write data to the external memory using the portable data storage protocol in, so far as the host device concerned, the usual way.
Thus the controller may be operable to receive a data access request to retrieve data from the host device in accordance with the portable data storage protocol, to retrieve the data from the external memory in accordance with the external memory access protocol, and to supply the retrieved data to the host device in accordance with the portable data storage protocol.
The controller also may be operable to receive a data access request to write data to the external memory from the host device in accordance with the portable data storage protocol, to receive the data from the host device in accordance with the portable data storage protocol, and to supply the received data to the external memory in accordance with the external memory access protocol.
Thus the host device may be provided with comprehensive data access to all aspects of the file store. In some cases, however, the data access module might not support all types of data access. For example, in some embodiments the controller might not be operable to allow the host device to write data to the file store, e.g. to preserve the integrity of data in the file store. In these cases the data access module may in effect appear to the host device as a "read-only" memory card. The ability of the data access module to support data-writing to the network file store might be switchable, e.g. using a mechanical or firmware switch similar to those used in conventional memory cards.
The portable data storage protocol may be a Secure Digital (SD) protocol, e.g. the "basic" SD protocol, or a variant such as a mini-or micro-SD card protocol, or high capacity variants of any of any of these. This format is particularly useful because many types of host device utilise SD memory cards, but do not otherwise support network access. For example SD card slots are found in many types of device such as portable media players, home media players, televisions, video-media recorders, stereo systems, digital photograph displays ("digital photo-frames"), printers, personal data assistants (PDAs), mobile telephones, vehicle navigation systems, personal computers, digital cameras, digital video cameras etc., Embodiments of the invention may be used in accordance with these types of host device, for example. Other formats could equally used, for example the Multi-media card (MIvIC), Memory Stick (MS and MS Duo), or xD Picture cards formats, and their variants, could be used. In other embodiments the data access module may be tailored to still other portable data storage protocols, such as the Universal Serial Bus (USB) protocol.
The external memory may be a remote file store. For example, the external memory may be a networked file store and the external memory access protocol may be a wireless network access protocol or a wired network access protocol. In another example, the remote file store access protocol may be a Bluetooth protocol.
Thus the external memory access protocol may be a wireless network access protocol. For example the external memory interface may be a conventional network interface, e.g. comprising a conventional wi-fl connection of the kind frequently used in portable (laptop) computers. A wireless network access protocol is expected to be considered by most users to be the most convenient. However, for an external memory comprising a networked file store, the network access protocol may alternatively be based on a wired network access protocol. For example, the network interface of the module may comprise a conventional RJ45 socket for a wired Ethernet connection with appropriate connection driving functionality.
The network access protocol may, for example, be based on a conventional server message block (SMB) file sharing protocol, a conventional hypertext transfer protocol (HTTP) for file sharing, or a conventional file transfer protocol (FTP) for file sharing.
Other techniques could equally used, e.g. with protocols based on trivial file transfer protocol (TFPT), bittorrent transfers, simple mail transfer protocol (SMTP), or Secure Shell (SSH), e.g. tunnelling FTP over a SSH connection.
Alternatively, the external memory may be a local memory device, e.g. a local hard drive or different format memory card, e.g. an NTFS or linux format USB memory stick where the host is a FAT format SD card (or FAT format USB or other type of memory card). Thus the external memory access protocol in some embodiments may be a Universal Serial Bus (USB) access protocol.
The data access module may further comprise a memory for storing the file information converted to the file structure format conforming to the portable data storage protocol. This allows the data access module to readily present the host device with a listing of the files available on the file store.
According to a another aspect of the invention there is provided an apparatus comprising a host device coupled to a data access module according to the previous aspect of the invention. As noted above, the host device may, for example, be a portable media player, a home media player, a television, a video-media recorder, a stereo system, a digital photograph display, a printer, a personal data assistant, a mobile telephone, a vehicle navigation system, a personal computer, a digital camera and/or a digital video camera.
-10 -According to a another aspect of the invention there is provided a method for providing a host device with access to data in an external memory, the method comprising: providing a card interface conforming to a portable data storage protocol used by the host device; providing an external memory interface conforming to an external memory access protocol used by the network; obtaining file information for data in the external memory via the external memory interface in accordance with the external memory access protocol, converting the file information to a file structure information format conforming to the portable data storage protocol; and presenting the converted file information to the host device via the card interface.
The method may further comprise converting communications between the card interface and the external memory interface between the respective portable data storage protocol and the external memory access protocol.
Thus is accordance with embodiments of the invention there is provided a data access module for providing a host device with access to data in an external memory, e.g. a file store of a network.
In examples the data access module may comprise a card interface conforming to a portable data storage protocol used by the host device; a network interface conforming to a network access protocol used by the network; and a controller operable to obtain file information for data in the file store via the network interface in accordance with the network access protocol, to convert the file information to a file structure information format conforming to the portable data storage protocol, and to present the converted file information to the host device via the card interface, wherein the controller is further operable to receive a data access request from the host device in accordance with the portable data storage protocol, to retrieve corresponding data from the file store in accordance with the network access protocol, and to supply the retrieved data to the host device in accordance with the portable data storage protocol.
In accordance with embodiments of the invention there is also provided a method for providing a host device with access to data in an external memory, such as a file store of a network, comprising: obtaining file information for data in the file store via a network interface in accordance with a standard network access protocol used by the network; converting the file information to a file structure information format conforming to a portable data storage protocol used by the host device;
S
presenting the converted file information to the host device via a card interface conforming to the portable data storage protocol; and converting subsequent data access requests and data transfers between the portable data storage protocol used by the host device and the network access protocol used by the network to thereby provide the host device with access to the file store of the network.
S
-12 -
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the invention and to show how the same may be carried into effect reference is now made by way of example to the accompanying drawings in which: Figure 1 schematically shows a conventional Secure Digital (SD) portable data storage card; Figure 2 schematically shows a conventional host device configured to receive a conventional SD card and access data stored thereon; Figure 3 schematically shows an access module according to first embodiment of the invention; Figure 4 schematically shows the access module of Figure 3 in use in a host device to provide wireless access to data stored on a networked device; Figure 5 schematically shows an access module according to another embodiment of the invention; Figure 6 schematically shows the access module of Figure 5 in use in a host device to provide wired access to data stored on a networked device.
Figure 7 schematically shows an access module according to another embodiment of the invention; Figure 8 schematically shows the access module of Figure 7 in use in a host device to provide access to an external memory in the form of a USB memory device; Figure 9 schematically shows an access module according to another embodiment of the invention; Figure 10 schematically shows the access module of Figure 9 in use in a host device to provide access to a scanner; Figure 11 schematically shows an access module according to another embodiment of the invention; and Figure 12 schematically shows the access module of Figure 11 in use in a host device to provide access to a printer. -13-
DETAILED DESCRIPTION
Figure 3 schematically shows a data access module 20 according to first embodiment of the invention. The module 20 is for providing a host device (not shown in Figure 3) with access to data in a file store of a network (also not shown in Figure 3).
The data access module comprises a card interface 22, a network interface 24 and a controller 26 coupled between the two interfaces 22, 24. The card interface 22 conforms to a standard portable data storage protocol. In this example the card interface 22 conforms to a standard Secure Digital (SD) card protocol / format. The network interface 24 conforms to a standard network access protocol. In this example the network interface 24 conforms to a conventional networking protocol (e.g. TCP/IP) based wireless network protocol.
In broad summary, the controller 26 is operable to convert communications, e.g., file structure information, data access requests and data, between the standard portable data storage protocol of the card interface 22 and the standard network access protocol of the network interface 24. This allows a host device to receive the data access module 20 in a conventional slot for the standard portable data storage protocol (i.e. in this example a conventional SD memory card slot), and to communicate with the data store of the network as if it were a local memory of a conventional memory card operating in accordance with the conventional portable data storage protocol used by the host device.
The host device is thus in effect blind to the network access aspect of the data access module, and is able to simply communicate with the network file store via the data access module in accordance with the relevant protocol, e.g. the SD card protocol. In this regard the data access module may be considered to provide a fictitious (spoof) SD card that may be accessed by the host device as if it were a real memory card.
The data access module can thus allow a host device that is unable to access a network directly, but which supports a standard memory card format, to access data files on the network through its memory card slot using its standard protocol, i.e. without any modification to the host device.
The module may be generally constructed in accordance with the principles of conventional peripheral device card construction. For example, it may be based on an appropriately sized printed circuit board with appropriate circuitry, e.g. a -14 -microcontroller and associated elements for providing the below-described functionality. The circuit board and circuitry may furthermore be encased in a plastic housing with appropriate external connection points I electrodes, e.g. corresponding to the relevant memory card format (and network access connections in embodiments based on wired network connections).
The card interface 22 of the data access module 20 comprises both a physical aspect and a functional aspect.
The physical aspect is provided by a section of the data access module 20 having a shape conforming to the SD card physical form factor (32 mm x 24 mm x 2.1 mm), and including a conventional SD card configuration of connection electrodes 28.
This physical aspect of the card interface 22 allows the data access module to be inserted into a conventional SD card slot in a host device.
The functional aspect of the card interface 22 is provided by an SD data interface element (SDDI) 30. The SDDI 30 is operable to manage communications with a host device in accordance with the SD card communication format as explained further below. The SDDI 30 and the controller 26 are shown separately in Figure 3 for the purposes of explanation. In practice the combined functionality of these two elements will generally be provided by a single functional element, e.g. an appropriately programmed microcontroller, field programmable gate array, or an application specific integrated circuit.
The network interface 24 of the data access module 20 comprises a wireless network transceiver. This is arranged to allow the controller 26 of the data access module 20 to access a wireless network, e.g. a Wi-Fi Local Area Network (LAN), in broad'y conventional manner. For example, the network interface 24 may be based on the type of wireless interface commonly used in laptop and portable computers and conforming to one of the 802.11 standards.
Thus the controller 26 of the data access module 20 is operable to communicate with a host device via the card interface 22 and with a network via the network interface 24.
Figure 4 schematically shows the data access module 20 of Figure 3 in use in a host device to provide the host device with access to data in a network file store 40.
S -15-
In this example the host device is assumed to be the same conventional portable music player 10 as shown in Figure 2. Thus the host device 10 comprises a conventional SD card slot 12 into which the data access module 20 is inserted, a card controller 14, a central processor 16, a display 18 for displaying available music files to a user, and a user interface (e.g. control buttons) 20 for receiving user input, e.g. to navigate and select from the available music files. All aspects of the host device are completely conventional.
In this example the file store is assumed to be a hard disk of a computer 44.
The computer 44 is connected to a wireless router 46 of a LAN, as is common place.
All aspects of the file store 40, the computer 44 and its LAN connection are completely conventional.
When the module 20 is inserted into the host device 10, the host device responds as it would normally do when a conventional SD memory card had been inserted. Thus the host device 10 supplies power to the module 20 through the conventionally arranged electrode connections 28 and begins communicating with the module. When powered-up on insertion, the SDDI 30 of the module 20 is configured to present itself to the host device as a conventional SD memory card. Thus the SDDI and the host device 10 (primarily via its card controller 14) communicate with one another to perform, so far as the host device is concerned, a fully-conventional SD card initialization sequence of the type usually performed to mount an SD memory card to provide the central processor 16 of the host device with access to the data stored in the SD card memory.
However, during the initialization sequence, the controller 26 of the module 20 also communicates with the computer 44 via the wireless network interface 24 and wireless router 46 to obtain file information for the data available on the network.
Typically the network accessible data will be organized into a public folder of the computer's hard disk 40. Thus the controller obtains file information for the files available over the network. The controller 26, via its network interface 24, requests the file information and receives it from the computer over network in accordance with the conventional network protocols for the implementation at hand. For example, the controller can obtain the file information in the same way as a conventional laptop -16-computer with wireless network access might obtain this information when connecting to a network.
In general, the format of file information retrieved from the network by the controller will not correspond with the format of file information expected by the host device from an SD card. For example, a conventional SD card will typically present a host device with file structure information in a format that provides a look-up table relating available files to addresses of memory blocks where the respective files are stored, e.g. in accordance with a file allocation table. However, file information served by a network file store to the network will generally be in the form of a listing of available files (including any directory path information and other associated information, e.g. file size, access privileges), and not specific memory locations.
Thus the controller 26 is operable to convert the file information from the format associated with the network access protocol to the format associated with the portable storage card format, i.e. in this example the SD card format. This is achieved in this example by generating a correspondence table between the files available to the data access module from the network and fictitious memory addresses that are to be presented to the host device in a file information structure table in accordance with the SD card format. For example, the file information retrieved by the network might indicate a file called "XYZ" and having a size of 4 MB is available. The controller may then determine how many memory blocks in the standard SD card address format this file size corresponds with, and allocate addresses for that many blocks to the file "XYZ" in the correspondence table. The same may be done for the other network accessible files. The file information correspondence table is then stored in a memory of the data access module. The controller then generates a file information structure table in accordance with the SD card format. The file information structure table specifies the available files and the corresponding "fake" memory addresses associated with the files in the correspondence table. The file information structure table is passed to the SDDI 30, and presented to the host device via the card interface connections in accordance with the standard SD card protocols.
Thus at the end of the initialization step, the data access module 20 presents itself to the host device JO as a conventional SD card storing the files defined in the -17 -file information structure table derived by the controller for the files available from the network.
The host device may then be operated in the usual way depending on the nature of the device. For example, in this example the host device may display the available files to a user on the display 18, and receive user input, e.g. to navigate the files, via the user interface 21. If a user selects a file to be read from the memory and played back, the host device sends a request to the data access module 20 via the card controller 14 to retrieve the data. This is done by the host device as if the data access module were a conventional SD card, i.e. in accordance with the usual SD card protocols. For an SD card format, the request for data will, in broad summary, be a request for the SD card to provide data from specified memory blocks. That is to say, the host device will request the relevant memory blocks for the desired file based on the file structure information table.
The request for data is received by the SDDI 30 and passed to the controller 26. The controller 26 refers to the stored file information correspondence table to determine the file associated with the requested memory blocks. The controller then requests this file from the network file store 40 via the network interface 24. This request for the relevant data is made by the data access module in accordance with the standard network access protocol for the implementation at hand. I.e. in the same way as any network element, such as a laptop computer, may request files from a remote file store on a network. The file store receives the request from the data access module and serves the requested file in the usual way, e.g. using a packet-based transfer scheme. The controller is operable to convert the data received from the network via the network interface 24 in the format defined by the network access protocol to the format expected by the host device in accordance with the relevant portable data storage protocol, e.g. here a format based on memory blocks. The controller is then operable to forward the converted data to the host device via the card interface 22 in a manner conforming to the SD card protocols. The central processor 16 of the host device 10 thus receives the data (via the card controller 14), and may process it accordingly, e.g. to play it as a music track.
S -18-
In this way the host device is provided with read access to the file store on the network via its SD card slot. Furthermore, this is achieved with the host device operating in a completely conventional manner.
It may be noted that broadly similar principles may applied in reverse to provide the host device 10 with write access to the network file store 40. For example, the data access module 50 could route the data to be written from the host to the network (with appropriate format conversion) and correspondingly update the correspondence table between the files available to the data access module from the network, and the fictitious memory addresses that are to be presented to the host device in the file information structure table based on the newly written data.
In some cases a host device may be able only to "see" a certain size of memory on the memory card, e.g. the maximum provided for in the portable data storage protocols when the host was manufactured. Thus the memory access module may be operable to present only a subset of the data available in the external memory to the host device.
In another example, the memory access module may be configured to trick the host into providing access to an amount of data that is greater than the maximum provided for by the portable data storage protocols. For example, suppose a host can only handle an SD memory card having a size of 4 GB. An external memory, e.g. a networked file store, may store, for example, ten movie files each having a size of 3 GB each. The data access module may thus be configured to generate a file structure information table for the host device which lists all ten movie files, but attributes each a nominal memory size, e.g., 1 kB. Thus the host can "see" all ten files, and allow a user to navigate them to select one. Once a user selects a file, the full 3 GB can then be transferred to the host. In many cases it will not be possible to do this straight away (because the host will only expect the nominal amount of memory to be transferred, and not the full 3 GB).
However, on receipt of the request for the selected file, the data access module may be operable to update the file information structure table presented to the host to indicate the selected file as having its correct 3 GB size. The other nine files may, for example, be indicated as still having only a nominal size, or may be removed from the listing. In some cases a host may not be able to handle on-the-fly changes in the file information structure table. The data access module may thus be configured to temporarily shut down
S -19-
communications with the host so the card appears to have been removed, and then re-establish communications so that it appears a new memory card has been inserted. The host will re-initialise its card access system and will receive a new file structure information. This new file structure information may then present the previously selected file as having its correct size so that a user can re-select it for use.
Figures 5 and 6 are in many respects similar to and will be understood from Figures 3 and 4, but show a data access module 50 according to another embodiment of the invention. The data access module 50 of Figures 5 and 6 differs from the data access module 20 of Figures 3 and 4 in the manner in which the data access module accesses the network. In particular the data access module 50 of Figures 5 and 6 is configured to access the network using a wired connection. In this example the data access module 50 is connected directly to an Ethernet connection of the computer 44 via a conventional Ethernet cable 56. Thus a network interface 54 of the data access module 50 comprises a conventional RJ45 Ethernet socket, and the controller 26A is operable to access the network in accordance with a conventional Ethernet-based network access protocol. The remaining elements of Figures 5 and 6 are similar to and will be understood from the correspondingly numbered elements of Figures 3 and 4.
Apart from the difference in network connection technology (i.e. wired as opposed to wireless), the data access module 50 of Figures 5 and 6 may operate in broadly the same manner as descried above for the data access module 20 of Figures 3 and 4.
In other examples the communication between a data access module according to an embodiment of the invention and a remote file store may be based on other communication technologies, e.g. the communication may be based on the Bluetooth standard.
It will be appreciated that the file store could be any memory device, and need not necessarily be a hard disk of a general purpose computer. For example, the file store might be implemented within a games console on the network, or might be a stand-alone network accessible storage device. In some cases there may be multiple separate file stores available on the network. These may all be accessed as described above and, for example, organized into separate directories in the file information structure generated by the controller and presented to the host device. Directories may be named according to the network name of the file store(s) (or the computer(s) with
S
which they are associated). E.g. a user might have two computers on his home wireless network which are named "DeskPC" and "Laptop". The file structure information generated by the controller 26 to present to the host device to define the contents of the fictional SD card that may thus comprise two top level directories. Namely a first directory called "DeskPC" (for the public files available on the computer named "DeskPC") and a second directory called "Laptop" (for the public files available on the computer named "Laptop").
The above descriptions have focussed on proving access to a remote external memory (file store), e.g. in a wired or wireless network, or in accordance with the Bluetooth protocols. However, embodiments of the invention may also be used to provide access to a local memory, such as local hard drive or memory pen operating according to a different format than is required by the host device. For example, the host may support an SD format memory card, but a user may wish to use a USB-accessible local hard drive or memory pen / stick. In another example, the host may support a conventional FAT-based USB memory card format, but a user may wish to use a differently formatted USB memory, e.g. a linux or NTFS format. In such circumstances it will be appreciated that generation of spoof file structure information as described above can again be used to fool the host into accessing external memory operating in accordance to different access protocols from those supported by the host.
For example, Figures 7 and 8 show a data access module 80 in accordance with an embodiment of the invention for allowing a host supporting an SD card format interface to access a local USB memory, in this case a conventional USB memory pen 85. Figures 7 and 8 are in many respects similar to and will be understood from Figures 3 and 4 (and Figures 5 and 6). The data access module 80 of Figures 7 and 8 differs from the data access module 20 of Figures 3 and 4 and the data access module of Figures 5 and 6 in the manner in which the data access module accesses the external memory. In particular the data access module 80 of Figures 7 and 8 is configured to access a local USB memory pen. This the external memory interface 84 of the data access module includes a convention USB socket 82 to receive a USB plug, e.g. on the end of a memory pen or on a wire to a local hard disk. The controller 26B is operable to access the USB memory in accordance with the conventional USB memory access protocol. The remaining elements of Figures 7 and 8 are similar to and -21 -will be understood from the correspondingly numbered elements of Figures 3 to 6.
Apart from the difference in the nature of the external memory (i.e. local as opposed to remote), the data access module 50 of Figures 7 and 8 may operate in broadly the same manner as descried above for the data access modules of Figures 3 to 6. Embodiments of the invention such as shown in Figures 7 and 8 may be particularly useful where a user wishes the host 10 to communicate with a local memory device which is not formatted in accordance with the memory card format supported by the host.
The above examples have primarily described the application of embodiments of the invention to provide host devices with access to a local or networked external memory I file store via a conventional memory card slot of the device. It will be appreciated, however, that an external memory is merely an example of one class of external device that may used in accordance with embodiments of the invention. Other embodiments of the invention may provide an access module for providing a host device with access to other kinds of external device, e.g. a printer or a scanner, via a conventional portable data storage slot of the host. I.e. embodiments of the invention may be used to provide access to external devices that are not external memory devices. Thus a host device may be provided with access to an external device which the host device might otherwise not be able to communicate with. As with the above examples focussing on the specific example of providing the host device with access to an external device which is an external memory, in embodiments for providing a host with access to other types of external device, this may be achieved without modification to the host. In broad summary this may be achieved by an external device access module presenting itself to a host device as a conventional file store, and communicating data with an external device (i.e. sending to or receiving from) using appropriate protocols for the external device based on access requests made by the host device to the spoof file store presented by the access module.
Figure 9 schematically shows an access module 180 according to another embodiment of the invention. The module 180 is for providing a host device (not shown in Figure 9) with access to a conventional document scanner (also not shown in Figure 9). Many of the general aspects of the access module 180 shown in Figure 9 are similar to and will be understood from corresponding aspects of the access modules according to other embodiments of the invention which are described herein.
-22 -The access module comprises a card interface 122, a scanner interface 184 and a controller 126 coupled between the two interfaces 122, 184. The card interface 122 conforms to a standard portable data storage protocol. In this example the card interface 122 conforms to a standard Secure Digital (SD) card protocol / format. The scanner interface 184 conforms to a standard scanner access protocol. The scanner interface 184 in this embodiment is based on a conventional USB connection employing conventional scanner driver protocols (which may be generic or specific to the scanner with which the access module is intended to be used).
The scanner interface 184 comprises both a physical aspect and a functional aspect. Thus the scanner interface 184 comprises a USB socket 182 and appropriate functional control circuitry (not separately shown in Figure 9). The functional aspect of the scanner interface 184 will in general be implemented within the same circuit element as the controller 126, but a separate interface chip may equally be used.
In broad summary, the controller 126 is operable to communicate with a scanner coupled to the scanner interface 184 to obtain an image file representing a scanned document which is provided by the scanner in the usual way (i.e. the controller 126 is configured to run driver software appropriate for the scanner being used). Thus in this regard the controller 126, via the scanner interface 184, is operable to provide the same functionality as a conventional computer in so far as communicating with the scanner is concerned. To the extent the scanner with which the access module is to be used operates according to a proprietary protocol, as opposed to a generic scanner protocol, the controller / scanner interface may be configured as appropriate for the specific scanner protocol to be used.
In addition to being operable to receive a scanned image file from the scanner via the external device interface 184, the controller is further operable to generate a spoof file information table conforming to the protocol of the card interface 122 (i.e. in this example the SD card format). Thus, and much as described above for embodiments based on accessing an external memory, the access module 180 appears to a host device as a conventional memory card. Data associated with a scanned image from the scanner may be represented in the file information table generated by the access module so as to appear to the host device as a conventional file stored in the memory of an SD memory -23 -card. The host device may then access, e.g. read the file, in accordance with the conventional portable data storage protocol of the card interface 122.
The host device is thus in effect blind to the scanner access aspect of the access module, and is able to obtain scanned images from the scanner via the access module in accordance with the relevant protocol, e.g. the SD card protocol. In this regard the access module may be considered to provide a fictitious (spoof) SD card that may be accessed by the host device as if it were a real memory card storing an image file(s) from the scanner. The access module can thus allow a host device that is unable to access a scanner directly, but which supports a standard memory card format, to access a scanner to obtain scanned image data files through its conventional memory card slot using its standard protocol, i.e. without any modification to the host device (or the scanner).
The module may be generally constructed in accordance with the principles of conventional peripheral device card construction. For example, the functionality of aspects of the module may be provided by a suitably programmed general purpose processor / microcontroller, an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA), for example. Thus in one example the access module might be based on an appropriately sized printed circuit board with appropriate circuitry, e.g. a microcontroller and associated elements for providing functionality described herein. The circuit board and circuitry may furthermore be encased in a plastic housing with appropriate external connection points / electrodes, e.g. corresponding to the relevant memory card format and external access connections (e.g. a conventional USB socket) for connection to an external device.
As with the scanner interface 184, the card interface 122 of the access module 180 comprises both a physical aspect and a functional aspect. The physical aspect is provided by a section of the access module having a shape conforming to the SD card physical form factor (32 mm x 184 mm x 12.1 mm), and including a conventional SD card configuration of connection electrodes 128. This physical aspect of the card interface 122 allows the access module to be inserted into a conventional SD card slot in a host device.
The functional aspect of the card interface 122 is provided by an SD data interface element (SDDI) 130. The SDDJ 130 is operable to manage communications
S
-24 -with a host device in accordance with the SD card communication format as explained further below. The SDDI 130 and the controller 126 are shown separately in Figure 9 for the purposes of explanation. In practice the combined functionality of these two elements will generally be provided by a single functional element, e.g. an appropriately programmed microcontroller, field programmable gate array, or an application specific integrated circuit.
Thus the controller 126 of the access module 180 is operable to communicate with a host device via the card interface 122 and with a scanner via the scanner interface 184.
Figure 10 schematically shows the access module 180 of Figure 9 in use in a host device 110 to provide the host device with access to data in a scanner 185. The scanner may be of any conventional kind and is connected to the access module via a conventional USB lead connection 186 inserted into the USB socket 1 82 of the access module. The scanner is schematically represented in Figure 10 as a conventional flat-bed scanner, but in other example different formats of scanner may be used, e.g. a portable "business card scanner" type of scanner may be used.
In this example the host device is assumed to be a conventional mobile telephone 110 having an SD card slot 112 for receiving a conventional SD card. The host device 110 comprises a card controller 114 and a central processor 116. The host device 110 also includes an internal memory 117. The host 110 further includes a display 118 and a user interface (e.g. telephone keypad and ancillary control buttons) 121 for receiving user input, e.g. to navigate and select from files stored on an inserted SD card memory or the internal memory 117. All aspects of the host device are completely conventional.
As shown in Figure 10, the access module 180 is inserted into the SD card slot 112. When the module 180 is inserted into the host device 110, the host device responds as it would normally do when a conventional SD memory card had been inserted. Thus the host device 110 supplies power to the module 180 through the conventionally arranged electrode connections 128 and begins communicating with the module. When powered-up on insertion, the SDDI 130 of the module 180 is configured to present itself to the host device as a conventional SD memory card. Thus the SDDI 130 and the host device 10 (primarily via its card controller 14) -25 -communicate with one another to perform, so far as the host device is concerned, a fully-conventional SD card initialization sequence of the type usually performed to mount an SD memory card to provide the central processor 116 of the host device with access to the data stored in the SD card memory. As part of the initialization sequence, and as discussed above, the access module provides the host with spoof file structure information based on a spoof file information table which, so far as the host is concerned, is in accordance with the conventional SD protocol.
However, the access module is configured to appear to the host an SD card containing a file with an arbitrary name and of a type and size according to the type of file generated by the scanner. For example, if the scanner generates jpeg files having a size 40 kB, the access module may present itself as conventional memory card storing a 40 kB file named "scan.jpg". Thus the file information table indicates a file called "scan.jpg" and having a size of 40 kB is available to the host.
A user wishing to obtain a scanned image for their mobile telephone using the access module and scanner may thus insert a document to be scanned into the scanner in the usual way. The host device may be operated by a user in the usual way to select the spoof file "scan.jpg". In response to the user selecting this file, the host device sends a request to the access module 180 via the card controller 114 to retrieve the data associated with the file. This is done by the host device as if the access module were a conventional SD card, i.e. in accordance with the usual SD card protocols. For an SD card format, the request for data will, in broad summary, be a request for the SD card to provide data from specified memory blocks. That is to say, the host device will request the relevant memory blocks for the desired file based on the file structure
information table.
On receiving the request from the host device for the file "scan.jpg", the access module is operable to communicate with the scanner to obtain a scan in accordance with the conventional scanner access protocols (e.g. driver commands). The scanned image file is thus obtained in accordance with the scanner access protocol by the access module in, at least so far as the scanner is concerned, the usual way. The access module is then operable to convert the image data to a format appropriate for the memory card protocol, and to supply the image data to the host device in accordance with this format. Thus in response to the user selecting the file "scan.jpg", the host device retrieves a "live" scan -26 -from the scanner. This may be stored in the mobile phone's internal memory 117 (e.g. in the same way that a file may be conventionally copied from a conventional SD card to a host's internal memory. Thus when the access module is removed from the host device, a copy of the scanned image is retained.
Thus in accordance with embodiments of the invention a host device may be provided with the ability to obtain images from a scanner using a conventional memory card slot. For example, a user with a conventional business card scanner may thus be provided with the ability to scan and store business cards using only a mobile phone with a conventional memory card slot, e.g. an SD card as described above, an SD variant (such as a micro SD card slot), or any other standard format (with an appropriately configured controller / storage card interface).
It will be appreciated that in some cases a scanner may be operable to provide scans with different properties, e.g. with low o high resolution, or in colour or black and white. In this case the access module may be configured to populate the file information table presented to the host with multiple spoof files corresponding to different types of scan that may be obtained. For example, if the scanner is operable to provide low and high resolution images in either color or grayscale, the access module may present differently named files to the host device for the user to select from. For example there may be four files named "lowres colour.jpg", "lowres gray.jpg", "highres colour.jpg", "highres gray.jpg" (with each file presented as having a size appropriate for the type of scan with which it is associated). The user may then select the type of scan desired by selecting the corresponding file. The controller may then communicate with the scanner as appropriate to obtain a scan having the desired properties according to the spoof file selected by the user. For example, if the user selects "lowres colour.jpg" from the spoof file listing provided to the host by the access module, the controller may respond to this by sending an appropriately configured request to the scanner in accordance with the conventional scanner access protocol for the scanner at hand.
In some cases with embodiments in which the scan is obtained in "real time" in response to a user selecting a corresponding file from those presented by the access module to the host, the delay in obtaining the file may cause the host device to "time out". In this case the user may simply re-request the file after a short delay to allow more time for the scanner to obtain and send the image file to the access module.
-27 -In other examples the scanned image my not be obtained directly in response to the host device requesting access to the appropriate file presented by the access module, but may instead be pre-obtained.
For example, the access module may be configured so that in response to the module being inserted into a host / powered up, the module obtains a scan (by communicating with the scanner in accordance with the relevant scanner access protocol), and stores the resulting image file locally in a memory of the access module with a filename that is presented to the host device in the file structure information table.
The host device may then retrieve the previously obtained scan in accordance with the relevant conventional card interface protocol to access the image file / data obtained from the scanner.
In another example, the controller of the access module may not instigate the scan, but may wait for the scanner itself to do so. For example, the scanner may operate such that a user inserts a document to be scanned, and then presses a "scan" button on the scanner to start scanning, or the scanner starts automatically on having a document inserted. In this case the access module is operable to receive the scanned image data file from the scanner in the same way that a conventional computer would (i.e. the scanner does not "know" it is not sending the data to a conventional computer. On receiving the image data may be stored locally in a memory of the access module with a filename that is presented to the host device in the file structure information table. The host device may then retrieve the image data (scan) in accordance with the relevant conventional card interface protocol.
It will be appreciated the data access module need not initially include any particular file(s) in the initial file structure information presented to the host. Thus in another embodiment the initially generated file structure information table may be such that the access module appears to the host device as a conventional memory card without any files stored on it. However, the file structure information table may then be updated when a scan has become available, e.g. because a scanner-instigated scan has been performed with corresponding image data having been passed to the data access module.
The access module may thus obtain the image data from the scanner via its scanner access interface and store the image data in a memory of the access module. The image data may be assigned a filename, e.g. a predefined name or a name based on the time
S
-28 -and/date of the scan, and the file structure information presented to the host updated accordingly. The host may then retrieve the "new" file in the same manner as described above.
Another situation where it may be helpful to provide for an updating file structure information table to be presented to the host is where the data size for the scan is not known in advance (e.g. because it is not known how efficient any compression may be).
Thus the data access module may initially present the host with file structure information indicating a file "scan.jpg" of arbitrary size is stored on the card. If the user operated the host device to request this file a scan may be instigated in the manner described above.
Once the scan is performed and the image data received at the data access module, the module may then update the file structure information table to reflect the actual size of the file. The user may then re-operate the host device to request the file whereupon it may be transferred to the host device. This can be useful, for example, where the host could not handle a situation in which the actual image file to be retrieved is not the same size in memory as it was indicated as being in the file structure information table.
Some host devices may be unable to react to a file structure information table that changes in this way. Thus in some examples, when the file structure information presented to the host is to be updated, the access module may be configured to temporarily shut down communications with the host so the module appears to have been removed, and then re-establish communications so that it appears to the host a new memory card has been inserted. The host device will then undergo a new initialisation procedure during which the access module may present the updated file structure information.
Figure 11 schematically shows an access module 280 according to another embodiment of the invention. The module 280 is for providing a host device (not shown in Figure 11) with access to a conventional document printer (also not shown in Figure ii). Many of the general aspects of the access module 280 shown in Figure 11 are similar to and will be understood from corresponding aspects of the access modules according to other embodiments of the invention described herein.
The access module comprises a card interface 222, a printer interface 284 and a controller 226 coupled between the two interfaces 222, 284. The card interface 222 conforms to a standard portable data storage protocol. In this example the card interface
S
-29 - 222 again conforms to a standard Secure Digital (SD) card protocol / format. The printer interface 284 conforms to a standard printer access protocol. The printer interface 284 in this embodiment is based on a conventional USB connection employing conventional printer driver protocols (which may be generic or specific to the printer with which the access module is intended to be used).
The printer interface 284 comprises both a physical aspect and a functional aspect. Thus the printer interface 284 comprises a USB socket 282 and appropriate functional control circuitry (not separately shown in Figure 1 1). The functional aspect of the printer interface 284 will in general be implemented within the same circuit element as the controller 226, but a separate interface chip may equally be used.
In broad summary, the controller 226 is operable to communicate with a printer coupled to the printer interface 284 to send an image file to be printed in the usual way (i.e. the controller 226 is configured to run driver software appropriate for the printer being used). Thus in this regard the controller 226, via the printer interface 284, is operable to provide the same functionality as a conventional computer in so far as communicating with the printer is concerned. To the extent the printer with which the access module is to be used operates according to a proprietary protocol, as opposed to a generic printer protocol, the controller / printer interface may be configured as appropriate for the specific printer protocol to be used.
In addition to being operable to send an image file to a printer via the external device interface 284, the controller is further operable to generate a spoof file information table conforming to the protocol of the card interface 222 (i.e. in this example the SD card format). Thus, and much as described above for embodiments based on accessing an external memory or obtaining a scanned image file, the access module 280 appears to a host device as a conventional memory card.
As with the printer interface 284, the card interface 222 of the access module 280 comprises both a physical aspect and a functional aspect. The physical aspect is provided by a section of the access module having a shape conforming to the SD card physical form factor (32 mm x 284 mm x 12.1 mm), and including a conventional SD card configuration of connection electrodes 228. This physical aspect of the card interface 222 allows the access module to be inserted into a conventional SD card slot in a host device.
-30 -The functional aspect of the card interface 222 is provided by an SD data interface element (SDDI) 230. The SDDI 230 is operable to manage communications with a host device in accordance with the SD card communication format. The SDDI 230 and the controller 226 are shown separately in Figure 11 for the purposes of explanation. In practice the combined functionality of these two elements will generally be provided by a single functional element, e.g. an appropriately programmed microcontroller, field programmable gate array, or an application specific integrated circuit.
Thus the controller 226 of the access module 280 is operable to communicate with a host device via the card interface 222, and with a printer via the printer interface 284.
Figure 12 schematically shows the access module 280 of Figure 11 in use in a host device 110 to provide the host device with access to a printer 285. The printer may be of any conventional kind and is connected to the access module via a conventional USB lead connection 286 inserted into the USB socket 282 of the access module. In this example the host device is again assumed to be a conventional mobile telephone 110, for example the same telephone as shown in Figure 10.
In use the access module 280 is inserted into the SD card slot 112. When the module 280 is inserted into the host device 110, the host device responds as it would normally do when a conventional SD memory card had been inserted. Thus the host device 110 supplies power to the module 280 through the conventionally arranged electrode connections 228 and begins communicating with the module. When powered-up on insertion, the SDDI 230 of the module 280 is configured to present itself to the host device as a conventional SD memory card. Thus the SDDI 230 and the host device 10 (primarily via its card controller 14) communicate with one another to perform, so far as the host device is concerned, a fully-conventional SD card initialization sequence of the type usually performed to mount an SD memory card to provide the central processor I 16 of the host device with access to the SD card memory. As part of the initialization sequence, and as discussed above, the access module provides the host with spoof file structure information based on a spoof file information table which, so far as the host is concerned, is in accordance with the conventional SD protocol.
The access module is configured to appear to the host as an empty SD card. A user wishing to print an image stored on their mobile telephone, e.g. in internal memory 117, using the access module and printer may simply operate the host device to copy the image data to the access module (i.e. to what appears to the host device to be a conventional memory card). In response to the user selecting a file to copy to the fictitious memory card, the host device sends the file data to the access module 280 via its card controller 114. This is done by the host device as if the access module were a conventional SD card, i.e. in accordance with the usual SD card protocols.
On receiving the image data from the host device via the card interface 222, the controller 226 of the access module 280 is operable to convert the image data into a format suitable for passing to the printer 285 for printing, and to communicate with the printer in accordance with the printer access protocol to send the image data to the printer for printing. The access module is also configured to update the file structure information table so as to appear to the host device as if the image data has been copied normally to a conventional memory card. Thus in response to the user selecting a file to copy from the host device to the apparently conventional memory card provided by the access module, the image data comprising the file are sent to the printer for printing. This file may or may not also be stored temporarily in a memory of the access module Thus in accordance with embodiments of the invention, a host device may be provided with the ability to send images to a printer via a conventional memory card slot. The host device is thus in effect blind to the printer access aspect of the access module, and is able to simply send printed images to the printer via the access module in accordance with the relevant protocol for its memory card slot, e.g. the SD card protocol.
In this regard the access module may be considered to provide a fictitious (spoof) SD card that may be accessed by the host device as if it were a real memory card to which image an image file(s) from the printer. The access module can thus allow a host device that is unable to access a printer directly, but which supports a standard memory card format, to access a printer to print image data files through its conventional memory card slot using its standard protocol, i.e. without any modification to the host device (Or the printer).
-32 -Thus as described above, an access module in accordance with embodiments of the invention to facilitate communications between a host device having only a simple memory card interface and an external device, such as an external memory / file store, a scanner, or a printer, for example. What is more, this may achieved without any modification to the host device or the external device.
It will also be appreciated that while the above description has focussed on an SD card based implementation of the invention, the invention is also applicable to other formats of portable storage device, for example the Multi-media card (MMC), Memory Stick (MS and MS Duo), or xD Picture cards formats, or any of their variants, could be used. Other embodiments may similarly be based on a USB host memory card format, e.g. a FAT format, for example to allow a host to access a networked external memory / file store or a local external memory, such as a USB hard drive or memory pen formatted in a different manner (e.g. with an NTFS or a linux format), and so otherwise inaccessible to the host. Different host format protocols can be implemented simply by configuring the card interface aspect of the data access module accordingly.
Thus there has been described a data access module for providing a host device (e.g. a portable media player) supporting a conventional memory card format, e.g. a Secure Digital (SD) format, with access to data in an external memory, e.g. a networked / remote file store or a local memory device, e.g. a USB based device. The data access module comprises a card interface conforming to the memory card format used by the host device, an external memory interface conforming to an external memory access protocol used by the external memory, and a controller. The controller is coupled to the card interface and to the external memory interface and is operable to obtain file information for data in the external memory via the external memory interface in accordance with the external memory access protocol, to convert the file information to a file structure information format conforming to the portable data storage protocol, and to present the converted file information to the host device via the card interface. The controller is further operable to convert between the portable data storage protocol and the external memory access protocol such that a host device using the portable data storage protocol is able to access data in the external memory through the data access module. Thus a host device which might otherwise not support network access is provided with access to a network file store via a convention memory card interface.
S
-33 -There has also been described an access module for providing a host device (e.g. a mobile telephone) supporting a conventional memory card format, e.g. a Secure Digital (SD) format, with access to an external device, such as a memory, scanner, or printer.
The data access module comprises a memory card interface conforming to the memory card format used by the host device, an external device access interface conforming to an access protocol used by the external device, and a controller. The controller is coupled to the memory card interface and the external device interface and is operable to generate a file structure information table in the format of the memory card based on properties of the external device, and to present the information table to the host so as to appear as a conventional portable data storage device. The controller is further operable to convert data between the external device access protocol and the portable data storage protocol to allow the transfer of data between the external device and the host device in accordance with their respective protocols in response to data access requests from the host device based on the file structure information table. Thus a host device which might otherwise not support access to certain types of external device is provided with such access through a convention memory card interface.
Claims (28)
- S-34 -CLAIMS1. An access module for providing a host device with access to an external device, the access module comprising: a memory card interface conforming to a portable data storage protocol used by the host device; an external device interface conforming to an external device access protocol used by the external device; and a controller coupled to the memory card interface and to the external device interface, wherein the controller is operable to generate a file structure information table in a format conforming to the portable data storage protocol based on properties of the external device, and to present the file structure information table to the host device so that the access module appears to the host device as a conventional portable data storage device, and wherein the controller is further operable to convert data between the external device access protocol and the portable data storage protocol so as to allow the transfer of data between the external device and the host device in accordance with their respective protocols in response to data access requests from the host device based on the file structure information table.
- 2. A data access module according claim I, wherein the external device is an external memory.
- 3. A data access module according to claim 2, wherein the external memory is a remote file store.
- 4. A data access module according to claim 2 or 3, wherein the external device access protocol is a wireless network access protocol.
- 5. A data access module according to claim 2 or 3, wherein the external device access protocol is a wired network access protocol.-35 -
- 6. A data access module according to claim 2 or 3, wherein the external device access protocol is a Bluetooth protocol.
- 7. A data access module according to claim 2, wherein the external memory is a local memory device.
- 8. A data access module according to claim 7, wherein the external device access protocol is a Universal Serial Bus (USB) access protocol.
- 9. A data access module according to any of claims 2 to 8, wherein the external device access protocol is based on a server message block (SMB) file sharing protocol.
- 10. A data access module according to any of claims 2 to 8, wherein the external device access protocol is based on a hypertext transfer protocol (HTTP) for file sharing.
- 11. A data access module according to any of claims 2 to 8, wherein the external device access protocol is based on a file transfer protocol (FTP) for file sharing.
- 12. A data access module according claim 1, wherein the external device is a document scanner.
- 13. A data access module according to claim 12, wherein the controller is operable to include an indication of a spoof data file in the file structure information table presented to the host device, and in response to receiving a request from the host device to access the data file is further operable to communicate with the scanner to obtain scanned image data in accordance with the external device access protocol, and to forward the scanned image data to the host device in accordance with the portable data storage protocol.
- 14. A data access module according to claim 13, wherein the controller is operable to include indications of a plurality of spoof data files in the file structure information table presented to the host device, and in response to receiving a request from the host device to access a selected one of the spoof data files is further operable to communicate with -36 -the scanner to obtain scanned image data in accordance with the external device access protocol and having parameters dependent on which spoof data file was selected for access by the host, and to forward the scanned image data to the host device in accordance with the portable data storage protocol.
- 15. A data access module according to claim 13, wherein the controller is operable to receive and store scanned image data from the scanner, and to update the file structure information table to include an indication of a data file comprising the stored scanned image data, and is further operable to provide the scanned image data to the host device in accordance with the portable data storage protocol in response to receiving a request from the host device to access the data file.
- 16. A data access module according claim 1, wherein the external device is a printer.
- 17. A data access module according to claim 16, wherein the controller is operable to receive data from the host device in accordance with the portable data storage protocol and to forward the data to the printer in accordance with the external device access protocol for printing.
- 18. A data access module according to claim 17, wherein the controller is further operable to update the file structure information table to include an indication of a spoof data file for the data received from the host device.
- 19. A data access module according to any preceding claim, wherein the data access request from the host device is a request to retrieve data via the memory card interface of the access module.
- 20. A data access module according to any preceding claim, wherein the data access request from the host device is a request to send data via the memory card interface of the access module.S-37 -
- 21 A data access module according to any of claims 1 to 20, wherein the portable data storage protocol is a Secure Digital (SD) protocol.
- 22. A data access module according to any of claims I to 20, wherein the portable data storage protocol is a Universal Serial Bus (USB) protocol.
- 23. An apparatus comprising a host device coupled to a data access module according to any preceding claim.
- 24. An apparatus according to claim 23, wherein the host device is selected from a group comprising a portable media player, a home media player, a television, a video-media recorder, a stereo system, a digital photograph display, a printer, a personal data assistant, a mobile telephone, a vehicle navigation system, a personal computer, a digital camera and a digital video camera.
- 25. A method for providing a host device with access to data in an external device, the method comprising: providing a memory card interface conforming to a portable data storage protocol used by the host device; providing an external device interface conforming to an external device access protocol used by the external device; and generating a file structure information table in a format conforming to the portable data storage protocol based on properties of the external device presenting the file structure information table to the host device so that the access module appears to the host device as a conventional portable data storage device, and converting data between the external device access protocol and the portable data storage protocol so as to allow the transfer of data between the external device and the host device in accordance with their respective protocols in response to data access requests from the host device based on the file structure information table.
- 26. A data access module substantially as hereinbefore described with reference to Figures 3 to 12 of the accompanying drawings.S-38 -
- 27. An apparatus comprising a host device and a data access module substantially as hereinbefore described with reference to Figures 3 to 12 of the accompanying drawings.
- 28. A method for accessing data in an external device of an external device substantially as hereinbefore described with reference to Figures 3 to 12 of the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0821736.6A GB0821736D0 (en) | 2008-11-27 | 2008-11-27 | Data access |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0902454D0 GB0902454D0 (en) | 2009-04-01 |
GB2465815A true GB2465815A (en) | 2010-06-02 |
Family
ID=40230964
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB0821736.6A Ceased GB0821736D0 (en) | 2008-11-27 | 2008-11-27 | Data access |
GB0902454A Withdrawn GB2465815A (en) | 2008-11-27 | 2009-02-13 | A data access module allowing a host to access external devices via a card interface |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB0821736.6A Ceased GB0821736D0 (en) | 2008-11-27 | 2008-11-27 | Data access |
Country Status (1)
Country | Link |
---|---|
GB (2) | GB0821736D0 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410469A1 (en) * | 2010-07-19 | 2012-01-25 | SmarDTV S.A. | Adaptor for connection of a host device to a digital communication network |
US11093144B1 (en) * | 2020-02-18 | 2021-08-17 | EMC IP Holding Company LLC | Non-disruptive transformation of a logical storage device from a first access protocol to a second access protocol |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074529A1 (en) * | 2001-10-11 | 2003-04-17 | Henri Crohas | Bulk storage method and system and autonomous portable bulk storage unit used in such a system |
US20050005041A1 (en) * | 2003-03-07 | 2005-01-06 | C-One Technology Corporation | Storage medium adapting interface device |
US20050036034A1 (en) * | 2003-08-15 | 2005-02-17 | Rea David D. | Apparatus for communicating over a network images captured by a digital camera |
WO2005062248A1 (en) * | 2003-12-18 | 2005-07-07 | Sandisk Corporation | Multi-module circuit card with inter-module direct memory access |
US20060015676A1 (en) * | 2004-07-15 | 2006-01-19 | Hiromichi Oribe | Semiconductor storage device |
US20080016312A1 (en) * | 2006-07-12 | 2008-01-17 | Tyler Thorp | Method for Managing Data on Removable Storage Devices in an Electronic Library |
US20080195797A1 (en) * | 2007-02-13 | 2008-08-14 | Itay Sherman | Interface for extending functionality of memory cards |
-
2008
- 2008-11-27 GB GBGB0821736.6A patent/GB0821736D0/en not_active Ceased
-
2009
- 2009-02-13 GB GB0902454A patent/GB2465815A/en not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074529A1 (en) * | 2001-10-11 | 2003-04-17 | Henri Crohas | Bulk storage method and system and autonomous portable bulk storage unit used in such a system |
US20050005041A1 (en) * | 2003-03-07 | 2005-01-06 | C-One Technology Corporation | Storage medium adapting interface device |
US20050036034A1 (en) * | 2003-08-15 | 2005-02-17 | Rea David D. | Apparatus for communicating over a network images captured by a digital camera |
WO2005062248A1 (en) * | 2003-12-18 | 2005-07-07 | Sandisk Corporation | Multi-module circuit card with inter-module direct memory access |
US20060015676A1 (en) * | 2004-07-15 | 2006-01-19 | Hiromichi Oribe | Semiconductor storage device |
US20080016312A1 (en) * | 2006-07-12 | 2008-01-17 | Tyler Thorp | Method for Managing Data on Removable Storage Devices in an Electronic Library |
US20080195797A1 (en) * | 2007-02-13 | 2008-08-14 | Itay Sherman | Interface for extending functionality of memory cards |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410469A1 (en) * | 2010-07-19 | 2012-01-25 | SmarDTV S.A. | Adaptor for connection of a host device to a digital communication network |
WO2012010414A1 (en) | 2010-07-19 | 2012-01-26 | Smardtv S.A. | Adapter for connecting a host device to a digital communication network |
US11093144B1 (en) * | 2020-02-18 | 2021-08-17 | EMC IP Holding Company LLC | Non-disruptive transformation of a logical storage device from a first access protocol to a second access protocol |
Also Published As
Publication number | Publication date |
---|---|
GB0902454D0 (en) | 2009-04-01 |
GB0821736D0 (en) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7414746B2 (en) | Image data communication method | |
US8280975B2 (en) | Image supply apparatus and imaging apparatus, an information processing apparatus and control method thereof, and communication system | |
CN100594720C (en) | Portable communication apparatus, print system, and control method thereof | |
TW522721B (en) | Image information obtaining method, image information transmitting apparatus and image information transmitting system | |
US7746495B2 (en) | Image reading device and image processing method utilizing the same | |
US8072640B2 (en) | Recording system and controlling method therefor | |
US8312179B2 (en) | Method and apparatus for enabling enhanced USB interaction | |
US20110122434A1 (en) | Image forming apparatus and method of controlling wireless network connection in the apparatus | |
US20100281424A1 (en) | System and Method for Virtual Kiosk Stored Photo-image Reproduction | |
CN103716488A (en) | Information processing device | |
US8284425B2 (en) | External device document input and output device and external device document input and output method | |
US20070201073A1 (en) | Image supply device, printing apparatus, and printing system | |
US20110116124A1 (en) | Image reading apparatus and scanning method | |
JP4349391B2 (en) | Image display system | |
GB2465815A (en) | A data access module allowing a host to access external devices via a card interface | |
JP2001333363A (en) | Device, system and method for information communication | |
JP2002305677A (en) | Digital camera | |
US20100280992A1 (en) | System and Method for Photo-image Uplink Confirmation | |
EP1898306A1 (en) | Method and apparatus for variably enabling USB interaction | |
US20080109520A1 (en) | Communication device | |
JP2000326592A (en) | Image input/output device | |
JP4377981B2 (en) | Multi-function system, input device and control method thereof | |
JP2005352898A (en) | Information recording apparatus and control method thereof | |
KR101348765B1 (en) | Image forming apparatus and image forming method | |
JP2004213487A (en) | Card type device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |