Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   SSD erkennen? (https://www.delphipraxis.net/165571-ssd-erkennen.html)

Mattze 6. Jan 2012 16:40

AW: SSD erkennen?
 
Hallo,

vielen Dank für Eure Antworten.
Es ist eigentlich nur Interesse und für meinen Versuch, die Hardware auszulesen.
Ich wusste nicht, was ich damit lostrete!

Ich war eben nur recht verblüfft, als O&O Defrag 12 prof beim (testweisen) Aufruf der SSD gleich ausgab, dass das eine SSD sei und die nicht defragmentiert werden sollte. Und schon kam die Frage: Woher weiß O&O das?
Da das ja auch bei allen SSD funktionieren sollte, dachte ich da wirklich, dass es einen allgemeinen Hinweis (z. B. im Controller) gibt!

Nebenbei: Es gibt eine Reihe Statusprogramme für SSD (z. B. SSD Life free). Die bieten schon bei der Laufwerkswahl nur SSDs an.
Also müssen die das auch irgendwie mitkriegen. Nur: Wie? Nur über die Rotationsgeschwindigkeit würde ja offenbar auch nicht ganz richtig werden.

Trotzdem, ein guter Ansatz ist das allemale.

Bevor ich nun anfange zu suchen, wie ermittelt man die Rotationsgeschwindigkeit?

Gruß
Mattze

himitsu 6. Jan 2012 16:41

AW: SSD erkennen?
 
Zitat:

Zitat von bernerbaer (Beitrag 1144687)
[OT]Das kann man so nicht pauschalisieren. Es gibt SSD-Hersteller die eine Defragmentierung von SSDs sogar empfehlen (siehe Wikipedia)[/OT]

Auf die Ausführungsgeschwindigkeit hat dieses wirklich keinen Einfluß mehr, aber auf die Datensicherheit hat es das sehr wohl.

Komplett defekte Datenträger kann man zwar vergessen, aber sobal man noch Lesezugriff bekommt, könnten Datenwiederherstellungsprogramme zusammenhängende Dateien besser wiederherstellen.
(vorallem wenn Volumebitmaps und Co. defekt sind)



PS: Wenn man für SSDs im Programm Optimierungen verbaut hat, warum das dann nicht einfach den Benutzer einstellen lassen?

Morphie 6. Jan 2012 17:28

AW: SSD erkennen?
 
Ich habe mal irgendwo gelesen, dass sich SSDs als RAM-Drive anmelden.
GetDriveType müsste bei einer SSD also DRIVE_RAMDISK (6) ausgeben.

Habe aber leider keine SSD um das zu testen.

Insider2004 6. Jan 2012 17:34

AW: SSD erkennen?
 
SSD defragmentieren? Bald kommt der Osterhase!

samso 6. Jan 2012 17:39

AW: SSD erkennen?
 
Also bei mir nicht: GetDriveType('C:\') ergibt 3 = dtFixed

himitsu 6. Jan 2012 18:40

AW: SSD erkennen?
 
Wieso sollten die ein RAM-Drive sein?
Das sind spezielle Treiber, für virtuelle Laufwerke.

SSD sind an IDE/SATA angeschlossen und werden auch über die normalen Festplattentreiber angesprochen.

Mattze 7. Jan 2012 07:13

AW: SSD erkennen?
 
Hallo,

inzwischen habe ich zwar ziemlich gesucht, aber ich finde nix.
Wie liest man die Rotationsgeschwindigkeit einer Festplatte im Code aus?

Soweit ich das gelesen habe, kann Win 7, laut MS, keine SSD im RAID erkennen.
Das deutet darauf hin, dass die wirklich über die Rotationsgeschwindigkeit gehen!
Und dann noch Raid testen.
Geschwindigkeit = 0, kein RAID --> SSD
Geschwindigkeit = 0, RAID --> als HDD erkannt und angesprochen.

Gruß
Mattze

hathor 7. Jan 2012 09:11

AW: SSD erkennen?
 
Non-rotating media
Windows 7 detects SSDs by using ATA8-ACS identify word 217: Nominal media rotation rate, with value 0001h as Non-rotating media like solid state devices. But not all SSDs adhere to the ATA8-ACS1 spec section 7.16.7.77, some may need firmware updates.

Seek Time
Unlike a magnetic rotating disk, the SSD has no read/write heads or platter. There is no seek time or
rotational latency issues. Zeus SSDs dramatically improve transaction throughput, particularly for
applications that are configured to take advantage of the characteristics of the drive.

WINDOWS 7
The random read threshold test was added to the final product to address the fact that few SSDs on the market today properly identify themselves as SSDs. 8 MB/sec is a relatively conservative rate. While none of our tested HDDs could approach 8 MB/sec, all of our tested SSDs exceeded that threshold. SSD performance ranged between 11 MB/sec and 130 MB/sec. Of the 182 HDDs tested, only 6 configurations managed to exceed 2 MB/sec on our random read test. The other 176 ranged between 0.8 MB/sec and 1.6 MB/sec.
http://blogs.msdn.com/b/e7/archive/2...rives-and.aspx

Mattze 7. Jan 2012 09:31

AW: SSD erkennen?
 
Vielen Dank, hathor.
Das ist doch schon was.

Nun müsste ich nur noch wissen, wie ich das ATA8-ACS, Word 217 mit Delphi (7 pro) auslesen kann. Hast Du einen Tipp?

Und die Frage ganz allgemein, weil es mich interessiert, wie man die Rotationsgeschwindigkeit einer Platte auslesen kann.

Danke!
Mattze

jaenicke 7. Jan 2012 09:37

AW: SSD erkennen?
 
Hier übrigens die passende ATA Spezifikation T13/e06176r1, die du hier in der Liste findest:
http://t13.org/Documents/MinutesDefa...DocumentType=8
Der direkte Link:
http://www.t13.org/Documents/Uploade...orm_factor.doc

Auslesen kannst du das mit DeviceIoControl und IOCTL_ATA_PASS_THROUGH. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 Uhr.
Seite 2 von 5     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz