강좌 / 팁

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

2016.03.22 17:23

조회:3387 추천: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 - - -
2923 윈 도 우| [팁] OS 마이그레이션 (용량작은 SSD로 복사) [1] 모모님 5098 1 04-10
2922 기 타| 플래쉬 웹 동영상을 볼때 중국사이트는 가시지 마시길 바랍... [3] 모범생아이 3371 1 04-10
2921 기 타| offfice c2r install 매뉴얼 [4] ton3d 5295 7 04-08
2920 윈 도 우| 윈도우10 종료 문제 [5] 신영통 4734 0 04-08
2919 기 타| PE 수정할때 소소한 팁입니다 [12] 히이이잌 3921 8 04-08
2918 소프트웨어| [팁]바이두 프로그램은 어떤 버전을 사용 해야하나. [31] 단디해라 6512 3 04-05
2917 윈 도 우| SSD 최적화 설정 [18] DOS 12375 7 04-03
2916 기 타| PE빌더 빌드시간 단축 팁입니다. [13] 히이이잌 3281 4 04-03
2915 윈 도 우| 새 컴퓨터 또는 다른 컴퓨터 -> 윈도 재설치 해야 한다? [20] suk 8206 6 04-02
2914 소프트웨어| 사진 확대 프로그램 비교 waifu2x-caffe 와 JPEGView [5] DaBin 3884 3 04-01
2913 윈 도 우| Portable IE8 기본 브라우져 지정 [5] DarknessAn 2468 1 04-01
2912 윈 도 우| 가상머신에서 생성한 윈도우 실컴에서 사용하기.. [13] 황당무계 4065 8 03-31
2911 하드웨어| 드라이버 수동설치 방법 [1] DaBin 3990 3 03-30
2910 윈 도 우| 윈도우 10 제목표시줄 색상 미세조정 [6] 읍민Kaine 4389 4 03-26
2909 서버 / IT| 구글스프레드시트로 바르샤경기일정을 간단하게 확인해봅시... [6] Star★Bros 2445 2 03-25
2908 윈 도 우| 윈도우10 별도의 유틸없이도 작업표시줄 투명도 높일 수 있... [6] Star★Bros 5133 9 03-25
2907 윈 도 우| 자식 VHDX 사용할 때 나름 간편하게 부팅메뉴 등록하기 ANT-MAN 2800 2 03-23
» 하드웨어| 초보자가 읽기좋은 SSD 컨트롤러에 관한 단편글들 [10] 3387 3 03-22
2905 모 바 일| 네이버 카페 앱을 통하지 않고 카페 바로가기 [2] 그루터기 3285 1 03-21
2904 기 타| VHD와 Trim 확인 [15] 해피밥 3736 5 03-16
XE1.11.6 Layout1.4.8