3 data formats – space requirements, 4 available storage – Campbell Scientific SM4M/SM16M Storage Modules User Manual

Page 24

Advertising
background image

Section 4. Storage Module Memory: Details of Data Storage

4-2

The Dump Pointer is an internal Storage Module pointer used for keeping
track of the current start-of-dump for Storage Module-to Storage Module data
dumps and for the data retrieval options of the SMS program. The user can
move the Dump Pointer with the 4H command (see Appendix B). The Dump
Pointer marks the end point of the previous data dump and thus the start-of-
dump location for the next dump. Moving this pointer ‘loses’ this reference
point, which can cause problems with subsequent dumps.

4.3 Data Formats – Space Requirements

The modules store data in the format in which it is sent to them. There is no
conversion or encoding of the data received before it is stored.

Data can be sent to the module in either the Campbell Scientific Final Storage
Format (binary) or in the Printable ASCII format. One low resolution data
point requires two bytes in binary format. Storing ASCII data requires 10
bytes per data point, therefore the binary option should be used whenever
possible.

Bytes from the Storage Module input buffer are permanently stored in byte-
pairs. The Campbell Scientific datalogger’s Final Storage Format data is
always grouped in pairs. Printable ASCII may have a single byte left in the
input buffer when the PE line drops. In this case, the byte will be stored with a
null character (ASCII code 0) as the second byte.

If a single byte remains in the input buffer when power is disconnected from
the Storage Module, it will be stored with a null character (ASCII Code 0) as
the second byte the next time external power is applied. A File Mark is stored
at power-up. If there is an added null character, it will be placed before a File
Mark.

4.4 Available Storage

The flash memory used within the modules is divided into 64 Kbytes blocks,
within the memory chips themselves. Flash memory must first be erased
before it is possible to overwrite oldest data. It is only possible to erase entire
blocks of memory, in this case, 64 Kbytes at a time.

If the memory is being used as Fill and Stop, this is of no consequence as the
memory will have been entirely erased before storing data. The module will
store data until every memory block has been filled.

However, when configured as Ring Memory, once the module has filled it
must erase the next block of memory before it can continue writing data
“ around the ring.” Erasing a block takes approximately one second, requiring
the module to erase the 64 Kbyte block well in advance. The module initiates
the erase process 24,000 bytes before the end of the current block.

In the worst case the size of the erased section of the module will be 64 Kbytes
plus 24,000 bytes. Table 4-1 lists effective capacity for the SM4M and
SM16M configured as ring memory. The effective size of the memory can be

Advertising