FIELD OF THE INVENTION
- BACKGROUND OF THE INVENTION
The present invention relates to providing indications of drive activity, and in particular to sampling of hard disk drive activity and providing a notification to a user based on the sampling.
- SUMMARY OF THE INVENTION
Disk drives and other storage devices are usually equipped with activity lights that indicate when the drive is actively transferring data to and from a computer system. These lights tend to flicker consistent with the activity of the drive. Further, the activity lights are located proximate the disk drives, which many times are not viewable by a user. In some cases, the drives are located in a portion of the system not viewable by a user during normal use of the drive. The system itself may be located beneath a table, and a user cannot see the activity light even if openly viewable otherwise.
A storage drive activity state is sampled. A representation of the sampling is used to control a remote drive activity indicator.
In one embodiment, a disk drive activity signal is sampled by hardware either based on an edge transition of the activity signal, or on a periodic basis. If the state of the activity signal changes, state change data is sent via a controller to a keyboard. A disk drive status light on the keyboard is controlled by the change data.
BRIEF DESCRIPTION OF THE DRAWINGS
In a further embodiment, the controller is a USB host controller that sends the state change data or commands to a USB function that controls the status light.
FIG. 1 is a block representation of a computer system having a remote disk activity indicator.
FIG. 2 is a block schematic diagram of modules for providing remote disk activity indications.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 3 is a flow chart of operation of remote disk activity indicator control.
In the following description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
A personal computer is shown at 100 in FIG. 1. The computer 100 comprises a tower, or desk unit 110 having a disk drive 120 with an activity light 130 driven by an activity signal. The activity signal is generated when the disk drive is actively seeking and or transferring information to and from the disk. Disk drives include both hard disk drives, floppy disk drives, CD drives, DVD drives and other types of data storage devices, such as tape drives.
The computer 100 further includes a monitor or display 140 which is a standard CRT device in one embodiment, plasma display, flat panel, active matrix or other type of display device. A cursor control device such as a keyboard 150 having a plurality of keys, and a remote activity indicator 160 such as an LCD or LED is also provided. In further embodiments, the remote activity indicator 160 is located on a mouse device having cursor control and selection functions. The activity indicator is separate from the drive 120, since the drive may not be easily viewable by a user. The drive may not be visible because it is located within the tower, or the tower is located remotely from the keyboard and display, such as under a desk, or off to the side of a desk.
In one embodiment, the keyboard is coupled to the tower 110 by a USB (Universal Serial Bus) connection. A USB connection provides a high speed serial communication link. It is fast becoming the preferred method of attaching peripheral devices to a computer because of its ability to detect, power and configure the peripheral devices, as well as its ability to provide high speed data transfer. A USB controller usually comprises software and a USB connector in a host computer, such as tower 110. Communications with peripheral devices is carried on via transactions, which include commands for execution by functions in the peripheral device.
In operation, hardware in the tower 110 samples the activity signal 210 generated by the disk drive as shown in FIG. 2. A sampler 220 is shown in block form coupled to the activity signal. The sampler 220 operates in one of at least two different manners. In a first sampling mode, the activity signal is sampled in a periodic manner, such as every 30 milliseconds. In a further mode, the sampler 220 detects edges in the activity signal, corresponding to changes in state of the activity signal.
If the state of the activity signal changes, state change data is sent via a bus controller 230 to a USB bus connector 240 on the keyboard. The state change data is in the form of a transaction with a command for a activity indicator function to execute. The commands comprise commands representative of turning an activity indicator on and off, such as “INDICATOR ON” and “INDICATOR OFF”. A latch 250, is used to control the state of the indicator 260 consistent with the sampled activity. In one embodiment, the indicator 260 is a light that goes on and off in accordance with the received commands. When the light is on, that corresponds to disk drive activity. An off state corresponds to no drive activity.
In one embodiment, the cursor control device 150 is a mouse, trackball or touchpad and has a housing and a cursor input device. The cursor input device is suitable for providing an output indicating movement of a cursor to an information handling system, such as a personal computer. A key disposed on the housing is suitable for enabling a user to select a cursor position. An activity indicator is disposed on the housing for indicating activity of an electronic data storage device disposed in the information handling system.
A flowchart showing operation of the functions of the present invention is provided in FIG. 3. The functions are implemented by software executing on one or more processors, such as device drivers, either alone or in combination with other hardware or firmware. The functions are also described as modules. Functions may be implemented in one or more modules as desired.
At 310, the activity signal provided by the drive is sampled. The sampling rate in one embodiment is approximately every 30 milliseconds. This sampling rate provides a fairly accurate rate of sampling, yet minimizes bus traffic. Higher sampling rates provide more accuracy and consume more bandwidth. Lower rates are desired in further embodiments to further minimize bandwidth utilization.
A sampled activity signal is provided to a controller module at 320. The controller module determines whether the sampled activity signal indicates activity, or no activity. In one embodiment, the controller keeps a record of recent activity signal indications, and generates a command at 330 if the activity has changed since the last activity indication. In one embodiment, the command is simply a change command. In further embodiments, two different commands are generated, an “ON” command and an “OFF” command corresponding to the desired state of a remote activity indicator.
In yet a further embodiment, the history of activity signals is analyzed to provide a filtered analysis. If the activity state is changing rapidly, indicative of intermittent activity of the drive, the sampled activity signal is filtered to minimize the number of commands sent and prevent rapid changing in the remote indicator. In one embodiment, an average of the most recent five or more sampled activity signals is used to determine the command and whether or not to send a new command indicative of a change of state of the activity of the drive. In a further embodiment, 3 or more consecutive identical sampled activity signals are utilized to determine whether or not to send a change command. In still further embodiments, the number of consecutive identical activity indications is different for determining whether to send an ON command or an OFF command. Many other variations may be used.
Once the command is generated at 330, it is sent to a function at 340 in one embodiment for controlling the state of the remote activity indicator. The function in one embodiment is a USB function. The function receives and executes the command at 350. In further embodiments, many different methods of communicating the sampled state of the activity of the drive are used. Wireless transceivers are used in one embodiment to communicate the sampled activity of the drive to the remote indicator. Hardwired connections are used in a further embodiment with high and low logic levels controlling the state of the remote activity indicator.
At 360, a latch state is changed if necessary to control or change the state of the remote indicator at 370. In one embodiment, the latch function is incorporated into the remote indicator. If the received command indicates no change in state, the output of the latch does not change. The latch function is used to maintain the state of the remote indicator until a change is commanded. The function can be implemented in one of many different ways known to one of skill in the art.