There are two flash memories in the star tracker, as shown in Table 53.
Table 55: Flash Memory Parameters
Supervisor Processor
Functional Processor
Flash Technology
NOR SLC Flash
NAND SLC Flash
Program/Erase Endurance
20,000 minimum
150,000 typical
100,000
Read Endurance
Unlimited
Variable
It is well known that flash memories have a write endurance limit. After a certain number of program/erase cycles, a page or block may become damaged and unusable. It is the user’s responsibility to ensure that these limits are not approached. In the event that a small region of flash wears out due to accidental program/erase loops it should be possible to modify the software to avoid this region and recover use of the device.
The supervisor NOR flash has no read endurance limit – the memory contents can be read an infinite number of times without disturbing them. This is not true for the functional NAND flash. Each read cycle disturbs the contents of the memory, and after a large number (literature suggests 1,000,000) bits may become spuriously programmed.
In normal operations, the functional processor reads from flash in the following ways:
· At bootup, the boot block is read
· The flash relocation and backup tables are read
· The application image is read
· The calibration table is read
· The entire star table and hash table are read
· A small subset of the triangle table is read, depending on which stars are identified in the images
If the star tracker is cycling at its maximum rate (~2 Hz) it may accumulate 172,800 cycles in a day. Since each flash block contains 64 pages, this gives 11,059,200 read accesses to a given block. This is well within the literature values for read disturbance.
Figure 2: Flash Read Disturbance vs Sequence Number for 6 Star Trackers
Laboratory tests have been very confusing. Some units have shown flash degradation, while others have stubbornly refused to. Figure 2 shows data collected during the thermal acceptance testing of six units. Units 1021 and 1024 show errors, starting at about 40,000 cycles. The other four units show no errors.
In this particular case, units 1021 and 1024 are rev 5 parts, while the others are rev 4. This would seem to be pretty clear correlation, except that some (but not all!) customers with rev 4 hardware also report similar read disturbance errors.
Figure 3: Flash Read Disturbance and Temperature vs Time for 2 Star Trackers
For the rev 5 parts, there appears to be a temperature sensitivity to the read disturbance effect. Figure 3 shows how the rate of error accumulation slows at high temperature, and accelerates at low temperature.
Mitigation
Until this issue is fully understood, it is safest to assume that all star trackers are potentially susceptible. There are two mitigation methods that can be used. Both have their advantages and disadvantages, and the choice is left up to the customer.