PC에 사용되는 플레쉬메모리에 대해서 설명합니다.
(다른 장치에서 사용하는 플레쉬롬과 MCU는 제조사 규격이 많아 데이터시트를 보고 공부하셔야 합니다.)
플레쉬메모리와 같이 전원을 꺼도 내용을 유지하는 메모리를
비휘발성메모리(NVRAM)라고 하며 메인보드의 바이오스용 플레쉬롬이 대표적인 예입니다.
비휘발성메모리는 제조사에서 임의대로 만드는것이 아니라
전자산업계에서 정한 표준대로 만들어 집니다.
특히 PC BIOS용 플레쉬롬은 시장점유율이 높은 인텔칩셋 메인보드를 위해 만들어 진다고 할 수 있습니다.
** BIOS플레쉬롬은 메인보드의 사우스브릿지 칩에 연결됩니다.
따라서 사우스브릿지의 종류에 따라 사용가능한 플레쉬롬이 결정됩니다.
예로 오래전 펜티엄2 보드의 사우스브릿지는 Legacy(= ISA)인터페이스만 지원했으므로
펜티엄2 보드는 Legacy(= ISA)인터페이스의 플레쉬롬만 사용가능하며 8핀 SPI롬등은 사용이 불가능합니다.
반대로 요즈음 나오는 G31이후의 보드들은 사우스브릿지 칩셋에 ISA인터페이스가 아예 없고
SPI인터페이스만 있으므로 Legacy(= ISA)인터페이스의 플레쉬롬을 사용을 못하며
8핀 SPI롬만 사용할 수 있습니다.
*** 위사항에 예외가 되는것은 노트북용 메인보드가 있습니다.
특별한 인터페이스 변환칩을 사용하여 G31,8xx이후 보드에서
Legacy인터페이스를 사용하는 경우가 있습니다.
비휘발성메모리의 종류는 두가지 기준으로 구분됩니다.
한가지는 인터페이스(전기적인 연결방법, 전압이나 타이밍, 통신방법등...)이고
나머지 한가지는 패키지(핀의 갯수, 위치, 칩의크기등...)입니다.
여기서 인터페이스에는 다음과 같은 종류가 있습니다.
1. SPI : 인텔 945칩셋 이후의 대부분의 메인보드이 사용하는 인터페이스입니다.
주로 DIP8 이나 SOP8 패키지를 사용합니다. 가끔 SOP16(300mil)패키지도 사용하는 경우가 있습니다.
2. Firmware HUB,LPC : 인텔칩셋(8xx세대) 메인보드에서 사용하는 인터페이스입니다.
주로 PLCC32패키지를 사용했습니다.
3. Legacy : 단순하고 오래된 인터페이스로 구형 P4,P3 메인보드나 범용장비에서 사용합니다.
주로 PLCC32 ,DIP32 패키지를 사용했습니다.
4. Serial EEPROM(I2C) : 메모리의 PD저장, 8핀의 초소형패키지로 작은 정보를 저장할 때 사용합니다.
5. MIcrowire : 8핀의 소형패키지로 256byte 이하의 용량을 지원하며 랜카드등의 맥정보를 저장하는데 많이 사용합니다.
6. ICSP : Microchips PIC-MCU연결을 위한 인터페이스입니다.
* 각 인터페이스는 호환되지 않고 잘못 끼우면 롬과 라이터가 고장날수도 있습니다.
패키지는 아래와 같은 종류가 있습니다.(대표적인것만...)
1. DIP 32핀 (Dual In-line Package) : 펜티엄3 이전의 보드에서 주로 사용했습니다.
그림.1 DIP 32PIN
그림.2 DIP 18PIN(PIC 16F84, PC메인보드용은 아닙니다.)
그림.3 DIP 8PIN(W25X80이나 24C02등....)
2. PLCC32(Plastic leaded chip carrier) : Firmware HUB는 대부분 이 패키지입니다. 일부 legarcy 도 이 패키지가 있습니다.
그림.4 PLCC 32PIN
3. SOIC8(Small outline integrated circuit) : 945이후의 보드들은 대부분 이 패키지를 사용합니다.
그림.5-1 SOIC 8PIN
표준형 150mil(너비) SOP8 200mil
최근의 메인보드는 대부분 이것을 사용합니다.
그림.5-2 SOIC 8PIN
4. TSSOP8/40/48(Thin-Shrink Small Outline Package) : 노트북이나 램의 PD에 사용됩니다.
그림.6 TSSOP 32PIN
그림.7 TSSOP 8PIN
* 뒤에 붙는 숫자는 핀의 갯수입니다.
분류법은 위 두가지가 있으며
PC용 BIOS는 SOP8, SOP16, DIP8, DIP32, PLCC32패키지에 SPI, LEAGRCY나 Firmware HUB, LPC(Low Pin Count)인터페이스를 가집니다.
* 대량생산하면 가격이 중요한 데스크탑의 경우 대부분 표준패키지의 플레쉬롬이 사용되나 노트북의 경우 크기가 중요하므로
SOP8이나 TSOP40, TSOP48핀패키지가 많이 사용됩니다.
LEAGRCY인터페이스는 DIP32나 PLCC32가 있으나 (노트북용으로 TSSOP32/40/48도 사용합니다.)
Firmware HUB/LPC 인터페이스는 PLCC32만 있습니다. (노트북용으로 TSSOP32/40/48도 사용합니다.)
그림.8 많이 쓰이는 FWH
PC BIOS용 플레쉬롬들의 이름은 이름을 정하는 규칙대로 만들어집니다.
위 그림의 SST 49LF002A, W49F002나 W25X80등을 예로들면
처음의 문자나 로고는 제조사를 의미합니다.
SST 는 Silicon Storage Technology (http://www.sst.com) 의 약자입니다.
W는 Winbond Electronics Corp. (http://www.winbond.com) 의 첫자입니다.
다음의 두자리 숫자 49는 페레럴 인터페이스(Legacy,FWH,LPC중하나) 플레쉬롬이라는것을 의미합니다.
25는 SPI 인터페이스를 가진 플레쉬롬을 의미합니다.
중간의 문자(한자리나 두자리)는 앞의 두자리 숫자와 함께 플리쉬롬의 특성을 구분하기 위해 사용합니다.
이것은 칩제조사에서 자체규칙으로 결정하는것으로 제조사에서는 예전 칩과 다른 제품이 나올때 마다 변경합니다.
49F는 Winbond에서 Reset핀이 있는 Legacy 플레쉬롬에 할당한 코드입니다.
49LF는 SST에서 FHW/LPC 플레쉬롬에 할당한 코드입니다.
(49F가 먼저 나왔으므로 구문을 위해 LF 를 사용한것입니다.)
25X는 Winbond에서 SPI 플레쉬롬에 할당한 코드입니다.
(예전 칩은 25C를 사용했으므로 새로 X 를 할당했습니다.)
다음의 세자리 혹은 두자리의 숫자는 칩의 용량을 의미합니다.
단위는 Kbit나 Mbit로
002는 2Mbit (256Kbyte = 2의 17승 ), 80은 8Mbit (1M byte = 2의 20승 )를 의미합니다.
제조사에서는 예전제품과 구분을 위해 예전제품과 다른 규칙을 사용합니다.
예를 들어
Winbond사에서 수년전에 SPI, 8Kbit 플레쉬롬을 만들면서 W25C08로 이름을 정했다면
현재 나오는 SPI, 8M 플레쉬롬에는 다른 이름을 써야 혼란이 없으므로 08 대신 80을 써서 W25X80 으로 이름을 정하는것입니다.
혹은 29LV640 (Legacy, 64Mbit)은 예전에 나온 29LV64(Legacy, 64Kbit)와 혼동을 피하기 위해 뒤에 0을 하나 더 붙여서 이름이 정해졌습니다.
제조사에서는 다른특성의 제품이 나올때 마다 640 이나 6405, 064등 다른 방식으로 이름을 정해서 사용자들의 혼란을 줄이고 있습니다.
가장 뒤에 붙은 문자들은 기본특성의 변화없이 새 패키지가 나오거나 내부회로의 업데이트, 오류수정시 구분을 위한 리비전 넘버입니다.
실제 롬라이터나 메인보드에서 읽고 쓸 때에는 확인을 위한 용도외에는 필요하 없으므로 무시하셔도 됩니다.
(예로 SST49LF002A와 SST49LF002B는 ID가 동일하고 롬라이터상에서 읽고 쓰는 방법이 동일합니다.
단지 SST49LF002B는 LPC보드에서도 사용이 가능하고 SST49LF002A의 몇가지 작은 버그가 고쳐진것입니다.)