EEPROM과 Flash Memory

2019. 5. 9. 04:45임베디드/ATmega128

1. EEPROM은 On-Board 상태에서 사용자가 내용을 Byte 단위로 읽고 쓸 수 있는 SRAM처럼 사용할 수 있는 불휘발성 메모리(NVRAM)이다. Read, Write 시간이 SRAM에 비하여 다소 느려 동일하게는 사용할 수 없다. 그래서 실시간 저장 메모리나 스택 메모리가 아닌 중요한 데이터를 백업하는 설정값 저장용 메모리로 적합하다. EEPROM 소자는 28Cxxx의 형태로 이름을 짓는 경우가 많다.

 

2. Flash Memory는 On-Board 상태에서 사용자가 내용을 Byte 단위로 읽을 수 있지만, Write는 Page, Sector라고 불리는 Block 단위로만 수행할 수 있는 변형된 EEPROM이다. 블록의 크기는 Memory 소자나 Maker에 따라 다르지만 대체로 64Byte, 128 Byte, 246Byte 등에서 부터 128KB까지도 사용한다. 이렇게 Flash Memory는 EEPROM과 매우 유사하지만, Byte단위로 Write하는 것이 불가능하므로 Page mode write 기능만 가지는 EEPROM이라고 생각하면 되며, 따라서 역시 SRAM처럼 실시간 Data memory로 사용하는 것은 불가능하다. 그러나, Flash memory는 EEPROM보다 Memory Cell 구조가 간단하여 훨씬 대용량의 메모리 소자를 만드는데 적합하며, 1개의 Block 전체를 Write하는데 수 ms 정도가 걸리므로 대용량 Data를 Write할 때는 EEPROM보다 훨씬 빠르다는 장점을 가진다.

그런데, Flash memory는 내부 구조에 따라서 NOR형 Flash와 NAND형 Flash memory로 나뉜다. NOR형 Flash는 다른 Memory 소자와 같이 외부 구조가 Address bus, Data bus, 그리고 몇가지의 제어신호 및 전원으로 되어 있어서 프로그램 저장용으로 널리 사용된다. NOR형 Flash memory는 대부분 29Cxxx 형태의 이름을 가지고 있다. 그러나, NAND형 Flash memory는 Address bus와 Data bus가 따로 있는 것이 아니고 8개(또는 16개)의 Data 신호와 몇 개의 제어신호 및 전원핀을 가지고 있다. 8개의 Data 신호선은 Address 및 제어명령을 Write하거나 Data값을 읽고 쓰는 용도로 사용된다. 이렇게 하면 Memory를 읽고 쓰는 동작은 좀 번거로워지지만 Memory 용량이 증가하더라도 핀 수가 늘어나지 않으므로 하드웨어 규격을 통일 할 수 있어서 Flash memory를 마치 Hard disk처럼 사용하는 것이 가능하다. 특히, 요즈음에는 휴대용 기기를 염두해 두고 1.8[V]나 3.3[V]의 저전압에서 동작하는 수십 MB~ 수 GB짜리 대용량의 NAND형 Flash memory가 많이 개발되어 휴대용 통신기기, 디지털 카메라, MP3 Player, 이동형 USB Memory등과 같은 용도에 널리 사용되고 있다. 


출처: https://treeroad.tistory.com/entry/Flash-Memory와-EEPROM-차이점

'임베디드 > ATmega128' 카테고리의 다른 글

완벽한 디바운싱 회로  (0) 2019.05.10
풀업, 풀다운의 필요성  (0) 2019.05.10
AVR과 arduino의 차이  (0) 2019.05.09
AVR 스터디 [2019.05.12]  (0) 2019.05.09
프로그램을 다운하는 2가지 방법  (0) 2019.05.03