SSD 건강 점검 수행 방법

A Solid State Drives (SSDs) performs much faster than the usual Hard Disk Drive (HDD) you get when buying a PC or laptop. An SSD offers lesser chances of failure, but as all drives age, failure is inevitable. So how would you avoid loss of data? There are tools you can use for an SSD health check and even extend its life.

이 기사에서는 Crystal Disk Info 및 PowerShell에서 사용 가능한 cmdlet와 같은 툴을 사용하여 SSD의 건강 상태와 성능을 확인하는 방법을 배우게 됩니다.

시작해 봅시다!

전제 조건

이 튜토리얼은 SSD에 설치된 Windows 10 Build 19042 기계에서 모든 데모를 실행하지만 다른 버전의 Windows PC에서도 작동합니다.

CrystalDiskInfo를 통한 SSD 건강 상태 검사 수행

아마도 당신은 자신을 기술적인 사람으로 보이지 않게 SSD 건강 상태를 확인하는 방법을 찾고 있을 것입니다. 그렇다면 CrystalDiskInfo를 살펴보세요. Crystal Disk Info는 무료 GUI HDD/SDD 유틸리티 소프트웨어로 Crystal Mark 웹사이트에서 이용할 수 있습니다.

Crystal Disk Info의 다양한 테마 버전을 다운로드할 수 있지만, 이 튜토리얼에서는 표준 버전을 사용합니다.

아래에 표시된 것처럼 CrystalDiskInfo를 클릭하여 CrystalDiskInfo를 다운로드하세요. 그런 다음 다운로드한 설치 파일을 실행하여 PC에 CrystalDiskInfo를 설치하세요.

Downloading Crystal Disk Info

데스크톱에서 CrystalDiskInfo를 실행하면 아래에 표시된 것과 같은 SSD에 대한 다양한 정보가 표시됩니다.

SSD의 건강 상태에 따라 건강 상태가 녹색(양호), 노란색(주의), 빨간색(실패), 또는 회색(알 수 없음)으로 표시됩니다. 아래에서 SSD의 건강 상태가 알 수 없음인 것을 확인할 수 있습니다. 이는 SSD에 펌웨어 업데이트가 필요하거나 CrystalDiskInfo가 컨트롤러를 지원하지 않음을 나타냅니다.

SSD 제조업체는 일반적으로 버그 수정, 성능 개선 또는 보안 향상을 위한 펌웨어 업데이트를 제공합니다.

Opening Crystal Disk Info for the first time

PowerShell을 통한 SSD 건강 점검 수행

CrystalDiskInfo가 가장 일반적으로 사용되는 드라이브 컨트롤러 대부분을 다룰 수 있더라도 모든 것을 지원하지는 않습니다. 이 제한은 SSD 건강 점검을 수행할 때 PowerShell을 활용하는 주요 이유 중 하나입니다.

PowerShell에서 명령을 실행하는 시간이 대부분이라면 PowerShell을 통한 SSD 건강 점검이 가장 적합합니다. PowerShell을 사용하면 SSD의 읽기-쓰기 오류, 웨어 레벨링, 백분율, 온도 등 여러 가지 중요한 세부 정보를 확인할 수 있습니다.

SSD의 건강 상태를 더 잘 파악하기 위해 두 가지 주요 cmdlet(Get-PhysicalDiskGet-StorageReliabilityCounter)을 함께 사용하는 방법을 알아보겠습니다.

  • Get-PhysicalDisk cmdlet은 모든 물리 디스크를 검색하며 어떤 저장 관리 제공자에게도 표시됩니다. 저장 관리 제공자는 통합된 저장 관리 서비스를 제공하는 저장 관리 응용 프로그램입니다.
  • Get-StorageReliabilityCounter cmdlet을 사용하면 쿼리 중인 디스크/드라이브의 카운터를 확인할 수 있습니다.

이제 관리자 권한으로 PowerShell을 열고, Get-PhysicalDisk cmdlet을 실행하여 SSD에 관한 기본 정보를 반환하세요.

Get-PhysicalDisk

PowerShell을 사용하면 SSD가 정상인지 아니면 교체가 필요한지 쉽게 판별할 수 있습니다. 아래에서 볼 수 있듯이 SSD의 상태는 정상이며 문제가 없음을 나타냅니다.

Retrieving a list of physical disks via PowerShell

SSD 사용 통계 검색

Get-PhysicalDisk 명령은 SSD에 관한 여러 정보를 제공합니다. 하지만 아마도 SSD 사용 통계를 보여주는 정보만 필요할 것입니다. 예를 들어 쓰기 대기 시간이나 전원 켜진 시간과 같은 정보입니다.

SSD 정보를 좁히기 위해 Get-StorageReliabilityCounter cmdlet을 Get-PhysicalDisk cmdlet으로 파이프(|)하여 결과를 목록(Format-List) 형식으로 서식 지정합니다.

Get-PhysicalDisk | Get-StorageReliabilityCounter | Format-List

아래에서 중요한 SSD 건강 정보를 볼 수 있습니다.

Returning SSD Usage Statistics

특정 정보인 ReadErrorsTotalWear와 같은 정보만 가져오고 싶다면, 아래와 같이 Select cmdlet을 추가할 것입니다. Select cmdlet을 사용하면 개체의 지정된 속성을 선택할 수 있습니다.

이제 아래의 Get-PhysicalDisk 명령을 실행하여 필요한 정보(ReadErrorsTotalWear)로 출력 목록을 필터링합니다.

Get-PhysicalDisk | Get-StorageReliabilityCounter | Select ReadErrorsTotal, Wear

아래에서 지정된 정보인 ReadErrorsTotalWear만 볼 수 있습니다.

두 필드 중 어느 하나에 0이 아닌 숫자가 나타나는 경우 SSD를 교체하는 것을 고려해야 합니다.

Filtering the output by selecting only ReadErrorsTotal and Wear objects

여러 SSD에 대한 건강 검사 결과 서식 지정

지금까지 하나의 SSD에서 SSD 건강 검사를 수행하는 방법을 배웠습니다. 하지만 1개 이상의 SSD가 있는 경우 어떻게 해야 할까요? For Each 루프를 사용하여 명령을 둘러싸면 시간을 절약하고 동시에 필요한 특정 정보를 얻을 수 있습니다.

아래 명령에서 Get-PhysicalDisk cmdlet은 Get-StorageReliabilityCounter cmdlet과 Format-List cmdlet으로 파이프된 객체 집합(foreach)을 읽습니다. 명령은 마지막 객체 처리가 완료되면 완료됩니다.

Get-PhysicalDisk | foreach { $_ | Get-StorageReliabilityCounter | Format-List }
Looping through all physical disks to check health via PowerShell

PowerShell은 SSD의 건강 상태를 확인하기 위한 예약된 작업 설정과 같은 다양한 기능을 제공합니다. 이 예약된 작업은 결과를 이메일로 보내줄 수도 있어 현실적인 시나리오에서 더 유익할 수 있습니다.

TRIM을 사용하여 사용되지 않은 데이터 블록 지우기

이제 SSD의 건강 상태를 확인하는 방법을 알았으니, SSD의 고성능 유지하는 방법을 이해하는 것이 중요합니다. SSD에 읽기-쓰기 작업을 수행할수록 플래시 메모리 셀이 서서히 소모될 것입니다.

잠재적으로 손상을 최소화하고 SSD의 성능을 극대화할 방법이 있을까요? 물론 있습니다! SSD를 최적 성능으로 유지하려면 TRIM이 디자인되었습니다. TRIM은 운영 체제에게 어떤 데이터 블록이 디스크에서 더 이상 필요하지 않고 안전하게 지워질 수 있는지 알려줍니다.

TRIM이 활성화된 SSD에서는 데이터가 영구적으로 삭제되고 덮어쓰기 때문에 데이터 복구가 불가능합니다.

SSD에는 기본적으로 TRIM이 활성화되어 있지만, 의심스러우면 TRIM이 활성화되어 있는지 확인하려면 아래 명령을 실행하세요.

fsutil behavior 명령을 사용하여 시스템이 TRIM(또는 DisableDeleteNotify)을 활성화했는지 여부를 query하세요.

fsutil behavior query DisableDeleteNotify

아래에서 반환된 값이 0이므로 TRIM이 비활성화되어 있는 것으로 나타납니다. 명령이 (1)을 반환하면 현재 TRIM이 활성화되어 있습니다.

Checking if TRIM is enabled or disabled via PowerShell

이제 동일한 이전 명령을 실행하여 TRIM을 활성화하되, 삭제 알림의 behavior를 질의하는 대신 1set하십시오.

fsutil behavior set DisableDeleteNotify 1
Enabling TRIM

결론

이 튜토리얼에서는 CrystalDiskInfo 및 Windows PC에 함께 제공되는 PowerShell을 사용하여 SSD 건강 상태를 확인하는 방법을 배웠습니다. 이제 SSD가 알 수 없이 실패하는 상황을 피할 수 있습니다.

이제 남은 질문은 제3자 소프트웨어를 사용하여 SSD 건강 상태를 확인할 것인지 PowerShell을 사용할 것인지입니다.

Source:
https://adamtheautomator.com/ssd-health-check/