Η χρήση της μνήμης flash για την εκτέλεση ενός επιτραπέζιου συστήματος, όπως τα Windows, συνιστάται να μην χρησιμοποιείται για αρκετό καιρό. Αλλά τι την έκανε μια επιθυμητή και βιώσιμη επιλογή για φορητές συσκευές; Η σημερινή ανάρτηση ερωτηματολογίων SuperUser έχει την απάντηση σε μια ερώτηση περίεργου αναγνώστη.
Η σημερινή συνεδρία Ερωτήσεων & Απαντήσεων μας προσφέρει ευγενική προσφορά του SuperUser - μια υποδιαίρεση του Stack Exchange, μιας ομάδας ιστότοπων Q&A που βασίζεται στην κοινότητα.
Το ερώτημα
Ο αναγνώστης SuperUser RockPaperLizard θέλει να μάθει τι κάνει τη μνήμη flash eMMC βιώσιμη σε κινητές συσκευές, αλλά όχι σε υπολογιστές:
Από τότε που εφευρέθηκαν οι μονάδες flash USB, οι άνθρωποι αναρωτήθηκαν αν μπορούσαν να τρέξουν τα λειτουργικά τους συστήματα σε αυτά. Η απάντηση ήταν πάντα «όχι» επειδή ο αριθμός των εγγραφών που απαιτούνται από ένα λειτουργικό σύστημα θα τις φθείρει γρήγορα.
Καθώς τα SSD έχουν γίνει πιο δημοφιλή, η τεχνολογία ισοπέδωσης της φθοράς έχει βελτιωθεί, ώστε να επιτρέπεται η λειτουργία των λειτουργικών συστημάτων. Διάφορα tablet, netbook και άλλοι λεπτοί υπολογιστές χρησιμοποιούν μνήμη flash αντί για σκληρό δίσκο ή SSD και το λειτουργικό σύστημα είναι αποθηκευμένο σε αυτό.
Πώς έγινε αυτό ξαφνικά πρακτικό; Εφαρμόζουν συνήθως τεχνολογίες ισοπέδωσης φθοράς, για παράδειγμα;
Τι κάνει τη μνήμη flash eMMC βιώσιμη σε φορητές συσκευές, αλλά όχι σε υπολογιστές;
Η απάντηση
Οι συντελεστές SuperUser Speeddymon και Journeyman Geek έχουν την απάντηση για εμάς. Πρώτα πάνω, Speeddymon:
Όλες οι συσκευές μνήμης flash, από tablet σε κινητά τηλέφωνα, έξυπνα ρολόγια, SSD, κάρτες SD σε κάμερες και μονάδες δίσκου USB χρησιμοποιούν τεχνολογία NVRAM. Η διαφορά είναι στην αρχιτεκτονική NVRAM και στον τρόπο με τον οποίο το λειτουργικό σύστημα προσαρμόζει το σύστημα αρχείων σε οποιοδήποτε μέσο αποθήκευσης είναι.
Για tablet Android και κινητά τηλέφωνα, η τεχνολογία NVRAM βασίζεται σε eMMC. Τα δεδομένα που μπορώ να βρω σε αυτήν την τεχνολογία προτείνουν μεταξύ 3k έως 10k κύκλους εγγραφής. Δυστυχώς, κανένα από αυτά που βρήκα μέχρι στιγμής δεν είναι οριστικό, καθώς η Wikipedia είναι κενή στους κύκλους γραφής αυτής της τεχνολογίας. Όλα τα άλλα μέρη που κοίταξα ήταν διάφορα φόρουμ, τόσο δύσκολα όσο θα αποκαλούσα αξιόπιστη πηγή.
Για λόγους σύγκρισης, οι κύκλοι εγγραφής σε άλλες τεχνολογίες NVRAM, όπως SSD, που χρησιμοποιούν τεχνολογία NAND ή NOR, κυμαίνονται μεταξύ 10k και 30k.
Τώρα, σχετικά με την επιλογή του λειτουργικού συστήματος για το πώς να προσαρτήσετε το σύστημα αρχείων. Δεν μπορώ να μιλήσω για το πώς το κάνει η Apple, αλλά για το Android, το τσιπ χωρίζεται όπως θα ήταν ένας σκληρός δίσκος. Έχετε ένα διαμέρισμα λειτουργικού συστήματος, ένα διαμέρισμα δεδομένων και πολλά άλλα ιδιόκτητα διαμερίσματα ανάλογα με τον κατασκευαστή της συσκευής.
Το πραγματικό διαμέρισμα ρίζας ζει μέσα στο bootloader, το οποίο ομαδοποιείται ως συμπιεσμένο αρχείο (jffs2, cramfs κ.λπ.) μαζί με τον πυρήνα, έτσι ώστε όταν ολοκληρωθεί η εκκίνηση του σταδίου 1 της συσκευής (συνήθως η οθόνη λογότυπου του κατασκευαστή), τότε ο πυρήνας οι μπότες και το ριζικό διαμέρισμα τοποθετούνται ταυτόχρονα ως δίσκος RAM.
Καθώς το λειτουργικό σύστημα ξεκινά, προσαρτά το σύστημα αρχείων του πρωτεύοντος διαμερίσματος (/ το οποίο είναι jffs2 σε συσκευές πριν από το Android 4.0, ext2 / 3/4 σε συσκευές από το Android 4.0 και xfs στις πιο πρόσφατες συσκευές) ως μόνο για ανάγνωση ότι δεν μπορούν να γραφτούν δεδομένα. Αυτό, φυσικά, μπορεί να επιλυθεί με το λεγόμενο "rooting" της συσκευής σας, το οποίο σας δίνει πρόσβαση ως σούπερ χρήστης και σας επιτρέπει να επανατοποθετήσετε το διαμέρισμα ως ανάγνωση / εγγραφή. Τα δεδομένα "χρήστη" γράφονται σε διαφορετικό διαμέρισμα στο chip (/ data, το οποίο ακολουθεί την ίδια σύμβαση με το παραπάνω με βάση την έκδοση Android).
Με όλο και περισσότερα κινητά τηλέφωνα να ρίχνουν υποδοχές κάρτας SD, ίσως νομίζετε ότι θα χτυπήσετε το όριο κύκλου εγγραφής νωρίτερα, επειδή όλα τα δεδομένα σας τώρα αποθηκεύονται στον χώρο αποθήκευσης eMMC αντί για κάρτα SD. Ευτυχώς, τα περισσότερα συστήματα αρχείων εντοπίζουν μια αποτυχημένη εγγραφή σε μια δεδομένη περιοχή αποθήκευσης. Εάν μια εγγραφή αποτύχει, τότε τα δεδομένα αποθηκεύονται σιωπηλά σε μια νέα περιοχή αποθήκευσης και η κακή περιοχή (γνωστή ως κακό μπλοκ) αποκλείεται από το πρόγραμμα οδήγησης συστήματος αρχείων, έτσι ώστε τα δεδομένα να μην γράφονται πλέον εκεί στο μέλλον. Εάν μια ανάγνωση αποτύχει, τότε τα δεδομένα επισημαίνονται ως κατεστραμμένα και είτε ο χρήστης έχει την εντολή να εκτελέσει έλεγχο συστήματος αρχείων (ή έλεγχος δίσκου), είτε η συσκευή ελέγχει αυτόματα το σύστημα αρχείων κατά την επόμενη εκκίνηση.
Στην πραγματικότητα, η Google διαθέτει δίπλωμα ευρεσιτεχνίας για αυτόματη ανίχνευση και χειρισμό κακών μπλοκ: Διαχείριση κακών μπλοκ στη μνήμη flash για ηλεκτρονική κάρτα flash δεδομένων
Για να φτάσετε περισσότερο στο σημείο, η ερώτησή σας σχετικά με το πώς αυτό έγινε ξαφνικά πρακτικό δεν είναι η σωστή ερώτηση. Δεν ήταν ποτέ πρακτικό. Συνιστάται ανεπιφύλακτα να μην εγκαταστήσετε ένα λειτουργικό σύστημα (Windows) σε SSD (πιθανώς) λόγω του αριθμού των εγγραφών που κάνει σε έναν δίσκο.
Για παράδειγμα, το μητρώο λαμβάνει κυριολεκτικά εκατοντάδες αναγνώσεις και γραφές ανά δευτερόλεπτο, τις οποίες μπορείτε να δείτε με το Εργαλείο Microsoft-SysInternals Regmon .
Η εγκατάσταση των Windows συνιστάται κατά των SSD πρώτης γενιάς, επειδή με την έλλειψη ισοπέδωσης φθοράς, τα δεδομένα που γράφτηκαν στο μητρώο κάθε δευτερόλεπτο (πιθανότατα) έφτασαν τελικά στους πρώτους υιοθέτες και οδήγησαν σε μη εκκινήσιμα συστήματα λόγω καταστροφής μητρώου.
Με tablet, κινητά τηλέφωνα και σχεδόν οποιαδήποτε άλλη ενσωματωμένη συσκευή, δεν υπάρχει μητρώο (οι ενσωματωμένες συσκευές Windows αποτελούν εξαιρέσεις, φυσικά) και επομένως, δεν υπάρχει λόγος ανησυχίας για την εγγραφή δεδομένων στα ίδια μέρη του μέσου flash.
Για ενσωματωμένες συσκευές Windows, όπως πολλά από τα περίπτερα που βρίσκονται σε δημόσιους χώρους (όπως Walmart, Kroger κ.λπ.) όπου ενδέχεται να βλέπετε ένα τυχαίο BSOD κατά καιρούς, δεν υπάρχει πλήρης διαμόρφωση που μπορεί να γίνει αφού είναι προ-σχεδιασμένα με διαμορφώσεις που δεν πρόκειται ποτέ να αλλάξουν Η μόνη αλλαγή χρόνου είναι πριν από την εγγραφή του chip στις περισσότερες περιπτώσεις. Οτιδήποτε πρέπει να αποθηκευτεί, όπως η πληρωμή σας στο μανάβικο, γίνεται μέσω του δικτύου στις βάσεις δεδομένων του καταστήματος σε έναν διακομιστή.
Ακολούθησε η απάντηση του Journeyman Geek:
Η απάντηση ήταν πάντα «όχι» επειδή ο αριθμός των εγγραφών που απαιτούνται από ένα λειτουργικό σύστημα θα τις φθείρει γρήγορα.
Τελικά έγιναν οικονομικά αποδοτικοί για την κύρια χρήση. Ότι η «φθορά» είναι η μόνη ανησυχία είναι λίγο μια υπόθεση. Υπήρχαν συστήματα που τρέχουν μνήμη στερεάς κατάστασης για σημαντικό χρονικό διάστημα. Πολλοί άνθρωποι που δημιούργησαν car-puters ξεκίνησαν τις κάρτες CF (που ήταν ηλεκτρικά συμβατές με PATA και ασήμαντες για εγκατάσταση σε σύγκριση με τους σκληρούς δίσκους PATA), και οι βιομηχανικοί υπολογιστές είχαν μικρό, στιβαρό χώρο αποθήκευσης με βάση το flash.
Τούτου λεχθέντος, δεν υπήρχαν πολλές επιλογές για το μέσο άτομο. Θα μπορούσατε να αγοράσετε μια pricy κάρτα CF και έναν προσαρμογέα για φορητό υπολογιστή ή να βρείτε έναν μικρό, πολύ ακριβό βιομηχανικό δίσκο σε μια μονάδα μονάδας για επιτραπέζιο υπολογιστή. Δεν ήταν πολύ μεγάλες σε σύγκριση με τους σύγχρονους σκληρούς δίσκους (οι σύγχρονοι IDE DOM ξεπερνούν τα 8 GB ή τα 16 GB νομίζω). Είμαι πολύ σίγουρος ότι θα μπορούσατε να έχετε ρυθμίσει τις μονάδες δίσκου στερεάς κατάστασης πριν γίνουν κοινές οι τυπικές SSD.
Δεν γνωρίζω καθόλου καθολικές / μαγικές βελτιώσεις στο επίπεδο ισοπέδωσης της φθοράς. Υπήρξαν στοιχειώδεις βελτιώσεις ενώ απομακρυνόμασταν από το pricy SLC σε MLC, TLC και ακόμη και QLC μαζί με μικρότερα μεγέθη διεργασιών (όλα με χαμηλότερο κόστος με υψηλότερο κίνδυνο φθοράς). Το Flash έχει γίνει πολύ φθηνότερο.
Υπήρχαν επίσης μερικές εναλλακτικές που δεν είχαν προβλήματα φθοράς. Για παράδειγμα, η εκτέλεση ολόκληρου του συστήματος από ROM (η οποία είναι αναμφισβήτητα αποθήκευση στερεάς κατάστασης) και RAM με μπαταρία, την οποία χρησιμοποίησαν πολλές πρώιμες SSD και φορητές συσκευές όπως το Palm Pilot. Κανένα από αυτά δεν είναι κοινό σήμερα. Οι σκληροί δίσκοι συγκλόνισαν σε σύγκριση με την αλήθεια, η υποστηριζόμενη από μπαταρία RAM (πολύ ακριβή), οι συσκευές πρώιμης στερεάς κατάστασης (κάπως ακριβές) αγρότες με σημαίες (δεν πιάστηκε ποτέ λόγω τρομερής πυκνότητας δεδομένων). Ακόμη και η σύγχρονη μνήμη flash είναι απόγονος των γρήγορων σβήνοντας eeproms και τα eeproms έχουν χρησιμοποιηθεί σε ηλεκτρονικές συσκευές για αποθήκευση πραγμάτων όπως υλικολογισμικού για αιώνες.
Οι σκληροί δίσκοι ήταν απλά σε μια ωραία διασταύρωση μεγάλου όγκου (που είναι σημαντικό), χαμηλού κόστους και σχετικά επαρκούς αποθηκευτικού χώρου.
Ο λόγος για τον οποίο βρίσκετε τα eMMC σε μοντέρνους υπολογιστές χαμηλού επιπέδου είναι ότι τα εξαρτήματα είναι σχετικά φθηνά, αρκετά μεγάλα (για λειτουργικά συστήματα επιτραπέζιου υπολογιστή) με αυτό το κόστος και μοιράζονται την ομοιότητα με στοιχεία κινητού τηλεφώνου, οπότε παράγονται μαζικά με μια τυπική διεπαφή. Δίνουν επίσης μεγάλη πυκνότητα αποθήκευσης για τον όγκο τους. Λαμβάνοντας υπόψη ότι πολλά από αυτά τα μηχανήματα έχουν μια αραιή μονάδα δίσκου 32 GB ή 64 GB, σε σύγκριση με τους σκληρούς δίσκους από το καλύτερο μέρος μιας δεκαετίας πριν, είναι μια λογική επιλογή σε αυτόν τον ρόλο.
Επιτέλους φτάνουμε στο σημείο όπου μπορείτε να αποθηκεύσετε μια λογική ποσότητα μνήμης με προσιτή τιμή και με λογικές ταχύτητες σε eMMCs και φλας, γι 'αυτό οι άνθρωποι πηγαίνουν για αυτά.
Έχετε κάτι να προσθέσετε στην εξήγηση; Ήχος στα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange; Δείτε ολόκληρο το νήμα συζήτησης εδώ .
Πιστωτική εικόνα: Μάρτιν Βολτρί (Flickr)