Στέλιος A. Κορκοτσίδης

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Στέλιος A. Κορκοτσίδης"

Transcript

1 Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Μεταπτυχιακό Δίπλωμα Ειδίκευσης στα Ολοκληρωμένα Συστήματα Υλικού-Λογισμικού Διπλωματική Εργασία Αρχιτεκτονική αποκωδικοποιητών μεταβλητού ρυθμού για LDPC κώδικες και εφαρμογή σε ημιαγωγικές μνήμες τύπου NAND Flash Στέλιος A. Κορκοτσίδης Επιβλέπων Καθηγητής: Θεόδωρος Αντωνακόπουλος Πάτρα, Μάιος 2016

2

3 Ευχαριστίες Θα ήθελα να ευχαριστήσω τα μέλη της τριμελούς επιτροπής κ. Οδυσσέα Κουφοπαύλου και κ. Κωνσταντίνο Μπερμπερίδη, και ιδιαίτερα τον επιβλέποντα καθηγητή μου κ. Αντωνακόπουλο, για τη συνδρομή τους.

4

5 Περίληψη Οι ημιαγωγικές μνήμες έχουν αυξήσει σημαντικά την πυκνότητα αποθήκευσής τους τα τελευταία χρόνια προωθώντας έτσι την ανάπτυξη συστημάτων αποθήκευσης υψηλών χωρητικοτήτων, με αυξημένες ταχύτητες και χαμηλή κατανάλωση. Ωστόσο, η μείωση της κλίμακας ολοκλήρωσης των μνημών στερεάς κατάστασης και η χρήση κελιών πολλών επιπέδων δημιούργησε ένα πλήθος τεχνικών προβλημάτων, τα οποία σχετίζονται με τη μειωμένη διάρκεια ζωής των μνημών και αξιοπιστία των δεδομένων. Η επίλυση των προβλημάτων αυτών επιτυγχάνεται με τη χρήση κωδίκων διόρθωσης σφαλμάτων, όπως οι Low Density Parity Check (LDPC). Οι LDPC έχουν χρησιμοποιηθεί εκτενώς στα τηλεπικοινωνιακά συστήματα λόγω των υψηλών ικανοτήτων τους στη διόρθωση σφαλμάτων. Πρόσφατα, αυτή η ομάδα κωδίκων άρχισε να αξιοποιείται και σε αποθηκευτικά συστήματα υψηλών επιδόσεων ειδικά όταν χρησιμοποιούνται τεχνολογίες ημιαγωγικών μνημών. Το βασικό μειονέκτημα της χρήσης των LDPC στα συστήματα αποθήκευσης με μεγάλο αριθμό παράλληλων καναλιών είναι η αυξημένη πολυπλοκότητα και το κόστος της υλοποίησης των κυκλωμάτων, ειδικά όταν χρησιμοποιούνται κώδικες μεταβλητού ρυθμού. Στην παρούσα διπλωματική εργασία παρουσιάζουμε την αρχιτεκτονική ενός αποθηκευτικού συστήματος που χρησιμοποιεί κώδικες LDPC μεταβλητού ρυθμού, προσαρμόζοντας την ισχύ τους ανάλογα με την κατάσταση γήρανσης των συσκευών. Για να μειώσουμε τη συνολική πολυπλοκότητα, τοποθετούμε τους αποκωδικοποιητές LDPC σε μία δεξαμενή προσβάσιμη από όλους τους SSD. Επιπλέον, για την αξιόπιστη και ακριβή μέτρηση των επιδόσεων και της ζωής του συστήματος, αναπτύσσουμε ένα μοντέλο των κελιών μνήμης, το οποίο μπορεί να περιγράψει με ακρίβεια οποιαδήποτε τεχνολογία NAND Flash, χρησιμοποιώντας πειραματικές μετρήσεις πραγματικών ολοκληρωμένων κυκλωμάτων. Τέλος, με βάση την πλατφόρμα CUDA, υλοποιούμε ένα αποκωδικοποιητή LDPC σε μία κάρτα γραφικών και συγκρίνουμε τις επιδόσεις του σε σχέση με την αντίστοιχη υλοποίηση σε CPU.

6

7 Abstract Silicon memories have severely increased their storage density the last decade, launching this way the development of storage systems with high capacities, high I/O rates and low consumption. However, the scaling of solid state memory technologies and the use of multi-level cells has generated a number of new and challenging technical problems, which are mainly related with the decreasing lifetime of the devices and the reduced data reliability. The solution to these problems is mainly accomplished by using Error Correction Codes, such as Low Density Parity Check (LDPC). LDPC codes have been extensively used in communication systems due to their high performance in error correction. Recently, this group of codes started to be exploited in high performance storage systems as well, especially when solid state devices are used. Their main drawback of using LDPC in storage systems with large number of parallel NVM channels is the increased complexity and cost of the hardware implementation, especially when adaptive rate code schemes are employed. In this thesis we present the architecture of a storage system that uses LDPC codes with multiple rates, adjusting their strength depending on the aging condition of the devices. In order to reduce the total implementation complexity, we place the LDPC decoders in a pool accessible by all SSDs. In addition, for the reliable and precise measurement of the system s performance and lifetime, we developed a model of memory cells, which can accurately describe the BER behavior of any NAND Flash technology, using experimental measurements of real chips. Last but not least, we implemented a LDPC decoder in a GPU using CUDA platform and we compare its performance to the respective CPU implementation.

8

9 Περιεχόμενα 1 Εισαγωγή 3 I Θεωρία 9 2 Μνήμες NAND Flash Μη Πτητικές Μνήμες Κελί αποθήκευσης Flash Προγραμματισμός Διαγραφή Ανάγνωση Συνδεσμολογία κελιών στις NAND Flash Ανίχνευση φορτίου σε κελιά μνήμης Flash Αποθήκευση Μulti-level Cell (MLC) Αρχιτεκτονική All Bit Line Προγραμματισμός MLC Σφάλματα στα δεδομένα Υποβιβασμός οξειδίου Ηλεκτρικές επαφές Κατακράτηση φορτίων Παρεμβολές μεταξύ κελιών Κώδικες Low Density Parity Check Εισαγωγή Κώδικες διόρθωσης σφαλμάτων Αρχή λειτουργίας Κατηγορίες Κωδίκων Διόρθωσης Σφαλμάτων Κώδικες μπλοκ Συνελικτικοί κώδικες Αλυσιδωτή κωδικοποίηση Αναπαράσταση κωδίκων LDPC Αναπαράσταση μήτρας Αναπαράσταση γράφου Αποκωδικοποίηση Hard-decision Soft-decision

10 ii II Μοντελοποίηση μνημών NAND Flash 37 4 Μοντελοποίηση NAND Flash Μοντελοποίηση κελιού MLC NAND Flash Θεωρητική ανάλυση του Asymmetric n-pam Όρια ανίχνευσης τάσεων μεταξύ γειτονικών σταθμών Όρια ανίχνευσης για μνήμες MLC BER και SNR χρησιμοποιώντας Gray κώδικες στις MLC μνήμες Παράμετροι μοντέλου και αποτελέσματα απόδοσης Μοντελοποίηση TLC μνημών Σχέση P/E κύκλων και στατιστικών χαρακτηριστικών θορύβου III Σύστημα Αποθήκευσης 51 5 Αρχιτεκτονική συστήματος αποθήκευσης Εισαγωγή Σύστημα αποθήκευσης βασισμένο σε μη πτητικές μνήμες Χρήση πολλαπλών κωδίκων LDPC Ανάλυση Lifetime Capacity Επιδόσεις I/O Μοντέλο ουρών για εξομοίωση του συστήματος αποθήκευσης Περιγραφή μοντέλου Πλατφόρμα υλοποίησης Αποτελέσματα Εξομοίωσης Περίπτωση Περίπτωση IV Υλοποίηση Αποκωδικοποιητή LDPC σε GPU 69 7 CUDA Εισαγωγή στην CUDA Μοντέλο προγραμματισμού Kernel Ιεραρχία Νημάτων Ιεραρχία Μνήμης Ικανότητα υπολογισμών Παράδειγμα κώδικα CUDA Υλοποίηση αποκωδικοποιητή LDPC σε GPU LDPC σε GPU Περιγραφή υλοποίησης Δομές δεδομένων Βελτιστοποιήσεις με βάση τη δομή του H Χρόνος εκτέλεσης πράξεων σε σχέση με αναμονή για δεδομένα μνήμης Αναπαράσταση δεδομένων Υλοποίηση αλγορίθμου αποκωδικοποίησης

11 iii 8.3 Χαρακτηριστικά συστήματος Αποτελέσματα Υλοποίησης Συμπεράσματα 93

12

13 Κατάλογος σχημάτων 1.1 Μερίδιο αγοράς των μνημών NAND Flash σε διάφορες εφαρμογές Χρήσεις των δίσκων SSD Κάρτα SODIMM με PCM Transistor αιωρούμενης πύλης Χαρακτηριστική καμπύλη I-V του transistor αιωρούμενης πύλης Αρχιτεκτονική κελιών NAND Flash Κατανομές τάσης κατωφλίου στις SLC Flash Αριθμός σελίδων στην All Bit Line αρχιτεκτονική Προγραμματισμός σελίδων σε μνήμες MLC Παράδειγμα γράφου Tanner για ένα (8, 4) LDPC κώδικα Σύγκριση 4-PAM με εσωτερικές κατανομές MLC NAND Flash Κατανομές τάσης σε κελί τεσσάρων επιπέδων (MLC) Κατανομές τάσης και όρια ανίχνευσης σε δύο γειτονικές στάθμες Πειραματικές μετρήσεις BER συναρτήσει των κύκλων P/E για μία MLC NAND Flash BER σαν συνάρτηση του σ για μη ισοπίθανα σύμβολα (ρ = SNR σαν συνάρτηση του σ για μη ισοπίθανα σύμβολα BER σαν συνάρτηση του SNR για μη ισοπίθανα σύμβολα Σχέση του εισαγώμενου θορύβου με τους κύκλους P/E Κατανομές τάσης σε κελί οκτώ επιπέδων (ΤLC) Πειραματικές μετρήσεις BER συναρτήσει των κύκλων P/E για μία TLC NAND Flash Δομικό διάγραμμα προτεινόμενου συστήματος αποθήκευσης με προσαρμοζόμενο ρυθμό αποκωδικοποίησης Σχήμα διαμελισμού δεδομένων του χρήστη για τον κώδικα με ρυθμό 3/ Raw και User BER συναρτήσει των PE κύκλων για διαφορετικούς ρυθμούς LDPC Αριθμός από επαναλήψεις αποκωδικοποίησης ανά ρυθμό LDPC συναρτήσει των PE κύκλων Εξέλιξη της χωρητικότητας δεδομένων του χρήστη όταν οι ρυθμοί των κωδίκων προσαρμόζονται δυναμικά Εξέλιξη των I/O Rate συναρτήσει των PE κύκλων για διάφορους κώδικες LDPC

14 vi 6.1 Μοντέλο ουρών του προτεινόμενου συστήματος αποθήκευσης Επαναλήψεις αποκωδικοποιητή για διάφορες καταστάσεις γήρανσης των NVM Περίπτωση 1: Latency του συστήματος για ομοιόμορφη προσπέλαση δεδομένων Περίπτωση 1: Ρυθμός μετάδοσης δεδομένων συστήματος για ομοιόμορφη προσπέλαση δεδομένων Περίπτωση 1: Ρυθμός μετάδοσης δεδομένων του συστήματος για προσπέλαση cold/hot δεδομένων Περίπτωση 2: Latency συστήματος για διαφορετικούς χρόνους αποκωδικοποίησης ανά επανάληψη Περίπτωση 2: Ρυθμός μετάδοσης δεδομένων συστήματος για διαφορετικούς χρόνους αποκωδικοποίησης ανά επανάληψη Σύγκριση ικανότητας εκτέλεσης GFLOP/s μεταξύ GPU και CPU Αρχιτεκτονική CPU Αρχιτεκτονική GPU Εκτέλεση μίας εφαρμογής CUDA Ιεραρχία νημάτων Αυτόματη κλιμάκωση της εφαρμογής ανάλογα με τους επεξεργαστικούς πόρους της GPU Ιεραρχία Μνήμης Γράφος Tanner για τους κώδικες LDPC του DVB-S Αντιστοίχιση ανάθεσης νημάτων στους κόμβους του γράφου Tanner Χρόνος ανά επανάληψη t iter του αποκωδικοποιητή LDPC: κωδικολέξεις 16200bit Κέρδος τωv υλοποιήσεων CUDA σε σχέση με τη CPU: κωδικολέξεις 16200bit Ρυθμοί μετάδοσης αποκωδικοποιητή LDPC: κωδικολέξεις 16200bit Χρόνος ανά επανάληψη t iter του αποκωδικοποιητή LDPC: κωδικολέξεις 64800bit Κέρδος τωv υλοποιήσεων CUDA σε σχέση με τη CPU: κωδικολέξεις 64800bit Ρυθμοί μετάδοσης αποκωδικοποιητή LDPC: κωδικολέξεις 64800bit.. 91

15 1

16

17 Κεφάλαιο 1 Εισαγωγή Τις τελευταίες δεκαετίες οι ημιαγωγικές συσκευές αυξάνουν συνεχώς το μερίδιό τους στην αγορά. Η αύξηση της κλίμακας ολοκλήρωσης κυκλωμάτων επέτρεψε τη μείωση του κόστους, της κατανάλωσης, καθώς και την ενσωμάτωση πολύπλοκων λειτουργιών και μονάδων μέσα στα ολοκληρωμένα κυκλώματα. Με τον τρόπο αυτό βελτιώθηκε σημαντικά η επεξεργαστική ισχύς των υπολογιστικών συστημάτων η οποία φαίνεται να ακολουθεί με μεγάλη ακρίβεια το νόμο του Moore [1]. Ένα μεγάλο μέρος της τεχνολογίας των ημιαγωγών χρησιμοποιείται στον τομέα των μνημών. Οι μνήμες χωρίζονται σε δύο βασικές ομάδες, τις πτητικές (volatile), όπως είναι η SRAM και η DRAM, και της μη πτητικές (non-volatile), όπως η EEPROM, η Flash και η PCM. Οι πτητικές μνήμες έχουν πολύ μεγάλες ταχύτητες εγγραφής και ανάγνωσης, ωστόσο χάνουν τα περιεχόμενά τους όταν διακοπεί η τροφοδοσία τους, σε αντίθεση με τις μη πτητικές οι οποίες μπορούν να διατηρήσουν τα δεδομένα για μερικά χρόνια χωρίς τροφοδοσία. Οι συμβατικοί μη πτητικοί (non-volatile) μηχανισμοί αποθήκευσης με μαγνητικά (σκληροί δίσκοι) ή οπτικά μέσα (cd, dvd, Blu-ray), παρότι παρέχουν μεγάλη αξιοπιστία και χωρητικότητες δεδομένων, βασίζονται σε μηχανικά μέρη τα οποία έχουν μεγάλη κατανάλωση και μικρούς ρυθμούς απόκρισης. Η αύξηση της κλίμακας ολοκλήρωσης σε μερικά nm επέτρεψε να αναδειχθούν οι μνήμες βασιζόμενες σε ημιαγωγικά στοιχεία, οι οποίες ανήκουν στην οικογένεια των μνημών στερεάς κατάστασης. Οι μνήμες στερεάς κατάστασης έχουν φτάσει πλέον σε ένα σημείο όπου προσφέρουν χωρητικότητες εφάμιλλες με τους μαγνητικούς δίσκους, αλλά έχουν πλεονεκτήματα όπως μεγάλες ταχύτητες προσπέλασης, χαμηλή κατανάλωση, χαμηλές απώλειες θερμότητας στο χώρο, μεγάλη διάρκεια διατήρησης των δεδομένων, αντοχή σε κραδασμούς και αθόρυβη λειτουργία. Λόγω αυτών των σημαντικών πλεονεκτημάτων, οι μνήμες στερεάς κατάστασης χρησιμοποιήθηκαν σε πληθώρα καταναλωτικών προϊόντων, όπως σε δίσκους Solid State Drive (SSD), φορητές συσκευές και ενσωματωμένα συστήματα. Η βασική τεχνολογία που χρησιμοποιείται στους SSD είναι η NAND Flash και η χρήση της στις διάφορες συσκευές απεικονίζεται στο Σχήμα 1.1. Μερικοί δίσκοι SSD γνωστών εταιριών φαίνονται στο Σχήμα 1.2αʹ. Λόγω των πλεονεκτημάτων τους μετατράπηκαν γρήγορα στην επικρατούσα λύση ακόμα

18 4 Σχήμα 1.1: Μερίδιο αγοράς των μνημών NAND Flash σε διάφορες εφαρμογές (αʹ) Εμπορικοί δίσκοι SSD (βʹ) Server με δίσκους SSD Σχήμα 1.2: Χρήσεις των δίσκων SSD και σε εταιρικές εφαρμογές στις οποίες οι απαιτήσεις για αξιοπιστία είναι πολύ μεγαλύτερες (Σχήμα 1.2βʹ). Αν και μέχρι τώρα ήταν κυρίως οι μη πτητικές μνήμες οι οποίες αντικαθίστανται από της μνήμες στερεάς κατάστασης, υπάρχουν ενθαρρυντικές ενδείξεις για την ανάπτυξη της τεχνολογίας Phase Change Memory (PCM) οι οποίες ενδεχομένως να αντικαταστήσουν στο άμεσο μέλλον τις πτητικές (volatile) DRAM σε ορισμένες εφαρμογές. Εκτός από τις εξίσου μεγάλες ταχύτητες, οι μνήμες PCM είναι επιπλέον μη πτητικές μνήμες, δηλαδή δε χάνουν τα αποθηκευμένα δεδομένα μετά την διακοπή της τροφοδοσίας τους, αλλά τα κρατάνε για εύλογα μεγάλο χρονικό διάστημα. Το χαρακτηριστικό αυτό μπορεί να χρησιμοποιηθεί σε εφαρμογές τύπου cache, όπου για παράδειγμα ένας server μπορεί να συνεχίσει άμεσα τη λειτουργία του μετά την επανεκκίνηση έχοντας κρατήσει τα τελευταία δεδομένα που προσπέλασε. Για τους λόγους αυτούς οι PCM σε πρώτη φάση κατασκευάζονται σε κάρτες SODIMM, συνήθως με κάποιες διαφορές στη διεπαφή τους σε σχέση με τις κάρτες DRAM, όπως φαίνεται στο Σχήμα 1.3.

19 5 Σχήμα 1.3: Κάρτα SODIMM με PCM Η αποθήκευση στις μνήμες στερεάς κατάστασης βασίζεται είτε στην αποθήκευση ηλεκτρικού φορτίου (τεχνολογία Flash) στα κελιά μνήμης, είτε στην αλλαγή της κατάστασης ενός υλικού από κρυσταλλική σε άμορφη, επηρεάζοντας την αντίστασή τους (τεχνολογία PCM). Η ανίχνευση είτε του φορτίου είτε της αντίστασης του κελιού επιτρέπει την ανάγνωση των δεδομένων. Η εξέλιξη των κυκλωμάτων ανίχνευσης φορτίου ή αντίστασης βοήθησε στην δημιουργία των κελιών πολλών επιπέδων (Multi- Level Cells ή MLC), με αποτέλεσμα την περεταίρω αύξηση της χωρητικότητας των συσκευών στερεάς κατάστασης και μείωση του κόστους ανά bit. Ωστόσο, τόσο η αύξηση της κλίμακας ολοκλήρωσης όσο και οι τεχνικές αποθήκευσης πολλών επιπέδων υποβιβάζουν την ποιότητα αποθήκευσης, δηλαδή μειώνουν την αξιοπιστία της καθώς δημιουργούνται σφάλματα στα δεδομένα και μικραίνουν το χρόνο ζωής των συσκευών. Για την επίλυση αυτού του προβλήματος είναι απαραίτητη η αξιοποίηση των τεχνικών διόρθωσης σφαλμάτων, οι οποίες έχουν εφαρμοστεί επί μακρόν σε τηλεπικοινωνιακές εφαρμογές, αλλά και σε πολλά εταιρικά μέσα αποθήκευσης. Επιπλέον, το πρόβλημα των σφαλμάτων στα δεδομένα εντείνεται κατά τη γήρανση των συσκευών αποθήκευσης λόγω αλλαγής των ιδιοτήτων των υλικών από τις δυνάμεις που υφίστανται κατά τη χρήση τους. Επειδή οι απαιτήσεις για μεγαλύτερους αποθηκευτικούς χώρους αλλά και ταχύτερες προσπελάσεις συνεχώς αυξάνονται, είναι ζωτικής σημασίας να αναζητηθούν λύσεις οι οποίες θα επιτρέψουν τη βιωσιμότητα της εξέλιξης της τεχνολογίας σε όρους αξιοπιστίας, κόστους, κατανάλωσης και ταχύτητας που απαιτούν οι σημερινές ανάγκες της αγοράς, τόσο σε καταναλωτικές εφαρμογές όσο και σε εταιρικές. Οι κώδικες διόρθωσης σφαλμάτων βασίζονται στη μετάδοση πλεονάζουσας πληροφορίας μέσω του τηλεπικοινωνιακού καναλιού, δηλαδή στην περίπτωση των μνημών στην αποθήκευση πλεονάζουσας πληροφορίας, η οποία θα βοηθήσει τον εντοπισμό και τη διόρθωση των σφαλμάτων κατά τη διαδικασία της ανάγνωσης των μηνυμάτων. Το βασικότερο κόστος της διαδικασίας αυτής είναι άμεσα εμφανές από την παραπάνω πρόταση. Ενώ με την αύξηση της κλίμακας ολοκλήρωσης μπορούν να παραχθούν ολοκληρωμένα κυκλώματα με μεγαλύτερη χωρητικότητα, λόγω της μικρότερης απόστασης μεταξύ των κελιών αποθήκευσης και των μικρότερων διαστάσεων των υλικών εμφανίζουν μεγαλύτερο αριθμό σφαλμάτων από συσκευές παλιότερων τεχνολογιών και συνεπώς απαιτούν ισχυρότερους κώδικες. Οι κώδικες αυτοί χρη-

20 6 σιμοποιούν περισσότερη επιπλέον πληροφορία για να επιτύχουν την απαιτούμενη ικανότητα διόρθωσης σφαλμάτων, κάτι το οποίο μειώνει με τη σειρά του τη διαθέσιμη χωρητικότητα της μνήμης αντισταθμίζοντας εν μέρει έτσι τα πλεονεκτήματα των καινούριων τεχνολογιών. Επιπλέον, οι απαιτήσεις για αξιοπιστία είναι τέτοιες όπου η πολυπλοκότητα που εισάγουν οι κωδικοποιητές και οι αποκωδικοποιητές μέσα στις συσκευές αποθήκευσης δεν είναι αμελητέα, αντιθέτως επηρεάζουν σημαντικά την απόδοση του συστήματος, τόσο όσον αφορά τις ταχύτητες ανάγνωσης και εγγραφής, αλλά και όσον αφορά την πολυπλοκότητα/κόστος και την κατανάλωση ισχύος. Οι κώδικες Low-Density Parity Check (LDPC) είναι μία ομάδα επαναληπτικών block κωδίκων διόρθωσης σφαλμάτων οι οποίοι έχουν αρχίσει να αντικαθιστούν δυναμικά άλλες οικογένειες κωδίκων σε εφαρμογές αποθήκευσης, κυρίως λόγω των μεγάλων τους επιδόσεων. Τις τελευταίες δύο δεκαετίες έχουν αξιοποιηθεί σε διάφορα πρότυπα μετάδοσης λόγω αυτής της υπεροχής τους έναντι άλλων κωδίκων, για παράδειγμα χρησιμοποιούνται στα DVB-S2/DVB-T2/DVB-C2 (Digital Video Broadcasting second Generation)[2 4], WiMAX[5], IEEE n-2009 (Wi-Fi Standard)[6], 802.3an (10 Giga-bit/s Ethernet)[7] κ.α. Ο σκοπός της παρούσας διπλωματικής είναι η ανάπτυξη της αρχιτεκτονική ενός συστήματος αποθήκευσης βασιζόμενο σε μη πτητικές μνήμες τεχνολογίας NAND Flash, η οποία προσαρμόζει την ισχύ της κωδικοποίησης LDPC ανάλογα με τον αριθμό των σφαλμάτων που εμφανίζουν οι συσκευές. Η προσαρμογή αυτή γίνεται δυναμικά και σταδιακά κατά τη γήρανση των συσκευών. Για να είναι βιώσιμη μία τέτοια αρχιτεκτονική πρέπει να λαμβάνει υπόψη της τόσο τις φυσικές αιτίες εμφάνισης σφαλμάτων, όσο και τα χαρακτηριστικά των μηχανισμών κωδικοποίησης και αποκωδικοποίησης. Για το λόγο αυτό, ξεκινάμε την εργασία με τη μελέτη των κελιών αποθήκευσης της NAND Flash και των πηγών θορύβου εσωτερικά τους, με βάση την υπάρχουσα βιβλιογραφία. Επίσης περιγράφουμε τη λειτουργία και τον αλγόριθμο αποκωδικοποίησης των κωδίκων διόρθωσης σφαλμάτων LDPC. Χρησιμοποιώντας αυτή τη μελέτη αναπτύσσουμε ένα στατιστικό μοντέλο, με το οποίο μπορούμε να εξομοιώσουμε με μεγάλη ακρίβεια την απόκριση των ολοκληρωμένων κυκλωμάτων μνημών NAND Flash. Επίσης περιγράφουμε τη διαδικασία αντιστοίχισης των στατιστικών μεγεθών στους παράγοντες που επηρεάζουν τη γήρανση των μνημών χρησιμοποιώντας πειραματικές μετρήσεις. Στη συνέχεια παρουσιάζουμε την αρχιτεκτονική ενός συστήματος αποθήκευσης και μελετάμε την απόδοσή της σε όρους διάρκειας ζωής, ταχύτητας προσπέλασης δεδομένων και αξιοπιστίας. Για να μειώσουμε τη συνολική πολυπλοκότητα, τοποθετούμε τους αποκωδικοποιητές LDPC σε μία δεξαμενή προσβάσιμη από όλους τους SSD. Τέλος, περιγράφουμε την υλοποίηση ενός LDPC αποκωδικοποιητή σε μία κάρτα γραφικών με χρήση της πλατφόρμας CUDA και συγκρίνουμε την απόδοσή της με την αντίστοιχη υλοποίηση σε CPU. Το υπόλοιπο κείμενο είναι οργανωμένο σε τέσσερα μέρη. Στο Μέρος Ι είναι συγκεντρωμένη η θεωρία των NAND Flash μνημών και η περιγραφή των κωδίκων διόρθωσης σφαλμάτων, επικεντρώνοντας την προσοχή μας στους κώδικες LDPC.

21 Το Μέρος ΙΙ, περιέχει την ανάλυση του μαθηματικού μοντέλου των NAND Flash μνημών που αναπτύξαμε στο [8] και επεκτείναμε στα [9] και [10], καθώς και τη μεθοδολογία με την οποία μπορούν να εξομοιωθούν οι αποκρίσεις πραγματικών ολοκληρωμένων κυκλωμάτων μνημών. Στη συνέχεια, το Μέρος ΙΙΙ αφιερώνεται στην περιγραφή της αρχιτεκτονικής και τα αποτελέσματα της απόδοσης του συστήματος αποθήκευσης χρησιμοποιώντας αποκωδικοποιητές LDPC μεταβλητού ρυθμού για την αύξηση της διάρκειας ζωής των συσκευών και της απόδοσης του συστήματος, όπως παρουσιάσαμε στα [11] και [12]. Τέλος, στο τέταρτο και τελευταίο μέρος θα περιγραφεί η πλατφόρμα CUDA για εκτέλεση εφαρμογών σε κάρτες γραφικών και θα παρουσιαστεί η υλοποίηση ενός LDPC αποκωδικοποιητή χρησιμοποιώντας τους κώδικες LDPC που ορίζονται στο πρότυπο Digital Video Broadcasting for Satellite applications second generation (DVB-S2). 7

22

23 Μέρος I Θεωρία

24

25 Κεφάλαιο 2 Μνήμες NAND Flash 2.1 Μη Πτητικές Μνήμες Η διάρκεια του χρόνου που μπορεί μία μνήμη να κρατήσει την πληροφορία που της έχει αποθηκευτεί ονομάζεται μνημονικό¹. Το μνημονικό χωρίς τροφοδοσία μίας μνήμης καθορίζει αν αυτή η μνήμη θα θεωρηθεί πτητική (volatile) ή μη πτητική (non-volatile). Μία πτητική μνήμη έχει στην χειρότερη περίπτωση διάρκεια μνημονικού χωρίς τροφοδοσία το πολύ ένα δευτερόλεπτο. Οι μη πτητικές μνήμες ωστόσο μπορούν και κρατάνε τα αποθηκευμένα δεδομένα για αρκετά χρόνια, σχεδόν μία δεκαετία, χωρίς σοβαρές μεταβολές της αξιοπιστίας τους. Μιας και η παρούσα εργασία αφορά τις μνήμες NAND Flash, θα επικεντρωθούμε στη συνέχεια του κεφαλαίου αυτού στις μη πτητικές μνήμες. Τα ολοκληρωμένα κυκλώματα μη πτητικών μνημών κατηγοριοποιούνται συνήθως με τον τρόπο που μπορούμε να τροποποιήσουμε τα περιεχόμενά τους. Σύμφωνα με το πρότυπο της ΙΕΕΕ [13], οι παραπάνω μη πτητικές μνήμες που χρησιμοποιούνται συνήθως κατηγοριοποιούνται όπως φαίνεται στον Πίνακα 2.1. Οι μνήμες Flash [14] είναι μία υποκατηγορία των EEPROM. Υπάρχουν πολλές παραλλαγές της Flash, αλλά τελικά έχουν επικρατήσει στην παραγωγή οι NOR Flash και οι NAND Flash. Οι NOR Flash χρησιμοποιούνται κυρίως για την αποθήκευση κώδικα, αλλά και για δεδομένα που χρειάζεται να προσπελαστούν σε επίπεδο Data Word. Οι NAND Flash, χρησιμοποιούνται για εφαρμογές που διαχειρίζονται τα δεδομένα σε blocks. Στην παρούσα διπλωματική επικεντρωνόμαστε στην τελευταία κατηγορία των Flash μνημών. 2.2 Κελί αποθήκευσης Flash Η αποθήκευση στις μνήμες Flash βασίζεται στην αποθήκευση φορτίου σε ένα Transistor Αιωρούμενης Πύλης (Floating Gate Transistor). Αυτή η ημιαγωγική συσκευή εφευρέθηκε από τους Kahng και Sze [15] το 1967 και έφερε μία επανά- ¹σσ. Στη βιβλιογραφία, το μνημονικό αναφέρεται στα αγγλικά, όπου έχει επικρατήσει η αγγλική λέξη retention ή retention time.

26 12 Πίνακας 2.1: Τύποι μη πτητικών μνημών Ονομασία Ορισμός Περιγραφή ROM Read Only Memory Τα περιεχόμενα της μνήμης καθορίζονται κατά τη διαδικασία παραγωγής της και δε μπορούν να τροποποιηθούν EPROM Διαγραφόμενη Προγραμ- Η μνήμη αυτή σβήνεται με έκθεση σε ματιζόμενη ROM υπεριώδες φως και προγραμματίζεται ηλεκτρικά EEPROM Ηλεκτρικά διαγραφόμενη Η μνήμη αυτή σβήνεται και προγραμματιζόμενη ROM και προγραμματίζεται ηλεκτρικά. Η διαγραφή της γίνεται ανά block και όχι ανά byte. E 2 PROM Ηλεκτρικά διαγραφόμενη Η μνήμη αυτή σβήνεται και προγραμματιζόμενη και προγραμματίζεται ηλεκτρικά. ROM H διαγραφή της γίνεται ανά byte. σταση στην τεχνολογία αποθήκευσης πληροφορίας η οποία ουσιαστικά άνοιξε το δρόμο για την παραγωγή πολλών ηλεκτρονικών προϊόντων, ειδικά τις φορητές συσκευές. Η αρχή λειτουργίας της βασίζεται στο γεγονός ότι αποθηκεύοντας φορτίο σε ένα επιπλεόν στρώμα ενός Field Effect Transistor (FET), η χαρακτηριστική καμπύλη ρεύματος-τάσης (I-V) μπορεί να μεταβληθεί εφαρμόζοντας κατάλληλες τάσεις στην πύλη (Gate), στην υποδοχή (Drain), στην πηγή (Source) και στο υπόστρωμα (Bulk). Η μεταβολή αυτή στην χαρακτηριστική καμπύλη I-V μας επιτρέπει να αποθηκεύουμε πληροφορία στο transistor και στη συνέχεια να τη διαβάζουμε. Η δομή ενός transistor αιωρούμενης πύλης φαίνεται στο Σχήμα 2.1. Το ηλεκτρόδιο της αιωρούμενης πύλης συνήθως αποτελείται από ένα στρώμα πολυπυριτίου που σχηματίζεται μέσα στο μονωτή (οξείδιο του πυριτίου SiO 2 ) της πύλης ενός transistor επίδρασης πεδίου (FET), μεταξύ του κανονικού ηλεκτροδίου της πύλης και του καναλιού. Το ποσό του φορτίου που αποθηκεύεται στην αιωρούμενη πύλη καθορίζει αν και σε ποιο βαθμό θα άγει το transistor κατά τη διαδικασία της ανάγνωσης, η οποία εκτελείται χωρίς να υπάρξει απώλεια φορτίου. Τα μονωτικά στρώματα επιτρέπουν την αποθήκευση του φορτίου για πολύ μεγάλα χρονικά διαστήματα. To transistor αιωρούμενης πύλης ουσιαστικά είναι το στοιχειώδες τμήμα αποθήκευσης ενός ολοκληρωμένου κυκλώματος μνήμης Flash, γι αυτό και συχνά αποκαλείται κελί μνήμης. Ο ελεγκτής εντός του ολοκληρωμένου κυκλώματος μίας μνήμης Flash μπορεί να εκτελέσει τρεις βασικές λειτουργίες πάνω στα κελιά της: Διαγραφή (erase), Προγραμματισμό (Program) και Ανάγνωση (Read). Οι δύο πρώτες μεταβάλλουν τη χαρακτηριστική καμπύλη I-V του transistor αιωρούμενης πύλης όπως φαίνεται στο Σχήμα 2.2. H ανάγνωση πραγματοποιείται εφαρμόζοντας μία τάση V GS και ανιχνεύοντας το σημείο στο οποίο βρίσκεται το transistor στη χαρακτηριστική καμπύλη.

27 13 Υποδοχή Πύλη Ελέγχου Μονωτής Αιωρούμενη Πύλη Μονωτής Υπόστρωμα Πηγή Σχήμα 2.1: Transistor αιωρούμενης πύλης I DS [ua] V GS [V] Σχήμα 2.2: Χαρακτηριστική καμπύλη I-V του transistor αιωρούμενης πύλης Προγραμματισμός Υπάρχουν δύο βασικοί μηχανισμοί για τον προγραμματισμό (εγγραφή) σε ένα κελί μνήμης Flash. Ο πρώτος βασίζεται στην έγχυση θερμών ηλεκτρονίων στο κανάλι (Channel Hot Electron injection - CHE) [16] και χρησιμοποιείται κυρίως από τις NOR Flash. Ο προγραμματισμός με αυτό τον τρόπο πραγματοποιείται εφαρμόζοντας μία σχετικά ψηλή τάση (της τάξης των 4-6V) στην υποδοχή του Σχήματος 2.1, μία ψηλή τάση περίπου 10V στην πύλη ελέγχου και κρατώντας την πηγή και το υπόστρωμα στα 0V. Με αυτό τον τρόπο περνάει ένα αρκετά μεγάλο ρεύμα (μέχρι 1mA) το οποίο δημιουργεί θερμά ηλεκτρόνια στο κανάλι. Τα ηλεκτρόνια αυτά έχουν αρκετή ενέργεια να διαπεράσουν το φράγμα δυναμικού του μονωτή και να παγιδευτούν στην αιωρούμενη πύλη. O παραπάνω προγραμματισμός διαρκεί μερικά εκατομμυριοστά του δευτερολέπτου (μs) να μεταβάλει την τάση κατωφλίου του κελιού από τη διαγραμμένη κατάσταση (2V) στην προγραμματισμένη (7-9V) (Σχήμα 2.2). Ο δεύτερος μηχανισμός προγραμματισμού είναι το Fowler-Nordheim (FN) tunneling [17] ή προγραμματισμός FN. Το Fowler-Nordheim (FN) tunneling δεν αφορά

28 14 αποκλειστικά τις μνήμες Flash, αλλά είναι ο μηχανισμός αγωγιμότητας μέσω των μονωτών τοποθετημένων εντός ισχυρών ηλεκτρικών πεδίων. Η εκπομπή σήραγγας (tunneling) είναι το αποτέλεσμα της κβαντομηχανικής με το οποίο η κυματοσυνάρτηση του ηλεκτρονίου μπορεί να διαπεράσει ένα πιθανό εμπόδιο. Ο προγραμματισμός FN επιτυγχάνεται εφαρμόζοντας ψηλές τάσεις της τάξης των 20V στην πύλη ελέγχου του transistor αιωρούμενης πύλης, κρατώντας γειωμένες την υποδοχή, την πηγή και το υπόστρωμα. Έτσι τα ηλεκτρόνια του ηλεκτροδίου της πύλης ελέγχου μπορούν να διαπεράσουν το μονωτή και να εισχωρήσουν στην αιωρούμενη πύλη. Ο προγραμματισμός FN είναι πιο αργός από τον προγραμματισμό CHE και διαρκεί μερικά χιλιοστά του δευτερολέπτου. Ωστόσο, έχει το πλεονέκτημα ότι απαιτεί πολύ μικρό ρεύμα, μικρότερο από 1nA ανά κελί και έτσι επιτρέπει τον παράλληλο προγραμματισμό πολλών κελιών ταυτόχρονα. Η μέθοδος αυτή χρησιμοποιείται κυρίως στις μνήμες NAND Flash Διαγραφή Η διαγραφή (erasure) ενός κελιού επιτυγχάνεται επίσης με FN tunneling, εφαρμόζοντας στην πύλη ελέγχου του transistor μία αρνητική τάση (περίπου -10V) σε σχέση με το δυναμικό του υποστρώματος και γύρω στα 5V στην υποδοχή, ενώ η πηγή αφήνεται χωρίς καθόλου δυναμικό. Με τον τρόπο αυτό αναπτύσσεται ένα ισχυρό ηλεκτρικό πεδίο στο οξείδιο της πύλης (μονωτή) το οποίο απομακρύνει τα φορτία από την αιωρούμενη πύλη και έτσι μειώνει την τάση κατωφλίου της συσκευής. Συμβατικά θεωρούμε ότι η διαγραφή αποθηκεύει τη λογική τιμή 1 στο κελί. Η διαδικασία της διαγραφής απαιτεί μερικά ms για να ολοκληρωθεί Ανάγνωση Κατά την ανάγνωση της αποθηκευμένης τιμής σε ένα κελί, η πύλη του πολώνεται σε μία θετική τάση, ενώ η πηγή και το υπόστρωμα είναι γειωμένα. Τέλος, στον υποδοχέα εφαρμόζεται μία μικρή θετική τάση γύρω στο 1V. Είναι σημαντικό η τάση του υποδοχέα να μην περάσει τα 1-1.5V κατά τη διαδικασία της ανάγνωσης καθώς θα διαταραχθεί το αποθηκευμένο φορτίο (read-disturb). Το read-disturb μπορεί να προκληθεί από την παραγωγή θερμών ηλεκτρονίων στο κανάλι κατά τη διάρκεια της ανάγνωσης. Αν και τα ρεύματα σε αυτή την κατάσταση δεν είναι αρκετά μεγάλα όσο κατά τη διάρκεια του CHE προγραμματισμού, πρέπει να λάβουμε υπόψη μας ότι οι μνήμες Flash συνήθως βρίσκονται σε κατάσταση ανάγνωσης και συνεπώς κατά τη διάρκεια ζωής τους τα αποθηκευμένα δεδομένα διαταράσσονται με μη αντιστρεπτό τρόπο, όπως θα δούμε σε επόμενη παράγραφο όπου θα περιγραφούν οι μορφές θορύβου.

29 15 BL 0 BL 1 BL n-2 BL n-1 String Sel WL 0 WL 1 WL 2 WL m-1 Ground Sel Source line Σχήμα 2.3: Αρχιτεκτονική κελιών NAND Flash 2.3 Συνδεσμολογία κελιών στις NAND Flash Ο διαχωρισμός των Flash σε NOR, DINOR (Divided Bitline NOR), AND και NAND γίνεται με βάση τη συνδεσμολογία των κελιών μνήμης στο εσωτερικό του ολοκληρωμένου κυκλώματος. Η συνδεσμολογία αυτή καθορίζει τον τρόπο που ενεργοποιούνται τα κελιά αυτά από το περιφερειακό κύκλωμα ελέγχου του ολοκληρωμένου κυκλώματος και συνεπώς τον τρόπο με τον οποίο γίνεται η προσπέλαση των δεδομένων. Οι NOR Flash μπορούν να προσπελάσουν τα αποθηκευμένα δεδομένα σε επίπεδο byte, ωστόσο λόγω του μεγαλύτερου αριθμού επαφών αυξάνεται το κόστος παραγωγής τους και η κατανάλωση. Οι NAND Flash οργανώνουν τα δεδομένα τους σε blocks, τα οποία είναι οι στοιχειώδεις μονάδες οι οποίες μπορούν να διαγραφούν, και σε σελίδες (pages) οι οποίες είναι οι στοιχειώδεις μονάδες οι οποίες μπορούν να προγραμματιστούν ή να αναγνωστούν από τη μνήμη. Συγκριτικά, σύμφωνα με το [18], οι NAND Flash επιτυγχάνουν μεγαλύτερη πυκνότητα στο wafer, καθώς το μέγεθος του κελιού τους είναι 4F 2 σε σχέση με τις NOR οι οποίες είναι 10F 2, λόγω του μεγαλύτερου αριθμού ηλεκτρικών επαφών. Τα κελιά της NAND Flash διασυνδέονται σε ένα πίνακα για να βελτιστοποιηθεί η εκμετάλλευση του πυριτίου όπως απεικονίζεται στο Σχήμα 2.3. Τα κελιά αποθήκευσης τοποθετούνται σε σειρά 32 ή 64 transistor αιωρούμενης πύλης χωρίς να απαιτούνται μεταλλικές ηλεκτρικές επαφές [19]. Η κάθε τέτοια στήλη από transistors ονομάζεται string. Δύο FET transistor ελέγχου στα άκρα τους επιτρέπουν τη διασύνδεση του string στη γραμμή πηγής (source line) και στη bitline.

30 16 Οι οριζόντιες γραμμές διασύνδεσης (γραμμές) ονομάζονται Word Lines, ενώνουν όλες τις πύλες ελέγχου των transistor και χρησιμοποιούνται για να επιλεχθεί μία σειρά από κελιά κατά τη διάρκεια της εγγραφής ή της ανάγνωσης. Για να γίνει προσπέλαση δεδομένων μέσα σε ένα string, η διαδικασία της ανάγνωσης απαιτεί την επιλογή ενός transistor μέσα σε κάθε string, ενώ όλα τα μη επιλεγμένα κελιά θα πρέπει να λειτουργούν σαν transistor ελεύθερης διέλευσης, ώστε να μην επηρεάζουν τη ροή του ρεύματος. Για το σκοπό αυτό η πύλη ελέγχου τους οδηγείται με μία τάση V P ASS μεγαλύτερη από τη μέγιστη δυνατή τιμή της τάσης κατωφλίου στην προγραμματισμένη κατάσταση (V T Hmax ) Οι κατακόρυφες γραμμές ονομάζονται Bit Lines. Το ένα άκρο των Bit Lines ενώνεται με την τροφοδοσία του κυκλώματος και περνάει μέσω του κυκλώματος ανίχνευσης και εγγραφής. Οι λογικές σελίδες της μνήμης αποτελούνται από κελιά που ανήκουν στην ίδια Word Line. Ο αριθμός των σελίδων ανά Word Line σχετίζεται με τις ικανότητες αποθήκευσης του κελιού μνήμης. Ανάλογα με τον αριθμό των στάθμεων αποθήκευσης οι μνήμες Flash αναφέρονται ως Single Level Cell (SLC) και μπορούν να αποθηκεύσουν ένα bit ανά κελί, ως Mutli-level Cell (MLC) και μπορούν να αποθηκεύσουν 2 bit ανά κελί, Triple Level Cell (TLC) ή 3-bit MLC με 3 bit ανά κελί, Quadruple Level Cell (QLC) με 4-bit ανά κελί κλπ. Στην περίπτωση των SLC κελιών με παρεμβαλλόμενη (interleaved) αρχιτεκτονική, τα ζυγά και τα μονά κελιά σχηματίζουν δύο σελίδες. Για παράδειγμα μία SLC συσκευή με 8kB μέγεθος σελίδας έχει μία Word Line με κελιά. Αντίστοιχα μία MLC συσκευή σχηματίζει τέσσερις σελίδες, αφού το κάθε κελί αποθηκεύει ένα λιγότερο σημαντικό bit (LSB) και ένα σημαντικότερο ψηφίο (MSB). Συνεπώς έχουμε MSB και LSB σελίδες στις ζυγές Bit Lines και MSB και LSB στις μονές Bit Lines. Όλα τα string που μοιράζονται την ίδια ομάδα από Word Lines αποτελούν ένα block στη Flash και διαγράφονται ταυτόχρονα. 2.4 Ανίχνευση φορτίου σε κελιά μνήμης Flash Όπως αναφέρθηκε στην προηγούμενη παράγραφο, η αποθηκευμένη πληροφορία σε ένα κελί σχετίζεται με την τάση κατωφλίου του V T H, όπως φαίνεται στο Σχήμα 2.2. Σε μία Single Level Cell (SLC) μνήμη, το κάθε κελί αποθηκεύει ένα bit, δηλαδή τα κελιά βρίσκονται είτε στη διεγραμμένη κατάσταση (λογικό 1 ) είτε στην προγραμματισμένη κατάσταση (λογικό 0 ). Οι δύο αυτές καταστάσεις φαίνονται στο Σχήμα 2.4 όπου απεικονίζονται οι δύο κατανομές της τάσης V T H. Για την ανάγνωση ενός κελιού σε ένα string, εφαρμόζεται τάση V READ στο transistor που έχει διευθυνσιοδοτηθεί και σταθερή τάση V P ASS που πολώνει όλα τα μη επιλεγμένα transistor. Ωστόσο, η διασύνδεση των 2 n 1 transistor σε σειρά έχει μία περιοριστική επιρροή (κορεσμός) στη μέγιστη τιμή ρεύματος και συνεπώς αυτό το μέγιστο ρεύμα είναι συνεπώς πολύ μικρότερο από άλλες συνδεσμολογίες, όπως στις ΝOR Flash.

31 17 Διεγραμμένη Κατάσταση Λογικό 1 Προγραμματισμένη Κατάσταση Λογικό 0 Σχήμα 2.4: Κατανομές τάσης κατωφλίου στις SLC Flash Το παραπάνω φαινόμενο έχει ως αποτέλεσμα τη δημιουργία μικρών ρευμάτων κορεσμού, μερικών εκατοντάδων nanoampere, το οποίο σημαίνει πως τα κυκλώματα ανίχνευσης πρέπει να λειτουργούν με ακρίβεια το πολύ μερικών δεκάδων nanoampere. Επειδή τέτοιου είδους ακρίβεια απαιτεί κυκλώματα μεγάλης πολυπλοκότητας και μάλιστα αυτό πρέπει να γίνει για δεκάδες χιλιάδες string μέσα στη μνήμη, είναι δύσκολο να επιτευχθεί πλήρης λειτουργικότητα με μικρό αντίκτυπο στην επιφάνεια του wafer. Για τους παραπάνω λόγους, σύμφωνα με το [19] η μέθοδος ανάγνωσης στις μνήμες NAND Flash αποτελείται από την ολοκλήρωση του ρεύματος του κελιού σε ένα πυκνωτή σε ένα σταθερό χρόνο. Η τάση V C πάνω σε ένα πυκνωτή C, ο οποίος φορτίζεται με ένα σταθερό ρεύμα I για περίοδο T, περιγράφεται από την εξίσωση: V C = 1 T (2.1) C Από τη στιγμή που το ρεύμα του κελιού εξαρτάται από το V T H του, η τελική τάση του πυκνωτή ( V ) είναι επίσης συνάρτηση του V T H. 2.5 Αποθήκευση Μulti-level Cell (MLC) Μέχρι τώρα περιγράψαμε, λόγω της απλότητάς τους, τα κελιά Flash μίας στάθμης (Single-level Cells ή SLC). Η περιγραφή των προηγούμενων ενοτήτων, βασιζόταν στο γεγονός ότι ένα transistor αιωρούμενης πύλης μπορεί να βρεθεί σε δύο διακριτές καταστάσεις: την διεγραμμένη (λογικό 1 ) και την προγραμματισμένη (λογικό 0 ), ενώ στην ανάγνωση προσπαθούσαμε να αναγνωρίσουμε σε ποια από τις δύο καταστάσεις βρίσκεται το transistor. Η αποθήκευση σε αυτά μπορεί να παρομοιωθεί με τα ψηφιακά κυκλώματα, όπου οι τάσεις και τα ρεύματα μπορούν να πάρουν δύο διακριτές τιμές και συνεπώς μπορούν να αναπαραστήσουν μόνο ένα bit. Παρότι έχει επικρατήσει στη βιβλιογραφία το Multi-level Cell (MLC) να αναφέρεται στις μνήμες που αποθηκεύουν δύο bits, η λογική είναι ίδια και στις Triple-level Cell - TLC (3 bit ανά κελί) ή στις Quadruple-level Cell - QLC (4 bit ανά κελί). Η αποθήκευση MLC [20] επεκτείνει την παραπάνω λογική, δημιουργώντας περισσότερες της μίας καταστάσεις προγραμματισμού. Έτσι, ελέγχοντας με ακρίβεια τον αριθμό

32 18 WL 0 WL 1 WL 2 WL 3 LSB: Page 0 MSB: Page 2 LSB: Page 1 MSB: Page 4 LSB: Page 3 MSB: Page 6 LSB: Page 5 MSB: Page 8 Σχήμα 2.5: Αριθμός σελίδων στην All Bit Line αρχιτεκτονική των φορτίων που μπορούν να αποθηκευτούν σε ένα κελί, μπορούμε να αποθηκεύσουμε σε αυτό περισσότερα από ένα bit πληροφορίας. Είναι προφανές ότι οι μνήμες MLC επιτυγχάνουν μεγαλύτερη πυκνότητα αποθήκευσης, ωστόσο χρησιμοποιούν περιφερειακά κυκλώματα με μεγαλύτερη πολυπλοκότητα και έχουν μειωμένη αντοχή και αυξημένη πιθανότητα σφάλματος στα δεδομένα. Η προσέγγιση πολλών στάθμεων αποθήκευσης, απαιτεί μεγαλύτερες τάσεις για προγραμματισμό, μεγαλύτερη ακρίβεια και ποιοτικότερη παραγωγή τόσο των αναλογικών σημάτων και χρονισμών και χρησιμοποιεί αλγορίθμους μεγαλύτερης πολυπλοκότητας Αρχιτεκτονική All Bit Line Όπως έχουμε ήδη αναφέρει σε προηγούμενη παράγραφο, ένα ολοκληρωμένο κύκλωμα μνήμης NAND Flash διαιρείται σε πίνακες δύο διαστάσεων αποτελούμενους από transistor αιωρούμενης πύλης, οι οποίοι σχηματίζουν τα blocks μνήμης. Μέσα σε κάθε block, όλα τα κελιά στην ίδια γραμμή μοιράζονται μία Word Line, η οποία περιέχει 32k μέχρι 64k κελιά. Στην αρχιτεκτονική All Bit Line (ABL) για λόγους απόδοσης I/O, όλα τα κελιά στην ίδια Word Line διαβάζονται και προγραμματίζονται σαν μία ομάδα [21]. Σε μία MLC μνήμη Flash τα λιγότερο σημαντικά bit (LSB) σε μία Word Line σχηματίζουν μία σελίδα η οποία ονομάζεται LSB page. Αντίστοιχα, όλα τα περισσότερο σημαντικά bit (MSB) σχηματίζουν την MSB page. Σε κάθε σελίδα ανατίθεται ένας μοναδικός αριθμός εντός του block. Οι αριθμοί των LSB page και MSB page στην Word Line n είναι (2n 1) και (2n + 2) αντίστοιχα, με εξαίρεση την Word Line 0 όπου η LSB page είναι η page 0 και η MSB η page 2, όπως φαίνεται στο Σχήμα 2.5. Ο προγραμματισμός της μνήμης πραγματοποιείται ανά σελίδα σειριακά ξεκινώντας από την page 0.

33 19 E: 11 Διεγραμμένη Κατάσταση 1 0 E: 11 T: 0x Προγραμματισμός LSB page E: 11 S1: 10 S2: 00 S3: 01 Προγραμματισμός MSB page Σχήμα 2.6: Προγραμματισμός σελίδων σε μνήμες MLC Προγραμματισμός MLC Ο προγραμματισμός των MLC μνημών εκτελείται σε δύο στάδια [22], ξεκινώντας από τη διεγραμμένη κατάσταση E. Σε πρώτη φάση προγραμματίζονται οι λεγόμενες κατώτερες σελίδες που σχετίζονται με το λιγότερο σημαντικό bit (LSB). Τα κελιά των σελίδων αυτών που πρέπει να λάβουν την τιμή 1 δεν αλλάζουν κατάσταση, δηλαδή δεν τους διοχετεύονται φορτία και παραμένουν στη διεγραμμένη κατάσταση. Στα κελιά όμως που το LSB πρέπει να λάβει την τιμή 0, διοχετεύονται φορτία ώστε να αυξηθεί το V T H μέχρι να φτάσουν στην κατάσταση. Η είναι μια ενδιάμεση κατάσταση κατά την οποία είναι προγραμματισμένο μόνο το LSB. Στη συνέχεια προγραμματίζονται οι ανώτερες σελίδες που σχετίζονται με το περισσότερο σημαντικό bit (MSB). Αν αυτό είναι 1 τότε τα αντίστοιχα κελιά παραμένουν είτε στην κατάσταση E ή μεταβαίνουν από την T στην S3. Σε αντίθετη περίπτωση, αν το κελί ήταν στην κατάσταση E μεταβαίνει στην S1, ενώ αν ήταν στην Τ μεταβαίνει στην S2, χρησιμοποιώντας τη μέθοδο Προγραμματισμού Παλμών Αυξητικού Βήματος. Η διαδοχή των καταστάσεων φαίνεται στο Σχήμα 2.6 Η τεχνική Προγραμματισμού Παλμών Αυξητικού Βήματος ή Incremental Step Pulse Programming (ISPP) είναι μία μέθοδος αύξησης της V T H των κελιών αποθήκευσης. Με αυτή τη μέθοδο, εφαρμόζεται μία βηματική τάση με προκαθορισμένο πλάτος και διάρκεια στην πύλη ελέγχου. Στη συνέχεια, διαβάζεται η τιμή του αντίστοιχου κελιού και η διαδικασία επαναλαμβάνεται αυξάνοντας την τάση προγραμματισμού μέχρις ότου η τάση V T H ξεπεράσει μία προαποφασισμένη τιμή.

34 Σφάλματα στα δεδομένα Οι μνήμες Flash, όπως και όλα τα τηλεπικοινωνιακά κανάλια εξάλλου, εμπεριέχουν ένα πλήθος μηχανισμών θορύβου οι οποίοι παράγουν σφάλματα στα αποθηκευμένα δεδομένα. Η μείωση της κλίμακας ολοκλήρωσης καθώς και η τεχνολογία των MLC μνημών έχουν υποβιβάσει σημαντικά την αξιοπιστία των δεδομένων και τη διάρκεια ζωής των συσκευών. Η μείωση της κλίμακας ολοκλήρωσης σε περίπου 10nm, οδήγησε στην μείωση των αποστάσεων μεταξύ κελιών καθιστώντας τα έτσι πιο ευάλωτα στις παρεμβολές που δημιουργούνται κατά την προσπέλαση των γειτόνων τους. Επίσης, οι ιδιότητες των οξειδίων που λειτουργούν σαν μονωτές γύρω από την αιωρούμενη πύλη έχουν υποβιβαστεί λόγω των μικρότερων διαστάσεων. Η MLC μνήμες, όπως έχουμε ήδη αναφέρει, βοήθησαν στην αύξηση της πυκνότητας αποθήκευσης, αλλά ταυτόχρονα αύξησαν τις απαιτήσεις σε ακρίβεια των περιφερειακών κυκλωμάτων προγραμματισμού και ανίχνευσης. Επίσης, λόγω των μικρότερων αποστάσεων μεταξύ των κατανομών, οι διάφορες πηγές θορύβου τις καθιστούν πολύ πιο ευάλωτες σε σχέση με τις μνήμες SLC [23]. Τα προβλήματα στην αξιοπιστία των δεδομένων στις μνήμες Flash μπορούν να προκληθούν από τέσσερις βασικούς λόγους: Υποβιβασμό του οξειδίου, ακεραιότητα των ηλεκτρικών επαφών, κατακράτηση και διαταράξεις αποθηκευμένου φορτίου Υποβιβασμός οξειδίου Όλα τα διηλεκτρικά μπορεί να καταρρεύσουν αν τους εφαρμοστεί ένα μεγάλο ηλεκτρικό πεδίο. Το ίδιο ισχύει και για τα οξείδια στο εσωτερικό των κελιών αποθήκευσης. Όσο λιγότερη ένταση και όσο μικρότερη διάρκεια έχει το πεδίο που εφαρμόζεται τόσο περισσότερο χρόνο έχει το διηλεκτρικό μέχρι να καταρρεύσει. Για τα οξείδια που χρησιμοποιούνται σε λογικά κυκλώματα με κανονικά επίπεδα τάσεων ο χρόνος αυτός είναι πρακτικά άπειρος. Ωστόσο στο εσωτερικό των μνημών Flash εφαρμόζονται ψηλές τάσεις και ο χρόνος που εκτίθεται το οξείδιο στα υψηλά ηλεκτρικά πεδία μπορεί να συμβάλλει σημαντικά στην εσωτερική αξιοπιστία της συσκευής. Ο υποβιβασμός του οξειδίου εντείνει τα φαινόμενα κατακράτησης φορτίου και είναι ο βασικός λόγος γήρανσης των μνημών, ο οποίος εκφράζεται συνήθως σε κύκλους προγραμματισμού και διαγραφής (P/E cycles). Σε αντίθεση με τις υπόλοιπες πηγές θορύβου είναι μία μη αντιστρεπτή διαδικασία με την έννοια ότι το υλικό δεν επανέρχεται στην προηγούμενη κατάστασή του είτε με την πάροδο του χρόνου είτε με κάποια εξωτερική παρέμβαση ή κάποια λειτουργία της μνήμης Ηλεκτρικές επαφές Όλες οι αρχιτεκτονικές των πινάκων αποθήκευσης περιέχουν επαφές μεταξύ πυριτίου και μετάλλου. Επειδή ο αριθμός των επαφών αυτών είναι πολύ μεγάλος,

35 21 θα πρέπει να έχουν πολύ μικρό ποσοστό αποτυχίας. Οι επαφές και οι αντίστοιχες μεταλλικές γραμμές υπόκεινται σε αποτυχίες βασιζόμενες στην πυκνότητα των ρευμάτων που περνάνε μέσα από την επαφή και την ηλεκτρική γραμμή. Όσο μικρότερη είναι η πυκνότητα των ρευμάτων, τόσο μικρότερη είναι η δυνητική αποτυχία λόγω βλάβης ή ηλεκτρομετατόπισης (electromigration). Τα προβλήματα στις ηλεκτρικές επαφές είναι συχνότερα στις μνήμες NOR Flash, τόσο λόγω του μεγαλύτερου πλήθους τους, όσο και του γεγονότος ότι προγραμματίζονται με CHE το οποίο απαιτεί μεγαλύτερα ρεύματα απ ότι το Fowler-Nordheim tunnelling. Ωστόσο, θεωρητικά το φαινόμενο αυτό θα μπορούσε να εμφανιστεί και στις μνήμες NAND Flash Κατακράτηση φορτίων Τα σφάλματα κατακράτησης δημιουργούνται λόγω της διαρροής φορτίων όσο περνάει ο χρόνος αφού προγραμματιστεί ένα κελί. Αυτή είναι μία πολύ σημαντική πηγή σφαλμάτων των μνημών Flash [24 26]. Τα κελιά στις σημερινές MLC μνήμες μπορούν να αποθηκεύσουν μόλις 100 ηλεκτρόνια περίπου [27]. Αυτό σημαίνει πως ακόμα και μικρές απώλειες φορτίων μπορούν να επηρεάσουν σημαντικά την τάση κατωφλίου των transistor. Οι απώλειες κατακράτησης είναι το φαινόμενο όπου η τάση κατωφλίου μεταβάλλεται στο χρόνο χωρίς κάποια εξωτερική διέγερση. Δημιουργείται από το αναπόφευκτο παγίδευμα φορτίων μέσα στα διηλεκτρικά. Το ποσό των παγιδευμένων φορτίων αυξάνει από την ηλεκτρική πίεση που προκαλείται από τις επαναλαμβανόμενες λειτουργίες διαγραφής και προγραμματισμού τα οποία υποβιβάζουν τις ιδιότητες των διηλεκτρικών. Οι δύο βασικοί μηχανισμοί κατακράτησης φορτίων είναι το Trap-assisted tunneling και το Charge de-trapping [27]. Ο πρώτος αναφέρεται στο γεγονός ότι το ηλεκτρικό φορτίο που παγιδεύεται στο οξείδιο σήραγγας (tunnel oxide) σχηματίζει ένα ηλεκτρικό κανάλι, το οποίο αυξάνει το μικρό ρεύμα διαρροής. Σαν αποτέλεσμα, τα ηλεκτρόνια που βρίσκονται στην αιωρούμενη πύλη διαφεύγουν πιο γρήγορα λόγω του εσωτερικού ηλεκτρικού πεδίου. Έτσι, η τάση κατωφλίου των κελιών μειώνεται σταδιακά. Το Charge de-trapping από την άλλη μεριά αναφέρεται στο γεγονός ότι τα παραπάνω παγιδευμένα φορτία μπορεί να απεγκλωβιστούν ανά πάσα στιγμή [28]. Αν και αυτό εκ πρώτης όψεως φαίνεται να αντισταθμίζει το φαινόμενο Trap-assisted tunneling, η πολικότητα των παγιδευμένων φορτίων μπορεί να είναι είτε αρνητική (ηλεκτρόνια) είτε θετική (οπές). Έτσι η απελευθέρωση φορτίων μπορεί είτε να μειώνει είτε να αυξάνει την τάση κατωφλίου του transistor αιωρούμενης πύλης, ανάλογα με την πολικότητα των παγιδευμένων φορτίων Παρεμβολές μεταξύ κελιών Λόγω της εγγύτητας των κελιών μνήμης καθώς και της φυσικής διασύνδεσής τους, αναπτύσσονται στο εσωτερικό των ολοκληρωμένων κυκλωμάτων αλληλεπιδράσεις

36 22 μεταξύ τους. Το αποτέλεσμα είναι κατά τον προγραμματισμό (Program disturbs) και την ανάγνωση (Read ή Pass disturbs) των δεδομένων, επηρεάζεται η ποσότητα των φορτίων ακόμα και στα μη επιλεγμένα κελιά μνήμης. Από τους δύο αυτούς μηχανισμούς διαταράξεων, επικρατέστερες είναι η διαταράξεις λόγω ανάγνωσης, καθώς οι μνήμες NAND Flash κατά το μεγαλύτερο μέρος της ζωής τους λειτουργούν ως μνήμες ROM. Τα σφάλματα από διαταράξεις ανάγνωσης είναι το εσωτερικό αποτέλεσμα της αρχιτεκτονικής Flash. Κατά τη διαδικασία της ανάγνωσης ενός κελιού, εφαρμόζεται μία τάση αναφοράς ανάγνωσης στο transistor που αντιπροσωπεύει το κελί αυτό. Αν αυτή η τάση είναι ψηλότερη από την τάση κατωφλίου του κελιού, το transistor αυτό άγει. Σε κάθε ανάγνωση, μόνο ένα από τα transistor μίας bitline ενεργοποιείται. Για να διαβάσουμε ένα κελί, δηλαδή να αναγνωρίσουμε αν άγει ή όχι, τα transistor που δε διαβάζονται πρέπει να άγουν ώστε να μην επηρεάσουν το ρεύμα όσο είναι δυνατόν. Αυτό απαιτεί να τους εφαρμοστεί μία τάση V P ASS, η οποία είναι μεγαλύτερη από οποιαδήποτε V T H που μπορεί να έχουν τα κελιά. Αν και αυτά τα κελιά δεν αναγιγνώσκονται, εφαρμόζοντας τη V P ASS, δημιουργείται μία σήραγγα ηλεκτρονίων η οποία διαταράσσει τις τιμές των τάσεων κατωφλίου των transistor, μεταφέροντάς τες σε ψηλότερη τιμή. Έτσι διαταράσσονται τα περιεχόμενα των κελιών γειτονικών σελίδων. Όσο μειώνεται η κλίμακα ολοκλήρωσης, τα οξείδια των transistor έχουν μικρότερες διαστάσεις και είναι λεπτότερα, το οποίο με τη σειρά του οξύνει το πρόβλημα του ρεύματος σήραγγας. Σε κάθε ανάγνωση, έχοντας ένα αυξημένο φαινόμενο σήραγγας, απαιτούνται όλο και λιγότερες αναγνώσεις ώστε τα γειτονικά κελιά να διαταραχθούν και να μετακινηθούν σε μία διαφορετική λογική κατάσταση [29]. Οι διαταράξεις προγραμματισμού εμφανίζονται στα κελιά που μοιράζονται την ίδια Word Line με τα επιλεγμένα κελιά, αλλά δεν είναι ενεργοποιημένα. Το φαινόμενο αυτό εντείνεται στις περιπτώσεις όπου ο προγραμματισμός απαιτεί πολλούς παλμούς της τεχνικής Προγραμματισμού Παλμών Αυξητικού Βήματος.

37 Κεφάλαιο 3 Κώδικες Low Density Parity Check 3.1 Εισαγωγή Στο προηγούμενο κεφάλαιο μελετήσαμε τη λειτουργία και τη δομή των μνημών NAND Flash, καθώς και τους μηχανισμούς θορύβου στο εσωτερικό των ολοκληρωμένων κυκλωμάτων τους. Οι διάφορες διαταράξεις στην ποσότητα των αποθηκευμένων φορτίων, αλλάζουν την ιδανική τιμή των τάσεων κατωφλίου με αποτέλεσμα να είναι δύσκολη η αναγνώριση των αποθηκευμένων δεδομένων. Για τον περιορισμό των επιδράσεων αυτών έχουν προταθεί διάφορες τεχνικές στη βιβλιογραφία. Αυτές που έχουν επικρατήσει είναι η αντιστοίχιση συμβόλων στις καταστάσεις της μνήμης σύμφωνα με τον κώδικα Gray, κατά τον οποίο γειτονικά σύμβολα διαφέρουν μόνο κατά ένα bit, αλλά αυτή που καθορίζει κατά κύριο λόγο την αξιοπιστία των δεδομένων είναι η χρήση Κωδίκων Διόρθωσης Σφαλμάτων (ΚΔΣ) ή Error Correction Codes (ECC). Οι δύο βασικοί κώδικες που χρησιμοποιούνται σε σύγχρονες αποθηκευτικές εφαρμογές είναι οι Bose-Chaudhuri-Hocquenghem (BCH) [19,30 34] και οι Low-Density Parity Check (LDPC) [19, 34 38]. Οι BCH έχουν χρησιμοποιηθεί επί μακρόν στις μνήμες καθώς κατάφεραν να ξεπεράσουν απλούστερους κώδικες όπως οι Hamming και οι Reed-Solomon στην ικανότητα διόρθωσης σφαλμάτων. Έχουν τη δυνατότητα να διορθώσουν αρκετά μεγάλο αριθμό σφαλμάτων, τόσο συγκεντρωμένων όσο και διάσπαρτων στα δεδομένα της μνήμης, χωρίς όμως να έχουν σημαντική πολυπλοκότητα υλοποίησης και καθυστερήσεις του κωδικοποιητή και του αποκωδικοποιητή. Ωστόσο, οι σημερινές ανάγκες αξιοπιστίας, αλλά και οι νέες τεχνολογίες πυριτίου έχουν αυξήσει ακόμα περισσότερο τις απαιτήσεις για μεγαλύτερες ικανότητες διόρθωσης σφαλμάτων. Έτσι οι LDPC να θεωρούνται πλέον ως η επικρατέστερη ομάδα κωδίκων στις μελλοντικές μνήμες [39]. Οι κώδικες LDPC είναι μία ομάδα γραμμικών μπλοκ κωδίκων που ανακαλύφθηκαν από τον Gallager στη διδακτορική του διατριβή το 1963 [35]. Δύο ήταν οι καινοτόμες ιδέες που εισήχθησαν από τον Gallager, η επαναληπτική αποκωδικοποί-

38 24 ηση και η παραγωγή του κώδικα τυχαία με κάποιους περιορισμούς. Το όνομά τους προέρχεται από το χαρακτηριστικό του πίνακα ελέγχου ισοτιμίας τους ο οποίος περιέχει ένα μικρό αριθμό από 1 σε σχέση με τον αριθμό των 0. Την περίοδο που τα υπολογιστικά κυκλώματα υλοποιούνταν με λυχνίες, οι LDPC κώδικες δε χρησιμοποιήθηκαν στην πράξη λόγω του ότι απαιτούσαν μεγάλη επεξεργαστική ισχύ για τα δεδομένα της εποχής. Ωστόσο, από τη δεκαετία του 90 και μετά ξεπεράστηκε το χάσμα μεταξύ της θεωρητικής περιγραφής τους και της υλοποίησης και έτσι εμφανίστηκε τεράστιο ερευνητικό ενδιαφέρον λόγω των πλεονεκτημάτων τους έναντι άλλων κωδίκων διόρθωσης λαθών. Σε μία περίοδο που οι ερευνητές προσπαθούσαν να εξηγήσουν για ποιο λόγο οι Turbo κώδικες επιτυγχάνουν τόσο ψηλές επιδόσεις, οι McKay και Neal [40] εισήγαγαν μία νέα ομάδα κωδίκων η οποίοι σχεδιάστηκαν να κατέχουν πολλά από τα χαρακτηριστικά των Turbo κωδίκων. Στην πραγματικότητα, οι κώδικες αυτοί ήταν η επανανακάλυψη των LDPC, ενώ ο αλγόριθμος που χρησιμοποιούνταν για την αποκωδικοποίηση των Turbo ήταν ουσιαστικά μία ειδική περίπτωση του αλγορίθμου που παρουσίασε ο Gallager. Οι LDPC κώδικες έχουν επίδοση πολύ κοντά στη χωρητικότητα ενός πλήθους καναλιών, δηλαδή μπορούν να κατασκευαστούν πρακτικές υλοποιήσεις που επιτρέπουν το όριο του θορύβου (noise threshold) να τεθεί πολύ κοντά στο θεωρητικό μέγιστο (όριο Shannon) για ένα συμμετρικό κανάλι χωρίς μνήμη. Το όριο του θορύβου ορίζει ένα άνω όριο για το θόρυβο του καναλιού, μέχρι το οποίο η πιθανότητα σφάλματος μπορεί να τεθεί απειροστά μικρή. Η αποκωδικοποίησή τους γίνεται χρησιμοποιώντας τεχνικές διάδοσης πίστης (belief propagation), μιας ομάδας επαναληπτικών αλγορίθμων οι οποίοι σε κάθε επανάληψη διορθώνουν την πεποίθηση ότι ένα bit είναι σωστό μέχρις ότου καταλήξουν σε ένα συμπέρασμα. 3.2 Κώδικες διόρθωσης σφαλμάτων Ένα τηλεπικοινωνιακό σύστημα δε μπορεί να εγγυηθεί την αξιοπιστία μετάδοσης πληροφορίας μέσω ενός καναλιού με θόρυβο χωρίς κάποιου είδους κωδικοποίηση. To 1948 o Claude Shannon απέδειξε [41] πως η μετάδοση δεδομένων για ένα πεπερασμένο εύρος ζώνης μπορεί να επιτευχθεί με την κωδικοποίηση των δεδομένων, επιτυγχάνοντας έτσι απειροστά μικρή πιθανότητα σφάλματος. Με αυτή την έννοια, μπορούμε να επιτύχουμε αξιόπιστη μετάδοση δεδομένων, θυσιάζοντας ένα μέρος του εύρους ζώνης για τη μετάδοση πλεονάζουσας πληροφορίας που θα χρησιμοποιηθεί για την αποκωδικοποίηση των δεδομένων. Ο μέγιστος ωφέλιμος ρυθμός μετάδοσης που μπορεί να προκύψει μετά από αυτή την κωδικοποίηση ονομάστηκε χωρητικότητα του καναλιού C. Δύο χρόνια αργότερα ο Richard Hamming πρωτοπόρησε παρουσιάζοντας μία μέθοδο κατασκευής κωδίκων και όρισε τις βασικές παραμέτρους των Κωδίκων Διόρ-

39 25 θωσης Σφαλμάτων (ΚΔΣ)¹. Οι κώδικες που κατασκεύασε ο Hamming ήταν ικανοί να διορθώσουν ένα μόνο σφάλμα, αλλά σε πολλές εφαρμογές αυτό είναι αρκετό αφού η πιθανότητας εμφάνισης σφάλματος δεν είναι πάντα μεγάλη. Οι κώδικες Hamming, αν και δεν ήταν οι βέλτιστοι, άνοιξαν το δρόμο για ένα πλήθος αλγορίθμων και μεθόδων ανίχνευσης και διόρθωσης σφαλμάτων. Η διαδικασία αυτή βρίσκεται ακόμα εν εξελίξει, με ένα σημαντικό κομμάτι των ερευνητικών δημοσιεύσεων να αφιερώνεται σε αυτή. Στις επόμενες παραγράφους θα παρουσιαστούν εν συντομία οι βασικότερες κατηγορίες και αρχές λειτουργίας των κωδίκων διόρθωσης σφαλμάτων με σκοπό ο αναγνώστης να έχει μία γενικότερη εικόνα προτού παρουσιαστεί με περισσότερες λεπτομέρειες το θέμα της παρούσας εργασίας, δηλαδή οι κώδικες Low Density Parity Check (LDPC) Αρχή λειτουργίας Η αρχή λειτουργίας των κωδίκων διόρθωσης σφαλμάτων έγκειται στην προσθήκη πλεονάζουσας πληροφορίας στα μεταδιδόμενα μηνύματα δεδομένων. Η πληροφορία αυτή χρησιμοποιείται από το δέκτη για να μπορέσει να διορθώσει ένα περιορισμένο αριθμό σφαλμάτων που μπορεί να εμφανιστούν σε οποιοδήποτε σημείο ενός μηνύματος. Με αυτό τον τρόπο αποφεύγεται η επαναμετάδοση των μηνυμάτων και συνεπώς η μέθοδος αυτή αξιοποιείται όταν έχουμε μονόδρομη επικοινωνία ή μετάδοση από ένα πομπό σε πολλούς δέκτες ταυτόχρονα. Ωστόσο, η πλεονάζουσα πληροφορία καταναλώνει ένα μέρος του εύρους ζώνης του καναλιού, κάτι το οποίο είναι αναπόφευκτο ωστόσο. Η διόρθωση σφαλμάτων στο δέκτη μπορεί να εφαρμοστεί είτε μετά την ψηφιοποίηση του ληφθέντος σήματος είτε κατά την αποδιαμόρφωση του σήματος φορέα. Στη δεύτερη περίπτωση, ο αποκωδικοποιητής είναι ενσωματωμένος στο σύστημα μετατροπής από αναλογικό σε ψηφιακό σήμα στο δέκτη. Ο Viterbi αποκωδικοποιητής και άλλοι αλγόριθμοι αποκωδικοποίησης παράγουν ένα σήμα BER το οποίο χρησιμοποιείται σαν ανάδραση για την ρύθμιση των κυκλωμάτων εισόδου του δέκτη. Ο Shannon, βασιζόμενος στα αποτελέσματα του Hartley και του Nyquist πάνω στο μέγιστο ρυθμό μετάδοσης ψηφιακής πληροφορίας εισήγαγε στο άρθρο του [41] δύο αρχές: τη θεωρία πληροφορίας και τη θεωρία κωδίκων, οι οποίες καθορίζουν την έννοια της αποδοτικής και αξιόπιστης πληροφορίας, ενώ γίνεται για πρώτη φορά αναφορά στην έννοια του bit. Στο άρθρο αυτό ο Shannon μελέτησε το βασικό πρόβλημα της αξιόπιστης μετάδοσης πληροφορία με όρους στατιστικής, χρησιμοποιώντας πιθανοτικά μοντέλα για πηγές πληροφορίας και τηλεπικοινωνιακών καναλιών. Χρησιμοποιώντας αυτά τα εργαλεία διατύπωσε το θεώρημα κωδικοποίησης σε θορυβώδη κανάλια (noisy-channel coding theorem) το οποίο έμεινε όμως γνωστό ως θεώρημα του Shannon. Στο θεώρημα αυτό διατυπώνεται η αρχή ότι για ένα δεδομένο κανάλι με θόρυβο το οποίο έχει χωρητικότητα C και η πληροφορία μεταδίδεται με ρυθμό R, τότε αν R < C μπορεί να φτιαχτεί κώδικας διόρθωσης σφαλμάτων που να ¹σσ. Συνήθως οι ΚΔΣ αναφέρονται στη βιβλιογραφία είτε σαν Error Correction Codes (ECC) ή Forward Error Correction (FEC) codes

40 26 επιτρέπει η πιθανότητα εμφάνισης σφάλματος να είναι αυθαίρετα μικρή. Η πιθανότητα σφάλματος δε μπορεί να γίνει ποτέ μηδέν, αλλά θεωρητικά τουλάχιστον είναι δυνατόν να μεταδοθεί πληροφορία με σχεδόν καθόλου σφάλματα με οποιοδήποτε ρυθμό μικρότερο του C. Ενδιαφέρουσα είναι και η αντίθετη πρόταση, δηλαδή τι συμβαίνει όταν R > C. Στην περίπτωση αυτή δε μπορεί να επιτευχθεί αυθαίρετα μικρή πιθανότητα εμφάνισης σφάλματος. Όλοι οι κώδικες θα έχουν πιθανότητα σφάλματος μεγαλύτερη από ένα συγκεκριμένο θετικό κατώτατο όριο και αυτό το όριο αυξάνεται όταν αυξάνεται και ο ρυθμός μετάδοσης. Συνεπώς, δε μπορεί να υπάρχει εγγυημένη αξιοπιστία μετάδοσης για ταχύτητες μετάδοσης μεγαλύτερες από τη χωρητικότητα, η οποία εξαρτάται από τις φυσικές ιδιότητες ενός καναλιού. Κάποιοι ΚΔΣ επιτυγχάνουν επιδόσεις πολύ κοντά στο θεωρητικό μέγιστο του Shannon, όπως για παράδειγμα οι κώδικες LDPC οι οποίοι αποτελούν το επίκεντρο αυτής της εργασίας και συνεπώς θα αναφερθούμε σε αυτούς εκτενώς σε επόμενη παράγραφο. Στην περίπτωση που ο θόρυβος στο κανάλι είναι AWGN o Shannon απέδειξε [42] ότι με οποιαδήποτε τεχνική κωδικοποίησης κι αν χρησιμοποιηθεί, η χωρητικότητά του θα είναι: ( C = B log S ) N (3.1) Με άλλα λόγια, ο θεωρητικά μέγιστος ρυθμός μετάδοσης πληροφορίας με απειροστά μικρή πιθανότητα σφάλματος που μπορεί να σταλεί με μία δεδομένη ισχύς σήματος S μέσα από ένα τηλεπικοινωνιακό κανάλι με AWGN ισχύος N και ρυθμό μετάδοσης B είναι ίσο με C (bits/second) Κατηγορίες Κωδίκων Διόρθωσης Σφαλμάτων Οι ΚΔΣ χωρίζονται σε δύο βασικές κατηγορίες με βάση το μέγεθος των πακέτων που διαχειρίζονται, τους κώδικες μπλοκ και τους συνελικτικούς κώδικες. Κώδικες μπλοκ Οι κώδικες μπλοκ διαχειρίζονται πακέτα σταθερού και προκαθορισμένου μεγέθους. Πιο συγκεκριμένα, ένας κώδικας μπλοκ δρα πάνω σε ένα μπλοκ των k bit, για να παράξει μηνύματα μήκους n, όπου προφανώς n > k λόγω της πλεονάζουσας πληροφορίας που εισάγεται. Ένα μέτρο για το πόσο ισχυρός είναι ένας κώδικας μπλοκ είναι ο ρυθμός (rate), όπου rate = k n, το οποίο δηλώνει ποιο μέρος της κωδικολέξης αποτελούν τα bits πληροφορίας. Όσο μεγαλύτερο είναι το κλάσμα, τόσο μικρότερη είναι η πλεονασματική πληροφορία που αποστέλλεται στο κανάλι και συνεπώς τόσο μικρότερη η ικανότητα διόρθωσης σφαλμάτων του κώδικα. Σε κανάλια με μεγάλο SNR, είναι προτιμότερη η χρήση κωδίκων με μεγάλο ρυθμό, καθώς εκεί η χωρητικότητα είναι μεγαλύτερη

41 27 και συνεπώς μπορεί να γίνει μετάδοση της πληροφορίας με μεγαλύτερους ρυθμούς. Ωστόσο όταν η ισχύς του θορύβου αυξηθεί, χρησιμοποιούνται κώδικες μικρότερου ρυθμού, θυσιάζοντας ένα μέρος του εύρους ζώνης αλλά αυξάνοντας την ικανότητα διόρθωσης σφαλμάτων του κώδικα. Στις αποθηκευτικές εφαρμογές, εκτός από την ταχύτητα I/O που θυσιάζεται με τους μικρούς ρυθμούς κωδίκων, χάνουμε ταυτόχρονα ένα μέρος του αποθηκευτικού χώρου των συσκευών. Ένα ακόμα σημαντικό μέτρο των κωδίκων μπλοκ είναι η ελάχιστη απόσταση ή απόσταση Hamming d. Η ελάχιστη απόσταση ενός κώδικα μπλοκ είναι ο ελάχιστος αριθμός θέσεων στις οποίες διαφέρουν οποιεσδήποτε δύο κωδικολέξεις. Παραδείγματα κωδίκων μπλοκ είναι οι Reed-Solomon, οι Hamming, οι Hadamard, οι Reed-Muller, οι BCH, οι LDPC κ.α. Συνελικτικοί κώδικες Οι συνελικτικοί κώδικες, δουλεύουν πάνω σε ροές από bits ή σύμβολα τυχαίου μήκους. Η κωδικοποίηση γίνεται μέσω μίας εφαρμογής ολίσθησης (sliding) μίας boolean πολυωνυμικής συνάρτησης η οποία παράγει σύμβολα ισοτιμίας σε ένα stream δεδομένων. Η εφαρμογή ολίσθησης αναπαριστά τη συνέλιξη του κωδικοποιητή πάνω στα δεδομένα, από το οποίο προκύπτει και ο όρος συνελικτικός κώδικας. Βασικό πλεονέκτημα των συνελικτικών κωδίκων είναι η ικανότητά τους να εκτελούν αποδοτικά αποκωδικοποίηση σταθμισμένης απόφασης μεγίστης πιθανοφάνειας (maximum likelihood soft decision decoding). Οι συνελικτικοί κώδικες συχνά χαρακτηρίζονται από το βασικό rate και το βάθος ή τη μνήμη του κωδικοποιητή [n, k, K]. Όπως και στους κώδικες μπλοκ, το rate είναι ίσο με k n. Το βάθος, που συχνά αναφέρεται ως μήκος περιορισμού (constraint length) K, δηλώνει ότι η έξοδος είναι μία συνάρτηση των προηγούμενων K 1 εισόδων. Το βάθος του κωδικοποιητή καθορίζει τον αριθμό των στοιχείων μνήμης που χρησιμοποιεί το boolean πολυώνυμο ή το μέγιστο αριθμό των δυνατών καταστάσεων του κωδικοποιητή. Αλυσιδωτή κωδικοποίηση Σε πολλές εφαρμογές συχνά συνδυάζονται ένας κλασικός κώδικας μπλοκ και ένας συνελικτικός κώδικας για βελτιωμένες επιδόσεις. Συνήθως ένας μικρός Viterbi συνελικτικός κώδικας διορθώνει τα περισσότερα σφάλματα και στη συνέχεια ένας κώδικας μπλοκ (πχ. ο Reed-Solomon) διορθώνει όσα σφάλματα έμειναν από το συνελικτικό. Σε άλλες εφαρμογές, όπως στο DVB-S2, γίνεται ένας LDPC με μεγάλο μπλοκ ενσωματώνεται μέσα σε ένα εξωτερικό BCH, έτσι ώστε να αποφευχθεί το πρόβλημα του κατωφλίου σφάλματος (error floor) του LDPC σε χαμηλά bit error ratio. Το κατώφλι σφάλματος είναι ένα φαινόμενο που εμφανίζεται στους LDPC κατά το οποίο ο αποκωδικοποιητής σε ορισμένες περιπτώσεις δεν καταφέρνει να διορθώσει όλα τα σφάλματα, ακόμα και για πολύ μικρά BER στο κανάλι.

42 Αναπαράσταση κωδίκων LDPC Υπάρχουν δύο τρόποι να αναπαρασταθεί ένας LPDC κώδικας. Όπως όλοι οι γραμμικοί μπλοκ κώδικες μπορεί να αναπαρασταθεί σαν μία μήτρα ελέγχου ισοτιμίας, αλλά η ίδια μήτρα μπορεί εύκολα να ανασχηματιστεί σε ένα γράφο Αναπαράσταση μήτρας Ένας γραμμικός μπλοκ κώδικας ορίζεται από μία m n μήτρα H η οποία όπως αναφέρθηκε προηγουμένως έχει μικρή πυκνότητα από 1. Ένας κανονικός (regular) LDPC κώδικας είναι ένας γραμμικός μπλοκ κώδικας του οποίου η μήτρα H έχει βάρος στήλης (αριθμός 1 ανά στήλη) g και βάρος γραμμής (αριθμός 1 ανά γραμμή) r, όπου r = g(n/m) και g m. Αν ο H είναι χαμηλής πυκνότητας, αλλά τόσο τα βάρη γραμμής όσο και τα βάρη στήλης δεν είναι σταθερά, ο κώδικας ονομάζεται μη κανονικός (irregular). Οι περισσότερες πρακτικές κατασκευές LDPC κωδίκων έχουν επιπλέον την εξής δομική ιδιότητα στην H: κανένα ζεύγος από γραμμές (ή στήλες) δεν έχει περισσότερες από μία θέσεις κοινές που περιλαμβάνουν ένα μη μηδενικό στοιχείο. Η ιδιότητα αυτή ονομάζεται περιορισμός γραμμής-στήλης (row-column constraint) [43]. Είναι εμφανές πως η έννοια μικρής πυκνότητας δεν είναι σαφώς ορισμένη και δε μπορεί να ποσοτικοποιηθεί επακριβώς. Πρακτικά θεωρούμε μία μήτρα H χαμηλής πυκνότητας όταν ο αριθμός των 1 είναι 1% ή λιγότερο από τον αριθμό των 0. Σε αυτή την ιδιότητα βασίζεται η αποδοτική αποκωδικοποίηση των κωδίκων LDPC. Ένα απλοϊκό παράδειγμα μίας μήτρας H για ένα (8, 4) κώδικα φαίνεται παρακάτω [44]. Είναι προφανές ότι το παρακάτω παράδειγμα δεν είναι χαμηλής πυκνότητας, καθώς κάτι τέτοιο απαιτεί μεγάλες διαστάσεις H = (3.2) Αναπαράσταση γράφου Μία αποδοτική γραφική αναπαράσταση για τους LDPC κώδικες έγινε από τον Tanner και προς τιμή του ο αντίστοιχος γράφος ονομάστηκε γράφος Tanner. Ο γράφος Tanner που είναι ανάλογος των γράφων trellis για ένα συνελικτικό κώδικα, παρέχει μία πλήρη αναπαράσταση και βοηθάει στην περιγραφή των αλγορίθμων αποκωδικοποίησης. Είναι ένας διμερής γράφος, δηλαδή οι κόμβοι του χωρίζονται σε δύο ομάδες/τύπους και οι ακμές του ενώνουν μόνο κόμβους που ανήκουν σε διαφορετικό τύπο. Οι δύο τύποι κόμβων είναι οι κόμβοι μεταβλητών (variable nodes) και οι κόμβοι ελέγχου (check nodes). Συχνά αντί για κόμβους μεταβλητών στη βιβλιογραφία συναντώνται οι έννοιες κόμβοι bit, κόμβοι πληροφορίας ή code-bit κόμβοι, ενώ αντί

43 Check nodes Variable nodes Σχήμα 3.1: Παράδειγμα γράφου Tanner για ένα (8, 4) LDPC κώδικα για κόμβους ελέγχου υπάρχει και η έννοια κόμβοι περιορισμού. Για συντομία στο κείμενο οι κόμβοι μεταβλητών θα αναφέρονται ως ΚΜ (VN), ενώ οι κόμβοι ελέγχου ως ΚΕ (CN). Ο γράφος Tanner σχεδιάζεται ως εξής. Ο ΚΕ i ενώνεται με τον KM j όταν το στοιχείο h ij της H είναι 1. Σε αυτό το γράφο υπάρχουν m ΚΕ, ένα για κάθε εξίσωση ελέγχου και n ΚΜ συνολικά, ένα για κάθε bit της κωδικολέξης. Επιπλέον, οι m γραμμές του H καθορίζουν τις m συνδέσεις των KE και οι n στήλες του H καθορίζουν τις n διασυνδέσεις των KM. Αντίστοιχα, το επιτρεπτό πλήθος λέξεων μήκους n-bit που αντιπροσωπεύονται από τους n ΚΜ είναι ακριβώς οι κωδικολέξεις του κώδικα. Αυτό το πλήθος ουσιαστικά αποτελεί το λεξιλόγιο του κώδικα και οποιαδήποτε κωδικολέξη εκτός από αυτές θεωρείται ότι περιέχει ένα ή περισσότερα σφάλματα οπότε και αποκωδικοποιείται. Ο γράφος Tanner για το παράδειγμα της μήτρας ελέγχου ισοτιμίας του Πίνακα 3.2 φαίνεται στο Σχήμα 3.1. Ο γράφος Tanner ενός κώδικα LDPC λειτουργεί σαν ένα σχεδιάγραμμα του επαναλειπτικού αποκωδικοποιητή. Κάθε ένας από τους κόμβους λειτουργεί σαν ένας τοπικός υπολογιστής και κάθε ακμή σαν ένας δίαυλος που μεταφέρει πληροφορία από ένα δεδομένο κόμβο στους γείτονές του. Η πληροφορία που μεταφέρεται είναι πρακτικά μία πιθανοτική πληροφορία, πχ. log-likelihood ratios (LLR), η οποία αναφέρεται στις τιμές των bits που έχουν ανατεθεί στους KM. Ο LDPC αποκωδικοποιητής αρχικοποιείται από n πιθανότητες σφάλματος ή LLR οι οποίες ανατίθενται στους n επεξεργαστές ΚΜ. Στην αρχή της κάθε μισής επανάληψης στο βασικό αλγόριθμο αποκωδικοποίησης, κάθε επεξεργαστής KM δέχεται είσοδο από το κανάλι και από κάθε ένα γειτονικό ΚΕ και από αυτά υπολογίζονται οι έξοδοι προς κάθε ένα από τους διασυνδεδεμένους ΚΕ. Στο επόμενο μισό της επανάληψης, κάθε επεξεργαστής ΚΕ δέχεται είσοδο από τους γειτονικούς ΚΜ και από αυτές υπολογίζει τις εξόδους-απαντήσεις προς αυτούς. Οι ανταλλαγές των μηνυμάτων μεταξύ ΚΜ και ΚΕ συνεχίζονται μέχρις ότου βρεθεί μία έγκυρη κωδικολέξη ή μέχρι ο αριθμός των επαναλήψεων να ξεπεράσει ένα μέγιστο όριο. Αξίζει να σημειωθεί ότι το μήνυμα που μεταφέρεται από ένα KM i μέσω μίας ακμής e, δεν εξαρτάται από το μήνυμα που δέχτηκε ο κόμβος μέσω της ίδιας ακμής. Αυτό είναι σημαντικό καθώς σε κάθε βήμα ανταλλάσσεται μόνο η εξωτερική πληροφορία

44 30 μεταξύ των κόμβων. Η απόδοση ενός επαναληπτικού αποκωδικοποιητή εξαρτάται από ένα αριθμό δομικών ιδιοτήτων του γράφου Tanner στον οποίο βασίζεται. Ένας γράφος Tanner δεν πρέπει να περιέχει κύκλους μικρού μήκους καθώς κάτι τέτοιο αποτρέπει κάποιους αλγορίθμους από το να συγκλίνουν. Επιπλέον, οι κύκλοι και ειδικά όταν είναι μικρού μήκους, υποβιβάζουν την απόδοση των LDPC αποκωδικοποιητών, επειδή επηρεάζουν την ανεξαρτησία της εξωτερικής πληροφορίας που ανταλλάσεται στην επαναληπτική αποκωδικοποίηση [45, 46]. Με άλλα λόγια, οι κύκλοι εξαναγκάζουν τον αποκωδικοποιητή να λειτουργεί τοπικά σε κάποια μέρη του γράφου, πχ. συνεχώς γύρω από ένα μικρό κύκλο. Συνεπώς η πληροφορία δεν διαδίδεται καθολικά στους κόμβους και έτσι μία βέλτιστη λύση δε μπορεί να επιτευχθεί. Το μήκος ενός κύκλου ισούται με τον αριθμό των ακμών οι οποίες σχηματίζουν τον κύκλο, ενώ το μήκος του ελάχιστου κύκλου ενός διμερούς γράφου συχνά ονομάζεται περιφέρεια (girth) του γράφου. Είναι προφανές ότι ο ελάχιστος δυνατός κύκλος που μπορεί να σχηματιστεί σε ένα διμερή γράφο είναι 4. Τέτοιοι κύκλοι φαίνονται στη μήτρα H σαν τέσσερις 1 που βρίσκονται στις τέσσερις γωνίες μίας τετράγωνης υπομήτρας του H. Η αποφυγή δημιουργίας κύκλων είναι ένα πολύπλοκο πρόβλημα που έχει απασχολήσει αρκετά την επιστημονική κοινότητα. Δεδομένου μάλιστα ότι οι περισσότερες μέθοδοι σχεδίασης LDPC κωδίκων βασίζονται σε τεχνικές τυχαίας παραγωγής του H, η έλλειψη δομής που προκύπτει από την τυχαιότητα παρουσιάζει αρκετά μειονεκτήματα όσον αφορά την αποθήκευση και την προσπέλαση μεγάλων μητρών ελέγχου ισοτιμίας, κωδικοποίησης δεδομένων και ανάλυσης της απόδοσης ενός κώδικα. Αν και έχουν παρουσιαστεί αρκετά αποτελέσματα σχεδίασης κωδίκων με μεγάλες περιφέρειες [47 51], σε πολλές εφαρμογές υπάρχουν περίπλοκοι περιορισμοί που ενδεχομένως να μην ικανοποιούνται από τις δομές τέτοιων μητρών. 3.4 Αποκωδικοποίηση Η περιγραφή της διαδικασίας αποκωδικοποίησης έχει ήδη περιγραφεί συνοπτικά. Οι αλγόριθμοι αποκωδικοποίησης που υπάρχουν στη βιβλιογραφία εκτελούν ουσιαστικά την παραπάνω διαδικασία και έχουν εμφανιστεί με διαφορετικά ονόματα: αλγόριθμος αθροίσματος-γινομένου (sum-product algorithm), αλγόριθμος διάδοσης πίστης (belief probagation algorithm) και αλγόριθμος ανταλλαγής μηνυμάτων (message passing algorithm). Υπάρχουν δύο παραλλαγές αυτού του αλγορίθμου: το σχήμα hard-decision και το σχήμα soft-decision. Η πρώτη περίπτωση χρησιμοποιείται σπάνια μόνο σε περιπτώσεις που θέλουμε μία πολύ μικρή απόδοση με τη χρήση όσο γίνεται μικρότερου υλικού και περιγράφεται μόνο για εκπαιδευτικούς σκοπούς. Με την έννοια hard-decision, εννοούμε ότι οι αποφάσεις και τα μηνύματα που ανταλλάσσονται μεταξύ των κόμβων είναι οι τιμές των bits που θεωρούν ότι είναι σωστές. Στην πράξη η χρήση του soft-decision προτιμάται καθώς εκμεταλλεύεται στο έπακρο τα πλεονεκτήματα των LDPC. Σε αυτή την περίπτωση, τα μηνύματα

45 31 που ανταλλάσσονται είναι οι τιμές πιθανοτήτων ή LLR Hard-decision 1. Στο πρώτο βήμα, όλοι οι ΚΜ στέλνουν ένα μήνυμα στους γειτονικούς ΚΕ. Το μήνυμα αυτό αντιπροσωπεύει την τιμή του bit που θεωρούν ότι είναι σωστή για αυτούς. Για παράδειγμα, αν ο ΚΜ 2 λάβει από το κανάλι 1 (y 2 = 1), στέλνει ένα μήνυμα που περιέχει 1 στους γειτονικούς ΚΕ. 2. Στη συνέχεια, ο κάθε ΚΕ υπολογίζει ένα μήνυμα απάντησης στους διασυνεδεμένους ΚΜ χρησιμοποιώντας τα μηνύματα που έλαβε στο βήμα 1. Η απάντηση αυτή δείχνει την τιμή που πιστεύει ο ΚΕ ότι θα έπρεπε να τεθεί στο συγκεκριμένο bit του μηνύματος που λήφθηκε από το κανάλι, ώστε να ικανοποιούνται οι εξισώσεις ελέγχου ισοτιμίας με βάση τις υπόλοιπες τιμές των ΚΜ που είναι διασυνδεδεμένοι μαζί του. Ο υπολογισμός αυτός προκύπτει από την πράξη αποκλειστικό-ή (XOR) των μηνυμάτων εισόδου του ΚΕ. Στην περίπτωση που όλες οι εξισώσεις ελέγχου ισοτιμίας ικανοποιούνται, δηλαδή οι τιμές που έλαβαν όλοι οι ΚΕ ταιριάζουν με τις απαντήσεις τους, τότε ο αλγόριθμος τερματίζει. Σε αντίθετη περίπτωση, προχωράει στο βήμα Στο βήμα αυτό, οι ΚΜ χρησιμοποιούν τα μηνύματα που δέχονται από τους ΚΕ για να αποφασίσουν με τη χρήση του κανόνα της πλειοψηφίας αν το bit που τους έχει ανατεθεί είναι 0 ή 1. Στη συνέχεια ανταπαντούν στους γειτονικούς ΚΕ. 4. Ο αποκωδικοποιητής συνεχίζει από το βήμα 2 μέχρις ότου είτε να ικανοποιηθούν όλες οι εξισώσεις ελέγχου είτε εκτελεστεί ένας μέγιστος αριθμός επαναλήψεων Soft-decision Ο soft-decision αποκωδικοποιητής λειτουργεί με την ίδια αρχή που λειτουργεί ο hard-decision, με τη διαφορά ότι τα μηνύματα είναι οι δεσμευμένες πιθανότητες ότι το λαμβανόμενο bit είναι 1 ή 0 δεδομένου του ληφθέντος διανύσματος y. Έστω ότι P i = P r[c i = 1 y] η δεσμευμένη πιθανότητα ότι το bit i του ΚΜ c i είναι 1, με δεδομένη την τιμή του y. Συνεπώς έχουμε ότι P r[c i = 0 y] = 1 P i. Έστω επίσης ότι q (l) ij l. Κάθε μήνυμα περιέχει ένα ζεύγος q (l) ij πιστεύει ο ΚΜ ότι το y i είναι 0 ή 1, με q (l) ij q (l) ij (1) = P i και q (l) ij (0) = 1 P i. το μήνυμα που στέλνει ο ΚΜ c i στον ΚΕ f j στην επανάληψη (0) και q(l) ij (1) το οποίο δείχνει το πόσο (0) + q(l) (1) = 1. Πιο συγκεκριμένα Παρόμοια, έστω ότι r (l) ji το μήνυμα που στέλνει ο ΚΕ f j στον ΚΜ c i στην επανάληψη l. Κάθε μήνυμα περιέχει ένα ζεύγος r (l) ji (0) και r(l) ji (1) το οποίο αντίστοιχα δείχνει το πόσο πιστεύει ο ΚΕ ότι το y i είναι 0 ή 1 και r (l) ji (0) + r(l) ji (1) = 1. Το ij

46 32 r (l) ji (0) δείχνει επίσης την πιθανότητα να υπάρχει ένας άρτιος αριθμός από 1 σε όλους τους άλλους ΚΜ εκτός του c i. Αρχικά, ας θεωρήσουμε την πιθανότητα ότι υπάρχει ένας άρτιος αριθμός από 1 σε δύο ΚΜ. Έστω q 1 η πιθανότητα ότι υπάρχει ένα 1 στον ΚΜ c 1 και q 2 η πιθανότητα ότι υπάρχει ένα 1 στον ΚΜ c 2. Έχουμε λοιπόν P r[c 1 c 2 = 0] = q 1 q 2 + (1 q 1 )(1 q 2 ) = 1 q 1 q 2 + 2q 1 q 2 = = 1 2 (2 2q 1 2q 2 + 4q 1 q 2 ) = = 1 2 [1 + (1 2q 1)(1 2q 2 )] = q (3.3) Στη συνέχεια θεωρούμε την πιθανότητα ότι υπάρχει ένας άρτιος αριθμός από 1 σε τρεις ΚΜ, c 1, c 2 και c 3. Να σημειώσουμε ότι 1 q είναι η πιθανότητα να υπάρχει μονός αριθμός από 1 στους c 1 και c 2. Γενικά ισχύει ότι: P r[(c 1 c 2 ) c 3 = 0] = = 1 2 [1 + (1 2(1 q)) (1 2q 3)] = = 1 2 [1 + (1 2q 1)(1 2q 2 )(1 2q 3 )] (3.4) P r[c 1... c n = 0] = n (1 2q i ) (3.5) Συνεπώς, το μήνυμα που στέλνει ο f i στον c i στην επανάληψη l είναι: r (l) ji (0) = i V j i i=1 (1 2q (l 1) i j (1)) (3.6) r (l) ji (1) = 1 r(l) (0) (3.7) όπου V j είναι το σύνολο των ΚΜ που συνδέονται στον ΚΕ f j. και Το μήνυμα που στέλνει ο c i στον f j στην επανάληψη l είναι: q (l) ij (0) = k ij(1 P i ) q (l) ij (1) = k ijp i ji j C i j j C i j r (l 1) j i (0) (3.8) r (l 1) j i (1) (3.9) όπου C i είναι το σύνολο όλων των ΚΕ που συνδέονται στον ΚΜ c i.

47 33 Η σταθερά k ij επιλέγεται έτσι ώστε να ισχύει: Σε κάθε ΚΜ γίνονται τέλος οι εξής υπολογισμοί: Q (l) i Q (l) i q ij (0) + q ij (1) = 1 (3.10) Q (l) i (0) = k i (1 P i ) r (l) ji (0) (3.11) j C i Q (l) i (1) = k i P i r (l) ji (1) (3.12) j C i είναι η ενεργή πιθανότητα του 0 και 1 στον κόμβο c i στην επανάληψη l. Εάν (1) > Q (l) (0) τότε η εκτίμηση στο στάδιο αυτό είναι c i = 1, αλλιώς c i = 0. Αν i αυτή η εκτίμηση ικανοποιεί όλες τις εξισώσεις ελέγχου ισοτιμίας τότε ο αλγόριθμος τερματίζει, αλλιώς τρέχει μέχρις ότου να ικανοποιηθούν ή να εκτελεστεί ένας προκαθορισμένος αριθμός επαναλήψεων. Συνοπτικά εκτελούνται τα τέσσερα παρακάτω βήματα: 1. Αρχικοποίηση: Όλοι οι ΚΜ στέλνουν τα μηνύματα q ij. Από τη στιγμή που σε αυτό το σημείο δεν είναι διαθέσιμη άλλη πληροφορία, q ij (1) = P i και q ij (0) = 1 P i. 2. Μηνύματα ΚΕ: Οι ΚΕ υπολογίζουν τα μηνύματα απάντησης r ji σύμφωνα με τις εξισώσεις 3.6 και 3.7. Οι πιθανότητες αυτές ισούνται με την πιθανότητα να υπάρχει άρτιος αριθμός από 1 μεταξύ των ΚΜ εκτός του c i. H πιθανότητα αυτή είναι ίδια με την πιθανότητα r ji (0) το c i να είναι Μηνύματα ΚΜ: Οι ΚΜ αναθεωρούν τις αποφάσεις τους που είχαν στείλει στους KE. Αυτό γίνεται μέσω των εξισώσεων 3.8, 3.9 και Σε αυτό το σημείο οι ΚΜ αναθεωρούν επίσης την εκτίμηση ĉ i της μεταβλητής τους c i. Αυτό γίνεται υπολογίζοντας τις πιθανότητες Q i (0) και Q i (1) μέσω των εξισώσεων 3.11, 3.12 και διαλέγοντας τη μεγαλύτερη από τις δύο. 4. Επανάληψη: Ο αποκωδικοποιητής επιστρέφει στο βήμα 2 μέχρις ότου ικανοποιηθούν όλες οι εξισώσεις ελέγχου ή εκτελεστεί ο προκαθορισμένος αριθμός επαναλήψεων Από τα παραπάνω είναι φανερό ότι ο αποκωδικοποιητής εκτελεί ένα μεγάλο αριθμό πολλαπλασιασμών, οι οποίοι είναι πολύπλοκοι υπολογισμοί για να υλοποιηθούν. Μία άλλη προσέγγιση είναι η χρήση των λογαριθμικών λόγων πιθανοφανειών (Log Likelihood Ratio). Έστω: L i = ( ) P r[ci = 0 y] = 1 P i (3.13) P r[c i = 1 y] P i l i = lnl i = ln ( ) P r[ci = 0 y] P r[c i = 1 y] (3.14)

48 34 L i είναι ο λόγος πιθανοφανειών και l i είναι ο λογαριθμικός λόγος στον ΚΜ c i. Χρησιμοποιώντας τις ιδιότητες των λογαρίθμων, μετατρέπουμε τους πολλαπλασιασμούς σε προσθέσεις οι οποίες είναι πολύ πιο εύκολες στην υλοποίηση σε υλικό. Με το λογαριθμικό λόγο πιθανοφανειών έχουμε P i = L i (3.15) Οι εξισώσεις 3.8 και 3.9 μπορούν εύκολα να μετασχηματιστούν σε: m (l) ij q(l) ij = ln (0) q (l) ij (1) = = ln 1 P i P i = l i + j C i j j C i j r (l 1) j i (0) r (l 1) = j i (1) m (l 1) j i (3.16) Από τις εξισώσεις 3.6 και 3.7, το μήνυμα που στέλνει ο ΚE f j στον ΚΜ c i στην επανάληψη l είναι: ji = ln r(l) ji (0) r (l) ji (1) = m (l) = ln i V j i (1 2q(l 1) i j (1) i V j i (1 2q(l 1) i j (1) = = ln 1 + i V j i tanh( m 1 i V j i (l 1) i ) j 2 m(l 1) i tanh( ) j 2 (3.17) Η τελευταία εξίσωση προκύπτει λόγω του ότι: e m i j = 1 q i j(1) q i j(1) (3.18) Έτσι και q i j(1) = e m i j (3.19) 1 2q i j(1) = em i j 1 ( e m i j + 1 = tanh mi ) j 2 (3.20) Επίσης οι εξισώσεις 3.11 και 3.12 μετατρέπονται σε:

49 35 l (l) i = ln Q(l) i (0) Q (l) i (1) = l(0) i + j C i m (l) ji (3.21) Εάν l (l) i > 0 τότε c i = 0, αλλιώς c i = 1. Στην πράξη, η διάδοση πίστης (belief propagation) εκτελείται για ένα μέγιστο αριθμό επαναλήψεων ή μέχρι οι πιθανοφάνειες να είναι κοντά στη βεβαιότητα. Μία σίγουρη πιθανοφάνεια είναι l i = ±, όπου P i = 0 για l i = και P i = 1 για l i =. Μία σημαντική ιδιότητα της διάδοσης πίστης είναι ότι ο χρόνος εκτέλεσης είναι γραμμικός με το μήκος του κώδικα. Αφού ο κώδικας μεταβαίνει μεταξύ των ΚΕ και των ΚΜ και ο γράφος είναι αραιός, ο αριθμός των μεταβάσεων είναι μικρός. Επιπλέον αν ο αλγόριθμος τρέχει για ένα σταθερό αριθμό επαναλήψεων τότε η κάθε ακμή προσπελαύνεται για ένα σταθερό αριθμό φορών και έτσι ο αριθμός των πράξεων είναι σταθερός και εξαρτάται μόνο από τον αριθμό των ακμών. Αν υποθέσουμε ότι ο αριθμός των KE και ΚΜ αυξάνει γραμμικά με το μήκος του κώδικα, τότε ο αριθμός των πράξεων που εκτελούνται από τον αλγόριθμο επίσης αυξάνει γραμμικά με το μήκος του κώδικα.

50

51 Μέρος II Μοντελοποίηση μνημών NAND Flash

52

53 Κεφάλαιο 4 Μοντελοποίηση NAND Flash 4.1 Μοντελοποίηση κελιού MLC NAND Flash Στο Κεφάλαιο 2 μελετήσαμε τη δομή και τη λειτουργία των κελιών Flash, καθώς και τη διασύνδεσή τους σε πίνακες ώστε να δημιουργηθεί η μνήμη NAND Flash. Στη συνέχεια περιγράψαμε τις βασικές πηγές θορύβου στο εσωτερικό των μνημών οι οποίες είναι υπεύθυνες για την υποβάθμιση της ποιότητας των δεδομένων, δηλαδή την εμφάνιση σφαλμάτων. Από τις πηγές αυτές θορύβου, οι διαταράξεις και η κατακράτηση φορτίων προκαλούν σε κάθε στιγμή της ζωής της μνήμης διακυμάνσεις της τάσης κατωφλίου γύρω από την ονομαστική τους τιμή. Ωστόσο οι διακυμάνσεις αυτές εντείνονται με την αύξηση του αριθμού των προγραμματισμών/διαγραφών (P/E cycles) των κελιών, κάτι που συμβαίνει λόγω του υποβιβασμού των διηλεκτρικών. Το φαινόμενο αυτό καλείται γήρανση. Αν και η παραπάνω εξήγηση μας δίνει μία διαισθητική αντίληψη του λόγου εμφάνισης σφαλμάτων στις μνήμες, για την ακριβέστερη εξομοίωση των μνημών απαιτείται μία ποσοτική μελέτη της πιθανότητας εμφάνισης σφαλμάτων. Στο κεφάλαιο αυτό προχωράμε στη μοντελοποίηση των MLC NAND Flash όπως παρουσιάσαμε στο [8] και χρησιμοποιήσαμε στο [9]. Πιο συγκεκριμένα, χρησιμοποιώντας τη θεωρία επικοινωνιών, πραγματοποιούμε τη μαθηματική ανάλυση που θα μας επιτρέψει να εξομοιώσουμε πραγματικές μνήμες χωρίς να γνωρίζουμε την εσωτερική αρχιτεκτονική τους. Στη συνέχεια, επεκτείνουμε την παραπάνω ανάλυση για να καλύψουμε και τις μνήμες TLC [10]. Η αντιστοίχιση των στατιστικών μεγεθών σε P/E κύκλους γίνεται βάση της μεθοδολογίας που παρουσιάζουμε στο τέλος της ανάλυσης. Η βασική ιδέα της μοντελοποίησης βασίζεται στην ομοιότητα της μετάδοσης 4- state Pulse Amplitude Modulation (4-PAM) [52], όπως φαίνεται στο Σχήμα 4.1. Όπως και στην περίπτωση του 4-PAM, ο θόρυβος στις μνήμες θεωρούμε ότι είναι προσθετικός, αλλά τα στατιστικά χαρακτηριστικά του εξαρτώνται από το σύμβολο που προγραμματίζεται στο κελί της μνήμης, συνεπώς είναι εξαρτώμενος από τα δεδομένα. Επίσης, η απόσταση μεταξύ των συμβόλων στο 4-PAM είναι σταθερή, σε αντίθεση με το μοντέλο της μνήμης όπου οι γειτονικές στάθμες έχουν διαφορετικές

54 40 μεταξύ τους αποστάσεις. Για αυτούς τους λόγους ονομάσαμε το μοντέλο με τον όρο Asymetric 4-PAM. Το μοντέλο αυτό του θορύβου βασίζεται στις μετρήσεις του [20] και εμφανίζεται σε διάφορες πειραματικές μελέτες [14, 53 55] AWGN S[n] 4-PAM Modulator 4-PAM Demodulator S [n] (αʹ) Μοντέλο 4-PAM D[n] NAND Flash Mapper NAND Flash Detector and Demapper D [n] Level Dependent Gaussian Noise (βʹ) Μοντέλο μνήμης MLC NAND Flash Σχήμα 4.1: Σύγκριση 4-PAM με εσωτερικές κατανομές MLC NAND Flash H χρήση γκαουσιανών κατανομών για τη μοντελοποίηση των κατανομών των τάσεων κατωφλίου είναι η πιο διαδεδομένη μέθοδος στη βιβλιογραφία. Ο χαρακτηρισμός και η ανάλυση των σφαλμάτων που συναντώνται στις σύγχρονες μνήμες NAND Flash έχει γίνει στο [24]. Κατά τη γήρανση των συσκευών, παρατηρείται μεταβολή των στατιστικών χαρακτηριστικών των μεταβολών της τάσης κατωφλίου, κυρίως λόγω της υποβάθμισης των διηλεκτρικών. Πιο συγκεκριμένα, η τυπική απόκλιση των μετρούμενων τάσεων αυξάνει και οι μέσες τιμές τους μεταφέρονται προς υψηλότερες τιμές. Οι κατανομές τάσης που φαίνονται στο Σχήμα 4.2 βασίζονται στο [56], αλλά για να μπορέσουμε να συμπεριλάβουμε στο μοντέλο μας το φαινόμενο της γήρανσης, αλλά και να αναπαραστήσουμε όσο το δυνατό περισσότερες τεχνολογίες, το αναβαθμίσαμε σε ένα πλήρως παραμετροποιήσιμο μοντέλο, πχ. οι θόρυβοι ορίζονται σε κάθε στάθμη τάσης και οι αποστάσεις μεταξύ των συμβόλων δεν είναι σταθερές. Στην παρακάτω ανάλυση, οι στάθμες των τάσεων έχουν κανονικοποιηθεί στο δυναμικό εύρος του χρησιμοποιούμενου κυκλώματος ανίχνευσης. Συνεπώς, οι τυπικές αποκλίσεις των τεσσάρων κατανομών ορίζονται ως σ 1 = κ 1 σ, σ 2 = σ 3 = σ and σ 4 = κ 2 σ.

55 41 Probability Density Function Gray Mapping S 1 S 2 S 3 S κ 1 σ σ σ κ 2 σ 0 T 1 T 2 T 3 1 αl m 1 L L m 2 L Normalized Voltage Σχήμα 4.2: Κατανομές τάσης σε κελί τεσσάρων επιπέδων (MLC) Η προσέγγιση αυτή μπορεί να καλύψει όλες τις διαφορετικές NAND Flash τεχνολογίες που παρουσιάζονται στη βιβλιογραφία. Για παράδειγμα, βασιζόμενοι στο [57] κ 1 = 2 και κ 2 = 1 ή στο [36], κ 1 = 1.5 και κ 2 = 1.2. Σε άλλες περιπτώσεις, όπως στο [56] και [31] χρησιμοποιούνται οι παράμετροι κ 1 = 4 και κ 2 = 2. Ακολουθώντας την ίδια προσέγγιση, οι ονομαστικές τιμές τάσης μπορούν να εκφραστούν ως: V 1 = αl V 2 = (α + m 1 )L V 3 = (α + m 1 + 1)L V 4 = (α + m 1 + m 2 + 1)L (4.1) Για να επιτευχθεί μικρότερο Bit Error Ratio (BER), συνήθως χρησιμοποιείται ο κώδικας Gray έτσι ώστε τα γειτονικά σύμβολα να διαφέρουν μόνο κατά ένα bit [56]. Κατά την ανάγνωση των τάσεων, οι τάσεις που χρησιμοποιούμε σαν όριο για να διαχωρίσουμε μεταξύ τους τα σύμβολα καθορίζονται έτσι ώστε να επιτυγχάνουμε τη βέλτιστη ανίχνευση. Αν και στις περισσότερες μνήμες τα όρια αυτά είναι σταθερά στη διάρκεια της ζωής τους, η προσέγγιση της δυναμικής προσαρμογής τους έχει προταθεί από την ερευνητική κοινότητα αρκετά χρόνια πριν [58]. Αν V i και V i+1 είναι δύο γειτονικές στάθμες (V i+1 > V i ), το βέλτιστο όριο τάσης είναι η τιμή της τάσης που ελαχιστοποιεί την πιθανότητα εσφαλμένης ανίχνευσης μίας στάθμης. 1

56 42 Cell Distribution κσ σ V i T i V i+1 Normalized Voltage Σχήμα 4.3: Κατανομές τάσης και όρια ανίχνευσης σε δύο γειτονικές στάθμες 4.2 Θεωρητική ανάλυση του Asymmetric n-pam Όρια ανίχνευσης τάσεων μεταξύ γειτονικών σταθμών Θεωρούμε δύο γειτονικές στάθμες τάσης που επηρεάζονται από διαφορετικές πηγές θορύβου, όπως φαίνεται στο Σχήμα 4.3. Η παρακάτω ανάλυση μπορεί να εφαρμοστεί σε οποιαδήποτε κατάσταση γήρανσης ενός κελιού [23]. Έστω ότι η p e () δηλώνει την πιθανότητα εσφαλμένης ανίχνευσης μίας στάθμης. Χρησιμοποιώντας τη γνωστή γκαουσιανή συνάρτηση της κατανομής έχουμε: p e (T i ) = p i 1 κσ 2π 1 +p i+1 σ 2π + (x V i )2 e T i T i 2(κσ) 2 dx + e (x V i+1 ) 2 2σ 2 dx (4.2) όπου p i και p i+1 είναι οι πιθανότητες να αποθηκεύσουμε πληροφορία στις στάθμες i και i + 1 αντίστοιχα. Για να βρούμε το όριο που ελαχιστοποιεί την p e () παραγωγίζουμε την εξίσωση 4.2: dp e = 0 dt i ( 1 κ 2 ) Ti ( κ 2 ) V i+1 V i Ti + [ ( )] + Vi 2 κ 2 V i σ 2 κpi+1 ln = 0 p i (4.3) Όρια ανίχνευσης για μνήμες MLC Για να αναλύσουμε ένα κελί τεσσάρων επιπέδων, χρησιμοποιούμε την προηγούμενη ανάλυση και την επεκτείνουμε στις τρεις διαφορετικές περιπτώσεις των γειτονικών σταθμών που φαίνονται στο Σχήμα 4.2. Συνεπώς τα T 1, T 2 και T 3 είναι 1

57 43 οι ρίζες των παρακάτω εξισώσεων: ( ) 1 κ 2 1 T ( κ 2 ) 1V 2 V 1 T1 + [ ( )] + (V 1 ) 2 κ 2 1V (κ 1 σ) 2 κ1 p 2 ln = 0 [ 2 (V 3 V 2 )T 2 + 2σ 2 ln ( 1 1 κ ) ( 1 T κ 2 2 ( p3 p 2 [ (V 3 ) 2 1 κ 2 V (κ 2 σ) 2 ln 2 p 1 ) ] + V2 2 V3 2 V 4 V 3 )T 3 + ( )] p4 = 0 κ 2 p 3 (4.4) = 0 (4.5) (4.6) BER και SNR χρησιμοποιώντας Gray κώδικες στις MLC μνήμες Το πιο σημαντικό χαρακτηριστικό των κωδίκων Gray είναι ότι γειτονικά σύμβολα διαφέρουν μόνο κατά ένα bit. Αυτό τους κάνει πολύ ελκυστικούς για να χρησιμοποιηθούν μέσα στα κελιά των NAND Flash, δεδομένου ότι η πιθανότητα εσφαλμένης ανίχνευσης μίας στάθμης τάσης, που δεν ανήκει σε γειτονική στάθμη, είναι πολύ μικρή και στην ανάλυσή μας χρησιμοποιούμε την κωδικοποίηση Gray του Σχήματος 4.2. Η πιθανότητα ενός σφάλματος bit όταν ανιχνεύεται το σύμβολο S 1 δίνεται από την εξίσωση: [ 1 1 P (e b S 1 ) = 2πκ1 σ T 2 T 1 + (x V 1 )2 2κ 2 1 σ2 T 3 e (x V 1 )2 2κ e 2 1 σ2 dx + ] dx = T 3 T 2 e (x V 1 )2 2κ 2 1 σ2 = 1 [ ( ) ( ) T1 V 1 T2 V erfc + erfc 1 4 2κ1 σ 2κ1 σ ( ) ] T3 V 1 erfc 2κ1 σ dx+ (4.7) όπου erfc(x) 2 π x e t2 dt. Χρησιμοποιώντας την ίδια μεθοδολογία, υπολογίζουμε τις πιθανότητες bit σφαλμάτων για τα σύμβολα S 2, S 3 και S 4. Μπορούμε πλέον να υπολογίσουμε τη συνολική πιθανότητα bit σφαλμάτων ζυγίζοντας τις παραπάνω πιθανότητες σφαλμάτων με την πιθανότητα εγγραφής του αντίστοιχου συμβόλου στο κελί της μνήμης. Για παράδειγμα, p 1 είναι η πιθανότητα προγραμματισμού του S 1 = 11, ενώ p 4 είναι η πιθανότητα προγραμματισμού S 4 = 10. Κατά συνέπεια:

58 44 P (e b ) = p 1 P (e b S 1 ) + p 2 P (e b S 2 ) + p 3 P (e b S 3 ) + p 4 P (e b S 4 ) (4.8) Ο Λόγος Σήματος προς Θόρυβο ή Signal to Noise Ratio (SNR) των ανιχνευμένων τάσεων ορίζεται ως: P s SNR = P noise E s E noise = p 1V1 2 + p 2V2 2 + p 3V3 2 + p 4V4 2 p 1 (κ 1 σ) 2 + p 2 σ 2 + p 3 σ 2 + p 4 (κ 2 σ) 2 (4.9) το οποίο εξάγεται μεταχειρίζοντας τα σύμβολα σαν διακριτά σήματα και λαμβάνοντας υπόψη ότι η φασματική πυκνότητα ισχύος του AWGN είναι ίση με τη διακύμανσή του. 4.3 Παράμετροι μοντέλου και αποτελέσματα απόδοσης Για να μελετήσουμε την επιρροή των διαφόρων παραμέτρων του παραπάνω μοντέλου, θεωρούμε διάφορες τεχνολογίες NAND Flash και διάφορες πιθανότητες των προγραμματισμένων δεδομένων. Στον Πίνακα 4.1 φαίνονται οι διάφορες τεχνολογίες και οι αντίστοιχες κατανομές θορύβου, ενώ στον Πίνακα 4.2 παρουσιάζονται οι πιθανότητες των συμβόλων για τις διάφορες πιθανότητες bit, όπου ρ είναι η πιθανότητα χρήσης του bit 1. Πίνακας 4.1: Τεχνολογίες NAND Flash Level Mean Deviation (1) 4σ σ σ 2σ Deviation (2) 4σ σ σ σ Deviation (3) σ σ σ σ Πίνακας 4.2: Πιθανότητες Συμβόλων ρ = 0.25 ρ = 0.5 ρ = 0.75 P (S 1 ) P (S 2 ) P (S 3 ) P (S 4 ) Χρησιμοποιώντας τις παραμέτρους ρ, σ, κ 1, κ 2, α, L, m 1, m 2 και τα βέλτιστα όρια τάσης που εξάγαμε στις Εξισώσεις 4.4, 4.5 και 4.6, μπορούμε να εκτιμήσουμε το αναμενόμενο BER σαν συνάρτηση του σ και μπορούμε να σχετίσουμε το σ με το SNR. Στο Σχήμα 4.4 φαίνονται τα πειραματικά αποτελέσματα μίας τυπικής MLC μνήμης NAND Flash και πώς σχετίζεται το BER με τη γήρανση της μνήμης. Η αντοχή

59 45 Σχήμα 4.4: Πειραματικές μετρήσεις BER συναρτήσει των κύκλων P/E για μία MLC NAND Flash 10 2 κ 1 =4, κ 2 =2 κ 1 =4, κ 2 =1 κ 1 =1, κ 2 =1 BER Σχήμα 4.5: BER σαν συνάρτηση του σ για μη ισοπίθανα σύμβολα (ρ = 0.25 σ (endurance) της πειραματικής μνήμης είναι περίπου 10Κ P/E κύκλοι και οι μετρήσεις συνεχίστηκαν μία τάξη μεγέθους πάνω από την τυπική της αντοχή. Ανάλογα με τους κώδικες διόρθωσης σφαλμάτων που θα χρησιμοποιηθούν στη συσκευή, η ζωή της θα μπορούσε να φτάσει μέχρι και 50K P/E κύκλους. Χρησιμοποιώντας την ανάλυση της Παραγράφου 4.2, μπορούμε να μελετήσουμε το BER των κελιών μνήμης που έχουν μοντελοποιηθεί σαν asymmetric n-pam. Στο Σχήμα 4.5 απεικονίζουμε το BER σαν συνάρτηση του σ. Συγκρίνοντας τις καμπύλες των Σχημάτων 4.4 και 4.5 μπορούμε εύκολα να συμπεράνουμε ότι το προτεινόμενο μοντέλο περιγράφει επαρκώς μία μνήμη MLC NAND Flash. Παρόμοια στο Σχήμα 4.6 φαίνεται ο συσχετισμός του SNR με το σ για διαφορετικές πιθανότητες ρ. Συνδιάζοντας τα δύο τελευταία σχήματα παίρνουμε το Σχήμα 4.7 το οποίο δείχνει τη

60 SNR [db] ρ=0.25 ρ=0.5 ρ= σ Σχήμα 4.6: SNR σαν συνάρτηση του σ για μη ισοπίθανα σύμβολα ρ=0.25 ρ=0.5 ρ=0.75 BER SNR [db] Σχήμα 4.7: BER σαν συνάρτηση του SNR για μη ισοπίθανα σύμβολα σχέση του SNR με το BER για διάφορες πιθανότητες συμβόλου και bit. Όπως φαίνεται σε αυτό, η χρήση μίας κωδικοποίησης που αλλάζει τον αριθμό των άσσων στα δεδομένα μπορεί να βελτιώσει την επίδοση BER, φυσικά με κόστος τη μικρότερη χωρητικότητα λόγω της παραπάνω πληροφορίας που αποθηκεύεται. Τέλος, χρησιμοποιώντας τα πειραματικά δεδομένα και τη θεωρητική ανάλυση, μπορούμε να συσχετίσουμε τη γήρανση (κύκλοι P/E) με το σ. Όπως φαίνεται στο Σχήμα 4.8 η σχέση αυτή είναι γραμμική για της μνήμες MLC, κάτι που επιτρέπει την εξομοίωση των μνημών με ελάχιστη πολυπλοκότητα. Η σημασία της παραπάνω ανάλυσης έγκειται στο γεγονός ότι μπορούμε να μοντελοποιήσουμε με ακρίβεια τα κελιά μνήμης μίας NAND Flash, χωρίς να γνωρίζουμε την εσωτερική της δομή, χρησιμοποιώντας απλώς πειραματικές μετρήσεις για την παρατήρηση του BER κατά τη γήρανση της συσκευής.

61 σ P/E Cycles [K] κ 1 =4 κ 2 =2 κ 1 =4 κ 2 =1 κ 1 =1 κ 2 =1 Σχήμα 4.8: Σχέση του εισαγώμενου θορύβου με τους κύκλους P/E Probability Density Function Gray Mapping s 1 s 2 s 3 s 4 s 5 s 6 s 7 s κ 1 σ σ κ 2 σ 0 T 1 T 2 T 3 T 4 T 5 T 6 T 7 1 αw m 1 W 5 W m 2 W Normalized Voltage Σχήμα 4.9: Κατανομές τάσης σε κελί οκτώ επιπέδων (ΤLC) 4.4 Μοντελοποίηση TLC μνημών Οι μνήμες TLC έχουν οκτώ στάθμες τάσης κατωφλίου, δηλαδή μπορούν να αποθηκεύσουν 3 bit πληροφορίας σε κάθε κελί, όπως φαίνεται το Σχήμα 4.9. Χρησιμοποιώντας και πάλι τη θεώρηση των TLC NAND Flash κελιών σαν ένα asymmetric 8-PAM κανάλι επικοινωνίας με χρονικά μεταβαλλόμενα χαρακτηριστικά [10], παρουσιάζουμε ονομαστικές τιμές στάθμης των τάσεων κατωφλίου ως εξής:

62 48 αw when i = 1 L i = (α + m 1 + i 2)W when 2 i 7 (α + m 1 + m 2 + 5)W when i = 8 (4.10) Η πιθανότητα P (e s s i ) εσφαλμένης ανάγνωσης συμβόλου όταν διαβάζουμε το σύμβολο s i μπορεί να υπολογιστεί ολοκληρώνοντας κάθε κατανομή τάσεων για S / [T i 1, T i ]. Έτσι, η πιθανότητα P (e s s 1 ) δίνεται από την εξίσωση: P (e s s 1 ) = 1 ( ) 2 erfc T1 L 1 κ 1 σ 2 (4.11) Παρόμοια μπορούμε να υπολογίσουμε τις πιθανότητες εσφαλμένου συμβόλου για όλες τις κατανομές με τυπική απόκλιση σ. Έτσι για i [2, 7]: P (e s s i ) = 1 ( ) 2 erfc Ti 1 L i σ + 1 ( ) 2 2 erfc Ti L i σ 2 Τέλος, η πιθανότητα εσφαλμένου συμβόλου για το s 8 δίνεται από τη σχέση: (4.12) P (e s s 8 ) = 1 ( ) 2 erfc T7 L 8 κ 2 σ 2 (4.13) Η συνολική πιθανότητα εσφαλμένου συμβόλου είναι ίση με το Symbol Error Ratio (SER) και είναι συνάρτηση των πιθανοτήτων αποθήκευσης συμβόλων p i, των μέσων τιμών µ i + L i και των τυπικών αποκλίσεων σ i : SER = P (e s ) = 8 p i P (e s s i ) (4.14) i=1 Σε μία TLC NAND Flash, ο υπολογισμός του BER εξαρτάται από την αντιστοίχιση των συμβόλων στις στάθμες. Αν θεωρήσουμε την περίπτωση της Gray κωδικοποίησης, η οποία όπως έχουμε αναφέρει είναι η πιο συχνά χρησιμοποιούμενη, μπορούμε να κάνουμε την προσέγγιση πως αφού δύο γειτονικά σύμβολα διαφέρουν κατά ένα μόνο bit, η πιθανότητα λάθος bit όταν διαβάζουμε το σύμβολο s i είναι περίπου: P (e b s i ) 1 3 P (e s s i ), i [1, 8] (4.15) και το BER ισούται με τη συνολική πιθανότητα σφάλματος bit: BER = P (e b ) = 8 p i P (e b s i ) (4.16) i=1

63 49 σ P/E Cycles [K] κ 1 =4 κ 2 =2 κ 1 =4 κ 2 =1 κ 1 =1 κ 2 =1 Σχήμα 4.10: Πειραματικές μετρήσεις BER συναρτήσει των κύκλων P/E για μία TLC NAND Flash 4.5 Σχέση P/E κύκλων και στατιστικών χαρακτηριστικών θορύβου Όπως αναφέραμε σε προηγούμενη παράγραφο, η σχέση των P/E κύκλων με το σ είναι γραμμική, δηλαδή μπορεί να περιγραφεί από μία εξίσωση της μορφής σ = α P E + β. Χρησιμοποιώντας όμως τις μετρήσεις από το [59] και κάνοντας την ίδια διαδικασία για τις TLC μνήμες, παρατηρούμε ότι στις τελευταίες η σχέση αυτή έχει χάσει τη γραμμικότητά της και περιγράφεται από μία δευτεροβάθμια εξίσωση σ = γ P E 2 + δp E + ϵ, όπως φαίνεται και στο Σχήμα Η σχέση αυτή είναι επίσης εύκολα υλοποιήσιμη και το σημαντικότερο είναι ότι εύκολα μπορούμε να την περιγράψουμε σε μία κλειστή μαθηματική εξίσωση.

64

65 Μέρος III Σύστημα Αποθήκευσης

66

67 Κεφάλαιο 5 Αρχιτεκτονική συστήματος αποθήκευσης 5.1 Εισαγωγή Ο ρόλος των συστημάτων αποθήκευσης είναι η αξιόπιστη διατήρηση μεγάλων ποσοτήτων δεδομένων και η παροχή υψηλών ταχυτήτων προσπέλασης. Τα παραδοσιακά μέσα αποθήκευσης που βασίζονταν σε μαγνητικές ή οπτικές τεχνολογίες, όπως οι σκληροί δίσκοι (Hard Disk Drives ή HDD) χρησιμοποιούνταν επί μακρόν στα συστήματα αποθήκευσης, τόσο σε οικιακές εφαρμογές (πχ. προσωπικοί υπολογιστές, καταγραφή σε συστήματα παρακολούθησης, φορητοί δίσκοι κ.α.) όσο και σε εταιρικές (πχ. server, αποθήκευση τραπεζικών συναλλαγών, αποθήκευση βάσεων δεδομένων κ.α.). Από τη στιγμή που δεν υπήρχε εναλλακτική λύση, σε συνδυασμό με το γεγονός ότι παρείχαν χαμηλό κόστος ανά μονάδα αποθήκευσης, οι HDD χρησιμοποιούνται για τουλάχιστον τρεις δεκαετίες. Από την εμφάνιση όμως των μνημών στεραιάς κατάστασης, όπως οι Δίσκοι Στερεάς Κατάστασης ή Solid-State Drive (SSD), η χρήση τους σταδιακά μειώνεται. Οι SSD αυξάνουν συνεχώς το μερίδιο της αγοράς παρέχοντας υψηλότερους ρυθμούς I/O, αυξημένη χωρητικότητα, πολύ μικρή κατανάλωση και αντοχή στους κραδασμούς. Η αυξημένη χωρητικότητα ωστόσο όπως είδαμε στο Κεφάλαιο 4 βασίστηκε σε δύο τεχνολογικά επιτεύγματα: τη μείωση της κλίμακας και την αποθήκευση σε μνήμες πολλών επιπέδων (MLC). Οι δύο αυτές τεχνολογικές εξελίξεις δημιούργησαν ένα αριθμό από νέα και προκλητικά τεχνικά προβλήματα, τα οποία σχετίζονται κυρίως με τις παρενέργειες της γήρανσης (κύκλοι P/E) και τον αριθμό των σφαλμάτων στα δεδομένα. Κατά συνέπεια, για να καλυφθεί η ανάγκη για αξιόπιστη αποθήκευση είναι απαραίτητη η χρήση Κωδίκων Διόρθωσης Σφαλμάτων (ΚΔΣ), όπως ο BCH και ο LDPC. Παρότι οι πρώτοι χρησιμοποιούνται ακόμα και σήμερα λόγω της χαμηλής πολυπλοκότητας της υλοποίησης του κωδικοποιητή και του αποκωδικοποιητή, οι LDPC μπορούν να τους ξεπεράσουν στην ικανότητα διόρθωσης σφαλμάτων και γι αυτό πλέον θεωρούνται ως ο βασικός υποψήφιος ΚΔΣ στους SSD.

68 54 Είναι προφανές ότι για μία δεδομένη αξιοπιστία στο χρήστη (BER που βλέπει ο χρήστης ή user BER), η διάρκεια ζωής μίας συσκευής μπορεί να αυξηθεί χρησιμοποιώντας ισχυρότερους ΚΔΣ, με προφανές κόστος την επιπλέον πληροφορία που θα χρειαστεί να αποθηκεύουμε (μικρότερος ρυθμός κώδικα). Αυτό μειώνει τη χωρητικότητα που βλέπει ο χρήστης στις συσκευές (user capacity) και συνεπώς εν μέρει αντισταθμίζει τα πλεονεκτήματα που έφεραν η κλιμάκωση της τεχνολογίας και η χρήση MLC. Η επιλογή του κατάλληλου ρυθμού ΚΔΣ είναι ένας συμβιβασμός ανάμεσα στη χωρητικότητα των SSD και την επίδοση του ΚΔΣ. Οι περισσότεροι SSD χρησιμοποιούν ρυθμούς κωδίκων που κυμαίνονται μεταξύ 0.75 και 0.95 και παραμένουν σταθεροί για όλη τη διάρκεια ζωής των συσκευών. Στο κεφάλαιο αυτό θα παρουσιάσουμε μία αρχιτεκτονική ενός συστήματος βασισμένο σε μνήμες στερεάς κατάστασης το οποίο δυναμικά μεταβαίνει ανάμεσα σε πολλούς ρυθμούς LDPC κωδίκων έτσι ώστε να αυξήσει τη ζωή των συσκευών [11]. Επειδή η πολυπλοκότητα του συστήματος θα αύξανε σημαντικά με μία τέτοια προσέγγιση, θα μελετήσουμε τρόπους ώστε να την κρατήσουμε σε σχετικά χαμηλά επίπεδα μειώνοντας παράλληλα και την κατανάλωση ισχύος. Αυτό το επιτυγχάνουμε μεταφέροντας τους LDPC αποκωδικοποιητές εκτός των SSD και δημιουργώντας μία δεξαμενή από αποκωδικοποιητές. Οι αποκωδικοποιητές χρησιμοποιούνται δυναμικά από τους διάφορους ελεγκτές καναλιών της μνήμης (Non-Volatile Memory Channel controller), όταν ανιχνεύονται σφάλματα στα δεδομένα. 5.2 Σύστημα αποθήκευσης βασισμένο σε μη πτητικές μνήμες Ένα σύστημα αποθήκευσης για εταιρικές εφαρμογές περιέχει ένα αριθμό από δίσκους SSD, οι οποίοι συνδέονται με τον Κεντρικό Ελεγκτή Μνήμης (ΚΕΜ) ή Main Storage Controller μέσω μίας τεχνολογίας υψηλών ταχυτήτων όπως το PCIe. Ο κάθε SSD αποτελείται από ένα ελεγκτή που επικοινωνεί με τον KEM και ένα αριθμό καναλιών μη πτητικών μνημών στα οποία συνδέονται τα ολοκληρωμένα κυκλώματα μνημών (πχ. NAND Flash ή Phase Change Memory). Ανάλογα με τη χρησιμοποιούμενη τεχνολογία μη πτητικών μνημών ο ελεγκτής του SSD εκτελεί λειτουργίες όπως μετάφραση λογικών σε φυσικές διευθύνσεις, κατανομή φθοράς (wear-leveling), συλλογή άχρηστων δεδομένων (garbage collection) και περιέχει μία μονάδα ελέγχου ανά κανάλι για την υποστήριξη διαφόρων διεπαφών όπως το ONFI [60]. Για την αξιόπιστη ανάκτηση δεδομένων στη διάρκεια ζωής της μνήμης χρησιμοποιούνται κατάλληλοι κωδικοποιητές και αποκωδικοποιητές ΚΔΣ. Συχνά οι LDPC χρησιμοποιούνται σαν εξωτερικοί κώδικες δύο συνδεδεμένων ΚΔΣ, ενώ οι BCH χρησιμοποιούνται εσωτερικά. Ο BCH είναι ένας ελαφρύς κώδικας που μπορεί να διορθώσει μέχρι ένα μικρό αριθμό σφαλμάτων, ενώ ο LDPC είναι ο βασικός κώδικας και η ικανότητά του καθορίζει τη μέγιστη ζωή του συστήματος. Δεδομένου ότι οι LDPC θα είναι σύντομα η μόνη λύση για συσκευές MLC και TLC, στη συνέχεια του κεφαλαίου θα ασχοληθούμε μόνο με αυτή την οικογένεια ΚΔΣ, λαμβάνοντας επίσης υπόψη την επιρροή

69 55 του εσωτερικού κώδικα στη σχέση μεταξύ των συνθηκών γήρανσης και επίδοσης των LDPC. Ο πιο αποτελεσματικός τρόπος σε όρους αξιοπιστίας, χωρητικότητας του χρήστη και χαμηλού latency είναι να εγκαταστήσουμε ένα block ΚΔΣ (κωδικοποιητή και αποκωδικοποιητή) σε κάθε κανάλι του SSD. Μία τέτοια υλοποίηση θα είναι βιώσιμη σε όρους κατανάλωσης ενέργειας και πολυπλοκότητας υλικού όταν χρησιμοποιούνται σταθεροί ρυθμοί και χαμηλής πολυπλοκότητας κώδικες. Το μειονέκτημα της χρήσης σταθερών ρυθμών ΚΔΣ όμως είναι ότι δεν λαμβάνει υπόψη του τη μη γραμμική σχέση μεταξύ των συνθηκών γήρανσης και της προδιαγραφής για επιθυμητό user BER. Κατά συνέπεια γίνεται απαραίτητη η ανάγκη ενός σχήματος που θα προσαρμόζει τη δύναμη του ΚΔΣ στις συνθήκες γήρανσης. Το μεγάλο μήκος της κωδικολέξης και η υψηλή πολυπλοκότητα των αριθμητικών πράξεων καθιστούν τον αποκωδικοποιητή LDPC ένα πολύ απαιτητικό κομμάτι του συστήματος σε πόρους υλικού, ακόμα και για σταθερούς ρυθμούς ΚΔΣ. Η πολυπλοκότητά του όπως είναι προφανές αυξάνει ακόμα περισσότερο αν τον υλοποιήσουμε ώστε να μεταβαίνει μεταξύ πολλών κωδίκων. Μέχρι τώρα οι SSD συνήθως χρησιμοποιούν ένα ΚΔΣ αποκωδικοποιητή σε κάθε κανάλι μνήμης. Αυτό μπορεί να παρέχει υλοποιήσεις λογικής πολυπλοκότητας όταν χρησιμοποιούνται κώδικες όπως ο BCH, αλλά δεν ισχύει το ίδιο και με τους LDPC. Συνεπώς η εισαγωγή ενός LDPC αποκωδικοποιητή αφιερωμένου σε κάθε κανάλι πρέπει να αποφευχθεί και να ακολουθήσουμε κάποια άλλη προσέγγιση. Στο Σχήμα 5.1 φαίνεται μία εναλλακτική αρχιτεκτονική ενός συστήματος αποθήκευσης βασισμένο σε μη πτητικές μνήμες. Περιέχει R SSD με M κανάλια ο καθένας. Αντί να χρησιμοποιήσουμε M R LDPC αποκωδικοποιητές, προτείνουμε να χρησιμοποιήσουμε ένα μικρότερο αριθμό έτσι ώστε να παρέχουμε ένα συμβιβασμό μεταξύ απόδοσης και πολυπλοκότητας/κόστους. Η προσέγγιση που ακολουθούμε είναι να δημιουργήσουμε μία δεξαμενή με N αποκωδικοποιητές LDPC οι οποίοι μπορούν να μοιραστούν μεταξύ όλων των ελεγκτών SSD. Στην πραγματικότητα μελετήσαμε δύο περιπτώσεις. Στην πρώτη, ο κάθε ελεγκτής SSD περιέχει ένα αφιερωμένο αποκωδικοποιητή LDPC που μπορεί να αξιοποιηθεί από τους M ελεγκτές καναλιών, ενώ οι υπόλοιποι N M αποκωδικοποιητές διαμοιράζονται δυναμικά μεταξύ όλων των SSD. Στη δεύτερη προσέγγιση δεν υπάρχει αφιερωμένος αποκωδικοποιητής στους SSD και όλοι οι αποκωδικοποιητές μπορούν να αξιοποιηθούν από όλους τους SSD. Αυτή η δεξαμενή από αποκωδικοποιητές LDPC συνδέεται με τους SSD μέσω του PCIe. Όταν εφαρμόζεται μία εντολή ανάγνωσης από το χρήστη (πχ. λειτουργικό σύστημα) μέσω ενός High Speed I/O Link, ο ΚΕΜ τη στέλνει στον αντίστοιχο δίσκο. Τα δεδομένα ανακτώνται από τα ολοκληρωμένα κυκλώματα μνημών και εάν ανιχνευτούν σφάλματα, τότε επιλέγεται ένας αδρανής αποκωδικοποιητής LDPC ώστε να τα διορθώσει. Αλλιώς τα δεδομένα στέλνονται στο χρήστη. Οι αποκωδικοποιητές είναι επιταχυντές υλικού (hardware accelerators) πχ. FPGA board, κάρτες γραφικών (GPU) ή ASIC, οι οποίοι μπορούν να εκτελέσουν ταυτόχρονα

70 56 High Speed I/O Links Main Storage System Controller Cache/Local Memory PCIe Switch SSD #1 SSD Controller SSD #2 SSD Controller NVMC #1 NVMC #M NVMC #1 NVMC #M LDPC Decoder #1 LDPC Decoder #2 ECC Decoders' Pool LDPC Decoder #N SSD #R SSD Controller NVMC #1 NVMC #M Σχήμα 5.1: Δομικό διάγραμμα προτεινόμενου συστήματος αποθήκευσης με προσαρμοζόμενο ρυθμό αποκωδικοποίησης επεξεργασία πολλών κωδικολέξεων χρησιμοποιώντας πολλαπλούς ρυθμούς κώδικα. Σε ένα τέτοιο σύστημα αποθήκευσης, οι ελεγκτές των δίσκων SSD παρακολουθούν την κατάσταση γήρανσης των ολοκληρωμένων κυκλωμάτων μνημών και προσαρμόσουν τον ΚΔΣ δυναμικά κατά τη διάρκεια της ζωής. Ο αριθμός των αποκωδικοποιητών που απαιτούνται για να επιτύχουμε μία καλή επίδοση I/O θα διερευνηθεί σε επόμενη παράγραφο, αξιοποιώντας ένα σύστημα ουρών που θα μας βοηθήσει να εξομοιώσουμε την παραπάνω αρχιτεκτονική. Ωστόσο, μία υλοποίηση θα πρέπει να λάβει υπόψη της την τεχνολογία των μνημών NVM, τις παραμέτρους του συστήματος (αριθμός από SSD και αριθμός καναλιών ανά SSD) και τις προδιαγραφές για το επιθυμητό ρυθμό I/O. Σε κάθε περίπτωση, μπορούμε να θεωρήσουμε ότι N MR. Πίνακας 5.1: Παράμετροι Συστήματος Μη Πτητικών Μνημών Χαρακτηριστικά NVM Chip Χαρακτηριστικά Συστήματος Αποθήκευσης Capacity [Gbits] 512 Chips per Channel 4 Page [Bytes] Channels per SSD 16 Pages per Block 256 Number of SSDs 8 Number of Blocks Total Capacity [TB] 32

71 57 Πίνακας 5.2: Σύστημα και Lifetime Capacity για διάφορους ρυθμούς κωδίκων Code Rate DB/CW UP/(NVM page) User Capacity [TB] LTC [PB] M1 M2 M1 M2 M1 M2 5/ / / / / / Χρήση πολλαπλών κωδίκων LDPC Για να μελετήσουμε την απόδοση του συστήματος αποθήκευσης που περιγράψαμε στην προηγούμενη παράγραφο, χρησιμοποιήσαμε σαν παράδειγμα τις παραμέτρους που φαίνονται στον Πίνακα 5.1. Η συνολική χωρητικότητά του (πριν τη χρήση ΚΔΣ) είναι 32TB, αλλά ανάλογα με το ρυθμό του LDPC και το σχήμα διαμελισμού των δεδομένων που θα χρησιμοποιηθεί, ο χρήστης μπορεί να δει μόνο ένα μέρος αυτής. Στο Σχήμα 5.2 φαίνεται η κατανομή των σελίδων του χρήστη (User Pages) στις κωδικολέξεις (Codewords) και στις σελίδες των μη πτητικών μνημών (NVM Pages). Τα δεδομένα του χρήστη χωρίζονται σε ομάδες των 4kB οι οποίες ονομάζονται User Pages (UP). O ελεγκτής της μνήμης χωρίζει τις UP σε ένα αριθμό από Data Blocks (DB) μεγέθους 512Β το καθένα έτσι ώστε να σχηματιστούν οι Data Words (DW). Αν και το μέγεθος των κωδικολέξεων του LDPC (CW) είναι σταθερό, το μέγεθος των DW και ο αριθμός των DB που περιέχει η κάθε DW, εξαρτάται από το ρυθμό του κώδικα όπως φαίνεται στον Πίνακα 5.2. Στην ανάλυσή μας υιοθετούμε δύο μεθόδους για να αποθηκεύσουμε τις UP σε NVM page. Στην πρώτη μέθοδο (M1) θεωρούμε ότι οι UP μπορούν να χωριστούν σε πολλές CW, χωρίς όμως να αναμιγνύουμε CW από διαφορετικές UP στην ίδια NVM User Pages DB DW CW NVM Page Σχήμα 5.2: Σχήμα διαμελισμού δεδομένων του χρήστη Information bits Parity για bits τον κώδικα με ρυθμό 3/4

72 58 page. Η δεύτερη μέθοδος (M2) δεν έχει τον παραπάνω περιορισμό, και συνεπώς κάνει καλύτερη αξιοποίηση του χώρου της μνήμης, αλλά η προσπέλαση των δεδομένων γίνεται πιο πολύπλοκη και αυξάνει η μέση τιμή των Ι/Ο προσβάσεων, όπως επίσης φαίνεται στον Πίνακα Ανάλυση Lifetime Capacity Το Lifetime Capacity (LTC) είναι ένα μέτρο του αριθμού των δεδομένων του χρήστη που μπορούν να γραφούν σε μία συσκευή αποθήκευσης καθόλη τη διάρκεια της ζωής της. Ο υπολογισμός της δίνεται από τον τύπο LTC = (Endurance User Capacity)/WAF, όπου Endurance είναι ο αριθμός των P/E κύκλων που μπορούν να εκτελεστούν στη συσκευή, προτού το User BER (UBER) ξεπεράσει ένα όριο, User Capacity είναι ο αριθμός των byte που είναι διαθέσιμα στο χρήστη και WAF είναι το Write-Amplification-Factor, το οποίο σχετίζεται με εσωτερικές διαδικασίες των SSD όπως το wear-leveling, το garbage collection, το start-gap κλπ. Επειδή το WAF δεν εξαρτάται από τους κώδικες LDPC, για συγκρινόμενα αποτελέσματα είναι έγκυρο να υποθέσουμε ότι WAF=1. Για να υπολογίσουμε τα αποτελέσματα ενός σχήματος προσαρμοζόμενων ρυθμών ΚΔΣ, χρησιμοποιήσαμε έξι LPDC ρυθμούς: 5/6, 3/4, 2/3, 1/2, 1/3 και 1/4. Ο Πίνακας 5.2 δείχνει τη χωρητικότητα του συστήματος για κάθε ρυθμό και για τις δύο μεθόδους διαμελισμού των δεδομένων. Επίσης, η Endurance για κάθε κώδικα μπορεί να ανακτηθεί από το Σχήμα 5.3 εφαρμόζοντας σαν μέγιστη τιμή του UBER το Το Σχήμα 5.3 έχει δημιουργηθεί χρησιμοποιώντας το μοντέλο της μνήμης που περιγράψαμε στο Κεφάλαιο 4 και τους παραπάνω κώδικες LDPC με μήκος κωδικολέξης 64kbits. Στη συνέχεια εκτιμούμε το LTC του συστήματος όταν προσαρμόζονται δυναμικά οι ρυθμοί του κώδικα. Εκτός από τον περιορισμό του UBER που θα πρέπει να είναι χαμηλότερο του 10 14, ερευνούμε επιπλέον την επίδραση του αριθμού επαναλήψεων του LDPC, προτού γίνει μετάβαση στο ισχυρότερο LDPC ρυθμό. Αυτό φαίνεται στο Σχήμα 5.4. Ο κάθε ρυθμός r i έχει ένα όριο PE i κύκλων για UBER O Πίνακας 5.3 δείχνει τα αποτελέσματα για τα τέσσερα όρια επαναλήψεων και τον παράγοντα βελτίωσης του προσαρμοζόμενου ρυθμού κώδικα σε όρους LTC συγκρινόμενο με την υλοποίηση που έχει σταθερό ρυθμό. Το όριο του αριθμού των επαναλήψεων δεν επηρεάζει σημαντικά το LTC (10-15%), αλλά επηρεάζει την Ι/Ο επίδοση καθόλη τη ζωή του συστήματος. Στο Σχήμα 5.5 φαίνεται η μεταβολή της χωρητικότητας του συστήματος όσο γηράσκουν οι συσκευές. Το LTC είναι το άθροισμα του εμβαδού των χρωματισμένων περιοχών. Ένα αναπόφευκτο μειονέκτημα της προσαρμογής του ρυθμού όσο αυξάνουν οι PE κύκλοι είναι ότι μειώνεται η χωρητικότητα του χρήστη. Αν και αυτό είναι ένα μη επιθυμητό φαινόμενο, η αξιοπιστία των δεδομένων παραμένει σε πολύ υψηλά επίπεδα καθόλη τη διάρκεια της ζωής του συστήματος, ενώ η διάρκεια ζωής και το LTC είναι πολύ υψηλότερα σε σχέση με οποιαδήποτε επιλογή σταθερού ρυθμού. Είναι προφανές πως είναι προτιμότερο να παρατηρούμε ένα σύστημα να συρρικνώνει

73 59 Σχήμα 5.3: Raw και User BER συναρτήσει των PE κύκλων για διαφορετικούς ρυθμούς LDPC Σχήμα 5.4: Αριθμός από επαναλήψεις αποκωδικοποίησης ανά ρυθμό LDPC συναρτήσει των PE κύκλων Πίνακας 5.3: LTC Συστήματος όταν χρησιμοποιούνται προσαρμοζόμενοι ρυθμοί LDPC και ο Παράγοντας Βελτίωσης Maximum Iterarions LTC [PB] Improvement Factor M1 M2 M1 M τη χωρητικότητα αποθήκευσής του από το να το βλέπουμε να καταρρέει χάνοντας τα δεδομένα.

74 60 Σχήμα 5.5: Εξέλιξη της χωρητικότητας δεδομένων του χρήστη όταν οι ρυθμοί των κωδίκων προσαρμόζονται δυναμικά. Πίνακας 5.4: Lifetime Συστήματος για Sustained Data Rates Code Rate Lifetime [Years] Endurance [kpe Cycles] Normalized Data Rate [GBps] 5/ / / / / / Adaptive Επιδόσεις I/O Εκτός από το LTC, η χρήση πολλαπλών κωδίκων LDPC επηρεάζει και τις επιδόσεις I/O του συστήματος. Όπως φαίνεται στο Σχήμα 5.6 η επίδοση του κάθε ρυθμού μικραίνει όσο γηράσκει η συσκευή, λόγω του αυξημένου αριθμού επαναλήψεων που απαιτούνται για να αποκωδικοποιηθούν επιτυχώς οι κωδικολέξεις. Μεταβαίνοντας σε πιο ισχυρούς κώδικες όταν οι επαναλήψεις του LDPC ξεπεράσουν ένα αριθμό, η μείωση του ρυθμού μετάδοσης (Data Rate) επιβραδύνεται και κρατιέται σε σχετικά υψηλά επίπεδα καθόλη τη διάρκεια ζωής της συσκευής, μέχρις ότου να χρησιμοποιηθούν όλοι οι κώδικες.

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις: Σύστημα μνήμης Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρουμε επαρκή χωρητικότητα αποθήκευσης διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

Μελλοντικές Κατευθύνσεις

Μελλοντικές Κατευθύνσεις Ψηφιακά Ηλεκτρονικά Μελλοντικές Κατευθύνσεις.Λιούπης Ψηφιακά Ηλεκτρονικά Μελλοντικές Κατευθύνσεις 1 Ψηφιακά Ηλεκτρονικά Μελλοντικές Κατευθύνσεις 2 Σύγχρονα Τρανζίστορ Αύξηση της απόδοσης Μίγµα silicon

Διαβάστε περισσότερα

Mέσα στερεάς κατάστασης

Mέσα στερεάς κατάστασης Πηγή: http://www.ipet.gr Mέσα στερεάς κατάστασης Τα αποθηκευτικά μέσα στερεής κατάστασης είναι συσκευές αποθήκευσης δεδομένων κλειστού τύπου, χωρίς κινούμενα μέρη, στις οποίες τα δεδομένα αποθηκεύονται

Διαβάστε περισσότερα

.Λιούπης. Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1

.Λιούπης. Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1 Ψηφιακά Ηλεκτρονικά Ηµιαγωγικές µνήµες.λιούπης Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1 Τυπική εσωτερική οργάνωση µνήµης γραµµές λέξης wordlines () κύκλωµα προφόρτισης (pre-charge circuit) γραµµές ψηφίου

Διαβάστε περισσότερα

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 5 : Η Εσωτερική Μνήμη Καρβούνης Ευάγγελος Τρίτη, 01/12/2015 Οι τύποι μνήμης με ημιαγωγούς 2 2 Η λειτουργία

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

Τεχνολογίες Κύριας Μνήμης

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών) Τα μοντέρνα ψηφιακά κυκλώματα (λογικές πύλες, μνήμες, επεξεργαστές και άλλα σύνθετα κυκλώματα) υλοποιούνται σήμερα

Διαβάστε περισσότερα

Κεφάλαιο 12 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Μνήμες 2

Κεφάλαιο 12 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Μνήμες 2 ΚΥΚΛΩΜΑΤΑ VLSI Πανεπιστήμιο Ιωαννίνων Μνήμες Κεφάλαιο 1 ο Τμήμα Μηχανικών Η/Υ και Πληροφορικής Γ. Τσιατούχας ΚΥΚΛΩΜΑΤΑ VLSI Διάρθρωση 1. Οργάνωση και αρχιτεκτονική μνημών. Μνήμες 3. Μνήμες AM 4. Μνήμες

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ Μνήμες (Memory) - Είναι ημιαγώγιμα κυκλώματα που μπορούν να αποθηκεύσουν ένα σύνολο από δυαδικά ψηφία (bit). - Μια μνήμη αποθηκεύει λέξεις (σειρές από bit). - Σε κάθε

Διαβάστε περισσότερα

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

Διαβάστε περισσότερα

Μνήμη και Προγραμματίσιμη Λογική

Μνήμη και Προγραμματίσιμη Λογική Μνήμη και Προγραμματίσιμη Λογική Η μονάδα μνήμης είναι ένα στοιχείο κυκλώματος στο οποίο μεταφέρονται ψηφιακές πληροφορίες προς αποθήκευση και από το οποίο μπορούμε να εξάγουμε αποθηκευμένες πληροφορίες

Διαβάστε περισσότερα

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 10 : Κωδικοποίηση καναλιού Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Απόσταση και βάρος Hamming Τεχνικές και κώδικες ανίχνευσης &

Διαβάστε περισσότερα

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ Τεχνικών Σχολών, Θεωρητικής Κατεύθυνσης

Διαβάστε περισσότερα

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ ΜΝΗΜΕΣ ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ 2 ΠΤΥΤΙΚΕΣ vs ΜΗ ΠΤΥΤΙΚΕΣ Πτητική είναι η µνήµη η οποία χάνει το περιεχόµενο της µε το σβήσιµο του ηλεκτρονικού υπολογιστή (διακοπή τροφοδοσίας), ενώ µη πτητική

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

Διαβάστε περισσότερα

Nέες Τεχνολογίες. στις Επικοινωνίες

Nέες Τεχνολογίες. στις Επικοινωνίες Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών Nέες Τεχνολογίες στις Επικοινωνίες Δρ. Δημήτριος Ευσταθίου Επίκουρος Καθηγητής Κώδικες Διόρθωσης Λαθών Τεχνολογικό Εκπαιδευτικό

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 12:Κωδικοποίηση Καναλιού με Κώδικες Turbo. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 12:Κωδικοποίηση Καναλιού με Κώδικες Turbo. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 12:Κωδικοποίηση Καναλιού με Κώδικες Turbo Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Κώδικες turbo 2 Κώδικες Turbo Η ιδέα για τους κώδικες turbo διατυπώθηκε για

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α)

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) 3.1. ΣΚΟΠΟΣ ΑΣΚΗΣΗΣ Σκοπός της εργαστηριακής αυτής άσκησης είναι η μελέτη της παλμοκωδικής διαμόρφωσης που χρησιμοποιείται στα σύγχρονα τηλεπικοινωνιακά

Διαβάστε περισσότερα

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 13: Συνελικτικοί Κώδικες Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Κώδικες: Εισαγωγή Συνελικτικοί κώδικες Ατζέντα Ιστορική αναδρομή Μαθηματικό υπόβαθρο Αναπαράσταση

Διαβάστε περισσότερα

«Μνήμη Flash και δίσκοι SSD»

«Μνήμη Flash και δίσκοι SSD» ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ Λάζαρος Τσομπανίδης «Μνήμη Flash και δίσκοι SSD» Επιβλέπον καθηγητής: Σωτήριος Πούρος Θεσσαλονίκη 2017 ΠΕΡΙΛΗΨΗ Οι

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 5 : Η Εσωτερική Μνήμη Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

Διαβάστε περισσότερα

Χρ. Καβουσιανός Επίκουρος Καθηγητής

Χρ. Καβουσιανός Επίκουρος Καθηγητής Σχεδίαση Μνηµών Χρ. Καβουσιανός Επίκουρος Καθηγητής Εισαγωγή Η Μνήµη είναι ένας πίνακας από θέσεις αποθήκευσης συγκεκριµένου µεγέθους, κάθε µία από τις οποίες έχει µία διακριτή διεύθυνση Θέση 0 Θέση 1

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Κεφάλαιο 2.4: Εργασία με εικονίδια

Κεφάλαιο 2.4: Εργασία με εικονίδια Κεφάλαιο 2.4: Εργασία με εικονίδια 2.4.1 Συχνότερα εμφανιζόμενα εικονίδια των Windows Τα πιο συνηθισμένα εικονίδια, που μπορεί να συναντήσουμε, είναι: Εικονίδια συστήματος: Τα Windows εμφανίζουν τα στοιχεία

Διαβάστε περισσότερα

Μνήμες RAM. Διάλεξη 12

Μνήμες RAM. Διάλεξη 12 Μνήμες RAM Διάλεξη 12 Δομή της διάλεξης Εισαγωγή Κύτταρα Στατικής Μνήμης Κύτταρα Δυναμικής Μνήμης Αισθητήριοι Ενισχυτές Αποκωδικοποιητές Διευθύνσεων Ασκήσεις 2 Μνήμες RAM Εισαγωγή 3 Μνήμες RAM RAM: μνήμη

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ Ο πραγματικός κόσμος είναι ένας αναλογικός κόσμος. Όλα τα μεγέθη παίρνουν τιμές με άπειρη ακρίβεια. Π.χ. το ηλεκτρικό σήμα τάσης όπου κάθε

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (IΙI)

Οργάνωση Υπολογιστών (IΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) Τα ηλεκτρονικά κυκλώματα, ιδιαίτερα τα ψηφιακά χρησιμοποιούνται για την υλοποίηση λογικών συναρτήσεων και την αποθήκευση

Διαβάστε περισσότερα

Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας

Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας Υποψήφιος Διδάκτορας: Α. Χατζόπουλος Περίληψη Οι τελευταίες εξελίξεις

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

ΚΩΔΙΚΕΣ LDPC Τεχνικές Κωδικοποίησης

ΚΩΔΙΚΕΣ LDPC Τεχνικές Κωδικοποίησης ΚΩΔΙΚΕΣ LDPC Τεχνικές Κωδικοποίησης 2010-2011 1 Καράς Δημήτριος, ΑΕΜ 6375 Χρόνης Θεόδωρος, ΑΕΜ 2628 Ημερομηνία: 25-10-2011 Κώδικες LDPC Ιστορικά στοιχεία LDPC: Low Density Parity Check, χαμηλής πυκνότητας

Διαβάστε περισσότερα

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική Επιµέλεια διαφανειών: Χρ. Καβουσιανός Μνήµη Η µνήµη καταλαµβάνει το µεγαλύτερο µέρος ενός υπολογιστικού συστήµατος Δύο τύποι: ROM - RAM RΟΜs CPU

Διαβάστε περισσότερα

Κύρια & Περιφερειακή Μνήµη

Κύρια & Περιφερειακή Μνήµη Κύρια & Περιφερειακή Μνήµη Κύρια Μνήµη RAM ROM Cache Περιεχόµενα Μονάδες Μαζικής Αποθήκευσης Μαγνητικοί ίσκοι Μαγνητικές Ταινίες Οπτικά Μέσα Ηκύρια µνήµη (Main Memory) Η κύρια µνήµη: Αποθηκεύει τα δεδοµένα

Διαβάστε περισσότερα

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

Διαβάστε περισσότερα

Θέμα: Σκληρός Δίσκος

Θέμα: Σκληρός Δίσκος Θέμα: Σκληρός Δίσκος Γενικά Ο σκληρός δίσκος είναι ένα μαγνητικό αποθηκευτικό μέσο - συσκευή που χρησιμοποιείται στους ηλεκτρονικούς υπολογιστές, στις ψηφιακές βιντεοκάμερες, στα φορητά MP3 players, στα

Διαβάστε περισσότερα

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η :

Διαβάστε περισσότερα

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Κωδικοποίηση καναλιού: Σύντομη επανάληψη Συνελικτικοί κώδικες Ιστορική

Διαβάστε περισσότερα

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Εισαγωγή στην Τεχνολογία της Πληροφορικής ΓΙΩΡΓΟΣ Ν. ΓΙΑΝΝΟΠΟΥΛΟΣ Λέκτορας στο Πανεπιστήμιο Αθηνών gyannop@law.uoa.gr Το «κλειστό» σύστημα ΕΙΣΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (9 η σειρά διαφανειών)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (9 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (9 η σειρά διαφανειών) Διεργασίες Μικροηλεκτρονικής Τεχνολογίας, Οξείδωση, Διάχυση, Φωτολιθογραφία, Επιμετάλλωση, Εμφύτευση, Περιγραφή CMOS

Διαβάστε περισσότερα

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 4 η :

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή Μνήμη Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή ηλεκτρονική συσκευή, σε προσωρινή ή μόνιμη βάση. Τα σύγχρονα

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Τεχνικές Διόρθωσης Λαθών Κώδικες εντοπισμού λαθών Κώδικες εντοπισμού

Διαβάστε περισσότερα

Ψηφιακά Ηλεκτρονικά. Μάθηµα 5ο.. Λιούπης

Ψηφιακά Ηλεκτρονικά. Μάθηµα 5ο.. Λιούπης Ψηφιακά Ηλεκτρονικά Μάθηµα 5ο. Λιούπης Τεχνολογία CMOS Υλοποιεί την πλειοψηφία των µοντέρνων ψηφιακών κυκλωµάτων λογικές πύλες µνήµες επεξεργαστές άλλα σύνθετα κυκλώµατα Συνδυάζει συµπληρωµατικά pmos και

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Προγραµµατιζόµενες

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων Αναλογικές & Ψηφιακές Διατάξεις Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν ηλεκτρικά σήματα χαμηλής

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

Διαβάστε περισσότερα

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Εισαγωγή στην Αρχιτεκτονική Η/Υ Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 7 Μέτρηση ωμικής αντίστασης και χαρακτηριστικής καμπύλης διόδου

ΑΣΚΗΣΗ 7 Μέτρηση ωμικής αντίστασης και χαρακτηριστικής καμπύλης διόδου Απαραίτητα όργανα και υλικά ΑΣΚΗΣΗ 7 Μέτρηση ωμικής αντίστασης και χαρακτηριστικής καμπύλης διόδου 7. Απαραίτητα όργανα και υλικά. Τροφοδοτικό DC.. Πολύμετρα (αμπερόμετρο, βολτόμετρο).. Πλακέτα για την

Διαβάστε περισσότερα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 2: Τεχνικές για Σχεδιασμό Χαμηλής Κατανάλωσης Ισχύος στα MPSoCs Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Διαβάστε περισσότερα

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τομέας Επικοινωνιών και Επεξεργασίας Σήματος Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Διαβάστε περισσότερα

ΑΚΑΔΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : TEΣT ΑΞΙΟΛΟΓΗΣΗΣ ΓΝΩΣΕΩΝ ΣΤΑ ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

ΑΚΑΔΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : TEΣT ΑΞΙΟΛΟΓΗΣΗΣ ΓΝΩΣΕΩΝ ΣΤΑ ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ ΑΚΑΔΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : TEΣT ΑΞΙΟΛΟΓΗΣΗΣ ΓΝΩΣΕΩΝ ΣΤΑ ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ ΣΠΟΥΔΑΣΤΗΣ : Λιασένκο Ρομάν ΕΠΙΒΛΕΠΟΥΣΑ ΚΑΘΗΓΗΤΡΙΑ : Τόλιου Κατερίνα NEA

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί;

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί; ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Συνδυαστικές Λογικές ιατάξεις Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη Λογικές ιατάξεις (Programmable Logic Devices PLDs)

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος Τι σημαίνει ο όρος ψηφιακό ; Όλα τα φυσικά φαινόμενα που συμβαίνουν στη φύση είναι αναλογικές διαδικασίες. Ένα αναλογικό σύστημα λοιπόν μπορεί να λάβει άπειρες συνεχόμενες τιμές

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Οργάνωση Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Περιβάλλον Προσομοίωσης Hades, University of Hamburg http://tams-www.informatik.uni-hamburg.de/applets/hades/

Διαβάστε περισσότερα

Ψηφιακά Κυκλώματα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Ψηφιακά Κυκλώματα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά Κυκλώματα (2 ο μέρος) ΜΥΥ-6 Εισαγωγή στους Η/Υ και στην Πληροφορική Ακολουθιακά κυκλώματα είσοδοι.. ακολουθιακή λογική.. έξοδοι. ανάδραση Η λειτουργία μνήμης στηρίζεται στη ανάδραση (feedback):

Διαβάστε περισσότερα

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

Διαβάστε περισσότερα

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών 1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών Μεταξύ του 2700 π.χ. και 2300 π.χ. εμφανίστηκε για πρώτη φορά ο Σουμεριακός Άβακας, ένας πίνακας με διαδοχικές στήλες που οριοθετούσαν τις διαδοχικές τάξεις

Διαβάστε περισσότερα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2018-2019 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα ολοκληρωμένα κυκλώματα

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ R3 I Καταχωρητές PC Κεντρική Μονάδα Επεξεργασίας Αριθμητική και λογική μονάδα

Διαβάστε περισσότερα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Γιώργος Καλοκαιρινός & Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα

Διαβάστε περισσότερα

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Σημειώσεις Δικτύων Αναλογικά και ψηφιακά σήματα Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Χαρακτηριστικά

Διαβάστε περισσότερα

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης Το εσωτερικό ενός PC 1 Το κουτί του PC (περίβλημα) περιέχει όλα τα βασικά μέρη του συστήματος Δύο κατηγορίες κουτιών: Desktop και Tower Mini tower Midi tower Full tower Κεντρική μονάδα Ο τύπος του κουτιού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 2: Σύστημα Αρχείων Τα προγράμματα που εκτελούνται

Διαβάστε περισσότερα

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM)

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. Σταθερές Μνήμες Αρχιτεκτονικές Μνήμης RAM

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI.  Σταθερές Μνήμες Αρχιτεκτονικές Μνήμης RAM HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI Διδάσκων: Χ. Σωτηρίου, Βοηθοί: θα ανακοινωθούν http://inf-server.inf.uth.gr/courses/ce330 1 ΗΥ330 - Διάλεξη 12η - Κυκλώματα Μνήμης Περιεχόμενα Είδη

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 8 ο Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα Βασική Θεωρία Σε ένα σύστημα μετάδοσης

Διαβάστε περισσότερα

ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ Ι ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ Ι ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ Ι ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ 1 1. ΒΑΣΙΚΟΙ ΟΡΙΣΜΟΙ Κύκλωμα είναι ένα σύνολο ηλεκτρικών πηγών και άλλων στοιχείων που είναι συνδεμένα μεταξύ τους και διέρχεται ηλεκτρικό ρεύμα από

Διαβάστε περισσότερα

Τα τρανζίστορ επίδρασης πεδίου (FET) Σπύρος Νικολαΐδης Αναπληρωτής Καθηγητής Τομέας Ηλεκτρονικής & ΗΥ Τμήμα Φυσικής

Τα τρανζίστορ επίδρασης πεδίου (FET) Σπύρος Νικολαΐδης Αναπληρωτής Καθηγητής Τομέας Ηλεκτρονικής & ΗΥ Τμήμα Φυσικής Τα τρανζίστορ επίδρασης πεδίου (FET) Σπύρος Νικολαΐδης Αναπληρωτής Καθηγητής Τομέας Ηλεκτρονικής & ΗΥ Τμήμα Φυσικής Τα τρανζίστορ επίδρασης πεδίου Τα πιο βασικά στοιχεία δομής των ηλεκτρονικών κυκλωμάτων

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Αναλογικές & Ψηφιακές Διατάξεις Control Systems Laboratory Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 3/02/2019 ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Ο πυκνωτής είναι μια διάταξη αποθήκευσης ηλεκτρικού φορτίου, επομένως και ηλεκτρικής ενέργειας.

Ο πυκνωτής είναι μια διάταξη αποθήκευσης ηλεκτρικού φορτίου, επομένως και ηλεκτρικής ενέργειας. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΙΚΕΣ ΤΑΛΑΝΤΩΣΕΙΣ Ο πυκνωτής Ο πυκνωτής είναι μια διάταξη αποθήκευσης ηλεκτρικού φορτίου, επομένως και ηλεκτρικής ενέργειας. Η απλούστερη μορφή πυκνωτή είναι ο επίπεδος πυκνωτής, ο οποίος

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 4 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Μνήμη Υπολογιστών 2 Η αποθήκευση των πληροφοριών σε ένα υπολογιστή γίνεται

Διαβάστε περισσότερα

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Μονάδες Μνήμης και Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Μονάδες Μνήμης - Προγραμματιζόμενη Λογική Μια μονάδα μνήμης είναι ένα

Διαβάστε περισσότερα