Skip to main content
27 Οκτωβρίου 2010 03:00

Πίσω από τη μνήμη Flash!

Γράφει: Αργύρης Νομικός
e8d7905e3ae396b97e7467ca3d2281ab XL 7399a8ee

Featured | Ταχύτατη, ανθεκτική, αθόρυβη! Χρόνια τώρα, η μνήμη Flash είναι η καρδιά πολλών ηλεκτρονικών συσκευών. Και το εκπληκτικό είναι, ότι αντί να οδηγείται προς το “ράφι”, συνεχίζει να είναι από τα βασικότερα ηλεκτρονικά στοιχεία. Αξίζει λοιπόν, να δώσουμε λίγο χρόνο για να καταλάβουμε τη “γλώσσα” που μιλάει…

Εάν έχετε προχωρήσει λίγο παραπέρα από την κλασική ενασχόληση με το δορυφορικό σας δέκτη, σίγουρα θα έχετε πέσει στην έννοια “φλασάρω”. Πέρα από τη δύναμη της Ελληνικής γλώσσας να ελίσσεται και να προσαρμόζεται, η παραπάνω λέξη δηλώνει την ενέργεια αντιγραφής ενός λογισμικού στη μνήμη flash. Πολλοί λοιπόν από εμάς έχουμε ασχοληθεί εις γνώση μας ή όχι με τη μνήμη flash. Καιρός είναι λοιπόν, να μάθουμε μερικά πράγματα παραπάνω για το πως λειτουργεί αυτό το ηλεκτρονικό εξάρτημα, που είναι πλέον παντού γύρω μας.

Flash Memory
Η ηλεκτρονική μνήμη των ψηφιακών συσκευών, απαντάται σε πολλές μορφές. Η σημαντικότερη, ίσως, μορφή ηλεκτρονικής μνήμης σήμερα, είναι η Flash memory. Η  Flash memory χρησιμοποιείται πλέον σε πολλές διαφορετικές εφαρμογές, όπως:
α) Στους υπολογιστές.
β) Σε δορυφορικούς δέκτες.
γ) Σε PCMCIA cards (Diablo, Zeta κλπ).
δ) Σε Compact Flash, Smart Media και Memory Stick, που χρησιμοποιούνται κυρίως στις μνήμες ψηφιακών φωτογραφικών μηχανών και βιντεοκαμερών.
ε) Σε κονσόλες ηλεκτρονικών παιχνιδιών.
στ) Στην κινητή τηλεφωνία κ.λπ.
Η Flash memory είναι ένας τύπος εξελιγμένου EEPROM chip. Οι κλασικές EEPROM επιτρέπουν διαγραφή ή εγγραφή, μόνο σε μια τοποθεσία (location) τη φορά, ενώ οι Flash επιτρέπουν εγγραφή σε διαφορετικές τοποθεσίες, την ίδια χρονική στιγμή, πράγμα που τις καθιστά σαφώς πιο γρήγορες.
Η Flash memory αποθηκεύει πληροφορία σε μια διάταξη Floating Gates (πύλες ροής) transistors, που ονομάζονται κελιά (cells). Κάθε κελί μπορεί να αποθηκεύσει ένα bit πληροφορίας, αν και οι νεώτερες flash αναφέρονται σαν «multi-level cell devices» και μπορούν να αποθηκεύσουν περισσότερα από 1bit/κελί.

Ανάγνωση, διαγραφή, εγγραφή Flash
Στις flash, κάθε κελί μοιάζει με ένα MOSFET transistor, εκτός από το γεγονός ότι έχει δύο gates (πύλες), αντί για μία. Η μία gate είναι η control gate (CG), όπως σε όλα τα MOS, αλλά η δεύτερη είναι η floating gate (FG), που είναι μονωμένη με ένα στρώμα οξειδίου (oxide layer). Οι άλλες δύο επαφές του transistor, είναι οι συνηθισμένες Source και Drain, που υπάρχουν σε όλα τα MOS. Επειδή η FG είναι μονωμένη, κάθε ηλεκτρόνιο που τοποθετείται μέσα της, παγιδεύεται και έτσι αποθηκεύει πληροφορία. Τα ηλεκτρόνια που βρίσκονται μέσα στην FG, διαμορφώνουν το ηλεκτρικό πεδίο (μερικώς ακυρώνουν) της CG, το οποίο, με τη σειρά του, διαμορφώνει την τάση κατωφλιού {threshold voltage (Vt)} του κελιού. Με αυτόν τον τρόπο, όταν γίνεται «ανάγνωση» του κελιού, ασκώντας μια συγκεκριμένη τάση στην CG, θα ρέει ή δεν θα ρέει ηλεκτρικό ρεύμα, ανάλογα με την τάση Vt (κατωφλιού). Η απουσία ή η παρουσία ηλεκτρικού ρεύματος μεταφράζεται σε 1 ή 0, μεταφέροντας έτσι την πληροφορία που είναι αποθηκευμένη στο κελί. Σε μια multi-level cell device, που αποθηκεύει περισσότερα από 1 bit πληροφορίας ανά cell, ανιχνεύεται το ποσό του ρεύματος που ρέει (αντί απλά για την απουσία ή παρουσία του), έτσι ώστε να προσδιοριστεί ακριβώς, ο αριθμός των ηλεκτρονίων που είναι αποθηκευμένα στην FG.
Μια flash προγραμματίζεται με εκκίνηση ροής ηλεκτρονίων, από την επαφή source στην επαφή drain. Στη συνέχεια, ένα ισχυρό ηλεκτρικό πεδίο εφαρμόζεται στην CG, ώστε τα ηλεκτρόνια να αποκτήσουν ικανή κινητική ενέργεια για να εισέλθουν στην FG. Η διαδικασία ονομάζεται hot-electron injection.
Διαγραφή μιας flash σημαίνει ότι όλα τα κελιά θα αποκτήσουν την τιμή 1. Η διαγραφή είναι απαραίτητη διαδικασία πριν από κάθε εγγραφή. Για τον προγραμματισμό όλων των κελιών σε τιμή 1 (διαγραφή), χρειάζεται απλά μια πολύ ισχυρή ηλεκτρική τάση, ανάμεσα στη CG και τη source.
Για να μπορέσει να προγραμματιστεί η flash, να αλλάξουν δηλαδή κάποιες τιμές από την τιμή 1 στην τιμή 0, χρειάζεται μια διαδικασία, που ονομάζεται Fowler-Nordheim tunneling. Μια ηλεκτρική τάση μεταξύ 10 με 13 Volts εφαρμόζεται στην FG. Το φορτίο εισέρχεται στην FG με κατεύθυνση προς την επαφή drain. Το φορτίο αυτό, αναγκάζει την FG να δράσει σαν ηλεκτρονικό πυροβόλο. Τα διεγερμένα ηλεκτρόνια απωθούνται και παγιδεύονται στην άλλη άκρη της επίστρωσης του οξειδίου, δίνοντάς του αρνητικό φορτίο. Αυτά τα ηλεκτρόνια λειτουργούν σαν φραγή ανάμεσα στην FG και τη CG, επιτρέποντας μεγαλύτερο ή μικρότερο αριθμό ηλεκτρονίων να διέλθουν (ανάλογα με την τάση). Ένας ειδικός αισθητήρας, που ονομάζεται cell sensor, παρακολουθεί τη ροή των ηλεκτρονίων. Αν η ροή των ηλεκτρονίων είναι μεγαλύτερη από το 50% του συνολικού φορτίου, η τιμή είναι 1, αν αντίθετα, η ροή είναι μικρότερη του 50% του συνολικού φορτίου, η τιμή είναι 0.
Αυτά λοιπόν συμβαίνουν στον ηλεκτρονικό μικρόκοσμο του δέκτη σας ή του CAM σας, κάθε φορά που προσπαθείτε να προγραμματίσετε τη flash. Ροή ηλεκτρονίων προσπαθεί να δώσει στα κελιά τιμές 1 ή 0, που δεν είναι τίποτα άλλο, από τη δυαδική μορφή του οποιουδήποτε software περνάτε. Έτσι κι αλλιώς, πάντα έτσι είναι η ψηφιακή λογική. Ένα ανθρώπινο τρικ προσπαθεί να εξαναγκάσει ένα μηχάνημα, να καταλάβει δύο καταστάσεις.

Binary και
Hexademical
Ένα bit είναι η μικρότερη μονάδα που μπορεί να αποθηκευτεί στη μνήμη ενός ψηφιακού μηχανήματος. Όπως είπαμε, μπορεί να πάρει δύο τιμές. Η απεικόνιση οποιασδήποτε πληροφορίας με χρήση δύο καταστάσεων, είναι αναγκασμένη να χρησιμοποιήσει πρωταρχικά το δυαδικό σύστημα αρίθμησης, που είναι βασισμένο σε δύο δυαδικά ψηφία (binary digits), το 0 και το 1. Ένα αρχείο που κωδικοποιείται σε δυαδική μορφή, ονομάζεται binary και είναι άμεσα εκτελέσιμο από οποιαδήποτε ψηφιακή συσκευή. Επειδή όμως το bit είναι πολύ μικρή μονάδα, η ψηφιακή πληροφορία δομείται σε bytes, που δεν είναι τίποτα άλλο, από 8-bits στη σειρά, που αποτελούν και μια ψηφιακή λέξη.
Αν κάποιος μηχανικός υπολογιστών ή προγραμματιστής, προσπαθήσει να προγραμματίσει χρησιμοποιώντας απλά 0 ή 1, γρήγορα θα καταλήξει σε μεγάλες σειρές από bits, της μορφής 010011000100110101010110 ή και ακόμη μεγαλύτερες. Για να απλοποιηθούν κάπως τα πράγματα, θα μπορούσαμε ανά 4 ψηφία (μισό byte) να χωρίζαμε τα ψηφία με κόμμα. Η μορφή θα γινόταν τότε 0100,1100,0100,1101,0101,0110. Αν στη συνέχεια, αναρωτηθούμε πόσες τετράδες μπορούν να δώσουν οι συνδυασμοί 0 ή 1 (με επαναλήψεις), τότε η απάντηση είναι το πολύ 16. Αν συμβολίσουμε τις 16 διαφορετικές αυτές καταστάσεις, με 16 διαφορετικά σύμβολα (δανειζόμενοι τα 10 ψηφία του δεκαδικού συστήματος αρίθμησης και τα 6 πρώτα γράμματα του λατινικού αλφάβητου), καταλήγουμε στο δεκαεξαδικό (hexademical) σύστημα αρίθμησης

Binary Hex

0000                0

0001                1

0010                2

0011                3

0100                4

0101                5

0110                6

0111                7

1000                8

1001                9

1010                A

1011                B

1100                C

1101                D

1110                E

1111                F

Αντιστοιχία δυαδικών αριθμών στο δεκαεξαδικό σύστημα
Με αυτόν τον τρόπο, η αρχική πληροφορία 010011000100110101010110, γίνεται απλά 4B4C57 και αυτό αποτελεί τη δεκαεξαδική απεικόνιση της αρχικής δυαδικής πληροφορίας. Αν όλα αυτά σας φαίνονται λίγο περίεργα, να θυμίσω απλά πως όλοι μας, χειριζόμαστε πολύ εύκολα μια άλλη μαθηματική κωδικοποίηση, που είναι το δεκαδικό σύστημα αρίθμησης, ακριβώς επειδή το μαθαίνουμε από την παιδική μας ηλικία. Αν μαθαίναμε το δεκαεξαδικό σύστημα, όλα τα παραπάνω θα φαινόντουσαν τόσο απλά, όσο το να μετρήσουμε από το 1 έως το 16… γιατί αυτό ακριβώς κάναμε.
Αυτές οι τετράδες από bits, λοιπόν, που συμβολίζονται με τα ανωτέρω σύμβολα στο δεκαεξαδικό σύστημα, δεν είναι τίποτα άλλο από «μισή ψηφιακή λέξη» (αφού τα 8 αποτελούν μια ψηφιακή λέξη). Αν ανοίξουμε οποιοδήποτε αρχείο με κάποιο πρόγραμμα δεκαεξαδικής επεξεργασίας (hexademical editor), εκείνο που θα δούμε, θα είναι δεκαεξαδικά σύμβολα, δομημένα σε δυάδες και φυσικά, κάθε δυάδα αποτελεί ένα πλήρες byte (μια πλήρη λέξη).

Β
oot loader
Όταν προγραμματίζετε, λοιπόν, την ψηφιακή σας συσκευή, αποθηκεύετε ένα αρχείο γλώσσας μηχανής (binary ή hexademical) στη flash της συσκευής σας (σε μερικούς δέκτες και σε USB stick ή HDD), που δεν είναι τίποτα άλλο από το λειτουργικό της συσκευής. Κάθε φορά όμως, που ξεκινά η λειτουργία του δέκτη, αυτό το λειτουργικό θα πρέπει να εκτελείται. Ο Boot Loader δεν είναι τίποτα άλλο, από ένα πρόγραμμα, το οποίο φορτώνει και εκτελεί το λειτουργικό. Πώς όμως ενεργοποιείται ο Boot Loader;
Κατά την εκκίνηση της συσκευής, το BIOS διαβάζει τα πρώτα 512 bytes του MBR (Master Boot Record) της μονάδας boot (Flash, USB stick, HDD κλπ). To master boot record περιλαμβάνει συνήθως δύο πληροφορίες, ένα μέρος ή ολόκληρο τον  Boot Loader και το partition table (που περιλαμβάνει πληροφορίες για τα  partitions των δίσκων ή των υπόλοιπων μονάδων). Σε συσκευές που δεν δέχονται πρόσθετες μονάδες αποθήκευσης (HDD κλπ), ο Boot Loader είναι ένα πρόγραμμα, το οποίο εκτελεί άμεσα το λειτουργικό. Σε περιπτώσεις πολλών μονάδων αποθήκευσης ή  multi-boot, o Boot Loader αποτελείται από δύο μέρη. Το πρώτο μέρος ονομάζεται ILP (initial program loader) και απλά ανιχνεύει τα bootable media, που υπάρχουν διαθέσιμα. Και το δεύτερο αποτελεί τον κυρίως Boot Loader, ο οποίος φορτώνει τον Kernel του λειτουργικού και το user interface. Από το σημείο αυτό και μετά, έχετε πλήρη έλεγχο του δέκτη σας, αφού το μενού (user interface) εμφανίζεται στην οθόνη σας.

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

Η ΑΓΟΡΑ ΣΗΜΕΡΑ

Τα νέα της Mistral: Οδηγίες για μια καλή εγκατάσταση – Ενισχυτής κεραίας U35Auto
Συνεχίζοντας την περιγραφή των προϊόντων της Mistral, θα περιγράψουμε σε αυτό το τεύχος τους ενισχυτές κεραίας. Οι ενισχυτές κεραίας χωρίζονται σε δύο κατηγορίες: 1) Οι ενισχυτές με ακροδέκτες ...
TP-Link EAP683 UR AX6000
Το TP-Link Omada EAP683 UR ξεχωρίζει ως μια αξιόπιστη λύση στην κατηγορία των συσκευών δικτύου, συνδυάζοντας συνδεσιμότητα υψηλής ταχύτητας, προηγμένη ασφάλεια και απρόσκοπτη διαχείριση δικτύου. Μ...
Ikusi ENC-108
Η Ikusi, συνεχίζοντας τον σχεδιασμό και την υλοποίηση νέων προϊόντων, παρουσιάζει το ENC-108 με 8 εισόδους HDMI, τα σήματα των οποίων μπορούν να μετατραπούν σε 8 streams IP σε SPTS (unicast ή mult...
Redline S30 HEVC
Η εταιρεία AstraSat ανακοινώνει την παραλαβή του νέου δέκτη της Redline, S30 HEVC. Πρόκειται για έναν οικονομικό δέκτη Full HD που είναι εξοπλισμένος με DVB-T2 tuner και υποστηρίζει συμπίεση H.265...
Ikusi IKUGaF
Η Ikusi καλύπτει με τον καλύτερο τρόπο τις ανάγκες τηλεοπτικής αναμετάδοσης προγραμμάτων, με τα έτοιμα επαγγελματικά πακέτα IKUGaF που διαθέτει για τα Gap Fillers. Τα έτοιμα πακέτα IKUGaF είνα...
ANGA PS series
Η εταιρεία Stam Electronics ανακοινώνει νέα παραλαβή σειράς ποιοτικών κεραιών ANGA. Πρόκειται για τη σειρά PS, η οποία περιλαμβάνει εξωτερικές και εσωτερικές κεραίες που είναι κατάλληλες για επίγε...
Amiko MIRA X-4200
Ο Amiko MiraX HiS-4200 είναι ένας κορυφαίος Linux 4K UHD media streamer, που σας επιτρέπει να απολαμβάνετε τα αγαπημένα σας προγράμματα σε 4K UHD. Αυτός ο media streamer υποστηρίζει μεταξύ άλλων τ...
KAL KL-60
Η εταιρεία KAL Electronics ανακοινώνει την παραλαβή του νέου τηλεχειριστηρίου KL-60. Πρόκειται για ένα προγραμματιζόμενο τηλεχειριστήριο 4:1, το οποίο προγραμματίζεται μέσω μονάδας υπέρυθρων από τ...
Promax ATLaS NG
Η Promax έχει δημιουργήσει μία σειρά εκπαιδευτικών video για τον κορυφαίο αναλυτή φάσματος ATLaS NG. Στα συγκεκριμένα video, περιγράφονται όλες οι λειτουργίες του αναλυτή, καθώς και ο τρόπος που δ...
SatLink COL5141A
Ο κωδικοποιητής COL5141A 4 σε 1 της SatLink είναι μια επαγγελματική συσκευή κωδικοποίησης και πολυπλεξίας ήχου και video με ισχυρή λειτουργικότητα. Διαθέτει διεπαφές εισόδου 4 καναλιών CVBS video ...
AVM FRITZ!DECT 350
Προσαρμόστε το FRITZ!DECT 350 σε πόρτες ή παράθυρα και αμέσως θα ανιχνεύσει αν είναι ανοικτά ή κλειστά. Αποτελώντας έναυσμα για την επακόλουθη λειτουργία προϊόντων FRITZ!DECT και συμβατών συσκευών...
KAL K-320
Η εταιρεία KAL Electronics ανακοινώνει την παραλαβή του K-320, ενός ασύρματου ανιχνευτή κίνησης υποδοχής με εμβέλεια ανίχνευσης κίνησης 3 έως 7 μέτρων και γωνία κάλυψης 100°. Είναι ιδανικός για τη...

ΣΕ ΑΥΤΟ ΤΟ ΤΕΥΧΟΣ

Ψηφιακή Τηλεόραση, τεύχος Ιουλίου 2024
Κυκλοφορεί το νέο τεύχος Ιουλίου 2024 του περιοδικού "Ψηφιακή Τηλεόραση" μαζί με το "Security Report" Το νέο τεύχος Ιουλίου του περιοδικού «Ψηφιακή Τηλεόραση» κυκλοφορεί πάντα μαζί με το περιοδ...
Διανομή σήματος HDMI στο σπίτι
Για τη θέαση τηλεοπτικών προγραμμάτων υψηλής ανάλυσης μέσω ενός δέκτη, IPTV Box, αποκωδικοποιητή συνδρομητικής πλατφόρμας ή οποιασδήποτε άλλης εξωτερικής πηγής, απαιτείται μόνο η σύνδεσή τους στην...
CRETA ELECTRONIX 2024
Μετά την τεράστια επιτυχία των κλαδικών εκθέσεων Salonica Electronix 2023 και Athens Electronix 2024, που πραγματοποιήθηκαν για τρίτη φορά σε Θεσσαλονίκη και Αθήνα, αντίστοιχα, και έσπασαν κάθε ρε...
Fracarro D-Matrix 4S FTA
Την πιο πρόσφατη μονάδα της οικογένειας των Headend της ιταλικής Fracarro, δοκιμάσαμε για να παρουσιάσουμε στο τεύχος αυτού του μήνα. Πρόκειται για το D-Matrix 4S FTA, ένα Compact Headend που έρχε...
Amiko MIRA X-4200
Ένα νέο μοντέλο της σειράς OTT της Amiko δοκιμάσαμε για να παρουσιάσουμε στο τεύχος αυτού του μήνα. Πρόκειται για το MIRA X-4200, ένα Set-Top Box που βασίζεται σε λειτουργικό σύστημα Linux και προ...
Sat & Zap, Ιούλιος 2024
Αρκετά νέα κανάλια στις 28 ανατολικά, ενώ και πάλι το Ιράν εμφανίζεται με νέα κανάλια εξωτερικού, μη εγκεκριμένα φυσικά από το θεοκρατικό καθεστώς… Al Mayadeen HD Hot Bird 13G – 13 East 11....