Information processing device with display having attachable/detachable data storage device having a plurality of recording media

An information processing device includes: an interface to/from which a recording medium is attachable/detachable; a data storage device that stores data; a data extractor that extracts data recorded on the recording medium connected through the interface, with the data maintained in a data configuration of the recording medium; and a controller that controls the data storage device to store the data extracted by the data extractor together with an identifier which specifies the recording medium, with the data maintained in the data configuration extracted.

The entire disclosure of Japanese Patent Applications No. 2005-227570, filed on Aug. 5, 2005, and No. 2006-192675, filed on Jul. 13, 2006 are expressly incorporated by reference herein.

BACKGROUND

1. Technical Field

The present invention relates to a technique for processing data in an information processing device to/from which a recording medium is attachable/detachable.

2. Related Art

In recent years, recording media such as memory cards for recording various data are used in computers and audio/visual devices in a variety of situations. Since recording media of this kind are portable, data can be interchanged with ease between plural devices. Therefore, one user is now likely to frequently use different recording media.

A technique which facilitates handling of plural recording media is disclosed in, for example, JP-A-2002-22391.

However, a memory card management device according to JP-A-2002-222391 requires plural memory card slots for fixing and electrically connecting memory cards. Hence, there arise difficulties in downsizing a memory card device. If more memory cards than a number of memory card slots are owned, those memory cards that cannot be attached to the memory card management device have to be handled in the same manner as is conventionally required. In other words, a user needs to replace memory cards to be attached to the memory card slots. Consequently, management of data recorded in the memory cards is complex if a large quantity of memory cards exists.

In contrast, the invention provides a technique for managing plural memory cards with ease.

SUMMARY

According to an aspect of the invention, an information processing device includes: an interface to/from which a recording medium is attachable/detachable; a data storage device that stores data; a data extractor that extracts data recorded on the recording medium connected through the interface, with the data maintained in a data configuration of the recording medium; and a controller that controls the data storage device to store the data extracted by the data extractor together with an identifier which specifies the recording medium, with the data maintained in the extracted data configuration extracted. This image forming device allows easy management of plural storage media.

It is preferable that the information processing device may further includes data synchronizer that synchronizes at least part of the data in the recording medium connected through the interface, with at least part of the data that corresponds to the storage medium among data stored in the data storage device. Alternatively, it is preferable that the information processing device may further includes data synchronizer that synchronizes at least a part of data that corresponds to the storage medium among data stored in the data storage device, with at least a part of data in the recording medium connected through the interface. These information devices are each capable of synchronizing data stored in a storage medium with data stored in the data storage device of the information processing device.

It is preferable that the information processing device may further includes: image storage device for storing image data linked to the extracted data stored in the data storage device by the controller and to the identifier specifying the recording medium; and a display that displays the image data stored in the image storage device. This image processing device is capable of showing a user that the extracted data stored in the data storage device and the recording medium are available.

It is preferable that the information processing device may be configured such that the data storage device stores data corresponding to a plurality of recording media, and the information processing device further comprises image updater that updates the image data that corresponds to the recording medium connected through the interface among the image data stored in the image storage device, to image data indicating that the recording medium is now attached. This information processing device is capable of showing a user that the extracted data stored in the data storage device and the recording medium are available.

It is preferable that the information processing device may be configured such that the recording medium is a card type recording medium. This information device allows easy management of plural card type storage media.

According to another aspect of the invention, a data processing method for an information processing device having an interface to/from which a recording medium is attachable/detachable, and data storage device for storing data, the method including: extracting data recorded on the recording medium connected through the interface, with the data maintained in a data configuration of the recording medium; and controlling the data storage device so as to store the extracted data together with an identifier specifying the recording medium, with the data maintained in the extracted data configuration. This data processing method allows easy management of plural storage media.

According to still another aspect of the invention, a recording medium storing a program executable by an information processing device having an interface to/from which a recording medium is attachable/detachable, and data storage device that stores data, the program including: extracting data recorded on the recording medium connected through the interface, with the data maintained in a data configuration of the recording medium; and controlling the data storage device so as to store the extracted data together with an identifier specifying the recording medium, with the data maintained in the extracted data configuration. This program also allows easy management of plural storage media.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

1. Configuration of Information Processing Device1

FIG. 1shows a hardware configuration of an information processing device1according to an embodiment of the invention. The information processing device1is capable of using a memory card as a recording medium. The information processing device1includes a CPU (Central Processing Unit)10, a ROM (Read Only Memory)14, a RAM (Random Access Memory)16, a HDD (Hard Disk Drive)12as a storage devices a graphic controller18, and an input/output I/F (Interface)22. These hardware components are connected so as to be capable of interchanging signals via a bus28. Note that these hardware components are managed by a BIOS (Basic Input Output System) as basic software, and an operating system (OS) such as WINDOWS (a registered trademark). Under management by these systems, the CPU10executes various software including drivers stored in the ROM14and HDD12and realizes thereby functions described below. The storage device used in the information processing device1is not limited to a HDD but may be a different storage device such as a flash memory.

The CPU10is a control device which controls respective units of the information processing device1. The HDD12is a storage device which stores data and programs. The ROM14is another storage device which stores programs and data necessary for startup of the information processing device1. The RAM16is further another storage device which functions as a work area when the CPU10executes a program. A display20is a display device which displays texts and images. The CPU10reads basic software, various programs such as device drivers for connected peripheral devices, and various data from the ROM14and HDD12. The CPU10expands read programs and data over a main memory area provided in the RAM16to execute the programs and data. The graphic controller18works to display images on the display20in accordance with instructions from the CPU10.

To the input/output I/F22, an input device24, a memory controller26, and other peripheral devices (not shown in the figures) are connected. These devices are connected in accordance with predetermined standards such as the USB (Universal Serial Bus) standard and the IEEE 1394 standard. The input device24includes, for example, a keyboard, mouse, and a touch panel or buttons. The memory card controller26controls interchange of data between a physical memory card30and the information processing device1. The physical memory card30is attachable/detachable to/from the information processing device1. The memory card controller26includes an interface which makes the physical memory card30physically attachable/detachable to/from the information processing device1. The memory card controller26may output a signal indicating that the physical memory card30is now attached to the information processing device1. The physical memory card30has an identification code such as an ID (Identification) number. Any recording medium may be used as the physical memory card30as far as the recording medium enables individual recognition. Specifically, a SD memory card (a registered trademark), SmartMedia having an ID function, or the like is used as the physical memory card30.

FIG. 2is a block diagram showing a configuration of functions of the information processing device1. The information processing device1has a data interchange unit38, memory attribute attaining unit32, virtual memory generation unit34, data input/output unit36, database40, data synchronization unit46, virtual memory search unit48, and image linking unit50.

The data interchange unit38and the physical memory card30interchange data between each other. The memory attribute attaining unit32attains attribute information concerning attribute of the physical memory card30. The attribute information includes data about the physical memory card30, e.g., a block size, the maximum number of blocks, maximum capacity, a vender ID, a product ID, a card ID, a product revision, and a file information table. The memory attribute attaining unit32sends the attained attribute information to the virtual memory generation unit34. The virtual memory generation unit34generates a virtual memory card42on the basis of the attribute information. The “virtual memory card” means a storage area set in the HDD12and has the same storage capacity and data configuration as those of the physical memory card30. A simple name of “memory card” is used to describe articles which apply to both the physical memory card and the virtual. The memory attribute attaining unit32attains the ID of the physical memory card30by way of the data interchange unit38. Any information can be used as the ID of the physical memory card30as far as the information is capable of uniquely specifying the physical memory card30. The virtual memory generation unit34uses this ID to generate a virtual memory card. More specifically, the virtual memory card42and the ID of the physical memory card30are stored in the HDD12so as to be able to have a one-to-one correspondence, respectively. In this manner, the information processing device1is able to make the physical and virtual memory cards correspond uniquely to one another.

Based on the attribute information sent from the memory attribute attaining unit32, the virtual memory generation unit34generates a virtual storage region having substantially the same attributes as those of the attribute information, i.e., a virtual memory card. The virtual memory card has the same data configuration as a corresponding physical memory card. The “data configuration” is a concept a scope of which includes a hierarchical structure such as a relationship between folders or between folders and files in the folders. The virtual memory card42is generated in a predetermined region in the database40established in the HDD12. A virtual memory card42is generated so as to correspond to each physical memory card30. That is, the database40may include virtual memory cards42corresponding to plural physical memory cards30. For example, virtual memory cards42a,42b,42c, . . . are generated as virtual memories respectively corresponding to physical memory cards30a,30b,30c, . . . In the description below, a suffix to a reference numeral is given to express one particular memory card distinguished from others among plural physical memory cards, e.g., physical memory cards30a,30b,30c, . . . . Particularly when individual physical memory cards need not be distinguished from one another, the physical memory cards are simply referred to as physical memory cards30. Virtual memory cards are also expressed in the same manner. A virtual memory card42may not be created for a physical memory card30specified by an instruction from a user.

When a physical memory card30is in a mount state, the data input/output unit36inputs/outputs data to/from the physical memory card30. The “mount state” means a state in which a physical memory card30is attached to the information processing device1and the information processing device1can access the physical memory card30. Otherwise, when the physical memory card30is in an unmount state, the data input/output unit36input/outputs data to/from a virtual memory card42. The “unmount state” means a state in which a physical memory card30is not attached to the information processing device1and the information processing device1cannot access physical memory card30. Also, the physical memory card30and the virtual memory card42each have an availability flag. The availability flag indicates whether the information processing device1can access the memory card or not. For example, if the availability flag of a virtual memory card42indicates “unavailable”, the information processing device1can neither input data to nor output data from the virtual memory card. The availability flag is stored in, for example, the HDD12.

Data recorded in the physical memory card30or virtual memory card42is displayed on the display20, for example, as a user carries out a predetermined manipulation. By a mouse or keyboard, the user can instruct the information processing device1to input data, move data from another device, and so on.

Once a physical memory card30is attached, the virtual memory search unit48searches the database40for a virtual memory card42corresponding to the attached physical memory card30. Alternatively, after confirming that data has become interchangeable, the virtual memory search unit48may search for a virtual memory card42corresponding to a physical memory card30. Correspondence between the physical memory card30and the virtual memory card42is determined on the basis of IDs of both cards. For example, if the IDs of both cards coincide with one another, the physical memory card30and the virtual memory card42are determined to correspond to one another. If a virtual memory card42is found to correspond to the physical memory card30, information indicating it is sent to the data synchronization unit46.

On the basis of information from the virtual memory search unit48, the data synchronization unit synchronizes data recorded on the physical memory card30with data recorded on the virtual memory card42. Information items dependent on physical memory cards, such as block sizes and addresses are switched appropriately when synchronizing data. The term “synchronize” as used here means that at least a part of one of the physical memory card30and the virtual memory card42(hereinafter a “synchronization source”) is synchronized with the contents of storage of the other one (hereinafter a “synchronization destination”). Various methods can be used as a synchronization method thereof. For example, whether the physical memory or the virtual memory is set as a synchronization source or a synchronization destination may be predetermined. Alternatively, a device which stores data having a newer time stamp added may be set as the synchronization source, and data having an older time stamp added may be set as the synchronization destination. As a further alternative, the synchronization source and the synchronization destination may be determined on the basis of an instruction from a user. Targets to be synchronized need not always be all the data stored in memory cards but may be a part of the data.

An image linking unit50determines image data corresponding to the virtual memory card42. To the image data, an identifier specifying a virtual memory card and a physical memory card is linked. For example, image data corresponding to a virtual memory card42is selected from plural image data items stored in advance in the HDD12or the like. Selection is carried out by a user. Alternatively, image data may be automatically selected in accordance with an algorithm predetermined by the information processing device1. The selected image data item is stored as image data44in a predetermined region in the virtual memory card42. Alternatively, the image data may be stored as image data44in another region in the virtual memory card42such that the image data has a one-to-one correspondence with virtual memory card. The virtual memory card and the image data may be stored in one physically identical storage device (e.g., the HDD12). Alternatively, the virtual memory card and the image data may be stored in physically different storage devices (e.g., the HDD12and the ROM14).

Components constituting respective functions of the information processing device1have been described above. These functions that are realized as hardware resources described above work in integral cooperation with software.

2. Operation of the Information Processing Device1

2-1. Main Processing Flow

FIG. 3shows the entire processing of an information processing program which drives the information processing device1. In step S100, the CPU10searches the database40for a virtual memory card42the availability flag of which indicates “available”. If plural virtual memory cards42the availability flags of which indicate “available” are registered in the database40, the CPU10specifies virtual memory cards to be processed, orderly one after another. The CPU10performs processing described below on each virtual memory card to be processed. Description will now be made of an example in which a virtual memory card42ais the memory card to be processed.

Next, the CPU10determines whether image data44acorresponding to the virtual memory card42ahas been registered or not (step S102). If the corresponding image data44ahas been registered (S102: Yes), the CPU10functions to display an image expressed by the data44aon the display20(step S106). Thus, a user is informed of the virtual memory card42abeing available now.

FIGS. 6A and 6Bshow examples of screens showing devices mounted on the information processing device1. The example ofFIG. 6Ashows an image60bindicative of a HDD12and an image65aindicative of an attached physical memory card30a. The example ofFIG. 6Bshows an image60aindicative of a HDD12and an image65bindicative of a virtual memory card42a. The image65bindicative of a virtual memory card42ais, for example, an image having a background color changed from that of the image65aindicative of a physical memory card30a. The image65bis stored as image data44alinked with a virtual memory card42a. If plural virtual memory cards42the availability flags of which indicate “available” have been registered, plural images are displayed. Each of the plural images includes information capable of specifying uniquely a memory card. Also, each of the plural images may include information indicative of whether the memory card is a virtual or physical memory card.

Description will now be made referring again toFIG. 3. If no corresponding image data44ahas been registered (S102: No), the CPU10works to display an icon on the display20(step S104). The icon has been prepared by a function of the OS. Thus, the user is informed of a virtual memory card being used.

In the step S108, the CPU10receives an event message which is sent on the basis of a function of the OS. This is an event driven program which executes a corresponding process in accordance with an event message supplied from the OS.

If an event message is received, the CPU10reads the content of the received event message (step S110). For example, if the content of an event message is indicative of mounting of a physical memory card30(S110:1), the CPU10executes a memory card mount processing (step S120). Upon completion of the memory card mount processing, the CPU10shifts the processing again to the step S100. Note that details of the mount processing will be described later. The message indicative of mounting of a memory card may be generated upon physical attachment of the memory card to the information processing device1. Alternatively, the message indicative of mounting of a memory card may be generated based on an instruction from a user.

If the content of an event message is indicative of unmounting of a physical memory card30(S110:2), the CPU10executes a memory card unmount processing (step S140). Upon execution of the memory card unmount processing, the CPU1shifts the processing again to the step S100. Details of the memory card unmount processing will be described later. The event message indicative of unmounting of a memory card may be generated, for example, upon detachment of a physical memory card30from the information processing device1. Alternatively, an event message indicative of unmounting of a memory card may be generated based on an instruction from a user.

If the content of an event message is indicative of input/output of data to/from a memory card (S110:3), the CPU10executes reading data from or writing of data into a specified memory card. Upon execution of input/output of data, an image indicative of a memory card may be changed to another image indicating that data has been changed.

If the content of an event message is indicative of completion of a program (step S110:4), the CPU10terminates the processing shown inFIG. 3. Otherwise, if the content of an event message fits none of cases described above (steps S110:1to4), the CPU10shifts the processing to the step S108.

In each ofFIGS. 6A and 6B, an image of a physical memory card or an image of a virtual memory card and an image indicative of the HDD12are shown in the same area. InFIG. 6A, a physical memory card and the HDD12are both existing storage devices connected to an information processing device and are rendered available. InFIG. 6B, an image of a virtual memory card is shown using in a different background color from an image of a physical memory card to clarify the difference from the physical memory card. Besides, the image of the virtual memory card and the image indicative of the HDD12are shown in the same area. However, as shown inFIG. 6C, a physical memory card and the HDD12which are directly accessible to existing storage devices may be shown in a different area partitioned from an area for a virtual memory card which indirectly accesses an existing storage device. In the example ofFIG. 6C, images are displayed, divided into an existing drive region (Virtual Volumes) and a virtual drive region (Virtual Volumes). An image60cindicative of the HDD12and an image65cindicative of a physical memory card (ID: A) are displayed in the existing drive region. An image68cindicative of a memory card (ID: B) indicative of a virtual memory card is displayed in a virtual drive region. The information processing device1is able to display detailed information of data recorded on each device in accordance with manipulation by a user. For example, as the user selects images (60,65, and68) of various devices shown inFIGS. 6A to 6Cwith use of a mouse or the like, detailed information of data recorded in the selected device can be displayed.

2-2. Memory Card Mount Processing

FIG. 4is a flowchart showing details of the memory card mount processing. Description will now be made of an example in which a physical memory card30ais attached.

In the step S122, the CPU10obtains the ID of the physical memory card30a. More specifically, the CPU10obtains attribute information of the physical memory card30a. The CPU10extracts the ID of the physical memory card30afrom the obtained attribute information.

Next, the CPU10determines whether a virtual memory card (virtual memory card42a) having the same ID as the physical memory card30aexists in the database40(step S124).

If it is determined that a virtual memory card having the same ID exists (S124: Yes), the CPU10synchronizes recorded data in the physical memory card30awith recorded data in the virtual memory card42a(step S126). Next, the CPU10transfers the virtual memory card42ato an unavailable state (step S128). That is, the CPU10overwrites the availability flag of the virtual memory card42awith “unavailable”. As a result, the image65bshown inFIG. 6Bis not displayed any more. Besides, input/output of data to/from the virtual memory card42abecomes impossible, i.e., access to the virtual memory card42ais inhibited. That is, the CPU10overwrites the availability flag of the physical memory card30awith “available”. The CPU10also makes the display20to display an image indicating that the physical memory card30ais now available. After the physical memory card30ais rendered available, the CPU10terminates the processing shown inFIG. 4. As a result of this, an image65aindicative of the physical memory card30ais shown on the display20, as shown inFIG. 6A. Thus, input/output of data to/from the physical memory card30ais enabled.

Otherwise, if it is determined that no virtual memory card having the same ID exists (S124: No), the CPU10generates a new virtual memory card (virtual memory card42a) (step S132). The new virtual memory card42ahas substantially the same attributes including an ID as those of the physical memory card30a. In other words, the virtual memory card42ahas the same is data configuration as the physical memory card30a. Subsequently, the CPU10copies data recorded on the physical memory card30ato the virtual memory card42a(step S136). That is, the CPU10overwrites the availability flag with “available”. After the physical memory card30ais rendered available, the CPU10terminates the processing shown inFIG. 4.

2-3. Memory Card Unmount Processing

FIG. 5is a flowchart showing details of the memory card unmount processing. Description will be made below of an example in which the a physical memory card30ais attached. In the step S142, the CPU10copies information of a physical memory card30ato a corresponding virtual memory card42a(step S142). That is, the database40reflects the information of the physical memory card30a.

Next, the CPU10transfers the physical memory card30ainto an unusable state (step S144). That is, the CPU10overwrites the availability flag of the physical memory card30awith “unavailable”. The CPU10makes the display20show a message indicating that the physical memory card30ais now detachable. In response to this message, the user detaches the physical memory card30afrom the information processing device1. After the availability flag changes to “unavailable” or after the physical memory card30ais physically detached from the information processing device1, the image65a(inFIG. 6A) of a memory card representing the physical memory card30ais not displayed any more on the display20.

Subsequently, the CPU10searches the database40for a virtual memory card42corresponding to the physical memory card30achanged into an unavailable state, i.e., for a virtual memory card42awhich has the same ID as the physical memory card30a.

Next, the CPU10determines whether image data44acorresponding to a detected virtual memory card42ahas been registered or not (step S148). If it is determined that the image data44ahas been registered (S148: Yes), the CPU works to display on the display20an image in accordance with registered image data. Also, the CPU10overwrites the availability flag of the virtual memory card42awith “available”. Thus, the user is informed of the virtual memory card42abeing available. After a registered image is displayed on the display20, the CPU10terminates the processing shown inFIG. 5.

If it is determined that the image data44ahas not been registered (S148: No), the CPU10works to display a standard icon or the like appended to the OS as an image representing a virtual memory card on the display20(step S150). Also, the CPU10overwrites the availability flag of the virtual memory card42with “available”. Thus, the user is informed that the virtual memory card42ais available. After the image is displayed on the display20, the CPU10terminates the processing shown inFIG. 5.

Data interchanged while the physical memory card30ais not attached is subjected to synchronization according to predetermined rules by the processing according to the information processing program as described above. This synchronization starts independently from a user's manipulation. Therefore, the user can always use data as if a physical memory card30is attached to the information processing device1regardless of whether the physical memory card30is attached or not.

An embodiment of the invention has been described above. The invention, however, is not limited to this embodiment but may be subject to a variety of modifications in practice.

(1) An image in which the image linking unit50links to a virtual memory card42is not limited to an image prestored in the information processing device1. For example, this image may be generated from an outer appearance of the physical memory card30. That is, an image such as a label of a physical memory card30picked up by a scanner or CCD (Charge Coupled Device) camera may be adopted as an image representing a memory card.

(2) In the embodiment described above, one single device has the hardware configuration shown inFIG. 1and the functional configuration shown inFIG. 2. However, a system including plural devices may as a whole have the hardware configuration shown inFIG. 1and the functional configuration shown inFIG. 2. For example, a system including an information processing device and a portable information terminal connected to an information communication terminal may have the functions described above. In this case, for example, the portable information terminal may have the function to interchange information of the physical memory card30.

(3) Interchange of data between a recording medium and an information processing device is not limited to a method based on electric contact. Another method in which light, an electromagnetic wave such as an electric wave, or a sound wave acts as a medium may be used. Alternatively, a contactless information interchange method using electromagnetic induction may be used.

(4) The above embodiment uses a physical memory card30as a recording medium. Further, the information processing device1has a memory card controller26to control the physical memory card30, However, the recording medium may be a recording medium which is connected directly to the input/output I/F22. For example, a flash memory or a USB memory having a flash memory controller and a USB interface may be used as the recording medium. In this case, the production number (serial number) of a product may be used as the ID of the recording medium.

(5) In the above embodiment, images each symbolizing a physical or virtual memory card are displayed on the display20. These images may be changed in accordance with changes in the state of the physical or virtual memory card. For example, suppose a case that writing into a virtual memory card is carried out in a state in which a physical memory card is unmounted and a virtual memory card is mounted. In this case, there is a high possibility that data in the physical memory card and data in the virtual memory card will disagree with each other. When a particular condition is satisfied, the CPU10may work to show on the display20an image indicating the possibility of disagreement in data between the physical memory card and the virtual memory card. For example, a prestored image may be displayed so as to overlap an image indicative of a memory card.

(6) In the embodiment described above, the information processing device1has an interface to which one single physical memory card is attachable. The information processing device1, however, may have an interface to which plural physical memory cards are attachable.