Add SSD Health API and generic implementation#47
Conversation
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
| Returns: | ||
| A string holding some vendor specific disk information | ||
| """ | ||
| return self.vendor_ssd_info |
There was a problem hiding this comment.
Except the attributes you list. It's better to add "capacity" "P/E cycle" "Bad block" "Remaining time" .
There was a problem hiding this comment.
the attributes you suggest are probably specific to InnoDisk SSDs
For example StorFly disks does not have it but provide attribute #168 (NAND Endurance) which initial value is 20000. If compare to P/E from InnoDisk which is 3000 I think StorFly are not 6 times more reliable but rather use different units. That's why I would prefer to show such info with the "--vendor" option
"Bad block" value is also ambiguous. Depending on SSD NAND type (SLC, TLC, MLC) the endurance of flash cells can be different. Of course manufacturer knows about it and compensate worse endurance with the greater amount of reserved cells. That's why the absolute value of the bad (reallocated) cells does not represent the disk health state. Sometimes it is used to calculate disk health as ((<total number of reserved cells> - <number of reallocated cells> / <total number of reserved cells>)*100
"Remaining time" (InnoDisk utility calls this parameter Lifespan) is also provided not by all vendors and is very rough estimation. It is highly dependent on disk usage patterns.
Someday we can add daemon to the pmon which will periodically query current disk health and raise alarm once it reaches some threshold.
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
…sonic-net#47) Signed-off-by: Andriy Kokhan <akokhan@barefootnetworks.com>
Signed-off-by: Andriy Moroz c_andriym@mellanox.com