홈페이지 » 어떻게 » 솔리드 스테이트 드라이브가 느리게 작동하는 이유

    솔리드 스테이트 드라이브가 느리게 작동하는 이유

    벤치 마크는 명확합니다. 솔리드 스테이트 드라이브는 사용자가 입력 할 때 속도가 느려집니다. 솔리드 스테이트 드라이브를 거의 용량으로 채우면 쓰기 성능이 크게 떨어집니다. 왜 SSD와 NAND 플래시 스토리지가 작동하는지 거짓말하는 이유.

    드라이브를 용량에 채우는 것이 솔리드 스테이트 드라이브로해서는 안되는 일 중 하나입니다. 거의 완전 솔리드 스테이트 드라이브는 쓰기 작업이 훨씬 느려 컴퓨터가 느려집니다..

    빈 블록 및 부분 채워진 블록

    솔리드 스테이트 드라이브에 파일을 쓰면 빈 블록을 찾아 채 웁니다. 빈 블록에 기록하는 것이 가능한 가장 빠른 쓰기 작업입니다. 그래서 새로운 운영 체제 (Windows 7 이상)가 운영 체제에서 파일을 삭제하자마자 솔리드 스테이트 드라이브에서 파일 데이터를 자동으로 삭제하는 TRIM 기능을 지원합니다. 이것은 삭제 된 파일의 비트가 하드 드라이브에 앉아있는 자기 하드 드라이브와 다르게 작동합니다.

    그들은 솔리드 스테이트 드라이브에 앉아 있지 않습니다. TRIM은 블록이 비게되어 SSD가 나중에 빈 블록에 새로운 데이터를 빠르게 쓸 수 있도록합니다. 이미 작성된 섹터를 쓰는 것은 초소형 하드 드라이브의 빈 섹터에 쓰는 것만 큼 빠르지 만 솔리드 스테이트 드라이브는 쓰기 전에 블록을 지워야합니다.

    NAND 플래시 메모리는 256KB 블록 내부에 4KB 페이지로 데이터를 씁니다. 부분적으로 채워진 블록에 페이지를 추가하려면 솔리드 스테이트 드라이브는 데이터를 다시 쓰기 전에 전체 블록을 지워야합니다.

    솔리드 스테이트 드라이브가 가득 차면 사용할 수있는 빈 블록 수가 점점 줄어 듭니다. 그 자리에는 부분적으로 채워진 블록들이 있습니다. 솔리드 스테이트 드라이브는 새 데이터를 부분적으로 채워진 블록에 쓸 수 없으며 기존 데이터를 삭제합니다. 간단한 쓰기 작업 대신 솔리드 스테이트 드라이브는 블록의 값을 캐시로 읽어 들여 새 값으로 값을 수정 한 다음 다시 써야합니다. 파일을 작성하는 데는 많은 블록에 쓰기가 포함되므로 상당한 지연이 추가 될 수 있음을 명심하십시오.

    TRIM이 부분 채워진 블록을 통합하지 않음

    용량을 늘리거나 용량을 거의 다 채우는 경우 파일을 삭제 한 후에 부분적으로 채워진 블록이 많이 생길 수 있습니다. TRIM 명령은 솔리드 스테이트 드라이브가 파일을 삭제할 때 파일 데이터를 제거하도록 지시합니다. 드라이브가 어떤 종류의 정리 작업을하도록 강요하지 않습니다..

    즉, 파일을 삭제하기 전에 솔리드 스테이트 드라이브를 용량에 채우면 많은 부분적으로 채워진 블록이 생길 수 있습니다. 드라이브는 이러한 부분적으로 채워진 블록을 전체 블록으로 통합하여 빈 블록을 확보하지 않습니다. 드라이브가 여전히 부분적으로 채워진 블록으로 가득 차고 쓰기 성능이 저하됩니다..

    오버 프로비저닝 및 가비지 수집

    소비자가 솔리드 스테이트 드라이브를 가득 채우지 않고 성능이 심각하게 저하되는 것을 막기 위해 SSD 제조업체는이 문제에 대응하기 위해 나섰습니다..

    소비자 급 솔리드 스테이트 드라이브는 전체 플래시 저장 용량의 약 7 %를 차지하고 사용자가 사용할 수 없게 만듭니다. 이는 "과도한 프로비저닝"으로 알려져 있습니다. 추가 스토리지 하드웨어가 드라이브에 추가되지만 사용할 수있는 사용 가능한 스토리지로 컴퓨터에서 볼 수 없습니다. 스페어 영역은 드라이브가 완전히 가득 차지 않도록 할 수 있습니다. 쓰기 성능을 안정적으로 유지할 수있는 여유 용량이 항상 있습니다..

    각 솔리드 스테이트 드라이브의 컨트롤러에는 가비지 콜렉션 알고리즘이있어이 문제를 완화하려고합니다. 드라이브가 꽉 차면 부분적으로 채워진 블록을 찾아서 통합하여 가능한 한 많은 빈 블록을 확보합니다. 다른 솔리드 스테이트 드라이브는 드라이브의 컨트롤러에 따라 다른 시간과 임계 값에서 이러한 작업을 실행합니다.

    벤치 마크 증거

    Anandtech는 솔리드 스테이트 드라이브의 여유 공간과 쓰기 작업 성능의 일관성 사이의 관계를 설명하기 위해 다양한 드라이브로 다양한 벤치 마크를 수행했습니다. 빈 드라이브를 채울 때 프로세스 초기에 높은 쓰기 성능을 보였으며 쓰기 작업이 드라이브를 계속 채우면서 상당한 저하가있었습니다.

    드라이브에 여유 공간을 더 많이두면 드라이브가 항상 빈 블록을 준비 할 수 있으므로 성능이 일관되게 유지됩니다..

    그들은 [고객] 드라이브의 예비 영역 25 %를 맞추면 "최소한의 성능 향상"을 발견했습니다. 최종 균형을 원할 경우 [드라이브 용량]의 약 75 % 만 사용하도록 계획해야합니다 성능 일관성과 용량 사이에서. "


    솔리드 스테이트 드라이브를 사용하는 경우 용량의 75 % 이상을 사용하지 마십시오. 필요한 것보다 많은 저장 공간을 갖춘 대형 드라이브를 구입하면 항상 일관된 쓰기 성능을 보장 할 수 있습니다. 다행히도 SSD는 점점 더 저렴 해지고 있습니다..

    이미지 크레디트 : Wikimedia Commons의 음악 분류기, Flickr의 Simon Wüllhorst