U.S. patent application number 12/255989 was filed with the patent office on 2009-04-16 for portable data transfer and mass storage device for removable memory modules.
This patent application is currently assigned to SMDK CORP.. Invention is credited to Michael S. Battaglia, Offie Lee Drennan.
Application Number | 20090100217 12/255989 |
Document ID | / |
Family ID | 22530325 |
Filed Date | 2009-04-16 |
United States Patent
Application |
20090100217 |
Kind Code |
A1 |
Battaglia; Michael S. ; et
al. |
April 16, 2009 |
Portable Data Transfer and Mass Storage Device for Removable Memory
Modules
Abstract
A hand-held battery powered device for transferring data between
one or more flash memory modules and a mass storage device. The
device includes one or more slots to accept a flash memory module
into a housing which includes fixed or removable mass storage
device and logic circuitry disposed within the housing for
transferring data between the flash memory module and mass storage
device. Ports are disclosed for transferring data from the resident
mass storage device to the user's computer.
Inventors: |
Battaglia; Michael S.;
(Naples, FL) ; Drennan; Offie Lee; (Naples,
FL) |
Correspondence
Address: |
BANNER & WITCOFF, LTD.
1100 13th STREET, N.W., SUITE 1200
WASHINGTON
DC
20005-4051
US
|
Assignee: |
SMDK CORP.
Bonita Springs
FL
|
Family ID: |
22530325 |
Appl. No.: |
12/255989 |
Filed: |
October 22, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10629905 |
Jul 30, 2003 |
7457527 |
|
|
12255989 |
|
|
|
|
09149448 |
Sep 9, 1998 |
6658202 |
|
|
10629905 |
|
|
|
|
Current U.S.
Class: |
711/103 ;
711/E12.008 |
Current CPC
Class: |
H04N 2201/0087 20130101;
H04N 1/2158 20130101; H04N 1/2166 20130101 |
Class at
Publication: |
711/103 ;
711/E12.008 |
International
Class: |
G06F 12/02 20060101
G06F012/02 |
Claims
1. An apparatus comprising: a housing configured to be held in the
palm of a user's hand and including a memory input port configured
to receive a removable digital camera memory module having at least
one digital data structure; a mass storage device configured to:
receive and store image data from the digital camera memory module,
have at least one gigabyte of storage, and be accessible to
transfer the image data to a computer; a user interface configured
to receive user input to initiate a copy operation, wherein the
copy operation copies image data from the digital camera memory
module to the mass storage device; processing circuitry configured
to: control the transfer of data stored in the digital camera
memory module inserted into the memory input port to the mass
storage device, initiate the copy operation in response to the user
interface receiving user input, verify that the copy operation has
been correctly performed, and change a name associated with the at
least one digital data structure; a display device configured to
display the image data; and an output interface configured to
transfer the image data stored in the mass storage device to the
computer, and be compatible with an interface of the computer,
wherein the apparatus is configured to transfer data between the
removable digital camera memory module to the computer.
2. The apparatus of claim 1, wherein said processing circuitry is
further configured to reformat the digital camera memory module
inserted into said memory input port to place the digital camera
memory module into a state where it can be reused in a digital
camera for picture capture.
3. The apparatus of claim 1, wherein the output interface includes
a USB interface configured to communicate with the mass storage
device to transfer picture image data to the computer, further
wherein the processing circuitry is configured to power down upon
detecting more than a predetermined idle time.
4. The apparatus of claim 1, wherein the processing circuitry is
configured to verify that the copy operation has been correctly
performed by determining whether the image data stored in the
digital camera memory module conforms with a standard format.
5. The apparatus of claim 1, wherein the mass storage device is a
removable hard drive.
6. The apparatus of claim 1, wherein the mass storage device is a
hard drive, further wherein the apparatus is configured to receive
digital image data from the computer.
7. The apparatus of claim 1, wherein the processing circuitry is a
RISC-based processor operable to edit image-related data.
8. The apparatus of claim 7, wherein the processing circuitry is
configured to delete files on the digital camera memory module.
9. The apparatus of claim 7, wherein the display device is
configured to display a preview of a video image prior to transfer
to the mass storage device.
10. The apparatus of claim 1, wherein the mass storage device is
removable.
11. The apparatus of claim 1, wherein the user interface comprises
a single button configured to initiate the copy operation.
12. An apparatus comprising: A housing configured to be held in the
palm of a user's hand and including a flash memory insertion
section configured to receive a flash memory module having at least
one data structure, a mass storage device contained within the
housing and configured to: receive and store data from the flash
memory module, be accessible to transfer the data to a computer,
and have at least one gigabyte of storage; a user interface
configured to change a name associated with the data structure in
response to user input; a processor contained within the housing
configured to: control the transfer of data stored in the flash
memory module to the mass storage device, and change a name
associated with the data structure in response to input received by
the user interface; a display device configured to display data
relating to the contents of the flash memory module, wherein the
processor is further configured to control the display of data on
the display device enabling a user to preview the data in a preview
mode; and an output interface configured to transfer data stored in
the mass storage device to the computer, be compatible with an
interface of the computer, wherein the apparatus is configured to
transfer data between the flash memory module to the computer.
13. The apparatus of claim 12, wherein the user interface is
configured to associate text information with an image in response
to user input.
14. The apparatus of claim 12, wherein the digital data structure
is a file and the apparatus is configured to allow a user to change
the name of the file.
15. The apparatus of claim 12, wherein the user interface is
configured to allow a user to enter data corresponding to a
creation of a directory.
16. The apparatus of claim 12, wherein the user interface is
configured to allow a user to enter location information indicative
of where the data is to be moved.
17. The apparatus of claim 12, wherein the display device is
further configured to display video image data, further wherein the
apparatus is configured to receive digital image data from the
computer.
18. The apparatus of claim 12, wherein the flash memory module
stores audio data.
19. The apparatus of claim 12, wherein the processor is configured
to: reformat a flash memory module inserted into the flash memory
insertion section to place the flash memory module into a state
where it can be reused, and power down upon detecting more than a
predetermined idle time.
20. The apparatus of claim 12, wherein the user interface comprises
a single button configured to initiate the copy operation.
21. An apparatus comprising: a housing configured to be held in the
palm of a user's hand and including a flash memory port configured
to receive a removable flash memory module having at least one
digital data structure; a mass storage device configured to:
receive and store image data from the flash memory module, be
accessible to transfer the data to a computer, and have at least
one gigabyte of storage; a user interface configured to receive
user input to initiate a copy operation, wherein the copy operation
copies image data from the flash memory module to the mass storage
device; a display device configured to display the image data; a
processor configured to: control the transfer of data stored in the
digital camera memory module inserted into the flash memory port to
the mass storage device, initiate a copy operation in response to
the user interface receiving user input, verify that the copy
operation has been correctly performed, control the display of the
image data on the display device to enable previewing of the image
data, and change a name associated with the digital data structure
in response to user input; one or more LED displays, wherein the
processor is further configured to energize the one or more LED
displays providing indication of at least one status; and an output
interface configured to communicate with the mass storage device,
transfer image data stored in the mass storage device to the
computer, be compatible with an interface of the computer, wherein
the apparatus is configured to transfer data between the flash
memory module to the computer.
22. The apparatus of claim 21, wherein the processor is configured
to access information from a plurality of different types of
digital camera memory modules.
23. The apparatus of claim 21, wherein the output interface
includes a USB interface configured to communicate with the mass
storage device, wherein the USB interface is further configured to
transfer picture image data to the computer.
24. The apparatus of claim 21, wherein the flash memory port is
Compact-Flash compatible, further wherein the apparatus includes an
additional memory input port configured to receive flash media of a
type different than Compact-Flash media.
25. The apparatus of claim 21, wherein the apparatus is configured
to receive digital image data from the computer.
26. The apparatus of claim 21, wherein the processor is configured
to power down upon detecting more than a predetermined idle
time.
27. The apparatus of claim 26, wherein the processor is configured
to delete files on the digital camera memory module.
28. The apparatus of claim 26, wherein the display device is
configured to display a graphical image enabling a user to preview
the image prior to transferring the image to the mass storage
device.
29. The apparatus of claim 21, wherein the mass storage device is
removable.
30. The apparatus of claim 21, wherein the user interface comprises
a single button configured to initiate the copy operation.
31. An apparatus comprising: a housing configured to be held in the
palm of a user's hand and including a plurality of flash memory
input ports; wherein at least a first flash memory input port is
configured to be compatible with a first type of flash memory
storing at least one digital data structure, and wherein at least a
second flash memory input port is configured to be compatible with
a second type of flash memory storing at least one digital data
structure; a mass storage device configured to: communicate with a
flash memory inserted into one of the flash memory input ports,
receive and store image data from the flash memory, transfer the
image data to a computer, and have at least one gigabyte of
storage; a user interface configured to receive user input to
initiate a copy operation, wherein the copy operation copies image
data from the flash memory to the mass storage device; a display
device configured to display the image data; a processor configured
to: access information from a plurality of different types of flash
memory; control the transfer of data stored in the flash memory
inserted into the memory input port to the mass storage device,
initiate a copy operation in response to the user interface
receiving user input to initiate the copy operation, verify that
the copy operation has been correctly performed, control the
display of the image data on the display device to enable
previewing of the image data, and change a name associated with the
digital data structure associated with the flash memory in response
to user input; one or more LED displays, wherein the processor is
further configured to energize the one or more LED displays
providing indication of at least one status; and a USB interface
configured to communicate with the mass storage device, transfer
image data stored in the mass storage device to the computer,
wherein the apparatus is configured to transfer data between the
flash memory to the computer.
32. The apparatus of claim 31, wherein the first flash memory input
port is Compact-Flash compatible.
33. The apparatus of claim 32, further comprising processing
circuitry configured to delete files on the flash memory.
34. The apparatus of claim 33, wherein the mass storage device is
removable.
35. The apparatus of claim 33, wherein the processor is configured
to power down upon detecting more than a predetermined idle
time.
36. The apparatus of claim 31, wherein the user interface comprises
a single button configured to initiate the copy operation.
37. A method comprising: displaying on a display within a
repository device, under the control of a processor, image data
enabling a user to preview the image data, wherein the image data
is related to data obtained from a digital camera; initiating,
under the control of the processor, a selection of a copy operation
to transfer data from a digital camera memory module to a mass
storage device within the repository device; verifying that the
copy operation was performed correctly; changing a name of a
digital data structure in response to user input; and displaying at
least one status indicator identifying an operation being performed
by the repository device, wherein the repository device is embodied
in a housing of a size to be held in the palm of a user's hand and
connectable to both a removable memory module and a computer,
wherein the mass storage device has at least one gigabyte of
storage.
38. The method of claim 37, further comprising deleting a file
associated with the digital camera memory module.
39. The method of claim 37, further comprising initiating a power
down of the processor upon detecting more than a predetermined idle
time.
40. The method of claim 37, further comprising transferring image
data to a computer.
41. The method of claim 37, further comprising receiving data from
flash media inserted into a first memory port within the repository
device, wherein the flash media is not Compact-Flash media, further
wherein a second memory input port within the repository device is
Compact-Flash compatible.
42. An apparatus comprising: a housing configured to be held in the
palm of a user's hand and including a flash memory insertion
section configured to receive a flash memory module, a mass storage
device contained within the housing and configured to: receive and
store data from the flash memory module, be accessible to transfer
the data to a computer, and have at least one gigabyte of storage;
a processor contained within the housing configured to: control the
transfer of data stored in the flash memory module to the mass
storage device, and reformat the flash memory module to place the
flash memory module into a state in which it is reusable to store
data; and an output interface configured to transfer data stored in
the mass storage device to the computer, be compatible with an
interface of the computer, wherein the apparatus is configured to
transfer data between the flash memory module to the computer.
43. The apparatus of claim 42, wherein said output interface
includes a USB interface configured to transfer data stored in the
mass storage device to the computer.
44. The apparatus of claim 42, further including a key configured
to initiate the transfer of contents of the flash memory module to
the mass storage device.
45. The apparatus of claim 42, further including a display
configured to display digital photograph related data.
46. The apparatus of claim 42, further including an additional
flash memory insertion section to receive an additional flash
memory module, the processor configured to selectively transfer
contents of the flash memory module and the additional flash memory
module to the mass storage device.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. Ser. No.
10/629,905 filed Jul. 30, 2003, now pending, which is a
continuation of U.S. Pat. No. 6,658,202 ('202). The entire contents
of Ser. No. 10/629,905 and the '202 patent are hereby incorporated
by reference in this application.
FIELD OF THE INVENTION
[0002] This invention relates generally to data transfer and
storage devices. More particularly, the invention relates to a
hand-held, battery-powered, portable device for transferring data
between, for example, a flash memory module used in conjunction
with a digital camera or audio device and a mass storage
device.
BACKGROUND AND SUMMARY OF THE INVENTION
[0003] Over recent years, digital cameras have been rapidly growing
in worldwide popularity. Such cameras provide many advantages over
the conventional film camera. For example, digital cameras do not
require the time and financial expenditures of conventional cameras
in terms of film development. Digital cameras are designed to be
used in conjunction with a wide range of sophisticated computer
graphics processing packages not available for conventional film
cameras. Display devices associated with certain digital cameras
advantageously provide the photographer with an enhanced ability to
frame desired images and to review pictures just taken.
[0004] Digital cameras, however, are not without their
disadvantages. Conventional high resolution digital cameras are
currently very costly and employ expensive memory media which are
capable of only capturing a relatively limited number of pictures.
Such cameras may utilize a flash memory module having a storage
capacity of, for example, 2 to 32 megabytes. These memory modules
become increasingly more expensive as the storage capacity
increases.
[0005] A high resolution digital camera with a conventional flash
memory module may only have a storage capacity to permit a
photographer to take a very limited number of pictures such as, for
example, a half dozen or even fewer pictures. The vacationing
photographer may choose to undertake a major expense to be assured
of having enough memory modules to record memorable events from a
two week vacation.
[0006] In accordance with an exemplary embodiment of the present
invention, this digital camera shortcoming is overcome by a
hand-held, battery-powered portable device for transferring data
between a flash memory module and a mass storage device. The mass
storage device may be able to store, for example, the contents of
the equivalent of hundreds of flash memory modules.
[0007] In accordance with one exemplary embodiment of the present
invention, the contents of a flash memory module inserted into an
insertion memory port in the portable hand-held device is
downloaded under operator control to a mass storage device in the
form of a fixed or removable hard disk drive. Thereafter, the
memory module is reinitialized so that it may be immediately reused
in its associated camera.
[0008] The above-described features and other advantages of the
present invention will become apparent from the following detailed
description of the present invention when taken in conjunction with
the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a perspective illustration of an exemplary
embodiment of the present invention showing a hand-held housing and
an exemplary component layout.
[0010] FIG. 2 is an exemplary block diagram of an exemplary
implementation of the data transfer and storage system shown in
FIG. 1.
[0011] FIG. 3 is a block diagram depicting the system controller
logic shown in FIG. 2.
[0012] FIG. 4 is a flowchart of exemplary firmware depicting the
portable storage device main system operation.
[0013] FIGS. 5A-5D are flowcharts delineating the sequence of
processing for copy, erase, and computer interface command
operations.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0014] FIG. 1 is a schematic, perspective illustration of an
exemplary embodiment of the data transfer and storage device in
accordance with the present invention. The battery-powered device
for transferring data includes a housing 10, which preferably is of
a size which can be comfortably held in a user's palm and which is
lightweight and readily portable.
[0015] As shown in the right hand portion of FIG. 1, the data
transfer device includes a flash memory input port 22. In the
exemplary embodiment, port 22 is utilized to receive and
electrically couple a memory module removed from a digital camera
(or other device) to the mass storage device 20 under
microprocessor control, as will be explained further in conjunction
with FIGS. 2-5. In the presently preferred embodiment, flash memory
input port 22 is designed to receive the commercially available
Toshiba SmartMedia flash memory module standard. The SmartMedia
memory standard is utilized in various digital cameras and may be
directly interfaced with a PC's disk drive, for example, via the
commercially available FlashPath product. The SmartMedia module
includes a flash memory chip, and processing circuitry in the form
of a state control machine which controls reading and writing
operations to an 8-bit bus. It should be understood that the
present invention is not limited to any particular memory media,
but may be utilized in conjunction with a variety of memory media
where bulk data transfer is desirable. Although the memory module
in the presently preferred embodiment contains image data captured
from a digital camera, it should be understood that it
alternatively may store any type of computer data including audio
data used, for example, to reproduce music.
[0016] The data transfer and storage device of the presently
preferred exemplary embodiment additionally includes an optional
second memory input port 24, which is preferably designed to
receive a storage media of a different standard than the memory
media received in input port 22. By way of example only, the second
memory input port 24 is designed to receive the CompactFlash or MMC
media sold by SanDisk Corporation and/or the Sony Memory Stick. One
or more of the memory media inserted into input ports 22 and 24 may
include a microcontroller for performing more sophisticated
processing operations as, for example, is done in the CompactFlash
product.
[0017] Thus, the data transfer and storage device of the presently
preferred embodiment is designed to accept more than a single
standard flash memory card, and includes multiple slots (e.g., two
or more) to support more than one standard. Because input ports 22
and 24 accept memory media of different standards, the media are
coupled to mass storage device 20 via different interface and/or
control logic circuitry as will be appreciated by those skilled in
the art.
[0018] User interface keys 16, 18 are utilized by a user to
initiate a download of information from the memory media to the
mass storage device 20. At least one control key is provided for
initiating the download operation. Another user interface key is
used to reformat the memory module in accordance with its
requirements for reuse in, for example, a digital camera for taking
further photographs. The memory module is reformatted to
reinitialize the memory module to place it in its initial default
state where no data is stored. A "reformat" control key/button may
be utilized to, for example, initiate the erasure of data stored on
the media. By way of example, the erasure operation may delete all
the files on the media, or in more sophisticated embodiments delete
certain directories or subdirectories.
[0019] In an alternative embodiment of the present invention, the
user interface keys 16, 18 comprise a portion of a miniaturized
keyboard, which may, for example, be utilized to select particular
files and directories to copy to the mass storage device 20, which
may (prior to downloading) be displayed on, for example, an LCD
display (not shown). Graphical images may be displayed on the LCD
display so that the user may preview a particular video image to
decide whether it should be saved for long term storage. Such a
capability advantageously provides the user with added selectivity
and flexibility as to what image data is most desirable to maintain
in mass storage device 20.
[0020] As opposed to using an LCD display, the user display may
include, for example, LED display indicators 12 and 14. Display
indicators 12 and 14 may display a wide range of status indications
such as, for example, indicating that the flash memory copying
operation is complete, and that the power is on. Additional display
indicators may show the status of other operations such as, for
example, a download operation being in progress.
[0021] FIG. 1 also depicts printed circuit board 28, which supports
the electronic components schematically represented in FIG. 1 and
which is shown in further detail in FIG. 2. These components are
preferably powered by rechargeable batteries stored in battery
compartment 26 and/or an AC adapter may be used.
[0022] Data is extracted from the FIG. 1 data transfer device
through serial/parallel ports 30. Ports 30 are utilized, for
example, after flash memory module data has been downloaded from
multiple modules to mass storage device 20. The serial/parallel
ports 30 permit downloading information from the FIG. 1 portable
data repository to the user's personal computer at a convenient
future time.
[0023] Ports 30 are intended to encompass a wide range of I/O ports
including, for example, a Universal Serial Bus (USB), a parallel
port, and a high speed serial port, such as a Fire Wire port or any
desired subset of these or other known ports. The ports 30 may be
designed to receive modules plugged into sockets for operating one
of the desired ports.
[0024] Mass storage device 20 is preferably a commercially
available hard drive. By way of example, such a hard drive may be a
2.5 inch hard drive or other appropriately sized hard drive
commercially available from various vendors. The mass storage
device 20 preferably includes at least one gigabyte of storage. The
mass storage device 20 may, in accordance with one embodiment of
the present invention, be fixed internally, or in another
embodiment, removable from housing 10. In accordance with yet
another embodiment of the present invention, the mass storage
device 20 may be a battery backed SRAM. By way of example only,
another option for mass storage device 30 is a high capacity flash
memory module.
[0025] FIG. 2 is a block diagram showing the electronic
interconnection between components of an exemplary embodiment of
the data transfer and storage device of the present invention. As
also depicted in FIG. 1, FIG. 2 includes a flash memory socket 22
and a second memory socket 24 which may be, by way of example only,
respectively configured to receive Toshiba's commercially available
SmartMedia, SanDisk's Compact Flash or MMC media, or the Sony
Memory Stick. The SmartMedia is, in the exemplary embodiment,
directly connected to system bus 33. System controller logic 54
includes the logic circuitry for transferring data from, for
example, the Smart Media and Compact Flash memory media onto the
system bus 33 for transfer to mass storage device 20 as will be
explained below in conjunction with the description of FIG. 3.
[0026] FIG. 3 is an exemplary implementation of the FIG. 2 system
controller logic 54 coupled to memory media receiving sockets 24,
25 and 26. In accordance with an exemplary embodiment, sockets 24
and 26 are conventional PCMCIA ports which are electrically and
mechanically compatible with the memory media coupled thereto.
Thus, the Compact Flash socket 24 is a PCMCIA socket which is
mechanically and electrically compatible with a Compact Flash
media. If storage device 20 is implemented as a hard drive, a
conventional hard drive ATA/IDE socket 25 is used to couple mass
storage device 20 to the system controller logic 54. If mass
storage device 20 is selected to be a removable hard drive, then a
PCMCIA socket 26 may be utilized.
[0027] The system controller logic 54 manages the various memory
devices to which it is connected under processor 31 control via
system bus 33. The system controller logic 54 includes a SmartMedia
address register 64 which is coupled to the flash memory/Smart
Media socket 22 and which stores the Smart Media starting address
to be accessed. Data may then be written to or read from the
identified SmartMedia flash memory starting address. Similarly, RAM
address registers 66 define desired starting addresses in RAM
32.
[0028] DMA controller 68 manages data flow between the various
memory devices and may be implemented by a conventional DMA
controller having a byte transfer counter and control registers.
Through DMA controller 68, data may be moved from, for example,
SmartMedia to RAM 32. Under such circumstances, processor 31 loads
the appropriate addresses into Smart Media address register 64 and
RAM address register 66. The byte transfer counter in DMA
controller 68 is then loaded by processor 31 with the number of
bytes to be transferred and a DMA controller 68 control register is
loaded with information specifying the appropriate operation.
[0029] A conventional PCMCIA controller 60 may be utilized to
control data exchange operations between the media in PCMCIA
sockets 24 and 26 and devices coupled to system bus 33. Controller
60 includes an address decoder (not shown) that is coupled to the
system bus 33. Controller 60 also includes configuration registers
(not shown) which identify configuration information such as the
number of memory media or other devices to which it is connected
and the device which is currently communicating with processor 31.
Controller 60 also includes a storage device for buffering data,
and internal buses for interconnecting controller components. A
conventional ATA/IDE controller 62 interfaces hard drive 20 with
the system bus 33 and the devices connected thereto. As described
above in conjunction with controller 60, ATA/IDE controller 62
includes an address decoder, configuration registers, a memory and
internal bus for interfacing with hard drive 20.
[0030] Turning back to FIG. 2, data transfers are preferably
initiated via a user keyboard, control keys, or buttons 36 under
the control of processor 31. In one embodiment of the present
invention, a miniature keyboard is utilized by a user to associate
notes with an identified image, change the name of files, or to
selectively create directories identifying where the user desires
to move data.
[0031] As set forth in conjunction with the description of FIG. 1,
the present invention contemplates a wide range of possible user
graphic interfaces. For example, LED's may be utilized to indicate
a downloading or other status condition. Alternatively (or
additionally, if desired), an LCD display may be utilized for
visually depicting, for example, a file name or subdirectory to
permit the user to selectively delete undesirable pictures, which
also may be displayed for the user to review.
[0032] Processor 31 may be any of a wide range of processors but
preferably is a RISC-based, for example, 8 bit processor, such as
the Atmel 8513. Processor 31, like each of the other components
embodied in the data transfer and storage device, is selected to
provide optimally low power consumption. Thus, while a variety of
different processors may be selected, processor 31 is preferably a
high speed processor having extremely low power consumption. The
processor's operating system is resident in ROM 34.
[0033] The data transfer and storage device shown in FIG. 2 also
includes RAM 32. RAM 32 stores operating system (and other
processing) variables and buffers data being transferred between,
for example, memory modules inserted into ports 22 and 24 and mass
storage device 20.
[0034] The serial/parallel ports 30 represented in FIG. 1 are shown
in FIG. 2 as USB interface 40, Fire Wire interface 42, and parallel
port interface 44. These interfaces are utilized for transferring
data from mass storage device 20 to, for example, a user's PC or
notebook computer. For users having older computers which do not
include a USB or Fire Wire interface, parallel port interface 44
may be utilized for downloading data to the user's computer. For
newer computers, high speed data transfer may be accomplished via
the USB or Fire Wire interfaces 40 or 42, respectively. The output
interface ports shown in FIG. 2 are provided by way of example to
indicate that a variety of interfaces are contemplated for
interfacing with a wide range of user's computers.
[0035] The portable device shown in FIG. 2 typically operates under
battery power such as, for example, by rechargeable AA batteries
50. Power supply 48, in addition to being powered by batteries 50,
may also receive external power to permit a user upon arriving home
to save battery power by using household power during uploading
information to his or her computer. The external power source also
permits batteries 50 to be recharged if rechargeable batteries are
being used.
[0036] Mass storage 20 is preferably a hard drive as set forth in
conjunction with FIG. 1. It is also contemplated that mass storage
20 may be a removable hard drive, a SRAM, or a large storage
capacity, high density flash memory or other mass memory media
which is commercially available today or becomes commercially
available in the future. Mass storage device is coupled to control
logic 54 via an ATA/IDE bus or a PCMCIA.
[0037] FIG. 4 is a firmware flowchart showing an exemplary set of
processing operations that the present preferred embodiment
sequences through. After power is turned on (100), processor 31
executes a power-on self test routine whereby the integrity of the
device is initially confirmed. The device internal logic is
exercised and checked to a limited extent before operating data
transfer device. Initially, the integrity of processor 31 and its
associated firmware is checked. Next, the user interface functions,
the I/O ports, and the mass storage device are checked (102). The
power-on self tests include executing diagnostic routines to
ensure, for example, that RAM 32 is operational.
[0038] Thereafter, a command interpreter loop is entered (104). The
system monitors all associated input/output devices for activity to
determine the next operation to initiate (104). As represented
schematically at block 106, an operation is initiated by a user,
for example, actuating a copy or erase button. Alternatively,
activity may be detected by processor 31 via the FIG. 2 USB, Fire
Wire, or parallel ports 40, 42, and 44 (110). If activity is
detected via the host computer system input, then processor 31 must
interpret the host command.
[0039] At block 108 a check is made to determine whether the
detected operational command is a copy memory module command. If
so, "copy" operation processing is initiated, whereby data from a
memory module is downloaded to mass storage 20 as set forth in the
flowchart of FIG. 5A. Initially, the integrity of the data in the
memory module is verified to determine that the memory media is a
valid module (120). Thus, if the data stored in the memory module
does not conform with the appropriate standard format, a "copy"
operation will not be performed and an indication will be displayed
to the user that the memory module is bad. Such an indication may
be displayed, for example, via a status indicating LED or on an LCD
display (122).
[0040] If the data integrity of the module is good, then
subdirectories are created on the mass storage unit (124). Thus, in
the process of making such data transfers, processor 31 creates
appropriate subdirectories which, for example, may be sequentially
numbered for each module that is inserted into, for example, socket
22. Each flash memory module may include its own subdirectory
having all the contents of that module resident therein. The
contents of the module is then copied into the created
subdirectory. After the subdirectory has been created at block 126,
the directory structure from the module is copied to the mass
storage device (126). Thereafter, the files from the memory module
are copied to the mass storage device 20 into the directory
structure that had been created (128).
[0041] After the data has been copied, the integrity of the data
that has been copied is verified to, for example, determine whether
data has been loaded onto a defective portion of the hard drive, or
whether there has been a power failure or a component failure
(130). If the data cannot be verified, then an indication that the
copying operation failed is conveyed to the user via a status LED
or via an LCD display (132). If desired, an indication of the
nature of the error may be displayed on an LCD display. If the
integrity of the data is verified, then the user receives an
indication that the copying operation has been successfully
completed via a status LED or LCD (134) and the routine branches
back to the command interpreter block 104 to await further
activity.
[0042] If a copy memory module operation was not initiated then, as
shown in FIG. 4, a check is made to determine whether an "erase
memory" command has been initiated (140). If so, the routine
branches to the flowchart shown in FIG. 5B, which delineates erase
operation processing. Erase operation processing is utilized, for
example, to prepare a flash memory module for reuse so that further
pictures can be taken with the user's digital camera. Initially, a
check is made to verify the data integrity of the memory module
(150). This check ensures that the module has, for example, the
proper data fields or supported density or supported voltage before
any operation is performed thereon. If the memory module is
determined to be bad, then the user receives a "bad memory media"
indication, either via a status LED or via an LCD display
(152).
[0043] If the module has been verified as being a valid module,
then the desired files are deleted from the module (154). If the
files cannot be deleted, then information is conveyed to the user
that the erase operation has failed via a status LED or an LCD
display (156). After the files have been deleted, memory media
subdirectories are deleted (158). If the subdirectories cannot be
deleted, then an indication is conveyed to the user that the erase
operation failed via status LED or a LCD display (160). After
subdirectories have been deleted, an indication is conveyed to the
user that the erasure operation was successful via a status LED or
LCD display (162) and the routine branches back to the FIG. 4
command interpreter.
[0044] If an "erase memory module" operation has not been
initiated, then a check is made at block 170 to determine whether a
computer interface command was initiated. If so, the routine
branches to the FIG. 5C flowchart depicting computer interface
command processing.
[0045] Computer interface processing typically occurs after the
user, for example, has completed a photography session and has
interconnected the portable data storage and transfer device to his
or her PC. During such operations a user may download pictures
stored in the mass storage device to the PC or alternatively,
upload, for example, pictures stored in the PC to the portable
storage device's mass media.
[0046] Initially, a check is made at block 200 to determine whether
an I/O request has been received from a user's host PC and, if so,
what kind of request has been initiated. As indicated at block 202,
a check is made as to whether the requested activity is to upload
or download data from or to mass storage device 20 to, for example,
upload or download pictures (202). By uploading pictures from a
user's PC, the portable data transfer and storage device thereafter
may be utilized to hand-carry highly desirable pictures from one
user's PC to another user's PC. Depending upon the desired
direction of data transfer, data is either read from or written to
the host or the mass storage device 20 (204). As indicated in FIG.
5D, a status report is then sent to the host and the routine
branches back to FIG. 4 and its command interpreter block 104.
During the data transfer process from or to the mass storage, the
user would have the ability to delete files, rename files, and a
wide range of other conventional file processing operations. Such
host/mass storage data exchanges operate under the control of
software resident in the user's PC.
[0047] As indicated at block 206, a check is also made to determine
whether data exchanges are to take place between the memory module
and the host computer (206). In this fashion, reading to or writing
from the host to the memory module is controlled (208). Similar to
exchanges between the host PC and mass storage, a wide range of
data transfer operations may be controlled. After the host to
memory module data exchange, a status report is sent to the host
(210) and the routine branches back to the FIG. 4 command
interpreter 104.
[0048] If the processing of block 200 reveals that an I/O request
was received from the host, a check is also made to determine if
the request was a diagnostics command (212). Such diagnostics may
appropriately be initiated either during the device manufacturing
phase or for user diagnostics. Initially, a check is made as to
whether to initialize mass storage 20 (214). If the check at 214
indicates that mass storage is to be initialized to, for example,
recover from a failure, the storage device 20 is reformatted (216),
a status report is transmitted to the host (FIG. 5D at 210), and
the routine branches back to the FIG. 4 command interpreter
(104).
[0049] If the check at block 214 indicates that the mass storage 20
is not to be initialized, then a check is made to determine whether
self test processing is be initiated (218). If self tests are to be
initiated, then self test processing begins (220). The self tests
performed at block 220 are more comprehensive than the power-on
self tests previously referenced in that they output diagnostic
information useful to service personnel for correcting a problem
relating to processor 31 and its associated firmware, the user
interface devices, the I/O ports and the mass storage device. Upon
completion of these tests, the host processor is sent a status
report (210) and the routine branches to the FIG. 4 command
interpreter block 104.
[0050] If no self test command was received, a check is made to
determine whether the memory media should be tested (222). If so,
the integrity of data from the memory module is checked to respond
for example, to a user complaint that the memory media can not be
read. Service personnel can then determine that, for example, a
particular data field has been corrupted requiring reformatting of
the module. If no memory module testing has been initiated, the
routine branches back to the command interpreter at block 104.
[0051] If no computer interface command has been initiated as
determined at block 170, a check is made at 172 (FIG. 4) to
determine if the user has depressed a power off key or
alternatively has let the data transfer device sit idle for more
than a predetermined idle time. If so, the device powers down
(174). If not, the routine branches back to command interpreter
block 104 to continue checking for command related activity.
[0052] The present invention may be utilized in a wide range of
applications in addition to being used by amateur photographers.
For example, the present invention may be used in conjunction with
a team of professional photographers covering an event for a
newspaper or magazine. Individual photographers having digital
cameras may, for example, meet at a central location and transfer
flash memory modules to a colleague having the present data
transfer and storage device for storage of all the data. Such
accumulated data may thereafter be downloaded to the newspaper's or
magazine's central office computer.
[0053] It will be understood by those skilled in the art that the
foregoing description is in the terms of a preferred embodiment of
the present invention, wherein various changes and modifications
may be made without departing from the spirit and scope of the
invention as set forth in the appended claims.
* * * * *