SSD의 남은 수명이나 미디어의 마모 수준을 확인하는 방법은 무엇입니까?

SSD의 남은 수명이나 미디어의 마모 수준을 확인하는 방법은 무엇입니까?

우리 모두는 SSD의 의도된 수명이 제한되어 있다는 것을 알고 있습니다. Linux에서 SSD의 현재 상태를 확인하는 방법은 무엇입니까?

대부분의 Google 검색 결과에서는 Media_Wearout_Indicator라는 백분율 필드 또는 장기 데이터 내구성과 같은 기타 용어 메트릭(이러한 메트릭은 존재하지 않음)에서 SMART 정보를 찾도록 요청합니다. 예, 두 SSD를 모두 확인했습니다. 이 필드 를 찾을 수 없다. 세 번째 SSD를 계속 찾아볼 수도 있겠지만, 해당 분야가 표준화되지 않은 것 같은 느낌이 듭니다.

문제를 보여주기 위해 여기에 두 가지 예가 있습니다.


첫 번째 SSD의 경우 어느 필드가 마모 수준을 나타내는지 명확하지 않습니다. 그러나 RAW 값이 1에서 100 사이인 Unknown_Attribute는 하나만 있으므로 이것이 우리가 찾고 있는 것이라고 가정할 수 있습니다.

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

그러면 이 SSD는 재작성 수명의 57%를 사용했습니다. 그렇죠?


다른 디스크의 경우 SSD_Life_Left ATTRIBUTE가 눈에 띄지만 원시 값은 0(남은 수명 0%를 의미)입니다. 이는 위험에 처하지 않는 한 겉으로 보기에 정상적인 SSD일 가능성이 낮습니다(이 내용은 나중에 살펴보겠습니다). , 그리고 "0% 사용 수명"이라고 표시되면 마모된 드라이브일 가능성도 없습니다(마모 = 1년 이상).

    > sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===
    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000f   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072

답변1

첫 번째 예에서는 Intel 드라이브의 "Media Wear Indicator"(속성 233)를 언급하고 있는 것 같습니다. 예, 범위는 0~100입니다. 여기서 100은 사용되지 않은 새 드라이브이고 0은 완전히 마모된 드라이브입니다. 출력 결과에 따르면 이 필드는 존재하지 않는 것 같습니다.

두 번째 예에서는 다음을 읽으십시오.SSD_Life_Left에 대한 공식 문서입니다.모든 페이지:

이 속성의 RAW 값은 항상 0이며 의미가 없습니다. 정규화된 값을 확인하세요. 100부터 시작하며 SDD의 남은 수명에 대한 대략적인 백분율을 나타냅니다. 일반적으로 플래시 블록이 불량으로 표시되면 감소합니다. Retired_Block_Count의 RAW 값을 참조하세요.

smartctl(8)의 의미를 완전히 이해하고 가정을 하지 않는 것이 중요합니다. 불행하게도 SMART 도구는 최신 SSD 및 해당 속성을 항상 최신 상태로 유지하는 것은 아닙니다. 따라서 칩이 몇 번이나 기록되었는지 알 수 있는 명확한 방법이 항상 있는 것은 아닙니다. 가장 좋은 방법은 "Power_On_Hours"(귀하의 경우 "6568")를 살펴보고 평균 디스크 사용률을 결정하여 평균을 구하는 것입니다.

드라이버 사양을 찾아보고 칩 제조에 사용되는 프로세스를 확인할 수 있어야 합니다. 32nm 프로세스 칩은 24nm 프로세스 칩보다 쓰기 수명이 더 깁니다. 그러나 "평균적으로" 약 3,000~4,000회의 쓰기를 예상할 수 있으며 최소 1,000회, 최대 6,000회입니다. 따라서 64GB SSD를 사용하는 경우 웨어 레벨링을 가정할 때 SSD에 총 192TB~256TB의 데이터가 기록될 것으로 예상해야 합니다.

예를 들어, 드라이브가 11KBps의 사용률을 유지하는 경우 시간당 약 40MB를 쓸 것으로 예상할 수 있습니다. 전원을 켜고 6568시간이 지나면 약 260GB의 데이터가 디스크에 기록됩니다. 총 쓰기 용량이 약 200TB에 달할 수 있다는 점을 알면 칩 마모로 인해 오류가 발생하기까지는 약 600년이 걸립니다. 커패시터 마모 또는 전압 조정으로 인해 디스크가 고장날 수 있습니다.

답변2

Samsung SSD의 경우 SMART 속성 177(Wear Leveling Count)을 확인하세요.

ID#177 웨어레벨링 횟수

이 속성은 미디어 프로그램 및 지우기 작업 횟수(블록이 지워진 횟수)를 나타냅니다. 이 값은 SSD의 수명과 직접적인 관련이 있습니다. 이 속성의 원시 값은 총 P/E 주기 수를 표시합니다.

원천:http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

내가 아는 한, 마모 수준 표시기는 100에서 시작하여 선형적으로 1까지 내려갑니다. 1에서는 드라이브가 모든 정격 p/e 주기를 초과하지만 실제로는 드라이브의 총 내구성이 이 값을 크게 초과할 수 있습니다.

원천:http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

그 가치를 초과하는 것에 대한 마지막 진술을 소금 한 알로 받아들이는 것이 좋습니다.

답변3

Intel 브랜드 SSD가 없다면 주의하세요! 나는 삼성 SSD를 가지고 있는데 smartmontools /smartctl의 잘못된 속성 태그로 인해 완전히 오해를 받았습니다. 인텔이 아닌 다른 분야에 관심이 있다면 내 (어리석은) 고통에 대한 이야기를 다음에서 찾을 수 있습니다.https://askubuntu.com/a/460463/65722 도움이 되는.

당신의 정보 품질과 채굴 시간의 비율이 나보다 낫기를 바랍니다!

답변4

서버가 있습니다LSI RAID 카드, 삼성 SSD 7개를 설치했습니다.

정확히는

  • /dev/sda는 Raid 컨트롤러에 의해 JBOD로 표시된 내 OS SSD입니다.
  • 다른 7개의 SSD는 RAID 0(또는 RAID-?)이기 때문에 /dev/sdb로만 표시됩니다.

RAID 컨트롤러 뒤에 있는 디스크 정보 가져오기비결은

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

그런 다음 smartctl 정보를 얻으십시오. 예를 들어

  • WEAR_LEVELING_COUNT회
  • 부팅 시간
  • 온도_CELCIUS 그리고 다른 모든 좋은 것들

각 디스크에 대해 다음을 수행하십시오.

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

통사론지능형 제어smartctl [options] <device>

여러 디스크가 여러 장치로 표시되지 않을 때(예: /dev/sdb, /dev/sdc, /dev/sdd 등) RAID 카드에 들어오고 나가는 방법입니다.

관련 정보