Chapter 6. Service Request Function
GFK-2950C
February 2018
337
6.33.9
Fragmentation
Due to the nature of the media in PACSystems CPUs, writes may produce fragmentation of the
memory. That is, small portions of the memory may become unavailable, depending upon the
sequence of the writes and the size of each one. Data is stored on the device in 128 512-byte
sections. Each section uses 12 bytes of bookkeeping information, leaving a maximum of 64,000 bytes
devoted to the reference data and command data for each invocation. However, the data for a single
invocation cannot be split across sections. So, if there is insufficient space in the currently used
section to contain the new data, the unused portion of that section becomes lost.
Example:
Suppose that the current operation is writing 64 bytes of reference data and 8 bytes of
command data (72 bytes total). If there are only 71 bytes remaining in the current section, the new
data will be written to a new section and the unused 71 bytes in the old section become unavailable.
6.33.10
When nonvolatile storage is full
When logic driven user nonvolatile storage is full, a fault is logged. Before you can use SVC_REQ 57 to
write again, use one of the following solutions:
To retain the most up-to-date data and continue writing with SVC_REQ 57 to nonvolatile
storage:
1.
Stop the PACSystems.
2.
Power cycle the PACSystems.
A power cycle when nonvolatile storage is full triggers a compaction of existing data. During
compaction, multiple writes of the same reference memory address are removed, which leaves
only the most recent data, and contiguous reference memory addresses are combined into the
fewest number of records necessary.
If compaction cannot take place, a second fault is logged and you need to use one of the following
two solutions.
To retain specific data from nonvolatile storage, clear nonvolatile storage, and then return the
data to nonvolatile storage:
1.
While the controller is still running, use SVC_REQ 56 to read the desired values into PACSystems
memory.
2.
Upload the current values from controller memory as initial values to your project.
3.
Stop the controller.
4.
Do one of the following:
Clear the flash memory, or
Write to flash. The flash is erased prior to writing, which frees up some space.
5.
Download the initial values to the controller.
6.
Start the controller.
7.
Use SVC_REQ 57 to write the desired values from controller memory to nonvolatile storage.
To write to flash to erase everything:
1.
Stop the Controller.
2.
Write to flash. The flash is erased prior to writing, which frees up some space.
Summary of Contents for PACSystems RX7i
Page 357: ......
Page 466: ...Chapter 9 Diagnostics GFK 2950C February 2018 451...