
한편, 데이터를 저장할 때는 지우기(erase)와 쓰기(program) 동작에 의해 원하는 셀에 원하는 데이터를 저장한다. 먼저, 메모리 셀들의 배열로 이루어진 한 부분(block)을 단 한 번의 동작으로 플로팅 게이트에 들어 있는 전자를 모두 빼낸 다음, ‘1’을 저장할 셀에만 게이트 단자와 드레인 단자에 높은 전압을 공급하여 플로팅 게이트에 전자를 축적한다. 이렇게 축적된 전자는 전원이 꺼져도 거의 영구히 보존되므로 플래시 메모리가 비휘발성 특성을 지니게 되는 것이다.
그럼 이번에는 위의 그림을 참고해 플래시 메모리의 개괄적인 동작을 알아보자. 외부에서 데이터를 읽기 위해 주소(address)를 메모리에 입력하면, 메모리에서는 주소를 행 주소(row address)와 열 주소(column address)로 분리하여 바둑판 모양의 셀 배열(cell array) 속에서 하나의 셀을 선택한다. 그때 선택된 셀의 정보는 플래시 메모리의 출력단자를 통해 외부에 전달된다. 메모리에 데이터를 기록할 때는 주소와 저장될 데이터를 함께 입력하여 셀 배열 중에서 입력된 주소에 의해 지정된 셀을 선택하고 그곳에 데이터를 기록한다. 모든 반도체 메모리는 이와 같은 기본적인 구조를 가지고 있다. 이렇게 간단하게 메모리의 동작을 설명하였지만, 실제로는 매우 복잡하고 어려운 기술이다. 2005년에 삼성전자가 개발한 16기가 비트 낸드 플래시는 50 nm 공정을 사용한 160억 개 이상의 트랜지스터가 셀 배열을 이루고 있다. 50 nm 기술은 머리카락 2천분의 1 두께의 극미세 회로선폭을 이용하여 반도체를 설계하는 최첨단 기술이라 할 수 있다.
플래시 메모리는 메모리 셀을 배열하는 방법에 따라 여러 가지(NOR, DiNOR, T-Poly, AND, NAND)로 분류할 수 있는데, 대표적으로는 노어(NOR) 형태와 낸드(NAND) 형태로 분류된다. 위의 그림에서 보는 바와 같이 기본적으로 낸드 플래시와 노어 플래시는 셀을 구성하는 형태에 차이가 있다.
노어 플래시는 셀 배열이 병렬 구조이기 때문에 순서에 관계없이 임의의 셀을 선택하여 데이터를 읽을 수 있다. 다만 병렬로 연결된 각 셀을 개별적으로 연결하는 전극이 필요하고, 따라서 면적이 낸드형에 비해 크다는 단점이 있다. 이에 비해 낸드 플래시는 셀 배열이 직렬 구조이기 때문에, 먼저 해당 블록으로 이동한 후 직렬로 연결된 각 셀에서 순차적으로 데이터를 읽어내는 방식을 사용한다. 따라서 노어 플래시에 비해 읽기 속도는 느리지만 직렬로 회로를 구성하기 때문에 셀 면적의 크기가 작아 집적도가 높다. 결론적으로 낸드 플래시는 노어 플래시에 비해 속도는 느리지만, 제조 단가가 싸고 대용량을 담을 수 있는 장점이 있다.
참고로 반도체 메모리는 전체 칩 면적에서 셀 배열이 차지하는 부분이 50∼80%이며, 칩 면적은 곧 제조 단가의 결정적 요소이다. 현존하는 반도체 메모리 중에서 낸드 플래시의 셀 면적 크기가 가장 작아서 메모리의 대용량화에 최적인 반도체 메모리라고 할 수 있다. 아울러 플래시 메모리 자체의 비휘발 특성 때문에 최근 발전하는 휴대형 전자기기를 중심으로 낸드 플래시 메모리의 활용 영역이 넓어지고 있다.