Τα Solid State Drives κερδίζουν διαρκώς σε δηµοφιλία. Η
υπεροχή τους έναντι των παραδοσιακών σκληρών δίσκων είναι αδιαµφισβήτητη. Πώς
λειτουργούν όµως;
Ένας σκληρός δίσκος
αποθηκεύει δεδοµένα σε περιστρεφόµενους µαγνητικούς δίσκους. Έχει έναν
κινούµενο βραχίονα µε κεφαλές, τις οποίες κινεί στις επιφάνειες των δίσκων,
ώστε να γραφτούν ή να διαβαστούν αποθηκευµένα δεδοµένα από τις επιφάνειες των
δίσκων.
Λόγω αυτής της
κίνησης του βραχίονα επάνω από την επιφάνεια των δίσκων απαιτείται κάποιος
χρόνος προκειµένου να τοποθετηθούν οι κεφαλές στο επιθυµητό σηµείο κάθε φορά,
για εγγραφή ή και ανάγνωση. Επίσης, όταν κάποια αρχεία είναι αποθηκευµένα σε
διαφορετικά σηµεία στους δίσκους, ο βραχίονας πρέπει να κινηθεί και να αλλάξει
θέση περισσότερες από µία φορές για να ολοκληρωθεί η διαδικασία. Επιπρόσθετα,
εάν ο σκληρός δίσκος έχει βρεθεί σε κατάσταση αναµονής, θα χρειαστούν επιπλέον
µερικά δευτερόλεπτα µέχρι να ενεργοποιηθεί το µοτέρ και να τεθεί ξανά σε
λειτουργία.
Ήταν ξεκάθαρο ευθύς
εξαρχής ότι οι σκληροί δίσκοι, λόγω του τρόπου λειτουργίας τους, δεν επρόκειτο
να φτάσουν ποτέ τους επεξεργαστές σε ταχύτητα. Ο χρόνος απόκρισης των δίσκων
µετριέται σε milliseconds, ενώ αυτός των CPU σε nanoseconds. Ένα millisecond
είναι 1.000.000 nanoseconds κι ένας σκληρός δίσκος χρειάζεται 10-15
milliseconds για να βρει δεδοµένα και να αρχίσει να τα διαβάζει από την
επιφάνεια του δίσκου όπου είναι αποθηκευµένα.
Οι κατασκευαστές
προσπάθησαν να βελτιώσουν τις επιδόσεις των σκληρών δίσκων, µε υλοποιήσεις
µικρότερης διαµέτρου, ενσωµατώνοντας ενδιάµεσες µνήµες cache και αυξάνοντας την
ταχύτητα περιστροφής. Όµως, ακόµη και οι VelociRaptor της Western Digital, οι
ταχύτεροι σκληροί δίσκοι που έχουν δηµιουργηθεί ποτέ για καταναλωτές, οι οποίοι
περιστρέφονται µε 10.000 στροφές το λεπτό, δεν µπορούν ούτε κατά διάνοια να
συγκριθούν σε επιδόσεις µε τους επεξεργαστές.
Τα Solid State
Drives [στερεάς κατάστασης] οφείλουν το όνοµά τους στο γεγονός ότι δεν έχουν
κινούµενα µέρη. Τα δεδοµένα αποθηκεύονται σε συστοιχίες µνήµης NAND flash. Η
NAND –σε αντίθεση µε τα τρανζίστορ της µνήµης DRAM, που χρειάζεται να
ανανεώνεται αρκετές φορές το δευτερόλεπτο– έχει σχεδιαστεί για να παραµείνει
στην κατάσταση στην οποία έχει φορτιστεί ακόµη κι αν δεν τροφοδοτείται µε
ρεύµα, οπότε και διατηρεί τα αποθηκευµένα δεδοµένα.
Τα ηλεκτρόνια
αποθηκεύονται στη “floating gate”, η οποία κατόπιν διαβάζει τα φορτισµένα “0” ή
µη φορτισµένα “1.” Στη NAND flash, το 0 σηµαίνει ότι τα δεδοµένα είναι αποθηκευµένα
–σε αντίθεση µε ό,τι πιστεύουµε πως σηµαίνει ένα µηδενικό! Η NAND flash είναι
οργανωµένη σε πίνακες. Ένας πίνακας αναφέρεται ως µπλοκ, ενώ οι γραµµές που
απαρτίζουν το µπλοκ αποτελούν µία σελίδα. Τα συνηθισµένα µεγέθη σελίδων είναι
2K, 4K, 8K ή 16K, και ανά µπλοκ υπάρχουν 128 έως 256 σελίδες. Ανάλογα, το
µέγεθος ενός µπλοκ είναι από 256KB [2x128] έως 4MB [16x256].
Το πρώτο
πλεονέκτηµα που προκύπτει είναι ευνόητο και αφορά στην ταχύτητα, αφού ένα SSD
είναι µνήµη και δεν έχει µηχανικά µέρη. Στον πίνακα 1, µπορείτε να δείτε τους
τυπικούς χρόνους προσπέλασης διαφορετικών µέσων αποθήκευσης, οι οποίοι έχουν
αναχθεί σε microseconds για ευκολότερη σύγκριση. Η NAND δεν είναι τόσο γρήγορη
όσο η DRAM, αλλά είναι ασύγκριτα ταχύτερη από τους σκληρούς δίσκους.
Στον πίνακα,
υπάρχουν δύο σηµαντικά σηµεία που αξίζουν την προσοχή µας. Το πρώτο αφορά στο
γεγονός ότι, όταν προστίθενται περισσότερα bits ανά κελί της NAND, επηρεάζεται
σηµαντικά η απόδοση της µνήµης, ειδικά στην ταχύτητα εγγραφής. Ο τυπικός χρόνος
απόδοσης ενός κελιού τριπλού επιπέδου [TLC] είναι τέσσερις φορές χειρότερος από
αυτόν του µονού επιπέδου [SLC] όσον αφορά στην ανάγνωση και έξι φορές
χειρότερος για εγγραφές. H TLC NAND, όπως φαίνεται, είναι και δύο φορές πιο
αργή από την MLC, παρότι διατηρεί µόλις 50% περισσότερα δεδοµένα, δηλαδή τρία
bits ανά κελί αντί για δύο.
Ο λόγος που η TLC
είναι πιο αργή από την MLC και την SLC σχετίζεται µε τον τρόπο µε τον οποίο
µεταφέρονται τα δεδοµένα εντός και εκτός των κελιών της NAND. Στην SLC, ο
ελεγκτής χρειάζεται να ξέρει µόνο εάν τα bits είναι 0 ή 1. Στην MLC NAND, το
κελί µπορεί να έχει τέσσερις τιµές [00, 01, 10 ή 11], ενώ στην TLC το κελί
µπορεί να έχει οκτώ τιµές. Για την ανάγνωση της τιµής των κελιών, ο memory
controller χρησιµοποιεί υψηλής ακρίβειας ηλεκτρική τάση για να βεβαιώσει εάν
κάθε κελί είναι φορτισµένο ή όχι.
Πηγή:
pcmag.gr
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου