Chapter 6. Service Request FunctionGFK-2950C February 2018 3376.33.9 FragmentationDue to the nature of the media in PACSystems CPUs, writes may produce fragmentation of thememory. That is, small portions of the memory may become unavailable, depending upon thesequence of the writes and the size of each one. Data is stored on the device in 128 512-bytesections. Each section uses 12 bytes of bookkeeping information, leaving a maximum of 64,000 bytesdevoted to the reference data and command data for each invocation. However, the data for a singleinvocation cannot be split across sections. So, if there is insufficient space in the currently usedsection 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 ofcommand data (72 bytes total). If there are only 71 bytes remaining in the current section, the newdata 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 fullWhen logic driven user nonvolatile storage is full, a fault is logged. Before you can use SVC_REQ 57 towrite again, use one of the following solutions:To retain the most up-to-date data and continue writing with SVC_REQ 57 to nonvolatilestorage:1. Stop the PACSystems.2. Power cycle the PACSystems.A power cycle when nonvolatile storage is full triggers a compaction of existing data. Duringcompaction, multiple writes of the same reference memory address are removed, which leavesonly the most recent data, and contiguous reference memory addresses are combined into thefewest number of records necessary.If compaction cannot take place, a second fault is logged and you need to use one of the followingtwo solutions.To retain specific data from nonvolatile storage, clear nonvolatile storage, and then return thedata to nonvolatile storage:1. While the controller is still running, use SVC_REQ 56 to read the desired values into PACSystemsmemory.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, orWrite 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.