Portable storage devices used for storing digital data, such as USB (universal serial bus) drives, are becoming ever more popular. Their wide spread use and adoption is due in part to their small size and light weight. Moreover, USB drives are removable and rewritable. And because USB drives contain no moving parts, they are compact, reliable, and durable. In addition, USB drives are quite easy to use. To load data, the USB drive is simply plugged into a USB port on a host system (typically a personal computer) or into a USB hub (e.g., a USB connection built into a keyboard, monitor, etc.). The USB port provides the requisite power and offers a standard input/output (I/O) interface. Data stored on a host system is simply selected, dragged and dropped onto the USB drive. Likewise, data can be transferred from a USB drive by selecting, dragging, and dropping the data onto the host system's destination memory device, such as a hard disk drive. Data can also be accessed directly from the USB drive once it has been plugged into a host device. Moreover, advances in non-volatile flash memory technology continue to increase capacity while lowering costs. All of these advantages make USB drives ideal for temporarily storing and physically transporting digital data.
A USB drive typically consists of a small printed circuit board encased in plastic or metal. Mounted on the printed circuit board are the flash memory chip and a few integrated circuit chips to provide the interface to the USB port and to control/drive the flash memory. A USB connector used to couple the USB drive to a host system, protrudes from the body of the casing and is protected by a cap. Many USB drives also include an LED (light emitting diode). The LED light is turned on/off to indicate whether the USB drive is active or inactive. In other words, the LED light is turned on when data is being written to or read from the USB drive; otherwise, the LED light is turned off. In some cases, the LED can be made to flash to signal that an activity is occurring.
Unfortunately, this LED light sheds very little information regarding the actual state of the USB drive. Based solely on the LED, the user has no way of knowing how much capacity the USB drive has left. Consequently, the user has to guess at whether the USB drive has enough capacity available to store selected file(s). And even if there is enough capacity, the LED does not contain any indication as to how much additional storage will be consumed when writing specific files or data to the USB drive nor how much capacity will remain after the data transfer completes. Furthermore, the LED cannot inform the user of the current progress of a data transfer. The user may also be interested in knowing whether data is protected. Sensitive and critical data should be protected in order to prevent this data from being overwritten or otherwise erased and lost. Again, the LED yields no information as to whether certain data is protected. Another drawback is that the LED light does not convey to the user that the USB drive is in the process of synchronizing or backing up the data. In some situations, it may be unsafe to unplug the USB drive; data could become corrupted or damaged. With nothing more than a simple LED, the user has no guaranteed way as to knowing when it would be safe or unsafe to unplug the USB drive.
Another shortcoming of typical USB drives is that there is no input mechanism to instruct the USB drive to stop, pause, or resume its operations.
Furthermore, because the USB drive is typically manufactured by a company different from the company that manufactures the host system, there is no uniform user interface common to both the USB drive and the host system. It is left to the user to learn how to interpret all of the bewildering array of indicators and user interfaces, both hardware and software, commercially distributed by all of the numerous USB drive and host system manufacturers. Hitherto, there has not been a comprehensive, integrated, end-to-end user interface design that is intuitive and satisfies the end needs of the user.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
An integrated, comprehensive, end-to-end user interface that visually conveys one or more states of a portable storage device is disclosed. The user interface includes an icon that is displayed as part of the portable storage device. The icon can provide storage information, a synchronization animation, protection animation, a visual cue for the amount of additional memory that will be consumed before performing a copy or transfer task, unsafe to eject indication, and protection level. The same type of icon can also be displayed on the host system. The host system can also display an enhanced version of the icon as well as a menu to give additional details pertaining to the protection level and contents of the portable storage device. One or more buttons can be included to stop, pause, and resume operation. Thus, with a quick glance at the user interface, much information regarding the operation, content, and status of the portable storage device can be conveyed.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
A method and system for an integrated, comprehensive, end-to-end user interface that visually conveys the state of a portable storage device is disclosed. By glancing at this user interface, the user can glean much useful knowledge regarding the current state of the portable storage device.
One useful piece of information that the user interface portrays is the amount of storage that is currently being used. This may be conveyed by lighting up a portion of the circle. Given that the entire circle represents the total capacity of the portable memory device, a portion of this circle is lit up to represent how much of that total capacity already contains data. The portion lighted is proportional to the amount of the memory that contains stored data relative to the total storage capacity. For example, if one-third of the total capacity is filled with data, then one-third portion (105 and 106) of the circle is lighted. By glancing at the circular icon, the user can readily estimate how much memory is currently consumed and the amount of memory currently available. It gives the user a quick and intuitive way to gauge the storage capacity at a glance.
The circular icons 101 and 103 can also be used to denote that there is more content to be synced (when in manual sync mode). This can be indicated by varying the intensity of the light emanating from circular icons 101 and 103.
Another condition that can be conveyed by the circular icons 101 and 103 relates to that of synchronization. The appearance of the circular icons 101 and 103 can be changed to reflect when data is being synchronized between the host computer system and the portable memory device. For example, light can be made to continuously move in a circular motion around and about the circular icons 101 and 103 during the entire synchronization process. When the synchronization process completes, the light stops circling. Similarly, when the data on the portable memory device is being backed up or archived, the light can be made to continuously circle around the icon. Different colored lights can be used to differentiate between the synchronization process versus the backup process.
Each of these three different conditions pertaining to the portable memory device can be conveyed by the same, given icon. This is accomplished by utilizing different visual cues corresponding to the icon to reflect the different conditions. By simply glancing at the relatively austere icon, the user can instantly and intuitively be informed of the portable memory device's capacity situation, and synchronization and/or backup progress.
Furthermore, the circular icons 101 and 103 need not be paired up. They can function separately and independently. For example, circular icon 101 of USB drive 102 can be plugged into a host system that does not support a user interface application corresponding to that of the circular icon. In this case, the software and hardware elements embedded within USB drive 102 obtain the necessary information and drive the circular icon 101 to convey the appropriate information (e.g., storage capacity, and synchronization/backup progress).
In one embodiment, a button 203 is displayed within the circular icon. Button 203 can be any shape or size. In this example, button 203 is given by two arrows forming a concentric circle. The button can be clicked on to initiate a function. In one embodiment, a user moves a cursor on the display screen to place the cursor over the button 203 and then clicks a mouse button to invoke the function. In another embodiment, the button could be an actual physical switch. The switch can be housed within a USB drive. The user pushes or toggles the switch to invoke the function. Some functions that can be invoked include loading or backing up data on the USB drive or providing offline functions on the device (e.g., show information that the user chooses to see, such as memory available, owner information in case the USB drive becomes lost, etc.). The user can also click on the button to stop, pause, and resume operations on the USB drive. Consecutive clicks on the button 203 can invoke different functions. For example, clicking the button for the first time can initiate a loading function. Clicking on the button 203 while data is being loaded can cause the USB drive to stop the loading process. After a pre-determined amount of time, the user can click on button 203 again to continue the loading function. The user can also issue multiple clicks on the button to pause and resume loading multiple times.
Different colors can also be used to highlight that it would be unsafe to remove or unplug the USB drive. For example, a green light can mean that it is safe to remove or unplug the USB drive. On the other hand, a red light can mean that it would be unsafe to remove or unplug the USB drive. A light that is revolving about the circular icon indicates that the USB is currently active and is in the process of conducting an operation (e.g., synchronization, backup, data transfer, etc.). When the activity completes or when it becomes safe to remove or unplug the USB drive, a rest or idle state is shown. There is no glyph of the visual indicator shown in the middle of the circle.
Another way to warn the user of a potentially dangerous situation is the use of a flashing visual indicator or perhaps by emitting a warning sound. This separate visual and/or audio indicator is used to provide a warning to the user that it may be unsafe to remove or otherwise unplug the USB device.
The user interface can also be expanded to provide even more information regarding the portable storage device.
One additional feature is that it can display the private versus public sections associated with the portable storage device. In one embodiment, the enhanced circular icon 502 can be divided into a pie chart. The pie chart shows the relative portions of the memory that is segregated into private versus public sections. For example, the enhanced circular icon 502 can represent the private section as a wedge shape labeled as “Private.” The set amount of private capacity can also be displayed. In this example, the amount of memory dedicated to storing private data is set at 12 GB. Authorization is required to access sensitive or important data stored in the private section. In other words, users are prevented from reading from and writing to the private section of memory unless they are authorized (e.g., password protected). The remaining portion 503 of the enhanced circular icon 502 represents the relative amount of memory that is open to the public. This portion is labeled as “Public.” In this example, 20 GB of the total memory capacity has been set to being publicly available.
In one embodiment, the circular outlines corresponding to Private portion 502 and Public portion 503 can each have different sections, represented by contrasting lighting and/or colors, to represent their current respective storage conditions. For example, the circular outline of Private portion 502 can be divided into three different sections 504, 505, and 506. Section 504 represents the amount of memory available in the private portion. Section 505 and 506 represent areas in the private section that already contain data. The difference between the areas is that they represent different types of content (e.g., music, photos, programs, etc.). Likewise, the circular outline of Public portion 503 can be divided into three different sections 507, 508, and 509. Section 507 represents the amount of memory still available in the public portion. Sections 508 and 509 represent the public portions that contain data. If the user is not selecting a file to be stored, the public and private portions will each have two sections to show private versus public data, and each section shows available storage and storage with data. The sections showing data are color coded to represent different types of data.
In one embodiment, the user can place a cursor over and click on an edge 510 of the wedge separating the private from the public memory of enhanced circular icon 505. The user can then swing or rotate the edge (either clockwise or counter-clockwise) to change the amount of memory that is dedicated to being private versus public. When the desired proportion of private versus public memory is attained, the user can deselect the edge by letting go of the mouse button. Thereby, the user has a convenient, easy way to set the amount of memory dedicated to private and public storage.
In one embodiment, menu 501 can have a separate section 511 that gives additional graphic and/or text information pertaining to the contents and functions of the portable storage device. For example, section 511 can display that the host system is currently importing files from the portable storage device; it can also display the number of files scheduled to be imported. The contents being imported can also be rendered for display as small icons. For example, six small icons of photos can be displayed as they are scheduled for import.
Hardware and software modifications and/or additions to portable memory device controllers and software components are used to implement the user interface.
In one embodiment, an application specific integrated circuit (ASIC) chip 607 can be attached to printed circuit board 603. The ASIC chip 607 receives signals from the USB controller 604 and generates the display signals according to the user interface software. The display signals render the circular icon on LCD screen 606. The advantage to using a separate ASIC chip 607 is that any standard USB controller 604 can be used instead of using a specially tailored or modified USB controller.
The I/O interface 702 and USB host controller 704 are coupled to a bus 707. Also coupled to bus 707 is memory 708. Memory 708 represents both volatile (RAM) as well as non-volatile memory (e.g., ROM, hard disk drive, flash memory, etc.). Memory 708 contains user interface (UI) application 709, USB software components 710, operating system 711, and user data 712. The UI application 709 obtains information regarding the state of the USB drive from the USB software 710 and coordinates with the operating system 711 to have the microprocessor 707 generate the appropriate display signals to render a user interface indicator, such as the circular icon 714 and/or menu as described above, for display on screen 713. Likewise, the UI application 709 can obtain relevant information regarding other portable storage devices from their respective device software and render multiple icons for display. Each portable storage device coupled to the host system 701 can have its own icon rendered for display on screen 713. By glancing at all of these icons, a user can quickly and easily assuage the conditions of the various and sometimes disparate portable storage devices.
Normal data transfers, such as write operations 905 and read operations 906, result in the display of a visual indicator 907 informing the user that read/write operations are currently in progress. A warning indicator can be displayed to the user that it may be unsafe to hot-unplug the portable storage device at this time. In one embodiment, the indicator to show that it is unsafe to unplug is the spinning motion, which means “busy” do not remove.
In step 908, the visual indicator can be changed in a manner to represent the amount of memory that is protected versus the amount of memory that is public. This is shown in the expanded view of the header. In one embodiment, the actual amounts, in gigabytes, of protected and public memory is rendered for display.
In step 909, the visual indicators on one or more portable storage devices (e.g., USB drives) share the same uniform design and function in the same manner as the visual indicators displayed by the host system. This ensures a comprehensive, end-to-end user interface design that is easily understood by the user.
In step 910, the software process can display an enhanced version of the visual indicator. The enhanced version can be made larger and can contain additional information regarding the current progress of the portable storage device as well as give information regarding its contents.
The information needed to generate the icon and/or other visual indicators is obtained from PSD driver 1002 and PSD host controller driver 1008. If there are different PSD's there may be multiple drivers and host controller drivers. The PSD driver 1003 has knowledge of the device requirements (by means of device descriptors), as well as knowledge of the PSD's capabilities. The PSD driver 1003 also provides a programming interface which enables client driver's data transfer requests to be performed. In one embodiment, the PSD driver 1002 contains a configuration manager 1004, client services component 1005, bus manager 1006, and data transfer block 1007. The PSD host controller driver 1008 provides the low level support for the PSD software 1013-1016. In one embodiment, the PSD host controller driver 1008 includes a scheduler 1009, a queue manager 1010, and a controller manager 1011. The PSD host controller 1012 interfaces between the PSD host controller driver 1008 and the PSD client software 1013-1016. The details of the PSD driver 1003, PSD host controller driver 1008, PSD host controller 1012, and PSD client software 1013-1016 can be found in the specification for the USB 2.0 and 3.0 standards.
Therefore, a user interface for a portable storage device is disclosed. It should be noted that the user interface works with any portable storage device or any device that stores digital data and can be physically carried or moved about by a single person. The USB drive is just one example of a portable storage device. Other portable storage devices may or may not be USB compliant. The storage technology may include, but are not limited to magnetic memory (e.g., hard disk drives) and semiconductor-based memory (flash memory). Other examples may include SATA external connectors, Flash memory devices on a 1394 connector, and portable storage drives that are connected via an electrical connector that provides high speed data transfers. These devices offer data accessibility without requiring tools and are capable of being connected and disconnected without regards to the power being turned on or off.
Furthermore, many different types of display technologies, not limited to LCD displays, can be used to display the user interface. And although the subject matter has been described in a language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.