Memory is a finite resource. Just like power or mass, we need to account for every single data point produced by each subsystem to ensure that we do not run out of memory on board. The Data Budget is a living document that will serve as the source of truth for all possible data that is generated, uplinked, downlinked, and stored during flight operations. It will be particularly useful for Firmware, Command & Data Handling (CDH), and Mission Operations. The following document is based on a lecture from Hawaii Space Flight Lab regarding Data Budget and Profiling.
The first step to developing the data budget is to profile each subsystem based on their utilization of key computing resources:
Subsystem | Component | Throughput Estimation | CPU Utilization | Non-Volatile Memory | Volatile Processor Memory | Update Frequency | Timing Accuracy |
---|---|---|---|---|---|---|---|
ADCS | ADCS-10 Module | High | Medium | High | Medium | Medium | Strict |
Power | Battery | Medium | Medium | Medium | Low | High | Strict |
Thermal | Thermistors | Low | Low | Low | - | Low | Low |
Command & Data Handling | On-Board Computer | Medium | High | High | High | High | Strict |
RF | RF Transceiver | High | Medium | High | - | Medium | Low |
The profiles are general estimates of what we expect from each subsystem. Throughput estimation conveys how much data is going into/out of any components associated with the given subsystem. The next four columns are pretty self-explanatory, however the last column is unique. Instead of ranging from High to Low, Timing Accuracy describes how strict the required timing synchronization must be for accessing and receiving data concurrently.
The second step is to summarize the computer characteristics of each Mode of Operation by summing the individual characteristics of each component in each mode and determine which mode will drive the computer design. Guess what, we have another table to describe these results:
Computer Characteristics | Safety | Imaging | Downlinking | Processing | Charging | LEOP | Command |
---|---|---|---|---|---|---|---|
Throughput Estimation | Low | High | High | High | Low | - | Medium |
CPU Utilization | Low | High | Medium | High | Medium | Low | High |
Non-Volatile Memory | Low | High | High | High | Low | - | Medium |
Volatile Processor Memory | Low | High | High | High | Medium | - | Medium |
Update Frequency | Medium | High | Medium | Medium | High | - | Medium |
Timing Accuracy | Low | Strict | Low | Strict | Medium | Strict | Strict |
Based on these two charts as well as interviews with each subsystem, we were able to create the following data budget. Please keep in mind that this is a living document, information will be added and updated constantly as we flush out our mission operations: