# Kepler has 16 GB of memory. Is this DRAM?

I'm writing a book chapter about Kepler, both the man and the spacecraft. I can't find much about the computer system and memory. In particular, I'd like to know if the 16 GB memory is DRAM, since I also want to explain how DRAM works in this chapter.

• If you want technical accuracy, please also take a moment to define whether by "gigabyte" you mean $2^{30}$ bytes or $10^9$ bytes. I very strongly suspect that here you mean $16 \times 2^{30}$ bytes, but I don't know, and it's one of those things that I'd probably want to look up, which would detract from your work.
– user
Commented Dec 4, 2016 at 16:01
• As noted in oefe's answer, that 16 GB was not the computer's memory. It more akin to a solid state tape recorder. Space qualified flash memory didn't exist when Kepler was designed. Commented Dec 7, 2016 at 20:10

Kepler has a 16 GigaByte synchronous dynamic random access memory solid-state recorder, so that would be a kind of DRAM.

However, note that this is not the processor's main memory. The RAD750 used in Kepler is a 32-Bit processor, and wouldn't be able to address 16 GB of main memory. In practice, memory for RAD750-based systems is more in the range of 128 MB or less (e.g. see the BAE specification sheet for their current RAD750-based single-board computers).

• Very helpful references! I guess there's some paging system to allow access to the full 16 GB Commented Dec 4, 2016 at 18:31
• I can think of a couple of ways to use 16 GiB of RAM with a 32-bit address space CPU, if the desire is there. Four additional synthetic address lines (kept at 0) is one way that would limit access to 32-bit words, and bank switching is another time-tested approach that doesn't but has obvious performance implications. But if that memory is used as storage, it doesn't really matter, because it was long ago that we figured out how to use storage devices larger than the CPU's native address space. And I suspect that there's lots of reasons to make flight software memory-efficient.
– user
Commented Dec 4, 2016 at 18:55
• With a 32 bit address 4 GB of main memory may be selected. Add only 2 bits of a bank register will do.
– Uwe
Commented Jul 14, 2019 at 14:36

Kepler has 16 GB of memory. Is this DRAM?

Yes and no.

The yes part: It's SDRAM. The no part: It's not the computer's main memory. It's instead the equivalent of a tape recorder, only using solid state technology instead of moving parts. That solid state data recorder is used to record the data gathered by Kepler's sensors in between intermittent downloads via the Deep Space Network.

Tape recorders have a number of problems. They're large, massive, power hungry, slow, and prone to mechanical failures. NASA began using random access memory as the basis for solid state recorders in 1996 with the Inflatable Antenna Experiment flown on STS-77.

The concerns of accessing each of the 16 gigabytes individually is not an issue precisely because this isn't the computer's main memory. There's no reason to make this recorder addressable at the byte level. Kepler captures big chunks of data at once, which are then processed and written as somewhat smaller (but still large) chunks to the recorder. During download via the Deep Space Network, even bigger chunks are read and transmitted to the ground.