Embodiments of the present invention generally relate to the field of data processing, and in some embodiments, specifically relate to extending capabilities of consumer electronic devices.
Flash storage devices have become ubiquitous commodity components that are being utilized in a variety of consumer electronic devices. However, their functions are generally very limited.
The multiple drawings refer to the embodiments of the invention. While embodiments of the invention described herein are subject to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will herein be described in detail.
For some embodiments, methods and apparatuses of enabling storage devices such as flash storage devices to have more functions than the traditional storage functions are disclosed. The storage device may be configured to include a processor and a communication module coupled with the processor. Power can be supplied at least to the processor and the communication module by a host device associated with the storage device.
In the following description, numerous specific details are set forth, such as examples of specific data signals, components, connections, etc. in order to provide a thorough understanding of the various embodiments of the present invention. It will be apparent, however, to one skilled in the art that the embodiments of the present invention may be practiced without these specific details. In other instances, well known components or methods have not been described in detail but rather in block diagrams in order to avoid unnecessarily obscuring the embodiments of the present invention. Reference may be made to the accompanying drawings that form a part hereof, and in which it is shown by way of illustration specific embodiments in which the invention can be practiced. It is to be understood that other embodiments can be used and structural changes can be made without departing from the scope of the embodiments of this invention. As used herein, the terms “couple,” “connect,” and “attach” are interchangeable and include various forms of connecting one part to another either directly or indirectly. Also, it should be appreciated that one or more structural features described in one embodiment could be implemented in a different embodiment, even if not specifically mentioned as being a feature thereof. Thus, the specific details set forth are merely exemplary. The specific details may be varied from and still be contemplated to be within the spirit and scope of embodiments of the present invention.
As an example, hard drives commonly hold hundreds of gigabytes (GB) whereas the flash memory USB devices may not be able to store as much. The cost per megabyte (MB) may be higher fir solid-state storage devices than for electromechanical drives. However, the price gap appears to be narrowing, and the market for solid-state storage is may be growing. Many businesses and home users who have multiple computers may favor solid-state storage devices for transferring data among their machines, because it is convenient, compact, and fast.
The illustrated storage device 110 also includes device interface 235 to enable the storage device 110 to interface with the host device 105. For some embodiments, the device interface 235 is configured to conform to existing flash storage (file system) interface. Having the standard form factor and conforming to the existing storage interface may enable the storage device 110 to be used with a host device 105 from many different manufacturers. For some embodiments, the storage device 110 is configured to draw power from the host device 105 when the device interface 235 is coupled with the host interface 108. The power drawn from the host device 105 may be used to power at least the processor 205 and the communication module 220.
The flash storage 230 may be used as a local flash storage. For example, the host device 105 may be a digital camera and digital images captured by the host device 105 may be stored in the flash storage 230. The communication module 220 may be implemented to operate with a Wi-Fi (e.g., Institute of Electrical and Electronics Engineers/IEEE 802.11-2007, Wireless Local Area Network/LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications) network, cellular network (e.g., a “3G” network, a “4G” network) or any type of network that enables the storage device 110 to exchange information with other devices.
With continuing reference to
The storage device 110 may not have a user interface. It may, however, support virtual device interface such as, for example, virtual network computing (VNC) via Wi-Fi, 3G, 4G, etc. VNC is software that makes it possible to view and interact with a computer from any other computer or device connected to the Internet. VNC is cross-platform, so a person using a Windows-based computer can connect to and interact with a UNIX system. For example, when the Android OS is used in the storage device 110, the standard Android graphical user interface (GUI) display may be seen in a VNC client running on some other devices. As another example, the storage device 110 may be configured to execute instructions associated with a web server, and users may interact with the web server in a way that is similar to how the Wi-Fi routers are configured using a Windows-based computer.
With continuing reference to
For example, a digital camera (or host device) 410B equipped with the storage device 110 may send images in real time to a digital photo frame 410D that is also equipped with a storage device such as the storage device 110. As another example, a voice recorder (or host device) 410A equipped with the storage device 110 may automatically send each new snippet of newly recorded voice to a “voice Twitter” social networking site. The voice recorder 410A may also perform automatic transcription and post the text to the Twitter social networking site 405A. As another example, a radio receiver (or host device) 410C that records daily programs may be programmed to deposit its recordings in a home media server 405C or uploading it to a cloud-based service. Other examples include a pocket scanner (or host device) that writes its scanned files to the storage device 110 may be programmed to send the scanned files to an e-reader, which may be similarly equipped with a storage device similar to the storage device 110, and a printer (or host device) that uses the storage device 110 as part of its print queue may easily implement an “email-to-print” feature.
The host devices used in the above examples may be referred to as “dumb” devices which normally would have limited functionalities. However, when pairing with the storage device 110, these “dumb” host devices have significantly more functionalities. For some embodiments, multiple storage devices 110 (together with their corresponding host devices 105) may be configured to work together as a federation to collaboratively perform a single task. This operating system of the storage devices 110 may be configured to recognize the collaboration in order to perform the task.
Having the storage device 110 configured with the features as described in
For some embodiments, the user applications developed for the storage device 110 may be stored in cloud-based services associated with a partner. The user applications may then be downloaded to the storage device 110 based on a user of the corresponding host device 105 registering for the services of the cloud. In essence, the cloud-based services may be viewed as an application store for all of the applications developed for the storage device 110. In these scenarios, the local flash storage 230 may be used as a cache. As another example, the user applications may be coupled with network-based image hosting services such as Picasa of Google, Inc. of Mountain View, Calif. As another example, the user applications may be coupled with network-based video hosting services such as YouTube of Google, Inc. As another example, the user applications may be coupled with network-based document hosting services such as Google Does of Google, Inc. There are many other applications that may be used with the storage device 110 using the services available from the cloud-based services and/or from the services connected to the Internet. For some embodiments, computational demands may be offloaded from the storage device 110 (and the processor 215) to server computing systems that are part of the cloud and/or connected to the Internet.
It should be noted that the storage device 110 described herein may be applicable for usage in many different types of consumer electronics. If any examples refer to the use of the storage device 110 in digital cameras or the like, they are only as examples and are not meant to be limiting to those applications. In other words, the storage device 110 may be used in any consumer electronics or host device) that are configured to accept flash memory using the common form factor such as the SD card or a USB thumb drive. Further, the storage device 110 described herein may be configured to operate with user developed applications that may be downloaded and executed by a processor on the storage device 110.
With continuing reference to
The flow diagram may therefore be associated with a method for enabling a host device to operate with a flash storage device, wherein the flash storage device is configured to operate with its own processor and communication module. The method also includes enabling one or more user applications to be loaded into a memory of the flash storage device, enabling data generated by the host device to be stored in a flash memory storage of the flash storage device, and enabling the one or more user applications to be executed by the processor to process the data generated by the host device, wherein the processor is configured to operate using power supplied by the host device and not by the flash storage device.
Embodiments may also include a storage apparatus having a processor, and a memory module coupled with the processor and configured to store a mobile operating system and one or more user applications. The storage apparatus can also have a device interface configured to couple with an interface of a host device. The storage device can further include a storage module configured to store data associated with the host device, wherein at least the processor and the memory module are configured to operate using power supplied by the host device.
In addition, embodiments can include a system having a host device with a host interface and configured to perform a specific function to generate a first set of data. The system can also have a first storage device coupled with the host device and having a processor, flash memory storage, and a device interface conforming to a flash memory interface, wherein the first set of data generated by the host device is to be stored in the flash memory storage. The processor may be configured to run one or more user applications to process the first set of data. Additionally, the processor may be configured to operate using power supplied by the host device.
Other embodiments may include a computer readable storage medium having a set of instructions which, if executed by a processor, cause a flash storage device to enable a host device to operate with the flash storage device. The flash storage device may be configured to operate with the processor and a communication module. The set of instructions which, if executed by the processor, can further enable one or more user applications to be loaded into a memory of the flash storage device, enable data generated by the host device to be stored in a flash memory storage of the flash storage device, and enable the one or more user applications to be executed by the processor to process the data generated by the host device. Moreover, the processor may be configured to operate using power supplied by the host device and not by the flash storage device.
Although embodiments of this invention have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of embodiments of this invention as defined by the appended claims. For example, specific examples are provided for shapes and materials; however, embodiments include those variations Obvious to a person skilled in the art, such as changing a shape or combining materials together. Further, while some specific embodiments of the invention have been shown the invention is not to be limited to these embodiments. For example, several specific modules have been shown. Each module performs a few specific functions. However, all of these functions could be grouped into one module or even broken down further into scores of modules. Most functions performed by electronic hardware components may be duplicated by software emulation and vice versa. The embodiments of the invention are to be understood as not limited by the specific embodiments described herein, but only by scope of the appended claims.
The present application is a continuation of U.S. patent application Ser. No. 13/997,081 filed Oct. 7, 2013, which is a National Stage Entry of PCT/CN2011/081667 filed 11-02-201, the entire disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 13997081 | Oct 2013 | US |
Child | 15695684 | US |