SSD 기술소개 |
ㆍ Solid State Drive (SSD)이란 하드디스크처럼 사용할 수 있도록 된 저장장치이다. 팍스디스크는 국내 최초로 SSD 를 개발한 이력을 보유하고 있다. |
ㆍ NAND Flash SSD란 본질적으로 플래시 메모리칩의 배열로, HDD와 호환성을 가지도록 에뮬레이션을 하는 컨트롤러를 가지고 있다. |
ㆍ 팍스디스크의 핵심 기술은 자체적으로 SSD 컨트롤러를 보유하고 있으며, SSD 시스템을 개발-생산-계측 시스템을 모두 보유하고 있다. 특히, 단일컨트롤러로 세계 최대용량을 지원하는 핵심 기술과 클라우드 컴퓨팅용 서버등을 위한 고객사등에 적용시키고 있다. |
■ Flash Memory의 물리적 특징 |
ㆍ 전원이 끊겨도 저장된 내용이 삭제되지 않는 메모리 (c.f. ROM) |
ㆍ 읽기/쓰기가 자유로운 메모리 (c.f. DRAM/SRAM) |
ㆍ SSD (Solid state Drive) : 회전운동을 하는 하드 디스크와 달리 고정된 반도체 메모리 방식으로 무소음 작동 |
ㆍ 모터 회전에 따라 자기 데이터를 읽는 하드디스크보다 몇배이상 빠르게 작동 |
ㆍ 작동온도 범위도 플래시 메모리는 더 저온과 고온에서 작동이 가능 |
■ Flash Memory의 기술적 특징 |
ㆍ 데이터를 쓰기전에 반드시 지워야 한다. |
ㆍ read/write의 단위와 지우기의 단위가 다르다 - Read/Write: page (보통 2-8kB) Erase: block (128 page) |
ㆍ read, write, erase에 소요되는 시간이 서로 다르다. - Read(0.025ms)〈 Write(0.2ms)〈 Erase(1.5ms) |
ㆍ 데이터의 신뢰성이 다른 메모리에 비해 극히 좋지 않기 때문에 오류 정정기술(ECC)이 없으면 사실상 사용이 불가능하다. |
ㆍ 따라서 메모리셀은 지우기를 할때마다 닳아서 손상되며 수명이 제한되어 있다. |
■ NOR vs. NAND 구조 비교 |
|
|
■ SLC vs. MLC |
ㆍ SLC 와 MLC NAND Flash 칩은 각각 하나의 비트와 두개의 비트를 메모리셀마다 가지고 있다. |
ㆍ SLC가 MLC와 비교해 신뢰성이 높아 10만회까지 읽고/쓰기가 가능하지만 단가가 비싸다. |
ㆍ MLC는 SLC에 비해 신뢰성이 떨어져 수천회까지만 읽고/쓰기가 가능하지만 단가가 저렴하여 양산제품에 많이 사용되고 있다. |
ㆍ 대용량제품에서는 MLC를 중심으로 생산되며,산업용, 방산용 제품에서는 SLC 중심으로 생산된다. |
■ NAND Flash 물리적 구조 |
ㆍ 읽기는 대단히 빠르지만, 쓰기는 상대적으로 느려 SSD 컨트롤러가 버퍼를 활용하는등 모아쓰기 기법을 사용하게 된다. |
ㆍ 지우는 시간이 오래 걸려, 컨트롤러가 전체 성능에 영향을 주지 않도록 한꺼번에 지우는 작업을 백그라운드로 수행하게 된다. |
■ NAND Flash Memory의 논리적 구조 |
ㆍ NAND Flash는 Block과 그 하부구조인 Page 단위로만 접근이 가능하며, 단 하나의 비트만을 쓰더라도 1page 전부를 사용하게 된다. |
■ SSD Architecture |
Controller는 일종의 SoC(system on chip)로 Host(컴퓨터)와 독립적으로 플래시메모리를 컨트롤 하여 안정적인 드라이브 성능을 제공하게 된다. 팍스디스크는 SSD 에 필요한 모든 IP 를 자체 보유하고 있어 맞춤형으로 설계가 가능하다. 특히, SATA 6Gbps, Multi-Port 형 초고속 LPDDR Controller 를 자체 기술로 보유하고 있고, 세계 최소형 28bit BCH-ECC 기술을 사용하고 있다. . |
■ FTL(Flash Translation Layer) |
ㆍ 플래시 메모리의 동작 특성을 숨김. |
ㆍ 일반적인 파일 시스템의 인터페이스 제공 |
ㆍ 플래시 메모리를 마치 디스크 드라이브처럼 보이도록 컨트롤러에 내장된 소프트웨어 |
FTL은 file system의 논리적 주소를 Flash memory의 실제 물리적 주소로 상호 변환시켜줄뿐 아니라, Flash memory특성상 쓰기동작이 지연되는 경우, 이를 숨기거나 보완하는등 핵심적인 역할을 하는 소프트웨어이다. |
■ NAND Flash SSD구조 |
SSD에서는 Flash memory의 수명연장이나 신뢰성 제고를 위해 다양한 기술적 요소가 필요하다. |
ㆍ Garbage Collection은 마치 PC의 디스크조각 모음과 유사한 기능을 구현하며, |
ㆍ ECC는 데이터와 별도의 Spare Array 영역에 저장해 둔 코드를 활용해서 자동으로 복구하도록 도와주며, |
ㆍ Bad block관리는 HDD가 low level포맷을 통해 사용가능영역을 확정하는것과 비슷한 역할을 백그라운드로 수행하며, |
ㆍ Wear leveling은 일정영역에 계속 쓰기를 반복하면 Flash memory의 셀이 손상되므로 |
ㆍ 이를 전영역에 고르게 쓰도록 하는 쓰기균등화 기능을 자동으로 수행한다. |
'Embedded Lab > FLASH MEMORY' 카테고리의 다른 글
[FTL 기술흐름] (0) | 2013.06.28 |
---|---|
[NAND 플래시의 종류] (0) | 2012.10.17 |
[SSD에서 FTL 관리 기법 - BPLRU] (0) | 2012.09.09 |