수명 동안 SSD에 얼마나 많은 데이터가 기록 되었습니까?


15

디스크 전체 수명 동안 SSD에 몇 GB가 기록되었는지 표시하는 터미널 명령이 있습니까? 몇 번의 사이클이 수행되었는지 알고 싶기 때문에 묻습니다. SSD는 유형에 따라 약 1000–2000주기를 수행 할 수 있습니다.


Mac에 어떤 SSD가 있습니까?
bmike

250GB 드라이브에 1000주기를 쓰면 250TB의 데이터를 쓴 것입니다. 매일 50GB를 쓰더라도 13 년이 걸립니다.
Thomas Ayoub

2
실제로 SSD에서 하루 평균 32GB입니다. DriveDx에 따르면 42TB의 쓰기가 이미 기록되어 있고 "웨어 수준"은 88 %에 불과하며 총 쓰기는 "99 %"(무엇이든)입니다. 내 드라이브의 전원이 총 20 개월 동안 켜졌습니다. 오류나 불량 섹터가 전혀 없습니다.
zagadka314

1
@ThomasAyoub 50GB / day는 스왑 덕분에 과소 평가 되는 지옥입니다 ! 내 120GiB SSD의 Host_Writes_MiB는 317296939 ( 2421 회주기 )이고 Wear_Leveling_Count는 FAILING_NOW입니다. 제 맥북은 13 세가되지 않아 4 년이되었습니다.
Navin

2
@Navin 그럼, 나는 내가 완전히 틀렸다는 데 동의합니다.
Thomas Ayoub

답변:


7

적절한 도구 *를 사용하여 SSD의 다음 SMART 속성을 읽으십시오.

241-쓴 총 LBA : 장치의 전체 수명 동안 기록 된 총 512 바이트 섹터 수.

242-Total LBAs Read : 장치의 전체 수명 동안 읽은 총 512 바이트 섹터 수입니다.

두 번째 속성 세트는 다음과 같습니다.

174-Host_Reads_MiB
175-Host_Writes_MiB

그러나 두 번째 세트에서 찾은 값이 실제로 의미가 있는지는 모르겠습니다 (적어도 Fusion 드라이브의 일부로 120GB SSD를 사용하는 경우) SSD를 통해 HDD보다 훨씬 많은 데이터가 SSD에 기록되기 때문에 크기의 1/25 만 있습니다.

0xae Host_Reads_MiB          ----CK   100   100   000    -    12268569 (~12 TiB)  
0xaf Host_Writes_MiB         ----CK   100   100   000    -    16481745 (~16 TiB) 

3TB HDD (Fusion 드라이브의 두 번째 부분)와 비교 한 결과 :

0xf1 Total_LBAs_Written      ------   100   253   000    -    21361815408 (~10 TiB)  
0xf2 Total_LBAs_Read         ------   100   253   000    -    23925221693 (~11 TiB)

smartmontools를 설치 한 후 "242 Total_LBAs_Written"속성이 존재하면 다음 명령은 GB 단위로 작성된 데이터를 제공합니다.

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125 }'

또는 TB로 :

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125000 }'

"DiskIdentifier"를에서 찾은 내부 SSD의 식별자로 바꿉니다 diskutil list. 아마 disk0입니다.

다음 명령은 "175-Host_Writes_MiB"속성이 존재하면 기록 된 데이터를 GB 단위로 제공합니다 (주의하여 결과를 처리하십시오).

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xaf | awk '{ print $8/953.67 }'

앞에서 언급 한 것처럼 "DiskIdentifier"를로 찾은 내부 SSD의 식별자로 바꿉니다 diskutil list. 아마 disk0입니다.

위의 smartctl 명령은 (적어도 나에게는) 매우 안정적으로 작동하지 않습니다.
"SMART 데이터 읽기 실패 : 정의되지 않은 오류 : 0"과 같은 오류가 발생하면 smartctl -A /dev/disk0먼저 시도하십시오 .
"SMART 사용 안함. -on 옵션과 함께 옵션 -s를 사용하여 사용으로 설정하십시오."와 같은 오류 smartctl -s on -A /dev/disk0
가 표시되면 위 명령을 재 시도하여 디스크에 기록 된 데이터를 읽고 계산하십시오.

* smartmontools


OS X은 기본적으로 SSD에서 SMART를 활성화하지 않습니까? 과거 이력 정보를 제공 할 수 있습니까?
grg

@grgarside 게시하기 전에 Fusion-SSD 및 SMART가 활성화되었는지 확인했습니다. 그래도 해당 속성을 찾을 수 없습니다.
klanomath

내 "APPLE SSD SM256E"(rMBP)에 smartctl과 함께 "사용 가능", "사용 안 함"이 표시됩니다.
grg

@grgarside로 활성화하십시오 smartctl -s on /dev/DiskIdentifier. 그런 다음 데이터를 얻을 수 있습니다. 다시 비활성화하려면 :smartctl -s off /dev/DiskIdentifier
klanomath


5

원래 게시물은 SSD에 1000-2000주기 제한이있어 문제를 지나치게 단순화한다고 언급했습니다. SSD의 개별 셀 에는 이러한 제한이있을 수 있지만 SSD는 오버 프로비저닝 및 쓰기 레벨링에서 Sandforce의 독점적 인 중복 제거, 압축 및 데이터 차별화 기술 모음 인 "DuraWrite"에 이르기까지 다양한 솔루션을 구현합니다.

원래 게시물로 돌아갑니다. iostat관련 기술 은 총체적인 활동을 보여 주지만 각 셀에 대해 얼마나 많은 프로그램 / 삭제주기가 수행되었는지, 그리고 거기에서 SSD에 남아있는 수명을 알기 위해서는 역으로 작업하기가 매우 어렵습니다.

유용한 권장 사항은 명시된 용량의 20 % 정도까지 SSD를 채우지 않고 적절한 백업없이 사용한 SSD를 배포하지 않는 것입니다.

Ars Technica에는 SSD의 작동 방식에 대한 몇 가지 유용한 기사가 있습니다. 가장 직접적으로 유용한 것은 " 소비자 급 SSD는 실제로 오래 지속된다 "는 것입니다. 자세한 내용은 여기 , 특히 5 페이지를 참조 하십시오 .


4

Homebrew ( ) 와 함께 GSmartControl 을 설치 하고 다음을 얻었습니다.brew install gsmartcontrol

GSmartControl 스크린 샷 OSX

SMART 속성 번호 173 (Erase Count 또는 Wear Leveling)은 사용 된 전체 섹터 쓰기를 의미해야합니다.

My MacBook 2015에서이 답변에 응답했습니다 (0xf1 ID 없음).

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/disk0 
smartctl 6.4 2015-06-04 r4109 [x86_64-apple-darwin15.0.0] (local build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     APPLE SSD SM0256G
...
LU WWN Device Id: 5 002538 900000000
Firmware Version: BXW1SA0Q
User Capacity:    251 000 193 024 bytes [251 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
...
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID#  ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
0x01 Raw_Read_Error_Rate     -O-RC-   200   200   000    -    0
0x05 Reallocated_Sector_Ct   PO--CK   100   100   000    -    0
0x09 Power_On_Hours          -O--CK   099   099   000    -    180
0x0c Power_Cycle_Count       -O--CK   099   099   000    -    650
0xa9 Unknown_Attribute       PO--C-   229   229   010    -    1975773037504
0xad Unknown_Attribute       -O--CK   200   200   100    -    4296081414
0xae Unknown_Attribute       -O---K   099   099   000    -    2547718
0xaf Program_Fail_Count_Chip -O---K   099   099   000    -    1304888
0xc0 Power-Off_Retract_Count -O--C-   099   099   000    -    1
0xc2 Temperature_Celsius     -O---K   059   022   000    -    41 (Min/Max 19/78)
0xc5 Current_Pending_Sector  -O---K   100   100   000    -    0
0xc7 UDMA_CRC_Error_Count    -O-RC-   200   199   000    -    0
                             ||||||_ K auto-keep
                             |||||__ C event count
                             ||||___ R error rate
                             |||____ S speed/performance
                             ||_____ O updated online
                             |______ P prefailure warning

ATA_READ_LOG_EXT (addr=0x00:0x00, page=0, n=1) failed: 48-bit ATA commands not implemented
Read GP Log Directory failed

Device Statistics (GP/SMART Log 0x04) not supported

-2

이 질문에 대한 매우 자세한 답변이 여기에 주어졌습니다.

다음 명령

iostat -Id disk0

장치가 장착 된 순간부터 iostat 명령이 실행 된 순간까지의 데이터 전송 통계를 반영합니다.


6
이것이 유용한 정보를 제공하는 반면, 이것은 디스크의 전체 수명 동안 어떻게 적용됩니까?
grg

2
이것은 부팅 이후의 읽기 + 쓰기 MB의 합계 만 씁니다. 일반적으로 활동 모니터, 디스크 탭과 동일한 통계입니다.
Adam Hošek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.