τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Συγγραφέας: The Fish Tank of Fat-headed Fish (Yin Haiwen)
Oracle ACE Pro: Βάση δεδομένων(Oracle与MySQL)
Συνεργάτης PostgreSQL ACE
10 χρόνια εμπειρίας στον κλάδο των βάσεων δεδομένων, που επί του παρόντος ασχολείται κυρίως με υπηρεσίες βάσεων δεδομένων
Διαθέτει OCM 11g/12c/19c, MySQL 8.0 OCP, Exadata, CDP και άλλες πιστοποιήσεις
Mo Tianlun MVP, Moli Star of the Year, πιστοποιημένος εμπειρογνώμονας ITPUB, μέλος του Expert Group of 100, OCM λέκτορας, τεχνικός σύμβουλος κοινότητας ανοιχτού κώδικα PolarDB, εξωτερικός τεχνικός σύμβουλος HaloDB, μέλος της ομάδας παρατήρησης OceanBase, Youth Association MOP Technology Community (Youth Database Learning Mutual Aid Association )Τεχνικός Σύμβουλος
Έχει τίτλους όπως "Διευθυντής", "Ασφάλεια" και "Ο μεγαλύτερος εχθρός της εγχώριας βάσης δεδομένων" στον κύκλο και δεν είναι διάσημος κοινωνικός τρομοκράτης (κοινωνικός τρομοκράτης)
Δημόσιος λογαριασμός: Δεξαμενή ψαριού με λίπος κεφάλια (CSDN): Δεξαμενή ψαριών με κεφαλή λίπους (Yin Mo Tianlun):
Εκτός εάν ανατυπωθεί με άδεια και δεν αναφέρεται η πηγή, όλα είναι "παράνομη" λογοκλοπή
Έχω εξηγήσει προηγουμένως το υλικό που εμπλέκεται σε διακομιστές όπως η CPU, ο SSD και το δίκτυο ) Η μνήμη, η μνήμη διακομιστή έχει τη δική της λειτουργία διόρθωσης σφαλμάτων, την οποία ονομάζουμε επίσης μνήμη ECC (Έλεγχος και διόρθωση σφαλμάτων).
Αυτό το τεύχος θα εξηγήσει εν συντομία πώς λειτουργεί η μνήμη ECC.
Η μνήμη είναι ένα σημαντικό στοιχείο του υπολογιστή Χρησιμοποιείται για την προσωρινή αποθήκευση δεδομένων υπολογισμού στη CPU και την ανταλλαγή δεδομένων με εξωτερικές μνήμες, όπως οι σκληροί δίσκοι. Είναι η γέφυρα μεταξύ εξωτερικής μνήμης και CPU Όλα τα προγράμματα στον υπολογιστή εκτελούνται στη μνήμη. Όσο ο υπολογιστής ξεκινά να λειτουργεί, το λειτουργικό σύστημα θα μεταφέρει τα δεδομένα που πρέπει να υπολογιστούν από τη μνήμη στη CPU για υπολογισμό Όταν ολοκληρωθεί ο υπολογισμός, η CPU θα μεταφέρει τα αποτελέσματα.
Η εμφάνιση της μνήμης είναι κυρίως για να αντισταθμίσει τις τεράστιες διαφορές εύρους ζώνης και καθυστέρησης μεταξύ της εξωτερικής αποθήκευσης και της ενσωματωμένης κρυφής μνήμης της CPU (δηλαδή L1, L2, L3, στην ουσία, είναι μεγαλύτερη από την ενσωματωμένη κρυφή μνήμη της CPU). πολύ μικρότερη από την εξωτερική αποθήκευση Η ενδιάμεση συσκευή μεταφοράς δεδομένων μπορεί να επιταχύνει εκ των προτέρων την προετοιμασία των δεδομένων από πιο αργή εξωτερική αποθήκευση, μειώνοντας ή ακόμα και εξαλείφοντας τον χρόνο αναμονής για τη λήψη δεδομένων.
Η μνήμη που χρησιμοποιούμε κυρίως στους διακομιστές είναι η μνήμη DDR. Δεν θα υπεισέλθω σε μια εις βάθος εξήγηση του τι είναι εδώ. Οι κύριες γενιές μνήμης είναι οι DDR4 και DDR5. Εκτός από τη γενική μνήμη, υπάρχει επίσης μη πτητική μνήμη PMEM που βασίζεται στη διεπαφή μνήμης (ή τη διεπαφή PCIe) (λαμβάνοντας παράδειγμα το Intel Optane), η οποία παρέχει μεγαλύτερο κομμάτι δεδομένων μεταξύ της μνήμης και της εξωτερικής αποθήκευσης και είναι κοντά στο την ταχύτητα της περιοχής της προσωρινής μνήμης.
Γενικά, οι διακομιστές φέρουν σημαντικά επιχειρηματικά συστήματα. Υπάρχουν πολλές ηλεκτρομαγνητικές παρεμβολές κατά τη λειτουργία του ηλεκτρονικού εξοπλισμού. Η CPU, με αυτόν τον τρόπο, θα προκύψουν σφάλματα κατά την εκτέλεση δεδομένων, εάν πρόκειται για ένα γενικό λογισμικό ή πρόγραμμα υπολογιστή, ενδέχεται να αναφέρει ένα σφάλμα ή σφάλμα (εξάλλου, η τράπεζα δεν θέλει να αυξηθούν τα περιουσιακά σας στοιχεία χωρίς λόγο. Λίγα 0, δεν θέλετε να μειωθούν τα περιουσιακά σας στοιχεία).
Στη συνέχεια δημιουργήθηκε η μνήμη ECC, η οποία ανακαλύπτει προληπτικά σφάλματα δεδομένων στα δεδομένα και τα διορθώνει.
Εδώ είναι δύο σχετικά πρωτόγονες λύσεις:
Δηλαδή, ένα κομμάτι δεδομένων μεταδίδεται σε 3 αντίγραφα Εάν υπάρχει κάποιο πρόβλημα σε ένα συγκεκριμένο αντίγραφο, μπορεί να διορθωθεί:
Αλλά έχουν προκύψει προβλήματα Παρόλο που η πιθανότητα εμφάνισης είναι πολύ χαμηλή, εάν δύο κομμάτια δεδομένων έχουν αναποδογυρίσματα στην ίδια θέση, τότε θα υπάρξουν προβλήματα με την επαλήθευση δεδομένων και τη διόρθωση σφαλμάτων:
Το μεγαλύτερο πρόβλημα με τη χρήση αυτής της μεθόδου είναι η σπατάλη εύρους ζώνης IO.
Με αυτόν τον τρόπο, προστίθεται ένας κωδικός διόρθωσης σφάλματος στην αρχή των δεδομένων, δηλαδή ένας κωδικός διόρθωσης σφάλματος προστίθεται πριν από κάθε τμήμα δεδομένων όταν ο αριθμός των 1 στα δεδομένα είναι ζυγός αριθμός, ο κωδικός διόρθωσης σφάλματος είναι 0, και όταν ο αριθμός είναι μονός, ο κωδικός διόρθωσης σφάλματος είναι 1.
Εάν ο κωδικός διόρθωσης σφάλματος δεν ταιριάζει με τον αριθμό των 1, τα δεδομένα αναμεταδίδονται.
Αυτό δημιουργεί επίσης πρόβλημα. Κάθε επαλήθευση μπορεί να προσδιορίσει μόνο εάν όλα τα δεδομένα είναι κανονικά. Θεωρητικά, η διόρθωση σφαλμάτων θα αυξήσει την καθυστέρηση.
Ταυτόχρονα, εάν προκύψουν δύο σφάλματα δεδομένων ταυτόχρονα, ο σκοπός της επαλήθευσης εξακολουθεί να μην μπορεί να επιτευχθεί.
Ο κώδικας Hamming είναι η κύρια μέθοδος επαλήθευσης και διόρθωσης σφαλμάτων που χρησιμοποιείται επί του παρόντος στη μνήμη ECC.
Ας προχωρήσουμε βήμα προς βήμα εδώ Τακτοποίηση δεδομένων 16-bit με τον ακόλουθο τρόπο. Ας υποθέσουμε ότι το bit 2 είναι υπεύθυνο για τον έλεγχο ισοτιμίας στο δεξί μέρος. Εάν υπάρχει σφάλμα στα δεδομένα και ο έλεγχος ισοτιμίας προσδιορίσει ότι δεν υπάρχει πρόβλημα στο δεξί μισό, τότε το πρόβλημα βρίσκεται στο αριστερό μισό, διαφορετικά το πρόβλημα βρίσκεται στο δεξί μισό.
Όπως φαίνεται στο παρακάτω σχήμα, το bit 1 εκτελεί έλεγχο ισοτιμίας στις στήλες 2 και 4 και, στη συνέχεια, το bit 1 αποθηκεύει το 1. Εάν υπάρχει πρόβλημα με τον έλεγχο ισοτιμίας στις στήλες 2 και 4, τότε το πρόβλημα βρίσκεται στις στήλες 2 και 4, διαφορετικά υπάρχει πρόβλημα στις στήλες 1 και 3.
Ο συνδυασμός των δύο παραπάνω μεθόδων μπορεί εύκολα να επιβεβαιώσει ποια στήλη δεδομένων έχει πρόβλημα:
Στη συνέχεια, χρησιμοποιήστε μια παρόμοια μέθοδο, χρησιμοποιώντας το bit 4 για να ελέγξετε τις σειρές 2 και 4 και το bit 8 για να ελέγξετε το κάτω μισό Μέσω του διαχωρισμού σειρών και του ελέγχου ισοτιμίας διαμερισμάτων, μπορείτε να βρείτε τη συγκεκριμένη θέση του σφάλματος και να εκτελέσετε διόρθωση σφάλματος (αναστροφή). Αυτό είναι.
Ωστόσο, η υπόθεση της παραπάνω κρίσης είναι ότι υπάρχει πρόβλημα με τα προεπιλεγμένα δεδομένα, αφού χρησιμοποιηθεί η παραπάνω μέθοδος για να κριθεί, το bit δεδομένων αριθ. 0 δεν περιλαμβάνεται στην προστασία εάν είναι λάθος ή όχι το παραπάνω αποτέλεσμα ελέγχου ισοτιμίας. Επομένως, χρησιμοποιούμε το bit 0 για να επαληθεύσουμε ολόκληρο το μπλοκ δεδομένων χρησιμοποιώντας τη μέθοδο στο 3.2.
Σε αυτήν την περίπτωση, εάν υπάρχουν δύο σφάλματα, τα αποτελέσματα του πλήρους ελέγχου ισοτιμίας του δίσκου και του ελέγχου ισοτιμίας διαμερισμάτων θα είναι αδύνατο να προσδιοριστεί η θέση του σφάλματος, αλλά μπορεί να προσδιοριστεί ότι ολόκληρο το μπλοκ δεδομένων είναι μη φυσιολογικό. Απλώς αναμετάδωσε τα δεδομένα.
Αλλά όταν υπάρχουν τρία σφάλματα δεδομένων, είναι αδύνατο να κριθεί.
Με έναν άλλο τρόπο, θα βρούμε ότι οι θέσεις των κωδικών ελέγχου είναι όλες 2 στην Nη δύναμη:
Ο κωδικός ελέγχου χρειάζεται μόνο να τοποθετηθεί στην Nη ισχύ του 2. Όσο μεγαλύτερο είναι το μπλοκ, τόσο λιγότερο περιεχόμενο θα καταλαμβάνει ο κωδικός διόρθωσης σφάλματος, αλλά τόσο μεγαλύτερη είναι η πιθανότητα πολλαπλών ανατροπών bit. Το γενικό μέγεθος του μπλοκ μετάδοσης ECC είναι 72 bit, τα 64 bit είναι δεδομένα και τα 8 bit είναι ο κωδικός διόρθωσης σφάλματος. Επομένως, γενικά μια μνήμη με χωρητικότητα 8G απαιτεί μόνο οκτώ σωματίδια μνήμης 1G, ενώ μια μνήμη ECC με χωρητικότητα 8G απαιτεί εννέα σωματίδια μνήμης 1G Το επιπλέον 1G χρησιμοποιείται για την αποθήκευση της επιπλέον χωρητικότητας του κωδικού διόρθωσης σφάλματος.
Ωστόσο, η διόρθωση σφαλμάτων υπολογιστή σίγουρα δεν θα υπολογίσει τη θέση του σφάλματος με τον συνήθη "ανόητο" τρόπο. Εδώ μπορούμε να χρησιμοποιήσουμε τη γοητεία του δυαδικού συστήματος.
Βγάζουμε όλες τις θέσεις που είναι 1 και εκτελούμε μια κατακόρυφη δυαδική λειτουργία OR για να πάρουμε απευθείας την προβληματική θέση:
Συνημμένο: Υπάρχει επίσης ένας κώδικας ελέγχου ισοτιμίας χαμηλής πυκνότητας (LDPC), ο οποίος είναι ένας κώδικας ελέγχου ισοτιμίας χαμηλής πυκνότητας Η συγκεκριμένη αρχή υλοποίησης δεν θα εξηγηθεί εδώ χρησιμοποιείται για τη διόρθωση SSD. Λόγω της υψηλής ταχύτητας και του κόστους υλοποίησης της μνήμης, οι κωδικοί Hamming εξακολουθούν να χρησιμοποιούνται για την εφαρμογή ECC.
Αυτό το τεύχος παρουσιάζει εν συντομία πώς η μνήμη ECC εφαρμόζει τη διόρθωση σφαλμάτων.
Ο παλιός κανόνας είναι να ξέρεις τι γράφεται.