Patent ID: 7380055

Claim:
A mass storage controller for providing improved data availability, comprising: a volatile memory, for storing posted-write data; a non-volatile memory, coupled to said volatile memory; a battery, coupled to supply power to said volatile memory in response to a loss of main power; an indicator, for indicating whether said battery continued to supply power to said volatile memory until said main power was restored wherein said indicator comprises a storage element, coupled to receive power from said battery in response to said loss of main power, configured to provide a predetermined value when read after transitioning from a non-powered state to a powered state; and control logic, coupled to said indicator, configured to: program said storage element to a value other than said predetermined value, in response to said loss of main power; backup said posted-write data from said volatile memory to said non-volatile memory, in response to said loss of main power; determine that the main power has been restored, after the control logic backs up said posted-write data from said volatile memory to said non-volatile memory; determine whether said indicator indicates the battery continued to supply power to said volatile memory until said main power was restored, after said control logic determines that the main power has been restored; and forego restoring said posted-write data to said volatile memory from said non-volatile memory in response to said main power being restored, if said indicator indicates said battery continued to supply power to said volatile memory until said main power was restored, after said control logic determines whether said indicator indicates the battery continued to supply power to said volatile memory until said main power was restored.