프로세서라고도 하는 SSD 컨트롤러에는 플래시 메모리 구성 요소를 SSD 입력/출력 인터페이스에 연결하는 전자 장치가 포함되어 있습니다. 컨트롤러는 펌웨어 수준 소프트웨어를 실행하는 임베디드 프로세서입니다. SSD 펌웨어는 장치마다 다르며 대부분의 경우 업데이트할 수 있습니다.
주류 SSD 컨트롤러에는 단일 집적 회로(IC) 내에 여러 번 포함되는 다음과 같은 전기 요소가 포함됩니다.
- 임베디드 프로세서 – 일반적으로 32비트 마이크로컨트롤러
- 전기적으로 지울 수 있는 데이터 펌웨어 ROM
- 시스템 RAM
- 외부 RAM 지원 – 일반적으로 SDRAM으로 DDR/DDR2
- 오류 수정 코드(ECC) 회로
- 플래시 구성 요소 인터페이스 - 일반적으로 ONFI(Open NAND Flash Interface)와 같은 표준 인터페이스
- 호스트 전기 인터페이스 – 일반적으로 SATA, USB, SAS 또는 조합
시장에 나와 있는 대부분의 SSD 제품은 표준 플래시 구성 요소를 사용하지만 ECC를 통합하고 경우에 따라 플래시 칩 자체 내에서 전체 컨트롤러 기능을 통합하는 새로운 플래시 구성 요소를 사용할 수 있습니다. 이 글을 쓰기 위해 위에 나열된 전통적인 컨트롤러 파벌에 초점을 맞출 것입니다.
일반적인 SSD 컨트롤러 요소
아래 표에서는 이러한 각 요소에 대해 자세히 설명합니다.
|
컨트롤러 요소
|
기술설명
|
용법
|
|
프로세서
|
대부분의 경우 C로 프로그래밍되고 대상 CPU 엔진에서 실행되도록 컴파일된 16비트 또는 32비트 임베디드 마이크로컨트롤러.
|
기본 플래시 애플리케이션 및 진단(SMART), 웨어 레벨링(Garbage collection/TRIM), 캐싱 및 보안 기능을 위한 펌웨어 실행.
|
|
오류 수정(ECC)
|
판독 시 데이터 오류 감지 및 수정을 제공하기 위해 저장된 각 바이트에 중복 비트를 추가하는 하드웨어 기능입니다.
|
데이터 오류 감지 및 수정은 ECC 하드웨어에서 자동으로 수행되어 1비트 10E-12 정도의 데이터 신뢰성 오류율을 달성합니다.
|
|
플래시 컨트롤러
|
하나 이상의 Flash 구성 요소를 관리하기 위한 주소 지정, 데이터 버스 및 컨트롤을 포함합니다. 일반적인 SSD 컨트롤러는 최대 512GB의 플래시를 관리합니다.
|
일반적으로 표준 NAND 플래시용 8비트 ONFI(Open NAND Flash Interface)입니다.
일반적으로 최대 16개의 Flash 구성요소를 제어할 수 있습니다.
|
|
DRAM 컨트롤러
|
하나 이상의 DRAM 구성 요소를 관리하기 위한 주소 지정, 데이터 버스 및 컨트롤을 포함합니다. 일반적인 SSD 컨트롤러는 최대 256MB의 DRAM을 관리할 수 있습니다.
|
DRAM은 주로 플래시 어레이에서 I/O 인터페이스로의 데이터 흐름을 일치시키는 버퍼 메모리로 사용됩니다. 이 메모리는 전체 성능을 향상시키기 위해 데이터 캐시로 활용할 수도 있습니다. 펌웨어 프로그래밍이 필요합니다.
|
|
I/O 인터페이스(예: SATA)
|
SATA, USB 또는 SAS와 같은 특정 개방형 시스템 표준에 따른 기본 전기 인터페이스를 포함합니다. 인터페이스는 컨트롤러 펌웨어 드라이버에 의해 제어됩니다. 기본 주소 지정 및 핸드셰이킹은 하드웨어에서 수행됩니다.
|
일부 컨트롤러는 데이터 흐름에 대한 컨트롤러 개입 없이 USB 및 SATA와 같은 인터페이스 간의 데이터 전송을 허용합니다.
|
|
컨트롤러 메모리
|
프로그램된 메모리(ROM)와 스크래치패드/버퍼 RAM이 프로세서에 단단히 결합되어 있습니다. 이 메모리는 프로그램 실행 및 스크래치 패드 값 저장을 위해 컨트롤러에서 사용됩니다. 비용이 제한된 일부 응용 프로그램에서는 RAM이 SSD의 유일한 데이터 버퍼 역할을 합니다.
|
일반적으로 32-64KB ROM 및 128-256KB 또는 RAM입니다.
|
|
칩 구성
|
사용되는 메모리 부품의 유형 및 속도, 클럭 입력, 진단 I/O 및 LED 상태 출력에 대한 설정을 구성합니다.
|
벤더에 따라 다릅니다.
|
|
일반 I / O
|
애플리케이션에 사용할 수 있는 범용 프로그래밍 가능 핀.
|
일반적으로 4-16핀이 제공됩니다.
|
|
포장
|
|
281핀 BGA가 일반적입니다.
208핀 LQFP가 일반적입니다.
|
일반적으로 사용되는 SSD 컨트롤러
2010년 초 현재 시장에 나와 있는 일반적인 SSD 컨트롤러는 다음과 같습니다.
- Indilinx "맨발 ECO" IDX110MO1
- Indilinx "맨발" IDX110M00
- 인텔 PC29AS21BA0
- J미크론 JMF602
- J미크론 JMF612
- 마블 88SS9174-BJP2
- 삼성 S3C29RBB01-YK40
- 샌드포스 SF-1200
- 샌드포스 SF-1500
- 도시바 T6UG1XBG
시스템 설계자는 대상 제품 및 대상 시장을 위해 공급업체 및 특정 컨트롤러를 선택할 때 일련의 절충안을 수행합니다.
장단점은 다음과 같습니다.
- 프로그래밍 방식 – 비용, 일정, 지원, 보증 및 가용성.
- 기술 – 성능, 성능, 패키지 옵션, 기능, 확장성 및 유연성.
- 기타 – 공통성, 호환성, 문서화, 개발 지원, 테스트 및 평판.
컨트롤러 선택 과정에서 시스템 설계자는 플래시 부품 및 설계에 필요한 기타 부품에 대해서도 동일한 분석을 수행합니다. 특정 제품에 대한 요구 사항을 가장 잘 충족하기 위해 공급업체와 구성 요소의 올바른 조합을 찾는 반복 프로세스입니다.
독점 문제로 인해 모든 컨트롤러 설계 데이터가 인터넷을 통해 일반 대중에게 제공되는 것은 아닙니다. 그러나 기존 SSD에서의 사용을 연구하여 시장에 나와 있는 각 SSD 컨트롤러에 대해 배울 수 있는 애플리케이션 세부 정보가 상당히 많습니다.
StorageReview.com을 비롯한 여러 리뷰는 각 컨트롤러의 장점과 SSD 성능에 미치는 영향을 파악하는 데 도움이 됩니다. 이러한 맥락적 참고 자료는 매우 중요합니다. 왜냐하면 컨트롤러는 SSD 성능에 결정적인 역할을 하지만, 동일한 SSD 컨트롤러 부품을 사용하더라도 제조사에 따라 SSD 성능이 다를 수 있기 때문입니다.
일반적으로 이러한 성능 차이는 두 디자인이 서로 다른 플래시 부품, 다른 수의 플래시 부품, 다른 양의 캐시 버퍼 메모리를 사용했거나 어떤 방식으로든 최적화된 펌웨어를 사용했기 때문입니다. 요점은 SDD 컨트롤러는 전체 SSD 시스템 설계의 한 부분일 뿐이며 성능에 중요하지만 SSD 구매 결정을 내릴 때 고려해야 할 유일한 요소는 아니라는 것입니다.
관련 가이드:
SSD 가이드 로 돌아가기






아마존