Kontrollues dinamik i kujtesës. Funksionet e kontrolluesit të memorjes cache

Në mënyrë tipike, një kontrollues industrial përbëhet nga: një procesor qendror, ndërfaqet e rrjetit, modulet e kujtesës dhe pajisje të ndryshme hyrje dalje.

Moduli i procesorit PLC përmban përbërësit e mëposhtëm: mikroprocesor ose CPU (njësia qendrore e përpunimit), ora në kohë reale, pajisjet e kujtesës dhe vëzhguesi.

Karakteristikat kryesore të mikroprocesorit përfshijnë: frekuencën e orës, gjerësinë e bitit, mbështetjen për portet për pajisje të ndryshme hyrëse-dalëse, arkitekturën, parametrat e performancës në interval të caktuar të temperaturës, operacionet e pikës lundruese, nivelin e konsumit të energjisë.

Metrikat e performancës për mikroprocesorët me të njëjtën arkitekturë janë proporcionale me frekuencën e orës. Shumica e kontrollorëve përdorin mikroprocesorët RISC (Reduktuar Instruksione të Kompjuterit të Reduktuar) që kanë një numër të reduktuar të udhëzimeve. Në këtë rast, mikroprocesori përdor një numër të caktuar udhëzimesh me të njëjtën gjatësi dhe shumë regjistra. Falë grupit të reduktuar të udhëzimeve, është e mundur të krijoni përpilues me norma të larta të efikasitetit, si dhe një tubacion procesor, i cili në një cikël mund të prodhojë rezultatin e ekzekutimit të veprimeve të njërit prej udhëzimeve.

Kontrolluesit industrialë që merren me përpunimin intensiv të të dhënave në matematikë kërkojnë një përpunues të matematikës (një procesor ndihmës që kryen operacione të pikave lundruese) ose procesorë sinjali që kryejnë operacione matematike gjatë një cikli të orës. Falë përpunuesve të sinjalit, arrihet një përshpejtim i rëndësishëm i konvolucionit ose operacioneve të shpejta të transformimit Furier.

Kapaciteti i kujtesës karakterizohet nga numri i ndryshoreve që mund të përpunohen gjatë funksionimit të PLC. Koha e hyrjes në memorjen e mikroprocesorit është një nga treguesit më domethënës që mund të kufizojë performancën. Për shkak të kësaj, kujtesa ndahet në nivele të hierarkisë, duke marrë parasysh frekuencën dhe shpejtësinë e përdorimit të të dhënave të disponueshme në të. Hierarkia e kujtesës është një tregues tjetër i rëndësishëm i arkitekturës së procesorit, i cili ndihmon në uljen e nivelit të ndikimit të mundshëm negativ të kujtesës së ngadaltë në shpejtësinë e mikroprocesorit.

Llojet kryesore të kujtesës për kontrollorët industrialë (PLC):

  • ROM - lexoni vetëm kujtesën;
  • RAM - memorie me qasje të rastësishme;
  • Një grup regjistrash.

Një grup regjistrash janë elementët më të shpejtë të kujtesës, pasi ato përdoren nga ALU (njësia logjike aritmetike) për të ekzekutuar udhëzimet më të thjeshta të procesorit. ROM përdoret si një vend ruajtje për informacionin që rrallë mund të ndryshojë - sistemi operativ, ngarkuesi, drejtuesit e pajisjeve ose një modul i ekzekutueshëm i një programi. RAM-i ruan drejtpërdrejt të dhënat, subjekt i ndryshimeve të shumëfishta gjatë funksionimit të kontrolluesit. Për shembull, informacioni diagnostik, variablat e ekranit, vlerat e etiketave, llogaritjet e ndërmjetme, të dhënat e vizatuara. ROM (Kujtesa vetëm për lexim) është zakonisht një ROM i programueshëm që fshihet në mënyrë elektrike (EEPROM). Nga rruga, memorja flash është në thelb një lloj EEPROM. Parimi i tij i funksionimit është të ruajë një ngarkesë të caktuar në një kondensator, i cili formohet nga një substrat tranzitor MOS dhe një portë lundruese. Karakteristika kryesore e kujtesës flash është jo-paqëndrueshmëria e saj absolute, d.m.th. aftësia për të kursyer të dhëna në mungesë të energjisë. Të dhënat në memorjen flash azhurnohen jo nga qelizat individuale, por duke përdorur blloqe të mëdha. Të gjitha ROM-et kanë një pengesë të madhe - një nivel të ulët të performancës.

Numri i cikleve për futjen e informacionit në memorjen flash është i kufizuar në vetëm disa dhjetëra mijëra herë. Mikroprocesorët modernë përdorin memorjen statike (SRAM - Kujtesë statike e aksesit të rastësishëm), memorie dinamike (DRAM - memorje hyrëse e rastësishme dinamike) dhe memorie dinamike sinkrone (SDRAM - DRAM sinkron) si RAM. SRAM ekzekutohet në faktorë që mund të ruajnë informacionin për një kohë të pacaktuar për një kohë të gjatë në varësi të disponueshmërisë së ushqimit. Memoria dinamike e kontrolluesit industrial ruan të dhënat që zotëron mbi kondensatorët, gjë që kërkon rimbushje periodike të kondensatorëve. Disavantazhi kryesor i kujtesës së shkaktarit është niveli i lartë i kostos dhe raporti i çmimit me kapacitetin. Kjo është për shkak të faktit se një numër relativisht i vogël i shkaktarëve vendosen në një kallëp. Përparësitë përfshijnë një nivel të lartë të performancës, të llogaritur në gigahertz, ndërsa kujtesa e kondensatorit nuk mund të kapërcejë shiritin e disa qindra hertz. Të gjitha llojet kujtesë e gjallë ndryshojnë në atë që në mungesë të energjisë, i gjithë informacioni i disponueshëm në to nuk ruhet. Kjo është arsyeja pse disa lloje të PLC-ve përdorin energjinë e baterisë për ta mbajtur sistemin funksional në rast të një ndërprerje të shkurtër të energjisë së sistemit.

Kontrolluesit industrialë modularë dhe të gjitha në një përdorin një autobus paralel për të komunikuar me modulet I / O, duke e bërë sondazhin shumë më shpejt se një autobus serik. Llojet paralele të autobusëve: VME, PCI, ISA, CXM, ComactPCI, PC / 104. Një autobus serial, për shembull RS-485, kërkohet për të lidhur modulet e largëta I / O.

Në ditët e sotme, në botën e civilizuar, vështirë se mund të gjesh një person që kurrë nuk do të përdorte një kompjuter dhe nuk do të kishte idenë se çfarë është ai. Prandaj, në vend që të tregojmë edhe një herë për të gjitha pjesët e njohura të këtij sistemi kompleks, ne do t'ju tregojmë për diçka që ende nuk e dini. Ne do të diskutojmë dhe japim një përshkrim të vogël të kontrollorëve të kujtesës, pa të cilat kompjuteri do të ishte i pamundur. Nëse doni të kuptoni se si juaji kompjuter personal ose laptop, atëherë duhet ta dini patjetër këtë. Le të diskutojmë sot se çfarë janë kontrolluesit e kujtesës.

Detyra me të cilën përballen kontrolluesit e kujtesës së kompjuterit është shumë e rëndësishme për funksionimin e kompjuterit. Një kontrollues i kujtesës është një çip që ndodhet në pllakën amë ose në njësia Qendrore përpunimit... Funksioni kryesor i këtij çipi të vogël është të kontrollojë rrjedhën e të dhënave, si përbrenda ashtu edhe përbrenda. Funksioni dytësor i kontrolluesit të kujtesës është të rrisë potencialin dhe performancën e sistemit, si dhe vendosjen uniforme dhe korrekte të informacionit në memorje, i cili është i disponueshëm falë zhvillimeve të reja në fushën e teknologjive të reja.

Vendosja e kontrolluesit të kujtesës në një kompjuter varet nga modele të caktuara të pllakave amë dhe njësive qendrore të përpunimit. Në disa kompjuterë, dizajnerët vendosën këtë çip në lidhjen paralele në veri të pllakës amë, ndërsa në kompjuterët e tjerë, ata u vendosën në një CPU "të vdesin". Ato sisteme që janë krijuar për të instaluar një kontrollues në pllakën amë kanë një numër të madh të bazave të reja fizike të ndryshme. Memoria e aksesit të rastësishëm e përdorur në kompjuterë të këtij lloji gjithashtu ka një dizajn të ri modern.

Qëllimi kryesor i përdorimit të një kontrolluesi të kujtesës në një kompjuter është që sistemi të jetë në gjendje të lexojë dhe shkruajë ndryshime në RAM dhe ta azhurnojë atë në çdo boot. Kjo për faktin se kontrollori i kujtesës dërgon ngarkesa elektrike, të cilat nga ana tjetër janë sinjale për kryerjen e veprimeve të caktuara. Pa hyrë thellë në terminologjinë teknike, ne mund të konfirmojmë faktin se kontrolluesit e kujtesës janë një nga pjesët më të rëndësishme në një kompjuter, duke lejuar përdorimin e RAM, dhe pa të cilën do të ishte e pamundur të punohej.

Kontrolluesit e kujtesës vijnë në lloje të ndryshme. Ato ndryshojnë në:
- kontrolluesit e kujtesës me shpejtësi të dyfishtë të të dhënave (DDR);
- kontrollues të memorjes plotësisht të zbutur (FB);
- kontrollues me dy kanale (DC).

Funksionet që mund të kryhen nga lloje të ndryshme të kontrollorëve të kujtesës ndryshojnë nga njëri-tjetri. Për shembull, kontrolluesit e dyfishtë të memorjes së shpejtësisë së të dhënave përdoren për të transferuar të dhëna në varësi të rritjes ose uljes së shpejtësisë së orës së kujtesës. Ndërsa memoria me dy kanale përdor dy kontrollues memorie paralelisht nga njëri-tjetri. Kjo lejon që kompjuteri të shpejtojë sistemin duke krijuar më shumë kanale, por pavarësisht nga vështirësitë që dalin nga përdorimi i një grumbulli telash, ky sistem punon mjaft me efikasitet. Sidoqoftë, është e vështirë të krijosh kanale të reja, kështu që ky lloj kontrolluesi i kujtesës nuk është i përsosur.

Nga ana tjetër, kontrolluesit e memorjes plotësisht të zbutur, janë të ndryshëm nga llojet e tjerë të kontrolluesve të kujtesës. Kjo teknologji përdor kanalet e transmetimit të të dhënave serike që janë të nevojshme për të komunikuar me to pllaka amtare dhe qarqet RAM ndryshe nga sistemet e tjera. Përparësi të këtij lloji kontrolluesit është që kontrolluesit e memorjes plotësisht të zbutur zvogëlojnë numrin e telave që përdoren në pllakën amë dhe kështu zvogëlojnë kohën e kaluar në detyrë.

Siç e keni parë tashmë, kontrolluesit e kujtesës janë shumë të nevojshëm për funksionimin e qëndrueshëm të një kompjuteri, dhe tipe te ndryshme përdoren për qëllime të ndryshme. Çmimet për linjat e kujtesës variojnë nga shumë të larta në shumë të ulëta, varësisht nga lloji dhe funksioni i kontrolluesit të kujtesës.

Ndonjëherë, kur zhvilloni një pajisje, ka nevojë për të ruajtur disa të dhëna në kujtesën jo të paqëndrueshme. Në raste të tilla, zakonisht përdoret EEPROM i brendshëm i mikrokontrolluesit. Nëse nuk është e mjaftueshme, atëherë, si rregull, përdoren patate të skuqura të jashtme EEPROM nga seria 24lxx. Mikrocircuits e kësaj serie janë shumë të popullarizuara. Më shpesh ato mund të gjenden në të vjetër telefonat celulardisa pllaka amë, fishekë nga printerë dhe shumë më tepër ku. Çmimi i këtyre mikrocircuits është gjithashtu shumë tërheqës. Për shembull, 24LC16 kushton 11 rubla.
Ky mikrocircuit është i disponueshëm në paketa të ndryshme, më të njohurat prej të cilave janë DIP dhe SOIC. Mikrocircuit ka pikën e mëposhtme:

Siç mund ta shihni, ka shumë pak përfundime. Pra, le të përpiqemi të kuptojmë se çfarë është çfarë.
A0, A1, A2 - nuk përdoren në këtë mikro qark. Ato mund të lidhen me tokën ose me fuqinë pozitive. Në disa mikroqarqe të tjerë të serisë 24lxx, këto kunja mund të vendosin adresën e mikrocirkut në mënyrë që të jenë në gjendje të lidhin sa më shumë 8 mikroçipa memorie në një autobus i2c.
Vss - Toka.
SDA - linja e të dhënave
SCL - linja e orës
WP - Shkruaj mbrojtje. Kur ky pin është logjik 0, atëherë shkrimi në memorje lejohet. Nëse jepni një njësi logjike, atëherë është e mundur vetëm leximi nga kujtesa.
Vcc - furnizimi me energji me mikro qark. Sipas fletës së të dhënave, ajo mundësohet nga një tension prej 2.5 volt në 5.5 volt.

Lidhja me kontrolluesin.
Veryshtë shumë e lehtë të lidhësh kujtesën me MK. Nga parzmore, kërkohen vetëm një palë rezistencash me një rezistencë prej rreth 4.7 kOhm.

Program kompjuterik

Për të punuar me kujtesën, u krijua një bibliotekë që zbaton funksionet e mëposhtme:

i2c_init - rregullon shpejtësinë e impulseve të orës që shkojnë përgjatë vijës SCL.

Çipi 24LC16 mbështet frekuenca deri në 400 kHz. Ju mund të llogaritni frekuencën si kjo:

Frekuenca e orës së CPU-së - frekuenca në të cilën funksionon mikrokontrolluesi

TWBR - numrin e shkruar në regjistrin me të njëjtin emër.

TWPS Ashtë parashkollor. Vlerat e prescaler përcaktohen nga bitët TWPS1 dhe TWPS0 në regjistrin TWSR.

Për kontrolluesin Atmega 32, tabela e mëposhtme është e vlefshme:

i2c_start- dërgon paketën fillestare

i2c_stop - dërgon një pako të ndaluar

i2c_dërgo- dërgon një bajt

i2c_reçive - merr një bajt

i2c_regjistrohuni_ fundit- merr bajtin e fundit. Dallimi nga funksioni i mëparshëm është se kur merret një bajt, mikrokontrolluesi nuk dërgon një bit konfirmimi. Nëse, kur merrni bajtin e fundit, përdorni i2c_reçiveatëherë linja SDA do të mbetet e shtypur në tokë.

Shkrimi i të dhënave në një çip kujtese

Ju mund të shkruani të dhëna si në mënyrë të rastësishme ashtu edhe faqe pas faqe. Meqenëse mund të ketë disa pajisje në autobusin i2c në të njëjtën kohë, për të adresuar ndonjë pajisje, duhet të dini adresën e saj shtatë bitëshe. Adresa binare e çipit 24LC16 duket kështu:

Bitët A, B, C përdoren për të zgjedhur një bllok kujtese. Ekzistojnë 8 blloqe kujtese në mikrocircuit, 256 bajt secili. Përkatësisht, bitët ABC marrin vlera nga 000 në 111.

Për të shkruar një bajt në mikrocircuit, duhet të kryeni sekuencën e mëposhtme të veprimeve:

  1. Inicimi i ndërfaqes i2c
  2. Dërgoni paketën fillestare
  3. Dërgoni adresën e mikrocirkut + adresën e bllokut të kujtesës
  4. Dërgoni adresën e qelizës së kujtesës në të cilën do të bëhet regjistrimi
  5. Dërgo bajtin e të dhënave
  6. Dërgoni parcelën e ndalimit

Shembull: Nevoja për të shkruar një bajt 0xFA nga adresa 0x101.

rcall i2c_init
rcall i2c_start
temp ldi, 0b 1010 001 0 // Adresa e çipit ku:
// 1010 - adresa e mikro qarkut
// 001 - adresa e bllokut të kujtesës (Cell 0x101 i përket bllokut 1)
// 0
rcall i2c_send
ldi temp, 1 // Adresa e vendndodhjes së kujtesës. (blloku 1, qeliza 1)
rcall i2c_send
ldi temp, 0xFA // Vendosni bajtët që do të shkruhen në regjistër
rcall i2c_send // Shkruaj bajt
rcall i2c_stop

Ju mund të shkruani të dhëna në kujtesë jo vetëm bajt pas bajt, por edhe faqe pas faqe. Madhësia e faqes është 16 bajt. Shkrimi i bajtëve nënkupton sa vijon: Dërgoni adresën e bajtit zero faqe e dëshiruar dhe pas kësaj ne i dërgojmë të dhënat e kërkuara 16 herë. Numëruesi i adresës do të rritet automatikisht nga një. Nëse dërgoni të dhëna për herë të 17-të, atëherë një bajt zero do të mbishkruhet, nëse dërgoni një bajt për herë të 18-të, ai do të mbishkruaj bajtin numrin 1, etj.

Shembull: Kërkohet të shkruhet faqja e parë e bllokut 0.

rcall i2c_init // Inicializoni ndërfaqen i2c
rcall i2c_start // Dërgoni paketën fillestare
temp ldi, 0b 1010 000 0 // Adresa e çipit ku:
// 1010 - adresa e mikro qarkut
// 000 - adresa e bllokut të kujtesës (ne jemi të interesuar për bllokun zero)
// 0 - lexo / shkruaj pak. 0 - shkruaj, 1 - lexo
rcall i2c_send
ldi temp, 16 vjeç // Adresa e faqes së parë
rcall i2c_send
temp ldi, 0x01 // Vendosni bajtin numrin 0 në regjistër
rcall i2c_send // Shkruaj bajt
temp ldi, 0x02 // Ngarko bajtin numër 1 në regjistër
rcall i2c_send // Shkruaj bajt
/// këtu shkruajmë pjesën tjetër të bajteve .....
temp ldi, 0x0E // Ngarko bajtin numër 14 në regjistër
rcall i2c_send // Shkruaj bajt
temp ldi, 0x0F // Vendosni bajtin numrin 15 në regjistër
rcall i2c_send // Shkruaj bajt
rcall i2c_stop // Dërgoni një pako ndalimi

Leximi i të dhënave nga një mikro qark
Ne e kuptuam disi regjistrimin, tani le të fillojmë të lexojmë. Për të lexuar një bajt, duhet të bëni sa vijon:

  1. Inicializoni ndërfaqen i2c (nëse nuk është iniciuar më herët)
  2. Dërgoni paketën fillestare
  3. Dërgoni adresën e mikrocirkut dhe adresën e bllokut të kujtesës nga ku do të lexojmë
  4. Dërgoni adresën e kujtesës
  5. Dërgo përsëri paketën fillestare
  6. Dërgoni adresën e mikrocirkut dhe adresën e bllokut të kujtesës me bitin "lexo"
  7. Merr bajt
  8. Dërgoni Ndërprerjen e Parcelës

rcall i2c_init // Inicializoni ndërfaqen i2c
rcall i2c_start // Dërgoni paketën fillestare
temp ldi, 0b1010 011 0 // Adresa e çipit + adresa e bllokut të 3-të të kujtesës.
// Biti i leximit / shkrimit është akoma 0!
rcall i2c_send
temp ldi, 0x41 // Adresa e vendndodhjes së kujtesës
rcall i2c_send
rcall i2c_start // Ridërgoni paketën fillestare
temp ldi, 0b1010 011 1 // Adresa e çipit + adresa e bllokut të kujtesës + biti i leximit / shkrimit u bë 1
rcall i2c_send // tani mund të lexoni të dhëna
rcall i2c_recive_last // Lexoni një bajt. E para dhe e fundit.
rcall i2c_stop // Dërgoni një pako ndalimi

Leximi mund të kryhet me radhë bajt me bajt, d.m.th. thjesht telefononii2c_reçive Aq sa ka nevojë. Nuk ka nevojë të dërgoni komandën për të rritur adresën me një. Gjithashtu nuk është e nevojshme të ndërroni adresat e bllokut gjatë leximit vijues. Ata. ju mund të merrni dhe lexoni të gjithë mikrocircuit në të njëjtën kohë pa ndonjë problem.

Biblioteka për të punuar me i2c është zhvilluar dhe testuar në mikrokontrolluesin Atmega32. Unë mendoj se do të funksionojë në shumë kontrollues të tjerë pa ndonjë ndryshim. Natyrisht, kontrollori duhet të ketë mbështetje hardware për i2c, ose siç quhet ndryshe TWI. Sigurisht, ju mund ta implementoni i2c në mënyrë programore, por unë nuk u shqetësova dhe nuk kishte nevojë. Shembulli demo është një program që shkruan bajt nga 0 në 15 në 16 adresat e para dhe pasi i shkruan i nxjerr ato në portin A. Mund të shikoni se si funksionon kjo jo vetëm drejtpërdrejt, por edhe në Proteus.

Dhe së fundmi, unë bashkëngjit një oscilogram:

Kjo është ajo që duket si autobusi i2c përmes syve të mi :-)
Të gjitha pyetjet dhe sugjerimet janë duke pritur në komente.

Çdo memorje flash bazohet në një kristal silikoni, mbi të cilin formohen tranzistorë jo mjaft të zakonshëm me efekt fushor. Një tranzitor i tillë ka dy porta të izoluara: kontroll dhe lundrues. Ky i fundit është në gjendje të mbajë elektronet, domethënë ngarkesën. Qeliza, si çdo tranzistor me efekt fushor, ka një kullues dhe një burim (fig. 4.1). Gjatë procesit të regjistrimit, një tension pozitiv zbatohet në portën e kontrollit, dhe disa prej elektroneve që lëvizin nga kullimi në burim devijohen drejt portës lundruese. Disa prej elektroneve kalojnë përmes shtresës së izolatorit dhe shpërndahen në portën lundruese. Ata mund të qëndrojnë në të për shumë vite.

Përqendrimi i elektroneve në zonën e portës lundruese përcakton një nga dy gjendjet e qëndrueshme të tranzitorit - qelizën e kujtesës. Në gjendjen e parë, fillestare, numri i elektroneve në portën lundruese është i vogël, dhe voltazhi prag për hapjen e tranzitorit është relativisht i ulët (njësia logjike). Kur futen mjaftueshëm elektrone në portën lundruese, tranzitori është në një gjendje të dytë të qëndrueshme. Tensioni i tij i hapjes rritet ndjeshëm, gjë që korrespondon me një zero logjike. Kur matet leximi

Figura: 4.1. Qeliza e kujtesës flash

voltazhi i pragut që duhet të zbatohet në kullues për të hapur tranzitorin. Për të hequr informacionin, një tension negativ zbatohet shkurtimisht te porta e kontrollit, dhe elektronet nga porta lundruese shpërndahen përsëri në burim. Transistori përsëri shkon në gjendjen e një njësie logjike dhe mbetet në të derisa të bëhet shkrimi tjetër. Vlen të përmendet se në memorjen flash, një tranzitor ruan një grimë informacioni - është një qelizë. I gjithë procesi i "memorizimit" bazohet në përhapjen e elektroneve në një gjysmëpërçues. Kjo çon në dy përfundime jo shumë optimiste.

Koha e ruajtjes së ngarkimit është shumë e gjatë dhe matet me vite, por gjithsesi e kufizuar. Ligjet e termodinamikës dhe difuzionit thonë se përqendrimi i elektroneve në rajone të ndryshme herët a vonë do të barazohet.

Për të njëjtën arsye, numri i cikleve të rishkrimit të shkrimit është i kufizuar: nga njëqind mijë në disa milion. Me kalimin e kohës, degradimi i vetë materialit dhe nyjeve pn ndodh në mënyrë të pashmangshme. Për shembull, kartat Kingston Compact Flash vlerësohen për 300,000 cikle rishkrimi. Aktivizimi i Transcendit Compact Flash

1 LLC, dhe flash drive USB Transcend 32 Gb - për vetëm 100 LLC.

Ekzistojnë dy arkitektura flash. Ato ndryshojnë në mënyrën se si u referohen qelizave dhe, në përputhje me rrethanat, në organizimin e përcjellësve të brendshëm.

Memoria NOR ju lejon të përdorni qelizat një nga një. Çdo qelizë ka një përcjellës të veçantë. Hapësira e adresës NOR e memorjes ju lejon të punoni me bajte ose fjalë individuale (secila fjalë përmban

2 bajt). Kjo arkitekturë imponon kufizime serioze në sasinë maksimale të kujtesës për njësi të zonës së ngordhur. Memoria NOR aktualisht përdoret vetëm në çipat BIOS dhe ROM të tjerë me kapacitet të ulët siç janë telefonat celularë.

Në memorjen NAND (NAND), secila qelizë është në kryqëzimin e një "linje bit" dhe një "linje fjale". Qelizat grupohen në blloqe të vogla të ngjashme me një grup hard disk... Si leximi ashtu edhe shkrimi kryhen vetëm në blloqe ose rreshta të plotë. Të gjitha moderne media të lëvizshme e ndertuar ne memorjen NAND.

Prodhuesit më të mëdhenj të çipave NAND janë Intel, Micron Technology, Sony dhe Samsung. Gama e patate të skuqura të prodhuara është mjaft e madhe dhe azhurnohet disa herë në vit.

Kontrolluesit

Një kontrollues i kujtesës përdoret për të kontrolluar leximin dhe shkrimin. Aktualisht, kontrollori ekzekutohet gjithmonë si një element i veçantë (ky është ose një mikroqark i një prej faktorëve të formës standarde, ose një çip me kornizë të hapur të ngulitur në një kartë kujtese), megjithëse po punohet për integrimin e kontrolluesit direkt në kristalin e kujtesës flash.

Kontrolluesit janë krijuar dhe prodhuar për patate të skuqura plotësisht memorie flash. Mënyra e adresimit të qelizave është e strukturuar e përfshirë në kontrollues. Kur shkruhen në një çip të kujtesës flash, të dhënat rregullohen në një mënyrë specifike që ndryshon nga modeli në model. Prodhuesit i mbajnë këto detaje sekrete dhe, me sa duket, nuk planifikojnë t'i zbulojnë. Natyrisht, është krijuar shumë më tepër firmware kontrollues sesa vetë modelet e kontrolluesit. Firmware i kontrolluesit (firmware) dhe tabela e përkthimit të adresës (përkthyesi) janë të shkruara në zonën e shërbimit të memorjes flash. Shtë kjo zonë që kontrollori fillon të lexojë menjëherë pasi të jetë aplikuar energjia. Përveç adresimit aktual të qelizave, kontrolluesi kryen një numër funksionesh të tjera: funksionet e monitorimit të sektorëve të këqij, korrigjimi i gabimit (ECC - kontroll dhe korrigjim i gabimit) dhe uniformiteti i konsumimit të qelizave (niveli i veshjes).

Norma teknologjike në prodhimin e mikroqarqeve të kujtesës është prania në to mesatarisht deri në 2% të qelizave që nuk punojnë. Me kalimin e kohës, numri i tyre mund të rritet, prandaj, si në disqet e ngurta, një vëllim rezervë sigurohet në memorjen flash. Nëse shfaqet një sektor i dëmtuar, kontrollori zëvendëson adresën e tij në tabelën e alokimit të skedarit me adresën e sektorit nga zona rezervë gjatë formatimit ose shkrimit. Korrigjimi kryhet nga kontrolluesi, por zbatohet në nivelin e sistemit të skedarëve të një media të veçantë.

Për shkak të burimit të kufizuar të qelizave (me rendin e disa milion cikleve të leximit / shkrimit për secilën), kontrolluesi ka një funksion të llogaritjes së uniformitetit të konsumimit. Për të regjistruar informacionin në mënyrë të barabartë, hapësira e lirë është e ndarë në mënyrë konvencionale në seksione, dhe për secilën prej tyre merret parasysh numri i operacioneve të shkrimit. Statistikat e ciklit ruhen në një zonë të fshehtë të shërbimit të kujtesës, dhe kontrolluesi i referohet periodikisht asaj për këtë informacion. Kjo nuk ndikon në adresimin.

Dizajn USB flash disk

Pavarësisht nga shumëllojshmëria e mbylljeve, të gjitha disqet flash USB kanë të njëjtën strukturë. Nëse gjysmat e kutisë janë të lidhura me kapëse, ato zakonisht ndahen lehtësisht. Banesat që janë të papërshkueshme nga uji ose të modës duhet të hapen me metoda shkatërruese, siç është prerja.

Ka dy mikroqarqe në tabelë brenda diskut flash USB (Fig. 4.2): një çip i kujtesës dhe një kontrollues. Të dy kanë shenja fabrike. Ndonjëherë bordi mbart dy çipa të memorjes flash që punojnë në çifte. Mbajtësi i mikro qarkut përbëhet nga disa rezistorë dhe dioda, një stabilizues i energjisë dhe një rezonator kuarci. Kohët e fundit, stabilizuesi gjithnjë e më shumë po ndërtohet drejtpërdrejt në kontrollues dhe numri i bashkëngjitjeve është zvogëluar në minimum. Përveç kësaj, bordi mund të përmbajë tregues i udhëhequr dhe një ndërprerës miniaturë për mbrojtje nga shkrimi.

Figura: 4.2. Pajisja flash disk

Lidhësi USB është i bashkuar direkt në bord. Pikat e bashkimit të kontakteve në shumë modele janë mjaft të prekshme, pasi ato mbajnë ngarkesën mekanike kur lidhin dhe shkëputin pajisjen.

Llojet dhe dizajni i kartave të kujtesës

Shumë kompani kohë pas kohe u ofronin përdoruesve dizajne të ndryshme të kartave të kujtesës. Me përjashtime të rralla, të gjithë janë të papajtueshëm me njëri-tjetrin për sa i përket numrit dhe rregullimit të kontakteve dhe karakteristikave elektrike; Kartat Flash janë të dy llojeve: me një ndërfaqe paralele (paralele) dhe serike (seriale).

Tabela 4.1 rendit 12 llojet kryesore të kartave të kujtesës që gjenden aktualisht. Brenda secilit lloj ka varietete shtesë, duke marrë parasysh të cilat mund të flasim për ekzistencën e pothuajse 40 llojeve të kartave.

Tabela 4.1. Llojet e kartave të kujtesës

Lloji i kartës së kujtesës

Përmasat e përgjithshme, mm)

Maksimumi

konstruktive

Ndërfaqja

Flash Compact (CF)

Paralele 50 kunjat

Seri 9 kunjat

Karta MultiMedia (MMS)

Seri 7 kunjat

Seri 7 kunjat

MMS me shpejtësi të lartë

Seri 13 kunjat

Seri 10 kunjat

Memory Stick PRO

Seri 10 kunjat

Memory Stick Duo

Seri 10 kunjat

SmartMedia (SSFDC)

Paralele 22 kunjat

Paralele 22 kunjat

Seriale 8 kunja

Kartat MMC mund të funksionojnë në dy mënyra: MMC (Karta MultiMedia) dhe SPI (Ndërfaqja Seriale Periferike). Modaliteti SPI është pjesë e protokollit MMC dhe përdoret kur komunikoni me kanalin SPI në mikrokontrollues motorola dhe disa prodhues të tjerë.

Një kartë MMC (Karta MultiMedia) mund të futet në vendin e kartës SD (Secure Digital), por jo anasjelltas. Kontrolluesi i kartës SD përmban enkriptimin e të dhënave harduer, dhe vetë memoria është e pajisur me një zonë të veçantë në të cilën ruhet çelësi i kriptimit. Kjo u bë me qëllim që të parandalohej kopjimi i paligjshëm i rekordeve muzikore, për ruajtjen dhe shitjen e të cilave ishte menduar një medium i tillë. Karta ka një ndërprerës të mbrojtjes së shkrimit.

Kartat CompactFlash (CF) mund të futen lehtësisht në fole Lloji II PCMCIA. Pavarësisht nga fakti që PCMCIA ka 68 kunja dhe CF ka vetëm 50, kartat CompactFlash janë krijuar që të jenë plotësisht të përputhshme dhe të kenë të gjithë funksionalitetin e formatit PCMCIA-AT A.

Të gjithë Memory Sticks (standardi Sony) janë relativisht të përputhshëm me njëri-tjetrin. Standardi teorikisht parashikon një kapacitet të kartës së kujtesës deri në 2 TB, megjithëse në realitet kapaciteti arrin njësi gigabajt.

Kartat SmartMedia janë kryesisht të vjetruara dhe mund të gjenden vetëm në kamerat dixhitale shumë të vjetra. Vlen të përmendet se ky ishte standardi i vetëm në të cilin kontrolluesi nuk ishte brenda kartës, por në lexues.

Ndërtimi i kartave të kujtesës nuk është i ndashëm - është një pajisje jo e përshtatshme për riparim. Mikroqarqet e paketuara së bashku me plumbat formohen në një përbërje dhe të gjitha së bashku shtypen në një predhë plastike. Ju mund të shkoni në kristal vetëm duke hapur pajisjen, por dëmtimi i përçuesve është pothuajse i pashmangshëm.

Lexuesit

Për të lexuar një flash disk USB, një rregullt porta USB: kompjuteri i sheh pajisjet e tilla si standarde makinë e lëvizshme falë kontrolluesit të tyre. Kontrolluesit e të gjitha kartave të kujtesës drejtohen në kompjuter nga ndërfaqet serike ose paralele - kontaktet në kartelë. Secila prej këtyre ndërfaqeve kërkon një përshtatës përkatës - një kontrollues shtesë që përputhet me këtë ndërfaqe me një port standard USB.

Një lexues letrash me bira është një pajisje e përbërë nga një ose më shumë kontrollues të ngjashëm, një konvertues i rrymës dhe lidhës për karta të ndryshme të kujtesës (Fig. 4.3). Energjia furnizohet nga një burim +5 V përmes një kabllo USB.

Figura: 4.3. Lexues karte

Më shpesh ekzistojnë "kombinata" të krijuara për disa lloje të kartave: nga 6 në 40. Ka shumë më pak lojëra elektronike në lexuesin e kartave, pasi që secila vend i caktuar përdoret për disa lloje të kartave që janë në madhësi dhe rregullim të kontaktit. Sipas karakteristikave të tij modele të ndryshme praktikisht të barabartë, por ndryshojnë kryesisht në numrin e llojeve të kartave të mbështetura dhe modelit.

Organizimi logjik

Para se të kaloni në sistemet e skedarëve të flash drive, duhet të mendoni për arkitekturën NAND. Në këtë kujtesë të përdorur shpesh, leximi, shkrimi dhe fshirja e informacionit ndodh vetëm në blloqe.

Në disqet e forta dhe floppy, madhësia e bllokut është 512 bajt, me përjashtim të 59 bajtave të sipërm, të cilat janë të dukshme vetëm për kontrolluesin e hard drive. Të gjitha skedarët janë krijuar me këto vlera në mendje. Problemi është se në memorjen flash madhësia e bllokut të fshirjes, me përjashtime të rralla, nuk përputhet me madhësinë e një sektori standard të diskut prej 512 bajtësh dhe zakonisht është 4.8 apo edhe 64 KB. Nga ana tjetër, blloku i leximit / shkrimit duhet të përputhet me madhësinë e sektorit të diskut për të siguruar pajtueshmërinë.

Për ta bërë këtë, blloku i fshirjes ndahet në disa blloqe leximi / shkrimi me një madhësi prej 512 bajtësh. Në praktikë, blloku është pak më i madh: përveç 512 bajtësh për të dhëna, ai gjithashtu ka një bisht 16 bajtësh për informacionin e sipërm në lidhje me vetë bllokun. Fizikisht, vendndodhja dhe numri i njësive të leximit / shkrimit nuk janë të kufizuara nga asgjë. I vetmi kufizim është që blloku i leximit / shkrimit nuk duhet të kalojë kufirin e bllokut të fshirjes, pasi ai nuk mund t’i përkasë dy blloqeve të ndryshëm të fshirjes.

Blloqet e leximit / shkrimit ndahen në tre tipe: të vlefshëm, të pavlefshëm dhe të dëmtuar. Blloqet që përmbajnë të dhëna të shkruara dhe i përkasin një skedari janë të vlefshme. Blloqet e përdorura me informacione të vjetruara konsiderohen të pavlefshme dhe duhet të pastrohen. Kategoria e dëmtuar përbëhet nga blloqe që nuk mund të shkruhen ose të fshihen.

Një tipar tjetër i memorjes flash është se informacioni mund të shkruhet vetëm në hapësirën e pastruar më parë nga informacioni i mëparshëm. Kur informacioni duhet të shkruhet, firmware i kontrolluesit duhet të vendosë se cilat blloqe të pavlefshme duhet të fshihen përpara se ta bëjë këtë. Në shumicën e mikroprogramave, çështja e fshirjes së blloqeve të pavlefshme zgjidhet në mënyrën më të thjeshtë: sa më shpejt që një pjesë e caktuar e kapacitetit të flash diskut të mbushet me informacion, mekanizmi për pastrimin e blloqeve të pavlefshme fillon automatikisht.

Për të rritur jetëgjatësinë e kujtesës, përdoret teknologjia e kontrollit të nivelit të konsumimit, e cila zgjat ciklin e jetës së kristalit të kujtesës për shkak të shpërndarjes së barabartë të cikleve të shkrimit / fshirjes së blloqeve të kujtesës. Një efekt anësor - dështimi i një blloku kujtese - nuk ndikon në funksionimin e blloqeve të tjera të kujtesës të të njëjtit kristal. Blloqet e fiksuara i përkasin skedarëve që kurrë nuk kanë ndryshuar ose lëvizur për një kohë të gjatë ose fare. Prania e blloqeve të të dhënave të palëvizshme çon në faktin se pjesa e mbetur e qelizave i nënshtrohet konsumit të shtuar dhe shteron më shpejt burimin e saj. Firmware merr parasysh blloqet e tilla dhe zhvendos përmbajtjen e tyre në qeliza të tjera sipas nevojës.

Në shikim të parë, sistemet e skedarëve të flash disqeve dhe kartave të kujtesës janë të njohura mirë për përdoruesit nga disqet e forta dhe ato të disketave. Ky është FAT16, më rrallë FAT32: kështu sistemi operativ Windows sugjeron formatimin e një disku. Me mjete standarde Windows XP dhe Windows 7, disku mund të formatohet sistemi NTFS! Për ta bërë këtë, së pari shkoni te Menaxheri i Pajisjes dhe në dritaren e pronave të flash drive-it të lidhur në skedën Policy zgjidhni vlerën e Optimizimit për ekzekutim të shpejtë. Programet speciale nga prodhues të tillë si HP Disku USB Storage Format Tool ju lejon të formatoni flash drives në NTFS pa kaq shumë përpjekje.

Sidoqoftë, ngjashmëria e jashtme e sistemit të skedarëve të disqeve të ngurta dhe disqet e ngurta konvencionale po mashtron. Sistemi i skedarëve Flash (Flash Sistemi i skedarëve, FFS) imiton vetëm një disk të rregullt dhe përbëhet nga blloqe kontrolli dhe një bllok fillestar. Në fakt, vetëm kontrolluesi i flash diskut ose kartës së kujtesës di për vendndodhjen e vërtetë dhe adresimin e blloqeve të kujtesës.

Kjo është shumë e rëndësishme kur menyra te ndryshme rivendosni përmbajtjen e çipit të kujtesës flash. Kur lexoni një mikrocirk qark të kujtesës përmes kontrolluesit të tij "vendas", skedari i figurës përmban një sekuencë blloqesh sipas radhës së numrave ose kompensimeve të tyre. Në fillim janë koka dhe tabela e sistemit të skedarëve. Nëse leximi kryhet në programues, informacioni i shërbimit është i vendosur në blloqet fillestare të deponisë, dhe blloqet me të dhëna janë përzier pothuajse rastësisht. Në këtë rast, informacioni i shërbimit nuk ka gjasa të jetë i dobishëm, pasi varet tërësisht nga modeli i kontrolluesit dhe firmware i tij - sekuenca e saktë e blloqeve duhet të përpilohet me shumë vështirësi.

Disa kamera funksionojnë vetëm me skedar sistemi RAW Metoda e regjistrimit të fotove në një medium me një sistem të tillë skedari, si dhe tiparet e formatimit të vetë kartës, varen nga modeli i pajisjes dhe madje edhe nga firmware i një modeli të veçantë. Ky format nuk është i standardizuar dhe ka shumë ndryshime. Zakonisht, të dhënat nga karta të tilla mund të rikthehen vetëm nga programet e shërbimit nga prodhuesi i kamerës dhe këshillohet të përdorni vetë kamerën si lexues kartash.

Figura: 4.4. Formatoni dritaren e diskut të diskut në Windows Vista SPl

Një risi është sistemi i skedarëve exFAT (Extended FAT). Mbështetja për këtë skedar të krijuar posaçërisht për sistemin e disqeve u prezantua së pari me Windows Embedded CE 6.0. Windows Vista Service Pack 1 dhe Windows 7 punojnë me exFAT (Figura 4.4).

Qëllimi i sistemit të ri të skedarëve është që gradualisht të zëvendësojë FAT dhe FAT32 në flash drives. Përmban disa veçori që më parë ishin të qenësishme vetëm në sistemin e skedarëve NTFS:

Kufiri i madhësisë së skedarit prej 4 GB është kapërcyer: kufiri teorik është 2 ^ bajt (16 ekzabajt);

Shpërndarja e përmirësuar hapesire e lire duke prezantuar një bitmap të hapësirës së lirë, e cila zvogëlon copëzimin e diskut;

Kufiri në numrin e skedarëve në një direktori është hequr;

Shtohet mbështetja për listën e të drejtave të hyrjes.

Se sa shpejt ky skedar sistem do të bëhet normë për flash drives, koha do ta tregojë. Me sa duket, kjo nuk do të ndodhë më herët se në sistemi operativ Windows 7 do të kalojë mbi shumicën dërrmuese të përdoruesve.