SSD/Flash

유석현(SeokHyun Yu)·2023년 6월 15일
0

운영체제

목록 보기
22/22
post-thumbnail

1. 개요

솔리드-스테이트 저장장치(solid-state storage)는 하드 디스크처럼 기계적 요소나 회전체가 없다.

대신, 메모리와 프로세서처럼 트랜지스터로만 만들어졌다.

전력이 없더라도 정보를 유지할 수 있기 때문에 데이터를 영구적으로 저장하기 위한 이상적인 후보이다.

우리가 다룰 기술은 플래시라고 알려져 있다.


2. 하나의 비트를 저장하기

플래시 칩은 하나의 트랜지스터에 하나 또는 그 이상의 비트들을 저장할 수 있도록 설계되었다.

트랜지스터에 저장된 전하들의 정도이진값에 대응해 놓았다.

단일 레벨 셀(single-level cell, SLC) 플래시에는 오직 하나의 비트만 트랜지스터에 저장된다.

다중 레벨 셀 플래시는 저장된 전하의 정도의 기준을 세분화하여, 전하가 아주 적음, 적음, 많음, 아주 많음을 각각 00, 01, 10, 11에 대응이 되도록 코딩을 하였다.

삼중 레벨 셀도 존재하며, 이 경우 한 셀의 전하량을 3비트에 대응되도록 만들었다.


3. 비트에서 뱅크와 플레인으로

플래시 칩은 많은 수의 셀들로 이루어진 뱅크플레인으로 구성되어 있다.

뱅크는 두 개의 서로 다른 단위 크기로 접근할 수 있다.

때로는 삭제 단위 블럭이라고 불리는 블럭과 페이지 단위로 접근 할 수 있다.


4. 기본 플래시 작업

플래시 칩이 지원하는 세가지 저수준 작업이 있다.

  • 읽기: 장치에 적당한 페이지 번호를 지정하여 읽기 명령을 요청하면 위치에 상관없이 플래시 칩에서 읽을 수 있다. 임의 접근(random access)이 가능하다.

  • 삭제: 삭제시 블럭 내의 내용을 모두 1로 채워서 없애버린다. 중요 데이터는 다른 메모리 또는 플래시 블럭으로 복사 해야 한다.

  • 프로그램: 블럭에서 삭제 명령을 수행한 후에는, 프로그램 명령을 통해 페이지의 1값들을 0으로 변경하여 원하는 내용을 플래시의 페이지에 쓸 수 있다.

profile
Backend Engineer

0개의 댓글