OCZ RevoDrive 350 Review: Breaking The SATA Bottleneck
Καλώς ορίσατε σε ένα ακόμη review εδώ στο HwBox! Σήμερα την τιμητική του έχει ο τομέας του storage, όπου η αλήθεια είναι πως τα πράγματα έχουν παραμείνει κάπως στάσιμα τον τελευταίο καιρό. Μπορεί κοιτώντας τα benchmarks να προκύπτουν διαφορές της τάξης του 50% μεταξύ των επιδόσεων των Solid State Drive, όμως η καθημερινότητα φαίνεται να διαφέρει σημαντικά. Το πόσο, υποδεικνύεται από το γεγονός πως τα «καθορισμένα» σενάρια των benchmark διαφέρουν από την καθημερινή χρήση τόσο, ώστε αυτό το περίπου 50% μεταξύ των επιδόσεων να μετατρέπεται κοντά στο ±20%! Μπορεί λοιπόν αυτό να μας συμφέρει ως αγοραστές μιας και το ενδιαφέρον έχει αρχίσει να στρέφεται στη χωρητικότητα και το κόστος, δεν παύουμε όμως να προβληματιζόμαστε για το μέλλον.
Καλώς ορίσατε σε ένα ακόμη review εδώ στο HwBox! Σήμερα την τιμητική του έχει ο τομέας του storage, όπου η αλήθεια είναι πως τα πράγματα έχουν παραμείνει κάπως στάσιμα τον τελευταίο καιρό. Μπορεί κοιτώντας τα benchmarks να προκύπτουν διαφορές της τάξης του 50% μεταξύ των επιδόσεων των Solid State Drive, όμως η καθημερινότητα φαίνεται να διαφέρει σημαντικά. Το πόσο, υποδεικνύεται από το γεγονός πως τα «καθορισμένα» σενάρια των benchmark διαφέρουν από την καθημερινή χρήση τόσο, ώστε αυτό το περίπου 50% μεταξύ των επιδόσεων να μετατρέπεται κοντά στο ±20%! Μπορεί λοιπόν αυτό να μας συμφέρει ως αγοραστές μιας και το ενδιαφέρον έχει αρχίσει να στρέφεται στη χωρητικότητα και το κόστος, δεν παύουμε όμως να προβληματιζόμαστε για το μέλλον.
Κινούμενες λοιπόν σε αυτό το μήκος κύματος, κάποιες εταιρείες ήδη προσπαθούν να διαφοροποιηθούν από τον ανταγωνισμό και να προσφέρουν αυτό το κάτι παραπάνω, δημιουργώντας υλοποιήσεις drive οι οποίες ξεφεύγουν εν μέρει από τους περιορισμούς που εισάγει το πρωτόκολλο SATA τόσο ως προς το διαθέσιμο bandwidth, όσο και ως προς το πρότυπο επικοινωνίας μεταξύ μνήμης-αποθηκευτικού μέσου. Πιο συγκεκριμένα, αναφερόμαστε αφενός σε ένα θεωρητικό όριο του εύρους δια μεταγωγής της τάξης των 600 ΜΒ/s, και αφετέρου σε ένα Advanced Host Controller Interface (AHCI) το οποίο σχεδιάστηκε την εποχή όπου οι μηχανικοί δίσκοι βρίσκονταν στο απόγειό τους και όχι οι μνήμες flash.
Έχουμε συνεπώς νέα προϊόντα τα οποία στηρίζονται στο πρότυπο που φαινόταν από παλιά ως διάδοχος του SATA, ακούγοντας στο όνομα PCI Express. Για να σας δώσουμε μάλιστα μία τάξη μεγέθους, ανάλογα με τις υλοποιήσεις (SATA Express, M.2, PCI Express) και τα lanes που αξιοποιούν κάθε φορά, το εύρος δια μεταγωγής ξεκινάει από τα 1 GB/s και ανεβαίνει. Σήμερα, θα δοκιμάσουμε ένα τέτοιο προϊόν, το οποίο βασίζεται μεν ακόμη στο παλιό AHCI, κινείται δε σε λογική παρόμοια του RAID, με τη μεγάλη διαφορά πως δεν χρειάζεται κάποια ρύθμιση από τον χρήστη.
Το RevoDrive 350 λοιπόν, μας δείχνει το πώς έχει συλλάβει η OCZ ένα υψηλών επιδόσεων solid state drive για workstation υπολογιστές. Για αυτό και οι μέγιστες ταχύτητες σειριακών αναγνώσεων που υπόσχεται αγγίζουν τα 1800 MB/s, ενώ οι εγγραφής τα 1700 MB/s, τιμές πολύ μεγαλύτερες από αυτές που θα μπορούσε να προσφέρει ένα SATA SSD. Πως τα κατάφερε; Πήρε το γνωστό ελεγκτή SandForce 2282, έβαλε τέσσερις σε ένα PCB που επικοινωνεί με PCI Express και άφησε την ενορχήστρωσή τους στο Virtualized Controller Architecture 2.0 (VCA). Το αποτέλεσμα ήδη φαντάζει ενδιαφέρον για αυτό και σήμερα θα δοκιμάσουμε τη συγκεκριμένη υλοποίηση τόσο στα κλασσικά σενάρια, όσο και σε κάποια πιο απαιτητικά, συγκρίνοντάς την παράλληλα με δύο αντιπροσωπευτικά δείγματα των enthusiast και mainstream solid state drives.
Προτού όμως ξεκινήσουμε θα θέλαμε να σας προϊδεάσουμε για τις δύο επόμενες σελίδες του Review, οι οποίες έχουν ως στόχο να σας εξοικειώσουν με την τεχνολογία των μνημών flash καθώς και να επεξηγήσουν πολυχρησιμοποιούμενες στο χώρο ορολογίες. Φυσικά, θα μπορούσατε να τις προσπεράσετε και να πάτε απευθείας στην αξιολόγηση του drive, χάνοντας όμως έτσι μια ευκαιρία βαθύτερης κατανόησης του τρόπου λειτουργίας των μνημών NAND Flash καθώς και όρων όπως το Garbage Collection, το TRIM, το Over-Provisioning, Secure Erase κοκ, που μπορούμε να πούμε πως ακούγονται αρκετά συχνά.
Όπως όλα ξεκινούν σε επίπεδο ατόμου για τους έμβιους οργανισμούς, έτσι και στις πολυχρησιμοποιούμενες μνήμες flash το μικρότερο δυνατό δομικό τους στοιχείο είναι ένα κελί (cell). Τι είναι το κελί θα αναρωτιέστε όμως. Την απάντηση εδώ έρχεται να μας προσφέρει το MOSFET, στο οποίο μπορούμε πολύ εύκολα με την παρουσία ή μη ηλεκτρονίων να καθορίσουμε τις καταστάσεις 0 και 1 του δυαδικού συστήματος. Έχουμε λοιπόν τον μηχανισμό με τον οποίο θα παρασταθούν τα δεδομένα, μας λείπει όμως ο μηχανισμός που αυτά θα αποθηκευτούν. Αυτό συμβαίνει γιατί ένα απλό MOSFET είναι αδύνατο να «θυμάται» την κατάστασή του όταν σταματήσει να προσφέρεται ενέργεια από την πηγή. Η λύση έρχεται να δοθεί από την προσθήκη μιας επιπλέουσας πύλης (floating gate), η οποία παίρνει τη θέση της πύλης του MOSFET μετατρέποντας την ύστερη σε πύλη ελέγχου. Η επιπλέουσα αυτή πύλη (floating gate) είναι μονωμένη από ένα στρώμα διοξειδίου του πυριτίου που της δίνει τη δυνατότητα να διατηρεί τα ηλεκτρόνια (δεδομένα) για μεγάλο χρονικά διάστημα ελλείψει παροχής ενέργειας.
Είπαμε όμως πως αυτή είναι μονωμένη από την πηγή (source) και την υποδοχή (drain) οπότε προκύπτει το ερώτημα πώς θα μεταπηδήσουν τα ηλεκτρόνια μέσα σε αυτό για να δηλώσουν την κατάσταση 0. Σε αυτό μας βοηθάει μια διαδικασία που ονομάζεται Fowler-Nordheim tunneling σύμφωνα με την οποία η εφαρμογή μιας ικανής τάσης επιτρέπει την μεταπήδηση των ηλεκτρονίων, ακόμη και εάν υπάρχει μονωτικό υλικό.
Όταν λοιπόν υπάρχουν ηλεκτρόνια παγιδευμένα στην επιπλέουσα πύλη τότε το transistor αναπαριστά την τιμή 0 (Programmed State), ενώ όταν το floating gate είναι άδειο το transistor αναπαριστά την τιμή 1 (Erased State). Στα καινούργια Solid State Drives ή αλλιώς αυτά που βρίσκονται σε κατάσταση Fresh Out of the Box (FOB) όλα τα κελιά έχουν την τιμή 1, εξού και η μόνη τιμή που προγραμματίζεται είναι η τιμή 0.
Πώς όμως γίνεται ο προγραμματισμός (εγγραφή) ενός κελιού; Εφαρμόζοντας μία υψηλή τάση στην πύλη ελέγχου και διατηρώντας το υπόστρωμα πυριτίου (substrate) με μηδενική (grounded) τα ηλεκτρόνια που βρίσκονται σε αυτό περνάνε από το διηλεκτρικό στην επιπλέουσα πύλη.
Για να εκτελέσουμε μια διαγραφή από την άλλη, η πύλη ελέγχου γειώνεται με την υψηλή τάση να εφαρμόζεται στο υπόστρωμα πυριτίου, οπότε και τα ηλεκτρόνια μεταπηδούν σε αυτό.
Στα κελιά λοιπόν μπορεί να αποθηκευτεί 1 bit που μπορεί να έχει είτε την τιμή 0 (program) είτε την τιμή 1 (erased). Από το 1 bit όμως μέχρι να φτάσουμε στα μεγέθη των gigabit υπάρχει ακόμη πολύς δρόμος.
Στην επίτευξη των επιθυμητών χωρητικοτήτων συνδράμει το γεγονός πως τα κελιά μπορούν να συνδεθούν μεταξύ τους είτε σε σειρά (NAND Flash) είτε παράλληλα (NOR Flash) προς ένα bit line (I/O line). Eν τέλει και για λόγους οικονομίας χώρου (και συνεπώς κόστους), μιας και το μέγεθος που καταλαμβάνει ένα δίκτυο από κελιά NAND είναι κατά 40% περίπου μικρότερο από αυτό των NOR, καθώς και των χαμηλών ταχυτήτων εγγραφής των NOR, οι σχεδιαστές μνημών επέλεξαν να χρησιμοποιήσουν την σε σειρά σύνδεση, εξού και τα πασίγνωστα πλέον στα SSD NAND Flash memory.
Εκτός όμως από την σε σειρά σύνδεση των κελιών NAND και το γεγονός ότι αυτά δημιουργούν ένα string, και οι πύλες ελέγχου των transistor συνδέονται μεταξύ τους με ένα word line. Με βάση αυτό, ορίζουμε ως Page των αριθμό των string των οποίων τα επιμέρους κελιά μοιράζονται ένα word line. Για να οπτικοποιήσουμε όμως τα παραπάνω ας δούμε ένα παράδειγμα όπου συνδέουμε 2048 κελιά σε word line, με το κάθε string να περιέχει 16 κελιά και συνεπώς 16 Pages.
Ένα Page αποτελεί τη βασική μονάδα που ένα SSD Drive μπορεί να γράψει και να διαβάσει. Στο παράδειγμά μας το μέγεθος αυτής της σελίδας είναι 2048 bits δηλαδή 256 bytes.
Το δεύτερο βασικό μέγεθος είναι τα Blocks, τα οποία ορίζονται ως ο αριθμός των σελίδων που μοιράζονται ένα κοινό υπόστρωμα πυριτίου. Εδώ εμφανίζεται και ο περιορισμός που δημιουργεί προβλήματα στη διάρκεια ζωής των SSD, το γεγονός ότι η διαγραφή μπορεί να πραγματοποιηθεί μόνο σε επίπεδο Block, όπως θα κατανοήσουμε καλύτερα και παρακάτω. Στο παράδειγμά μας έχουμε λοιπόν 16 Pages και συνεπώς ένα Block μεγέθους 16*256=4096 bytes. Με παρόμοιο τρόπο χτίζουμε σιγά σιγά την πλήρη χωρητικότητα των SSD.
Βέβαια στην πραγματικότητα τα τυπικά μεγέθη των Pages και των Blocks είναι διαφορετικά, με μια σελίδα να έχει μέγεθος 4 KB ενώ κάθε Block περιλαμβάνει 128 Pages δίνοντάς μας τη χωρητικότητα των 512 KB/Block.
Αυτά που είπαμε μέχρι στιγμής αντικατοπτρίζουν τη λειτουργία των SLC drive τα οποία αποθηκεύουν 1 bit σε κάθε κελί. Στην αγορά όμως σήμερα υπάρχουν και άλλοι δύο κύριοι τύποι NAND Flash οι οποίοι ακούνε στο όνομα MLC και TLC. Προτού λοιπόν ανοίξουμε αυτό το κεφάλαιο και εξερευνήσουμε τις μεταξύ τους διαφορές, θα πρέπει να αναφερθούμε στους κύκλους προγραμματισμού/διαγραφής των μνημών flash και κατʼ επέκταση των SSD.
Program/Erase Cycles
Αναφέραμε παραπάνω πως όταν ένας δίσκος έρχεται κενός από την κατασκευάστρια εταιρεία όλα τα transistor του έχουν την τιμή 1. Ένας κύκλος προγραμματισμού και διαγραφής αποτελεί μία αλληλουχία των εξής γεγονότων: Εγγραφή ενός κελιού μνήμης, διαγραφή αυτού και επανεγγραφή του. Ο αριθμός όμως που ένα κελί μνήμης, και συνεπώς ένα SSD, μπορεί να πραγματοποιήσει την παραπάνω αλληλουχία γεγονότων είναι περιορισμένος. Εξαρτάται μάλιστα από τον τύπο των μνημών NAND Flash (SLC/MLC/TCL) καθώς επίσης και από το κλίμακα ολοκλήρωσης που χρησιμοποιούν οι κατασκευαστές (manufacturing process), δηλαδή 50nm, 34nm κ.ο.κ. Ας ξεκινήσουμε λοιπόν από την πρώτη διακριτοποίηση των μνημών flash, ως προς την ποσότητα των δεδομένων που μπορούν να φιλοξενήσουν σε ένα κελί.
SLC vs MLC vs TLC
Θεωρώντας δεδομένη και σταθερή την κλίμακα ολοκλήρωσης που χρησιμοποιεί η εταιρεία κατασκευής, μπορούμε να κάνουμε τις εξής σκέψεις:
SLC (Single-Level Cell): Στις SLC μνήμες ένα κελί μπορεί να αποθηκεύσει ένα bit δεδομένων και συνεπώς δύο καταστάσεις, την 0 (program) και την 1 (erase). Τα SLC Drives απευθύνονται κυρίως στην Enterprise αγορά όπου οι απαιτήσεις αντοχής σε πολλαπλούς κύκλους προγραμματισμού/διαγραφής είναι αυξημένες. Για να κατανοήσουμε όμως πραγματικά την «αυξημένη» αντοχή στους κύκλους προγραμματισμού/διαγραφής θα πρέπει να μεταφερθούμε ξανά σε επίπεδο MOSFET και στις τάσεις που χρησιμοποιούνται για τον προγραμματισμό και τη διαγραφή του κελιού. Θα θεωρήσουμε ακόμη και πως τα οι οριακές τάσεις (threshold voltages) για να επιτύχουμε τις παραπάνω καταστάσεις είναι 3V και 1V αντίστοιχα, με τα 2V να εφαρμόζονται ως τάση αναφοράς (reference voltage) στην πύλη ελέγχου. Εάν το κελί βρίσκεται στην διαγραμμένη (erased) κατάσταση (μη ύπαρξη ηλεκτρονίων στο floating gate) τότε θα υπάρχει κίνηση των ηλεκτρονίων μιας και τα 2V είναι μεγαλύτερα από την οριακή τάση αυτής της κατάστασης. Αυτό αναγνωρίζεται ως το bit 1. Όταν από την άλλη το κελί βρίσκεται στην προγραμματισμένη κατάσταση (bit 0), υπάρχουν ηλεκτρόνια παγιδευμένα στην επιπλέουσα πύλη και συνεπώς η τάση των 2V δεν είναι ικανή να προκαλέσει ροή ρεύματος καθώς είναι κάτω από το όριο. Για τις μνήμες των SLC Drive ισχύει επομένως το εξής:
MLC (Multi-Level Cell): Τα κελιά στα MLC NAND Flash διαχωρίζονται από τα SLC από το ότι μπορούν να αποθηκεύσουν δύο bit δεδομένων. Έχουμε δηλαδή τους εξής συνδυασμούς που μπορούν να υπάρξουν στις δύο αυτές θέσεις από τις τιμές 0 και 1: 00, 01, 10, 11. Από αυτές τις καταστάσεις η κατάσταση 11 υποδηλώνει διαγραμμένη ενός κελιού μνήμης, ενώ όλες οι άλλες καταστάσεις υποδηλώνουν ένα προγραμματισμένο κελί. Πλέον όμως έχουμε και 4 όρια τάσεων (11) -> 0.50V, (10) -> 1.50V, (01) -> 2.50V και (00) -> 3.50V καθώς και τρεις τάσεις αναφοράς 1.00V, 2.00V και 3.00V. Στα MLC λοιπόν η προαναφερθείσα απεικόνιση μετατρέπεται στην ακόλουθη:
Συγκρίνοντας τα παραπάνω μπορούμε να παρατηρήσουμε μερικά ενδιαφέροντα πράγματα. Αφενός, η διαφορά τάσης μεταξύ των οριακών των MLC είναι η μισή, αφήνοντας μικρότερο «διάστημα διαχωρισμού». Αφετέρου, βλέπουμε πως η παραβολική καμπάνα που σχηματίζεται έχει πιο μαζεμένα κοίλα, πράγμα που σημαίνει πως για επιτύχουμε την εκάστοτε κατάσταση θα πρέπει να αποδώσουμε με μεγαλύτερη ακρίβεια την τάση. Η παρουσία αυτής της καμπάνας εξʼ αρχής έγκειται στο γεγονός ότι το threshold voltage δεν μπορεί να έχει ακριβώς την τιμή που φαίνεται, αλλά θα έχει διακυμάνσεις.
Με το πέρας όμως του χρόνου και την επαναλαμβανόμενη εφαρμογή τάσεων το οξείδιο του πυριτίου φθείρεται και συνεπώς η ικανότητα της επιπλέουσας πύλης να διατηρεί τα ηλεκτρόνια μειώνεται. Επομένως, χρειάζεται λίγο μεγαλύτερη τάση μέχρι να επιτύχουμε τις οριακές τάσεις κάθε κατάστασης, πράγμα που φθείρει με ακόμη μεγαλύτερο ρυθμό το μονωτικό υλικό. Καταλαβαίνουμε συνεπώς πως όσο μικρότερη είναι αυτή η επιφάνεια της καμπάνας τόσο μικρότερη διάρκεια ζωής έχει ένα κελί.
Εκτός όμως από τη διάρκεια ζωής υπάρχουν επιπτώσεις οι οποίες εμφανίζονται στην ταχύτητα. Τα MLC χρειάζονται μεγαλύτερα επίπεδα διόρθωσης λαθών (error correction) μαζί με ένα πιο ακριβές κύκλωμα ανάγνωσης και εγγραφής για να επιτευχθούν οι τάσεις με μικρότερη διακύμανση. Αυτό έχει ως αποτέλεσμα ο χρόνος που χρειάζεται για εκτελεστεί μία εντολή να αυξάνεται.
TLC (Triple-Level Cell): Όμοια είναι τα πράγματα και στους πιο πρόσφατους τύπους μνήμης, τους λεγόμενους TLC, που απασχόλησαν τους περισσότερους από εμάς το 2012 με την έλευση του Samsung 840 στην αγορά των SSD. Τα TLC flash memory λοιπόν, όπως μας προϊδεάζει και η ονομασία τους, μπορούν να αποθηκεύσουν τρία bit σε κάθε κελί και επομένως οι δυνατοί συνδυασμοί είναι οχτώ (000, 001, 010, 011, 100, 101, 110, 111) με την διαγραμμένη κατάσταση να αντιπροσωπεύεται από το 111 και τις υπόλοιπες να είναι προγραμματισμένες καταστάσεις. Όμοια λοιπόν έχουμε και 8 οριακές τάσεις με 7 τάσεις αναφοράς. Έτσι, όλα τα προβλήματα που αναφέρθηκαν για τα MLC, δηλαδή μικρότερη περιοχή διακύμανσης τάσεων, μικρότερο εύρος ανάμεσα στις οριακές τάσεις καθώς και μεγαλύτερες γενικά τάσεις, αμβλύνονται ακόμη περισσότερο και συνεπώς η διάρκεια ζωής του κελιού, και κατʼ επέκταση του drive, μειώνεται σημαντικά.
Έχοντας πλέον κατά νου το μηχανισμό που πραγματοποιείται η όλη διαδικασία μπορούμε να δούμε συγκεντρωτικά τις διαφορές στη διάρκεια ζωής (P/E Cycles) μεταξύ των τριών τύπων μνημών NAND καθώς και την επίδραση της κλίμακας ολοκλήρωσης σε αυτήν.
Παρατηρούμε λοιπόν πως η διαφορά των P/E Cycles στους διάφορους τύπους μνήμες βρίσκεται κοντά σε μία τάξη μεγέθους. Βέβαια, υπάρχει ένα σημαντικός παράγοντας που οδηγεί τις εταιρείες στο να θέλουν να μειώσουν τη λιθογραφία αλλά και να αυξήσουν το πόσα bit μπορούν να αποθηκευτούν σε ένα κελί.
Το κλειδί λοιπόν είναι η πυκνότητα των GB σε σχέση με το διαθέσιμο χώρο. Με την έλευση των MLC για παράδειγμα ένα drive μπορούσε να αποθηκεύσει δύο φορές τα δεδομένα ενός SLC. Υπάρχουν λοιπόν δύο επιλογές. Είτε στο ίδιο φυσικό μέγεθος να προσφερθεί διπλάσια χωρητικότητα. Είτε διατηρώντας ίδια την προσφερόμενη χωρητικότητα και αυξανομένης πλέον της πυκνότητας των GB/φυσικό μέγεθος να μπορούν να παραχθούν περισσότερα (διπλάσια στο παράδειγμά μας) GB μνημών στο ίδιο wafer. Επομένως, η εταιρεία καταφέρνει να κατασκευάσει τις μνήμες για δύο φορές περισσότερα drive.
Παρεμφερής είναι και η κατάσταση για τις TLC μνήμες, μόνο που πλέον η αύξηση δεν είναι της τάξης του 100% από την προηγούμενη τεχνολογία, αλλά του 50%, με την λογική πάντως να παραμένει ίδια.
Ας περάσουμε όμως στο δεύτερο μέρος αυτής της σύντομης εισαγωγής στην τεχνολογία των SSD, όπου θα δούμε και θα εξηγήσουμε συχνά χρησιμοποιούμενες ορολογίες αλλά και το μηχανισμό στον οποίο οφείλεται η πτώση της ταχύτητας των drive όταν αυτά γεμίζουν με δεδομένα, καθώς και τα συστήματα που εφαρμόζονται προκειμένου αυτό να αποτραπεί.
Προτού ξεκινήσουμε να εξηγούμε τη διαδικασία με την οποία τα SSD επαναχρησιμοποιούν τα κελιά μνήμης τους, θα ήταν σκόπιμο να αναφέρουμε πως όταν τα SSD διαβάζουν και γράφουν δεδομένα, μπορούν να το πραγματοποιήσουν σε επίπεδο σελίδας. Όταν όμως έρθει η στιγμή να διαγράψουν δεδομένα τότε αυτή η ενέργεια μπορεί να γίνει μόνο διαγράφοντας ένα Block. Απλά ως σημείο αναφοράς, ένα τυπικό Block αποτελείται από περίπου 128 Pages. Σε αντίθεση μάλιστα με τους μηχανικού δίσκους, οι οποίοι μπορούν απλά να αντικαταστήσουν ένα αρχείο στην ίδια φυσική θέση του δίσκου, στα SSD για να μπορέσει ένα κελί να εγγραφεί, θα πρέπει πρώτα να έχει διαγραφεί.
Ας θεωρήσουμε λοιπόν πως ένα Page είναι σε προγραμματισμένη κατάσταση και πως περιέχει δεδομένα τα οποία πλέον είναι invalid. Για να μπορέσει να διαγραφεί λοιπόν αυτό το αρχείο θα έπρεπε ο ελεγκτής (controller) του drive αρχικά να διαβάσει τα έγκυρα (valid) δεδομένα που υπάρχουν στο Block και να τα γράψει σε ένα νέο άδειο Block. Έπειτα θα έπρεπε να διαγράψει το παλιό block που περιείχε τα invalid data μαζί με τα valid data και τέλος να ξαναγράψει τα valid αρχεία πίσω στην αρχικό Block. Η παραπάνω διαδικασία εισάγει το λεγόμενο Write Amplification!
Write Amplification: Είναι ένας λόγος που στον αριθμητή του έχει το μέγεθος των δεδομένων που το drive γράφει στα φυσικά του κελιά και στον παρονομαστή το μέγεθος των δεδομένων που το λειτουργικό σύστημα δίνει εντολή να γραφούν. Ο συντελεστής αυτός παίρνει τιμές μεγαλύτερες από τη μονάδα, και όσο πιο κοντά είναι στη μονάδα τόσο περισσότερο αντιστοιχούν οι εγγραφές του λειτουργικού και του drive και τόσο λιγότερο μειώνεται η διάρκεια ζωής του.
Βέβαια, όλη αυτή η διαδικασία που αναφέραμε στο παραπάνω παράδειγμα μειώνει την ταχύτητα που θα γινόταν η συγκεκριμένη ενέργεια. Για αυτό το λόγο και ο ελεγκτής (contoller) προτιμά να γράψει τα δεδομένα σε ένα καινούργιο Block και να τα αφήσει εκεί, μαρκάροντας τα δεδομένα του παλιού ως μη έγκυρα (invalid).
Πλέον όμως ο χώρος που το λειτουργικό καταλαβαίνει πως είναι διαθέσιμος είναι μεγαλύτερος από αυτόν που πραγματικά είναι, μιας στην πραγματικότητα περίπου 2 Block είναι δεσμευμένα σε σχέση με το 1 block (παρά ένα Page) που βλέπει το λειτουργικό.
Το παραπάνω όμως είναι εφικτό και στηρίζεται σε μία διαδικασία που λαμβάνει χώρα στο Flash Translation Layer. Με βάση αυτήν, ο κενός χώρος σε «λογικό επίπεδο» που βλέπει το λειτουργικό σύστημα, μπορεί να διαφέρει από αυτόν που έχουν σε φυσικό επίπεδο οι μνήμες NAND. Το παραπάνω λογικό σε φυσικό σύστημα αντιστοίχισης ονομάζεται Logical Block Addressing (LBA) και είναι αρμοδιότητα του ελεγκτή να το εφαρμόσει προς αύξηση των επιδόσεων.
Καταλαβαίνετε όμως, πως το παραπάνω απλά δίνει παράταση όσο υπάρχει διαθέσιμος χώρος, στην αναπόφευκτη και σχεδόν δύο φορές πιο χρονοβόρα διαδικασία που αναφέραμε προηγουμένως. Για αυτό το λόγο υπάρχει ένας μηχανισμός που ονομάζεται Garbage Collection, ευθύνη του οποίου είναι να ετοιμάσει άδεια Block προς εγγραφή, ώστε ο ελεγκτής να μπορεί να γράφει πάντα σε Pages που είναι σε διαγραμμένη κατάσταση, δηλαδή να γράφει ταχύτερα.
Garbage Collection: Η αλήθεια είναι πως το όνομα του είναι κάπως παραπλανητικό διότι στην πραγματικότητα δεν μεταφέρει μη έγκυρες σελίδες αλλά πραγματικά έγκυρα δεδομένα, με στόχο να αποδεσμεύσει χώρο ώστε να μπορέσει ο controller να γράψει σε αυτόν. Προκειμένου να κατανοήσουμε όμως πιο εύκολα τη λειτουργία του ας δούμε ένα παράδειγμα.
Ας θεωρήσουμε ένα Block που έχει γραμμένες 4 σελίδες του, την A - D. Σε αυτό το Block το λειτουργικό κάνει τα εξής: Τροποποιεί τα δεδομένα των σελίδων A – D, ενώ ταυτόχρονα γράφει και τις νέες σελίδες E – H. Αυτό φαίνεται με τη σειρά στο παρακάτω σχήμα:
Στο πρώτο στάδιο έχουμε δύο block, ένα κενό και ένα με 4 σελίδες γραμμένες. Στο δεύτερο στάδιο το λειτουργικό τροποποιεί τα δεδομένα των τεσσάρων πρώτων σελίδων, οπότε και ο controller γράφει τα νέα δεδομένα (Aʼ - Dʼ) στις επόμενες διαθέσιμες σελίδες, μαρκάροντας τις σελίδες που περιέχουν τα παλιά δεδομένα ως μη έγκυρες. Ακόμη, γράφει και τα καινούργια δεδομένα E - H. Όσον αφορά το λειτουργικό σύστημα η διαδικασία που ανέθεσε έχει ολοκληρωθεί.
Στην πραγματικότητα, όμως για μπορέσει το drive να γράψει τις invalid σελίδες ξανά όταν του ζητηθεί (διότι αυτές οι σελίδες είναι ελεύθερος χώρος για το λειτουργικό) θα πρέπει να μεταφέρει τα έγκυρα δεδομένα σε ένα καινούργιο Block και να διαγράψει το παλιό, με την διαδικασία αυτή να φαίνεται στο τρίτο και τελικό στάδιο, το οποίο είναι το Garbage Collection.
Θα πρέπει να τονιστεί ακόμη η τεράστια σημασία του ελεύθερου χώρου στην απρόσκοπτη λειτουργία του drive με τις μεγαλύτερες δυνατές ταχύτητες εγγραφής. Όταν λοιπόν υπάρχει διαθέσιμος χώρος, το drive μπορεί να γράφει απευθείας σε νέα Pages και να μαρκάρει τα παλιά ως μη έγκυρα, δίνοντάς στα στο Garbage Collection το οποίο μπορεί να εκτελεστεί σε ύστερο χρόνο. Αυτός ο ύστερος χρόνος μπορεί να είναι είτε όταν το σύστημα εκτελεί εργασίες, είτε όταν το σύστημα βρίσκεται σε idle. Βέβαια, εάν είναι εφικτό, ο ελεγκτής θα επιλέξει να το εκτελέσει σε χρόνο που το σύστημα βρίσκεται σε αδρανή κατάσταση.
TRIM: Στην πραγματικότητα, όταν εμείς διαγράψουμε ένα αρχείο από τον υπολογιστή, το λειτουργικό δεν ενημερώνει τον controller του drive ώστε να μαρκάρει τις σελίδες που έχουν διαγραφεί ως μη έγκυρες. Μάλιστα, ο μόνος τρόπος που θα μάθαινε ο ελεγκτής σε άλλη περίπτωση ότι οι σελίδες αυτές δεν χρειάζονται πλέον είναι όταν το λειτουργικό ζητούσε να γράψει σε αυτές τις σελίδες και έβλεπε πως περιέχουν δεδομένα. Αυτό λοιπόν έχει ως συνέπεια το Garbage Collection να μεταφέρει μαζί με τα έγκυρα δεδομένα και δεδομένα τα οποία δεν είναι πλέον, διότι απλά δεν γνωρίζει αυτήν την πληροφορία. Πραγματοποιούνται λοιπόν περιττές εγγραφές, μειώνοντας έτσι τη διάρκεια ζωής του drive. Το TRIM λοιπόν δίνει αυτήν την πολύτιμη πληροφορία στο ελεγκτή του drive, ο οποίος μαρκάρει τις μη έγκυρες σελίδες για τις διαγράψει σε ύστερο χρόνο με το Garbage Collection.
Η λειτουργία του TRIM προϋποθέτει την αρμονική συνεργασία δύο πλευρών. Από τη μία του λειτουργικού συστήματος, μαζί με τους οδηγούς αποθήκευσης, και από την άλλη του ελεγκτή (controller) του SSD. Από πλευράς λειτουργικού συστήματος η υποστήριξη ξεκινά από τα Windows 7 και ύστερα. Από πλευράς Solid State Drive η υποστήριξη έγκειται στην έκδοση του firmware του και επαφίεται στους κατασκευαστές των drive, με τους περισσότερους σήμερα να έχουν προσφέρει την υποστήριξη. Μεταξύ όμως των δύο βρίσκονται οι οδηγοί του chipset (Intel, Amd), η υποστήριξη των οποίων ποικίλει. Σε γενικές γραμμές πάντως και για χρήστες που δεν έχουν συνδέσει τα drives τους σε RAID, φαίνεται πως από το Intel 7-Series chipset και πάνω υπάρχει κανονική υποστήριξη από τους νέους RST Drivers, ενώ από πλευράς AMD από το SB850 και πάνω. Όσον αφορά την ειδική περίπτωση του RAID, από πλευράς Intel υπάρχει υποστήριξη, ενώ από πλευράς AMD υπάρχει υποστήριξη από το SB850 και πάνω. Αξίζει ακόμη να αναφέρουμε πως για τα παλαιότερα chipset της Intel υπάρχουν μη υποστηριζόμενα custom BIOS διαθέσιμα στο διαδίκτυο για όποιον ενδιαφέρεται.
Πάμε τώρα όμως τώρα να δούμε δύο πολυχρησιμοποιούμενες ορολογίες.
Wear-Leveling: Πρόκειται για αλγόριθμους που στόχο έχουν να κατανείμουν τις εγγραφές στα διάφορα blocks που είναι διαθέσιμα στον ελεγκτή του drive, ώστε εν τέλει όλα τα blocks να έχουν την ίδια φθορά ως προς τους κύκλους εγγραφής που έχουν δεχθεί. Έτσι, εξασφαλίζεται πως δεν θα υπάρχουν block των οποίων το τέλος της διάρκειας ζωής θα έρθει νωρίτερα από των υπολοίπων.
Over-Provisioning: Αποτελεί έναν πρόσθετο χώρο στον οποίο ο χρήστης δεν έχει πρόσβαση μέσου του λειτουργικού, έχει όμως ο ελεγκτής του drive αξιοποιώντας τον προς διατήρηση των επιδόσεων. Είδαμε και προηγουμένως πως όσο υπάρχουν διαγραμμένα Pages οι ταχύτητες εγγραφής είναι μεγαλύτερες και το drive εκτελεί την ανατεθείσα ενέργεια με υψηλότερη ταχύτητα και μικρότερο χρόνο απόκρισης. Τι γίνεται όμως όταν το drive αρχίσει και γεμίζει και όλο και λιγότερα κενά Blocks υπάρχουν διαθέσιμα; Θεωρητικά, εάν δεν υπήρχε άλλος χώρος τότε το drive θα έπρεπε να διαβάζει τα δεδομένα όλου του block, να κάνει τις τροποποιήσεις, να διαγράφει όλο το block και έπειτα να το ξαναγράφει. Όπως καταλαβαίνουμε όμως αυτό ρίχνει σημαντικά τις επιδόσεις του drive, για αυτό και υπάρχει αυτός ο «κρυφός» προς το χρήστη χώρος τον οποίο το drive μπορεί να αξιοποιήσει για να συνεχίζει να γράφει σε κενά blocks. Μπορείτε να φανταστείτε αυτόν τον ελεύθερο χώρο ως το work bench του ελεγκτή. Βέβαια, χώρος χρειάζεται όχι μόνο για το παραπάνω, αλλά και ώστε να κατανέμεται η φθορά των blocks με τον ίδιο ρυθμό καθώς και για να αντικαθίστανται πρόωρα μη λειτουργικά blocks σε περίπτωση που αυτά προκύψουν. Προκύπτει λοιπόν εύλογα το ερώτημα από πού προκύπτει αυτός ο πρόσθετος χώρος.
Υπάρχουν σε γενικές γραμμές τρεις κύριες πηγές αυτού του χώρου.
Κλείνοντας θα θέλαμε να κάνουμε και μία μικρή αναφορά σε αυτό που είναι πολύ πιθανό οι χρήστες SSD να έχουν ακούσει ως Secure Erase. Ειδικότερα, πρόκειται για μία εντολή ATA η οποία συνήθως προσφέρεται από την εργαλειοθήκη που προσφέρει κάθε εταιρεία με το drive της και έχει ως στόχο την πλήρη διαγραφή του drive. Η διαφορά όμως αυτής της εντολής από την γρήγορη διαμόρφωση (quick format) ενός drive είναι πως στην πραγματικότητα διαγράφει και τις περιοχές δεδομένων που δεν είναι διαθέσιμες στο λειτουργικό σύστημα. Αυτές χρησιμοποιούνται για Over-Provisioning καθώς και ομοιόμορφη κατανομή της φθοράς των κελιών, που σε οποιαδήποτε άλλη εντολή «διαγραφής» δεν θα ήταν διαθέσιμες. Το drive επιστρέφει λοιπόν στην εργοστασιακή του κατάσταση και οι ταχύτητες επαναφέρονται στις μέγιστες δυνατές τιμές τους. Μάλιστα, το Secure Erase ενός drive θα ήταν καλό να εφαρμόζεται πριν από μία νέα εγκατάσταση λειτουργικού σε ένα ήδη χρησιμοποιημένο drive.
Βγάζοντας το RevoDrive από το κουτί του άμεσα η προσοχή μας μεταφέρεται στην ψύξη που χρησιμοποιείται. Η αλουμινένια ψύκτρα είναι σίγουρα εντυπωσιακή έχοντας έναν και μόνο στόχο, να κρατήσει χαμηλές τις θερμοκρασίες στην καρδία του drive, δηλαδή του RAID controller, ο οποίος είναι ιδιόκτητος της OCZ και για τον οποίο λίγα είναι γνωστά.
Η επικοινωνία του drive με το υπόλοιπο σύστημα γίνεται με τη χρήση μίας θύρας PCI Express 2.0 x8. Αυτό έχει σημαντική επίπτωση στη συμβατότητα του RevoDrive με παλαιότερα συστήματα, δημιουργώντας μία ευέλικτη λύση που παίζει ακόμη και σε PC 5-ετίας και άνω. Βέβαια, θα πρέπει να σημειωθεί πως με το που τοποθετηθεί το RevoDrive και καταλάβει τα 8 lanes του CPU, η κάρτα γραφικών στα περισσότερα συστήματα (με εξαίρεση τα workstation X79 και X99 chipsets) θα πέσει στα 8 lanes (x8) από τα 16 (x16) που αξιοποιούσε προηγουμένως. Αυτό έχει μεν μικρή σημασία για συστήματα με μονή κάρτα γραφικών, για συστήματα δε με SLI ή CF είναι κάτι που θα πρέπει να ληφθεί υπόψη.
Μετά την εξαγορά της OCZ από τον κολοσσό του storage, την Toshiba, τα δεδομένα έχουν αλλάξει για τα drive της εταιρείας. Φαίνεται πως ένα μέρος της συμφωνίας ήταν η μετάβαση των μνημών NAND που χρησιμοποιούνταν σε αυτά της Toshiba, μιας και δεν θα είχε και πολύ νόημα η Toshiba να χρηματοδοτεί τους ανταγωνιστές της. Το RevoDrive 350 χρησιμοποιεί Asynchronous 19nm (A19) Toshiba NAND Flash, το οποία ναι μεν έχουν λιγότερους κύκλους προγραμματισμού/διαγραφής, έχουν όμως και χαμηλότερο κόστος κατασκευής πράγμα που ρίχνει και το συνολικό κόστος των drive.
Αυτό όμως ήταν κάτι το αναμενόμενο. Η έκπληξη ήρθε όταν γυρίσαμε το drive και είδαμε πως οι ελεγκτές που περιέχει είναι οι γνωστοί SandForce SF-2282 σε αντίθεση με τον (Indilinx) Barefoot που αποτελεί ιδιοκτησία της OCZ και χρησιμοποιείται σε όλο το υπόλοιπο mainstream lineup της εταιρείας. Συγκρίνοντάς το RevoDrive 350 με τον προκάτοχό του 3 X2, παρατηρούμε πως ο ελεγκτής στο προηγούμενης γενιάς μοντέλο ήταν ο SandForce SF-2281. Η μόνη διαφοροποίηση μεταξύ των δύο είναι το εύρος του διαύλου επικοινωνίας μεταξύ του ελεγκτή και των NAND die, το οποίο από τα 8-bit αυξάνεται στον SF-2282 στα 16-bit, δίνοντάς του τη δυνατότητα να επικοινωνεί με διπλάσιας χωρητικότητας μνήμες καθώς και κάποια μικρή αύξηση των επιδόσεων όταν αυτές οριοθετούνται από το διαθέσιμο NAND channel bandwidth.
Ανάλογα με την έκδοση του drive (240/480/960 GB) ο αριθμός των ελεγκτών διαφοροποιείται καθώς επίσης και οι επιδόσεις, με τα διαθέσιμα μοντέλα να φαίνονται στον πίνακα που ακολουθεί.
Στην έκδοση των 480 GB την οποία και είχαμε στη διάθεσή μας, η κατανομή των μνημών είναι ισομοιρασμένη στους τέσσερις ελεγκτές της SandForce. Από τα 32 NAND dies χωρητικότητας 16 GB έκαστο, κάθε ελεγκτής είναι υπεύθυνος για 8. Η συνολική χωρητικότητα των 480 GB μας μαρτυρά πως περίπου το 7% αυτών (δηλαδή 32 GB) έχουν δεσμευτεί από την ίδια την OCZ ως δεύτερο επίπεδο Over-Provisioning με στόχο την καλύτερη κατανομή της φθοράς (σε κύκλους P/E) καθώς και την ύπαρξη πρόσθετου κενού χώρου, μη ορατού στο λειτουργικό, που θα βοηθήσει τις ταχύτητες εγγραφής όταν το drive αρχίζει να γεμίζει με δεδομένα. Ακόμη, οι controller της LSI χρησιμοποιούν data compression, μειώνοντας με αυτόν τον τρόπο το write amplification.
Η επικοινωνία των ελεγκτών μεταξύ τους πραγματοποιείται στο Virtualized Controller Architecture 2.0 (VCA) το οποίο αποτελεί ένα πλήρες υποσύστημα αποθήκευσης, με firmware και drivers της OCZ, διαφοροποιώντας τον τρόπο που γίνεται το μοίρασμα (striping) των δεδομένων από τους κλασικούς RAID 0 ελεγκτές στα chipset, εισάγοντας ακόμη και διάφορους αλγόριθμους για καλύτερη κατανομή των Queue, τα οποία μπορείτε να φανταστείτε ως τις εντολές που πρέπει να εκτελέσει ένας ελεγκτής.
Επιπλέον, επιτρέπει τη μεταβίβαση εντολών TRIM στη συσκευή όπως και εποπτικού ελέγχου της από τα δεδομένα S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), γεγονότα που από τη μία μειώνουν τη φθορά των μνημών flash λόγω των κύκλων P/E, αυξάνοντας παράλληλα και τις ταχύτητες εγγραφής, και από την άλλη προσφέρουν χρήσιμες πληροφορίες όπως οι κύκλοι προγραμματισμού/διαγραφής που έχει δεχθεί ένα drive, οι ώρες που αυτό έχει λειτουργήσει κοκ.
Αναφορικά με την κρυπτογράφηση το drive κρυπτογραφεί σε πραγματικό χρόνο τα δεδομένα με αλγόριθμο κρυπτογράφησης 128-bit AES. Όμως στις περισσότερες μητρικές σταθερών υπολογιστών (σε αντίθεση με τα laptop) δεν δίνεται η δυνατότητα τοποθέτησης ATA Password που να κρυπτογραφεί το κλειδί που χρησιμοποιεί το drive για την δικιά του κρυπτογράφηση, πράγμα που αντιστοιχεί στο να έχετε ένα χρηματοκιβώτιο με ανοιχτή την πόρτα. Ταυτόχρονα, βλέποντας τη Samsung με τους 840 Evo & 850 Pro και την Crucial με το M550 και MX100, θα περιμέναμε το drive να υποστηρίζει τα πρότυπα TCG Opal 2.0 και IEEE-1667, κάνοντάς το συμβατό με το πρότυπο Microsoft eDrive και συνεπώς με το encryption σε επίπεδο hardware σε πραγματικό χρόνο. Δυστυχώς όμως αυτό δεν αντιστοιχεί στην πραγματικότητα, ενώ φαίνεται πως δεν θα υπάρξει αυτή η υποστήριξη στη σειρά RevoDrive 350 με κάποιο firmware update αλλά στην επόμενη.
Η υποστήριξη διαφόρων λειτουργικών ήταν στην αρχή περιορισμένη αφού παρέχονταν υποστήριξη μόνο για Windows (7/8/8.1). Σταδιακά όμως έχουν αρχίσει να υποστηρίζονται και διάφορες διανομές linux (Fedora, Mint και Ubuntu) για χρήση του drive ως δευτερεύον σε υπάρχουσα εγκατάσταση, όμως για χρήση του RevoDrive 350 ως OS drive υποστηρίζεται προς το παρόν μόνο η διανομή Fedora v.18-20.
Ολοκληρώνοντας με τις πρώτες εντυπώσεις για το RevoDrive 350 θα πρέπει να αναγνωρίσουμε στην OCZ ότι το εγχειρίδιο χρήσης που μπορεί να κατεβάσει ο καθένας από το website της εταιρείας, είναι πλήρες και καλύπτει εκτενώς τις δύο πιθανές περιπτώσεις εγκατάστασης του drive, δηλαδή ως δευτερεύον μέσο αποθήκευσης και ως χώρος εγκατάστασης του λειτουργικού συστήματος.
Το toolbox ουσιαστικά αποτελεί το κέντρο ελέγχου του SSD που κάνει διαθέσιμο κάθε εταιρεία στους τελικούς χρήστες. Υπάρχουν πολλές προσεγγίσεις στο συγκεκριμένο τομέα και οι απόψεις φαίνονται να διίστανται. Στην περίπτωση πάντως της OCZ έχουμε να κάνουμε με ένα μινιμαλιστικό γραφικό περιβάλλον χρήσης το οποίο όμως κρατάει μία ισορροπία στην ποσότητα των παρεχόμενων πληροφοριών ώστε να μην "υπερφορτώσει" τους χρήστες.
Το Toolbox της OCZ σε αντίθεση με αυτό της Samsung δε δίνει τη δυνατότητα στο χρήστη να ορίσει το χώρο που θα χρησιμοποιηθεί για Over Provisioning. Αυτή η επιλογή φαίνεται να δικαιολογείται από το γεγονός πως οι mainstream υλοποιήσεις της εταιρείας έρχονται εκ κατασκευής με ένα OP της τάξης του 7%, και συνεπώς δεν απαιτείται η τροποποίησή τους από τους χρήστες. Άλλωστε οποιοσδήποτε επιθυμεί μπορεί να θέσει πρόσθετο Over Provisioned χώρο με τη δημιουργία ενός partition στο drive που να μην έχει όμως διαμορφωθεί.
Υπάρχουν διαθέσιμες διάφορες μορφές του Toolbox επιλογή των οποίων εξαρτάται από το εάν χρησιμοποιείτε το drive ως δευτερεύον μέσο αποθήκευσης στο λειτουργικό ή εάν φιλοξενεί το λειτουργικό. Εάν ανήκετε στην πρώτη περίπτωση τότε το καλύτερο είναι να κατεβάσετε το Windows Toolbox το οποίο είναι μια εφαρμογή των Windows. Εάν από την άλλη στο drive έχουν εγκατασταθεί τα Windows τότε θα χρειαστεί να κατεβάσετε μία bootable custom διανομή των linux η οποία τρέχει κατά την εκκίνηση και στην οποία έχει ήδη εγκατασταθεί το toolbox. Περισσότερες πληροφορίες ως προς τη χρήση του τελευταίου μπορείτε να βρείτε στο manual που έχει δημοσιοποιήσει η OCZ.
Στο Windows Toolbox που εμείς χρησιμοποιήσαμε η πρώτη καρτέλα που ανοίγει μας δίνει τη δυνατότητα επιλογής του drive που επιθυμούμε να τροποποιήσουμε ή να δούμε τις ιδιότητες. Επιλέγοντας το drive εμφανίζονται και πληροφορίες για την έκδοση του firmware που διαθέτει.
Ακολουθεί η καρτέλα Tools όπου δίνεται η δυνατότητα στον χρήστη να κάνει update το firmware και το BIOS του drive, καθώς επίσης και να στείλει χειροκίνητα μία εντολή TRIM.
Στην επόμενη καρτέλα ονόματι Security βρίσκεται η περίφημη εντολή για το Secure Erase το οποίο επαναφέρει το drive στην εργοστασιακή του κατάσταση.
Οι τελευταίες επιλογές βρίσκονται στην καρτέλα Details όπου μπορούμε να έχουμε πρόσβαση στα S.M.A.R.T. δεδομένα που περιέχουν εκτός των άλλων και το πόσες εγγραφές έχουν γίνει στο drive.
Με δεδομένο πως όλο και περισσότεροι χρήστες γεμίζουν τα drive τους σε μεγαλύτερο βαθμό, ο τρόπος που δοκιμάζαμε τα drive έπρεπε κάπως να διαφοροποιηθεί ώστε να παρουσιάζει αυτήν την τάση των χρηστών. Οι αλλαγές λοιπόν βρίσκονται κυρίως σε επίπεδο περαιτέρω αύξησης της πληρότητας και μερικής διαφοροποίησης, πράγμα που σημαίνει πως σε αρκετές δοκιμές τα αποτελέσματα είναι συμβατά και συγκρίσιμα με αυτά που θα συναντήσετε κοιτάζοντας παλαιότερα review μας, σε άλλες όμως όχι. Προσπαθήσαμε λοιπόν να κρατήσουμε τις κλασσικές μετρήσεις σε drive με και χωρίς λειτουργικό σύστημα, καθώς και ένα σύστημα δοκιμών παρόμοιο με αυτό που χρησιμοποιούσαμε παλαιότερα. Μία από τις αλλαγές που κάναμε με στόχο τη μελλοντική διασφάλιση των δοκιμών ήταν στο λειτουργικό σύστημα, με τα Windows 8.1 x64 να βρίσκονται πλέον μαζί μας, λόγο της υποστήριξης για το πρότυπο NVMe το οποίο θα δούμε στο μέλλον.
Για το συγκεκριμένο review που περιέχει μόλις τρία drive, εκ των οποίων ένα PCIe SSD (RevoDrive 350 480 GB) καθώς και δύο αντιπροσωπευτικά δείγματα SATA SSD για τους enthusiast (Vector 150 240 GB) και mainstream χρήστες (ARC 100 240 GB), τα γραφήματα έχουν τροποποιηθεί ανάλογα ώστε να παρουσιάζουν παράλληλα και το πώς διαφοροποιούνται οι επιδόσεις των drive όταν αυτά γεμίζουν με δεδομένα, δίνοντας ταυτόχρονα και μια εποπτική εικόνα των μεταξύ τους διαφορών.
Όλα τα drive συνδέθηκαν μέσω θυρών SATA III (6 Gbps) ενώ οι μετρήσεις πραγματοποιήθηκαν με εγκατεστημένους τους Intel RST drivers 13.2.4.1000 καθώς και μία πλήρως updated Windows 8.1 x64 εγκατάσταση. Secure Erase έγινε στην αρχή των μετρήσεων σε όλες τις συσκευές καθώς και πριν εγκατασταθεί το λειτουργικό σύστημα για τις αντίστοιχες δοκιμές. Άλλωστε, πάντα προτείνουμε να κάνετε SE ένα drive που δεν βρίσκεται σε κατάσταση FOB προτού εγκαταστήσετε το λειτουργικό σύστημα, ιδίως όταν αυτό έχει χρησιμοποιηθεί παλαιότερα.
Τα drive δοκιμάστηκαν στα παρακάτω τέσσερα σενάρια που δημιουργήθηκαν ώστε να καλύψουν το μεγαλύτερο εύρος χρήσης ενός drive:
ATTO Disk Benchmark
Το ATTO είναι ένα πολύ διαδεδομένο μετροπρόγραμμα που μπορεί να μετρήσει την απόδοση του drive για ένα εύρος μεγεθών συμπιέσιμων αρχείων. Εμείς θα το χρησιμοποιήσουμε αρχικά για να επιβεβαιώσουμε τις εικασίες του κάθε κατασκευαστή για τις μέγιστες ταχύτητες σειριακής ανάγνωσης και εγγραφής κάθε drive σε ένα αρχείο μεγέθους 8 MB, ενώ στη συνέχεια θα αυξήσουμε το Queue Depth (QD) και θα δούμε τόσο τις διαφορές μεταξύ ενός χαμηλού και ενός υψηλού QD όσο και τις διαφορές μεταξύ του RevoDrive και του Vector, έχοντας εφαρμόσει QD=10. Το Queue Depth μπορείτε να το φανταστείτε ως την ουρά αναμονής σε έναν ελεγκτή. Όσο μεγαλύτερο, τόσο περισσότερες εντολές έχει να εκτελέσει ένα ελεγκτής και συνεπώς δυσκολεύεται περισσότερο. Ως ένα μέτρο σύγκρισης, η πραγματικότητα ενός τυπικού χρήστη δεν ξεπερνά ακόμη και στις ακραίες περιπτώσεις ένα QD=7. Επειδή όμως το RevoDrive δεν προορίζεται για τον τυπικό χρήστη, θα χρησιμοποιήσουμε όπου μπορούμε και κάπως αυξημένα QD (έως 32) τα οποία μπορούν εύκολα να εμφανιστούν σε ένα workstation/enterprise περιβάλλον και για τα οποία μάλιστα τα SSD παρουσιάζουν τις μέγιστες επιδόσεις τους.
Αρχικά ας επαληθεύσουμε όμως τις ταχύτητες με τις οποίες διαφημίζεται το drive.
Από το παραπάνω γράφημα συμπεραίνουμε πως όχι μόνο το RevoDrive 350 επιτυγχάνει τις ταχύτητες αναφοράς του, αλλά τις ξεπερνάει και μάλιστα αρκετά (+200 MB/s). Ας περάσουμε όμως σε κάτι πιο ενδιαφέρον. Όταν αυξήσουμε το QD από 4 σε 10, τότε βλέπουμε πως το RevoDrive αρχίσει και βελτιώνεται σημαντικά. Αυτό μάλιστα όπως θα δείτε και στη συνέχεια θα αποτελέσει το γενικό κανόνα, με τις καλύτερες επιδόσεις να επιτυγχάνονται σε αυξημένα Queue Depths.
Κλείνοντας με το ATTO, ας δούμε πως μάχονται τα δύο ταχύτερα drive με QD=10.
HD Tune Pro
Το HD Tune θα το χρησιμοποιήσουμε προκειμένου να αποκτήσουμε μια εικόνα σχετικά με τις ταχύτητες ανάγνωσης και εγγραφής των drive όταν κληθούν να διαβάσουν/γράψουν δεδομένα που δεν βρίσκονται σε γειτονικά Block (Random Data). Εκτελέσαμε λοιπόν τα Random Access Tests στις προεπιλεγμένες τους ρυθμίσεις και σας παρουσιάζουμε τα αποτελέσματα. Έχετε υπόψη πως η δοκιμή εγγραφής μπορεί να πραγματοποιηθεί μόνο σε unpartitioned drives και συνεπώς δεν υπάρχουν αποτελέσματα στις καταστάσεις με τα drive γεμάτα στο 50 και 90 τοις εκατό της χωρητικότητάς τους αντίστοιχα.
Εδώ εκτός από το ότι βλέπουμε πως η ταχύτητα του RevoDrive είναι πιο χαμηλή σε μικρά αρχεία από τα single ssd, αξίζει να παρατηρήσουμε τη σταθερότητα που αυτή έχει όταν το drive γεμίζει.
AIDA 64
Με το AIDA64 και συγκεκριμένα τα Disk Benchmarks που διαθέτει θα καταγράψουμε τη χρονική καθυστέρηση από τη στιγμή που δώσουμε την εντολή για μια εργασία ανάγνωσης/εγγραφής μέχρι τη στιγμή που αυτή θα ξεκινήσει. Αυτό ονομάζεται Access time και είναι μια από τις μεγάλες διαφορές μεταξύ των SSD και των μηχανικών δίσκων, με τα SSD που δεν έχουν μηχανικά μέρη να διαπρέπουν στο συγκεκριμένο τομέα. Έχουν δηλαδή πιο γρήγορη απόκριση στις εντολές του λειτουργικού συστήματος. Σε αντιστοιχία με το HD Tune, θα μετρήσουμε το χρόνο που χρειάστηκαν τα drive τα ξεκινήσουν τις εργασίες ανάγνωσης/εγγραφής για δεδομένα που βρίσκονται σε τυχαία block των μνημών flash και θα σας δώσουμε μέση τιμή αυτού του χρόνου.
Σίγουρα παρατηρούνται μεγάλες διαφορές μεταξύ των SATA drive και του RevoDrive (RAID). Μην ξεχνάμε όμως ότι καθόλη την πορεία δεν παύουμε να μιλάμε για μεγέθη στο 1/5 του ms.
AS SSD Benchmark
Το AS SSD χαρακτηρίζεται ως ένα από τα πιο δύσκολα Benchmark για κάθε SSD. Διαβάζοντας και γράφοντας λοιπόν μη συμπιέσιμα δεδομένα το AS SSD μας δίνει πληροφορίες σχετικά με τις σειριακές ταχύτητες ανάγνωσης και εγγραφής των drive, τις αντίστοιχες ταχύτητες για ανάγνωση «τυχαίων» δεδομένων μεγέθους 4KiB σε QD=1 καθώς και QD=64. Εδώ φαίνονται και οι δύσκολες συνθήκες που δημιουργεί το AS SSD στο drive με τις μεγάλες μεταβολές στο QD. Αυτό λαμβάνεται υπόψη και στην τελική βαθμολογία που δίνει για κάθε σενάριο με έναν μεγαλύτερο συντελεστή βαρύτητας για τις δοκιμές ανάγνωσης και εγγραφής με QD=64.
Αξίζει να δείτε τη διαφορά που έχουν τα drive για μεγάλα QD και το πως αυτά αντικατοπτρίζονται και στην τελική βαθμολογία του drive. Είπαμε άλλωστε πως το τελικό σκορ προκύπτει δίνοντας μεγαλύτερη σημασία στα αποτελέσματα με μεγάλο QD παρά στα αποτελέσματα των σειριακών αναγνώσεων/εγγραφών των δεδομένων.
Ακόμη αξίζει να τονίσουμε την μεγάλη πτώση στις σειριακές ταχύτητες εγγραφής όλων των drive όταν αυτά γεμίζουν με δεδομένα και ο ελεγκτής αρχίζει να δυσκολεύεται να αποδώσει τα μέγιστα.
Crystal Disk Mark
Το Crystral Disk Mark είναι ένα πρόγραμμα αντίστοιχο με το AS SSD μόνο που διαφοροποιεί κάποιες δοκιμές, όπως για παράδειγμα προσθέτει ανάγνωση και εγγραφή ενός αρχείου 512KB και χρησιμοποιεί για τις εργασίες σε αρχεία μεγέθους 4KB QD=32. Ακόμη δίνει τη δυνατότητα να γεμίσουμε το drive με σειριακά δεδομένα μόνο με 0 και 1, εμείς όμως χρησιμοποιήσαμε τα προεπιλεγμένα Random δεδομένα που εμφανίζονται πιο συχνά σε περιβάλλοντα καθημερινής χρήσης ενός συστήματος.
Το Crystal Disk Mark μας δίνει παρόμοια αποτελέσματα με αυτά που μας έδωσε και το AS SSD. Φαίνεται μάλιστα πως στην ανάγνωση και εγγραφή σειριακών δεδομένων το RevoDrive παρουσιάζει κάτι παράδοξο, δηλαδή μεγαλύτερες ταχύτητες όταν αυτό γεμίζει με δεδομένα παρά όταν βρισκόταν άδειο.
Anvil's Storage Utilities
Τα Anvil's Storage Utilities δημιουργήθηκαν από τον χρήστη Anvil, του παγκοσμίως γνωστού φόρουμ xtremesystems.org. Η εφαρμογή έχει δημιουργηθεί για μέτρηση των IOPS (και ταυτόχρονα MB/s) που μπορεί να αποδώσει το αποθηκευτικό μέσο του υπολογιστή μας. Το πρόγραμμα αφού επιλέξουμε το test file εκτελεί 10 tests απόδοσης του drive (έξι τεστ για ανάγνωση και τέσσερα για εγγραφή) και μας δείχνει αναλυτικά τα IOPS αλλά και τα MB/s που επιτυγχάνει το drive στο κάθε τεστ, παρουσιάζοντας δίπλα από τα αποτελέσματα και ένα συνολικό score των επιδόσεων του drive. Τα τεστ αυτά καλύπτουν ένα εύρος μεγέθους αρχείων καθώς και QD, όντας έτσι ένα αντιπροσωπευτικό μέτρο σύγκρισης της συνολικής απόδοσης ενός drive.
Εμείς χρησιμοποιήσαμε τις default ρυθμίσεις του προγράμματος (1GB test file, incompressible data) και σας παρουσιάζουμε τα αποτελέσματα προβάλλοντας στα γραφήματα το τελικό σκορ καθώς και τα επιμέρους σκορ των αναγνώσεων και εγγραφών για κάθε drive.
Στο δεύτερο αυτό στάδιο των δοκιμών θα χρησιμοποιήσουμε τα ίδια benchmark που χρησιμοποιήθηκαν και για τις δοκιμές με τα drive ως δευτερεύοντα μέσα αποθήκευσης στο λειτουργικό σύστημα, με τη διαφοροποίηση ότι πλέον το λειτουργικό φιλοξενείται επάνω στα drive. Επιπλεόν, επειδή κανένας δεν έχει άδεια drive με OS, επιλέξαμε οι δοκιμές να γίνουν με το 50 και 90 τοις εκατό της χωρητικότητας των drive γεμάτη.
ATTO Disk Benchmark
Βλέπουμε πως τα sequential speeds δεν παρουσιάζουν κάποια μείωση παρά το γεγονός ότι το λειτουργικό σύστημα έχει εγκατασταθεί στα drive, όπως είναι και λογικό.
HD Tune Pro
AIDA 64
AS SSD Benchmark
Crystal Disk Mark
Anvil's Storage Utilities
Τα τελικά αποτελέσματα από τις δύο αυτές σελίδες δείχνουν πως η διαφοροποίηση των αποτελεσμάτων όταν τα drive έχουν εγκατεστημένα λειτουργικό σύστημα είναι μεν υπαρκτή, υφίσταται δε σε τέτοιο βαθμό ώστε να μπορούμε να πούμε πως σε γενικές γραμμές αυτός ο παράγοντας μειώνει κατά περίπου 10% τις επιδόσεις σε ορισμένα σενάρια.
Windows Installation Time
Μετρήσαμε το χρόνο που πήρε στα Windows 8.1 x64 να εγκατασταθούν σε κάθε drive αφαιρώντας το χρόνο μεταξύ των restart καθώς επίσης και τα στάδια όπου χρειαζόταν η παρέμβασή μας για να προχωρήσει η εγκατάσταση. Προσπαθήσαμε λοιπόν να δώσουμε μία εκτίμηση του «καθαρού» χρόνου εγκατάστασης του λειτουργικού.
Windows Boot Time
Αφού εγκαταστήσαμε το λειτουργικό, τους απαραίτητους drivers καθώς και τα βασικά προγράμματα που θα μας χρειαζόταν στη συνέχεια, μετρήσαμε το χρόνο που χρειάζονται τα Windows ώστε να πραγματοποιήσουν μία «καθαρή» εκκίνηση. Για το λόγο αυτό επιστρατεύσαμε ένα προγραμματάκι ονόματι BootRacer το οποίο μετράει τον καθαρό χρόνο που χρειάζονται τα Windows να φορτώσουν (χωρίς δηλαδή το POST, το BIOS κ.ο.κ.), αφαιρεί το χρόνο εισαγωγής του κωδικού, και προσθέτει και έναν πρόσθετο χρόνο που αντιστοιχεί στο φόρτωμα των διαφόρων υπηρεσιών μέχρι ο υπολογιστής να είναι έτοιμος για χρήση.
Operating System Backup
Με το Acronis True Image θελήσαμε να δείξουμε το χρόνο που χρειάζεται για να δημιουργηθεί ένα πλήρες image της εγκατάστασης των Windows που χρησιμοποιούμε. Ως κατάσταση αναφοράς χρησιμοποιήθηκε η κατάσταση που βρισκόταν το λειτουργικό σύστημα μετά και την εγκατάσταση των προγραμμάτων, και για να έχετε μία τάξη μεγέθους το συμπιεσμένο Backup είχε μέγεθος περίπου 27 GB.
File Copy Test
Για τη δοκιμή αντιγραφής συγκροτήσαμε έναν φάκελο μεγέθους 15 GB ο οποίος περιελάμβανε ένα φάκελο εγκατάστασης ενός μεγάλου προγράμματος, ένα αρχείο ISO, μία ταινία mkv, καθώς και αρκετές φωτογραφίες και αρχεία word αλλά και pdf. Καταγράψαμε λοιπόν το χρόνο που χρειάζεται ώστε αυτός ο φάκελος να αντιγραφεί από τη μία σε μια άλλη θέση του SSD.
Εδώ παρατηρούμε μία σημαντική διαφορά του RevoDrive σε σχέση με τα άλλα SSD, βλέποντας ακόμη πως όσο γεμίζει το drive τόσο ταχύτερο γίνεται.
Archive Creation
Ένας άλλος τρόπος να μετρήσουμε την ταχύτητα των drive είναι η δημιουργία ενός archive με το γνωστό σε όλους μας WinRar. Επειδή όμως στόχος μας είναι να καταγράψουμε την επίδραση περισσότερο του drive παρά του επεξεργαστή και των μνημών, επιλέξαμε τη μέθοδο "store". Μπορείτε να τη φανταστείτε ως η διαδικασία δημιουργίας ενός αρχείου .tar, δηλαδή ενός και μόνο αρχείου που περιέχει όλα τα αρχεία που επιλέξαμε να περιέχει το archive. Πρακτικά όμως η διαφορά είναι πως παράγεται το αρχείο χωρίς να χρησιμοποιείται κάποιος αλγόριθμος συμπίεσης.
Αξίζει να σημειώσουμε πως τα αρχεία που τοποθετήσαμε στο archive είναι αυτά που χρησιμοποιήσαμε παραπάνω για τη δοκιμή αντιγραφής, τα οποία περιέχουν πολλά μικρά αρχεία.
Antivirus Scan
Κλείνουμε το πρώτο μέρος των καθημερινών εργασίων με τη σάρωση για ιούς με μία πλήρως ενημερωμένη έκδοση του Kaspersky Internet Security 2015. Ως φάκελος επιλέχθηκε αυτός των Windows ώστε να έχουμε ένα σταθερό σημείο αναφοράς, ο οποίος περιείχε περίπου 150000 μικρά αρχεία.
Στο δεύτερο στάδιο των μετρήσεων σε καθημερινές εργασίες χρησιμοποιήσαμε το PC Mark 8 προκειμένου να λάβουμε μία πολύπλευρη εικόνα για το πως ανταποκρίνονται τα drive σε διάφορες καθημερινές εργασίες. Το PC Mark χρησιμοποιεί αποσπάσματα (traces) από διάφορα προγράμματα και παιχνίδια όπως το Photoshop, το Word, το Battlefield, και δίνει το χρόνο που χρειάστηκε να ολοκληρωθεί το καθένα. Ακόμη, μας προσφέρει ένα τελικό σκορ το οποίο αξιολογεί τις συνολικές επιδόσεις κάθε drive.
Οι διαφορές στα διάφορα αποσπάσματα εφαρμογών φαίνονται να είναι πολύ μικρές ώστε να δώσουν σημαντικό πλεονέκτημα σε κάποιο drive.
Αυτό επιβεβαιώνεται και εν τέλει από το τελικό σκορ που έδωσε το PC Mark 8 για κάθε drive. Ακόμη παρατηρούμε πως οι διαφορές μεταξύ της μισογεμάτης κατάστασης και αυτής της πλήρωσης είναι πρακτικά αμελητέες.
Σε αυτό το τμήμα της παρουσίασης θα δοκιμάσουμε τα δύο ταχύτερα SSD (RevoDrive 350 και Vector 150) με έναν λίγο διαφορετικό τρόπο, ο οποίος θα προσπαθήσει να μας δώσει τις επιδόσεις ενός drive μετά από κάποιο χρονικό διάστημα όπου οι επιδόσεις θα έχουν σταθεροποιηθεί σε ένα επίπεδο χαμηλότερο από αυτό που είχαν Fresh Out of the Box. Η κατάσταση αυτή ονομάζεται Steady State και επέρχεται όταν πραγματοποιηθούν κάποιες εγγραφές στο άδειο drive και ο controller δεν έχει πλέον όλα τα κενά κελιά στη διάθεσή του, οπότε οι επιδόσεις όπως είναι λογικό πέφτουν. Προκειμένου να μεταφέρουμε τα καινούργια drive μας στην κατάσταση Steady State ώστε να τα υποβάλουμε σε διάφορες καταστάσεις φόρτισης στη συνέχεια, θα χρησιμοποιήσουμε την προδιαγραφή του Storage Networking Industry Association (SNIA), σχετικά με τα Solid State Storage (SSS) χρησιμοποιώντας το Performance Test Specification (PTS) v1.1 για Enterprise drive, δεδομένου πως το RevoDrive εντάσσεται εν μέρει και σε αυτήν την κατηγορία.
Θα ξεκινήσουμε λοιπόν από μία γνωστή αφετηρία για όλα τα drive, με κάθε SSD να έχει γίνει Secure Erase, διασφαλίζοντας ακόμη τη διενέργεια των δοκιμών σε ένα λειτουργικό σύστημα που δεν έχει υποστεί μεταβολές ως προς την κατάστασή του. Ακόμη, θα αφήσουμε ενεργοποιημένο το write caching και των δύο drive, αφού το RevoDrive διαθέτει προστασία των δεδομένων που δεν έχουν γραφεί ακόμη σε περίπτωση διακοπής ρεύματος.
Έπειτα θα ξεκινήσουμε τη διαδικασία γνωστή ως Preconditioning κάθε drive με μία φόρτιση που δεν σχετίζεται με τις δοκιμές που θα τρέξουμε μετά και ονομάζεται Workload Independent Preconditioning. Αυτή προϋποθέτει τη σειριακή εγγραφή 128 KiB χωρίς περιορισμούς ως προς τον χώρο του drive που μπορεί να χρησιμοποιηθεί κατά τη δοκιμή και για 2 φορές το μέγεθος της χωρητικότητάς του. Με αυτόν τον τρόπο το drive θα μεταβεί σε Steady State και θα μπορέσουμε να τρέξουμε τις διάφορες φορτιστικές καταστάσεις που επιλέξαμε, προς προσομοίωση διαφόρων workstation/enterprise σεναρίων. Το Queue Depth σε όλες τις δοκιμές τοποθετήθηκε στα 32 ώστε να προσομοιωθούν καλύτερα οι απαιτητικές συνθήκες.
Ξεκινάμε λοιπόν με τη μετάβαση των drive σε Steady State διαμέσου του Preconditioning.
Αρχικά να σημειώσουμε ότι οι μετρήσεις καταγράφονταν στο τέλος κάθε πενταλέπτου, εξού και ο οριζόντιος άξονας ξεκινάει από τα 5 λέπτα και φτάνει έως τις 6 ώρες.
Από το γράφημα, και μόνο για τα drive της δοκιμής μπορούμε να γνωρίζουμε το χρόνο που χρειάστηκαν να γεμίσουν τη χωρητικότητά τους 2 φορές, και συνεπώς στο μέλλον σε περίπτωση που θελήσουμε να φέρουμε τα SSD σε Steady State να τρέξουμε το Preconditioning μόνο για τον απολύτως απαραίτητο χρόνο. Προκύπτει λοιπόν ότι το RevoDrive χρειάζεται περίπου 9 λεπτά, ενώ το Vector χρειάζεται περίπου 23 λεπτά.
Έχοντας πλέον τα drive σε Steady State θα εφαρμόσουμε τα ακόλουθα σενάρια φόρτισης ώστε να προσομοιώσουμε κάποιες διαφορετικές συνθήκες που μπορούν να εμφανιστούν σε server αλλά και workstation περιβάλλον.
Σε αυτό το γράφημα φαίνονται ουσιαστικά διάφορες συνθήκες στις οποίες το RevoDrive 350 δείχνει πραγματικά τις δυνατότητές του που το διαχωρίζουν από τα απλά mainstream SSD. Μάλιστα, όλα τα σενάρια έτρεξαν όταν τα drive βρισκόταν σε συνθήκες πλήρωσης και συνεπώς αντιπροσωπεύουν τη χειρότερη δυνατή κατάσταση που μπορεί να υπάρξει.
Φθάσαμε λοιπόν στο τέλος της σημερινής παρουσίασης, και μπορούμε να πούμε πως η εμπειρία που μας έδωσε το RevoDrive 350 ήταν σίγουρα μοναδική, αφού είδαμε ταχύτητες που σε ορισμένα σενάρια ακόμη και σε single drive RAID δεν θα μπορούσαμε να επιτύχουμε. Στο τέλος της ημέρας όμως θα πρέπει να δούμε τι είναι το RevoDrive και σε ποιους πραγματικά απευθύνεται. Απευθύνεται στους απλούς ή ακόμη και στους υψηλών απαιτήσεων χρήστες; Σίγουρα όχι! Τόσο η ενασχόλησή μας με τα διαφορετικά drive αλλά και τα αποτελέσματα των δοκιμών δείχνουν πως ένα single SSD είναι εξίσου γρήγορο και μπορεί να ικανοποιήσει τους περισσότερους. Υπάρχουν βέβαια διαφορές σε ορισμένα σενάρια, οι οποίες όμως απλά δεν αποτελούν λόγο που να δικαιολογεί την αγορά του.
Ερχόμαστε επομένως στο επόμενο ερώτημα. Σε ποιούς απευθύνεται η κορυφαία πρόταση της OCZ; Θα μπορούσαμε να πούμε πως όταν τα οι απαιτήσεις αυξάνονται, τότε αρχίζει το RevoDrive να δείχνει τη διαφορά του από τα υπόλοιπα drive. Ειδικότερα, αναφερόμαστε σε συνθήκες όπου έχει να ικανοποιήσει μία πληθώρα ταυτόχρονων εντολών, δηλαδή συνθήκες που εμφανίζονται σε workstation αλλά και home ή και business server περιβάλλον. Είδαμε ότι σε εκείνες τις συνθήκες τα operations που μπορεί να διαχειριστεί το RevoDrive ξεπερνάνε σημαντικά αυτά ενός συμβατικού SSD, ακόμη και όταν αυτό συγκαταλέγεται μεταξύ των κορυφαίων της αγοράς (βλ. Vector 150). Θα πρέπει επιπρόσθετα να σημειώσουμε πως το RevoDrive συμπεριφέρθηκε καλύτερα όταν είχε δεδομένα και όταν χρησιμοποιήθηκε ως δευτερεύον αποθηκευτικό μέσο, ενώ δεν έδειξε να πτοείται από το γεγονός ότι πολλές από τις εργασίες που του ζητήθηκαν να ανταποκριθεί πραγματοποιήθηκαν σε συνθήκες πλήρωσής του.
Στα θετικά συγκαταλέγεται και το γεγονός ότι η εγκατάσταση λειτουργικού ήταν απροβλημάτιστη και αρκετά εύκολη, ενώ για τη χρησιμοποίησή του ως secondary drive δεν χρειάστηκε κάποια διενέργεια από τον χρήστη, μιας και τα Windows βρήκαν τον απαραίτητο driver στο διαδίκτυο. Έχουμε επομένως μία υλοποίηση RAID 0 η οποία δεν χρειάζεται κάποια παραμετροποίηση, ενώ ταυτόχρονα μπορεί να μεταβιβάσει εντολές TRIM καθώς και να μεταφέρει S.M.A.R.T. data. Είναι μάλιστα ιδιαίτερα ελκυστική λύση και για παλαιότερα συστήματα ανάλογων απαιτήσεων, αφού το μοναδικό που χρειάζεται για να λειτουργήσει είναι μία θύρα PCIe Gen.2 x8! Από την άλλη η εγγύηση που δίνει η OCZ ανέρχεται για το παρόν drive στα 3 χρόνια με εγγραφές έως και 50 GB/ημέρα, αν και για να πούμε την αλήθεια θα προτιμούσαμε να ανήκει στην κατηγορία των ShieldPlus, όπως και στα περισσότερα από τα τελευταία SSD που έχει παρουσιάσει.
Αναφέραμε προηγουμένως πως η αγορά του για τους απλούς χρήστες δεν δικαιολογείται όταν οι επιδόσεις που προσφέρει σε αυτόν τον τομέα είναι παραπλήσιες με αυτές ενός μονού drive. Ο δεύτερος όμως και πιο ρεαλιστικός παράγοντας ακούει στο όνομα κόστος, αφού για να αποκτήσετε το RevoDrive 350 480GB θα χρειαστεί να δεσμεύσετε το ποσό των 850 Ευρώ! Τώρα για το εάν χρειάζεστε επιδόσεις αυτής της τάξης θέλουμε να πιστεύουμε πως τα διάφορα σενάρια που καλύψαμε στο παρόν άρθρο μπορούν να σας δώσουν την απάντηση.
Επειδή το RevoDrive 350 είναι το καλύτερο SSD που έχουμε δοκιμάσει μέχρι στιγμής, θα λάβει την ακόλουθη βαθμολογία καθώς επίσης και το Performance Award. Until next time!
Καλώς ορίσατε σε ένα ακόμη review εδώ στο HwBox! Σήμερα την τιμητική του έχει ο τομέας του storage, όπου η αλήθεια είναι πως τα πράγματα έχουν παραμείνει κάπως στάσιμα τον τελευταίο καιρό. Μπορεί κοιτώντας τα benchmarks να προκύπτουν διαφορές της τάξης του 50% μεταξύ των επιδόσεων των Solid State Drive, όμως η καθημερινότητα φαίνεται να διαφέρει σημαντικά. Το πόσο, υποδεικνύεται από το γεγονός πως τα «καθορισμένα» σενάρια των benchmark διαφέρουν από την καθημερινή χρήση τόσο, ώστε αυτό το περίπου 50% μεταξύ των επιδόσεων να μετατρέπεται κοντά στο ±20%! Μπορεί λοιπόν αυτό να μας συμφέρει ως αγοραστές μιας και το ενδιαφέρον έχει αρχίσει να στρέφεται στη χωρητικότητα και το κόστος, δεν παύουμε όμως να προβληματιζόμαστε για το μέλλον.
Κινούμενες λοιπόν σε αυτό το μήκος κύματος, κάποιες εταιρείες ήδη προσπαθούν να διαφοροποιηθούν από τον ανταγωνισμό και να προσφέρουν αυτό το κάτι παραπάνω, δημιουργώντας υλοποιήσεις drive οι οποίες ξεφεύγουν εν μέρει από τους περιορισμούς που εισάγει το πρωτόκολλο SATA τόσο ως προς το διαθέσιμο bandwidth, όσο και ως προς το πρότυπο επικοινωνίας μεταξύ μνήμης-αποθηκευτικού μέσου. Πιο συγκεκριμένα, αναφερόμαστε αφενός σε ένα θεωρητικό όριο του εύρους δια μεταγωγής της τάξης των 600 ΜΒ/s, και αφετέρου σε ένα Advanced Host Controller Interface (AHCI) το οποίο σχεδιάστηκε την εποχή όπου οι μηχανικοί δίσκοι βρίσκονταν στο απόγειό τους και όχι οι μνήμες flash.
Έχουμε συνεπώς νέα προϊόντα τα οποία στηρίζονται στο πρότυπο που φαινόταν από παλιά ως διάδοχος του SATA, ακούγοντας στο όνομα PCI Express. Για να σας δώσουμε μάλιστα μία τάξη μεγέθους, ανάλογα με τις υλοποιήσεις (SATA Express, M.2, PCI Express) και τα lanes που αξιοποιούν κάθε φορά, το εύρος δια μεταγωγής ξεκινάει από τα 1 GB/s και ανεβαίνει. Σήμερα, θα δοκιμάσουμε ένα τέτοιο προϊόν, το οποίο βασίζεται μεν ακόμη στο παλιό AHCI, κινείται δε σε λογική παρόμοια του RAID, με τη μεγάλη διαφορά πως δεν χρειάζεται κάποια ρύθμιση από τον χρήστη.
Το RevoDrive 350 λοιπόν, μας δείχνει το πώς έχει συλλάβει η OCZ ένα υψηλών επιδόσεων solid state drive για workstation υπολογιστές. Για αυτό και οι μέγιστες ταχύτητες σειριακών αναγνώσεων που υπόσχεται αγγίζουν τα 1800 MB/s, ενώ οι εγγραφής τα 1700 MB/s, τιμές πολύ μεγαλύτερες από αυτές που θα μπορούσε να προσφέρει ένα SATA SSD. Πως τα κατάφερε; Πήρε το γνωστό ελεγκτή SandForce 2282, έβαλε τέσσερις σε ένα PCB που επικοινωνεί με PCI Express και άφησε την ενορχήστρωσή τους στο Virtualized Controller Architecture 2.0 (VCA). Το αποτέλεσμα ήδη φαντάζει ενδιαφέρον για αυτό και σήμερα θα δοκιμάσουμε τη συγκεκριμένη υλοποίηση τόσο στα κλασσικά σενάρια, όσο και σε κάποια πιο απαιτητικά, συγκρίνοντάς την παράλληλα με δύο αντιπροσωπευτικά δείγματα των enthusiast και mainstream solid state drives.
Προτού όμως ξεκινήσουμε θα θέλαμε να σας προϊδεάσουμε για τις δύο επόμενες σελίδες του Review, οι οποίες έχουν ως στόχο να σας εξοικειώσουν με την τεχνολογία των μνημών flash καθώς και να επεξηγήσουν πολυχρησιμοποιούμενες στο χώρο ορολογίες. Φυσικά, θα μπορούσατε να τις προσπεράσετε και να πάτε απευθείας στην αξιολόγηση του drive, χάνοντας όμως έτσι μια ευκαιρία βαθύτερης κατανόησης του τρόπου λειτουργίας των μνημών NAND Flash καθώς και όρων όπως το Garbage Collection, το TRIM, το Over-Provisioning, Secure Erase κοκ, που μπορούμε να πούμε πως ακούγονται αρκετά συχνά.
Όπως όλα ξεκινούν σε επίπεδο ατόμου για τους έμβιους οργανισμούς, έτσι και στις πολυχρησιμοποιούμενες μνήμες flash το μικρότερο δυνατό δομικό τους στοιχείο είναι ένα κελί (cell). Τι είναι το κελί θα αναρωτιέστε όμως. Την απάντηση εδώ έρχεται να μας προσφέρει το MOSFET, στο οποίο μπορούμε πολύ εύκολα με την παρουσία ή μη ηλεκτρονίων να καθορίσουμε τις καταστάσεις 0 και 1 του δυαδικού συστήματος. Έχουμε λοιπόν τον μηχανισμό με τον οποίο θα παρασταθούν τα δεδομένα, μας λείπει όμως ο μηχανισμός που αυτά θα αποθηκευτούν. Αυτό συμβαίνει γιατί ένα απλό MOSFET είναι αδύνατο να «θυμάται» την κατάστασή του όταν σταματήσει να προσφέρεται ενέργεια από την πηγή. Η λύση έρχεται να δοθεί από την προσθήκη μιας επιπλέουσας πύλης (floating gate), η οποία παίρνει τη θέση της πύλης του MOSFET μετατρέποντας την ύστερη σε πύλη ελέγχου. Η επιπλέουσα αυτή πύλη (floating gate) είναι μονωμένη από ένα στρώμα διοξειδίου του πυριτίου που της δίνει τη δυνατότητα να διατηρεί τα ηλεκτρόνια (δεδομένα) για μεγάλο χρονικά διάστημα ελλείψει παροχής ενέργειας.
Είπαμε όμως πως αυτή είναι μονωμένη από την πηγή (source) και την υποδοχή (drain) οπότε προκύπτει το ερώτημα πώς θα μεταπηδήσουν τα ηλεκτρόνια μέσα σε αυτό για να δηλώσουν την κατάσταση 0. Σε αυτό μας βοηθάει μια διαδικασία που ονομάζεται Fowler-Nordheim tunneling σύμφωνα με την οποία η εφαρμογή μιας ικανής τάσης επιτρέπει την μεταπήδηση των ηλεκτρονίων, ακόμη και εάν υπάρχει μονωτικό υλικό.
Όταν λοιπόν υπάρχουν ηλεκτρόνια παγιδευμένα στην επιπλέουσα πύλη τότε το transistor αναπαριστά την τιμή 0 (Programmed State), ενώ όταν το floating gate είναι άδειο το transistor αναπαριστά την τιμή 1 (Erased State). Στα καινούργια Solid State Drives ή αλλιώς αυτά που βρίσκονται σε κατάσταση Fresh Out of the Box (FOB) όλα τα κελιά έχουν την τιμή 1, εξού και η μόνη τιμή που προγραμματίζεται είναι η τιμή 0.
Πώς όμως γίνεται ο προγραμματισμός (εγγραφή) ενός κελιού; Εφαρμόζοντας μία υψηλή τάση στην πύλη ελέγχου και διατηρώντας το υπόστρωμα πυριτίου (substrate) με μηδενική (grounded) τα ηλεκτρόνια που βρίσκονται σε αυτό περνάνε από το διηλεκτρικό στην επιπλέουσα πύλη.
Για να εκτελέσουμε μια διαγραφή από την άλλη, η πύλη ελέγχου γειώνεται με την υψηλή τάση να εφαρμόζεται στο υπόστρωμα πυριτίου, οπότε και τα ηλεκτρόνια μεταπηδούν σε αυτό.
Στα κελιά λοιπόν μπορεί να αποθηκευτεί 1 bit που μπορεί να έχει είτε την τιμή 0 (program) είτε την τιμή 1 (erased). Από το 1 bit όμως μέχρι να φτάσουμε στα μεγέθη των gigabit υπάρχει ακόμη πολύς δρόμος.
Στην επίτευξη των επιθυμητών χωρητικοτήτων συνδράμει το γεγονός πως τα κελιά μπορούν να συνδεθούν μεταξύ τους είτε σε σειρά (NAND Flash) είτε παράλληλα (NOR Flash) προς ένα bit line (I/O line). Eν τέλει και για λόγους οικονομίας χώρου (και συνεπώς κόστους), μιας και το μέγεθος που καταλαμβάνει ένα δίκτυο από κελιά NAND είναι κατά 40% περίπου μικρότερο από αυτό των NOR, καθώς και των χαμηλών ταχυτήτων εγγραφής των NOR, οι σχεδιαστές μνημών επέλεξαν να χρησιμοποιήσουν την σε σειρά σύνδεση, εξού και τα πασίγνωστα πλέον στα SSD NAND Flash memory.
Εκτός όμως από την σε σειρά σύνδεση των κελιών NAND και το γεγονός ότι αυτά δημιουργούν ένα string, και οι πύλες ελέγχου των transistor συνδέονται μεταξύ τους με ένα word line. Με βάση αυτό, ορίζουμε ως Page των αριθμό των string των οποίων τα επιμέρους κελιά μοιράζονται ένα word line. Για να οπτικοποιήσουμε όμως τα παραπάνω ας δούμε ένα παράδειγμα όπου συνδέουμε 2048 κελιά σε word line, με το κάθε string να περιέχει 16 κελιά και συνεπώς 16 Pages.
Ένα Page αποτελεί τη βασική μονάδα που ένα SSD Drive μπορεί να γράψει και να διαβάσει. Στο παράδειγμά μας το μέγεθος αυτής της σελίδας είναι 2048 bits δηλαδή 256 bytes.
Το δεύτερο βασικό μέγεθος είναι τα Blocks, τα οποία ορίζονται ως ο αριθμός των σελίδων που μοιράζονται ένα κοινό υπόστρωμα πυριτίου. Εδώ εμφανίζεται και ο περιορισμός που δημιουργεί προβλήματα στη διάρκεια ζωής των SSD, το γεγονός ότι η διαγραφή μπορεί να πραγματοποιηθεί μόνο σε επίπεδο Block, όπως θα κατανοήσουμε καλύτερα και παρακάτω. Στο παράδειγμά μας έχουμε λοιπόν 16 Pages και συνεπώς ένα Block μεγέθους 16*256=4096 bytes. Με παρόμοιο τρόπο χτίζουμε σιγά σιγά την πλήρη χωρητικότητα των SSD.
Βέβαια στην πραγματικότητα τα τυπικά μεγέθη των Pages και των Blocks είναι διαφορετικά, με μια σελίδα να έχει μέγεθος 4 KB ενώ κάθε Block περιλαμβάνει 128 Pages δίνοντάς μας τη χωρητικότητα των 512 KB/Block.
Αυτά που είπαμε μέχρι στιγμής αντικατοπτρίζουν τη λειτουργία των SLC drive τα οποία αποθηκεύουν 1 bit σε κάθε κελί. Στην αγορά όμως σήμερα υπάρχουν και άλλοι δύο κύριοι τύποι NAND Flash οι οποίοι ακούνε στο όνομα MLC και TLC. Προτού λοιπόν ανοίξουμε αυτό το κεφάλαιο και εξερευνήσουμε τις μεταξύ τους διαφορές, θα πρέπει να αναφερθούμε στους κύκλους προγραμματισμού/διαγραφής των μνημών flash και κατʼ επέκταση των SSD.
Program/Erase Cycles
Αναφέραμε παραπάνω πως όταν ένας δίσκος έρχεται κενός από την κατασκευάστρια εταιρεία όλα τα transistor του έχουν την τιμή 1. Ένας κύκλος προγραμματισμού και διαγραφής αποτελεί μία αλληλουχία των εξής γεγονότων: Εγγραφή ενός κελιού μνήμης, διαγραφή αυτού και επανεγγραφή του. Ο αριθμός όμως που ένα κελί μνήμης, και συνεπώς ένα SSD, μπορεί να πραγματοποιήσει την παραπάνω αλληλουχία γεγονότων είναι περιορισμένος. Εξαρτάται μάλιστα από τον τύπο των μνημών NAND Flash (SLC/MLC/TCL) καθώς επίσης και από το κλίμακα ολοκλήρωσης που χρησιμοποιούν οι κατασκευαστές (manufacturing process), δηλαδή 50nm, 34nm κ.ο.κ. Ας ξεκινήσουμε λοιπόν από την πρώτη διακριτοποίηση των μνημών flash, ως προς την ποσότητα των δεδομένων που μπορούν να φιλοξενήσουν σε ένα κελί.
SLC vs MLC vs TLC
Θεωρώντας δεδομένη και σταθερή την κλίμακα ολοκλήρωσης που χρησιμοποιεί η εταιρεία κατασκευής, μπορούμε να κάνουμε τις εξής σκέψεις:
SLC (Single-Level Cell): Στις SLC μνήμες ένα κελί μπορεί να αποθηκεύσει ένα bit δεδομένων και συνεπώς δύο καταστάσεις, την 0 (program) και την 1 (erase). Τα SLC Drives απευθύνονται κυρίως στην Enterprise αγορά όπου οι απαιτήσεις αντοχής σε πολλαπλούς κύκλους προγραμματισμού/διαγραφής είναι αυξημένες. Για να κατανοήσουμε όμως πραγματικά την «αυξημένη» αντοχή στους κύκλους προγραμματισμού/διαγραφής θα πρέπει να μεταφερθούμε ξανά σε επίπεδο MOSFET και στις τάσεις που χρησιμοποιούνται για τον προγραμματισμό και τη διαγραφή του κελιού. Θα θεωρήσουμε ακόμη και πως τα οι οριακές τάσεις (threshold voltages) για να επιτύχουμε τις παραπάνω καταστάσεις είναι 3V και 1V αντίστοιχα, με τα 2V να εφαρμόζονται ως τάση αναφοράς (reference voltage) στην πύλη ελέγχου. Εάν το κελί βρίσκεται στην διαγραμμένη (erased) κατάσταση (μη ύπαρξη ηλεκτρονίων στο floating gate) τότε θα υπάρχει κίνηση των ηλεκτρονίων μιας και τα 2V είναι μεγαλύτερα από την οριακή τάση αυτής της κατάστασης. Αυτό αναγνωρίζεται ως το bit 1. Όταν από την άλλη το κελί βρίσκεται στην προγραμματισμένη κατάσταση (bit 0), υπάρχουν ηλεκτρόνια παγιδευμένα στην επιπλέουσα πύλη και συνεπώς η τάση των 2V δεν είναι ικανή να προκαλέσει ροή ρεύματος καθώς είναι κάτω από το όριο. Για τις μνήμες των SLC Drive ισχύει επομένως το εξής:
MLC (Multi-Level Cell): Τα κελιά στα MLC NAND Flash διαχωρίζονται από τα SLC από το ότι μπορούν να αποθηκεύσουν δύο bit δεδομένων. Έχουμε δηλαδή τους εξής συνδυασμούς που μπορούν να υπάρξουν στις δύο αυτές θέσεις από τις τιμές 0 και 1: 00, 01, 10, 11. Από αυτές τις καταστάσεις η κατάσταση 11 υποδηλώνει διαγραμμένη ενός κελιού μνήμης, ενώ όλες οι άλλες καταστάσεις υποδηλώνουν ένα προγραμματισμένο κελί. Πλέον όμως έχουμε και 4 όρια τάσεων (11) -> 0.50V, (10) -> 1.50V, (01) -> 2.50V και (00) -> 3.50V καθώς και τρεις τάσεις αναφοράς 1.00V, 2.00V και 3.00V. Στα MLC λοιπόν η προαναφερθείσα απεικόνιση μετατρέπεται στην ακόλουθη:
Συγκρίνοντας τα παραπάνω μπορούμε να παρατηρήσουμε μερικά ενδιαφέροντα πράγματα. Αφενός, η διαφορά τάσης μεταξύ των οριακών των MLC είναι η μισή, αφήνοντας μικρότερο «διάστημα διαχωρισμού». Αφετέρου, βλέπουμε πως η παραβολική καμπάνα που σχηματίζεται έχει πιο μαζεμένα κοίλα, πράγμα που σημαίνει πως για επιτύχουμε την εκάστοτε κατάσταση θα πρέπει να αποδώσουμε με μεγαλύτερη ακρίβεια την τάση. Η παρουσία αυτής της καμπάνας εξʼ αρχής έγκειται στο γεγονός ότι το threshold voltage δεν μπορεί να έχει ακριβώς την τιμή που φαίνεται, αλλά θα έχει διακυμάνσεις.
Με το πέρας όμως του χρόνου και την επαναλαμβανόμενη εφαρμογή τάσεων το οξείδιο του πυριτίου φθείρεται και συνεπώς η ικανότητα της επιπλέουσας πύλης να διατηρεί τα ηλεκτρόνια μειώνεται. Επομένως, χρειάζεται λίγο μεγαλύτερη τάση μέχρι να επιτύχουμε τις οριακές τάσεις κάθε κατάστασης, πράγμα που φθείρει με ακόμη μεγαλύτερο ρυθμό το μονωτικό υλικό. Καταλαβαίνουμε συνεπώς πως όσο μικρότερη είναι αυτή η επιφάνεια της καμπάνας τόσο μικρότερη διάρκεια ζωής έχει ένα κελί.
Εκτός όμως από τη διάρκεια ζωής υπάρχουν επιπτώσεις οι οποίες εμφανίζονται στην ταχύτητα. Τα MLC χρειάζονται μεγαλύτερα επίπεδα διόρθωσης λαθών (error correction) μαζί με ένα πιο ακριβές κύκλωμα ανάγνωσης και εγγραφής για να επιτευχθούν οι τάσεις με μικρότερη διακύμανση. Αυτό έχει ως αποτέλεσμα ο χρόνος που χρειάζεται για εκτελεστεί μία εντολή να αυξάνεται.
TLC (Triple-Level Cell): Όμοια είναι τα πράγματα και στους πιο πρόσφατους τύπους μνήμης, τους λεγόμενους TLC, που απασχόλησαν τους περισσότερους από εμάς το 2012 με την έλευση του Samsung 840 στην αγορά των SSD. Τα TLC flash memory λοιπόν, όπως μας προϊδεάζει και η ονομασία τους, μπορούν να αποθηκεύσουν τρία bit σε κάθε κελί και επομένως οι δυνατοί συνδυασμοί είναι οχτώ (000, 001, 010, 011, 100, 101, 110, 111) με την διαγραμμένη κατάσταση να αντιπροσωπεύεται από το 111 και τις υπόλοιπες να είναι προγραμματισμένες καταστάσεις. Όμοια λοιπόν έχουμε και 8 οριακές τάσεις με 7 τάσεις αναφοράς. Έτσι, όλα τα προβλήματα που αναφέρθηκαν για τα MLC, δηλαδή μικρότερη περιοχή διακύμανσης τάσεων, μικρότερο εύρος ανάμεσα στις οριακές τάσεις καθώς και μεγαλύτερες γενικά τάσεις, αμβλύνονται ακόμη περισσότερο και συνεπώς η διάρκεια ζωής του κελιού, και κατʼ επέκταση του drive, μειώνεται σημαντικά.
Έχοντας πλέον κατά νου το μηχανισμό που πραγματοποιείται η όλη διαδικασία μπορούμε να δούμε συγκεντρωτικά τις διαφορές στη διάρκεια ζωής (P/E Cycles) μεταξύ των τριών τύπων μνημών NAND καθώς και την επίδραση της κλίμακας ολοκλήρωσης σε αυτήν.
SLC | 100000 | 100000 | N/A |
Παρατηρούμε λοιπόν πως η διαφορά των P/E Cycles στους διάφορους τύπους μνήμες βρίσκεται κοντά σε μία τάξη μεγέθους. Βέβαια, υπάρχει ένα σημαντικός παράγοντας που οδηγεί τις εταιρείες στο να θέλουν να μειώσουν τη λιθογραφία αλλά και να αυξήσουν το πόσα bit μπορούν να αποθηκευτούν σε ένα κελί.
Το κλειδί λοιπόν είναι η πυκνότητα των GB σε σχέση με το διαθέσιμο χώρο. Με την έλευση των MLC για παράδειγμα ένα drive μπορούσε να αποθηκεύσει δύο φορές τα δεδομένα ενός SLC. Υπάρχουν λοιπόν δύο επιλογές. Είτε στο ίδιο φυσικό μέγεθος να προσφερθεί διπλάσια χωρητικότητα. Είτε διατηρώντας ίδια την προσφερόμενη χωρητικότητα και αυξανομένης πλέον της πυκνότητας των GB/φυσικό μέγεθος να μπορούν να παραχθούν περισσότερα (διπλάσια στο παράδειγμά μας) GB μνημών στο ίδιο wafer. Επομένως, η εταιρεία καταφέρνει να κατασκευάσει τις μνήμες για δύο φορές περισσότερα drive.
Παρεμφερής είναι και η κατάσταση για τις TLC μνήμες, μόνο που πλέον η αύξηση δεν είναι της τάξης του 100% από την προηγούμενη τεχνολογία, αλλά του 50%, με την λογική πάντως να παραμένει ίδια.
Ας περάσουμε όμως στο δεύτερο μέρος αυτής της σύντομης εισαγωγής στην τεχνολογία των SSD, όπου θα δούμε και θα εξηγήσουμε συχνά χρησιμοποιούμενες ορολογίες αλλά και το μηχανισμό στον οποίο οφείλεται η πτώση της ταχύτητας των drive όταν αυτά γεμίζουν με δεδομένα, καθώς και τα συστήματα που εφαρμόζονται προκειμένου αυτό να αποτραπεί.
Προτού ξεκινήσουμε να εξηγούμε τη διαδικασία με την οποία τα SSD επαναχρησιμοποιούν τα κελιά μνήμης τους, θα ήταν σκόπιμο να αναφέρουμε πως όταν τα SSD διαβάζουν και γράφουν δεδομένα, μπορούν να το πραγματοποιήσουν σε επίπεδο σελίδας. Όταν όμως έρθει η στιγμή να διαγράψουν δεδομένα τότε αυτή η ενέργεια μπορεί να γίνει μόνο διαγράφοντας ένα Block. Απλά ως σημείο αναφοράς, ένα τυπικό Block αποτελείται από περίπου 128 Pages. Σε αντίθεση μάλιστα με τους μηχανικού δίσκους, οι οποίοι μπορούν απλά να αντικαταστήσουν ένα αρχείο στην ίδια φυσική θέση του δίσκου, στα SSD για να μπορέσει ένα κελί να εγγραφεί, θα πρέπει πρώτα να έχει διαγραφεί.
Ας θεωρήσουμε λοιπόν πως ένα Page είναι σε προγραμματισμένη κατάσταση και πως περιέχει δεδομένα τα οποία πλέον είναι invalid. Για να μπορέσει να διαγραφεί λοιπόν αυτό το αρχείο θα έπρεπε ο ελεγκτής (controller) του drive αρχικά να διαβάσει τα έγκυρα (valid) δεδομένα που υπάρχουν στο Block και να τα γράψει σε ένα νέο άδειο Block. Έπειτα θα έπρεπε να διαγράψει το παλιό block που περιείχε τα invalid data μαζί με τα valid data και τέλος να ξαναγράψει τα valid αρχεία πίσω στην αρχικό Block. Η παραπάνω διαδικασία εισάγει το λεγόμενο Write Amplification!
Write Amplification: Είναι ένας λόγος που στον αριθμητή του έχει το μέγεθος των δεδομένων που το drive γράφει στα φυσικά του κελιά και στον παρονομαστή το μέγεθος των δεδομένων που το λειτουργικό σύστημα δίνει εντολή να γραφούν. Ο συντελεστής αυτός παίρνει τιμές μεγαλύτερες από τη μονάδα, και όσο πιο κοντά είναι στη μονάδα τόσο περισσότερο αντιστοιχούν οι εγγραφές του λειτουργικού και του drive και τόσο λιγότερο μειώνεται η διάρκεια ζωής του.
Βέβαια, όλη αυτή η διαδικασία που αναφέραμε στο παραπάνω παράδειγμα μειώνει την ταχύτητα που θα γινόταν η συγκεκριμένη ενέργεια. Για αυτό το λόγο και ο ελεγκτής (contoller) προτιμά να γράψει τα δεδομένα σε ένα καινούργιο Block και να τα αφήσει εκεί, μαρκάροντας τα δεδομένα του παλιού ως μη έγκυρα (invalid).
Πλέον όμως ο χώρος που το λειτουργικό καταλαβαίνει πως είναι διαθέσιμος είναι μεγαλύτερος από αυτόν που πραγματικά είναι, μιας στην πραγματικότητα περίπου 2 Block είναι δεσμευμένα σε σχέση με το 1 block (παρά ένα Page) που βλέπει το λειτουργικό.
Το παραπάνω όμως είναι εφικτό και στηρίζεται σε μία διαδικασία που λαμβάνει χώρα στο Flash Translation Layer. Με βάση αυτήν, ο κενός χώρος σε «λογικό επίπεδο» που βλέπει το λειτουργικό σύστημα, μπορεί να διαφέρει από αυτόν που έχουν σε φυσικό επίπεδο οι μνήμες NAND. Το παραπάνω λογικό σε φυσικό σύστημα αντιστοίχισης ονομάζεται Logical Block Addressing (LBA) και είναι αρμοδιότητα του ελεγκτή να το εφαρμόσει προς αύξηση των επιδόσεων.
Καταλαβαίνετε όμως, πως το παραπάνω απλά δίνει παράταση όσο υπάρχει διαθέσιμος χώρος, στην αναπόφευκτη και σχεδόν δύο φορές πιο χρονοβόρα διαδικασία που αναφέραμε προηγουμένως. Για αυτό το λόγο υπάρχει ένας μηχανισμός που ονομάζεται Garbage Collection, ευθύνη του οποίου είναι να ετοιμάσει άδεια Block προς εγγραφή, ώστε ο ελεγκτής να μπορεί να γράφει πάντα σε Pages που είναι σε διαγραμμένη κατάσταση, δηλαδή να γράφει ταχύτερα.
Garbage Collection: Η αλήθεια είναι πως το όνομα του είναι κάπως παραπλανητικό διότι στην πραγματικότητα δεν μεταφέρει μη έγκυρες σελίδες αλλά πραγματικά έγκυρα δεδομένα, με στόχο να αποδεσμεύσει χώρο ώστε να μπορέσει ο controller να γράψει σε αυτόν. Προκειμένου να κατανοήσουμε όμως πιο εύκολα τη λειτουργία του ας δούμε ένα παράδειγμα.
Ας θεωρήσουμε ένα Block που έχει γραμμένες 4 σελίδες του, την A - D. Σε αυτό το Block το λειτουργικό κάνει τα εξής: Τροποποιεί τα δεδομένα των σελίδων A – D, ενώ ταυτόχρονα γράφει και τις νέες σελίδες E – H. Αυτό φαίνεται με τη σειρά στο παρακάτω σχήμα:
Στο πρώτο στάδιο έχουμε δύο block, ένα κενό και ένα με 4 σελίδες γραμμένες. Στο δεύτερο στάδιο το λειτουργικό τροποποιεί τα δεδομένα των τεσσάρων πρώτων σελίδων, οπότε και ο controller γράφει τα νέα δεδομένα (Aʼ - Dʼ) στις επόμενες διαθέσιμες σελίδες, μαρκάροντας τις σελίδες που περιέχουν τα παλιά δεδομένα ως μη έγκυρες. Ακόμη, γράφει και τα καινούργια δεδομένα E - H. Όσον αφορά το λειτουργικό σύστημα η διαδικασία που ανέθεσε έχει ολοκληρωθεί.
Στην πραγματικότητα, όμως για μπορέσει το drive να γράψει τις invalid σελίδες ξανά όταν του ζητηθεί (διότι αυτές οι σελίδες είναι ελεύθερος χώρος για το λειτουργικό) θα πρέπει να μεταφέρει τα έγκυρα δεδομένα σε ένα καινούργιο Block και να διαγράψει το παλιό, με την διαδικασία αυτή να φαίνεται στο τρίτο και τελικό στάδιο, το οποίο είναι το Garbage Collection.
Θα πρέπει να τονιστεί ακόμη η τεράστια σημασία του ελεύθερου χώρου στην απρόσκοπτη λειτουργία του drive με τις μεγαλύτερες δυνατές ταχύτητες εγγραφής. Όταν λοιπόν υπάρχει διαθέσιμος χώρος, το drive μπορεί να γράφει απευθείας σε νέα Pages και να μαρκάρει τα παλιά ως μη έγκυρα, δίνοντάς στα στο Garbage Collection το οποίο μπορεί να εκτελεστεί σε ύστερο χρόνο. Αυτός ο ύστερος χρόνος μπορεί να είναι είτε όταν το σύστημα εκτελεί εργασίες, είτε όταν το σύστημα βρίσκεται σε idle. Βέβαια, εάν είναι εφικτό, ο ελεγκτής θα επιλέξει να το εκτελέσει σε χρόνο που το σύστημα βρίσκεται σε αδρανή κατάσταση.
TRIM: Στην πραγματικότητα, όταν εμείς διαγράψουμε ένα αρχείο από τον υπολογιστή, το λειτουργικό δεν ενημερώνει τον controller του drive ώστε να μαρκάρει τις σελίδες που έχουν διαγραφεί ως μη έγκυρες. Μάλιστα, ο μόνος τρόπος που θα μάθαινε ο ελεγκτής σε άλλη περίπτωση ότι οι σελίδες αυτές δεν χρειάζονται πλέον είναι όταν το λειτουργικό ζητούσε να γράψει σε αυτές τις σελίδες και έβλεπε πως περιέχουν δεδομένα. Αυτό λοιπόν έχει ως συνέπεια το Garbage Collection να μεταφέρει μαζί με τα έγκυρα δεδομένα και δεδομένα τα οποία δεν είναι πλέον, διότι απλά δεν γνωρίζει αυτήν την πληροφορία. Πραγματοποιούνται λοιπόν περιττές εγγραφές, μειώνοντας έτσι τη διάρκεια ζωής του drive. Το TRIM λοιπόν δίνει αυτήν την πολύτιμη πληροφορία στο ελεγκτή του drive, ο οποίος μαρκάρει τις μη έγκυρες σελίδες για τις διαγράψει σε ύστερο χρόνο με το Garbage Collection.
Η λειτουργία του TRIM προϋποθέτει την αρμονική συνεργασία δύο πλευρών. Από τη μία του λειτουργικού συστήματος, μαζί με τους οδηγούς αποθήκευσης, και από την άλλη του ελεγκτή (controller) του SSD. Από πλευράς λειτουργικού συστήματος η υποστήριξη ξεκινά από τα Windows 7 και ύστερα. Από πλευράς Solid State Drive η υποστήριξη έγκειται στην έκδοση του firmware του και επαφίεται στους κατασκευαστές των drive, με τους περισσότερους σήμερα να έχουν προσφέρει την υποστήριξη. Μεταξύ όμως των δύο βρίσκονται οι οδηγοί του chipset (Intel, Amd), η υποστήριξη των οποίων ποικίλει. Σε γενικές γραμμές πάντως και για χρήστες που δεν έχουν συνδέσει τα drives τους σε RAID, φαίνεται πως από το Intel 7-Series chipset και πάνω υπάρχει κανονική υποστήριξη από τους νέους RST Drivers, ενώ από πλευράς AMD από το SB850 και πάνω. Όσον αφορά την ειδική περίπτωση του RAID, από πλευράς Intel υπάρχει υποστήριξη, ενώ από πλευράς AMD υπάρχει υποστήριξη από το SB850 και πάνω. Αξίζει ακόμη να αναφέρουμε πως για τα παλαιότερα chipset της Intel υπάρχουν μη υποστηριζόμενα custom BIOS διαθέσιμα στο διαδίκτυο για όποιον ενδιαφέρεται.
Πάμε τώρα όμως τώρα να δούμε δύο πολυχρησιμοποιούμενες ορολογίες.
Wear-Leveling: Πρόκειται για αλγόριθμους που στόχο έχουν να κατανείμουν τις εγγραφές στα διάφορα blocks που είναι διαθέσιμα στον ελεγκτή του drive, ώστε εν τέλει όλα τα blocks να έχουν την ίδια φθορά ως προς τους κύκλους εγγραφής που έχουν δεχθεί. Έτσι, εξασφαλίζεται πως δεν θα υπάρχουν block των οποίων το τέλος της διάρκειας ζωής θα έρθει νωρίτερα από των υπολοίπων.
Over-Provisioning: Αποτελεί έναν πρόσθετο χώρο στον οποίο ο χρήστης δεν έχει πρόσβαση μέσου του λειτουργικού, έχει όμως ο ελεγκτής του drive αξιοποιώντας τον προς διατήρηση των επιδόσεων. Είδαμε και προηγουμένως πως όσο υπάρχουν διαγραμμένα Pages οι ταχύτητες εγγραφής είναι μεγαλύτερες και το drive εκτελεί την ανατεθείσα ενέργεια με υψηλότερη ταχύτητα και μικρότερο χρόνο απόκρισης. Τι γίνεται όμως όταν το drive αρχίσει και γεμίζει και όλο και λιγότερα κενά Blocks υπάρχουν διαθέσιμα; Θεωρητικά, εάν δεν υπήρχε άλλος χώρος τότε το drive θα έπρεπε να διαβάζει τα δεδομένα όλου του block, να κάνει τις τροποποιήσεις, να διαγράφει όλο το block και έπειτα να το ξαναγράφει. Όπως καταλαβαίνουμε όμως αυτό ρίχνει σημαντικά τις επιδόσεις του drive, για αυτό και υπάρχει αυτός ο «κρυφός» προς το χρήστη χώρος τον οποίο το drive μπορεί να αξιοποιήσει για να συνεχίζει να γράφει σε κενά blocks. Μπορείτε να φανταστείτε αυτόν τον ελεύθερο χώρο ως το work bench του ελεγκτή. Βέβαια, χώρος χρειάζεται όχι μόνο για το παραπάνω, αλλά και ώστε να κατανέμεται η φθορά των blocks με τον ίδιο ρυθμό καθώς και για να αντικαθίστανται πρόωρα μη λειτουργικά blocks σε περίπτωση που αυτά προκύψουν. Προκύπτει λοιπόν εύλογα το ερώτημα από πού προκύπτει αυτός ο πρόσθετος χώρος.
Υπάρχουν σε γενικές γραμμές τρεις κύριες πηγές αυτού του χώρου.
- Πρώτα λοιπόν, υπάρχει η διαφορά που προκύπτει από το φυσικό μέγεθος των NAND Flash των SSD και από αυτό που κάνουν διαθέσιμο οι κατασκευαστές των drive. Οι κατασκευαστές λοιπόν χρησιμοποιούν τον όρο Gigabyte για να παραστήσουν 1 GB δεδομένων, δηλαδή 10^9 bytes. Στην πραγματικότητα όμως τα μέσα αποθήκευσης κατασκευάζονται σε δυνάμεις με βάση το 2 και συνεπώς 1 GB = 1024 MB = 1,073,741,824 bytes. Αυτή η διαφορά λοιπόν της τάξης του: (1,073,741,824 - 1,000,000,000)/1,000,000,000 = 7,37 % του διαθέσιμου προς το χρήστη χώρο υπάρχει πάντα ως OP και συνήθως δεν περιλαμβάνεται στο ποσοστό του over provisioning.
- Σε δεύτερο επίπεδο έρχονται οι κατασκευαστές να δώσουν ένα πρόσθετο επίπεδο ελεύθερου χώρου. Αυτός είναι και ο λόγος για τον οποίο ορισμένα SSD διαφημίζονται για χωρητικότητες 128 GB, 120 GB και 100 GB. Αυτά έχουν αντίστοιχα 0%, 7% και 28% over-provisioning από τους κατασκευαστές, μη λαμβάνοντας υπʼ όψη το 7,37 % του χώρου που προκύπτει από τη διαφορά μεταξύ gigabyte και gibibyte.
- Το τρίτο και τελευταίο επίπεδο είναι ο ελεύθερος χώρος που διαθέτει το drive, και γνωρίζει με τη χρήση της εντολής TRIM, κάθε στιγμή. Αυτός ο χώρος μάλιστα μπορεί να οριστεί και από τη χρήστη σε περίπτωση που το μέγεθος που χρησιμοποιήσει το λειτουργικό είναι μικρότερο από το πλήρες μέγεθος του drive. Ο unpartitioned αυτός χώρος μπορεί να χρησιμοποιηθεί αυτόματα από το drive ως πρόσθετος χώρος για over-provisioning.
Κλείνοντας θα θέλαμε να κάνουμε και μία μικρή αναφορά σε αυτό που είναι πολύ πιθανό οι χρήστες SSD να έχουν ακούσει ως Secure Erase. Ειδικότερα, πρόκειται για μία εντολή ATA η οποία συνήθως προσφέρεται από την εργαλειοθήκη που προσφέρει κάθε εταιρεία με το drive της και έχει ως στόχο την πλήρη διαγραφή του drive. Η διαφορά όμως αυτής της εντολής από την γρήγορη διαμόρφωση (quick format) ενός drive είναι πως στην πραγματικότητα διαγράφει και τις περιοχές δεδομένων που δεν είναι διαθέσιμες στο λειτουργικό σύστημα. Αυτές χρησιμοποιούνται για Over-Provisioning καθώς και ομοιόμορφη κατανομή της φθοράς των κελιών, που σε οποιαδήποτε άλλη εντολή «διαγραφής» δεν θα ήταν διαθέσιμες. Το drive επιστρέφει λοιπόν στην εργοστασιακή του κατάσταση και οι ταχύτητες επαναφέρονται στις μέγιστες δυνατές τιμές τους. Μάλιστα, το Secure Erase ενός drive θα ήταν καλό να εφαρμόζεται πριν από μία νέα εγκατάσταση λειτουργικού σε ένα ήδη χρησιμοποιημένο drive.
Βγάζοντας το RevoDrive από το κουτί του άμεσα η προσοχή μας μεταφέρεται στην ψύξη που χρησιμοποιείται. Η αλουμινένια ψύκτρα είναι σίγουρα εντυπωσιακή έχοντας έναν και μόνο στόχο, να κρατήσει χαμηλές τις θερμοκρασίες στην καρδία του drive, δηλαδή του RAID controller, ο οποίος είναι ιδιόκτητος της OCZ και για τον οποίο λίγα είναι γνωστά.
Η επικοινωνία του drive με το υπόλοιπο σύστημα γίνεται με τη χρήση μίας θύρας PCI Express 2.0 x8. Αυτό έχει σημαντική επίπτωση στη συμβατότητα του RevoDrive με παλαιότερα συστήματα, δημιουργώντας μία ευέλικτη λύση που παίζει ακόμη και σε PC 5-ετίας και άνω. Βέβαια, θα πρέπει να σημειωθεί πως με το που τοποθετηθεί το RevoDrive και καταλάβει τα 8 lanes του CPU, η κάρτα γραφικών στα περισσότερα συστήματα (με εξαίρεση τα workstation X79 και X99 chipsets) θα πέσει στα 8 lanes (x8) από τα 16 (x16) που αξιοποιούσε προηγουμένως. Αυτό έχει μεν μικρή σημασία για συστήματα με μονή κάρτα γραφικών, για συστήματα δε με SLI ή CF είναι κάτι που θα πρέπει να ληφθεί υπόψη.
Μετά την εξαγορά της OCZ από τον κολοσσό του storage, την Toshiba, τα δεδομένα έχουν αλλάξει για τα drive της εταιρείας. Φαίνεται πως ένα μέρος της συμφωνίας ήταν η μετάβαση των μνημών NAND που χρησιμοποιούνταν σε αυτά της Toshiba, μιας και δεν θα είχε και πολύ νόημα η Toshiba να χρηματοδοτεί τους ανταγωνιστές της. Το RevoDrive 350 χρησιμοποιεί Asynchronous 19nm (A19) Toshiba NAND Flash, το οποία ναι μεν έχουν λιγότερους κύκλους προγραμματισμού/διαγραφής, έχουν όμως και χαμηλότερο κόστος κατασκευής πράγμα που ρίχνει και το συνολικό κόστος των drive.
Αυτό όμως ήταν κάτι το αναμενόμενο. Η έκπληξη ήρθε όταν γυρίσαμε το drive και είδαμε πως οι ελεγκτές που περιέχει είναι οι γνωστοί SandForce SF-2282 σε αντίθεση με τον (Indilinx) Barefoot που αποτελεί ιδιοκτησία της OCZ και χρησιμοποιείται σε όλο το υπόλοιπο mainstream lineup της εταιρείας. Συγκρίνοντάς το RevoDrive 350 με τον προκάτοχό του 3 X2, παρατηρούμε πως ο ελεγκτής στο προηγούμενης γενιάς μοντέλο ήταν ο SandForce SF-2281. Η μόνη διαφοροποίηση μεταξύ των δύο είναι το εύρος του διαύλου επικοινωνίας μεταξύ του ελεγκτή και των NAND die, το οποίο από τα 8-bit αυξάνεται στον SF-2282 στα 16-bit, δίνοντάς του τη δυνατότητα να επικοινωνεί με διπλάσιας χωρητικότητας μνήμες καθώς και κάποια μικρή αύξηση των επιδόσεων όταν αυτές οριοθετούνται από το διαθέσιμο NAND channel bandwidth.
Ανάλογα με την έκδοση του drive (240/480/960 GB) ο αριθμός των ελεγκτών διαφοροποιείται καθώς επίσης και οι επιδόσεις, με τα διαθέσιμα μοντέλα να φαίνονται στον πίνακα που ακολουθεί.
Στην έκδοση των 480 GB την οποία και είχαμε στη διάθεσή μας, η κατανομή των μνημών είναι ισομοιρασμένη στους τέσσερις ελεγκτές της SandForce. Από τα 32 NAND dies χωρητικότητας 16 GB έκαστο, κάθε ελεγκτής είναι υπεύθυνος για 8. Η συνολική χωρητικότητα των 480 GB μας μαρτυρά πως περίπου το 7% αυτών (δηλαδή 32 GB) έχουν δεσμευτεί από την ίδια την OCZ ως δεύτερο επίπεδο Over-Provisioning με στόχο την καλύτερη κατανομή της φθοράς (σε κύκλους P/E) καθώς και την ύπαρξη πρόσθετου κενού χώρου, μη ορατού στο λειτουργικό, που θα βοηθήσει τις ταχύτητες εγγραφής όταν το drive αρχίζει να γεμίζει με δεδομένα. Ακόμη, οι controller της LSI χρησιμοποιούν data compression, μειώνοντας με αυτόν τον τρόπο το write amplification.
Η επικοινωνία των ελεγκτών μεταξύ τους πραγματοποιείται στο Virtualized Controller Architecture 2.0 (VCA) το οποίο αποτελεί ένα πλήρες υποσύστημα αποθήκευσης, με firmware και drivers της OCZ, διαφοροποιώντας τον τρόπο που γίνεται το μοίρασμα (striping) των δεδομένων από τους κλασικούς RAID 0 ελεγκτές στα chipset, εισάγοντας ακόμη και διάφορους αλγόριθμους για καλύτερη κατανομή των Queue, τα οποία μπορείτε να φανταστείτε ως τις εντολές που πρέπει να εκτελέσει ένας ελεγκτής.
Επιπλέον, επιτρέπει τη μεταβίβαση εντολών TRIM στη συσκευή όπως και εποπτικού ελέγχου της από τα δεδομένα S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), γεγονότα που από τη μία μειώνουν τη φθορά των μνημών flash λόγω των κύκλων P/E, αυξάνοντας παράλληλα και τις ταχύτητες εγγραφής, και από την άλλη προσφέρουν χρήσιμες πληροφορίες όπως οι κύκλοι προγραμματισμού/διαγραφής που έχει δεχθεί ένα drive, οι ώρες που αυτό έχει λειτουργήσει κοκ.
Αναφορικά με την κρυπτογράφηση το drive κρυπτογραφεί σε πραγματικό χρόνο τα δεδομένα με αλγόριθμο κρυπτογράφησης 128-bit AES. Όμως στις περισσότερες μητρικές σταθερών υπολογιστών (σε αντίθεση με τα laptop) δεν δίνεται η δυνατότητα τοποθέτησης ATA Password που να κρυπτογραφεί το κλειδί που χρησιμοποιεί το drive για την δικιά του κρυπτογράφηση, πράγμα που αντιστοιχεί στο να έχετε ένα χρηματοκιβώτιο με ανοιχτή την πόρτα. Ταυτόχρονα, βλέποντας τη Samsung με τους 840 Evo & 850 Pro και την Crucial με το M550 και MX100, θα περιμέναμε το drive να υποστηρίζει τα πρότυπα TCG Opal 2.0 και IEEE-1667, κάνοντάς το συμβατό με το πρότυπο Microsoft eDrive και συνεπώς με το encryption σε επίπεδο hardware σε πραγματικό χρόνο. Δυστυχώς όμως αυτό δεν αντιστοιχεί στην πραγματικότητα, ενώ φαίνεται πως δεν θα υπάρξει αυτή η υποστήριξη στη σειρά RevoDrive 350 με κάποιο firmware update αλλά στην επόμενη.
Η υποστήριξη διαφόρων λειτουργικών ήταν στην αρχή περιορισμένη αφού παρέχονταν υποστήριξη μόνο για Windows (7/8/8.1). Σταδιακά όμως έχουν αρχίσει να υποστηρίζονται και διάφορες διανομές linux (Fedora, Mint και Ubuntu) για χρήση του drive ως δευτερεύον σε υπάρχουσα εγκατάσταση, όμως για χρήση του RevoDrive 350 ως OS drive υποστηρίζεται προς το παρόν μόνο η διανομή Fedora v.18-20.
Ολοκληρώνοντας με τις πρώτες εντυπώσεις για το RevoDrive 350 θα πρέπει να αναγνωρίσουμε στην OCZ ότι το εγχειρίδιο χρήσης που μπορεί να κατεβάσει ο καθένας από το website της εταιρείας, είναι πλήρες και καλύπτει εκτενώς τις δύο πιθανές περιπτώσεις εγκατάστασης του drive, δηλαδή ως δευτερεύον μέσο αποθήκευσης και ως χώρος εγκατάστασης του λειτουργικού συστήματος.
Το toolbox ουσιαστικά αποτελεί το κέντρο ελέγχου του SSD που κάνει διαθέσιμο κάθε εταιρεία στους τελικούς χρήστες. Υπάρχουν πολλές προσεγγίσεις στο συγκεκριμένο τομέα και οι απόψεις φαίνονται να διίστανται. Στην περίπτωση πάντως της OCZ έχουμε να κάνουμε με ένα μινιμαλιστικό γραφικό περιβάλλον χρήσης το οποίο όμως κρατάει μία ισορροπία στην ποσότητα των παρεχόμενων πληροφοριών ώστε να μην "υπερφορτώσει" τους χρήστες.
Το Toolbox της OCZ σε αντίθεση με αυτό της Samsung δε δίνει τη δυνατότητα στο χρήστη να ορίσει το χώρο που θα χρησιμοποιηθεί για Over Provisioning. Αυτή η επιλογή φαίνεται να δικαιολογείται από το γεγονός πως οι mainstream υλοποιήσεις της εταιρείας έρχονται εκ κατασκευής με ένα OP της τάξης του 7%, και συνεπώς δεν απαιτείται η τροποποίησή τους από τους χρήστες. Άλλωστε οποιοσδήποτε επιθυμεί μπορεί να θέσει πρόσθετο Over Provisioned χώρο με τη δημιουργία ενός partition στο drive που να μην έχει όμως διαμορφωθεί.
Υπάρχουν διαθέσιμες διάφορες μορφές του Toolbox επιλογή των οποίων εξαρτάται από το εάν χρησιμοποιείτε το drive ως δευτερεύον μέσο αποθήκευσης στο λειτουργικό ή εάν φιλοξενεί το λειτουργικό. Εάν ανήκετε στην πρώτη περίπτωση τότε το καλύτερο είναι να κατεβάσετε το Windows Toolbox το οποίο είναι μια εφαρμογή των Windows. Εάν από την άλλη στο drive έχουν εγκατασταθεί τα Windows τότε θα χρειαστεί να κατεβάσετε μία bootable custom διανομή των linux η οποία τρέχει κατά την εκκίνηση και στην οποία έχει ήδη εγκατασταθεί το toolbox. Περισσότερες πληροφορίες ως προς τη χρήση του τελευταίου μπορείτε να βρείτε στο manual που έχει δημοσιοποιήσει η OCZ.
Στο Windows Toolbox που εμείς χρησιμοποιήσαμε η πρώτη καρτέλα που ανοίγει μας δίνει τη δυνατότητα επιλογής του drive που επιθυμούμε να τροποποιήσουμε ή να δούμε τις ιδιότητες. Επιλέγοντας το drive εμφανίζονται και πληροφορίες για την έκδοση του firmware που διαθέτει.
Ακολουθεί η καρτέλα Tools όπου δίνεται η δυνατότητα στον χρήστη να κάνει update το firmware και το BIOS του drive, καθώς επίσης και να στείλει χειροκίνητα μία εντολή TRIM.
Στην επόμενη καρτέλα ονόματι Security βρίσκεται η περίφημη εντολή για το Secure Erase το οποίο επαναφέρει το drive στην εργοστασιακή του κατάσταση.
Οι τελευταίες επιλογές βρίσκονται στην καρτέλα Details όπου μπορούμε να έχουμε πρόσβαση στα S.M.A.R.T. δεδομένα που περιέχουν εκτός των άλλων και το πόσες εγγραφές έχουν γίνει στο drive.
Με δεδομένο πως όλο και περισσότεροι χρήστες γεμίζουν τα drive τους σε μεγαλύτερο βαθμό, ο τρόπος που δοκιμάζαμε τα drive έπρεπε κάπως να διαφοροποιηθεί ώστε να παρουσιάζει αυτήν την τάση των χρηστών. Οι αλλαγές λοιπόν βρίσκονται κυρίως σε επίπεδο περαιτέρω αύξησης της πληρότητας και μερικής διαφοροποίησης, πράγμα που σημαίνει πως σε αρκετές δοκιμές τα αποτελέσματα είναι συμβατά και συγκρίσιμα με αυτά που θα συναντήσετε κοιτάζοντας παλαιότερα review μας, σε άλλες όμως όχι. Προσπαθήσαμε λοιπόν να κρατήσουμε τις κλασσικές μετρήσεις σε drive με και χωρίς λειτουργικό σύστημα, καθώς και ένα σύστημα δοκιμών παρόμοιο με αυτό που χρησιμοποιούσαμε παλαιότερα. Μία από τις αλλαγές που κάναμε με στόχο τη μελλοντική διασφάλιση των δοκιμών ήταν στο λειτουργικό σύστημα, με τα Windows 8.1 x64 να βρίσκονται πλέον μαζί μας, λόγο της υποστήριξης για το πρότυπο NVMe το οποίο θα δούμε στο μέλλον.
Για το συγκεκριμένο review που περιέχει μόλις τρία drive, εκ των οποίων ένα PCIe SSD (RevoDrive 350 480 GB) καθώς και δύο αντιπροσωπευτικά δείγματα SATA SSD για τους enthusiast (Vector 150 240 GB) και mainstream χρήστες (ARC 100 240 GB), τα γραφήματα έχουν τροποποιηθεί ανάλογα ώστε να παρουσιάζουν παράλληλα και το πώς διαφοροποιούνται οι επιδόσεις των drive όταν αυτά γεμίζουν με δεδομένα, δίνοντας ταυτόχρονα και μια εποπτική εικόνα των μεταξύ τους διαφορών.
Όλα τα drive συνδέθηκαν μέσω θυρών SATA III (6 Gbps) ενώ οι μετρήσεις πραγματοποιήθηκαν με εγκατεστημένους τους Intel RST drivers 13.2.4.1000 καθώς και μία πλήρως updated Windows 8.1 x64 εγκατάσταση. Secure Erase έγινε στην αρχή των μετρήσεων σε όλες τις συσκευές καθώς και πριν εγκατασταθεί το λειτουργικό σύστημα για τις αντίστοιχες δοκιμές. Άλλωστε, πάντα προτείνουμε να κάνετε SE ένα drive που δεν βρίσκεται σε κατάσταση FOB προτού εγκαταστήσετε το λειτουργικό σύστημα, ιδίως όταν αυτό έχει χρησιμοποιηθεί παλαιότερα.
Τα drive δοκιμάστηκαν στα παρακάτω τέσσερα σενάρια που δημιουργήθηκαν ώστε να καλύψουν το μεγαλύτερο εύρος χρήσης ενός drive:
- Storage Drives: Τα SSD εγκαταστάθηκαν ως δευτερεύον μέσο αποθήκευσης στο υπάρχον λειτουργικό σύστημα και δοκιμάστηκαν στη σουίτα των μετροπρογραμμάτων μας άδεια, με 50% του χώρου τους γεμάτο και με 90%.
- OS Drives: Σε αυτό το στάδιο εγκαταστήσαμε μία καινούργια, πλήρως ενημερωμένη εγκατάσταση των Windows 8.1 και δοκιμάσαμε τα SSD με 50% και 90% της χωρητικότητάς τους γεμάτης. Μοναδική διαφοροποίηση στη μεθοδολογία υπάρχει για την μέτρηση του χρόνου εκκίνησης των Windows, ο οποίος πάρθηκε μετά την εγκατάσταση όλων των προγραμμάτων, καθώς και για τη δημιουργία ενός αντιγράφου ασφαλείας, όπου για πρακτικούς λόγους πήραμε το αντίγραφο με το λειτουργικό στην ίδια κατάσταση.
- Benchmarks: Τα drive υποβλήθηκαν στα ίδια μετροπρογράμματα με αυτά των δοκιμών ως storage drive, με τις χωρητικότητες γεμάτες στο 50% και 90%.
- Daily Tasks: Σε αυτό το στάδιο δοκιμάσαμε κάποια κλασικά σενάρια χρήσης που εμφανίζονται συχνά σε ένα τυπικό σύστημα, καθώς επίσης και μερικά Trace Based benchmarks που ενσωματώνουν ένα τμήμα από κάποιες γνωστές πολυχρησιμοποιούμενες εφαρμογές.
- Steady State Testing: Με τα drive ως δευτερεύοντα δοκιμάστηκε η απόδοσή τους καθώς αυτά επήλθαν στο Steady State, δηλαδή την κατάσταση στην οποία οι επιδόσεις σταθεροποιούνται με την πάροδο του χρόνου σε ένα επίπεδο κατώτερο από το FOB. Έπειτα, υποβλήθηκαν σε διάφορες καταστάσεις φόρτισης για σενάρια που στόχο έχουν να προσομοιώσουν συνθήκες ενός workstation όπως και server περιβάλλοντος. Περισσότερα όμως για τις συγκεκριμένες δοκιμές στην αντίστοιχη σελίδα.
ATTO Disk Benchmark
Το ATTO είναι ένα πολύ διαδεδομένο μετροπρόγραμμα που μπορεί να μετρήσει την απόδοση του drive για ένα εύρος μεγεθών συμπιέσιμων αρχείων. Εμείς θα το χρησιμοποιήσουμε αρχικά για να επιβεβαιώσουμε τις εικασίες του κάθε κατασκευαστή για τις μέγιστες ταχύτητες σειριακής ανάγνωσης και εγγραφής κάθε drive σε ένα αρχείο μεγέθους 8 MB, ενώ στη συνέχεια θα αυξήσουμε το Queue Depth (QD) και θα δούμε τόσο τις διαφορές μεταξύ ενός χαμηλού και ενός υψηλού QD όσο και τις διαφορές μεταξύ του RevoDrive και του Vector, έχοντας εφαρμόσει QD=10. Το Queue Depth μπορείτε να το φανταστείτε ως την ουρά αναμονής σε έναν ελεγκτή. Όσο μεγαλύτερο, τόσο περισσότερες εντολές έχει να εκτελέσει ένα ελεγκτής και συνεπώς δυσκολεύεται περισσότερο. Ως ένα μέτρο σύγκρισης, η πραγματικότητα ενός τυπικού χρήστη δεν ξεπερνά ακόμη και στις ακραίες περιπτώσεις ένα QD=7. Επειδή όμως το RevoDrive δεν προορίζεται για τον τυπικό χρήστη, θα χρησιμοποιήσουμε όπου μπορούμε και κάπως αυξημένα QD (έως 32) τα οποία μπορούν εύκολα να εμφανιστούν σε ένα workstation/enterprise περιβάλλον και για τα οποία μάλιστα τα SSD παρουσιάζουν τις μέγιστες επιδόσεις τους.
Αρχικά ας επαληθεύσουμε όμως τις ταχύτητες με τις οποίες διαφημίζεται το drive.
Από το παραπάνω γράφημα συμπεραίνουμε πως όχι μόνο το RevoDrive 350 επιτυγχάνει τις ταχύτητες αναφοράς του, αλλά τις ξεπερνάει και μάλιστα αρκετά (+200 MB/s). Ας περάσουμε όμως σε κάτι πιο ενδιαφέρον. Όταν αυξήσουμε το QD από 4 σε 10, τότε βλέπουμε πως το RevoDrive αρχίσει και βελτιώνεται σημαντικά. Αυτό μάλιστα όπως θα δείτε και στη συνέχεια θα αποτελέσει το γενικό κανόνα, με τις καλύτερες επιδόσεις να επιτυγχάνονται σε αυξημένα Queue Depths.
Κλείνοντας με το ATTO, ας δούμε πως μάχονται τα δύο ταχύτερα drive με QD=10.
HD Tune Pro
Το HD Tune θα το χρησιμοποιήσουμε προκειμένου να αποκτήσουμε μια εικόνα σχετικά με τις ταχύτητες ανάγνωσης και εγγραφής των drive όταν κληθούν να διαβάσουν/γράψουν δεδομένα που δεν βρίσκονται σε γειτονικά Block (Random Data). Εκτελέσαμε λοιπόν τα Random Access Tests στις προεπιλεγμένες τους ρυθμίσεις και σας παρουσιάζουμε τα αποτελέσματα. Έχετε υπόψη πως η δοκιμή εγγραφής μπορεί να πραγματοποιηθεί μόνο σε unpartitioned drives και συνεπώς δεν υπάρχουν αποτελέσματα στις καταστάσεις με τα drive γεμάτα στο 50 και 90 τοις εκατό της χωρητικότητάς τους αντίστοιχα.
Εδώ εκτός από το ότι βλέπουμε πως η ταχύτητα του RevoDrive είναι πιο χαμηλή σε μικρά αρχεία από τα single ssd, αξίζει να παρατηρήσουμε τη σταθερότητα που αυτή έχει όταν το drive γεμίζει.
AIDA 64
Με το AIDA64 και συγκεκριμένα τα Disk Benchmarks που διαθέτει θα καταγράψουμε τη χρονική καθυστέρηση από τη στιγμή που δώσουμε την εντολή για μια εργασία ανάγνωσης/εγγραφής μέχρι τη στιγμή που αυτή θα ξεκινήσει. Αυτό ονομάζεται Access time και είναι μια από τις μεγάλες διαφορές μεταξύ των SSD και των μηχανικών δίσκων, με τα SSD που δεν έχουν μηχανικά μέρη να διαπρέπουν στο συγκεκριμένο τομέα. Έχουν δηλαδή πιο γρήγορη απόκριση στις εντολές του λειτουργικού συστήματος. Σε αντιστοιχία με το HD Tune, θα μετρήσουμε το χρόνο που χρειάστηκαν τα drive τα ξεκινήσουν τις εργασίες ανάγνωσης/εγγραφής για δεδομένα που βρίσκονται σε τυχαία block των μνημών flash και θα σας δώσουμε μέση τιμή αυτού του χρόνου.
Σίγουρα παρατηρούνται μεγάλες διαφορές μεταξύ των SATA drive και του RevoDrive (RAID). Μην ξεχνάμε όμως ότι καθόλη την πορεία δεν παύουμε να μιλάμε για μεγέθη στο 1/5 του ms.
AS SSD Benchmark
Το AS SSD χαρακτηρίζεται ως ένα από τα πιο δύσκολα Benchmark για κάθε SSD. Διαβάζοντας και γράφοντας λοιπόν μη συμπιέσιμα δεδομένα το AS SSD μας δίνει πληροφορίες σχετικά με τις σειριακές ταχύτητες ανάγνωσης και εγγραφής των drive, τις αντίστοιχες ταχύτητες για ανάγνωση «τυχαίων» δεδομένων μεγέθους 4KiB σε QD=1 καθώς και QD=64. Εδώ φαίνονται και οι δύσκολες συνθήκες που δημιουργεί το AS SSD στο drive με τις μεγάλες μεταβολές στο QD. Αυτό λαμβάνεται υπόψη και στην τελική βαθμολογία που δίνει για κάθε σενάριο με έναν μεγαλύτερο συντελεστή βαρύτητας για τις δοκιμές ανάγνωσης και εγγραφής με QD=64.
Αξίζει να δείτε τη διαφορά που έχουν τα drive για μεγάλα QD και το πως αυτά αντικατοπτρίζονται και στην τελική βαθμολογία του drive. Είπαμε άλλωστε πως το τελικό σκορ προκύπτει δίνοντας μεγαλύτερη σημασία στα αποτελέσματα με μεγάλο QD παρά στα αποτελέσματα των σειριακών αναγνώσεων/εγγραφών των δεδομένων.
Ακόμη αξίζει να τονίσουμε την μεγάλη πτώση στις σειριακές ταχύτητες εγγραφής όλων των drive όταν αυτά γεμίζουν με δεδομένα και ο ελεγκτής αρχίζει να δυσκολεύεται να αποδώσει τα μέγιστα.
Crystal Disk Mark
Το Crystral Disk Mark είναι ένα πρόγραμμα αντίστοιχο με το AS SSD μόνο που διαφοροποιεί κάποιες δοκιμές, όπως για παράδειγμα προσθέτει ανάγνωση και εγγραφή ενός αρχείου 512KB και χρησιμοποιεί για τις εργασίες σε αρχεία μεγέθους 4KB QD=32. Ακόμη δίνει τη δυνατότητα να γεμίσουμε το drive με σειριακά δεδομένα μόνο με 0 και 1, εμείς όμως χρησιμοποιήσαμε τα προεπιλεγμένα Random δεδομένα που εμφανίζονται πιο συχνά σε περιβάλλοντα καθημερινής χρήσης ενός συστήματος.
Το Crystal Disk Mark μας δίνει παρόμοια αποτελέσματα με αυτά που μας έδωσε και το AS SSD. Φαίνεται μάλιστα πως στην ανάγνωση και εγγραφή σειριακών δεδομένων το RevoDrive παρουσιάζει κάτι παράδοξο, δηλαδή μεγαλύτερες ταχύτητες όταν αυτό γεμίζει με δεδομένα παρά όταν βρισκόταν άδειο.
Anvil's Storage Utilities
Τα Anvil's Storage Utilities δημιουργήθηκαν από τον χρήστη Anvil, του παγκοσμίως γνωστού φόρουμ xtremesystems.org. Η εφαρμογή έχει δημιουργηθεί για μέτρηση των IOPS (και ταυτόχρονα MB/s) που μπορεί να αποδώσει το αποθηκευτικό μέσο του υπολογιστή μας. Το πρόγραμμα αφού επιλέξουμε το test file εκτελεί 10 tests απόδοσης του drive (έξι τεστ για ανάγνωση και τέσσερα για εγγραφή) και μας δείχνει αναλυτικά τα IOPS αλλά και τα MB/s που επιτυγχάνει το drive στο κάθε τεστ, παρουσιάζοντας δίπλα από τα αποτελέσματα και ένα συνολικό score των επιδόσεων του drive. Τα τεστ αυτά καλύπτουν ένα εύρος μεγέθους αρχείων καθώς και QD, όντας έτσι ένα αντιπροσωπευτικό μέτρο σύγκρισης της συνολικής απόδοσης ενός drive.
Εμείς χρησιμοποιήσαμε τις default ρυθμίσεις του προγράμματος (1GB test file, incompressible data) και σας παρουσιάζουμε τα αποτελέσματα προβάλλοντας στα γραφήματα το τελικό σκορ καθώς και τα επιμέρους σκορ των αναγνώσεων και εγγραφών για κάθε drive.
Στο δεύτερο αυτό στάδιο των δοκιμών θα χρησιμοποιήσουμε τα ίδια benchmark που χρησιμοποιήθηκαν και για τις δοκιμές με τα drive ως δευτερεύοντα μέσα αποθήκευσης στο λειτουργικό σύστημα, με τη διαφοροποίηση ότι πλέον το λειτουργικό φιλοξενείται επάνω στα drive. Επιπλεόν, επειδή κανένας δεν έχει άδεια drive με OS, επιλέξαμε οι δοκιμές να γίνουν με το 50 και 90 τοις εκατό της χωρητικότητας των drive γεμάτη.
ATTO Disk Benchmark
Βλέπουμε πως τα sequential speeds δεν παρουσιάζουν κάποια μείωση παρά το γεγονός ότι το λειτουργικό σύστημα έχει εγκατασταθεί στα drive, όπως είναι και λογικό.
HD Tune Pro
AIDA 64
AS SSD Benchmark
Crystal Disk Mark
Anvil's Storage Utilities
Τα τελικά αποτελέσματα από τις δύο αυτές σελίδες δείχνουν πως η διαφοροποίηση των αποτελεσμάτων όταν τα drive έχουν εγκατεστημένα λειτουργικό σύστημα είναι μεν υπαρκτή, υφίσταται δε σε τέτοιο βαθμό ώστε να μπορούμε να πούμε πως σε γενικές γραμμές αυτός ο παράγοντας μειώνει κατά περίπου 10% τις επιδόσεις σε ορισμένα σενάρια.
Windows Installation Time
Μετρήσαμε το χρόνο που πήρε στα Windows 8.1 x64 να εγκατασταθούν σε κάθε drive αφαιρώντας το χρόνο μεταξύ των restart καθώς επίσης και τα στάδια όπου χρειαζόταν η παρέμβασή μας για να προχωρήσει η εγκατάσταση. Προσπαθήσαμε λοιπόν να δώσουμε μία εκτίμηση του «καθαρού» χρόνου εγκατάστασης του λειτουργικού.
Windows Boot Time
Αφού εγκαταστήσαμε το λειτουργικό, τους απαραίτητους drivers καθώς και τα βασικά προγράμματα που θα μας χρειαζόταν στη συνέχεια, μετρήσαμε το χρόνο που χρειάζονται τα Windows ώστε να πραγματοποιήσουν μία «καθαρή» εκκίνηση. Για το λόγο αυτό επιστρατεύσαμε ένα προγραμματάκι ονόματι BootRacer το οποίο μετράει τον καθαρό χρόνο που χρειάζονται τα Windows να φορτώσουν (χωρίς δηλαδή το POST, το BIOS κ.ο.κ.), αφαιρεί το χρόνο εισαγωγής του κωδικού, και προσθέτει και έναν πρόσθετο χρόνο που αντιστοιχεί στο φόρτωμα των διαφόρων υπηρεσιών μέχρι ο υπολογιστής να είναι έτοιμος για χρήση.
Operating System Backup
Με το Acronis True Image θελήσαμε να δείξουμε το χρόνο που χρειάζεται για να δημιουργηθεί ένα πλήρες image της εγκατάστασης των Windows που χρησιμοποιούμε. Ως κατάσταση αναφοράς χρησιμοποιήθηκε η κατάσταση που βρισκόταν το λειτουργικό σύστημα μετά και την εγκατάσταση των προγραμμάτων, και για να έχετε μία τάξη μεγέθους το συμπιεσμένο Backup είχε μέγεθος περίπου 27 GB.
File Copy Test
Για τη δοκιμή αντιγραφής συγκροτήσαμε έναν φάκελο μεγέθους 15 GB ο οποίος περιελάμβανε ένα φάκελο εγκατάστασης ενός μεγάλου προγράμματος, ένα αρχείο ISO, μία ταινία mkv, καθώς και αρκετές φωτογραφίες και αρχεία word αλλά και pdf. Καταγράψαμε λοιπόν το χρόνο που χρειάζεται ώστε αυτός ο φάκελος να αντιγραφεί από τη μία σε μια άλλη θέση του SSD.
Εδώ παρατηρούμε μία σημαντική διαφορά του RevoDrive σε σχέση με τα άλλα SSD, βλέποντας ακόμη πως όσο γεμίζει το drive τόσο ταχύτερο γίνεται.
Archive Creation
Ένας άλλος τρόπος να μετρήσουμε την ταχύτητα των drive είναι η δημιουργία ενός archive με το γνωστό σε όλους μας WinRar. Επειδή όμως στόχος μας είναι να καταγράψουμε την επίδραση περισσότερο του drive παρά του επεξεργαστή και των μνημών, επιλέξαμε τη μέθοδο "store". Μπορείτε να τη φανταστείτε ως η διαδικασία δημιουργίας ενός αρχείου .tar, δηλαδή ενός και μόνο αρχείου που περιέχει όλα τα αρχεία που επιλέξαμε να περιέχει το archive. Πρακτικά όμως η διαφορά είναι πως παράγεται το αρχείο χωρίς να χρησιμοποιείται κάποιος αλγόριθμος συμπίεσης.
Αξίζει να σημειώσουμε πως τα αρχεία που τοποθετήσαμε στο archive είναι αυτά που χρησιμοποιήσαμε παραπάνω για τη δοκιμή αντιγραφής, τα οποία περιέχουν πολλά μικρά αρχεία.
Antivirus Scan
Κλείνουμε το πρώτο μέρος των καθημερινών εργασίων με τη σάρωση για ιούς με μία πλήρως ενημερωμένη έκδοση του Kaspersky Internet Security 2015. Ως φάκελος επιλέχθηκε αυτός των Windows ώστε να έχουμε ένα σταθερό σημείο αναφοράς, ο οποίος περιείχε περίπου 150000 μικρά αρχεία.
Στο δεύτερο στάδιο των μετρήσεων σε καθημερινές εργασίες χρησιμοποιήσαμε το PC Mark 8 προκειμένου να λάβουμε μία πολύπλευρη εικόνα για το πως ανταποκρίνονται τα drive σε διάφορες καθημερινές εργασίες. Το PC Mark χρησιμοποιεί αποσπάσματα (traces) από διάφορα προγράμματα και παιχνίδια όπως το Photoshop, το Word, το Battlefield, και δίνει το χρόνο που χρειάστηκε να ολοκληρωθεί το καθένα. Ακόμη, μας προσφέρει ένα τελικό σκορ το οποίο αξιολογεί τις συνολικές επιδόσεις κάθε drive.
Οι διαφορές στα διάφορα αποσπάσματα εφαρμογών φαίνονται να είναι πολύ μικρές ώστε να δώσουν σημαντικό πλεονέκτημα σε κάποιο drive.
Αυτό επιβεβαιώνεται και εν τέλει από το τελικό σκορ που έδωσε το PC Mark 8 για κάθε drive. Ακόμη παρατηρούμε πως οι διαφορές μεταξύ της μισογεμάτης κατάστασης και αυτής της πλήρωσης είναι πρακτικά αμελητέες.
Σε αυτό το τμήμα της παρουσίασης θα δοκιμάσουμε τα δύο ταχύτερα SSD (RevoDrive 350 και Vector 150) με έναν λίγο διαφορετικό τρόπο, ο οποίος θα προσπαθήσει να μας δώσει τις επιδόσεις ενός drive μετά από κάποιο χρονικό διάστημα όπου οι επιδόσεις θα έχουν σταθεροποιηθεί σε ένα επίπεδο χαμηλότερο από αυτό που είχαν Fresh Out of the Box. Η κατάσταση αυτή ονομάζεται Steady State και επέρχεται όταν πραγματοποιηθούν κάποιες εγγραφές στο άδειο drive και ο controller δεν έχει πλέον όλα τα κενά κελιά στη διάθεσή του, οπότε οι επιδόσεις όπως είναι λογικό πέφτουν. Προκειμένου να μεταφέρουμε τα καινούργια drive μας στην κατάσταση Steady State ώστε να τα υποβάλουμε σε διάφορες καταστάσεις φόρτισης στη συνέχεια, θα χρησιμοποιήσουμε την προδιαγραφή του Storage Networking Industry Association (SNIA), σχετικά με τα Solid State Storage (SSS) χρησιμοποιώντας το Performance Test Specification (PTS) v1.1 για Enterprise drive, δεδομένου πως το RevoDrive εντάσσεται εν μέρει και σε αυτήν την κατηγορία.
Θα ξεκινήσουμε λοιπόν από μία γνωστή αφετηρία για όλα τα drive, με κάθε SSD να έχει γίνει Secure Erase, διασφαλίζοντας ακόμη τη διενέργεια των δοκιμών σε ένα λειτουργικό σύστημα που δεν έχει υποστεί μεταβολές ως προς την κατάστασή του. Ακόμη, θα αφήσουμε ενεργοποιημένο το write caching και των δύο drive, αφού το RevoDrive διαθέτει προστασία των δεδομένων που δεν έχουν γραφεί ακόμη σε περίπτωση διακοπής ρεύματος.
Έπειτα θα ξεκινήσουμε τη διαδικασία γνωστή ως Preconditioning κάθε drive με μία φόρτιση που δεν σχετίζεται με τις δοκιμές που θα τρέξουμε μετά και ονομάζεται Workload Independent Preconditioning. Αυτή προϋποθέτει τη σειριακή εγγραφή 128 KiB χωρίς περιορισμούς ως προς τον χώρο του drive που μπορεί να χρησιμοποιηθεί κατά τη δοκιμή και για 2 φορές το μέγεθος της χωρητικότητάς του. Με αυτόν τον τρόπο το drive θα μεταβεί σε Steady State και θα μπορέσουμε να τρέξουμε τις διάφορες φορτιστικές καταστάσεις που επιλέξαμε, προς προσομοίωση διαφόρων workstation/enterprise σεναρίων. Το Queue Depth σε όλες τις δοκιμές τοποθετήθηκε στα 32 ώστε να προσομοιωθούν καλύτερα οι απαιτητικές συνθήκες.
Ξεκινάμε λοιπόν με τη μετάβαση των drive σε Steady State διαμέσου του Preconditioning.
Αρχικά να σημειώσουμε ότι οι μετρήσεις καταγράφονταν στο τέλος κάθε πενταλέπτου, εξού και ο οριζόντιος άξονας ξεκινάει από τα 5 λέπτα και φτάνει έως τις 6 ώρες.
Από το γράφημα, και μόνο για τα drive της δοκιμής μπορούμε να γνωρίζουμε το χρόνο που χρειάστηκαν να γεμίσουν τη χωρητικότητά τους 2 φορές, και συνεπώς στο μέλλον σε περίπτωση που θελήσουμε να φέρουμε τα SSD σε Steady State να τρέξουμε το Preconditioning μόνο για τον απολύτως απαραίτητο χρόνο. Προκύπτει λοιπόν ότι το RevoDrive χρειάζεται περίπου 9 λεπτά, ενώ το Vector χρειάζεται περίπου 23 λεπτά.
Έχοντας πλέον τα drive σε Steady State θα εφαρμόσουμε τα ακόλουθα σενάρια φόρτισης ώστε να προσομοιώσουμε κάποιες διαφορετικές συνθήκες που μπορούν να εμφανιστούν σε server αλλά και workstation περιβάλλον.
Σε αυτό το γράφημα φαίνονται ουσιαστικά διάφορες συνθήκες στις οποίες το RevoDrive 350 δείχνει πραγματικά τις δυνατότητές του που το διαχωρίζουν από τα απλά mainstream SSD. Μάλιστα, όλα τα σενάρια έτρεξαν όταν τα drive βρισκόταν σε συνθήκες πλήρωσης και συνεπώς αντιπροσωπεύουν τη χειρότερη δυνατή κατάσταση που μπορεί να υπάρξει.
Φθάσαμε λοιπόν στο τέλος της σημερινής παρουσίασης, και μπορούμε να πούμε πως η εμπειρία που μας έδωσε το RevoDrive 350 ήταν σίγουρα μοναδική, αφού είδαμε ταχύτητες που σε ορισμένα σενάρια ακόμη και σε single drive RAID δεν θα μπορούσαμε να επιτύχουμε. Στο τέλος της ημέρας όμως θα πρέπει να δούμε τι είναι το RevoDrive και σε ποιους πραγματικά απευθύνεται. Απευθύνεται στους απλούς ή ακόμη και στους υψηλών απαιτήσεων χρήστες; Σίγουρα όχι! Τόσο η ενασχόλησή μας με τα διαφορετικά drive αλλά και τα αποτελέσματα των δοκιμών δείχνουν πως ένα single SSD είναι εξίσου γρήγορο και μπορεί να ικανοποιήσει τους περισσότερους. Υπάρχουν βέβαια διαφορές σε ορισμένα σενάρια, οι οποίες όμως απλά δεν αποτελούν λόγο που να δικαιολογεί την αγορά του.
Ερχόμαστε επομένως στο επόμενο ερώτημα. Σε ποιούς απευθύνεται η κορυφαία πρόταση της OCZ; Θα μπορούσαμε να πούμε πως όταν τα οι απαιτήσεις αυξάνονται, τότε αρχίζει το RevoDrive να δείχνει τη διαφορά του από τα υπόλοιπα drive. Ειδικότερα, αναφερόμαστε σε συνθήκες όπου έχει να ικανοποιήσει μία πληθώρα ταυτόχρονων εντολών, δηλαδή συνθήκες που εμφανίζονται σε workstation αλλά και home ή και business server περιβάλλον. Είδαμε ότι σε εκείνες τις συνθήκες τα operations που μπορεί να διαχειριστεί το RevoDrive ξεπερνάνε σημαντικά αυτά ενός συμβατικού SSD, ακόμη και όταν αυτό συγκαταλέγεται μεταξύ των κορυφαίων της αγοράς (βλ. Vector 150). Θα πρέπει επιπρόσθετα να σημειώσουμε πως το RevoDrive συμπεριφέρθηκε καλύτερα όταν είχε δεδομένα και όταν χρησιμοποιήθηκε ως δευτερεύον αποθηκευτικό μέσο, ενώ δεν έδειξε να πτοείται από το γεγονός ότι πολλές από τις εργασίες που του ζητήθηκαν να ανταποκριθεί πραγματοποιήθηκαν σε συνθήκες πλήρωσής του.
Στα θετικά συγκαταλέγεται και το γεγονός ότι η εγκατάσταση λειτουργικού ήταν απροβλημάτιστη και αρκετά εύκολη, ενώ για τη χρησιμοποίησή του ως secondary drive δεν χρειάστηκε κάποια διενέργεια από τον χρήστη, μιας και τα Windows βρήκαν τον απαραίτητο driver στο διαδίκτυο. Έχουμε επομένως μία υλοποίηση RAID 0 η οποία δεν χρειάζεται κάποια παραμετροποίηση, ενώ ταυτόχρονα μπορεί να μεταβιβάσει εντολές TRIM καθώς και να μεταφέρει S.M.A.R.T. data. Είναι μάλιστα ιδιαίτερα ελκυστική λύση και για παλαιότερα συστήματα ανάλογων απαιτήσεων, αφού το μοναδικό που χρειάζεται για να λειτουργήσει είναι μία θύρα PCIe Gen.2 x8! Από την άλλη η εγγύηση που δίνει η OCZ ανέρχεται για το παρόν drive στα 3 χρόνια με εγγραφές έως και 50 GB/ημέρα, αν και για να πούμε την αλήθεια θα προτιμούσαμε να ανήκει στην κατηγορία των ShieldPlus, όπως και στα περισσότερα από τα τελευταία SSD που έχει παρουσιάσει.
Αναφέραμε προηγουμένως πως η αγορά του για τους απλούς χρήστες δεν δικαιολογείται όταν οι επιδόσεις που προσφέρει σε αυτόν τον τομέα είναι παραπλήσιες με αυτές ενός μονού drive. Ο δεύτερος όμως και πιο ρεαλιστικός παράγοντας ακούει στο όνομα κόστος, αφού για να αποκτήσετε το RevoDrive 350 480GB θα χρειαστεί να δεσμεύσετε το ποσό των 850 Ευρώ! Τώρα για το εάν χρειάζεστε επιδόσεις αυτής της τάξης θέλουμε να πιστεύουμε πως τα διάφορα σενάρια που καλύψαμε στο παρόν άρθρο μπορούν να σας δώσουν την απάντηση.
Επειδή το RevoDrive 350 είναι το καλύτερο SSD που έχουμε δοκιμάσει μέχρι στιγμής, θα λάβει την ακόλουθη βαθμολογία καθώς επίσης και το Performance Award. Until next time!
Θα θέλαμε να ευχαριστήσουμε θερμά την OCZ Europe για την παραχώρηση του δείγματος της δοκιμής.