Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#1219 closed patch (invalid)

A few SMART SSD default parameters additions (170-174)

Reported by: Artem S. Tashkinov Owned by:
Priority: minor Milestone:
Component: drivedb Version: 7.0
Keywords: ssd Cc:

Description

Over three years ago I emailed you a patch for adding some SMART parameters and it's never been merged or even discussed.

https://www.mail-archive.com/smartmontools-database@lists.sourceforge.net/msg01325.html

https://sourceforge.net/p/smartmontools/mailman/smartmontools-database/thread/92be36b242c6f0cfdc90b66870402db9%40lycos.com/#msg35362063

I'm now attaching the patch from that email in hope that you'll finally take a look at it and maybe merge it.

Attachments (1)

drivedb.h.patch (685 bytes) - added by Artem S. Tashkinov 3 months ago.

Download all attachments as: .zip

Change History (8)

Changed 3 months ago by Artem S. Tashkinov

Attachment: drivedb.h.patch added

comment:1 Changed 3 months ago by Christian Franke

Component: alldrivedb
Keywords: ssd added
Milestone: undecided

comment:2 Changed 3 months ago by Christian Franke

Summary: A few SMART parameters additionsA few SMART SSD default parameters additions (170-174)

Make subject more specific.

comment:3 Changed 3 months ago by Christian Franke

For some unknown reason, your original submission to the (now outdated) mailing list didn't reach my mailbox. Due to the too generic subject and missing explanation, other subscribers might have ignored it.

You didn't explain which drives are covered and why it makes sense to add this to the DEFAULT entry.

The patch is also incomplete. If attribute settings should be added to the DEFAULT entry, the following steps are needed:

  1. Identify all similar settings of individual drivedb entries. Unify the attribute name in those settings which use a slightly different name with same meaning.
  2. Add the new settings to DEFAULT entry and comment out all settings identified in step 1.

Result from step 1 will later be merged to all drive database branches. Result from step 2 will later be merged to branches 6.5 and later.

A quick which of your suggestions make sense:

$ for i in {170..174}; do
    grep -- "-v $i," drivedb.h | sed 's," *//.*$,",' | sort | uniq -c
  done
      2     "-v 170,raw16,Bad_Block_Count "
      1     "-v 170,raw16,Bad_Block_Count_New/Tot "
      2     "-v 170,raw24/raw24:z54z10,Bad_Blk_Ct_Erl/Lat "
     12     "-v 170,raw48,Available_Reservd_Space "
      2     "-v 170,raw48,Grown_Bad_Block_Ct "
      1     "-v 170,raw48,Grown_Bad_Blocks "
      3     "-v 170,raw48,Grown_Failing_Block_Ct "
      1     "-v 170,raw48,Initial_Bad_Block_Count "
      5     "-v 170,raw48,Reserve_Block_Count "
      3     "-v 170,raw48,Reserved_Block_Count "
      1     "-v 170,raw48,Reserved_Block_Pct "
      1     "-v 170,raw48,Spare_Block_Count "
      1     "-v 170,raw48,Unknown_Plextor_Attrib "
      1     "-v 170,raw48,Unused_Rsvd_Blk_Ct_Chip "
      1    "-v 170,raw48,Reserve_Blk_Remaining "
      1    "-v 170,raw48,Reserve_Erase_BlkCt "
      1   //"-v 170,raw48,Available_Reservd_Space "

"-v 170,raw48,Reserved_Block_Count,SSD ": Possibly better Available_Reservd_Space because it is not necessarily a ..._Block_Count.

      2     "-v 171,raw48,Avail_OP_Block_Count "
      1     "-v 171,raw48,Program_Fail_Cnt "
     29     "-v 171,raw48,Program_Fail_Count "
      1     "-v 171,raw48,Program_Fail_Count_Chip "
      1     "-v 171,raw48,Unknown_Plextor_Attrib "
      2    "-v 171,raw48,Program_Fail_Ct "

"-v 171,raw48,Program_Fail_Count,SSD ": Yes.

      1     "-v 172,raw48,Erase_Fail_Cnt "
     31     "-v 172,raw48,Erase_Fail_Count "
      1     "-v 172,raw48,Erase_Fail_Count_Chip "
      1     "-v 172,raw48,Unknown_Plextor_Attrib "
      2    "-v 172,raw48,Erase_Fail_Ct "

"-v 172,raw48,Erase_Fail_Count,SSD ": Yes.

      2     "-v 173,raw16(avg16),MaxAvgErase_Ct "
      2     "-v 173,raw16,Erase_Count "
      1     "-v 173,raw16,Erase_Count_Max/Avg "
      2     "-v 173,raw48,Ave_Block-Erase_Count "
      1     "-v 173,raw48,Average_PE_Cycles_TLC "
      1     "-v 173,raw48,Avg_Block-Erase_Count "
      2     "-v 173,raw48,Avg_Program/Erase_Ct "
      2     "-v 173,raw48,Avg_Write/Erase_Count "
      3     "-v 173,raw48,Erase_Count "
      1     "-v 173,raw48,Max_Erase_Count "
      1     "-v 173,raw48,Unknown_Plextor_Attrib "
      2     "-v 173,raw48,Unknown_SandForce_Attr "
      8     "-v 173,raw48,Wear_Leveling_Count "
      1    "-v 173,raw48,Drive_Life_Used% "
      1    "-v 173,raw48,Percent_Life_Used "

"-v 173,raw48,Wear_Levelling_Worst,SSD ": No, far too many other vendor specific settings.

      1     "-v 174,raw48,Host_Reads_MiB "
      2     "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
     24     "-v 174,raw48,Unexpect_Power_Loss_Ct "
      1     "-v 174,raw48,Unexpected_Power_Loss "
      1     "-v 174,raw48,Unexpected_Pwr_Loss_Cnt "
      2     "-v 174,raw48,Unexpected_Pwr_Loss_Ct "
      1     "-v 174,raw48,Unknown_Plextor_Attrib "
      5     "-v 174,raw48,Unsafe_Shutdown_Count "
      1    "-v 174,raw48,Unexpect_Power_Loss "
      1    "-v 174,raw48,Unexpect_PwrLoss_Ct "

"-v 174,raw48,Unexpected_Power_Loss,SSD ": yes, but better a variant with C(n)t suffix.

comment:4 Changed 3 months ago by Christian Franke

Milestone: undecidedunscheduled

I'm already working on such attribute name cleanup with enhancement of the DEFAULT entry. Parts of your suggestions will be included. Keeping ticket open until then.

comment:5 Changed 3 months ago by Artem S. Tashkinov

Resolution: invalid
Status: newclosed

I'm sorry for being extremely inattentive but smartmontools 7.0 already include all these parameters. It looks like someone actually added them earlier:

170 Unused_Rsvd_Blk_Ct_Chip 0x0033   100   100   010    Pre-fail  Always       -       1066
171 Program_Fail_Count_Chip 0x0022   100   100   010    Old_age   Always       -       0
172 Erase_Fail_Count_Chip   0x0032   100   100   010    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   097   097   005    Pre-fail  Always       -       46
174 Unexpect_Power_Loss_Ct  0x0032   099   099   001    Old_age   Always       -       144

comment:6 Changed 3 months ago by Christian Franke

Yes, individual entries already provide these settings. Your drive apparently matches with entry for Model Family: Samsung based SSDs.

Your proposed patch adds new settings to the DEFAULT entry which is something different. Settings from the default entry only apply of no setting from an individual entry is present.

Prior to new patch submissions, PLEASE

comment:7 Changed 3 months ago by Christian Franke

Milestone: unscheduled
Note: See TracTickets for help on using tickets.