US20100217558A1 - Minimization of false trigger in a mobile electronic system - Google Patents
Minimization of false trigger in a mobile electronic system Download PDFInfo
- Publication number
- US20100217558A1 US20100217558A1 US12/394,030 US39403009A US2010217558A1 US 20100217558 A1 US20100217558 A1 US 20100217558A1 US 39403009 A US39403009 A US 39403009A US 2010217558 A1 US2010217558 A1 US 2010217558A1
- Authority
- US
- United States
- Prior art keywords
- trigger
- trigger event
- threshold
- quiet period
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/02—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
- G01P15/08—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values
- G01P15/0891—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values with indication of predetermined acceleration values
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/04—Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
- G11B19/041—Detection or prevention of read or write errors
- G11B19/042—Detection or prevention of read or write errors due to external shock or vibration
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/04—Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
- G11B19/041—Detection or prevention of read or write errors
- G11B19/043—Detection or prevention of read or write errors by detecting a free-fall condition
Definitions
- the present invention relates to mobile electronic devices, and more particularly, to acceleration sensing of mobile electronic devices.
- Shock and impact forces sustained by mobile electronic systems or devices during usage can be detrimental to the reliability of components within the mobile devices, such as hard disk drives. This may be especially true when mobile devices are in operation. For example, excessive shock force can cause a recording head in a disk drive to contact the spinning disk, resulting in damage to the recording head or disk surface, and leading ultimately to loss of the data stored on the disk.
- Such methods may include mechanically tuning the HDD actuator to minimize contact force with the disk during a shock or impact event, or embedding an accelerometer in the hard disk drive to detect a free fall and park the HDD actuator prior to an anticipated impact.
- the free fall detection scheme in particular may be prone to false triggering.
- User handling of the computer system may cause movement of the system that is interpreted as a freefall event, resulting in unnecessary parking of the hard drive actuator.
- any repetitive motion may also cause undesired frequent triggers of the freefall sensor.
- the false trigger rate typically increases when the accelerometer is calibrated for greater sensitivity to detect a lower drop height.
- Excessive false detection results in unnecessary parking of the hard drive actuator and has a detrimental impact on computer system I/O performance.
- Excessive parking of the hard drive actuator can result in the interruption of data transfer activities between the hard disk drive and the computer system, and can lead to system stability issues or software application performance issues.
- FIG. 1 illustrates one embodiment of a data storage device
- FIG. 2A illustrates one embodiment of a mobile computer system
- FIG. 2B illustrates one embodiment of a processing system
- FIG. 3 is a flow diagram illustrating one embodiment of a trigger event detection process.
- FIG. 4A is a timeline illustrating a trigger event detection process according to one embodiment
- FIG. 4B a timeline illustrating a trigger event detection process according to one embodiment
- FIG. 5 is a flow diagram illustrating one embodiment of a trigger event detection process
- FIG. 6 is a line graph illustrating acceleration measured by an accelerometer during a free fall of a mobile electronic device, according to one embodiment.
- One embodiment of a mechanism for reducing the number of false triggers detected by a free fall detection system may take advantage of the contexts in which true free fall events occur, as compared to normal user handling of the computer system.
- a true free fall or a shock event is typically not repetitive within a short duration.
- a free fall event may be caused by a user dropping the computer system, and the likelihood is small that the user will drop the computer system more than once or twice within a given window of time.
- a mechanism for reducing the false trigger rate can distinguish between trigger events based on whether or not the trigger event is repetitive within a given time window. Such a mechanism may reduce the number of false triggers by adjusting the criteria for identifying a trigger event from raw sensor data, or by qualifying an identified trigger event as a false trigger based on a pattern of identified trigger events.
- One embodiment of a mechanism for reducing the number of false triggers monitors for repetitive discrete trigger events reported according to a sensor processing procedure.
- a processing unit such as a microprocessor or controller, receives a raw signal from an accelerometer.
- the processing unit applies the sensor processing procedure to the raw signal.
- the processing unit sends an actuation signal to an actuator to initiate some preventative action.
- the actuator may be a hard disk drive (HDD) actuator that is parked in anticipation of a shock or impact in response to the actuation signal.
- HDD hard disk drive
- the processing unit initiates a quiet period in response to detecting a threshold number of repetitive trigger events within a predefined time window.
- the processing unit identifies a trigger event based on the raw sensor data, but bypasses or avoids sending the actuation signal in response to the trigger event. Thus, the preventative action is avoided during the quiet period.
- the quiet period is terminated when the rate of trigger event detection within the quiet period is below a predefined threshold. This step indicates that a repetitive motion condition causing the repetitive trigger events is likely to have stopped. Once the quiet period has expired, the processing unit can resume normal operation in which the actuation signal is sent in response to detection of each trigger event.
- a mechanism for reducing the false trigger rate only relies on the logical output (indicating whether or not a trigger event has occurred) of the sensor processing procedure, and therefore can be implemented in conjunction with any of a variety of sensor processing procedures that provide such a logical output based on the raw sensor signal.
- FIG. 1 is a top-down view of a data storage device 103 , which contains a data storage medium 102 , such as a magnetic storage medium, and an actuator 104 having a magnetic read/write head 106 .
- Read/write head 106 reads and writes data to tracks 108 on data storage medium 102 .
- a safe parked position 126 for actuator 104 is indicated by broken lines.
- Data storage device 103 such as a hard disk drive (HDD) is operatively coupled to system electronics 112 (discussed with reference to FIG. 2 below). In response to commands from system electronics 112 , data storage device 103 moves actuator 104 and magnetic read/write head 106 rapidly sideways in a plane approximately parallel to the data storage medium 102 between its operating position and the parked position 126 .
- HDD hard disk drive
- data storage device 103 also includes a free fall detection system 140 including an accelerometer 120 and a processing unit 130 that includes a trigger event generator 131 , event logic 133 , and trigger counter 135 .
- the accelerometer 120 provides a raw signal 121 to the trigger event generator 131 .
- the trigger event generator 131 provides a trigger event signal 132 to the event logic 133 .
- the event logic 133 provides an actuation signal 134 to the actuator 104 .
- Event logic 133 is further coupled to trigger counter 135 .
- the accelerometer 120 may be a sensor such as a free-fall sensor or other sensor capable of measuring acceleration or inertial forces.
- the accelerometer 120 measures the acceleration experienced by the data storage device 103 and outputs a raw signal 121 corresponding to the amount of the acceleration measured.
- the raw signal 121 is received by the trigger event generator 131 , which generates a trigger event signal 131 by applying a sensor processing procedure to the raw signal 121 .
- the sensor processing procedure may dictate that a measured acceleration level that exceeds an acceleration threshold for a time exceeding a duration threshold should be identified as a trigger event. Accordingly, when the trigger event generator 131 receives a raw signal 121 indicating a measured acceleration that exceeds these thresholds, the trigger event generator 131 outputs a signal 132 indicating that a trigger event has occurred.
- the trigger event signal 132 is received by the event logic 133 , which generates an actuation signal 134 based on the pattern of trigger events received.
- the event logic 133 operates according to a normal mode of operation by responding to the occurrence of each trigger event by sending an actuation signal 134 to actuator 104 .
- the actuation signal 134 causes a HDD actuator 104 to move into parked position 126 for a duration of time, which may be referred to as a park duration. Upon lapse of the park duration, the actuator 104 may unpark, or move from the parked position 126 .
- event logic 133 also determines whether a trigger event is a false trigger by monitoring the repetition of trigger events.
- event logic 133 is configured to store the number of trigger events received in trigger counter 135 .
- Trigger counter 135 may be implemented as a register or other memory.
- the event logic 133 may initiate a quiet period (during which the event logic 133 operates in quiet mode) in response to receiving a threshold number of trigger events within a predefined time period. For example, the event logic 133 may initiate the quiet period in response to receiving three trigger events within a 30 second time window.
- the event logic 133 bypasses taking a preventative action in response to detecting a trigger event 132 .
- event logic 133 may inhibit or prevent actuation signal 134 from being sent to actuator 104 even though a trigger event 132 is received from trigger event generator 131 .
- the HDD actuator 104 is not parked.
- the event logic 133 detects a repetitive motion condition based on the pattern of trigger events detected, and responds by initiating a quiet period during which the preventative action (i.e., parking the HDD actuator 104 ) is bypassed. This behavior reduces the amount of unnecessary parking of the actuator 104 , increasing the availability of the head 106 to read or write data.
- the event logic 133 sends a quiet signal (not shown) to the trigger event generator 131 to indicate the initiation of the quiet period.
- the trigger event generator adjusts its threshold for identifying trigger events. For example, during normal operation, the trigger event generator 131 may identify a trigger event 132 when the raw signal 121 indicates an acceleration of 0.4 g for a duration of 40 ms. During the quiet period, this trigger threshold may change so that trigger events are less likely to occur. For example, the acceleration threshold of 0.4 g may change to 0.3 g, or the duration threshold of 40 ms may change to 50 ms during the quiet period.
- the event logic 133 uses a learning scheme to set a more conservative trigger threshold that depends on the level and duration of g-forces detected by the accelerometer during the quiet period. For example, if repeated triggers result from an acceleration of 0.4 g for a duration of 40 ms, the trigger threshold during the quiet period may be set at 0.3 g for a duration of 45 ms so that similar repeated triggers would not cause a trigger event during the quiet period. Thus, the trigger threshold is increased by a certain margin to prevent similar trigger events from occurring during the quiet period.
- the trigger threshold used during the quiet period may be an adaptive value that changes based on actual values recorded by the accelerometer before or during the quiet period.
- the level of the quiet period trigger threshold may be set based on such values as the average or maximum value of past values recorded by the accelerometer, or an average plus a multiple of the standard deviation of past recorded values.
- One advantage of this scheme is that when a new threshold is set based on the actual recorded values, the event logic 133 will more reliably exit the quiet period because a substantially lower amount of accelerometer reading may be required to return to the normal operating mode. For example, an exit criteria based on a hard coded number (i.e. an empirically determined threshold or a threshold pre-set prior to the device being used) may not account for different usage characteristics between different users.
- the scheme may further minimize future false triggers by using this actual accelerometer reading as a learned quiet period threshold.
- the learned quiet period trigger threshold may be continually adjusted during the quiet period.
- the level of the quiet period trigger threshold may be set based on other inputs.
- the event logic 133 responds to a repetitive motion condition that causes repeated false trigger events by initiating a quiet period, during which the number of false trigger events is reduced by adjusting the threshold for identifying trigger events. The number of times the actuator 104 is unnecessarily parked is reduced as a result of the reduction in false trigger events.
- event logic 133 continues to monitor the trigger events received from trigger event generator 131 during the quiet period to determine when to terminate the quiet period.
- the event logic may terminate the quiet period when one or more expiration criteria are met.
- the event logic 133 may terminate the quiet period in response to expiration criteria such as the lapse of a time interval since the initiation of the quiet period or detection of a user input.
- the event logic 133 terminates the quiet period in response to detecting a lack of false trigger events during a time interval.
- the event logic 133 may terminate a quiet period in response to determining that no trigger events or less than a predetermined number of trigger events have been detected during a 90 second period of time.
- accelerometer 120 includes logic implementing trigger event generator 131 so that the functions of trigger event generator 131 are not performed within processing unit 130 , but are instead performed within accelerometer 120 .
- the accelerometer 120 includes an inertial switch, and trigger events are indicated by the raw output of the inertial switch.
- any of accelerometer 120 , trigger event generator 131 , event logic 133 , or processing unit 130 may be located outside of the data storage device 103 .
- the accelerometer 120 may be attached to a chassis of a mobile computer system containing the data storage device 103 , or the functions performed by processing unit 130 may be implemented by a central processing unit (CPU) of such a computer system.
- CPU central processing unit
- FIG. 2A shows a perspective view of one embodiment of a mobile computer system, as an example of a portable device, in which a free fall detection system may be implemented.
- Computer 100 includes a free fall detection system 150 (including accelerometer 110 and system electronics 112 ) in addition to the free fall detection system 140 (including accelerometer 120 and processing unit 130 within data storage device 103 ), as described with reference to FIG. 1 above.
- free fall detection system 150 is configured to detect free fall events with less sensitivity than free fall detection system 140 .
- free fall detection system 140 may detect falls from a height of three inches
- free fall detection system 150 may only be able to detect falls from a height of eight inches.
- the two free fall detection systems 140 and 150 may be used in conjunction, with each system 140 and 150 independently capable of initiating a preventative action, such as parking the HDD actuator 104 , in response to a trigger event such as a free fall.
- the more sensitive detection system 140 can respond to free fall events that are too small to trigger detection system 150
- detection system 150 can respond to free fall events that fail to trigger detection system 140 .
- a data storage device such as data storage device 103 that includes free fall detection system 140 is installed within a main housing of a computer 100 , such as the notebook computer illustratively shown.
- a computer 100 such as the notebook computer illustratively shown.
- the invention is not limited to computers such as the one illustratively shown in FIG. 1 . Rather, the invention applies to and may complement any data storage device 103 wherever such device is located.
- a data storage device 103 such as a hard disk drive, may be located within a camera or other portable consumer electronic device, within an onboard vehicular computer, an elevator, an amusement park ride, etc.
- the data storage device may store analog data instead of digital data and the data storage device may use optical mechanisms to read and/or write the data.
- a preventative action is not limited to parking an actuator of a data storage device.
- a preventative action may simply be configuring a portable device from one operating state to another operating state.
- an accelerometer may be attached to any part of the portable device, not just to a data storage device.
- accelerometer 110 and system electronics 112 of free fall detection system 150 are also electrically coupled to the hard disc drive 103 such that when accelerometer 110 detects a state of free fall, system electronics 112 commands the disc drive 103 to put the actuator 104 and magnetic (or optical) head 106 in a parked position before the fall is completed.
- sensor 110 can be used to detect changes in non-gravitational (inertial) acceleration, an acceleration or de-acceleration of the sensor's reference frame caused by mechanisms such as automobile or aircraft engines or vehicular brakes.
- accelerometer 110 is located near or at the center of mass of the computer 100 or other mobile device so that sensing of the free fall state will be independent of any rotation and centrifugal forces present during the fall.
- the accelerometer 110 and system electronics 112 may be located at some other position allowing them to perform the monitoring and command functions described above.
- the process for minimizing false triggers as performed by processing unit 130 in free fall detection system 150 may also be implemented in system electronics 112 of free fall detection system 150 to minimize the number of false trigger events detected by an accelerometer such as accelerometer 110 .
- the mobile device may include only one of free fall detection systems 140 or 150 .
- FIG. 2B is a block diagram of a digital processing system, which may be used with one embodiment of the invention.
- the processing system 200 shown in FIG. 2B may be implemented in a computer system such as computer 100 of FIG. 2A .
- FIG. 2B illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components, as such details are not germane to the present invention. It will also be appreciated that network computers, handheld computers, cell phones, and other data processing systems which have fewer components or perhaps more components may also be used with the present invention.
- the computer system of FIG. 2B may, for example, be an Apple Macintosh computer or an IBM compatible PC.
- the computer system 200 which is a form of a data processing system, includes a bus 202 which is coupled to a microprocessor 203 and a ROM 207 , a volatile RAM 205 , and a non-volatile memory 206 .
- the microprocessor 203 which may be, for example, a microprocessor from Motorola, Inc. or Intel, is coupled to cache memory 204 as shown in the example of FIG. 2B .
- Microprocessor 203 may include multiple processors or multiple core logics (e.g., logical processors).
- the bus 202 interconnects these various components together and also interconnects these components 203 , 207 , 205 , and 206 to a display controller and display device 208 , as well as to input/output (I/O) devices 210 , which may be mice, keyboards, modems, network interfaces, printers, and other devices which are well-known in the art.
- I/O input/output
- the input/output devices 210 are coupled to the system through input/output controllers 209 .
- the volatile RAM 205 is typically implemented as dynamic RAM (DRAM) which requires power continuously in order to refresh or maintain the data in the memory.
- the non-volatile memory 206 is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system which maintains data even after power is removed from the system.
- the non-volatile memory will also be a random access memory, although this is not required.
- the present invention may utilize a non-volatile memory which is remote from the system; such as, a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface.
- the bus 202 may include one or more buses connected to each other through various bridges, controllers, and/or adapters, as is well-known in the art.
- the I/O controller 209 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals.
- I/O controller 209 may include an IEEE-1394 adapter, also known as FireWire adapter, for controlling FireWire devices.
- system 200 includes a free fall processing unit, such as processing unit 130 of FIG. 1 to perform a process as described above.
- a free fall processing unit such as processing unit 130 of FIG. 1 to perform a process as described above.
- FIG. 3 is a flow diagram illustrating a process for detecting trigger events, according to one embodiment.
- process 300 may be performed by processing logic which may includes hardware, software, or a combination of both.
- trigger event detection process 300 may be performed by a processing unit such as processing unit 130 , system electronics 112 , or processing system 200 .
- the processing unit detects a trigger event.
- the processing unit 130 processes a raw signal 121 from accelerometer 120 using trigger event generator 131 .
- Trigger event generator 131 applies a sensor processing procedure to raw signal 121 to determine when to generate trigger event 132 .
- trigger event generator 131 may generate a trigger event 132 when raw signal 121 indicates that the accelerometer 120 has experienced greater than a threshold level of acceleration for longer than a threshold duration of time.
- the trigger event 132 generated by the trigger event generator 131 is detected at event logic 133 .
- a trigger event is generated by logic integrated with the accelerometer, rather than being generated within the processing unit 130 .
- the processing unit determines whether a threshold number of trigger events has been detected within a time window.
- the event logic 133 counts the number of times a trigger event 132 is detected within a given time window and compares the count value with the threshold number of trigger events.
- the event logic determines that the number of trigger events received within the time window does not exceed the threshold, the process continues to block 306 .
- FIG. 4A is a timeline illustrating a trigger event detection process 300 that initiates a quiet period after detecting a threshold number of three trigger events within a time window.
- the processing unit 130 at block 302 detects a first trigger event 411 within time window 401 . Since the threshold number of three trigger events has not been reached at the time of trigger event 411 , the process 300 continues to block 306 .
- the processing unit performs a preventative action.
- the processing unit 130 may perform the preventative action of sending actuation signal 134 to actuator 104 to park actuator 104 in the parked position 126 .
- actuator 104 may remain in the parked position 126 for a duration of time, after which the actuator 104 is allowed to move from the parked position 126 .
- the preventative action may include the movement of other types of actuators.
- the process 300 continues back to block 302 , where further trigger events are detected. Thus, blocks 302 , 304 , and 306 are repeated while the processing unit is operating in normal mode.
- the processing unit 130 determines that the threshold number of trigger events detected within the time window exceeds the threshold, the process 300 continues to block 308 , at which a quiet period is initiated. For example, if the processing unit 130 at block 302 detects trigger event 412 , which is the third trigger event encompassed within time window 410 . Accordingly, at block 304 , the processing unit determines that the threshold number of three trigger events within the time window has been reached.
- the time window 401 is defined by a duration of time, such as a 30 second interval.
- the time window may be a static time window that begins and ends at set points in time.
- the time window is a moving time window, that is defined by a duration of past time relative to the current time.
- the processing unit may count the number of trigger events detected within the past 30 seconds of the present time.
- the processing unit initiates a quiet period in response to determining that the threshold number of trigger events detected during the time window has been reached.
- the processing unit operates in quiet mode.
- the processing unit remains in quiet mode while performing operations represented by blocks 310 , 312 , and 314 during the quiet period.
- the processing unit determines whether a trigger event has been detected during the quiet period. For example, with reference to FIG. 4A , the processing unit may detect trigger event 413 during quiet period 402 . In response to detecting a trigger event during the quiet period, the process 300 continues to block 312 .
- the processing unit updates a false trigger counter in response to determining that a trigger event has been detected during the quiet period.
- trigger counter 135 may be used as a false trigger counter.
- the event logic 133 of processing unit 130 may increment a trigger count value stored in trigger counter 135 .
- the trigger counter 135 is used to keep track of the number of false triggers occurring within a specific time window. Accordingly, updating the false trigger counter may include decrementing the false trigger count value for each false trigger event that has been left outside the time window since the last update of the false trigger counter.
- the processing unit bypasses performing the preventative action in response to detecting the trigger event at block 310 .
- the event logic 133 which during normal operation outside of a quiet period would send an actuation signal 134 , may instead suppress or bypass sending the actuation signal. In one embodiment, this may be implemented using logic, such as an AND gate. In alternative embodiments, the processing unit may bypass or suppress some preventative action other than sending an actuation signal. From block 312 , or from block 310 (if a trigger event is not detected at block 310 ), the process 300 continues to block 314 .
- the processing unit determines whether expiration criteria for terminating the quiet period have been satisfied. If the expiration criteria are not satisfied, the process 300 continues back to block 310 , so that blocks 310 , 312 , and 314 are repeated until the expiration criteria are satisfied.
- the expiration criteria may include the lapse of a quiet period duration. For example, the processing unit may automatically terminate the quiet period 402 after the lapse of a 90 second quiet period duration, measured from the start time 404 of the quiet period 402 .
- the termination of the quiet period depends on the satisfaction of a single expiration criterion. In alternative embodiments, the termination of the quiet period depends on the concurrent satisfaction of several expiration criteria.
- the expiration criteria are satisfied when no trigger events or less than a predetermined number of trigger events have been received during the quiet period.
- the processing unit may not terminate quiet period 402 after lapse of the 90 second quiet period duration because two trigger events were detected during the quiet period 402 .
- the processing unit extends the quiet period 402 until no trigger events or less than a predetermined number of trigger events have been detected within the last 90 seconds prior to the current time.
- the processing unit initiates a new quiet period 403 lasting for another 90 seconds if the expiration criteria have not been met. In other embodiments, durations other than 90 seconds may be used.
- FIG. 4B is a timeline illustrating a quiet period that is terminated in response to determining that the expiration criteria are satisfied, according to block 314 .
- the quiet period 422 starts at quiet period start time 424 following time window 421 during which, for example, three trigger events are detected.
- the quiet period duration of 90 seconds has lapsed, and no trigger events or less than a predetermined number of trigger events were detected during the quiet period 422 . Accordingly, processing unit determines that the expiration criteria have been satisfied.
- the processing unit terminates the quiet period in response to determining that the expiration criteria have been satisfied.
- the processing unit ceases operating in quiet mode and resumes operating in normal mode.
- the processing unit terminates quiet period 422 at end time 425 and resumes normal operation during normal period 423 .
- the process 300 continues back to block 302 , 304 , and 306 , where the processing unit performs the normal mode operations of detecting trigger events and responding to the trigger events by performing preventative actions (i.e., parking a HDD actuator) until the threshold number of trigger events within a time window has been reached.
- preventative actions i.e., parking a HDD actuator
- the number of trigger events detected during the quiet period is thus used to determine whether the repetitive motion condition causing the repeated trigger events has abated. Until the repetitive motion condition has abated, the processing unit accordingly remains in quiet mode to avoid taking preventative action unnecessarily.
- FIG. 5 is a flow diagram illustrating a process for detecting trigger events, according to one embodiment where trigger detection thresholds are adjusted during the quiet period.
- process 500 may be performed by processing logic which may include hardware, software, or a combination of both.
- trigger event detection process 500 may be performed by a processing unit such as processing unit 130 , system electronics 112 , or processing system 200 . Similar operations are performed at blocks 302 , 306 , 308 , 310 , and 312 of trigger event detection process 500 as are performed in the corresponding blocks of trigger event detection process 300 .
- the processing unit detects a trigger event.
- the processing unit updates a trigger counter in response to detecting the trigger event at block 302 .
- event logic 133 may respond to detecting a trigger event 132 by updating trigger counter 135 .
- the event logic 133 increments a trigger count value in trigger counter 135 to account for the trigger event detected at block 302 .
- the trigger counter is used to keep track of the number of trigger events occurring within a time window. Accordingly, the event logic may also decrement the trigger count value in trigger counter 135 for each trigger event that is no longer within the time window.
- a processing unit detecting trigger event 412 may update a trigger count to three, since trigger event 412 is the third trigger event occurring within time window 401 .
- the processing unit uses the trigger counter to determine whether the number of trigger events detected within the time window exceeds a threshold number of trigger events for initiating a quiet period. In one embodiment, the processing unit may perform a direct comparison of the trigger count value with the threshold value. If the number of trigger events detected within the time window does not exceed the threshold, the process 500 continues to block 306 .
- the processing unit performs a preventative action.
- the processing unit 130 may perform the preventative action of parking actuator 104 .
- blocks 302 , 542 , 544 , and 306 are repeated according to the normal mode operation of the processing unit until the number of trigger events counted by the trigger counter exceeds the threshold number of trigger events for initiating the quiet period.
- the process 500 continues to block 308 .
- the processing unit initiates a quiet period in response to determining that the threshold number of trigger events detected during the time window has been reached.
- the processing unit changes the trigger detection threshold by adjusting one or more thresholds used to generate trigger events from a raw signal, such as the signal from an accelerometer.
- changing the trigger detection threshold includes sending a quiet signal to a trigger event generator implementing a sensor processing procedure that uses the trigger detection threshold.
- event logic 133 of processing unit 130 may send a quiet signal to trigger event generator 131 to cause trigger event generator 131 to adjust the trigger event detection threshold.
- the trigger detection threshold includes a set of thresholds, such as an acceleration threshold and a duration threshold.
- a trigger event 132 may be generated by trigger event generator 131 according to one trigger detection threshold when the acceleration indicated by raw signal 121 is less than an acceleration threshold of 0.3 g for a time exceeding a duration threshold of 40 ms. Adjustment of the trigger detection threshold may include the adjustment of either or both of the acceleration threshold and the duration threshold.
- the processing unit determines whether a trigger event has been detected according to the adjusted trigger detection threshold.
- the processing unit performs a preventative action, such as parking a HDD actuator, in response to determining that a trigger event has been detected during the quiet period, where the trigger event is detected using the adjusted trigger detection threshold.
- a preventative action such as parking a HDD actuator
- the preventative action performed according to block 312 is the same preventative action that is performed according to block 306 .
- the preventative action is modified. For example, if the preventative action is the parking of a HDD actuator, the actuator may remain parked for a shorter or longer duration if the parking is performed during the quiet period, as compared to when the parking is performed during normal operation.
- the processing unit updates the trigger counter to account for the trigger event detected at block 310 .
- the trigger counter is used to keep track of the number of trigger events detected during the quiet period.
- the trigger counter may be reset at the beginning of each quiet period.
- the trigger counter is used to keep track of the number of trigger events detected within a time period relative to the current time.
- the trigger counter may be used to track the number of trigger events detected during the last 90 seconds prior to the current time. Accordingly, the trigger count may be decremented to reflect trigger events that are no longer within this time window.
- the processing unit determines whether the quiet period duration has lapsed. For example, the quiet period 422 has a quiet period duration of 90 seconds, so that if 90 seconds has elapsed since the quiet period start time 424 , the processing unit at block 550 determines that the quiet period duration has lapsed. If the quiet period duration has lapsed, the process continues at block 550 .
- the processing unit determines whether the trigger count value stored in the trigger counter exceeds a quiet period trigger threshold. If the trigger count exceeds the quiet period trigger threshold, the process 500 continues back to block 308 , where another quiet period is initiated. Thus, if a threshold number of trigger events is detected during the quiet period, the repetitive motion condition likely has not abated, and the processing unit continues operating in quiet mode to avoid taking preventative action unnecessarily.
- the repetitive motion condition has likely abated, and the process 500 continues to block 554 , where the processing unit resumes normal operation.
- a processing unit may terminate quiet period 422 by resuming normal operation (during normal period 423 ), since no trigger events were detected during quiet period 422 . While operating in normal mode, the processing unit performs the operations corresponding to blocks 302 , 542 , 544 , and 306 , as previously described.
- FIG. 6 is a line graph illustrating an acceleration signal 630 measured by an accelerometer, such as accelerometer 120 , over time.
- FIG. 6 further illustrates phases associated with a free fall and impact of a mobile electronic system, such as computer 100 , including a rest phase 602 , a detection phase 604 , and a park phase 606 .
- the computer 100 is stationary, and experiences a g-force of 1 g.
- the computer 100 begins a free fall, which is detected by the accelerometer 120 as a decrease in the measured g-force.
- trigger event generator 131 During the detection phase 604 , trigger event generator 131 generates a trigger event 132 according to a trigger event detection threshold. In one embodiment, the trigger event generator 131 generates the trigger event 132 if the g-force drops below acceleration threshold 614 for a time exceeding the duration threshold 612 . When the trigger threshold has been met, free fall is confirmed at time 622 , at the end of the detection phase. Accordingly, a trigger event 132 is sent at time 622 , and is detected by event logic 133 . This corresponds to block 302 of processes 300 and 500 .
- a preventative action of parking the actuator 104 is taken.
- the park phase corresponds, for example, to block 306 or 312 of process 300 or 500 .
- the event logic 133 sends the actuation signal 134 to the actuator 104 to cause the actuator 104 to move into the parked position 126 .
- the time for this process to complete is represented by the duration of the park phase 606 .
- the actuator 104 is parked in preparation for impact at time 624 .
- the time between when the actuator is parked and the time of impact 624 is represented by margin 608 .
- the duration threshold 612 or the acceleration threshold 614 may be adjusted to reduce the number of false triggers detected during the quiet period. For example, a repetitive motion condition may cause the accelerometer 120 to detect a number of events where a force of 0.35 g is sustained for a duration of 35 ms. If these events are caused by motions not likely to damage the data storage device 103 , then trigger events generated from these events can be considered false triggers. During the quiet period, when false triggers are more likely to occur, the acceleration threshold 614 or the duration threshold 612 can be adjusted so that trigger events are not generated from these events.
- an acceleration threshold 614 of 0.4 g and a duration threshold of 30 ms would result in a trigger event in response to a measured force of 0.35 g sustained for a duration of 35 ms.
- the acceleration threshold 614 and the duration threshold 612 are adjusted to 0.3 g and 40 ms, respectively, the same measured force does not result in a trigger event.
- a process for reducing false triggers uses a learning scheme to set a more conservative trigger threshold that depends on the level and duration of g-forces detected by the accelerometer during the quiet period.
- the quiet period trigger threshold may be increased above previously detected values by a certain margin to prevent similar trigger events from occurring during the quiet period.
- the trigger threshold used during the quiet period may also be an adaptive value that changes based on actual values recorded by the accelerometer before or during the quiet period.
- the level of the quiet period trigger threshold may be set based on such values as the average or maximum value of past values recorded by the accelerometer, or an average plus a multiple of the standard deviation of past recorded values.
- the quiet period trigger threshold may continue to be adjusted during the quiet period. In other embodiments, the level of the quiet period trigger threshold may be set based on other inputs.
- the adjusted trigger threshold tolerates forces of greater magnitude and duration, the number of trigger events detected during the quiet period is decreased, along with the number of times that the preventative action is performed.
- the preventative action includes parking a HDD actuator, reducing the number of times the actuator is parked increases the availability of the HDD read/write head to access data on the HDD.
- Embodiments of the present invention thus reduce the rate of false triggers detected by an accelerometer, thereby reducing the number of unnecessary preventative actions performed in response to the false triggers.
- FIGS. 1 , 2 A, and 2 B are intended to provide an overview of computer hardware and other operating components suitable for performing the methods of the invention described above, but is not intended to limit the applicable environments.
- One of skill in the art will immediately appreciate that the invention can be practiced with other computer system configurations.
- the invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- the present invention also relates to an apparatus for performing the operations described herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
- the computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic or in hardware circuitry. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems.
- the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
Abstract
Description
- The present invention relates to mobile electronic devices, and more particularly, to acceleration sensing of mobile electronic devices.
- Shock and impact forces sustained by mobile electronic systems or devices during usage can be detrimental to the reliability of components within the mobile devices, such as hard disk drives. This may be especially true when mobile devices are in operation. For example, excessive shock force can cause a recording head in a disk drive to contact the spinning disk, resulting in damage to the recording head or disk surface, and leading ultimately to loss of the data stored on the disk.
- Various methods are used to protect the hard disk drive from such shock and impact. For example, such methods may include mechanically tuning the HDD actuator to minimize contact force with the disk during a shock or impact event, or embedding an accelerometer in the hard disk drive to detect a free fall and park the HDD actuator prior to an anticipated impact.
- However, the free fall detection scheme in particular may be prone to false triggering. User handling of the computer system may cause movement of the system that is interpreted as a freefall event, resulting in unnecessary parking of the hard drive actuator. Similarly, any repetitive motion may also cause undesired frequent triggers of the freefall sensor. Furthermore, the false trigger rate typically increases when the accelerometer is calibrated for greater sensitivity to detect a lower drop height.
- Excessive false detection results in unnecessary parking of the hard drive actuator and has a detrimental impact on computer system I/O performance. Excessive parking of the hard drive actuator can result in the interruption of data transfer activities between the hard disk drive and the computer system, and can lead to system stability issues or software application performance issues.
- The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
-
FIG. 1 illustrates one embodiment of a data storage device; -
FIG. 2A illustrates one embodiment of a mobile computer system; -
FIG. 2B illustrates one embodiment of a processing system; -
FIG. 3 is a flow diagram illustrating one embodiment of a trigger event detection process. -
FIG. 4A is a timeline illustrating a trigger event detection process according to one embodiment; -
FIG. 4B a timeline illustrating a trigger event detection process according to one embodiment; -
FIG. 5 is a flow diagram illustrating one embodiment of a trigger event detection process; and -
FIG. 6 is a line graph illustrating acceleration measured by an accelerometer during a free fall of a mobile electronic device, according to one embodiment. - In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, 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 logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
- One embodiment of a mechanism for reducing the number of false triggers detected by a free fall detection system may take advantage of the contexts in which true free fall events occur, as compared to normal user handling of the computer system.
- In many cases, a true free fall or a shock event is typically not repetitive within a short duration. For example, such a free fall event may be caused by a user dropping the computer system, and the likelihood is small that the user will drop the computer system more than once or twice within a given window of time.
- In contrast, dynamic motions (velocity, displacement, and acceleration) and input forces from regular usage and handling of the mobile computer system often show repetitive patterns. For example, if the mobile computer system is carried by a user who is walking or riding in a car, the computer system may experience repetitive motion that may be interpreted as repeated trigger events by a free fall detection system. However, these motions typically are not harmful to the computer system and should not result in preventative action by the computer system.
- Thus, a mechanism for reducing the false trigger rate can distinguish between trigger events based on whether or not the trigger event is repetitive within a given time window. Such a mechanism may reduce the number of false triggers by adjusting the criteria for identifying a trigger event from raw sensor data, or by qualifying an identified trigger event as a false trigger based on a pattern of identified trigger events.
- One embodiment of a mechanism for reducing the number of false triggers monitors for repetitive discrete trigger events reported according to a sensor processing procedure.
- During a normal operation, a processing unit, such as a microprocessor or controller, receives a raw signal from an accelerometer. The processing unit applies the sensor processing procedure to the raw signal. When application of the sensor processing procedure confirms a trigger event, the processing unit sends an actuation signal to an actuator to initiate some preventative action. For example, the actuator may be a hard disk drive (HDD) actuator that is parked in anticipation of a shock or impact in response to the actuation signal.
- In one embodiment, the processing unit initiates a quiet period in response to detecting a threshold number of repetitive trigger events within a predefined time window. During the quiet window, the processing unit identifies a trigger event based on the raw sensor data, but bypasses or avoids sending the actuation signal in response to the trigger event. Thus, the preventative action is avoided during the quiet period.
- In one embodiment, the quiet period is terminated when the rate of trigger event detection within the quiet period is below a predefined threshold. This step indicates that a repetitive motion condition causing the repetitive trigger events is likely to have stopped. Once the quiet period has expired, the processing unit can resume normal operation in which the actuation signal is sent in response to detection of each trigger event.
- In one embodiment, a mechanism for reducing the false trigger rate only relies on the logical output (indicating whether or not a trigger event has occurred) of the sensor processing procedure, and therefore can be implemented in conjunction with any of a variety of sensor processing procedures that provide such a logical output based on the raw sensor signal.
-
FIG. 1 is a top-down view of adata storage device 103, which contains adata storage medium 102, such as a magnetic storage medium, and anactuator 104 having a magnetic read/writehead 106. Read/writehead 106 reads and writes data totracks 108 ondata storage medium 102. A safe parkedposition 126 foractuator 104 is indicated by broken lines. -
Data storage device 103, such as a hard disk drive (HDD) is operatively coupled to system electronics 112 (discussed with reference toFIG. 2 below). In response to commands fromsystem electronics 112,data storage device 103 movesactuator 104 and magnetic read/writehead 106 rapidly sideways in a plane approximately parallel to thedata storage medium 102 between its operating position and the parkedposition 126. - In one embodiment,
data storage device 103 also includes a free fall detection system 140 including anaccelerometer 120 and aprocessing unit 130 that includes atrigger event generator 131,event logic 133, andtrigger counter 135. Theaccelerometer 120 provides araw signal 121 to thetrigger event generator 131. Thetrigger event generator 131 provides atrigger event signal 132 to theevent logic 133. Theevent logic 133 provides anactuation signal 134 to theactuator 104.Event logic 133 is further coupled totrigger counter 135. - The
accelerometer 120 may be a sensor such as a free-fall sensor or other sensor capable of measuring acceleration or inertial forces. In one embodiment, theaccelerometer 120 measures the acceleration experienced by thedata storage device 103 and outputs araw signal 121 corresponding to the amount of the acceleration measured. - The
raw signal 121 is received by thetrigger event generator 131, which generates atrigger event signal 131 by applying a sensor processing procedure to theraw signal 121. For example, the sensor processing procedure may dictate that a measured acceleration level that exceeds an acceleration threshold for a time exceeding a duration threshold should be identified as a trigger event. Accordingly, when thetrigger event generator 131 receives araw signal 121 indicating a measured acceleration that exceeds these thresholds, thetrigger event generator 131 outputs asignal 132 indicating that a trigger event has occurred. - The
trigger event signal 132 is received by theevent logic 133, which generates anactuation signal 134 based on the pattern of trigger events received. In one embodiment, theevent logic 133 operates according to a normal mode of operation by responding to the occurrence of each trigger event by sending anactuation signal 134 toactuator 104. - In one embodiment, the
actuation signal 134 causes aHDD actuator 104 to move into parkedposition 126 for a duration of time, which may be referred to as a park duration. Upon lapse of the park duration, theactuator 104 may unpark, or move from the parkedposition 126. - In addition, the
event logic 133 also determines whether a trigger event is a false trigger by monitoring the repetition of trigger events. In one embodiment,event logic 133 is configured to store the number of trigger events received intrigger counter 135.Trigger counter 135 may be implemented as a register or other memory. - In one embodiment, the
event logic 133 may initiate a quiet period (during which theevent logic 133 operates in quiet mode) in response to receiving a threshold number of trigger events within a predefined time period. For example, theevent logic 133 may initiate the quiet period in response to receiving three trigger events within a 30 second time window. - In one embodiment, during the quiet period, the
event logic 133 bypasses taking a preventative action in response to detecting atrigger event 132. For example,event logic 133 may inhibit or prevent actuation signal 134 from being sent toactuator 104 even though atrigger event 132 is received fromtrigger event generator 131. Thus, even if atrigger event 132 is detected during the quiet period, theHDD actuator 104 is not parked. - Thus, the
event logic 133 detects a repetitive motion condition based on the pattern of trigger events detected, and responds by initiating a quiet period during which the preventative action (i.e., parking the HDD actuator 104) is bypassed. This behavior reduces the amount of unnecessary parking of theactuator 104, increasing the availability of thehead 106 to read or write data. - In an alternative embodiment, the
event logic 133 sends a quiet signal (not shown) to thetrigger event generator 131 to indicate the initiation of the quiet period. In response to the quiet signal, the trigger event generator adjusts its threshold for identifying trigger events. For example, during normal operation, thetrigger event generator 131 may identify atrigger event 132 when theraw signal 121 indicates an acceleration of 0.4 g for a duration of 40 ms. During the quiet period, this trigger threshold may change so that trigger events are less likely to occur. For example, the acceleration threshold of 0.4 g may change to 0.3 g, or the duration threshold of 40 ms may change to 50 ms during the quiet period. - In one embodiment of a process for reducing false triggers, the
event logic 133 uses a learning scheme to set a more conservative trigger threshold that depends on the level and duration of g-forces detected by the accelerometer during the quiet period. For example, if repeated triggers result from an acceleration of 0.4 g for a duration of 40 ms, the trigger threshold during the quiet period may be set at 0.3 g for a duration of 45 ms so that similar repeated triggers would not cause a trigger event during the quiet period. Thus, the trigger threshold is increased by a certain margin to prevent similar trigger events from occurring during the quiet period. - In one embodiment, the trigger threshold used during the quiet period may be an adaptive value that changes based on actual values recorded by the accelerometer before or during the quiet period. For example, the level of the quiet period trigger threshold may be set based on such values as the average or maximum value of past values recorded by the accelerometer, or an average plus a multiple of the standard deviation of past recorded values. One advantage of this scheme is that when a new threshold is set based on the actual recorded values, the
event logic 133 will more reliably exit the quiet period because a substantially lower amount of accelerometer reading may be required to return to the normal operating mode. For example, an exit criteria based on a hard coded number (i.e. an empirically determined threshold or a threshold pre-set prior to the device being used) may not account for different usage characteristics between different users. Thus, in some cases, the actual accelerometer reading during the quiet period (having the more conservative trigger detection threshold) due to repetitive motion may still be low enough that the conservative threshold would not properly identify the motion as a repetitive motion. Therefore, the scheme may further minimize future false triggers by using this actual accelerometer reading as a learned quiet period threshold. In one embodiment, the learned quiet period trigger threshold may be continually adjusted during the quiet period. In other embodiments, the level of the quiet period trigger threshold may be set based on other inputs. - Thus, the
event logic 133 responds to a repetitive motion condition that causes repeated false trigger events by initiating a quiet period, during which the number of false trigger events is reduced by adjusting the threshold for identifying trigger events. The number of times theactuator 104 is unnecessarily parked is reduced as a result of the reduction in false trigger events. - In one embodiment,
event logic 133 continues to monitor the trigger events received fromtrigger event generator 131 during the quiet period to determine when to terminate the quiet period. The event logic may terminate the quiet period when one or more expiration criteria are met. For example, theevent logic 133 may terminate the quiet period in response to expiration criteria such as the lapse of a time interval since the initiation of the quiet period or detection of a user input. In one embodiment, theevent logic 133 terminates the quiet period in response to detecting a lack of false trigger events during a time interval. For example, theevent logic 133 may terminate a quiet period in response to determining that no trigger events or less than a predetermined number of trigger events have been detected during a 90 second period of time. - In one embodiment,
accelerometer 120 includes logic implementingtrigger event generator 131 so that the functions oftrigger event generator 131 are not performed withinprocessing unit 130, but are instead performed withinaccelerometer 120. In an alternative embodiment, theaccelerometer 120 includes an inertial switch, and trigger events are indicated by the raw output of the inertial switch. - In some embodiments, any of
accelerometer 120,trigger event generator 131,event logic 133, orprocessing unit 130 may be located outside of thedata storage device 103. For example, theaccelerometer 120 may be attached to a chassis of a mobile computer system containing thedata storage device 103, or the functions performed by processingunit 130 may be implemented by a central processing unit (CPU) of such a computer system. -
FIG. 2A shows a perspective view of one embodiment of a mobile computer system, as an example of a portable device, in which a free fall detection system may be implemented.Computer 100 includes a free fall detection system 150 (includingaccelerometer 110 and system electronics 112) in addition to the free fall detection system 140 (includingaccelerometer 120 andprocessing unit 130 within data storage device 103), as described with reference toFIG. 1 above. - In one embodiment, free
fall detection system 150 is configured to detect free fall events with less sensitivity than free fall detection system 140. For example, while free fall detection system 140 may detect falls from a height of three inches, freefall detection system 150 may only be able to detect falls from a height of eight inches. In one embodiment, the two freefall detection systems 140 and 150 may be used in conjunction, with eachsystem 140 and 150 independently capable of initiating a preventative action, such as parking theHDD actuator 104, in response to a trigger event such as a free fall. Thus, the more sensitive detection system 140 can respond to free fall events that are too small to triggerdetection system 150, whiledetection system 150 can respond to free fall events that fail to trigger detection system 140. - Typically, a data storage device such as
data storage device 103 that includes free fall detection system 140 is installed within a main housing of acomputer 100, such as the notebook computer illustratively shown. However, it is understood that the invention is not limited to computers such as the one illustratively shown inFIG. 1 . Rather, the invention applies to and may complement anydata storage device 103 wherever such device is located. For example, and for purposes of illustration only and not limitation, adata storage device 103, such as a hard disk drive, may be located within a camera or other portable consumer electronic device, within an onboard vehicular computer, an elevator, an amusement park ride, etc. Moreover, in other embodiments, the data storage device may store analog data instead of digital data and the data storage device may use optical mechanisms to read and/or write the data. In addition, a preventative action is not limited to parking an actuator of a data storage device. A preventative action may simply be configuring a portable device from one operating state to another operating state. Further, an accelerometer may be attached to any part of the portable device, not just to a data storage device. - In addition to free fall detection system 140,
accelerometer 110 andsystem electronics 112 of freefall detection system 150 are also electrically coupled to thehard disc drive 103 such that whenaccelerometer 110 detects a state of free fall,system electronics 112 commands thedisc drive 103 to put theactuator 104 and magnetic (or optical)head 106 in a parked position before the fall is completed. Alternatively,sensor 110 can be used to detect changes in non-gravitational (inertial) acceleration, an acceleration or de-acceleration of the sensor's reference frame caused by mechanisms such as automobile or aircraft engines or vehicular brakes. - In one embodiment,
accelerometer 110 is located near or at the center of mass of thecomputer 100 or other mobile device so that sensing of the free fall state will be independent of any rotation and centrifugal forces present during the fall. Alternatively, theaccelerometer 110 andsystem electronics 112 may be located at some other position allowing them to perform the monitoring and command functions described above. - In one embodiment, the process for minimizing false triggers as performed by processing
unit 130 in freefall detection system 150 may also be implemented insystem electronics 112 of freefall detection system 150 to minimize the number of false trigger events detected by an accelerometer such asaccelerometer 110. In one embodiment, the mobile device may include only one of freefall detection systems 140 or 150. -
FIG. 2B is a block diagram of a digital processing system, which may be used with one embodiment of the invention. For example, theprocessing system 200 shown inFIG. 2B may be implemented in a computer system such ascomputer 100 ofFIG. 2A . - Note that while
FIG. 2B illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components, as such details are not germane to the present invention. It will also be appreciated that network computers, handheld computers, cell phones, and other data processing systems which have fewer components or perhaps more components may also be used with the present invention. The computer system ofFIG. 2B may, for example, be an Apple Macintosh computer or an IBM compatible PC. - As shown in
FIG. 2B , thecomputer system 200, which is a form of a data processing system, includes a bus 202 which is coupled to amicroprocessor 203 and aROM 207, avolatile RAM 205, and anon-volatile memory 206. Themicroprocessor 203, which may be, for example, a microprocessor from Motorola, Inc. or Intel, is coupled tocache memory 204 as shown in the example ofFIG. 2B .Microprocessor 203 may include multiple processors or multiple core logics (e.g., logical processors). The bus 202 interconnects these various components together and also interconnects thesecomponents display device 208, as well as to input/output (I/O) devices 210, which may be mice, keyboards, modems, network interfaces, printers, and other devices which are well-known in the art. - Typically, the input/output devices 210 are coupled to the system through input/
output controllers 209. Thevolatile RAM 205 is typically implemented as dynamic RAM (DRAM) which requires power continuously in order to refresh or maintain the data in the memory. Thenon-volatile memory 206 is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system which maintains data even after power is removed from the system. Typically, the non-volatile memory will also be a random access memory, although this is not required. - While
FIG. 2B shows that the non-volatile memory is a local device coupled directly to the rest of the components in the data processing system, the present invention may utilize a non-volatile memory which is remote from the system; such as, a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface. The bus 202 may include one or more buses connected to each other through various bridges, controllers, and/or adapters, as is well-known in the art. In one embodiment, the I/O controller 209 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals. Alternatively, I/O controller 209 may include an IEEE-1394 adapter, also known as FireWire adapter, for controlling FireWire devices. - According to one embodiment,
system 200 includes a free fall processing unit, such asprocessing unit 130 ofFIG. 1 to perform a process as described above. -
FIG. 3 is a flow diagram illustrating a process for detecting trigger events, according to one embodiment. Note that process 300 may be performed by processing logic which may includes hardware, software, or a combination of both. For example, trigger event detection process 300 may be performed by a processing unit such asprocessing unit 130,system electronics 112, orprocessing system 200. - At
block 302, the processing unit detects a trigger event. For example, theprocessing unit 130 processes araw signal 121 fromaccelerometer 120 usingtrigger event generator 131.Trigger event generator 131 applies a sensor processing procedure toraw signal 121 to determine when to generatetrigger event 132. In one embodiment,trigger event generator 131 may generate atrigger event 132 whenraw signal 121 indicates that theaccelerometer 120 has experienced greater than a threshold level of acceleration for longer than a threshold duration of time. Thetrigger event 132 generated by thetrigger event generator 131 is detected atevent logic 133. In an alternative embodiment, a trigger event is generated by logic integrated with the accelerometer, rather than being generated within theprocessing unit 130. - At
block 304, the processing unit determines whether a threshold number of trigger events has been detected within a time window. In one embodiment, theevent logic 133 counts the number of times atrigger event 132 is detected within a given time window and compares the count value with the threshold number of trigger events. - If, upon receiving a
trigger event 132, the event logic determines that the number of trigger events received within the time window does not exceed the threshold, the process continues to block 306. -
FIG. 4A is a timeline illustrating a trigger event detection process 300 that initiates a quiet period after detecting a threshold number of three trigger events within a time window. With reference toFIG. 4A , theprocessing unit 130 atblock 302 detects afirst trigger event 411 withintime window 401. Since the threshold number of three trigger events has not been reached at the time oftrigger event 411, the process 300 continues to block 306. - At
block 306, the processing unit performs a preventative action. For example, theprocessing unit 130 may perform the preventative action of sendingactuation signal 134 toactuator 104 to park actuator 104 in the parkedposition 126. In one embodiment,actuator 104 may remain in the parkedposition 126 for a duration of time, after which theactuator 104 is allowed to move from the parkedposition 126. In alternative embodiments, the preventative action may include the movement of other types of actuators. In one embodiment, the process 300 continues back to block 302, where further trigger events are detected. Thus, blocks 302, 304, and 306 are repeated while the processing unit is operating in normal mode. - If, at
block 304, theprocessing unit 130 determines that the threshold number of trigger events detected within the time window exceeds the threshold, the process 300 continues to block 308, at which a quiet period is initiated. For example, if theprocessing unit 130 atblock 302 detectstrigger event 412, which is the third trigger event encompassed within time window 410. Accordingly, atblock 304, the processing unit determines that the threshold number of three trigger events within the time window has been reached. - In one embodiment, the
time window 401 is defined by a duration of time, such as a 30 second interval. The time window may be a static time window that begins and ends at set points in time. In an alternative embodiment, the time window is a moving time window, that is defined by a duration of past time relative to the current time. For example, the processing unit may count the number of trigger events detected within the past 30 seconds of the present time. - At
block 308, the processing unit initiates a quiet period in response to determining that the threshold number of trigger events detected during the time window has been reached. During the quiet period, such asquiet period 402, the processing unit operates in quiet mode. The processing unit remains in quiet mode while performing operations represented byblocks - At
block 310, the processing unit determines whether a trigger event has been detected during the quiet period. For example, with reference toFIG. 4A , the processing unit may detecttrigger event 413 duringquiet period 402. In response to detecting a trigger event during the quiet period, the process 300 continues to block 312. - At
block 311, the processing unit updates a false trigger counter in response to determining that a trigger event has been detected during the quiet period. For example, trigger counter 135 may be used as a false trigger counter. Accordingly, atblock 311, theevent logic 133 ofprocessing unit 130 may increment a trigger count value stored intrigger counter 135. In one embodiment, thetrigger counter 135 is used to keep track of the number of false triggers occurring within a specific time window. Accordingly, updating the false trigger counter may include decrementing the false trigger count value for each false trigger event that has been left outside the time window since the last update of the false trigger counter. - At
block 312, the processing unit bypasses performing the preventative action in response to detecting the trigger event atblock 310. For example, theevent logic 133, which during normal operation outside of a quiet period would send anactuation signal 134, may instead suppress or bypass sending the actuation signal. In one embodiment, this may be implemented using logic, such as an AND gate. In alternative embodiments, the processing unit may bypass or suppress some preventative action other than sending an actuation signal. Fromblock 312, or from block 310 (if a trigger event is not detected at block 310), the process 300 continues to block 314. - At
block 314, the processing unit determines whether expiration criteria for terminating the quiet period have been satisfied. If the expiration criteria are not satisfied, the process 300 continues back to block 310, so thatblocks quiet period 402 after the lapse of a 90 second quiet period duration, measured from thestart time 404 of thequiet period 402. - In one embodiment, the termination of the quiet period depends on the satisfaction of a single expiration criterion. In alternative embodiments, the termination of the quiet period depends on the concurrent satisfaction of several expiration criteria.
- In one embodiment, the expiration criteria are satisfied when no trigger events or less than a predetermined number of trigger events have been received during the quiet period. For example, the processing unit may not terminate
quiet period 402 after lapse of the 90 second quiet period duration because two trigger events were detected during thequiet period 402. In one embodiment, the processing unit extends thequiet period 402 until no trigger events or less than a predetermined number of trigger events have been detected within the last 90 seconds prior to the current time. In an alternative embodiment, the processing unit initiates a newquiet period 403 lasting for another 90 seconds if the expiration criteria have not been met. In other embodiments, durations other than 90 seconds may be used. -
FIG. 4B is a timeline illustrating a quiet period that is terminated in response to determining that the expiration criteria are satisfied, according to block 314. Thequiet period 422 starts at quiet period starttime 424 followingtime window 421 during which, for example, three trigger events are detected. At quietperiod end time 425, the quiet period duration of 90 seconds has lapsed, and no trigger events or less than a predetermined number of trigger events were detected during thequiet period 422. Accordingly, processing unit determines that the expiration criteria have been satisfied. - At
block 316, the processing unit terminates the quiet period in response to determining that the expiration criteria have been satisfied. Thus, the processing unit ceases operating in quiet mode and resumes operating in normal mode. With reference toFIG. 4B , the processing unit terminatesquiet period 422 atend time 425 and resumes normal operation duringnormal period 423. In one embodiment, the process 300 continues back to block 302, 304, and 306, where the processing unit performs the normal mode operations of detecting trigger events and responding to the trigger events by performing preventative actions (i.e., parking a HDD actuator) until the threshold number of trigger events within a time window has been reached. - The number of trigger events detected during the quiet period is thus used to determine whether the repetitive motion condition causing the repeated trigger events has abated. Until the repetitive motion condition has abated, the processing unit accordingly remains in quiet mode to avoid taking preventative action unnecessarily.
-
FIG. 5 is a flow diagram illustrating a process for detecting trigger events, according to one embodiment where trigger detection thresholds are adjusted during the quiet period. Note thatprocess 500 may be performed by processing logic which may include hardware, software, or a combination of both. For example, triggerevent detection process 500 may be performed by a processing unit such asprocessing unit 130,system electronics 112, orprocessing system 200. Similar operations are performed atblocks event detection process 500 as are performed in the corresponding blocks of trigger event detection process 300. - At
block 302, the processing unit detects a trigger event. Atblock 542, the processing unit updates a trigger counter in response to detecting the trigger event atblock 302. For example,event logic 133 may respond to detecting atrigger event 132 by updatingtrigger counter 135. In one embodiment, theevent logic 133 increments a trigger count value intrigger counter 135 to account for the trigger event detected atblock 302. In one embodiment, the trigger counter is used to keep track of the number of trigger events occurring within a time window. Accordingly, the event logic may also decrement the trigger count value intrigger counter 135 for each trigger event that is no longer within the time window. - For example, with reference to
FIG. 4A , a processing unit detectingtrigger event 412 may update a trigger count to three, sincetrigger event 412 is the third trigger event occurring withintime window 401. - At block 544, the processing unit uses the trigger counter to determine whether the number of trigger events detected within the time window exceeds a threshold number of trigger events for initiating a quiet period. In one embodiment, the processing unit may perform a direct comparison of the trigger count value with the threshold value. If the number of trigger events detected within the time window does not exceed the threshold, the
process 500 continues to block 306. - At
block 306, the processing unit performs a preventative action. For example, theprocessing unit 130 may perform the preventative action ofparking actuator 104. - Thus, blocks 302, 542, 544, and 306 are repeated according to the normal mode operation of the processing unit until the number of trigger events counted by the trigger counter exceeds the threshold number of trigger events for initiating the quiet period.
- If, at block 544, the number of trigger events detected within the time window exceeds the threshold, the
process 500 continues to block 308. Atblock 308, the processing unit initiates a quiet period in response to determining that the threshold number of trigger events detected during the time window has been reached. - At
block 546, the processing unit changes the trigger detection threshold by adjusting one or more thresholds used to generate trigger events from a raw signal, such as the signal from an accelerometer. In one embodiment, changing the trigger detection threshold includes sending a quiet signal to a trigger event generator implementing a sensor processing procedure that uses the trigger detection threshold. For example,event logic 133 ofprocessing unit 130 may send a quiet signal to triggerevent generator 131 to causetrigger event generator 131 to adjust the trigger event detection threshold. - In one embodiment, the trigger detection threshold includes a set of thresholds, such as an acceleration threshold and a duration threshold. For example, a
trigger event 132 may be generated bytrigger event generator 131 according to one trigger detection threshold when the acceleration indicated byraw signal 121 is less than an acceleration threshold of 0.3 g for a time exceeding a duration threshold of 40 ms. Adjustment of the trigger detection threshold may include the adjustment of either or both of the acceleration threshold and the duration threshold. - At
block 310, the processing unit determines whether a trigger event has been detected according to the adjusted trigger detection threshold. - At
block 312, the processing unit performs a preventative action, such as parking a HDD actuator, in response to determining that a trigger event has been detected during the quiet period, where the trigger event is detected using the adjusted trigger detection threshold. - In one embodiment, the preventative action performed according to block 312 is the same preventative action that is performed according to block 306. In alternative embodiments, the preventative action is modified. For example, if the preventative action is the parking of a HDD actuator, the actuator may remain parked for a shorter or longer duration if the parking is performed during the quiet period, as compared to when the parking is performed during normal operation.
- At
block 548, the processing unit updates the trigger counter to account for the trigger event detected atblock 310. In one embodiment, the trigger counter is used to keep track of the number of trigger events detected during the quiet period. Thus, according to one embodiment, the trigger counter may be reset at the beginning of each quiet period. In an alternative embodiment, the trigger counter is used to keep track of the number of trigger events detected within a time period relative to the current time. For example, the trigger counter may be used to track the number of trigger events detected during the last 90 seconds prior to the current time. Accordingly, the trigger count may be decremented to reflect trigger events that are no longer within this time window. - At
block 550, the processing unit determines whether the quiet period duration has lapsed. For example, thequiet period 422 has a quiet period duration of 90 seconds, so that if 90 seconds has elapsed since the quiet period starttime 424, the processing unit atblock 550 determines that the quiet period duration has lapsed. If the quiet period duration has lapsed, the process continues atblock 550. - At
block 552, the processing unit determines whether the trigger count value stored in the trigger counter exceeds a quiet period trigger threshold. If the trigger count exceeds the quiet period trigger threshold, theprocess 500 continues back to block 308, where another quiet period is initiated. Thus, if a threshold number of trigger events is detected during the quiet period, the repetitive motion condition likely has not abated, and the processing unit continues operating in quiet mode to avoid taking preventative action unnecessarily. - If the trigger count does not exceed the quiet period trigger threshold, the repetitive motion condition has likely abated, and the
process 500 continues to block 554, where the processing unit resumes normal operation. For example, a processing unit may terminatequiet period 422 by resuming normal operation (during normal period 423), since no trigger events were detected duringquiet period 422. While operating in normal mode, the processing unit performs the operations corresponding toblocks -
FIG. 6 is a line graph illustrating an acceleration signal 630 measured by an accelerometer, such asaccelerometer 120, over time.FIG. 6 further illustrates phases associated with a free fall and impact of a mobile electronic system, such ascomputer 100, including arest phase 602, adetection phase 604, and apark phase 606. - During the
rest phase 602, thecomputer 100 is stationary, and experiences a g-force of 1 g. At the end ofrest phase 602, thecomputer 100 begins a free fall, which is detected by theaccelerometer 120 as a decrease in the measured g-force. - During the
detection phase 604,trigger event generator 131 generates atrigger event 132 according to a trigger event detection threshold. In one embodiment, thetrigger event generator 131 generates thetrigger event 132 if the g-force drops belowacceleration threshold 614 for a time exceeding theduration threshold 612. When the trigger threshold has been met, free fall is confirmed attime 622, at the end of the detection phase. Accordingly, atrigger event 132 is sent attime 622, and is detected byevent logic 133. This corresponds to block 302 ofprocesses 300 and 500. - During the
park phase 606, a preventative action of parking theactuator 104 is taken. The park phase corresponds, for example, to block 306 or 312 ofprocess 300 or 500. During the park phase, theevent logic 133 sends theactuation signal 134 to theactuator 104 to cause theactuator 104 to move into the parkedposition 126. The time for this process to complete is represented by the duration of thepark phase 606. At the end ofpark phase 606, theactuator 104 is parked in preparation for impact attime 624. The time between when the actuator is parked and the time ofimpact 624 is represented bymargin 608. - During a quiet period, the
duration threshold 612 or theacceleration threshold 614 may be adjusted to reduce the number of false triggers detected during the quiet period. For example, a repetitive motion condition may cause theaccelerometer 120 to detect a number of events where a force of 0.35 g is sustained for a duration of 35 ms. If these events are caused by motions not likely to damage thedata storage device 103, then trigger events generated from these events can be considered false triggers. During the quiet period, when false triggers are more likely to occur, theacceleration threshold 614 or theduration threshold 612 can be adjusted so that trigger events are not generated from these events. - For example, during the normal mode, an
acceleration threshold 614 of 0.4 g and a duration threshold of 30 ms would result in a trigger event in response to a measured force of 0.35 g sustained for a duration of 35 ms. In contrast, during a quiet period where theacceleration threshold 614 and theduration threshold 612 are adjusted to 0.3 g and 40 ms, respectively, the same measured force does not result in a trigger event. - In one embodiment, a process for reducing false triggers uses a learning scheme to set a more conservative trigger threshold that depends on the level and duration of g-forces detected by the accelerometer during the quiet period. The quiet period trigger threshold may be increased above previously detected values by a certain margin to prevent similar trigger events from occurring during the quiet period.
- In one embodiment, the trigger threshold used during the quiet period may also be an adaptive value that changes based on actual values recorded by the accelerometer before or during the quiet period. For example, the level of the quiet period trigger threshold may be set based on such values as the average or maximum value of past values recorded by the accelerometer, or an average plus a multiple of the standard deviation of past recorded values. In one embodiment, the quiet period trigger threshold may continue to be adjusted during the quiet period. In other embodiments, the level of the quiet period trigger threshold may be set based on other inputs.
- Since the adjusted trigger threshold tolerates forces of greater magnitude and duration, the number of trigger events detected during the quiet period is decreased, along with the number of times that the preventative action is performed. In one embodiment where the preventative action includes parking a HDD actuator, reducing the number of times the actuator is parked increases the availability of the HDD read/write head to access data on the HDD.
- Embodiments of the present invention thus reduce the rate of false triggers detected by an accelerometer, thereby reducing the number of unnecessary preventative actions performed in response to the false triggers. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention.
- Moreover, the description of
FIGS. 1 , 2A, and 2B is intended to provide an overview of computer hardware and other operating components suitable for performing the methods of the invention described above, but is not intended to limit the applicable environments. One of skill in the art will immediately appreciate that the invention can be practiced with other computer system configurations. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. - The present invention also relates to an apparatus for performing the operations described herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
- The computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic or in hardware circuitry. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, logic . . . ), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or produce a result. It will be further appreciated that more or fewer processes may be incorporated into the method illustrated in
FIGS. 3 and 5 without departing from the scope of the invention and that no particular order is implied by the arrangement of blocks shown and described herein. - Some portions of the preceding detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the tools used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
- It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the preceding discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.
Claims (28)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/394,030 US8532955B2 (en) | 2009-02-26 | 2009-02-26 | Minimization of false trigger in a mobile electronic system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/394,030 US8532955B2 (en) | 2009-02-26 | 2009-02-26 | Minimization of false trigger in a mobile electronic system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100217558A1 true US20100217558A1 (en) | 2010-08-26 |
US8532955B2 US8532955B2 (en) | 2013-09-10 |
Family
ID=42631727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/394,030 Active 2030-11-20 US8532955B2 (en) | 2009-02-26 | 2009-02-26 | Minimization of false trigger in a mobile electronic system |
Country Status (1)
Country | Link |
---|---|
US (1) | US8532955B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120265325A1 (en) * | 2011-04-14 | 2012-10-18 | Phoenix Contact Gmbh & Co. Kg | Circuit arrangement and method for monitoring a hazardous device by evaluating the acceleration |
US8612990B1 (en) * | 2011-10-25 | 2013-12-17 | Google Inc. | Prioritized rate scheduler for a storage system |
US20140132398A1 (en) * | 2012-11-15 | 2014-05-15 | Kapsch Trafficcom Ag | Methods for prolonging battery life in toll transponders |
WO2018051323A1 (en) * | 2016-09-19 | 2018-03-22 | Emerson Climate Technologies - Transportation Solutions Aps | Container shock detection system |
US11332976B2 (en) | 2017-02-09 | 2022-05-17 | Efaflex Tor—Und Sicherheitssysteme Gmbh & Co. Kg | Door with an intelligent door leaf, which has an electrically self-sufficient door leaf means, and method therefor |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8878475B2 (en) * | 2010-11-05 | 2014-11-04 | Stmicroelectronics, Inc. | Current limiting for a motor winding |
JP6158050B2 (en) * | 2013-11-28 | 2017-07-05 | 株式会社東芝 | Electronic device, method and program |
EP3595997B1 (en) * | 2017-03-15 | 2022-06-22 | Inventio AG | Method and device for monitoring the operating parameters in a personal transport installation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226140B1 (en) * | 1998-07-14 | 2001-05-01 | International Business Machines Corporation | Shock detector in a disk drive servo control system |
US6520013B1 (en) * | 2000-10-02 | 2003-02-18 | Apple Computer, Inc. | Method and apparatus for detecting free fall |
US20060268447A1 (en) * | 2005-05-09 | 2006-11-30 | Wenshuai Liao | Accelerometer-based differential free fall detection system, apparatus, and method and disk drive protection mechanism employing same |
US7369345B1 (en) * | 2004-12-03 | 2008-05-06 | Maxtor Corporation | Mobile hard disk drive free fall detection and protection |
US20080236282A1 (en) * | 2007-03-28 | 2008-10-02 | Kionix, Inc. | System and method for detection of freefall with spin using two tri-axis accelerometers |
US20090021858A1 (en) * | 2007-07-17 | 2009-01-22 | Guoyi Fu | Hard Disk Drive Protection System Based on Adaptive Thresholding |
US7595958B2 (en) * | 2006-01-06 | 2009-09-29 | Charles Partee | System including a hard disk drive and stray magnetic field sensor and associated method |
-
2009
- 2009-02-26 US US12/394,030 patent/US8532955B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226140B1 (en) * | 1998-07-14 | 2001-05-01 | International Business Machines Corporation | Shock detector in a disk drive servo control system |
US6520013B1 (en) * | 2000-10-02 | 2003-02-18 | Apple Computer, Inc. | Method and apparatus for detecting free fall |
US7369345B1 (en) * | 2004-12-03 | 2008-05-06 | Maxtor Corporation | Mobile hard disk drive free fall detection and protection |
US20060268447A1 (en) * | 2005-05-09 | 2006-11-30 | Wenshuai Liao | Accelerometer-based differential free fall detection system, apparatus, and method and disk drive protection mechanism employing same |
US7595958B2 (en) * | 2006-01-06 | 2009-09-29 | Charles Partee | System including a hard disk drive and stray magnetic field sensor and associated method |
US20080236282A1 (en) * | 2007-03-28 | 2008-10-02 | Kionix, Inc. | System and method for detection of freefall with spin using two tri-axis accelerometers |
US20090021858A1 (en) * | 2007-07-17 | 2009-01-22 | Guoyi Fu | Hard Disk Drive Protection System Based on Adaptive Thresholding |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120265325A1 (en) * | 2011-04-14 | 2012-10-18 | Phoenix Contact Gmbh & Co. Kg | Circuit arrangement and method for monitoring a hazardous device by evaluating the acceleration |
US9168655B2 (en) * | 2011-04-14 | 2015-10-27 | Phoenix Contact Gmbh & Co. Kg | Circuit arrangement and method for monitoring a hazardous device by evaluating the acceleration |
US8612990B1 (en) * | 2011-10-25 | 2013-12-17 | Google Inc. | Prioritized rate scheduler for a storage system |
US9262093B1 (en) | 2011-10-25 | 2016-02-16 | Google Inc. | Prioritized rate scheduler for a storage system |
US20140132398A1 (en) * | 2012-11-15 | 2014-05-15 | Kapsch Trafficcom Ag | Methods for prolonging battery life in toll transponders |
US9911015B2 (en) * | 2012-11-15 | 2018-03-06 | Kapsch Trafficcom Ag | Methods for prolonging battery life in toll transponders |
WO2018051323A1 (en) * | 2016-09-19 | 2018-03-22 | Emerson Climate Technologies - Transportation Solutions Aps | Container shock detection system |
US10611545B2 (en) | 2016-09-19 | 2020-04-07 | Emerson Climate Technologie—Transportation Solutions ApS | Container shock detection system |
US11332976B2 (en) | 2017-02-09 | 2022-05-17 | Efaflex Tor—Und Sicherheitssysteme Gmbh & Co. Kg | Door with an intelligent door leaf, which has an electrically self-sufficient door leaf means, and method therefor |
Also Published As
Publication number | Publication date |
---|---|
US8532955B2 (en) | 2013-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8532955B2 (en) | Minimization of false trigger in a mobile electronic system | |
CA2636315C (en) | Hard disk drive with external sensor interface, system, and method | |
US7042663B2 (en) | Magnetic disk protection mechanism, computer system comprising protection mechanism, protection method for magnetic disk, and program for protection method | |
JP3927532B2 (en) | Information processing apparatus, control method for information processing apparatus, program, and recording medium | |
JP4263340B2 (en) | Rotating storage device and control method thereof | |
US7492544B2 (en) | Hard disk drive protection system and method | |
US7142385B2 (en) | Method, apparatus and program storage device for magnetic disk drive protection | |
US7369345B1 (en) | Mobile hard disk drive free fall detection and protection | |
US7706097B2 (en) | Magnetic disk drive with head retraction control | |
US6046877A (en) | Protection apparatus and method for hard disk drive unit of a portable computer | |
WO2007087027A2 (en) | Programming a sensitivity level into an inertial sensor based on a proxy of whether a system is in transit | |
US7663833B2 (en) | Controller, storage apparatus and control method | |
JP2009020968A (en) | Magnetic disk device, portable electronic device having the same disk device mounted thereon, and emergency head unloading method when the electronic device falls | |
US6937417B2 (en) | Disk drive device | |
US7995302B2 (en) | Disk drive device and control method of unloading corresponding to fall detection in disk drive device | |
JP4286110B2 (en) | Disk device, head retracting method, and head actuator control circuit | |
KR20060121368A (en) | Apparatus and method for shock detecting using acceleration sensor | |
US9208808B1 (en) | Electronic system with unload management mechanism and method of operation thereof | |
US20070297086A1 (en) | Hdd write control method and apparatus | |
US7782219B2 (en) | Device and method for protecting an electronic appliance in critical motion conditions, in particular in case of fall | |
JP4930861B2 (en) | Image forming apparatus | |
US20110292540A1 (en) | Systems and Methods for Protecting Hard Disk Drives | |
JPH11176068A (en) | Magnetic disk controller and magnetic disk system | |
KR20070122276A (en) | Method for preventing mis-operation according to the swing in freefall sensor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: APPLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAN, CHENG PING;CHEN, JIUN-TAO;TAO, JAMES;AND OTHERS;REEL/FRAME:022324/0143 Effective date: 20090223 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |