물론 가장 좋은 방법은 제조사가 공식적으로 제공해주는 관리도구를 사용하는 것이다. 하지만 그런걸 제공해주지 않는 제조사도 있고
도구가 있어도 찾아가서 다운로드를 받고 설치하거나 ISO파일을 CD로 구워서 부팅을 하거나 하는등 사용하기가 귀찮은 면도 있다.

그러니까 윈도에서 기본적으로 제공해주는 도구를 사용해보자. 어지간하면 다들 알고있을 DiskPart다.
* 부팅드라이브가 따로있는 경우.
1. 초기화할 SSD를 장착하고 윈도로 부팅한뒤에 관리자권한으로 CMD를 열고 diskpart를 실행한다.
2. list disk [엔터]
3. 목록에 디스크목록이 뜰텐데, 여기서 초기화할 SSD를 잘 구분해야 한다. 엉뚱한거 날리면 머리아파짐.
가장좋은건 OS드라이브와 초기화대상SSD만 연결하고 다른 드라이브는 잠깐 빼놓고 부팅하는거다.
4. select disk 번호 [엔터]
드라이브가 선택된다.
5. clean [엔터]
물어보고 그런거없이 바로 날아간다. 그래서 실수 조심해야함.
* 윈도설치할때 초기화하려는 경우.
1. 설치디스크로 부팅했다면, 디스크 파티셔닝 이전단계 아무데서나 Shift + F10키를 누른다.
명령어로 하는건 clean만 하고 나머지는 GUI에서 하는게 편하다. MBR이면 괜찮지만 diskpart로 GPT파티션 요구사항 직접 맞춰주려면 귀찮음...
2. CMD창이 뜨면 위와 동일한 과정을 거친다. 단, 여기서는 OS를 설치할 메인장치가 되겠지.
그리고 설치단계를 진행해서 파티셔닝화면으로 들어가보면 말끔하게 초기화된 SSD가 보일거다. 파티션 클릭해서 삭제하고 그런거 없다.
* 복잡하게 설명하면 머리아프니까 간단하게 개념설명만 할게.
이건 디스크 관리도구이기 때문에 HDD/SSD 구분없이 사용은 가능하다. 단, SSD의 관리기능중 가비지컬렉터(GC)를 이용해먹는거지.
TRIM과 GC를 구분지어서 생각하는 게이들 있을텐데, 실은 두개가 같은거다. 물론 더 엄밀하게 따지면 다른거지만 크게보면 그렇다는거다.
디스크에 데이터가 저장될때는 "이런데이터가 있다"하고 MFT영역에 데이터의 꼬리표(좌표)가 기록되고 실제 데이터덩어리는 기록영역에 자리잡지.
마치 책의 색인페이지에 특정구문의 페이지수만 기록해놓고 실제내용은 본문의 해당페이지에서 찾을수 있는것과 같다.
때문에, HDD에서 데이터를 삭제할때는 MFT에서 해당파일의 꼬리표만 삭제한다. 그러면 데이터영역에는 데이터덩어리가 있어도 있는게 아닌게 되는거지.
그래서 OS시점에서 봤을때 파일목록을 찾아보면 해당자리는 빈자리가 되기때문에 그냥 다른데이터를 그자리에 꼬리표 남기고 기록해버리면 되는거다.
하지만 낸드플래시는 실제로 셀을 비워줘야만 다른데이터가 들어갈 수 있다. 그런데 지금까지의 모든 기록알고리즘은 자성기록장치에 최적화 되어있지.
그래서 웨어레벨링도 들어가고 FTL도 들어가고 등등... 자성기록장치에 최적화된 알고리즘을 엎어버리지 않고도 쓸수있게끔 다 되어있다. 엔지니어를 살...
다만 이거하나만은 배려를 해줘야 하는게, 위에서 말한 셀 비우기다. 안비워줘도 그냥쓸수는 있지만, 웨어레벨링 알고리즘때문에 모든셀이 1회씩 기록되고나면
그 이후부터는 쓰기속도가 운지하게 된다. 데이터를 기록할때 하드처럼 그냥 기록하면 좋은데, 비우기작업을 선행하고 하느라 작업량이 늘어나는 이유때문이다.
그래서 Windows 7부터 OS차원에서 SSD를 대응할수있도록 추가된 기능이 트림커맨드다. SSD에서 조각모음 끄고 그런건 부가적인거고 트림커맨드가 중요한거다.
OS가 내가 자리잡은곳이 SSD라고 인식을 하게되면, 파일이 삭제될때 MFT에서만 지우고 멀뚱멀뚱 있는게 아니라 SSD컨트롤러에게 이거 지워졌다고 알려준다.
그러면 SSD컨트롤러가 오케이하고 이거 지워진거임. 하고 마크쳐놨다가 나중에 한가할때 "OS개입없이 컨트롤러 차원에서 알아서" 처리하는거지.
그러니까 정확하게 얘기해서 트림커맨드는 마킹만 하는거고 실제로 지우는건 아니다. 트림이 마킹해놓은걸 처리해주는 애가 GC다.
OS차원에서는 절대로 셀을 직접 지우지 않아. 왜냐면 낸드플래시마다, 혹은 컨트롤러마다, 혹은 펌웨어마다 "0"을 뜻하는 셀상태가 꼭 0인건 아니기 때문이다.
자성기록장치에서 0은 0을 뜻하지만 SSD에서까지 그렇다는건 아니다. 실제로 S470의 경우에 초기화된 셀은 00이 아니라 A5임. FF인 SSD들도 있다.
그렇기때문에 OS에서 "데이터가 없는 빈상태를 뜻하는" 0은 실제 SSD에게 0이라는 데이터가 될수도 있다. 그래서 OS는 삭제사실만 통지하고 직접작업은 안한다.
다만, 이 TRIM이라는건 OS종속적이지만(Windows 7이하는 트림지원안함) GC는 SSD의 펌웨어-컨트롤러 차원에서 실시하는 작업이라 OS와는 관련이 없다.
그래서 트림지원OS+GC는 초기화작업이 빠르지만 트림미지원OS+GC는 가비지컬렉팅이 아주 안되는건 아닌데 개입이 매우 느리다. 그러니까 되긴 된다.
예를 들자면 이런거다 : http://winfix.net/bbs/board.php?bo_table=ddforiview&wr_id=1719&sca=199-200&page=3
그런데 clean으로 디스크를 초기화 시켜버린 상황에서는 컨트롤러가 상황판단하고 알아서 모든셀을 정리해버린다. 적어도 삼성컨트롤러는 그렇다.
타사SSD도 이게 정상이지만 컨트롤러나 펌웨어 성향에 따라 좀 다를수 있다. 초기세대 SSD라면 몰라도 한세대전이나 현재의 SSD는 알아서 정리한다.
* 한줄요약 : 그러니까 SSD를 초기화 할거라면 DiskPart - Clean 명령을 쓰면 된다. 전용툴 쓸거면 그래도 되고.
전용툴 사용시에는 그럴필요 없고, DiskPart를 쓸거면 Clean 명령후에 10분정도 가만히 놔두자. 그때에 컨트롤러가 초기화작업을 수행한다.
그리고, HDD를 완전히 Zero-Fill하려면 clean all 이라는 명령을 쓰면 된다. SSD에서도 안되는건 아닌데, 위내용 읽어봤으면 왜 하면 안되는지 이해될거다.
하드의 경우 Zero-Fill해주면 어쨌든 섹터값 반환은 0으로 나오므로 완전소거가 되었다고 할수있다. 플래터를 까서 자기스캔으로 복구하는 그런거 아닌이상
일반적인 중고거래(하드 안뜯고 얌전히 재사용할 목적)의 경우에는 그냥 제로필만 한번 해주면 된다. 무슨 알고리즘으로 35회 덮어쓰기 이런거 시간&전기낭비다.
쓰고나니까 안짧네 ㅡㅡ... 어쨌든 최대한 축약해서 적어봤다. 읽어줘서 고맙다!





