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 구조 비교
* NOR Flash
  ㆍ Random, direct access interface
  ㆍ Random 읽기 속도가 빠르다.
  ㆍ 늦은 지우기와 쓰기이지만, 데이터 신뢰성이 높다. (ECC 불요)
  ㆍ 프로그램 저장에 주로 사용된다
* NAND Flash
  ㆍ Block단위로 I/O 접근을 한다
  ㆍ 고밀도 저장, 저렴한 가격
  ㆍ 지우기와 쓰기가 뛰어나지만, 데이터 신뢰성이 낮다. (ECC필요)
  ㆍ 주로 (연속된) 데이터 자정에 사용된다.
■ 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
Posted by cyj4369
,