EEPROM 과 NVRAM 의 차이

작성자 : 유창훈(dbckdgns0515@hotmail.com)

 

먼저 EEPROM과 NVRAM의 구조를 그림으로 살펴보도록 하자


 

솔라리스의 부팅 프로세스 순서는 다음과 같다.

1. PROM

.1 POST

.2 BOOT-device 동작

.3 BOOT block LOAD

2. Boot Program usfboot = kernel 의 시작 함수 호출

3. Kernel초기화( 모듈로드)

4. init process동작

 

여기서 1. PROM 과정을 수행하는 도중 PROM에서 NVRAM으로 어떤 정보가 넘어가는지 살펴보도록 하자.

 

전원을 켜고 POST 과정을 수행한다.

이후 부팅과정에 필요한 하드웨어적인 셋팅값들을 NVRAM안에 EEPROM으로 던져준다.

(POST코드가 EEPROM으로 넘어가는지 여부와 Device driver코드가 어떤식으로 적용되는지궁금하다. 아시는분은 메일로답변부탁바랍니다.)

 

NVRAM은 x86/64 머신의 CMOS와 같다고 생각하면된다.

NVRAM의 구성은 위와 같고 Time of day clock 값과 NIC, HOST ID정보는 하드웨어적으로 초기값이 저장되어 공장에서 나온값이다. 이를 사용자가 setenv 과 같은 명령어로 바꾸게 되면 EEPROM에 변경된 값이 저장되어 있다.

가끔 NVRAM의 리튬 베터리가 방전되면 삑삑거리며 에러를 발생시키는걸 볼 수 있는데, 이때 EEPROM의 안에 값들은 NVRAM이 가지고있는 공장초기값들로 변경된걸 볼 수있다.

추가) HOST ID는 NVRAM칩에 내장된 하드웨어 고유의 식별값으로써, 라이센스 방식의 소프트웨어 패키지에서 HOST ID를 기준으로 라이센스를 발급한다.


AND