Есть ли способ определить, является ли диск SSD?

На самом деле вы можете довольно ssd легко определить задержку solid-state-drive вращения - я однажды сделал disk это в рамках университетского ssd проекта. Это описано в this report. Вы harddisk захотите перейти на страницу solid-state-drive 7, где вы увидите несколько disks хороших графиков задержки. Оно disk изменяется с 9,3 мс до 1,1 disks мс - падение на 8,2 мс. Это solid-state-drive напрямую соответствует 60 s / 8.2 ms = 7317 RPM.

Это ssd было сделано with simple C code - вот часть, которая ssd измеряет между позициями hdd a и b в рабочем файле. Мы делали disks это с все большими и большими solid-state-drive значениями b, пока мы не обошли harddisk весь цилиндр:

/* Measure the difference in access time between a and b.  The result
 * is measured in nanoseconds. */
int measure_latency(off_t a, off_t b) {
  cycles_t ta, tb;

  overflow_disk_buffer();

  lseek(work_file, a, SEEK_SET);
  read(work_file, buf, KiB/2);

  ta = get_cycles();
  lseek(work_file, b, SEEK_SET);
  read(work_file, buf, KiB/2);
  tb = get_cycles();

  int diff = (tb - ta)/cycles_per_ns;
  fprintf(stderr, "%i KiB to %i KiB: %i nsec\n", a / KiB, b / KiB, diff);
  return diff;
}

disk

hard-drive

solid-state-drive

2022-09-17T09:04:05+00:00