Unsuitable station for SRAM support

The DataRecoveryService writes current values as they occur to a block of SRAM. When a block is full, the service copies it from SRAM to the controller’s flash memory. A station that creates rapid COV (change of value) histories may fill the SRAM data blocks too frequently, triggering a database save possibly every couple of minutes. Ideally, such database saves to flash memory should occur no more than once an hour.

Saving the database too frequently results in inefficient use of controller CPU time and potential flash problems. Flash memory is designed to be written to a certain number of times. A number of variables contribute to how often the database needs to be saved, including:

  • Rate of changes that need to be persisited
  • Size of the changes (histories, alarms, and setpoint changes differ in size)
  • Amount of free flash memory space

Two examples use only the number of changes that occur per hour to demonstrate the need to consider the COV rate when selecting station backup options:

  • The first JACE-6E station with 176 COV histories. Each writes every 5 seconds. In addition, the station has other NRIO and BACnet components that add to the histories. 176 COV histories changing every 5 seconds yields 126,720 changes per hour (176 * 12/min * 60 min/hr). Automatic database saves occur every 6 minutes. This number of changes is well beyond the recommendation for a controller using only SRAM and flash memory to backup station data.
  • A second JACE-6E station has 1200 interval histories, each with a collection interval of 10 to 15 minutes. If all histories change every 10 minutes (worst case scenario) the result comes to 7,200 changes per hour (1200 * 6 changes/hr). Now compare this number of changes to those in the first example: 126,720/7,200. In the first example, changes occur nearly 18 times more often than in the second. Applying this ratio to the second example, an automatic database save occurs approximately every 1.5 hours (6 minutes * 17.6 = 105 minutes), well within the acceptable range.

Applications that require frequent writes to flash memory should use a controller with a backup battery and disable the use of internal SRAM/flash memory.