Τα κριτήρια αναφοράς είναι σαφή: Μονάδες στερεάς κατάστασης επιβραδύνετε καθώς τα γεμίζετε. Γεμίστε τη μονάδα στερεάς κατάστασης σε σχεδόν χωρητικότητα και η απόδοση εγγραφής θα μειωθεί δραματικά. Ο λόγος για τον οποίο βρίσκεται ο τρόπος αποθήκευσης SSD και NAND Flash.
Η πλήρωση της μονάδας σε χωρητικότητα είναι μία από τις πράγματα που δεν πρέπει ποτέ να κάνετε με μια μονάδα στερεάς κατάστασης . Μια σχεδόν πλήρης μονάδα δίσκου στερεάς κατάστασης θα έχει πολύ πιο αργές λειτουργίες εγγραφής, επιβραδύνοντας τον υπολογιστή σας.
Κενά μπλοκ και μερικώς γεμισμένα μπλοκ
Όταν γράφετε ένα αρχείο στη μονάδα στερεάς κατάστασης, αναζητά κενά μπλοκ και τα γεμίζει. Η εγγραφή σε ένα κενό μπλοκ είναι η ταχύτερη δυνατή λειτουργία εγγραφής. Αυτός είναι ο λόγος για τον οποίο νέα λειτουργικά συστήματα (Windows 7 και μεταγενέστερα) υποστηρίζουν τη λειτουργία TRIM, η οποία διαγράφει αυτόματα τα δεδομένα ενός αρχείου από τη μονάδα στερεάς κατάστασης μόλις διαγράψετε το αρχείο στο λειτουργικό σας σύστημα. Αυτό λειτουργεί διαφορετικά από τους μαγνητικούς σκληρούς δίσκους, όπου κομμάτια διαγραμμένων αρχείων κάθονται στον σκληρό δίσκο .
Δεν κάθονται σε μια μονάδα στερεάς κατάστασης - το TRIM διασφαλίζει ότι το μπλοκ αδειάζει, ώστε το SSD να μπορεί γρήγορα να γράφει νέα δεδομένα στο κενό μπλοκ στο μέλλον. Το γράψιμο σε έναν ήδη γραμμένο τομέα είναι εξίσου γρήγορο με το γράψιμο σε έναν κενό τομέα σε έναν μηχανικό σκληρό δίσκο, αλλά ένας δίσκος στερεάς κατάστασης πρέπει να διαγράψει ένα μπλοκ πριν γράψει σε αυτόν.
Η μνήμη Flash NAND γράφει δεδομένα σε σελίδες 4 KB μέσα σε μπλοκ 256 KB. Για να προσθέσετε επιπλέον σελίδες σε ένα μερικώς γεμάτο μπλοκ, η μονάδα στερεάς κατάστασης πρέπει να διαγράψει ολόκληρο το μπλοκ πριν γράψει δεδομένα σε αυτό.
Καθώς η μονάδα στερεάς κατάστασης γεμίζει, διατίθενται λιγότερα κενά μπλοκ. Στη θέση τους είναι μερικώς γεμάτα μπλοκ. Η μονάδα δίσκου στερεάς κατάστασης δεν μπορεί απλώς να γράψει τα νέα δεδομένα σε αυτά τα μερικώς γεμάτα μπλοκ - κάτι που θα διαγράψει τα υπάρχοντα δεδομένα. Αντί για μια απλή λειτουργία εγγραφής, η μονάδα στερεάς κατάστασης πρέπει να διαβάσει την τιμή του μπλοκ στην προσωρινή μνήμη της, να τροποποιήσει την τιμή με τα νέα δεδομένα και, στη συνέχεια, να την γράψει ξανά. Λάβετε υπόψη ότι η σύνταξη ενός αρχείου πιθανότατα θα περιλαμβάνει εγγραφή σε πολλά μπλοκ, οπότε αυτό μπορεί να εισαγάγει ένα σημαντικό ποσό επιπλέον καθυστέρησης.
Το TRIM δεν ενοποιεί μερικώς γεμάτα μπλοκ
Εάν γεμίσετε μια μονάδα δίσκου σε χωρητικότητα ή σχεδόν χωρητικότητα, είναι πιθανό ότι θα καταλήξετε με πολλά μερικώς μπλοκ αφού διαγράψετε αρχεία. Η εντολή TRIM απλώς κατευθύνει μια μονάδα στερεάς κατάστασης για την κατάργηση δεδομένων αρχείου όταν το αρχείο διαγραφεί. Δεν αναγκάζει τη μονάδα να κάνει οποιαδήποτε λειτουργία καθαρισμού.
Με άλλα λόγια, συμπληρώστε μια μονάδα δίσκου στερεάς κατάστασης σε χωρητικότητα προτού διαγράψετε αρχεία και πιθανότατα θα καταλήξετε σε πολλά μερικώς γεμάτα μπλοκ. Η μονάδα δίσκου δεν θα ξεφύγει για να ενοποιήσει αυτά τα μερικώς γεμάτα μπλοκ σε πλήρη μπλοκ, απελευθερώνοντας άδεια μπλοκ. Η μονάδα δίσκου θα εξακολουθεί να είναι γεμάτη μερικώς γεμάτη μπλοκ και η απόδοση εγγραφής θα υποβαθμιστεί.
Υπερπαραγωγή και συλλογή απορριμμάτων
Για να αποτρέψουν τους καταναλωτές από το να γεμίσουν τις μονάδες δίσκου στερεάς κατάστασης και να καταλήξουν σε σοβαρά υποβαθμισμένη απόδοση, οι κατασκευαστές SSD ξεφεύγουν από το δρόμο τους για να το αντιμετωπίσουν.
Οι μονάδες στερεάς κατάστασης για καταναλωτές συχνά αφαιρούν περίπου το 7% του συνολικού τους αποθηκευτικού χώρου flash και το καθιστούν μη διαθέσιμο στον χρήστη. Αυτό είναι γνωστό ως "υπερπροσφορά" - επιπλέον υλικό αποθήκευσης προστίθεται στη μονάδα δίσκου, αλλά δεν είναι ορατό στον υπολογιστή ως διαθέσιμο αποθηκευτικό χώρο που μπορεί να χρησιμοποιήσει. Ο εφεδρικός χώρος διασφαλίζει ότι η μονάδα δίσκου δεν μπορεί ποτέ να γεμίσει πλήρως - θα υπάρχει πάντα κάποια πλεονάζουσα χωρητικότητα για να διατηρηθεί η απόδοση της εγγραφής σταθερή.
Κάθε ελεγκτής μονάδας στερεάς κατάστασης έχει έναν αλγόριθμο συλλογής απορριμμάτων για να προσπαθήσει να μετριάσει αυτό το πρόβλημα. Όταν η μονάδα δίσκου γεμίσει, θα αναζητήσει μερικώς γεμάτα μπλοκ και θα αρχίσει να τα ενοποιεί, απελευθερώνοντας όσο το δυνατόν περισσότερα κενά μπλοκ. Διαφορετικές μονάδες στερεάς κατάστασης εκτελούν αυτές τις λειτουργίες σε διαφορετικούς χρόνους και κατώτατα όρια - αυτό εξαρτάται από τον ελεγκτή της μονάδας.
Απόδειξη συγκριτικής αξιολόγησης
Η Anandtech πραγματοποίησε μια ποικιλία κριτηρίων με διαφορετικές μονάδες δίσκου για να πειράξει τη σχέση μεταξύ του εφεδρικού χώρου μιας μονάδας στερεάς κατάστασης και της συνέπειας της απόδοσης λειτουργίας εγγραφής. Κατά την πλήρωση μιας κενής μονάδας δίσκου, βρήκαν υψηλή απόδοση εγγραφής πολύ νωρίς στη διαδικασία και σημαντική πτώση καθώς οι εργασίες εγγραφής συνέχισαν να γεμίζουν τη μονάδα δίσκου.
Το να αναιρέσετε περισσότερο εφεδρικό χώρο στις μονάδες βοήθησε την απόδοση να παραμείνει συνεπής, καθώς εξασφάλισε ότι η μονάδα δίσκου θα πρέπει πάντα να διαθέτει αρκετά κενά μπλοκ έτοιμα.
Διαπίστωσαν ότι «η ελάχιστη απόδοση βελτιώνεται σημαντικά μόλις φτάσετε το 25% του εφεδρικού χώρου για αυτές τις [consumer] μονάδες». Η τελική τους πρόταση ήταν ότι θα πρέπει να «σχεδιάσετε να χρησιμοποιήσετε μόνο περίπου το 75% της χωρητικότητας [your drive’s] εάν θέλετε μια καλή ισορροπία μεταξύ της συνοχής της απόδοσης και της χωρητικότητας».
Εάν διαθέτετε μονάδα δίσκου στερεάς κατάστασης, θα πρέπει να προσπαθήσετε να αποφύγετε τη χρήση άνω του 75% της χωρητικότητάς της. Αγοράστε μια μεγαλύτερη μονάδα δίσκου με περισσότερο χώρο αποθήκευσης από ό, τι χρειάζεστε και θα διασφαλίσετε ότι έχετε πάντα σταθερή απόδοση εγγραφής. Ευτυχώς, τα SSD σταδιακά γίνονται πολύ φθηνότερα, οπότε αυτό δεν είναι τόσο ακριβό όσο ήταν κάποτε.
Πιστωτική εικόνα: Ταξινόμηση μουσικής στο Wikimedia Commons , Simon Wüllhorst στο Flickr