Portable electronic devices manufactured for capturing, creating, storing, manipulating or transferring digital music, sound, images, movies or other encoded data have become more prevalent with the advent of less expensive semiconductor processing and increased consumer demand. Consumer products such as portable MP3 (Moving Picture Experts Group Layer 3 Standard) players, digital cameras, PDAs (Electronic Personal Data Assistants) and digital voice recorders continue to gain popularity. The general trend for each of these commercial devices is to provide for greater data storage capability at reduced cost.
Unfortunately, greater memory in these devices is accompanied by an increase in cost and time wasted when such large amounts of data are lost. Many portable electronic devices have built-in memory with no redundancy so data cannot be recovered if a memory failure occurs. Even for devices that have the ability to provide back-up data, the time and sophistication required to restore previously backed-up data may be burdensome for the average consumer. Manufacturers are also faced with a more extensive design process, since the use of a PC (personal computer) to provide redundant data and backup also necessitates the design for and use of Microsoft Windows®, MAC®, or other operating system software to provide compatibility between the portable electronic devices and the PC. Also, should purchasers desire to upgrade memory devices in their products, a time consuming process ensues with the purchaser often using a PC to back up data for restoration onto the replacement memory.
Some manufacturers have attempted to solve these problems through increased data throughput to PC's for backup and file transfer. Unfortunately, often times, the single memories in these devices fail prior to back-up due to physical shock such as dropping or normal wear and tear.
Therefore, there exists a need for a system in portable electronic devices that provides for data redundancy without use of a PC, and that may provide for memory upgrade capability without the use of a PC in the transfer.
One embodiment of the present invention is described by a method of installing a new memory that has a processor and a first old memory, with the first old memory storing an amount of application data to produce a redundant array of independent memories. The method comprises initiating a duplication function in the processor, transmitting an empty data indication from the new memory to the processor, and replicating the application data from the first old memory to the new memory.
Also, a method is described for installing a new memory that has a predetermined capacity and a new memory ID into a system that comprises a processor and first and second memory IDs, first and second old memories, with the memories capable of storing application data. The method comprises removing the first of old memory from the system, installing the new memory into the system, determining whether the new memory ID matches either of the first or second memory IDs, and replicating the application data from the second old memory to the new memory if the new memory ID does not match either of the first or second memory IDs, to maintain a redundant array of independent memories.
An embodiment of the present invention comprises a processor, a bus in communication with the processor, a first memory in communication with the processor in a first data path removed from the bus, and a second memory in communication with the processor in a second data path removed from the bus and having an empty memory indicator so that, in response to the second memory containing no application data, the second memory provides a corresponding indication to the processor.
The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principals of exemplary embodiments of the invention. Moreover, in the figures, like reference numerals design corresponding parts throughout the different views.
The invention provides a system for managing and storing data in memories for use with consumer applications such as MP3 players, digital recorders, or for use with any other electronic application allowing for the capture, creating, storing, manipulating or transferring of digital music, sounds, images, movies or other encoded data. Through the use of a plurality of memories, a redundant array of independent memories is available for a controller module and for one or a plurality of electronic applications. When one of the memories becomes damaged or available for upgrading, the user may remove the subject memory, reattach it in to the controller module and initiate a simple memory duplication function to replicate the old memory application data to the new memory without the use of a PC. One embodiment of the invention also provides for removal of a memory while the controller module is powered off, with the duplicator automatically initiating upon power-on to provide for duplication of the old memory application data to the new memory.
The processor 125 provides several functions and comprises a trouble monitor 130, a duplicator 135 and a read/write circuit 140. The trouble monitor 130 and processor 125 detect whether memories connected to processor 125 are operating correctly, and notifies the user of problems through the user interface 115. The duplicator 135 enables direct duplication of application data between memory A to memory B when a memory is replaced, without the use of other external devices such as a PC. The duplicator 135 also communicates through the bus 160 with the user interface 115 to provide information to a user regarding duplication efforts. The read/write circuit 140 communicates with external applications such as the application module 165, and governs the read/write of data to master and slave memories memory A or memory B during normal operation. The elements 130, 135, 140 may be implemented in firmware or by using a software controlled general purpose DSP (digital signal processor). The bus 160 is illustrated with electrically conductive paths between the processor 125, controller 110, user interface 115, and internal memory 120. An optical bus may also be used, as well as any manner of signal conduit, medium, or signaling method. Details regarding the implementation of the above listed functions are well known in the art and have been omitted to avoid obscuring the described embodiment of the invention.
Memories A and B are shown in direct communication with processor 125. They could also communicate with the processor 125 through the bus 160 and utilize a data protocol having an addressing scheme managed by the processor 125 and controller 110.
In an alternative embodiment, a hub 150 may be provided in the controller module 100 to enable use of the controller module 100 with other applications. If the bus 160 communications with an application module 165 via the hub 150, the data path 145 may be deleted. A wireless scheme utilizing Bluetooth™ wireless technology or some similar wireless scheme could also be provided for a data path substitute between the controller module 100, memories A and B and an application module 165.
Referring to
In an alternative implementation, indicated by dashed lines in
Although various user prompts may be initiated by the controller module 100 through the user interface 115, such prompts may be omitted or may take the form of visual, oral, or some other indication appropriate to provide a check and balance in the process flow between inserting a new memory device to replicating the data.
The empty data indication provided to the processor 125 may also be an indication from an empty data flag on the new memory (block 225), or alternatively some other indication that the newly inserted memory does or does not contain user application data. For example, a physical indication may be provided with a mechanical tab on the newly inserted memory device. By way of further example, the newly inserted memory may actually be examined for existing data by the processor 125.
Referring to
In an implementation, the IDs may be serial numbers unique to each memory. Also, the order in which the processor 125 queries the memories may be different. For example, the processor 125 may query memory A and B for an empty data indication prior to or in place of querying the memories for their IDs. Rather than saving memory IDs at shut down, the processor 125 may simply look for an empty data flag indication from each memory. Or, the processor 125 may look for any indication that the Memory A or Memory B is new or contains no data.
While the invention is applicable to multiple memory systems in general, embodiments of the invention are particularly useful for portable handheld modular consumer electronic products such as those shown in
The application module 165 may be any portable electronic consumer application such as a video/still image player or reviewer, a PDA, a digital still or video camera, or an MP3 player. The application module 165 can also be connected in turn to a second application module (not shown) through electrical and mechanical connectors similar to electrical connector 415 and mechanical connectors 420. In such a case, the controller module 100 may distinguish between the different application modules by a data addressing scheme.
The symmetrical electrical connector 415 allows the application module 165 to be connected to the system in numerous different orientations making assembly of the system easier for an untrained consumer. The module can be detached from the system and replaced with a different application, or additional application modules can be connected to the first one, again without regard to their exact orientation. Mechanical connectors 420 hold the modules together once they have been positioned. The electrical connector 415 is symmetric about an axis running through the application module 165 and controller module 100 to allow for different rotational orientations between modules without loss of electrical contact after the mechanical connectors 420 are engaged or re-engaged. The illustrated electrical connector 415 has four circular electrical contacts, providing two data paths and two power paths between the devices (100, 105). The connectors for adjacent modules are unisex in nature and spring-biased to extend slightly outward from their respective modules, providing a secure electrical contact when brought in contact with each other and held in place with mechanical connectors 420.
Alternatively, the electrical connectors 415 are not symmetric about their axes, but may allow for reorientation while maintaining suitable electrical connection after the mechanical connectors 420 are reengaged. The electrical connectors 415 may be provided with male and female clamps or the like so that they function as mechanical as well as electrical connectors, thus eliminating the need for separate mechanical connectors 420. The electrical connectors may have more or fewer than the four contacts illustrated, depending upon the data and power requirements of the intended modules.
Memories A and B are shown aligned for electrical connection with the controller module 100 through a pair of electrical connectors 415 in the controller module, and a complementary pair of electrical connectors (not shown) in the memories, one for each memory. Each memory can be individually replaced if it goes bad, and a new memory installed with either the same or a 180° rotated orientation with respect to the controller moduel 100. The electrical connectors 415 between the controller and memory modules have the same design as corresponding to the connector lines between the processor 125 and memories A and B, the electrical connectors 415 between the controller and application modules, which correspond to connector line 130 in
The physical shapes of memories A and B, the controller module 100 and the application module 165 are illustrated as rectangular for convenience, but other shapes may be used as desired. The modules can be assembled in various geometric configurations. For example, and not by way of limitation, they may be stacked end-to-end along a linear axis, in an L or T shape, or in a square-like or some other commercially desirable shape. In such cases, the electrical connectors 415 and mechanical connectors 420, between the modules may need to be moved to other locations on their respective modules.
Controller module 100 is shown having a keypad user interface 120, and a display 460. The user interface 120 may alternately be a microphone for speech recognition, a pressure sensitive touch screen using thin film transistors (TFT), or some other device or combination of devices for inputting information (not shown). The display 460 provides information to the user regarding application data transfer, memory device activities, and data retrieval. Alternatively, the display 460 may be incorporated into the user interface 120 such as by utilizing a TFT screen, allowing for both display and receipt of information.
The embodiments shown in
Referring to
While various embodiments of the application have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are within the scope of this invention.