플래시 메모리
위키백과 ― 우리 모두의 백과사전.
플래시 메모리는 전기적으로 데이터를 지우고 재기록이 가능한 비휘발성 컴퓨터 기억 장치를 말한다. EEPROM과 다르게 여러 구역으로 구성된 블록 안에서 지우고 쓰기가 가능하다. 플래시 메모리는 EEPROM 보다 비용이 덜 들기 때문에 어느 정도 중요 분량의 비휘발성인 고체상태(solid-state) 저장매체가 필요한 경우 주로 사용된다.
대표적인 활용 예로 디지털 음악 재생기, 디지털 카메라, 핸드폰을 들 수 있다. 일반적인 데이터를 저장과 컴퓨터간에 데이터를 옮기는 용도로 USB 드라이브를 많이 사용하는데, 이 때도 플래시 메모리가 사용되고 있다. 또한 게임 데이터를 저장하기 위해 EEPROM 대신 플래시 메모리가 자주 사용되고 있어 게임시장에서도 인기를 얻고 있다.
목차 |
[편집] 개요
플래시 메모리는 메모리 칩안에 정보를 유지하기 위해 전력이 필요없는 비휘발성 메모리이다. 게다가 플래시 메모리는 읽기 속도가 빠르며(비록 PC에서 메인 메모리로 사용되는 DRAM만큼 빠르지는 않지만) 하드디스크 보다 충격에 강하다. 이러한 특징으로 인해 배터리로 동작하는 디바이스에서 저장장치로 많이 사용되고 있다. 플래시 메모리의 또다른 매력은 강한 압력이나 끊는 물에 견딜 만큼, 물리적 수단으로 거의 파괴되지 않는다는 점이다.
[편집] 동작 원리
플래시 메모리는 전통적으로 비트(bit)정보를 저장하는 셀(cell)이라 부르는 플로팅 게이트 트랜지스터(floating gate transistors)로 구성된 배열안에 정보를 저장한다. 요즘 등장하는 플래시 메모리의 경우 하나의 셀에 존재하는 플로팅 게이트에 두 단계 이상의 전하를 저장하여 셀 하나에 1비트 이상을 저장할 수 있는 MLC(Multi Level Cell) 디바이스라고 일컬어진다.
NOR 플래시는 게이트 하나 대신 두개를 갖고 있는 것을 제외하면, 각 셀이 표준 MOSFET과 유사하다. 하나의 게이트는 또다른 MOS 트랜지스터 처럼 콘트롤 게이트(CG)이지만, 두번째 게이트는 산화물 층(oxid layer)에 의해 모든 주위가 절연된 플로팅 게이트(FG)이다. FG는 CG와 기판 사이에 위치하게 된다. FG가 산화물층에 의해 절연되었기 때문에 그곳에 위치한 전자는 갖히게 되고 따라서 정보를 저장하게 된다. 전자가 FG에 있을 때, CG에서 나오는 전기장에 영향을 주어 셀의 문턱 전압(Vt)이 변경된다. 이와 같이 CG에 특정 전압을 가하여 그 셀의 정보를 읽을 때, FG에 있는 전자의 수에 따라 Vt이 다르기 때문에 전류가 흐르거나 흐르지 않는다. 이러한 전류의 흐름과 차단이 판독되고 이는 1과 0으로 해석이 되어, 저장된 데이터를 형성한다. 셀 당 1bit이상의 정보가 저장되는 MLC(Multi-level cell) 디바이스에서는 FG에 저장된 전자의 수를 측정하기 위해 단순히 전류의 흐름을 판단하기 보다 그 양을 판독한다.
시장에 플래시 메모리가 출시되었을 때, 모든 셀의 상태는 1로 되어 있다. 이런 셀의 정보를 0으로 변경하는 것을 프로그래밍이라고 한다. NOR 플래시 메모리를 프로그래밍하기 위해서는 EPROM처럼 hot-electron injection 방식을 사용한다. 먼저, NOR 플래시 셀의 소스에서 드레인으로 전류가 흐를 때, CG에 큰 전압을 가하면 FG에 전자를 끌어드릴 정도의 강한 전기장이 생성되어 결국 전류가 흐르지 않게 된다. 결국, 셀의 상태는 0이 되는 것이다. NOR 플래시 셀을 지우기 위해서는(다시 프로그래밍하기 위한 준비로 모든 셀을 1로 리셋하는 것) CG와 소스간에 강한 전압차를 가하면 Fowler-Nordheim tunneling을 통해 FG는 전자를 잃게 된다. 근래 개발된 대부분의 NOR 플래시 메모리는 한번에 지워진다. 그러나 프로그래밍은 바이트 또는 워드 단위로 수행된다.
NAND 플래시는 쓰기 작업을 위해서 tunnel injection을 사용하고 지우기 위해 tunnel release를 사용한다. NAND 플래시 메모리는 USB 메모리 드라이브로 알려진 USB 인터페이스 스토리지 디바이스에서 사용되고 있다.
[편집] 역사
플래시 메모리는 1984년 당시 도시바에서 근무하고 있던 후지오 마수오카 박사에 의해 발명되었다. 도시바에 따르면, '플래시'라는 이름은 마수오카 박사의 동료인 쇼지 아리주미에 의해 제안되었다고 한다. 왜나하면 메모리 내용이 지워지는 과정이 마치 카메라의 플래시를 연상시켰기 때문이다. 마수오카 박사는 이 발명을 캘리포니아 산호세에서 열렸던 IEEE 1984 International Electron Devices Meeting (IEDM)에서 발표하였다. 당시 인텔은 이 발명의 엄청난 잠재력을 보고 1988년 최초의 상업용 NOR 타입 플래시 메모리를 소개하였다.
NOR 기반 플래시는 지우기와 쓰기 시간이 긴대신 어떤 위치에도 임의 접근이 가능하도록 주소/데이터 인터페이스를 제공한다. 이 메모리는 컴퓨터 바이오스나 셋톱박스의 펌웨어와 같이 자주 업데이트되지 않는 프로그램 코드를 저장하는데 적절하다. 플래시 메모리 특성상 10,000에서 1,000,000까지 지우기가 가능하다. NOR기반 플래시는 초기 이동형 매체의 근간이 되어, 콤팩트 플래시에서 최초로 사용되었으나 나중에 가격에 좀 더 싼 NAND 플래시가 사용되기 시작했다.
NAND 플래시는 1989년 도시바에 의해 ISSCC에서 발표되었다. NAND 플래시는 NOR 플래시에 비해 지우기와 쓰기 시간이 좀 더 빠르고 집적도가 높으며 비트당 제작비용도 낮고 10배의 내구성을 자랑한다. 그러나 I/O 인터페이스는 데이터에 대한 순차접근만을 지원한다. 이것은 컴퓨터 메모리로는 다소 덜 유용하지만 PC 카드와 다양한 메모리 카드와 같은 매스(mass) 스토리지 디바이스 용도로 적절하다. 첫번째 NAND 기반 이동형 미디어 포맷은 스마트 미디어였지만, MMC, Secure Digital, 메모리 스틱과 XD-Picture Cards에서도 사용되고 있다. 이외에 RS-MMC (Reduced Size MultiMedia Card), TransFlash, miniSD 등이 다음 세대 저장매체로 등장하고 있다. 이러한 새로운 포맷은 보통 크기가 4 cm²이하로 상당히 작다.
[편집] 한계
플래시 메모리의 한계는 블록 내에서 특정 단위로 읽고 쓰기가 가능하지만, 블록 단위로 지워야한다는 점이다. 또한 덮어 쓰기가 가능하지 않으므로, 전체 블록을 지우기 전까지는 해당 데이터를 변경할 수 없다.
NOR 플래시의 경우 임의접근 방식으로 바이트 또는 워드단위로 읽기/쓰기 동작이 가능하지만 덮어 쓰기와 지우기 동작은 임의 접근으로 불가능하다. NAND 플래시는 페이지 단위로 읽기/쓰기 동작이 가능하지만 해당 페이지를 덮어 쓰거나 지우기 위해서는 전체 블록을 지워야 한다(NAND 플래시는 블록을 여러 페이지로 나누어 사용한다).
하드디스크와 비교할때, 더 큰 한계는 지우기 횟수가 제한되어 있다는 점이다(대부분 상업적으로 사용가능한 플래시 메모리 제품의 경우 백만번 내에서 보증한다). 그래서 운영체제와 같이 하드디스크를 기반으로 하는 애플리케이션이 컴팩트 플래시와 같은 플래시 메모리 기반 디바이스를 사용할 때는 각별한 보호가 있어야 한다. 그래서 이러한 한계를 극복하기 위해 칩 펌웨어 또는 파일시스템 드라이버에서 블록의 지우기 횟수를 계산하고 모든 블록이 고루 사용되도록 블록을 동적으로 재배치하며, 쓰기 동작을 검증하고 전체 공간에서 여유 블록을 준비해 두어 배드 블록이 발생하면 이를 대치하기도 한다.
플래시 메모리의 바이트 당 비용은 하드디스크 드라이브에 비해 상당히 높고 지우기 횟수가 제한된 상태여서 일반적으로 데스크탑PC와 노트북에서 하드 디스크 대신 사용되지 못하고 있다. 하지만 특수 용도에서는 하드디스크 대신 플래시 메모리로 제작된 SSD(Solid State Disk)가 사용되고 있다.