SSD의 남은 수명 또는 매체의 마모 수준을 확인하는 방법은 무엇입니까?


31

우리는 SSD의 수명이 제한되어 있음을 알고 있습니다. Linux에서 SSD의 현재 상태를 어떻게 확인합니까?

대부분의 Google 검색 결과는 Media_Wearout_Indicator라는 백분율 필드 또는 존재하지 않는 Longterm Data Endurance와 같은 다른 전문 지표에 대한 SMART 정보를 조회하도록 요구합니다. 계속해서 세 번째 SSD를 찾을 수 있지만 필드가 표준화되지 않았다고 생각합니다.

문제를 설명하기 위해 여기 두 가지 예가 있습니다.


첫 번째 SSD에서는 어느 필드가 마모 수준을 나타내는 지 명확하지 않습니다. 그러나 RAW VALUE가 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

SMART 속성을 사용하면 값이 임계 값보다 작거나 같거나 확실하지 않은 경우 드라이브가 항상 경고하기 때문에 값이 낮을수록 나빠집니다. 말했듯이 마모 표시기가 있으면 매우 좋지만 하나의 저장 장치에 소중한 데이터를 신뢰하지 않기를 바랍니다. RAID 배열로 여러 저장 장치를 실행해야합니다.
Alexios

내 데이터가 '귀중한'지 어떻게 알 수 있습니까? 그것은 단지 내 노트북에 회사의 knowledgabase의 오프라인 사본입니다. 사람들이 sysop 시나리오를 너무 자주 가정한다고 지적합니다. 어쨌든 의견을 주셔서 감사합니다.
Tankman 六四

모든 데이터는 소중합니다. :) 우리는 데이터로 이동 한 후, 그 원칙에 시작 이상 (예를 들어, 사진 작가의 디지털 사진을) 귀중한와 OS (이하 귀중한 - 교체가 용이하지만, 다운 타임과 시간의 손실 / 수익 당신은에있는 경우 교체하십시오).
Alexios

두 드라이브 모두 내구성 한계 내에 있습니다. 첫 번째 드라이브에는 약 350GiB가 있고 두 번째 드라이브에는 1.1TiB가 있습니다. 무슨 일이 일어나고 있는지 잘 모르겠습니다 ...
bwDraco

답변:


19

첫 번째 예에서 내가 생각하는 것은 속성 233 인 Intel 드라이브의 "Media Wearout Indicator"입니다. 예, 범위는 0-100이며 100은 새롭고 사용되지 않은 드라이브입니다. 0이 완전히 마모되었습니다. 당신의 ouptut에 따르면,이 필드는 존재하지 않는 것 같습니다.

두 번째 예에서 SSD_Life_Left에 대한 공식 문서 를 읽으십시오 . 해당 페이지 당 :

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

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

드라이브 사양을 조회하고 칩을 만드는 데 사용되는 프로세스를 결정할 수 있어야합니다. 32nm 프로세스 칩은 24nm 프로세스 칩보다 쓰기 내구성이 더 길다. 그러나 "평균"인 경우 최소 1,000에서 최대 6,000 개의 쓰기로 약 3,000 ~ 4,000 개의 쓰기를 예상 할 수 있습니다. 따라서 64GB SSD를 사용하는 경우웨어 레벨링을 가정 할 때 SSD에 총 192TB ~ 256TB의 쓰기가 예상됩니다.

예를 들어, 드라이브에 11KBps의 사용률을 유지하는 경우 시간당 약 40MB의 쓰기가 예상 될 수 있습니다. 6568의 전원이 켜진 시간에 약 260GB의 디스크에 기록했습니다. 고장이 발생하기 전에 약 200TB의 총 쓰기를 유지할 수 있다는 것을 알면 칩이 마모되어 약 600 년이 걸립니다. 커패시터가 마모되거나 전압이 조정되어 디스크가 고장날 수 있습니다.


9
정말 고마워요 이 지식은 smartctl 또는 해당 API를 사용하는 GUI 도구로 작성하는 것이 가장 좋습니다. 결국 컴퓨터를 입력 장치로 사용하여 계산기를 사용하여 계산하고 프로세서로 컴퓨터 앞에 앉아있는 사람은 컴퓨터가 발명 된 정신에 위배됩니다!
Tankman 六四

링크가 죽었을 것 같습니다
Skeleton Bow

15

Samsung SSD의 경우 SMART 속성 177 (웨어 레벨링 수)을 확인하십시오.

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

소금 한 알로 그 값을 초과하는 것에 대한 마지막 진술을 제안합니다.


링크는 지금 죽었습니다.
미적분학 기사

나는 그들이 Wear_Leveling_Count의 순서가 거꾸로 있다고 생각합니다. 나는 2 개의 삼성 SSD를 가지고 있으며 ~ 4 세의 RAW_VALUE는 42이고 다른 ~ 1 개월 된 RAW_VALUE는 0입니다. 0에서 시작하여 위로 증가하는 것으로 보입니다.
John Eikenberry

4

인텔 브랜드 SSD가없는 경우주의하십시오 !! 나는 삼성 SSD를 가지고 있으며 smartmontools / smartctl의 잘못된 속성 레이블링으로 완전히 오해되었습니다. 인텔 이외의 것이 있다면 https://askubuntu.com/a/460463/65722 에서 나의 고통스러운 이야기가 도움 이 될 수 있습니다.

정보 품질 대 소요 시간 발굴 비율이 내 것보다 낫기를 바랍니다!


0

LSI RAID 카드 가 장착 된 서버를 사용하려면 7 개의 삼성 SSD가 설치되어 있습니다.

그것은 그런

  • / dev / sda는 Raid Controller에서 JBOD로 표시된 운영 체제 SSD입니다.
  • 다른 7 SSD는 RAID 0 (또는 RAID-?)이므로 / dev / sdb로만 표시됩니다.

컨트롤러 습격 뒤에 디스크의 정보를 얻을 수 트릭이다

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
  • POWER_ON_HOURS
  • TEMPERATURE_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 의 구문 은smartctl [options] <device>

여러 디스크가 / dev / sdb, / dev / sdc, / dev / sdd 등과 같은 여러 장치로 표시되지 않을 때 RAID 카드를 가져오고 통과시키는 방법입니다.

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