balita

balay > Kompanya > BALITA > balita > Satellite OBC Selection Guide (VIII): Static and Dynamic Memory Sizes – Matching Software and Data Storage Requirements

Satellite OBC Selection Guide (VIII): Static and Dynamic Memory Sizes – Matching Software and Data Storage Requirements

OBC memory is divided into "dynamic memory (RAM, temporary storage)" and "static memory (e.g., ROM, flash memory, permanent storage)". The sizes of both must respectively match "software operation requirements" and "task data storage requirements", directly affecting the OBC’s task execution capability.
 
Satellite OBC Selection Guide (VIII): Static and Dynamic Memory Sizes – Matching Software and Data Storage Requirements
 

Dynamic Memory (RAM): Matching Software Operation Requirements

 

Dynamic memory (e.g., SRAM, DRAM) is mainly used for "loading and running on-board software". Its size depends on the complexity of the software, with the following core considerations:
 

1. Determinants of Dynamic Memory Size

 

  • Software Scale: The more complex the functions of the satellite software, the larger the required dynamic memory. For example:
    • Simple attitude control software (only realizing basic attitude adjustment): Requires tens of MB of dynamic memory.
    • Complex EO satellite software (including image compression, multi-sensor data fusion): Requires hundreds of MB or even several GB of dynamic memory.
  • Software Operation Mechanism: In aerospace applications, "dynamic memory allocation" (e.g., malloc function in C language) must be avoided. Dynamic memory allocation may lead to "memory fragmentation", which in turn causes memory overflow, system crash and other faults. Therefore, the software must adopt "static memory allocation" — clarifying the memory requirements of each module during the design phase, and the dynamic memory size must cover the sum of the static memory of all modules.
  •  

2. Recommendations for Dynamic Memory Selection

 

  • Prioritize "RAM with EDAC (Error Detection and Correction) function": Space radiation is prone to cause RAM data inversion (SEU), and EDAC can automatically detect and correct errors, ensuring the stability of software operation.
  • Select according to processor architecture: For example, 32-bit processors usually support a maximum RAM capacity of 4GB, and 64-bit processors can support larger capacities. It is necessary to ensure that the RAM size does not exceed the processor’s addressing range.
  •  

Static Memory: Matching Task Data Storage Requirements

 

Static memory (e.g., ROM, flash memory, EEPROM) is used for "permanently storing task data" and "software backup". Its size depends on "task data volume" and "software backup requirements", with the following core considerations:
 

1. Determinants of Static Memory Size

 

  • Single-Orbit Task Data Volume: All task data collected by the satellite during a single orbit cycle (e.g., images, sensor logs) must be stored in static memory. For example, a high-resolution EO satellite collects 10 500MB images per orbit, requiring at least 5GB of static memory (with 20% redundancy reserved, the actual requirement is 6GB).
  • Data Preservation Requirement: Static memory must ensure "data non-volatility" — dynamic memory (RAM) erases data after power-off or restart, while static memory can store data permanently. Therefore, task data (especially data to be transmitted to the ground) must be stored in static memory to avoid data loss due to unexpected power-off.
  • Software Backup Requirement: A portion of static memory must be reserved for storing "software copies". If the software in the main static memory is damaged by radiation, the software can be loaded from the backup memory to ensure the OBC can start normally. Usually, a backup space equal to the size of the main software is required (e.g., if the main software occupies 1GB, the backup also needs 1GB).
  •  

2. Recommendations for Static Memory Selection

 

  • Prioritize "radiation-hardened flash memory": Traditional flash memory has weak radiation resistance and is prone to data damage caused by radiation. Radiation-hardened flash memory improves stability through special processes, making it suitable for long-duration missions.
  • Balance "capacity" and "read/write speed": Task data needs to be quickly read and transmitted to the ground within the communication window. The read/write speed of static memory must match the data transmission rate. For example, 5GB of data needs to be transmitted within 5 minutes (300 seconds), so the static memory’s read speed must be ≥17MB/s.
  •  

Evaluation Steps for Memory Size

 

When selecting OBC memory size, the required capacity can be evaluated through the following steps:
 
  1. Calculate the "static memory requirements of each software module", sum them up to get the minimum dynamic memory requirement (with 20% redundancy reserved).
  2. Compute the "single-orbit task data volume" (e.g., sensor sampling rate × sampling time × data bit width), sum them up to get the task data storage requirement for static memory.
  3. Determine the "software backup requirement" (usually the same as the size of the main software). The total static memory requirement = task data storage requirement + software backup requirement (with 20% redundancy reserved).
  4. Select the matching capacity of dynamic and static memory based on the processor architecture and radiation resistance requirements.
 
In short, dynamic memory needs to be "sufficient for software operation", and static memory needs to be "sufficient for data storage + software backup". Both must reserve redundancy, and radiation-resistant models should be prioritized to ensure memory reliability.

Kung interesado ka sa among mga produkto, mahimo nimong pilion nga ibilin ang imong kasayuran dinhi, ug makigkontak kami kanimo sa dili madugay.