1. 개요
솔리드-스테이트 저장장치(solid-state storage)
는 하드 디스크처럼 기계적 요소나 회전체가 없다.
대신, 메모리와 프로세서처럼 트랜지스터
로만 만들어졌다.
전력이 없더라도 정보를 유지할 수 있기 때문에 데이터를 영구적
으로 저장하기 위한 이상적인 후보이다.
우리가 다룰 기술은 플래시
라고 알려져 있다.
2. 하나의 비트를 저장하기
플래시 칩은 하나의 트랜지스터에 하나 또는 그 이상의 비트들을 저장할 수 있도록 설계되었다.
트랜지스터에 저장된 전하들의 정도
를 이진값
에 대응해 놓았다.
단일 레벨 셀(single-level cell, SLC) 플래시에는 오직 하나의 비트만 트랜지스터에 저장된다.
다중 레벨 셀 플래시는 저장된 전하의 정도의 기준을 세분화하여, 전하가 아주 적음, 적음, 많음, 아주 많음을 각각 00, 01, 10, 11에 대응이 되도록 코딩을 하였다.
삼중 레벨 셀도 존재하며, 이 경우 한 셀의 전하량을 3비트에 대응되도록 만들었다.
3. 비트에서 뱅크와 플레인으로
플래시 칩은 많은 수의 셀들로 이루어진 뱅크
나 플레인
으로 구성되어 있다.
뱅크는 두 개의 서로 다른 단위 크기로 접근할 수 있다.
때로는 삭제 단위 블럭
이라고 불리는 블럭과 페이지 단위
로 접근 할 수 있다.
4. 기본 플래시 작업
플래시 칩이 지원하는 세가지 저수준 작업이 있다.
읽기: 장치에 적당한 페이지 번호를 지정하여 읽기 명령을 요청하면 위치에 상관없이 플래시 칩에서 읽을 수 있다. 임의 접근(random access)이 가능하다.
삭제: 삭제시 블럭 내의 내용을 모두 1로 채워서 없애버린다. 중요 데이터는 다른 메모리 또는 플래시 블럭으로 복사 해야 한다.
프로그램: 블럭에서 삭제 명령을 수행한 후에는, 프로그램 명령을 통해 페이지의 1값들을 0으로 변경하여 원하는 내용을 플래시의 페이지에 쓸 수 있다.