Project

General

Profile

Feature #1582

SSD detection support

Added by Vineeth Pillai almost 8 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
2011-09-29
Due date:
% Done:

30%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

We need support for SSD detection for performance tuning and optimization for applications.

sd driver detects SSD based on the Medium Rotation Rate in page oxB1 in VPD.

We need to expose this to userland. One way of doing this is to expose via libdevinfo.

As of now, disk details like vendor id, model, serial number, revision id, device type etc are accessible via libdevinfo.

<snip>
#define    INQUIRY_DEVICE_TYPE    "inquiry-device-type"    /* int */
#define    INQUIRY_VENDOR_ID    "inquiry-vendor-id"    /* string */
#define    INQUIRY_PRODUCT_ID    "inquiry-product-id"    /* string */
#define    INQUIRY_REVISION_ID    "inquiry-revision-id"    /* string */
#define    INQUIRY_SERIAL_NO    "inquiry-serial-no"    /* string */
<snip>

We can add one more property which can be named as 'inquiry-device-is-solid-state'


Related issues

Related to illumos gate - Feature #4335: need a mechanism to detect solid state storage devicesResolved2013-11-17

Actions

History

#1

Updated by Vineeth Pillai almost 8 years ago

  • Category set to driver - device drivers
  • Status changed from New to In Progress
  • Assignee set to Vineeth Pillai
  • % Done changed from 0 to 30
#2

Updated by Gary Mills almost 8 years ago

The other properties are specific characteristics of the
device. The proposed new one is more of a guess. Will
solid state devices always have a zero rotation rate?
Would some other property be more useful to the upper
layers?

#3

Updated by Rich Lowe almost 8 years ago

I'm probably missing something, but I'm actually fairly surprised an application would care.
How do you envision the intended consumer changing its behaviour based on this?

#4

Updated by Vineeth Pillai almost 8 years ago

http://www.t10.org/ftp/t10/document.07/07-203r0.pdf

SBC-3 specification suggests that this MRR to be 1 if the device is SSD. This is optional though. The SSDs that I have tested complies to this, but I am not sure about very old SSDs.

It is not explicit that user land programs and libraries would need this feature, but there are many applications that use raw disk and a hint like this would be useful for them to use it more efficiently. Disk Management utilities can offer suggestions to end user based on this hint.

Hypothetical eg: database can suggest allocating SSDs to it for indexes, when admin tries to list and allocate storage media to DBMS.

To the end user also, this can be a benefit. For systems with multiple disks, this would be an easy way to list the disk and determine which ones are SSDs in the list. I understand that there are no utilities that support this, but with this feature, format, fdisk etc can be modified to expose this detail.

#5

Updated by Albert Lee over 7 years ago

cmlb is aware of this information through DK_TG_GETATTRIBUTE, and assigns a particular number of heads and cylinders.

#6

Updated by Alek Pinchuk almost 3 years ago

  • Related to Feature #4335: need a mechanism to detect solid state storage devices added
#7

Updated by Yuri Pankov over 2 years ago

  • Status changed from In Progress to Closed

Already done in #4335 (correct me if I'm wrong though).

Also available in: Atom PDF