위성 OBC의 구성요소는 마이크로프로세서, 메모리, 데이터버스, I/F 등으로 구성되어있으며, 여기서는 OBC의 메모리에 대해서 정리하겠다.
OBC 메모리는 크게 (1) Boot 메모리, (2) Internal 메모리, (3) Safeguard 메모리, (4) HK 메모리로 구성되어있으며 각각에 대한 특성은 아래와 같다.
1. Boot 메모리
- 기능 : OBC가 reboot 되어도 그대로 남아있어야 하는 OBSW용 Boot loader, OBSW Reference image가 저장됨
- 저장 방식 : EEPROM(Electrical Erable PROM) 또는 MRAM
- 기타사항 :
- 과거에는 EEPROM이 많이 사용되었는데, 최근에는 집적화에 유리한 MRAM의 사용이 늘어나고 있음
- EEPROM에 OBSW Bootloader가 저장되는 것과 달리 OBSW는 다른 flash 메모리에 저장될 수도 있음
2. Internal 메모리 (Work 메모리)
- 기능 : runtime storage RAM으로써, OS나 컨트롤 SW 정보를 저장함
- 저장방식 : SRAM (주기적인 refresh가 필요없음) / 지상 개발보드에서는 DRAM을 활용하기도 함
- 작동방식 :
- OBC가 켜지면 Boot loader에 의해 EEPROM(또는 flash 메모리)에 저장되어있는 OBSW를 RAM으로 복사함
- OBSW의 work 변수, configuration 변수 또한 RAM에 로딩됨 - 기타사항 : (EDAC 관련)
- RAM 구조 특성상 우주 방사선이나 EMC에 의해 failure가 발생될 수 있는데, 이를 극복하기 위해 Space qualified RAM의 경우 EDAC 기능을 포함하고 있음. (EDAC : Error Detection and Correction)
- 일반적으로 Leon 프로세서는 32bit를 사용하는데, EDAC은 여기에 8bit을 더해서 40bit를 활요함.
- EDAC은 읽기 쓰기 과정에서 알아서 error 평가 및 8bit 추가를 수행함
- EDAC은 SRAM 등에 내장하거나 별도의 칩을 활용함
3. Safeguard 메모리
- 기능 : 위성이 꺼졌다 켜져도 그대로 보존되어야 할 Configuration Vector 정보가 저장됨
* Configuration Vector란 각 unit의 정상여부와 P/R 중 control 현재 control 되고 있었던 장비 정보 등을 포함 - 작동 방식: 위성이 일시적으로 failure 되었을 때 가장 최근의 status 및 health 정보를 safeguard 메모리에서 load
- 저장 방식 : MRAM 또는 flash 메모리
4. HK 및 Science 데이터 메모리
- 기능 : TM 데이터 생성을 위한 HK 데이터 및 payload 장비 science 데이터 저장용 Mass Memory
- 저장 방식 : EEPROM 또는 NAND flash 메모리