강좌 / 팁

하드웨어 초보자가 읽기좋은 SSD 컨트롤러에 관한 단편글들

2016.03.22 17:23

조회:3351 추천:3

1. 반도체 vs. 기계 : 느린 자가 주도하는 질서, 그것은 거역할 수 없어

c142fc0ee2f16fd5fdc05e0b5d258288.jpg

SSD의 컨트롤러 얘기는 나도 많이 다룬 주제지만 다른 하드웨어

관련 커뮤니티나 포럼등지에서도 심심치않게 얘기하곤 한다.

샌드포스가 벤치는 잘나오는데 실성능은 떨어진다더라,

마벨컨트롤러가 안정성이 높다더라, 하던 얘기들이 바로 그것이다.

그런데 컨트롤러는 SSD에만 있을까? 아니, HDD에도 있다. CPU에서 보내는

커맨드를 처리하기위해 헤드를 제어하는게 다름아닌 하드디스크의 컨트롤러다.

그런데 왜 하드디스크의 컨트롤러에 관한 얘기는 아무데서도 다루지 않을까?

 

그게아니라, 기계류인 플래터(스핀들모터)와 헤드(엑추에이터)가 반도체인

컨트롤러의 특성이나 한계가 드러날 정도로 밀어부쳐주지 못하기 때문이다.

그러니까 반도체쪽에서 어떻게든 일을 처리해내려 해도 기계쪽에서 처리가

늦어지고 지연되면 컨트롤러에서는 속이 터져도 손쓸 방도가 없다는 말이다.

결국 상황이 이러하니 하드디스크의 성능특성은 거의 전부가 기계부분에서 나온다.

그런고로, 하드디스크의 컨트롤러는 관심받을 일이 없게 되버린 것이다.


2. 반도체 vs. 반도체 : 서로 한계까지 밀어붙이는 공생관계

b498135382aa00e0db55bdb75550c3b8.jpg

그에 비해 SSD는 모든 구성요소가 반도체로 되어있다. 기계적인 움직임없이

모두 전기신호로 동작한다. 그러므로, 기계적 지연시간도 없다.

당연하지만 이는 곧 성능으로 직결된다. 더 자세히 말하자면

관리자(컨트롤러)가 바빠지게 된다. 이전처럼 느긋할수가 없게 된 것이다.

게다가 하드디스크는 자기배열 기록이라는 특성상, 모든 데이터는 그냥

덮어쓰면 된다. 자기력의 배열만 이래저래 조정하면 되기 때문이다.

하드디스크에는 '삭제'가 없다. 모든 작업은 '기록'일 뿐이다. 유의미한 데이터가

들어가면 '기록'이 되는것이고, 0x00이 '기록'되면 삭제가 되는 것이다.

 

낸드플래시는 전자를 담는 무수히 많은 '셀'로 구성되어 있다. 눈에 보이는 물체로

설명한다면, 어마어마한 양의 '컵'을 열맞춰서 방에 가득 채워놓은 모양새다.

이 컵(셀)에 물(전자)을 부어서 물높이(전하량)로 데이터를 구분한다. 컵에 담긴

물높이를 봤을때 없으면 00, 1/3이면 01, 2/3이면 10, 3/3이면 11 이런식으로.

그런데, 내가 특정컵에 물을 1/3만큼만 부어서 데이터01을

기록하려고 했는데 컵이 비어있지않고 1/3만큼 채워져있었다고 치자.

그러면 물은 1/3만큼 부었는데 결과는 2/3이 된다. 즉, 데이터01을

기록했는데 셀을 읽어보니 값10이 나오는 상황인거다. 데이터 오염이 발생했다.

 

이런 현상을 방지하기 위해 어떤 데이터가 삭제되면 그 데이터가 차지하고있던

셀들을 모두 방전시켜줘야 한다. 컵에서 물을 비워내는거다.(가비지컬렉팅/트림)

그렇게 초기화과정을 거친 컵에 물을 부어야 처음 부었던 양대로 물이 차있을

것이다. 즉, 하드디스크와는 다르게 낸드플래시에는 '기록'과 '삭제'가 따로있다.

또한, 컵을 하나만 몰빵으로 써대면 물때(셀의 노화)가 낀다. 한계까지 가면 컵을

쓸수없게 된다.(데드셀) 그래서 모든컵이 평등하게 사용되도록 한다.(웨어레벨링)

 

이처럼 하드디스크의 기계류와는 다르게 낸드플래시라는 칩의 반응속도가

빨라서 안그래도 컨트롤러에 부담이 가게 되었는데, 그 수많은 셀들을

특정한 알고리즘으로 일일이 관리까지 해줘야된다. 부담감은 물론이고

하드디스크 컨트롤러와는 짊어진 임무의 양이 비교자체가 안되는 셈이다.

하드디스크 컨트롤러의 자세한 제원은 모르지만 예상하자면 매우낮은 클럭의

싱글코어일 것이다. 그에반해 SSD는 2016년 현재 할배소리 들어야할 몇년전의

초기 제품들부터도 듀얼코어에 클럭스피드는 166~175MHz 수준이었다. 현재는

트리플코어 400MHz(삼성MEX)나 쿼드코어(파이슨PS3110)정도가 기본이다.

 

실성능을 주도하던 주체가 기계에서 반도체로 바뀌니 성능이 대폭

향상되면서 그에 따른 부담이 컨트롤러에게 전가되는 모양새가 되었다.

이것이 SSD제품마다 컨트롤러의 특성이 발현되게 된 이유가 되겠다.

또한, 펌웨어수준과 컨트롤러가 어째서 중요한지 그에 대한 설명이기도 하다.

일부MLC제품의 수명이나 속도가 삼성TLC만도 못한 이유가 이해될것이다.


3. 엄마없는 하늘아래 : 차량용 블랙박스와 마이크로SD 메모리

26f4fb7d4c136934964155421b572d03.jpg

마이크로SD 메모리를 포함해 낸드기반 저장장치에는 SSD와 달리 컨트롤러가 없다.

인터페이스 제공을 위한 브릿지칩 정도가 전부인데, 그렇다고해서 셀관리를 아예 손놓고

있는것은 아니고 아주 기초적인 가비지컬렉팅만 브릿지칩에서 간신히 수행하는 정도다.

SSD컨트롤러와 비교하면 한없이 보잘것 없는 수준으로. 바로 이때문에 블랙박스용으로

사용하는 메모리는 수명이 짧은 것이다. 셀을 관리해줄 엄마(컨트롤러)가 없어서 낸드수명이

거의 그대로 드러나게 되는것이다. 그리고 제조사에서도 해당용도로 사용하는 제품은 보증기간을

대폭 줄여서 6개월정도만 해줄뿐이다. 그런데, 비슷한 태생의 SSD 보증기간은 어째서 길까?

 

스마트폰에 들어가는 낸드플래시를 흔히 마이크로SD같은 일반 낸드칩을

기판에 납땜한걸로 아는 사람들이 있는데, 당연하지만 전혀 아니다.

eMMC나 UFS라고 부르는 메모리 종류인데, 이것들의 특징은 낸드어레이와

컨트롤러를 하나의 칩으로 통합했다는 것이다. 즉, 원칩SSD라고 생각하면 된다.

그렇기때문에 여러분이 스마트폰으로 토렌트를 돌려도 버티는 것이다. 마이크로SD에

돌려도 바로 죽지는 않겠지만, 내부메모리에는 OS도 있음을 상기하자.

즉, 칩 하나가 OS와 토렌트 그리고 기타 다른 백그라운드앱의 IO까지

버텨내고 있다는 말이다. 이 역시도 원칩으로 통합된 내부 컨트롤러의 힘이다.

 

기업은 철저하게 이윤을 목표로 하는 집단이다. SSD보증기간 앞에서 유독 착해지는 것이 아니라,

그런 정책도 펼쳐볼만하니까 하는것이다. 기업이미지를 위한 타사와의 출혈경쟁도 전혀아니다.

어디서 그런 자신감이 나오느냐 묻는다면 낸드플래시를 관리해주는 컨트롤러라고 할수있겠다.


4. 지나가버린 영광 : 샌드포스의 침몰

7834635ca48eb250d42878eeb99fbb6d.jpg

SSD 초기시절, 업계를 평정하다시피 했던 샌드포스가 지금은 왜

듣보잡으전락했을까. 이유는 여러가지 있겠지만 그중 하나가 성능문제이다.

샌드포스 컨트롤러의 특징은 데이터를 압축저장한다는 것이다. 덕분에 실제로

낸드플래시 기록수명만큼은 탑이다. 그걸 장점으로 어필하기도 했었고.

대신 그때문에 성능이 떨어지는 문제가 생겼는데, 제로필데이터는

스펙대로 속도가 나오는반면, 실사용에서는 속도가 안나온다는 점이다.

실제로 사용하는 파일에는 뭐라도 내용이 있게 마련인데, 아무 의미도 없는

완전동일한 패턴으로 꽉차있는 더미파일 쓰기속도만 잘나온다고해서 뭣하겠는가.

이때문에 SSD벤치마크에서는 랜덤필과 제로필 두가지속도를 측정하는 기행이

생겼고 사용자들은 혼란을 겪게됐다. 제로필속도는 아무의미가 없는데도 말이다.

 

그런데 왜 제조사들은 샌드포스 컨트롤러를 탑재했던걸까? 당시에는 쓸만한

컨트롤러가 딱히 없었던 것도 있지만, 무엇보다도 쓰기수명장점이 먹혀든것이다.

SSD라는 완성품을 출시하기전에 기업내 연구소에서 실제사용환경에 준하도록

테스트를 진행했겠지만, 그것이 모든 실제상황을 대변할수는 없기 때문이다.

그래서 초기엔 유저나 기업이나 낸드의 수명에 관해 축적된 정보가 적었다.

이때 등장한 쓰기압축방식의 샌드포스는 그야말로 적절했던 것. 일종의 보험이었다.

 

뻥속도라는 오명을 뒤집어쓰면서도 한때 잘나가던 샌드포스였지만, 기업입장에서는

이게 장사를 하다보니 낸드가 그렇게 쉽게죽어 나자빠지는것도 아니었고

무엇보다도 속도를 희생해가면서 압축하느니 차라리 낸드수명을 좌우하는 셀을

밀착관리해서 수명을 보완해주고 속도도 살리는게 낫겠다는 결론이 나오게됐다.

샌드포스 이후에 등장한 후발주자들은 압축저장에는 관심이 없었고, 그때문에

기술수준이 샌드포스보다 조금은 미흡하더라도 실속도는 스펙대로 뽑게되었다.

상황이 이렇게 돌아가자 당연히 샌드포스 컨트롤러는 인기를 잃게되었고 현재의

모습이 되버리고 말았다. 한마디로 샌드포스는 시대의 흐름대로 흥하고 망한것.

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
294 하드웨어| 드라이버 수동설치 방법 [1] DaBin 3967 3 03-30
» 하드웨어| 초보자가 읽기좋은 SSD 컨트롤러에 관한 단편글들 [10] 3351 3 03-22
292 하드웨어| 삼성 DDR3 메모리 보는법과 기본전압1 .5V 오버 [5] 리하요 5511 2 03-13
291 하드웨어| 무선 공유기 안테나는 가능하면 세워서 쓰세요. [3] 메리아 8784 2 03-05
290 하드웨어| 하드디스크의 비밀아닌 비밀. [34] 5tar★8ros 6038 7 02-22
289 하드웨어| 단일 USB 장치가 부팅 메뉴에서 중복되는 현상 해결하기 [8] ee_do 4036 4 01-16
288 하드웨어| [팁] USB 3.0과 2.4 GHz 무선 제품사이의 전자파 간섭 문제... [3] asklee 7104 4 12-18
287 하드웨어| 내장 SD카드 인식불가 문제해결 [2] 무정 5926 3 10-17
286 하드웨어| 외장메모리 에러(Err) 포맷하지 않고 해결하기 [8] 단디해라 5066 10 07-20
285 하드웨어| 수은 건전지 점검하기 [16] gooddew 9031 5 06-25
284 하드웨어| 2014년 LG 모니터 모델 이름 규칙 [2] 폭행몬스터 7957 5 05-18
283 하드웨어| 쿨러 소음잡고 수명 늘리기 [7] K딸배 6813 3 02-11
282 하드웨어| 소음이 있는 오래된 쿨러 간단히 해결하기 팬 청소하기 [9] 그루터기 7771 1 02-09
281 하드웨어| 8/9 칩셋 Series 메인보드 비교표 1.0 [6] 사이버짱 5569 5 10-31
280 하드웨어| ipTIME 제품 싸게 사는 법 - 용인 죽전, 수지, 분당 거주자... [14] asklee 8587 2 10-05
279 하드웨어| AMD AHCI 모드에서 NCQ 활성화 별도로 해야 한다? [3] bleach 6869 1 09-14
278 하드웨어| 노트북 CPU교체하기.(엑박수정) [16] 테미스 9895 2 07-28
277 하드웨어| usb 3.0 허브에 대해서 팁이라면 팁을 드립니다. [11] 필립 7311 1 07-16
276 하드웨어| 내장사운드 노이즈 심할때(HDMI 단자 사용) 버뮈 5533 2 04-15
275 하드웨어| 컴퓨터 성능 180%까지 끌어올리기 -2. 내 컴퓨터의 숨겨진 ... [16] ITforce 13629 5 04-11
XE1.11.6 Layout1.4.8