디스크 공간이 부족하면 SSD 성능에 영향을 줍니까?


16

SSD에 5-10GB 미만의 여유 공간이 있으면 성능에 영향을 미칠지 궁금합니다. SSD에만 해당됩니까, 아니면 운영 체제 측면에 더 가깝습니까?

예를 들어, TRIM을 지원하는 Intel X-25 G2 (Windows 7).

답변:


14

대부분의 SSD는 채워질수록 속도가 느려집니다. SSD는 빈 블록을 선택하는 경향이 있습니다. 전체 블록을 지우고 다시 써서 만 블록을 수정할 수 있기 때문입니다. 이러한 모든 블록이 부분적으로 채워지면 모든 쓰기 작업에 지우기 및 다시 쓰기가 필요합니다. 즉, SSD는 블록을 캐시로 읽고 새 데이터로 캐시를 수정 한 다음 블록을 지우고 캐시를 작성해야합니다. 이것은 수정해야 할 각 블록에 대해 하나의 읽기와 두 개의 프로그래밍 작업으로 나옵니다. 또한 조각화는 SSD에 거의 영향을 미치지 않지만 높은 조각화와 대부분의 OS가 SSD에 대해 무지하다는 사실로 인해 OS가 필요한 것보다 많은 쓰기를 실행할 수 있습니다. SSD의 블록은 일반적으로 OS의 할당 단위보다 크기 때문에 SSD가 추가 쓰기를 기대하지 않는 경우, 블록 당 동일한 3 단계 프로세스를 여러 번 반복하면 쓰기 속도가 훨씬 느려질 수 있습니다. 파일을 삭제해도이 문제는 해결되지 않습니다. 데이터가 그대로 남아 있기 때문에 SSD는 더 이상 사용되지 않는다는 사실을 알지 못하고이 삭제 된 데이터를 계속 다시 작성합니다.

드라이브가 지원하는 TRIM 작업은 OS가 드라이브에 삭제 된 데이터를 제거하도록 지시합니다. 이를 통해 드라이브는 빈 블록을 회수 할 수 있습니다. 그러나 TRIM을 지원하는 유일한 운영 체제는 커널 2.6.33 이상을 사용하는 Windows 7, Windows Server 2008 R2 및 Linux 배포입니다.

Windows 7이 있으므로 시스템에서 TRIM 명령을 사용하고 있으며 사용하지 않는 블록을 회수 할 수 있습니다. 그러나 TRIM은 데이터를 재 배열하지 않으므로 드라이브가 가득 차면 조각화로 인해 데이터가 부분적으로 블록을 차지하고 TRIM의 효율성이 제한 될 수 있습니다. 내가 알 수있는 한 최선의 방법은 가능한 한 많은 디스크 공간을 확보하는 것입니다. 충분한 공간을 확보 할 수 있으면 전체 블록을 다듬을 수 있으며 드라이브 속도가 약간 느려집니다. 또한 SSD를 대상으로하는 조각 모음 프로그램이 있습니다. 즉, 몇 개의 추가 블록을자를 수있을만큼 조각 모음이 가능하지만 무료 프로그램은 알지 못합니다. Diskeeper 가이 작업을 수행해야한다고 생각하지만 비용이 많이 들며 매우 다양한 리뷰를 들었습니다.


1
FTL 계층은 파일 시스템 수준 아래에 있습니다. 파일 시스템이 조각난 것처럼 보이지만 FTL 레이어가 조각난 것은 아닙니다. 이 SSD "조각 모음"프로그램은 쓸모가 없으며 FTL 계층에 액세스 할 수 없으며 뱀 오일입니다. 이제 여유 공간이 부족하여 가비지 수집 및웨어 레벨링 및 모든 좋은 물건을 저장할 공간이 적기 때문에 SSD 속도가 느려집니다. SSD는 빈 블록 자체를 자동으로 선택하지 않으므로 마모 레벨링도 고려해야합니다. 결론은 파일 시스템은이 FTL 층에 물건을 저장하는 방법에 대해 아무것도 모르는입니다
시간 트윈

SSD에 최적화되지 않은 파일 시스템은 그다지 잘리지 않으며, 이는 작은 여유 공간과 동일한 효과를 갖습니다.
Basilevs

4

에서는 이 우수한 문서 AnandTech, 그들은 스페어 영역 및 SSD 성능 간의 관계를 탐구한다. 결론은 모든 SSD가 일부 공간을 사용하지 않을 때 성능을 얻는다. 때로는 여유 공간 25 %와 여유 공간 50 % 사이에 차이가 있습니다.


3

특정 SSD 모델, 공급 업체 및 사용 패턴에 따라 다릅니다.

경우에 따라 집중적으로 사용되는 SSD는 새로운 성능 수준으로 복원하기 위해 낮은 수준의 삭제가 필요한 사용 된 디스크 공간의 양을 무시하고 성능이 크게 저하 될 수 있습니다.


예를 들어, TRIM을 지원하는 Intel X-25 G2 (Windows 7).
Gabe

0

SSD가 거의 가득 차면 속도가 느려지는 경향이 있다고 들었지만, 5-10GB 미만의 여유 공간이 필요하다고 생각합니다. 남은 용량이 1GB 미만인 경우가 있습니다.


0

파일 시스템은 일반적으로 가득 차면 속도가 느려집니다. 조각화 때문입니다. 빈 디스크에서는 한 블록에 파일을 쓸 수 있습니다. 파일 시스템이 더 가득 차면 파일을 단일 연속 블록에 맞출 수있는 가능성이 줄어들고 데이터를 찾기 위해 점점 더 많은 노력을 기울여야합니다. 데이터의 임의 액세스와 같으므로 속도가 느려집니다.


2
움직이는 부품이 없기 때문에 SSD에는 적용되지 않으므로 임의 액세스는 무시할 수있는 액세스 시간을 추가합니다. 눈에 띄는 영향을 미치기 위해 수천 개의 무작위로 배치 된 조각으로 파일을 이동해야 할 수도 있습니다. 이는 주로 OS 자체가 읽기 및 쓰기를 계획하는 것입니다.
TuxRug

1
순차 읽기와 임의 읽기 사이에는 여전히 차이가 있습니다. 예를 들어 codinghorror.com/blog/2008/06/… 는 순차 읽기에 26MB / s, 무작위 읽기에 6Mb / s를 제공합니다.
고릴라

@TuxRug : 드라이브는 수백 킬로바이트 이상의 지우기 블록으로 그룹화됩니다. 페이지 (512 또는 4096 바이트의 "논리 디스크"데이터를 나타냄)가 작성된 후에는 블록 내의 모든 페이지를 지우는 것 외에는 다시 쓸 수 없습니다. "논리 디스크"섹터를 덮어 쓰면 드라이브는 이전의 빈 페이지를 할당하여 새 내용을 보관하고 이전 페이지는 더 이상 사용되지 않는 것으로 간주합니다. 오래된 페이지를 즉시 지우지 않고 대부분의 드라이브는 공간이 필요할 때까지 기다렸다가 대부분 또는 모든 페이지가 폐기 된 블록을 찾습니다.
supercat

@TuxRug : 빈 페이지 수가 심각하게 낮은 경우 드라이브 성능은 모든 블록 내에서 사용 가능한 최대 또는 사용되지 않는 페이지 수에 비례합니다 (15 개의 사용되지 않는 페이지가있는 10 개의 블록이있는 경우 다음 150 개의 쓰기에 대한 쓰기) / 삭제주기는 15 일마다 필요합니다. 각각 50 개의 쓸모없는 페이지를 가진 3 개의 블록이 있다면, 쓰기 / 소거주기는 50 번째 쓸 때마다 필요할 것입니다.] 조각화는 각각 쓸모없는 페이지가 몇 개 밖에없는 많은 블록으로 끝날 가능성이 높습니다.
supercat

0

또 다른 중요한 요소는 여기에 설명 된대로 SSD 제조업체가 초과 프로비저닝을 얼마나 많이 설정했는지 입니다. 초과 프로비저닝은 일부 공간이 가비지 콜렉션과 같은 백그라운드 활동을 위해 예약되어 있으며 사용자가 사용할 수 없도록 함을 의미합니다. 예를 들어, 10 % 초과 프로비저닝이 설정된 경우 256GB로 보급 된 SSD는 실제로 282GB 일 수 있습니다.

SSD 제조업체가 오버 프로비저닝 공간을 충분히 확보 한 경우 디스크 공간이 부족하면 성능에 큰 영향을 미치지 않을 수 있습니다. 예를 들어 100 % 꽉 찬 것으로 보이는 SSD도 실제로는 85 % 만 가득 찼을 수 있습니다. 그러나 실제로 SSD를 100 % 가까이 채울 수 있다면 성능이 크게 저하 될 수 있습니다.

요컨대, 효과의 양과 눈에 띄게 될지는 SSD에 따라 다릅니다. 그러나 일반적으로 SSD는 대부분 비어 있거나 성능이 채울 때 성능이 저하 될 때 최상의 성능을 발휘합니다. 다른 답변과 링크에 설명되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.