"Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box"

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box

Συνεχίζοντας την εξερεύνηση των προϊόντων της εταιρίας που ονομάζεται Mach Xtreme (προηγούμενα review: 1, 2), ήρθε η ώρα να κοιτάξουμε μια... "εκλεπτυσμένη" λύση της εταιρίας. Ως γνωστόν, η Mach Xtreme ειδικεύεται στα προϊόντα NAND αποθήκευσης - κοινώς οτιδήποτε έχει να κάνει με USB drives αλλά και SSDs.


Συνεχίζοντας την εξερεύνηση των προϊόντων της εταιρίας που ονομάζεται Mach Xtreme (προηγούμενα review: 1, 2), ήρθε η ώρα να κοιτάξουμε μια... "εκλεπτυσμένη" λύση της εταιρίας. Ως γνωστόν, η Mach Xtreme ειδικεύεται στα προϊόντα NAND αποθήκευσης - κοινώς οτιδήποτε έχει να κάνει με USB drives αλλά και SSDs.

Η λύση που θα σας παρουσιάσουμε σήμερα ακούει στο όνομα MX Express PCI-e SSD - και το όνομα του είναι αρκετά ξεκάθαρο όσον αφορά την κατηγορία του προϊόντος. Έχοντας εξαντλήσει τις δυνατότητες του SATA 6Gbps διαύλου, κάποιοι κατασκευαστές έψαξαν να βρουν διαφορετικές οδούς προκειμένου να φέρουν στην αγορά ακόμα ταχύτερα drives. Κατά πόσο η Mach Xtreme καταφέρνει να παραδώσει κάτι το εντυπωσιακό;

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the boxMach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the boxMach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box




Η συσκευασία του MX Express PCI-e είναι αρκετά λιτή, με μέγεθος που ξεπερνά ελάχιστα τις διαστάσεις του drive. Στο εσωτερικό του παρέχεται, πέρα από την ίδια την μονάδα, ένα low profile PCI bracket, καθώς και μια κάρτα που μας ενημερώνει πως το drive που μόλις παραλάβαμε έχει δοκιμαστεί ώστε να είναι εγγυημένη η λειτουργία του out of the box.

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box



Όπως είναι εμφανές, το MX Express PCI-e δεν πρόκειται για έναν απλό "παραδοσιακό" SATA δίσκο - απεναντίας, ο συγκεκριμένος SSD έρχεται σε PCI Express form factor. Με διαστάσεις που ανέρχονται στα 152.5 x 19.0 x 69.0 mm και βάρος περί τα 125 γραμμάρια, ο MX Express PCI-e συνδέεται με το σύστημα μέσω μιας απλής PCI Express 2.0 x2 θύρας.

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box



Το SKU του συγκεκριμένου drive είναι το MXSSDEPCIE-512G, και όπως προδιαθέτει η κωδική του ονομασία το drive έχει συνολική χωρητικότητα περί τα 512GB - στην πραγματικότητα μετά το πέρας της εγκατάστασης η συνολική χωρητικότητα ανέρχεται στα 477 πραγματικά Gigabyte.

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box



Πως επιτυγχάνεται όμως κάτι τέτοιο; Η υλοποίηση της Mach Xtreme είναι αρκετά ενδιαφέρουσα. Η κύρια πλακέτα έχει στην διάθεση της 2 SATA III 6 Gbps θύρες, κάτι που σημαίνει ότι μπορεί να δεχτεί 2 x SATA III SSDs - που στην προκειμένη περίπτωση έχουν τοποθετηθεί 2 x 256GB SSDs. Την τελική "ενορχήστρωση" αναλαμβάνει ένας Marvell 9200 RAID Controller, ο οποίος είναι τοποθετημένος στην πίσω πλευρά της κύριας πλακέτας, δημιουργώντας έτσι ένα hardware-based RAID0 μεταξύ των 2 αυτών SSDs.

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the boxMach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the boxMach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box



Ένα ενδιαφέρον χαρακτηριστικό του MXSSDEPCIE-512G αφορά την driver-less λειτουργία του. Για να εξασφαλίσει την μέγιστη συμβατότητα με τα περισσότερα συστήματα, το BIOS της κύριας πλακέτας ενσωματώνει boot instructions, ανακοινώνοντας στο σύστημα πως για την λειτουργία του απαιτούνται οι κοινοί drivers αποθήκευσης - ούτως ώστε να είναι εφικτή η plug and play λειτουργία του. Σε αυτό το σημείο αξίζει αναφοράς πως η Mach Xtreme έχει δουλέψει ώστε να επιταχύνει την ταχύτητα εκκίνησης του controller - έτσι, σε παρόμοιες λύσεις συνήθως προστίθενται περί τα 10 επιπλέον δευτερόλεπτα για την εκκίνηση του συστήματος, την ίδια στιγμή που ο MX Express PCI-e χρειάζεται κάτι λιγότερο από 3 δευτερόλεπτα.

Ρίχνοντας μια ματιά στους εγκατεστημένους SSD, παρατηρούμε πως ο controller τους δεν είναι κάτι περισσότερο από τον SandForce SF-2281 της LSI. Αναφορικά με τα NAND ICs, παρατηρούμε πως κάθε drive στεγάζει από 8 x 29F32Β808JCME2 Intel 32GB, 25nm synchronous NAND και πρόκειται για SLC (Single Level Cell) NAND, που απαρτίζουν την συνολική χωρητικότητα των 256GB για κάθε έναν από τους 2 SSDs που παρέχονται.

Βάση των παραπάνω στοιχείων, η Mach Xtreme αναφέρει περί τα 850 MB/s μέγιστων αναγνώσεων και 800 MB/s εγγραφών, με την αναμενόμενη διάρκεια ζωής να ανέρχεται στις 1,5 εκατομμύρια ώρες, ενώ τέλος η εταιρία παρέχει 2ετή εγγύηση για τον MX Express PCI-e.

Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box



Προτού όμως προχωρήσουμε με τις επιδόσεις του drive, ας ρίξουμε μια ματιά στον αναλυτικό πίνακα των specs του MX Express PCI-e 512G.





Όπως όλα ξεκινούν σε επίπεδο ατόμου για τους έμβιους οργανισμούς, έτσι και στις πολυχρησιμοποιούμενες μνήμες flash το μικρότερο δυνατό δομικό τους στοιχείο είναι ένα κελί (cell). Τι είναι το κελί θα αναρωτιέστε όμως. Την απάντηση εδώ έρχεται να μας προσφέρει το MOSFET, στο οποίο μπορούμε πολύ εύκολα με την παρουσία ή μη ηλεκτρονίων να καθορίσουμε τις καταστάσεις 0 και 1 του δυαδικού συστήματος. Έχουμε λοιπόν τον μηχανισμό με τον οποίο θα παρασταθούν τα δεδομένα, μας λείπει όμως ο μηχανισμός που αυτά θα αποθηκευτούν. Αυτό συμβαίνει γιατί ένα απλό MOSFET είναι αδύνατο να «θυμάται» την κατάστασή του όταν σταματήσει να προσφέρεται ενέργεια από την πηγή. Η λύση έρχεται να δοθεί από την προσθήκη μιας επιπλέουσας πύλης (floating gate), η οποία παίρνει τη θέση της πύλης του MOSFET μετατρέποντας την ύστερη σε πύλη ελέγχου. Η επιπλέουσα αυτή πύλη (floating gate) είναι μονωμένη από ένα στρώμα διοξειδίου του πυριτίου που της δίνει τη δυνατότητα να διατηρεί τα ηλεκτρόνια (δεδομένα) για μεγάλο χρονικά διάστημα ελλείψει παροχής ενέργειας.

Mosfet



Είπαμε όμως πως αυτή είναι μονωμένη από την πηγή (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) τα ηλεκτρόνια που βρίσκονται σε αυτό περνάνε από το διηλεκτρικό στην επιπλέουσα πύλη.

Floating Gate Mosfet



Για να εκτελέσουμε μια διαγραφή από την άλλη, η πύλη ελέγχου γειώνεται με την υψηλή τάση να εφαρμόζεται στο υπόστρωμα πυριτίου, οπότε και τα ηλεκτρόνια μεταπηδούν σε αυτό.

Floating Gate Mosfet



Στα κελιά λοιπόν μπορεί να αποθηκευτεί 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.

NAND Cells



Ένα 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 ισχύει επομένως το εξής:

SLC Nand Cell



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 Nand Cell



Συγκρίνοντας τα παραπάνω μπορούμε να παρατηρήσουμε μερικά ενδιαφέροντα πράγματα. Αφενός, η διαφορά τάσης μεταξύ των οριακών των 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 καθώς και την επίδραση της κλίμακας ολοκλήρωσης σε αυτήν.

SLC100000100000N/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 και τόσο λιγότερο μειώνεται η διάρκεια ζωής του.

Βέβαια, όλη αυτή η διαδικασία που αναφέραμε στο παραπάνω παράδειγμα μειώνει την ταχύτητα που θα γινόταν η συγκεκριμένη ενέργεια. Για αυτό το λόγο και ο ελεγκτής (controller) προτιμά να γράψει τα δεδομένα σε ένα καινούργιο 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. Αυτό φαίνεται με τη σειρά στο παρακάτω σχήμα:

Garbage Collection



Στο πρώτο στάδιο έχουμε δύο 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.


Με δεδομένο πως όλο και περισσότεροι χρήστες γεμίζουν τα drive τους σε μεγαλύτερο βαθμό, ο τρόπος που δοκιμάζαμε τα drive έπρεπε κάπως να διαφοροποιηθεί ώστε να παρουσιάζει αυτήν την τάση των χρηστών. Οι αλλαγές λοιπόν βρίσκονται κυρίως σε επίπεδο περαιτέρω αύξησης της πληρότητας και μερικής διαφοροποίησης, πράγμα που σημαίνει πως σε αρκετές δοκιμές τα αποτελέσματα είναι συμβατά και συγκρίσιμα με αυτά που θα συναντήσετε κοιτάζοντας παλαιότερα review μας, σε άλλες όμως όχι. Προσπαθήσαμε λοιπόν να κρατήσουμε τις κλασσικές μετρήσεις σε drive με και χωρίς λειτουργικό σύστημα, καθώς και ένα σύστημα δοκιμών παρόμοιο με αυτό που χρησιμοποιούσαμε παλαιότερα. Μία από τις αλλαγές που κάναμε με στόχο τη μελλοντική διασφάλιση των δοκιμών ήταν στο λειτουργικό σύστημα, με τα Windows 8.1 x64 να βρίσκονται πλέον μαζί μας, λόγο της υποστήριξης για το πρότυπο NVMe το οποίο θα δούμε στο μέλλον.

GPUMSI R9 270X Gaming mITX[/TR]




Όλα τα drive συνδέθηκαν μέσω θυρών SATA III (6 Gbps) ενώ οι μετρήσεις πραγματοποιήθηκαν με εγκατεστημένους τους Intel RST drivers 13.2.4.1000 καθώς και μία πλήρως updated Windows 10 x64 εγκατάσταση. Secure Erase έγινε στην αρχή των μετρήσεων σε όλες τις συσκευές καθώς και πριν εγκατασταθεί το λειτουργικό σύστημα για τις αντίστοιχες δοκιμές. Άλλωστε, πάντα προτείνουμε να κάνετε SE ένα drive που δεν βρίσκεται σε κατάσταση FOB προτού εγκαταστήσετε το λειτουργικό σύστημα, ιδίως όταν αυτό έχει χρησιμοποιηθεί παλαιότερα.

Τα drive δοκιμάστηκαν στα παρακάτω τέσσερα σενάρια που δημιουργήθηκαν ώστε να καλύψουν το μεγαλύτερο εύρος χρήσης ενός drive:

    • Storage Drives: Τα SSD εγκαταστάθηκαν ως δευτερεύον μέσο αποθήκευσης στο υπάρχον λειτουργικό σύστημα και δοκιμάστηκαν στη σουίτα των μετροπρογραμμάτων μας άδεια, με 50% του χώρου τους γεμάτο και με 90%.

 

    • OS Drives: Σε αυτό το στάδιο εγκαταστήσαμε μία καινούργια, πλήρως ενημερωμένη εγκατάσταση των Windows 10 και δοκιμάσαμε τα 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, ενώ στη συνέχεια θα δούμε τις διαφορές μεταξύ του MX DS Turbo και του MX PCI-E SSD 512G, έχοντας εφαρμόσει QD (Queue Depth) = 4. Το Queue Depth μπορείτε να το φανταστείτε ως την ουρά αναμονής σε έναν ελεγκτή. Όσο μεγαλύτερο, τόσο περισσότερες εντολές έχει να εκτελέσει ένα ελεγκτής και συνεπώς δυσκολεύεται περισσότερο. Ως ένα μέτρο σύγκρισης, η πραγματικότητα ενός τυπικού χρήστη δεν ξεπερνά ακόμη και στις ακραίες περιπτώσεις ένα QD=7.

Αρχικά ας επαληθεύσουμε όμως τις ταχύτητες με τις οποίες διαφημίζεται το drive.

ATTO Disk Benchmark



Ξεκινώντας με την πιο απλή μέτρηση του ATTO, η διαφορά στις επιδόσεις είναι σημαντική έναντι σε ένα οποιοδήποτε τυπικό SATA 6Gbps drive. Το MX Express PCI-e 512G καταφέρνει και παραδίδει τις αναμενόμενες επιδόσεις ενός RAID0 setup, με το drive να "τερματίζει" στα 808 MB/s στις σειριακές τόσο εγγραφές όσο και αναγνώσεις, με το γέμισμα του δίσκου να μην δείχνει πως το επηρρεάζει σημαντικά σε αυτόν τον τομέα.

ATTO Disk Benchmark



Σε αυτή τη δοκιμή παρατηρούμε πως το MX Express PCI-e αρχίζει να αποδίδει μετά τα 128Κ, φτάνοντας στο όριο του από τα 512Κ όπου και σταθεροποιείται η απόδοσή του. Από τα πρώτα μας αποτελέσματα όμως αξίζει να σημειώσουμε πως σε μικρότερα αρχεία, οι επιδόσεις δεν είναι ιδιαίτερα εντυπωσιακές.

HD Tune Pro

Το HD Tune θα το χρησιμοποιήσουμε προκειμένου να αποκτήσουμε μια εικόνα σχετικά με τις ταχύτητες ανάγνωσης και εγγραφής των drive όταν κληθούν να διαβάσουν/γράψουν δεδομένα που δεν βρίσκονται σε γειτονικά Block (Random Data). Εκτελέσαμε λοιπόν τα Random Access Tests στις προεπιλεγμένες τους ρυθμίσεις και σας παρουσιάζουμε τα αποτελέσματα. Έχετε υπόψη πως η δοκιμή εγγραφής μπορεί να πραγματοποιηθεί μόνο σε unpartitioned drives και συνεπώς δεν υπάρχουν αποτελέσματα στις καταστάσεις με τα drive γεμάτα στο 50 και 90 τοις εκατό της χωρητικότητάς τους αντίστοιχα.

HD Tune Pro Read



Θεωρώντας πως τα drive σε άδεια κατάσταση έχουν βαρύτητα 25%, τα drive στο 50% της χωρητικότητάς τους έχουν βαρύτητα 40% και τα drive στο 90% έχουν βαρύτητα 35% στα τελικά αποτελέσματα, μπορούμε για κάθε επιμέρους δοκιμή να σας δώσουμε έναν σταθμισμένο μέσο των αποτελεσμάτων.

HD Tune Pro Read Final

HD Tune Pro Write



Στις δοκιμές εγγραφής του HD Tune και ιδίως στα πολύ μικρά αρχεία το MX Express PCI-e έδωσε πολύ χαμηλές ταχύτητες εγγραφής. Το drive αρχίζει και δείχνει τις δυνατότητες του μετά το 1MB, κάτι που σημαίνει πρακτικά σειριακή ανάγνωση.

AIDA 64

Με το AIDA64 και συγκεκριμένα τα Disk Benchmarks που διαθέτει θα καταγράψουμε τη χρονική καθυστέρηση από τη στιγμή που δώσουμε την εντολή για μια εργασία ανάγνωσης/εγγραφής μέχρι τη στιγμή που αυτή θα ξεκινήσει. Αυτό ονομάζεται Access time και είναι μια από τις μεγάλες διαφορές μεταξύ των SSD και των μηχανικών δίσκων, με τα SSD που δεν έχουν μηχανικά μέρη να διαπρέπουν στο συγκεκριμένο τομέα. Έχουν δηλαδή πιο γρήγορη απόκριση στις εντολές του λειτουργικού συστήματος. Σε αντιστοιχία με το HD Tune, θα μετρήσουμε το χρόνο που χρειάστηκαν τα drive τα ξεκινήσουν τις εργασίες ανάγνωσης/εγγραφής για δεδομένα που βρίσκονται σε τυχαία Block των μνημών flash και θα σας δώσουμε μέση τιμή αυτού του χρόνου.

AIDA64 Average Read Access

AIDA64 Average Write Access



Σε σχετικά υψηλά επίπεδα οι τιμές των χρόνων πρόσβασης, με τα νούμερα να κυμαίνονται στα επίπεδα των 0,20ms κατά μέσο όρο.



AS SSD Benchmark

Το AS SSD χαρακτηρίζεται ως ένα από τα πιο δύσκολα Benchmark για κάθε SSD. Διαβάζοντας και γράφοντας λοιπόν μη συμπιέσιμα δεδομένα το AS SSD μας δίνει πληροφορίες σχετικά με τις σειριακές ταχύτητες ανάγνωσης και εγγραφής των drive, τις αντίστοιχες ταχύτητες για ανάγνωση «τυχαίων» δεδομένων μεγέθους 4KiB σε QD=1 καθώς και QD=64. Εδώ φαίνονται και οι δύσκολες συνθήκες που δημιουργεί το AS SSD στο drive με τις μεγάλες μεταβολές στο QD. Αυτό λαμβάνεται υπόψη και στην τελική βαθμολογία που δίνει για κάθε σενάριο με έναν μεγαλύτερο συντελεστή βαρύτητας για τις δοκιμές ανάγνωσης και εγγραφής με QD=64.

AS SSD Benchmark Read

AS SSD Benchmark Write

AS SSD Benchmark Total Score



Το περισσότερο ολοκληρωμένο AS SSD benchmark αρχίζει και δείχνει τις αδυναμίες του συγκεκριμένου drive. Ενώ οι επιδόσεις στις σειριακές εγγραφές και αναγνώσεις είναι υψηλές, τα προβλήματα φαίνονται στα τυχαία 4Κ αρχεία όπου και ο MX Express PCI-e αποδίδει όσο ένας πολύ τυπικός SSD προηγούμενης γενιάς. Ως εκ τούτου, αναμενόμενα το σκορ που παραδίδει το benchmark είναι σαφώς χαμηλότερο από το αναμενόμενο.

Παίρνοντας το τελικό σκορ του AS SSD, το οποίο έχει δώσει μεγαλύτερο βάρος στα αποτελέσματα με QD=64, μπορούμε να σας δώσουμε μία κατάταξη των drive. Η παραδοχή που έχουμε κάνει παραμένει, με τα drive σε άδεια κατάσταση να έχουν βαρύτητα 25%, στο 50% της χωρητικότητάς τους να έχουν βαρύτητα 40% και στο 90% βαρύτητα 35% στα τελικά αποτελέσματα.

AS SSD Benchmark Total Score Final



Crystal Disk Mark

Το Crystral Disk Mark είναι ένα πρόγραμμα αντίστοιχο με το AS SSD μόνο που διαφοροποιεί κάποιες δοκιμές, όπως για παράδειγμα προσθέτει ανάγνωση και εγγραφή ενός αρχείου 512KB και χρησιμοποιεί για τις εργασίες σε αρχεία μεγέθους 4KB QD=32. Ακόμη δίνει τη δυνατότητα να γεμίσουμε το drive με σειριακά δεδομένα μόνο με 0 και 1, εμείς όμως χρησιμοποιήσαμε τα προεπιλεγμένα Random δεδομένα που εμφανίζονται πιο συχνά σε περιβάλλοντα καθημερινής χρήσης ενός συστήματος.

Crystal Disk Mark Read



Θεωρώντας πως τα drive σε άδεια κατάσταση έχουν βαρύτητα 25%, τα drive στο 50% της χωρητικότητάς τους έχουν βαρύτητα 40% και τα drive στο 90% έχουν βαρύτητα 35% στα τελικά αποτελέσματα, μπορούμε για κάθε επιμέρους δοκιμή να σας δώσουμε έναν σταθμισμένο μέσο των αποτελεσμάτων.

Crystal Disk Mark Read Final



To Crystal Disk Mark δίδει παρόμοια αποτελέσματα με αυτά του AS SSD, μόνο που σε αυτήν την περίπτωση εμφανίζεται μια μικρή ανωμαλία όταν το drive γεμίζει περισσότερο από το 50% της χωρητικότητάς του.

Ακολουθούν τα αποτελέσματα που μας έδωσε το Crystal Disk Mark για τις εγγραφές.

Crystal Disk Mark Write

Crystal Disk Mark Write Final



Παρόμοια τα συμπεράσματα που προέρχονται και από το Crystal Disk Mark, με το MX Express PCI-e να εμφανίζει μια σταθερότητα στα αποτελέσματά του παρά το γέμισμα του drive.

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.

Anvil's Storage Utilities



Παίρνοντας το τελικό σκορ του Anvil's Storage Utilities, μπορούμε να σας δώσουμε μία κατάταξη των drive. Όμοια, τα drive σε άδεια κατάσταση έχουν βαρύτητα 25%, στο 50% της χωρητικότητάς τους έχουν βαρύτητα 40% και στο 90% βαρύτητα 35% στα τελικά αποτελέσματα

Anvil's Storage Utilities Final





Στο δεύτερο αυτό στάδιο των δοκιμών θα χρησιμοποιήσουμε τα ίδια benchmark που χρησιμοποιήθηκαν και για τις δοκιμές με τα drive ως δευτερεύοντα μέσα αποθήκευσης στο λειτουργικό σύστημα, με τη διαφοροποίηση ότι πλέον το λειτουργικό φιλοξενείται επάνω στα drive. Επιπλέον, επειδή κανένας δεν έχει άδεια drive με OS, επιλέξαμε οι δοκιμές να γίνουν με το 50 και 90 τοις εκατό της χωρητικότητας των drive γεμάτη.

ATTO Disk Benchmark

ATTO Disk Benchmark



Βλέπουμε πως τα sequential speeds δεν παρουσιάζουν κάποια αισθητή μείωση παρά το γεγονός ότι το λειτουργικό σύστημα έχει εγκατασταθεί στα drive, όπως είναι και λογικό.

HD Tune Pro

Για τις δοκιμές με λειτουργικό σύστημα και με σκοπό να σας παρουσιάσουμε μία συνολική εικόνα των αποτελεσμάτων η οποία να προκύπτει από τις διάφορες καταστάσεις δεδομένων των drive, κάνουμε την θεώρηση ότι η επιρροή των αποτελεσμάτων στο 50% και 90% της χωρητικότητας είναι ίδια. Το τελικό αποτέλεσμα λοιπόν προκύπτει ως αριθμητικός μέσος όρος των επιμέρους αποτελεσμάτων. Με βάση αυτό και θεωρώντας ότι οι παραδοχές για τα drive ως δευτερεύοντα αποθηκευτικά μέσα (Empty: 25%, 50% Filled: 40%, 90% Filled: 35%) συνεχίζουν να ισχύουν, συγκεντρώσαμε τα τελικά αποτελέσματα που προήλθαν από τις αντίστοιχες δοκιμές για κάθε benchmark και σας τα παραθέτουμε προς μία καλύτερη σύγκριση των Secondary Drive vs OS Drive καταστάσεων.

HD Tune Pro Read Secondary Drive vs OS Drive



AIDA 64

AIDA64 Average Read Access Secondary Drive vs OS Drive



Στο παραπάνω διάγραμμα για Empty Drives υπάρχουν μόνο τα αποτελέσματα από τις δοκιμές ως Secondary Drive, καθώς για OS Drive πάρθηκαν μετρήσεις μόνο για 50 και 90% filled state. Ακόμη, όταν απεικονίζονται μόνο τα αποτελέσματα ως OS Drive και δεν φαίνονται τα αποτελέσματα ως Secondary Drive υποδηλώνεται η ταύτιση μεταξύ των δύο.



AS SSD Benchmark

Όμοια, κάνοντας τη θεώρηση ότι η επιρροή των αποτελεσμάτων στο 50% και 90% της χωρητικότητας είναι ίδια, το τελικό αποτέλεσμα προκύπτει ως αριθμητικός μέσος όρος των επιμέρους αποτελεσμάτων. Με βάση αυτό και θεωρώντας ότι οι παραδοχές για τα drive ως δευτερεύοντα αποθηκευτικά μέσα (Empty: 25%, 50% Filled: 40%, 90% Filled: 35%) συνεχίζουν να ισχύουν, συγκεντρώσαμε τα τελικά αποτελέσματα που προήλθαν από τις αντίστοιχες δοκιμές για κάθε benchmark και σας τα παραθέτουμε.

AS SSD Benchmark Total Score Secondary Drive vs OS Drive



Crystal Disk Mark

Crystal Disk Mark Read Secondary Drive vs OS Drive

Crystal Disk Mark Write Secondary Drive vs OS Drive



Anvil's Storage Utilities

Anvil's Storage Utilities Secondary Drive vs OS Drive



Τα τελικά αποτελέσματα από τις δύο αυτές σελίδες δείχνουν πως η διαφοροποίηση των αποτελεσμάτων όταν τα drive έχουν εγκατεστημένα λειτουργικό σύστημα είναι μεν υπαρκτή, υφίσταται δε σε τέτοιο βαθμό ώστε να μπορούμε να πούμε πως σε γενικές γραμμές αυτός ο παράγοντας μειώνει κατά το πολύ 10% τις επιδόσεις σε ορισμένα σενάρια. Σε κάποια άλλα σενάρια οι επιδόσεις αυξάνονται.



Windows Installation Time

Μετρήσαμε το χρόνο που πήρε στα Windows 10 x64 να εγκατασταθούν σε κάθε drive αφαιρώντας το χρόνο μεταξύ των restart καθώς επίσης και τα στάδια όπου χρειαζόταν η παρέμβασή μας για να προχωρήσει η εγκατάσταση. Προσπαθήσαμε λοιπόν να δώσουμε μία εκτίμηση του «καθαρού» χρόνου εγκατάστασης του λειτουργικού.

Windows Installation Time



Windows Boot Time

Αφού εγκαταστήσαμε το λειτουργικό, τους απαραίτητους drivers καθώς και τα βασικά προγράμματα που θα μας χρειαζόταν στη συνέχεια, μετρήσαμε το χρόνο που χρειάζονται τα Windows ώστε να πραγματοποιήσουν μία «καθαρή» εκκίνηση. Για το λόγο αυτό επιστρατεύσαμε ένα προγραμματάκι ονόματι BootRacer το οποίο μετράει τον καθαρό χρόνο που χρειάζονται τα Windows να φορτώσουν (χωρίς δηλαδή το POST, το BIOS κ.ο.κ.), αφαιρεί το χρόνο εισαγωγής του κωδικού, και προσθέτει και έναν πρόσθετο χρόνο που αντιστοιχεί στο φόρτωμα των διαφόρων υπηρεσιών μέχρι ο υπολογιστής να είναι έτοιμος για χρήση.

Windows Boot Time



Operating System Backup

Με το Acronis True Image θελήσαμε να δείξουμε το χρόνο που χρειάζεται για να δημιουργηθεί ένα πλήρες image της εγκατάστασης των Windows που χρησιμοποιούμε. Ως κατάσταση αναφοράς χρησιμοποιήθηκε η κατάσταση που βρισκόταν το λειτουργικό σύστημα μετά και την εγκατάσταση των προγραμμάτων, και για να έχετε μία τάξη μεγέθους το συμπιεσμένο Backup είχε μέγεθος περίπου 27 GB.

Operating System Backup



File Copy Test

Για τη δοκιμή αντιγραφής συγκροτήσαμε έναν φάκελο μεγέθους 15 GB ο οποίος περιελάμβανε ένα φάκελο εγκατάστασης ενός μεγάλου προγράμματος, ένα αρχείο ISO, μία ταινία mkv, καθώς και αρκετές φωτογραφίες και αρχεία word αλλά και pdf. Καταγράψαμε λοιπόν το χρόνο που χρειάζεται ώστε αυτός ο φάκελος να αντιγραφεί από τη μία σε μια άλλη θέση του SSD.

File Copy Test



Εδώ φαίνεται ότι οι συνέπειες των χαμηλών ταχυτήτων εγγραφής σειριακών δεδομένων δεν επηρεάζουν πια τόσο τα αποτελέσματα. Αυτό οφείλεται στη σημαντική αύξηση όλων των άλλων χαρακτηριστικών εγγραφής (μικρά αρχεία, αλλά και μεγάλα σε ένα βαθμό).

Για να κάνουμε ακόμη πιο ξεκάθαρο το φαινόμενο μπορείτε να παρατηρήσετε την παρακάτω εικόνα στην οποία φαίνεται πως το drive κατά την εγγραφή ενός μεγάλου αρχείου (σειριακή εγγραφή) βρίσκει ένα άνω όριο στις ταχύτητές του. Αυτό οφείλεται κυρίως στο ότι το SLC Mode που είχαμε αναλύσει σε προηγούμενο review φαίνεται να έχει πρόσβαση σε μικρότερο τμήμα της χωρητικότητας του drive. Κατά συνέπεια τα κελιά που λειτουργούν σε αυτήν την κατάσταση γεμίζουν αρκετά γρήγορα όταν γίνεται εγγραφή σειριακών αρχείων μεγέθους μεγαλύτερου του 1 GB, πράγμα που έχει ως αποτέλεσμα ο ελεγκτής να μην προλαβαίνει τη μεταφορά των αρχείων από τα κελιά της slc cache σε κενά κελιά και συνεπώς να αναγκάζεται να γράφει σε TLC mode, του οποίου οι ταχύτητες είναι αισθητά χαμηλότερες.

Archive Creation

Ένας άλλος τρόπος να μετρήσουμε την ταχύτητα των drive είναι η δημιουργία ενός archive με το γνωστό σε όλους μας WinRar. Επειδή όμως στόχος μας είναι να καταγράψουμε την επίδραση περισσότερο του drive παρά του επεξεργαστή και των μνημών, επιλέξαμε τη μέθοδο "store". Μπορείτε να τη φανταστείτε ως η διαδικασία δημιουργίας ενός αρχείου .tar, δηλαδή ενός και μόνο αρχείου που περιέχει όλα τα αρχεία που επιλέξαμε να περιέχει το archive. Πρακτικά όμως η διαφορά είναι πως παράγεται το αρχείο χωρίς να χρησιμοποιείται κάποιος αλγόριθμος συμπίεσης.

WinRar Archive Creation



Αξίζει να σημειώσουμε πως τα αρχεία που τοποθετήσαμε στο archive είναι αυτά που χρησιμοποιήσαμε παραπάνω για τη δοκιμή αντιγραφής, τα οποία περιέχουν τόσο μεγάλα όσο και πολλά μικρά αρχεία.

Antivirus Scan

Κλείνουμε το πρώτο μέρος των καθημερινών εργασίων με τη σάρωση για ιούς με μία πλήρως ενημερωμένη έκδοση του Kaspersky Internet Security 2015. Ως φάκελος επιλέχθηκε αυτός των Windows ώστε να έχουμε ένα σταθερό σημείο αναφοράς, ο οποίος περιείχε περίπου 150000 μικρά αρχεία.

Antivirus Scan





Στο δεύτερο στάδιο των μετρήσεων σε καθημερινές εργασίες χρησιμοποιήσαμε το PC Mark 8 προκειμένου να λάβουμε μία πολύπλευρη εικόνα για το πως ανταποκρίνονται τα drive σε διάφορες καθημερινές εργασίες. Το PC Mark χρησιμοποιεί αποσπάσματα (traces) από διάφορα προγράμματα και παιχνίδια όπως το Photoshop, το Illustrator, το Word, το Excel, το Battlefield, το WoW κ.ο.κ. Καταγράφει λοιπόν το συνολικό bandwidth που έδωσε κάθε drive ενώ προσφέρει ένα τελικό σκορ το οποίο αποτελεί ένα πρόσθετο μέτρο αξιολόγησης των επιδόσεων.

PC Mark 8 Bandwidth

PC Mark 8 Score



Οι διαφορές μεταξύ των SSD είναι σχετικά χαμηλές, αλλά σίγουρα υφίστανται. Η πραγματικότητα όμως είναι πως ένας χρήστης που κάνει τη μετάβαση από μηχανικό δίσκο (HDD) απλώς δεν θα ενδιαφερθεί, διότι η συνολική διαφορά στην ταχύτητα και απόκριση των δύο μέσων αποθήκευσης δεν παύει να είναι τεράστια.


Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box



Mach Xtreme MX Express PCI-e SSD 512G Review: RAID 0 out of the box

Για να αναφέρουμε τα πράγματα με το όνομά τους, το MX Express PCI-e SSD δεν αποτελεί ένα νέο προϊόν στην αγορά των SSD. Αντιθέτως, τα driver-less RAID0 PCI-e SSD απαριθμούν περί την μια 3-ετία στην αγορά, με προϊόντα που την στιγμάτισαν, όπως το MX Scorpion Deluxe της Mushkin και το ROG RAIDR Express της ASUS. Πως σχετίζεται όμως με τα σημερινά δεδομένα το PCI-e drive της Mach Xtreme;

Η απόδοση του drive είναι ταυτόσημη με οποιοδήποτε RAID 0 setup και αν συναντήσουμε, με όλα τα θετικά και τα αρνητικά που συνεπάγονται σε αυτό το configuration: θετικά όσον αφορά τις μέγιστες ταχύτητες ανάγνωσης και εγγραφής σειριακών αρχείων, που εμφανώς ξεπερνούν τις δυνατότητες του απλού SATA 6Gbps bus. Αρνητικά, όσον αφορά τις επιδόσεις του drive στις τυχαίες λειτουργίες, που περιορίστηκαν σε επίπεδα σχετικά χαμηλά - περίπου όσο ένα πολύ τυπικό SATA 6Gbps drive προηγούμενης γενιάς. Αυτό είχε ως αποτέλεσμα το MX Express PCI-e SSD να μην πληρεί ούτε στο μισό τα υποσχόμενα 100.000 IOPS που αναγράφει η Mach Xtreme για το drive που δημιούργησε.

Στο δια ταύτα, μπορεί οι σειριακές επιδόσεις του drive να είναι πολύ καλύτερες από έναν απλό SATA III δίσκο, εν τούτοις το MX Express PCI-e SSD αδυνατεί να τα βάλει με τα σύγχρονα NVME drives που ολοένα και πληθαίνουν στην αγορά. Με τα σημερινά δεδομένα, το MX Express PCI-e SSD φέρνει επιδόσεις προηγούμενης γενιάς που δεν θα εκπλήξουν τους απαιτητικούς της αποθήκευσης.

Με τιμή που αναμένεται στα 260? βάση της πληροφόρησης μας από την Mach Xtreme, που μπορεί να βρει εφαρμογή το συγκεκριμένο drive; Αφ' ενός, η τιμή του είναι εξαιρετική για την χωρητικότητα που διαθέτει, από την άλλη δίνει την δυνατότητα για ένα ελαφρώς ταχύτερο storage σε παλαιότερης αρχιτεκτονικής συστήματα μέσω της plug and play δυνατότητας του, που δεν έχουν στην διάθεσή τους την δυνατότητα για νεότερα drives NVME και M.2 drives.

Rating


Ευχαριστούμε την Mach Xtreme για την παραχώρηση του δείγματος της δοκιμής.