डायनॅमिक मेमरी कंट्रोलर. कॅशे कंट्रोलर फंक्शन्स

सामान्यत: औद्योगिक नियंत्रकामध्ये खालील गोष्टींचा समावेश होतो: केंद्रीय प्रोसेसर, नेटवर्क इंटरफेस, मेमरी मॉड्यूल्स आणि विविध उपकरणे I/O

पीएलसी प्रोसेसर मॉड्यूलमध्ये खालील घटक समाविष्ट आहेत: मायक्रोप्रोसेसर किंवा सीपीयू (सेंट्रल प्रोसेसिंग युनिट), रिअल-टाइम घड्याळ, स्टोरेज डिव्हाइसेस आणि वॉचडॉग.

मायक्रोप्रोसेसरच्या मुख्य वैशिष्ट्यांमध्ये हे समाविष्ट आहे: घड्याळाची वारंवारता, बिट डेप्थ, विविध इनपुट/आउटपुट उपकरणांसाठी पोर्टसाठी समर्थन, आर्किटेक्चर, विशिष्ट तापमान श्रेणींमध्ये कार्यप्रदर्शन पॅरामीटर्स, फ्लोटिंग पॉइंट ऑपरेशन्स, वीज वापर पातळी.

समान आर्किटेक्चरसह मायक्रोप्रोसेसरचे कार्यप्रदर्शन निर्देशक आनुपातिक आहेत घड्याळ वारंवारता. बहुतेक नियंत्रक RISC (Reduced Instruction Set Computing) आर्किटेक्चरवर लागू केलेले मायक्रोप्रोसेसर वापरतात, ज्यात सूचनांची संख्या कमी असते. या प्रकरणात, मायक्रोप्रोसेसर समान लांबीच्या विशिष्ट संख्येच्या सूचना आणि अनेक नोंदणी वापरतो. निर्देशांच्या कमी केलेल्या संचाबद्दल धन्यवाद, उच्च कार्यक्षमतेच्या निर्देशकांसह कंपाइलर तयार करणे शक्य आहे, तसेच प्रोसेसर पाइपलाइन तयार करणे शक्य आहे जे एका घड्याळाच्या चक्रात निर्देशांपैकी एकाची क्रिया अंमलात आणण्याचे परिणाम देऊ शकते.

गहन गणितीय डेटा प्रोसेसिंगला सामोरे जाणाऱ्या औद्योगिक नियंत्रकांना मॅथ कॉप्रोसेसर (फ्लोटिंग पॉइंट ऑपरेशन्स करणारा सहाय्यक प्रोसेसर) किंवा एकाच घड्याळाच्या चक्रात गणितीय ऑपरेशन्स करणाऱ्या सिग्नल प्रोसेसरचा वापर आवश्यक असतो. सिग्नल प्रोसेसरबद्दल धन्यवाद, कॉन्व्होल्यूशन किंवा फास्ट फूरियर ट्रान्सफॉर्म ऑपरेशन्सचे महत्त्वपूर्ण प्रवेग साध्य केले जाते.

मेमरी क्षमता PLC च्या ऑपरेशन दरम्यान प्रक्रिया केली जाऊ शकणाऱ्या चलांच्या संख्येद्वारे दर्शविली जाते. मायक्रोप्रोसेसर मेमरी ऍक्सेस टाइम हे सर्वात लक्षणीय निर्देशकांपैकी एक आहे जे कार्यप्रदर्शन मर्यादित करू शकते. यामुळे, मेमरी पदानुक्रम स्तरांमध्ये विभागली गेली आहे, त्यात उपलब्ध डेटाच्या वापराची वारंवारता आणि गती लक्षात घेऊन मेमरी पदानुक्रम हे प्रोसेसर आर्किटेक्चरचे आणखी एक महत्त्वपूर्ण सूचक आहे, जे आम्हाला संभाव्य नकारात्मक प्रभावाची पातळी कमी करण्यास अनुमती देते. मायक्रोप्रोसेसरच्या गतीवर स्लो मेमरी.

औद्योगिक नियंत्रक (PLC) मेमरीचे मुख्य प्रकार:

  • रॉम - केवळ-वाचनीय मेमरी;
  • रॅम - यादृच्छिक प्रवेश मेमरी;
  • रजिस्टर्सचा संच.

रजिस्टर्सचा संच हा सर्वात वेगवान मेमरी घटक असतो, कारण ते ALU (अंकगणित लॉजिक युनिट) द्वारे सर्वात सोप्या प्रोसेसर कमांड कार्यान्वित करण्यासाठी वापरले जातात. ऑपरेटिंग सिस्टम, बूटलोडर, डिव्हाइस ड्रायव्हर्स किंवा प्रोग्रामचे एक्झिक्युटेबल मॉड्यूल - क्वचितच बदललेल्या माहितीसाठी रॉमचा वापर स्टोरेज ठिकाण म्हणून केला जातो. रॅम थेट डेटा संग्रहित करते जो कंट्रोलरच्या ऑपरेशन दरम्यान वारंवार बदलांच्या अधीन असतो. उदाहरणार्थ, डायग्नोस्टिक्सची माहिती, डिस्प्लेवर प्रदर्शित व्हेरिएबल्स, टॅग व्हॅल्यूज, इंटरमीडिएट कॅल्क्युलेशन, आलेखांवर दाखवलेला डेटा. ROM ची भूमिका (ROM - केवळ वाचनीय मेमरी), नियमानुसार, रीप्रोग्राम करण्यायोग्य इलेक्ट्रिकली इरेजेबल मेमरी (EEPROM - इलेक्ट्रिकली इरेजेबल प्रोग्रामेबल रॉम) आहे. तसे, फ्लॅश मेमरी मूलत: EEPROM चा एक प्रकार आहे. कॅपेसिटरमध्ये विशिष्ट शुल्क साठवणे हे त्याचे ऑपरेटिंग तत्त्व आहे, जे एमओएस ट्रान्झिस्टरच्या सब्सट्रेट आणि फ्लोटिंग गेटद्वारे तयार होते. फ्लॅश मेमरीचे मुख्य वैशिष्ट्य म्हणजे त्याची संपूर्ण ऊर्जा स्वातंत्र्य, म्हणजे. शक्ती नसतानाही डेटा जतन करण्याची क्षमता. फ्लॅश मेमरीमधील डेटा वैयक्तिक सेलमध्ये नाही तर मोठ्या ब्लॉक्सच्या वापराद्वारे अद्यतनित केला जातो. सर्व रॉममध्ये मोठी कमतरता आहे - कमी कार्यक्षमता.

फ्लॅश मेमरीमध्ये माहिती प्रविष्ट करण्याच्या चक्रांची संख्या केवळ काही हजारो वेळा मर्यादित आहे. आधुनिक मायक्रोप्रोसेसर स्टॅटिक मेमरी (SRAM - स्टॅटिक रँडम ऍक्सेस मेमरी), डायनॅमिक मेमरी (DRAM - डायनॅमिक रँडम ऍक्सेस मेमरी), आणि सिंक्रोनस डायनॅमिक मेमरी (SDRAM - सिंक्रोनस DRAM) RAM म्हणून वापरतात. एसआरएएमची अंमलबजावणी फ्लिप-फ्लॉपवर होते जी माहिती अनिश्चित काळासाठी संग्रहित करण्यास सक्षम असतात बर्याच काळासाठीअन्न उपलब्धतेच्या अधीन. औद्योगिक नियंत्रकाची डायनॅमिक मेमरी कॅपेसिटरवर त्याचा डेटा संग्रहित करते, ज्यासाठी कॅपेसिटरचे नियतकालिक रिचार्जिंग आवश्यक असते. ट्रिगर मेमरीचा मुख्य तोटा आहे उच्चस्तरीयकिंमत आणि किंमत-ते-क्षमता गुणोत्तर. हे एका चिपवर तुलनेने कमी संख्येने फ्लिप-फ्लॉप बसते या वस्तुस्थितीमुळे आहे. फायद्यांमध्ये उच्च पातळीचे कार्यप्रदर्शन समाविष्ट आहे, जी गीगाहर्ट्झमध्ये मोजले जाते, तर कॅपेसिटर मेमरी अनेक शंभर हर्ट्झच्या बारवर मात करू शकत नाही. सर्व प्रकार यादृच्छिक प्रवेश मेमरीशक्तीच्या अनुपस्थितीत, त्यांच्यामध्ये असलेली सर्व माहिती संग्रहित केली जात नाही. म्हणूनच काही प्रकारचे पीएलसी बॅटरी पॉवर वापरतात, ज्यामुळे सिस्टम पॉवरमध्ये थोडक्यात व्यत्यय आला तरीही सिस्टम चालू राहू देते.

मॉड्युलर आणि मोनोब्लॉक औद्योगिक नियंत्रक समांतर बस वापरतात जी तुम्हाला I/O मॉड्यूल्ससह माहितीची देवाणघेवाण करण्यास अनुमती देते, ज्यामुळे मतदानाचा वेग तुलनेत जास्त होतो. सिरियल बस. समांतर बसेसचे प्रकार: VME, PCI, ISA, CXM, ComactPCI, PC/104. सीरियल बस, उदाहरणार्थ RS-485, रिमोट I/O मॉड्युल जोडण्यासाठी आवश्यक आहे.

आजकाल सुसंस्कृत जगात तुम्हाला क्वचितच असा माणूस सापडेल ज्याने कधीही संगणक वापरला नाही आणि तो काय आहे याची कल्पना नाही. म्हणूनच, या जटिल प्रणालीच्या सर्व ज्ञात भागांबद्दल पुन्हा एकदा बोलण्याऐवजी, आम्ही तुम्हाला अशा गोष्टीबद्दल सांगू जे तुम्हाला अद्याप माहित नाही. आम्ही चर्चा करू आणि मेमरी कंट्रोलर्सचे संक्षिप्त वर्णन देऊ, ज्याशिवाय संगणकाचे ऑपरेशन अशक्य आहे. जर तुम्हाला तुमची ऑपरेटिंग सिस्टीम समजून घ्यायची असेल वैयक्तिक संगणककिंवा लॅपटॉप, तर तुम्हाला हे नक्कीच माहित असले पाहिजे. तर, आज चर्चा करूया की मेमरी कंट्रोलर म्हणजे काय.

संगणकाच्या ऑपरेशनसाठी संगणक मेमरी नियंत्रकांना सामोरे जाणारे कार्य खूप महत्वाचे आहे. मेमरी कंट्रोलर ही एक चिप असते जी मदरबोर्डवर असते किंवा केंद्रीय प्रोसेसर. ही छोटी चिप करत असलेले मुख्य कार्य म्हणजे येणारे आणि जाणारे दोन्ही डेटा प्रवाह नियंत्रित करणे. मेमरी कंट्रोलरचे दुय्यम कार्य म्हणजे सिस्टमची क्षमता आणि कार्यक्षमता वाढवणे, तसेच एकसमान आणि योग्य प्लेसमेंटमेमरीमधील माहिती, जी नवीन तंत्रज्ञानातील नवीन विकासामुळे उपलब्ध आहे.

कॉम्प्युटरमध्ये मेमरी कंट्रोलरचे प्लेसमेंट मदरबोर्ड आणि सेंट्रल प्रोसेसरच्या काही मॉडेल्सवर अवलंबून असते. काही संगणकांमध्ये, डिझाइनर ही चिप मदरबोर्डच्या समांतर उत्तर कनेक्शनवर ठेवतात, तर इतर संगणकांमध्ये ते डाय CPU वर ठेवतात. मदरबोर्डवर कंट्रोलर स्थापित करण्यासाठी डिझाइन केलेल्या सिस्टममध्ये मोठ्या संख्येने नवीन भिन्न भौतिक सॉकेट्स आहेत. या प्रकारच्या संगणकांमध्ये वापरल्या जाणाऱ्या रॅममध्ये नवीन, आधुनिक डिझाइन देखील आहे.

संगणकामध्ये मेमरी कंट्रोलर वापरण्याचा मुख्य उद्देश म्हणजे सिस्टमला रॅममधील बदल वाचण्यास आणि लिहिण्याची परवानगी देणे आणि प्रत्येक वेळी बूट झाल्यावर ते अद्यतनित करणे. मेमरी कंट्रोलर पाठवतो या वस्तुस्थितीमुळे हे घडते विद्युत शुल्क, जे यामधून काही क्रिया करण्यासाठी सिग्नल आहेत. तांत्रिक शब्दावलीत न जाता, आम्ही हे तथ्य सांगू शकतो की मेमरी कंट्रोलर हे संगणकातील सर्वात महत्वाचे भाग आहेत जे RAM वापरण्याची परवानगी देतात आणि त्याशिवाय त्याचे ऑपरेशन शक्य होणार नाही.

मेमरी कंट्रोलर वेगवेगळ्या प्रकारात येतात. ते यामध्ये भिन्न आहेत:
- दुहेरी डेटा हस्तांतरण दर (DDR) सह मेमरी नियंत्रक;
- पूर्णपणे बफर केलेले मेमरी कंट्रोलर्स (एफबी);
- दोन-चॅनेल नियंत्रक (DC).

विविध प्रकारचे मेमरी कंट्रोलर जे कार्य करू शकतात ते एकमेकांपासून भिन्न आहेत. उदाहरणार्थ, ड्युअल-रेट मेमरी कंट्रोलर्सचा वापर मेमरी क्लॉकच्या वाढत्या किंवा कमी होण्याच्या गतीवर आधारित डेटा हस्तांतरित करण्यासाठी केला जातो. तर ड्युअल चॅनेल मेमरी दोन मेमरी कंट्रोलर एकमेकांच्या समांतर वापरते. हे संगणकास अधिक चॅनेल तयार करून प्रणालीचा वेग वाढवण्यास अनुमती देते, परंतु तारांच्या गुच्छाचा वापर केल्यामुळे उद्भवलेल्या अडचणी असूनही, ही प्रणालीजोरदार प्रभावीपणे कार्य करते. मात्र, नवीन वाहिन्या तयार करताना अडचणी निर्माण होतात, त्यामुळे या प्रकारचामेमरी कंट्रोलर निर्दोष नाही.

पूर्णपणे बफर केलेले मेमरी कंट्रोलर्स, दुसरीकडे, इतर प्रकारच्या मेमरी कंट्रोलर्सपेक्षा वेगळे आहेत. हे तंत्रज्ञान सीरियल डेटा चॅनेल वापरते ज्यांच्याशी संवाद साधण्यासाठी आवश्यक आहे मदरबोर्डआणि RAM मेमरी सर्किट्स जे इतर प्रणालींपेक्षा वेगळे आहेत. फायदा या प्रकारच्याकंट्रोलर्स म्हणजे पूर्णपणे बफर केलेले मेमरी कंट्रोलर्स मदरबोर्डमध्ये वापरल्या जाणाऱ्या वायर्सची संख्या कमी करतात, ज्यामुळे कामावर घालवलेला वेळ कमी होतो.

आपण आधीच पाहिले आहे की, मेमरी कंट्रोलर यासाठी खूप आवश्यक आहेत स्थिर ऑपरेशनसंगणक, आणि वेगळे प्रकारविविध कारणांसाठी वापरले जातात. विशिष्ट मेमरी कंट्रोलर करत असलेल्या प्रकार आणि फंक्शन्सवर अवलंबून, मेमरी लाईन्सच्या किंमती खूप उच्च ते अगदी कमी आहेत.

कधीकधी एखादे उपकरण विकसित करताना काही डेटा नॉन-व्होलॅटाइल मेमरीमध्ये जतन करण्याची आवश्यकता असते. अशा परिस्थितीत, मायक्रोकंट्रोलरचे अंतर्गत EEPROM सहसा वापरले जाते. ते पुरेसे नसल्यास, नियम म्हणून, 24lxx मालिकेतील बाह्य EEPROM चिप्स वापरल्या जातात. या मालिकेतील Microcircuits खूप लोकप्रिय आहेत. बहुतेकदा ते जुन्यामध्ये आढळू शकतात भ्रमणध्वनी, काही मदरबोर्ड, प्रिंटर काडतुसे आणि इतर अनेक ठिकाणी. या मायक्रोसर्कीट्सची किंमतही अतिशय आकर्षक आहे. उदाहरणार्थ, 24LC16 ची किंमत 11 रूबल आहे.
ही चिप विविध पॅकेजेसमध्ये उपलब्ध आहे, त्यापैकी सर्वात लोकप्रिय DIP आणि SOIC आहेत. मायक्रोसर्किटमध्ये खालील पिनआउट आहेत:

जसे आपण पाहू शकता, तेथे फारच कमी निष्कर्ष आहेत. तर काय आहे ते शोधण्याचा प्रयत्न करूया.
A0, A1, A2— या microcircuit मध्ये वापरले जात नाहीत. ते जमिनीवर किंवा वीज पुरवठा प्लसशी जोडले जाऊ शकतात. इतर काही 24lxx मालिका मायक्रोक्रिकिटमध्ये, या पिन मायक्रोसर्कीटचा पत्ता सेट करू शकतात, ज्यामुळे तुम्ही एकाच वेळी तब्बल 8 मेमरी मायक्रोसर्कीट एका i2c बसशी कनेक्ट करू शकता.
वि.स- पृथ्वी.
S.D.A.- डेटा लाइन
SCL- घड्याळ ओळ
डब्ल्यू.पी.- संरक्षण लिहा. जेव्हा हा पिन लॉजिक 0 असतो, तेव्हा मेमरीमध्ये लिहिणे सक्षम केले जाते. जर तुम्ही तार्किक लागू केले तर केवळ मेमरीमधून वाचणे शक्य आहे.
Vcc- मायक्रोसर्किटसाठी वीज पुरवठा. डेटाशीटनुसार, ते 2.5 व्होल्ट ते 5.5 व्होल्टपर्यंत व्होल्टेजद्वारे समर्थित आहे.

कंट्रोलरशी कनेक्शन.
MK शी मेमरी कनेक्ट करणे खूप सोपे आहे. वायरिंगमधून आपल्याला फक्त 4.7 kOhm च्या प्रतिकारासह प्रतिरोधकांची एक जोडी आवश्यक आहे.

सॉफ्टवेअर

मेमरीसह कार्य करण्यासाठी, एक लायब्ररी विकसित केली गेली जी खालील कार्ये लागू करते:

i2c_init— रेषेच्या बाजूने प्रवास करणाऱ्या घड्याळाच्या डाळींचा वेग समायोजित करते SCL.

24LC16 चिप 400 kHz पर्यंत फ्रिक्वेन्सीला सपोर्ट करते. आपण याप्रमाणे वारंवारता मोजू शकता:

CPU घड्याळ वारंवारता— मायक्रोकंट्रोलर ज्या वारंवारतेवर चालतो

TWBR— त्याच नावाच्या रजिस्टरमध्ये लिहिलेली संख्या.

TWPS- प्रीडिव्हायडर. TWSR रजिस्टरमध्ये TWPS1 आणि TWPS0 बिट्सद्वारे प्रीस्केलर मूल्ये निर्दिष्ट केली जातात

Atmega 32 कंट्रोलरसाठी, खालील सारणी वैध आहे:

i2c_start- सुरुवातीचे पॅकेज पाठवते

i2c_stop- स्टॉप संदेश पाठवते

i2c_send- एक बाइट पाठवते

i2c_receive- एक बाइट प्राप्त करते

i2c_recive_last— शेवटचा बाइट स्वीकारतो. मागील फंक्शनमधील फरक असा आहे की जेव्हा बाइट प्राप्त होतो, तेव्हा मायक्रोकंट्रोलर पावती बिट पाठवत नाही. जर, शेवटचा बाइट प्राप्त करताना, वापरा i2c_receiveनंतर SDA लाइन जमिनीवर दाबली जाईल.

मेमरी चिपवर डेटा लिहित आहे

तुम्ही यादृच्छिक क्रमाने किंवा पृष्ठानुसार डेटा रेकॉर्ड करू शकता. i2c बसमध्ये एकाच वेळी अनेक उपकरणे असू शकतात, कोणत्याही डिव्हाइसमध्ये प्रवेश करण्यासाठी तुम्हाला त्याचा सात-बिट पत्ता माहित असणे आवश्यक आहे. बायनरी मधील 24LC16 चिपचा पत्ता असा दिसतो:

बिट A, B, C मेमरी ब्लॉक निवडण्यासाठी वापरले जातात. चिपमध्ये 8 मेमरी ब्लॉक्स आहेत, प्रत्येकी 256 बाइट्स. त्यानुसार, ABC बिट्स 000 ते 111 पर्यंत मूल्ये घेतात.

चिपवर बाइट लिहिण्यासाठी, आपल्याला क्रियांचा पुढील क्रम करणे आवश्यक आहे:

  1. i2c इंटरफेस सुरू करा
  2. प्रारंभिक पॅकेज पाठवा
  3. चिप पत्ता + मेमरी ब्लॉक पत्ता पाठवा
  4. मेमरी सेलचा पत्ता पाठवा ज्यावर रेकॉर्डिंग केले जाईल
  5. डेटा बाइट पाठवा
  6. स्टॉप पॅकेज पाठवा

उदाहरण:बाइट लिहिण्याची गरज आहे 0xFAपत्त्याद्वारे 0x101.

i2c_init वर कॉल करा
i2c_start वर कॉल करा
ldi temp,0b 1010 001 0 //चिप पत्ता जिथे:
// 1010 - चिप पत्ता
// 001 - मेमरी ब्लॉक पत्ता (सेल 0x101 ब्लॉक 1 चा आहे)
// 0
rcall i2c_send
ldi तापमान, 1 //मेमरी सेलचा पत्ता. (ब्लॉक १, सेल १)
rcall i2c_send
ldi तापमान, 0xFA // रजिस्टरमध्ये लिहिण्याची आवश्यकता असलेला बाइट लोड करा
rcall i2c_send // एक बाइट लिहा
i2c_stop वर कॉल करा

तुम्ही मेमरीमध्ये डेटा केवळ बाइट बाय बाईट लिहू शकत नाही तर पृष्ठानुसार पृष्ठ देखील लिहू शकता. पृष्ठ आकार 16 बाइट्स आहे. पोस्ट-प्रॉडक्शन एंट्री खालील सूचित करते: शून्य बाइटचा पत्ता पाठवा इच्छित पृष्ठआणि त्यानंतर आम्ही 16 वेळा आवश्यक डेटा पाठवतो. ॲड्रेस काउंटर आपोआप एकाने वाढेल. जर तुम्ही 17व्यांदा डेटा पाठवलात, तर शून्य बाइट ओव्हरराइट होईल, जर तुम्ही 18व्या वेळी बाइट पाठवलात, तर ते बाइट क्रमांक 1 इत्यादी ओव्हरराइट करेल.

उदाहरण: ब्लॉक 0 चे पहिले पान लिहिणे आवश्यक आहे.

i2c_init वर कॉल करा // i2c इंटरफेस सुरू करा
i2c_start वर कॉल करा // प्रारंभिक पॅकेज पाठवा
ldi temp,0b 1010 000 0 //चिप पत्ता जिथे:
// 1010 - चिप पत्ता
// 000 - मेमरी ब्लॉकचा पत्ता (आम्हाला शून्य ब्लॉकमध्ये स्वारस्य आहे)
// 0 - थोडे वाचा/लिहा. 0 - लिहा, 1 - वाचा
rcall i2c_send
एलडीआय तापमान, 16 //पहिल्या पानाचा पत्ता
rcall i2c_send
ldi तापमान, 0x01 // रजिस्टरमध्ये बाइट क्रमांक 0 लोड करा
rcall i2c_send // एक बाइट लिहा
ldi तापमान, 0x02 // रजिस्टरमध्ये बाइट क्रमांक १ लोड करा
rcall i2c_send // एक बाइट लिहा
/// येथे आपण उर्वरित बाइट्स लिहितो.....
ldi तापमान, 0x0E // रजिस्टरमध्ये बाइट क्रमांक 14 लोड करा
rcall i2c_send // एक बाइट लिहा
ldi तापमान, 0x0F // रजिस्टरमध्ये बाइट क्रमांक 15 लोड करा
rcall i2c_send // एक बाइट लिहा
i2c_stop वर कॉल करा // एक स्टॉप पॅकेज पाठवा

चिपवरून डेटा वाचत आहे
आम्ही रेकॉर्डिंगची क्रमवारी लावलेली दिसते, आता वाचायला सुरुवात करूया. बाइट वाचण्यासाठी तुम्हाला पुढील गोष्टी करण्याची आवश्यकता आहे:

  1. i2c इंटरफेस सुरू करा (जर ते आधी सुरू केले नसेल)
  2. स्टार्टर पॅकेज पाठवा
  3. microcircuit चा पत्ता आणि मेमरी ब्लॉकचा पत्ता पाठवा जिथून आपण वाचू
  4. मेमरी सेल पत्ता पाठवा
  5. प्रारंभिक पॅकेज पुन्हा पाठवा
  6. चिप ॲड्रेस आणि मेमरी ब्लॉक ॲड्रेस "रीड" बिटसह पाठवा
  7. बाइट मिळवा
  8. स्टॉप पार्सल पाठवा

i2c_init वर कॉल करा // i2c इंटरफेस सुरू करा
i2c_start वर कॉल करा // प्रारंभिक पॅकेज पाठवा
एलडीआय तापमान 0b1010 011 0 //चिप पत्ता + तिसऱ्या मेमरी ब्लॉकचा पत्ता.
//वाचा/लिहा बिट अजूनही 0 आहे!
rcall i2c_send
ldi तापमान, 0x41 //मेमरी सेल पत्ता
rcall i2c_send
i2c_start वर कॉल करा // सुरुवातीचे पॅकेज पुन्हा पाठवत आहे
एलडीआय तापमान 0b1010 011 1 //चिप ॲड्रेस+मेमरी ब्लॉक ॲड्रेस+वाचन/लिहा बिट 1 बनते
rcall i2c_send // आता तुम्ही डेटा वाचू शकता
rcall i2c_recive_last //बाइट वाचा. पहिला आणि शेवटचा.
i2c_stop वर कॉल करा // एक स्टॉप पॅकेज पाठवा

वाचन क्रमशः बाइट बाय बाइट केले जाऊ शकते, म्हणजे. फक्त कॉल कराi2c_receive गरजेइतकी. पत्ता एकने वाढवण्यासाठी कमांड पाठवण्याची गरज नाही. अनुक्रमे वाचताना ब्लॉक पत्ते स्विच करण्याची देखील आवश्यकता नाही. त्या. तुम्ही कोणत्याही अडचणीशिवाय संपूर्ण मायक्रोसर्कीट एकाच वेळी घेऊ आणि वाचू शकता.

i2c सह कार्य करण्यासाठी लायब्ररी विकसित केली गेली आणि Atmega32 मायक्रोकंट्रोलरवर चाचणी केली गेली. मला वाटते की ते इतर अनेक नियंत्रकांवर कोणत्याही बदलाशिवाय कार्य करेल. स्वाभाविकच, नियंत्रकाकडे i2c साठी हार्डवेअर समर्थन असणे आवश्यक आहे किंवा त्याला TWI देखील म्हणतात. अर्थात, i2c सॉफ्टवेअरमध्ये लागू केले जाऊ शकते, परंतु मला त्रास झाला नाही आणि गरजही नव्हती. डेमो उदाहरण एक प्रोग्राम आहे जो 0 ते 15 पर्यंत पहिल्या 16 पत्त्यांवर बाइट्स लिहितो आणि लिहिल्यानंतर, ते पोर्ट A वर आउटपुट करतो. हे केवळ जिवंतच नाही तर प्रोटीयसमध्ये देखील कसे कार्य करते ते तुम्ही पाहू शकता.

आणि शेवटी, मी एक ऑसिलोग्राम जोडत आहे:

माझ्या डोळ्यांतून ही i2c बस कशी दिसते :-)
मी टिप्पण्यांमधील सर्व प्रश्न आणि सूचनांचे स्वागत करतो.

कोणत्याही फ्लॅश मेमरीचा आधार सिलिकॉन क्रिस्टल असतो ज्यावर सामान्य फील्ड-इफेक्ट ट्रान्झिस्टर तयार होत नाहीत. अशा ट्रान्झिस्टरमध्ये दोन इन्सुलेटेड गेट्स असतात: नियंत्रण आणि फ्लोटिंग. नंतरचे इलेक्ट्रॉन धारण करण्यास सक्षम आहे, म्हणजेच चार्ज. सेलमध्ये, इतर कोणाप्रमाणे फील्ड इफेक्ट ट्रान्झिस्टर, तेथे एक नाली आणि एक स्रोत आहे (चित्र 4.1). लेखन प्रक्रियेदरम्यान, कंट्रोल गेटवर एक सकारात्मक व्होल्टेज लागू केला जातो आणि ड्रेनमधून स्त्रोताकडे जाणारे काही इलेक्ट्रॉन फ्लोटिंग गेटच्या दिशेने विचलित होतात. काही इलेक्ट्रॉन इन्सुलेटरच्या थरावर मात करतात आणि फ्लोटिंग गेटमध्ये प्रवेश करतात (डिफ्यूज). ते त्यात अनेक वर्षे राहू शकतात.

फ्लोटिंग गेट प्रदेशातील इलेक्ट्रॉन एकाग्रता ट्रान्झिस्टरच्या दोन स्थिर अवस्थांपैकी एक निर्धारित करते - मेमरी सेल. पहिल्या, प्रारंभिक अवस्थेत, फ्लोटिंग गेटवरील इलेक्ट्रॉनची संख्या लहान आहे, आणि थ्रेशोल्ड व्होल्टेजट्रान्झिस्टर उघडणे तुलनेने कमी आहे (तार्किक एक). जेव्हा फ्लोटिंग गेटला पुरेसे इलेक्ट्रॉन पुरवले जातात तेव्हा ट्रान्झिस्टर दुसऱ्या स्थिर स्थितीत असतो. त्याचे ओपनिंग व्होल्टेज झपाट्याने वाढते, जे तार्किक शून्याशी संबंधित आहे. वाचताना ते मोजले जाते

तांदूळ. ४.१. फ्लॅश मेमरी सेल

थ्रेशोल्ड व्होल्टेज जो ट्रान्झिस्टर उघडण्यासाठी ड्रेनवर लागू करणे आवश्यक आहे. माहिती काढून टाकण्यासाठी, नियंत्रण गेटवर एक नकारात्मक व्होल्टेज थोडक्यात लागू केला जातो आणि फ्लोटिंग गेटमधील इलेक्ट्रॉन पुन्हा स्त्रोताकडे पसरतात. ट्रान्झिस्टर पुन्हा तार्किक एका अवस्थेत जातो आणि पुढील लेखन होईपर्यंत त्यातच राहतो. हे लक्षात घेण्यासारखे आहे की फ्लॅश मेमरीमध्ये एक ट्रान्झिस्टर थोडी माहिती साठवतो - तो एक सेल आहे. संपूर्ण "स्मरण" प्रक्रिया अर्धसंवाहकातील इलेक्ट्रॉनच्या प्रसारावर आधारित आहे. यामुळे दोन फारसे आशावादी नसलेले निष्कर्ष निघतात.

चार्ज स्टोरेज वेळ खूप मोठा आहे आणि वर्षांमध्ये मोजला जाऊ शकतो, परंतु तरीही मर्यादित आहे. थर्मोडायनामिक्स आणि डिफ्यूजनचे नियम सांगतात की वेगवेगळ्या भागात इलेक्ट्रॉनची एकाग्रता लवकर किंवा नंतर कमी होईल.

त्याच कारणास्तव, लेखन-पुनर्लेखन चक्रांची संख्या मर्यादित आहे: एक लाख ते अनेक दशलक्ष. कालांतराने, सामग्रीचे स्वतःचे ऱ्हास आणि p-n जंक्शन अपरिहार्यपणे उद्भवतात. उदाहरणार्थ, किंग्स्टन कार्डकॉम्पॅक्ट फ्लॅश 300,000 पुनर्लेखन चक्रांसाठी डिझाइन केले आहे. ट्रान्ससेंड कॉम्पॅक्ट फ्लॅश - चालू

1,000,000, आणि ट्रान्ससेंड 32 Gb USB फ्लॅश ड्राइव्ह फक्त 100,000,000 आहे.

दोन फ्लॅश मेमरी आर्किटेक्चर आहेत. ते पेशींमध्ये प्रवेश करण्याच्या पद्धतीमध्ये आणि त्यानुसार, अंतर्गत कंडक्टरच्या संघटनेमध्ये भिन्न आहेत.

NOR (NOR) मेमरी तुम्हाला एका वेळी सेलमध्ये प्रवेश करण्याची परवानगी देते. प्रत्येक सेलमध्ये स्वतंत्र कंडक्टर असतो. NOR मेमरीची ॲड्रेस स्पेस तुम्हाला वैयक्तिक बाइट्स किंवा शब्दांसह कार्य करण्याची परवानगी देते (प्रत्येक शब्दात

2 बाइट्स). हे आर्किटेक्चर चिपच्या प्रति युनिट क्षेत्रासाठी जास्तीत जास्त मेमरीवर गंभीर निर्बंध लादते. किंवा आज मेमरी फक्त BIOS चिप्स आणि सेल फोन सारख्या कमी क्षमतेच्या ROM मध्ये वापरली जाते.

NAND (NAND) आर्किटेक्चर मेमरीमध्ये, प्रत्येक सेल "बिट लाइन" आणि "वर्ड लाइन" च्या छेदनबिंदूवर दिसतो. सेल क्लस्टर सारख्या लहान ब्लॉक्समध्ये गटबद्ध केले जातात हार्ड ड्राइव्ह. वाचन आणि लेखन दोन्ही फक्त संपूर्ण ब्लॉक्स किंवा ओळींमध्ये चालते. सर्व आधुनिक काढता येण्याजोगा माध्यम NAND मेमरीवर बांधले.

NAND चिप्सचे सर्वात मोठे उत्पादक आहेत इंटेल, मायक्रोन टेक्नॉलॉजी, सोनी आणि सॅमसंग. उत्पादित चिप्सची श्रेणी बरीच मोठी आहे आणि ती वर्षातून अनेक वेळा अद्यतनित केली जाते.

नियंत्रक

वाचन आणि लेखन नियंत्रित करण्यासाठी मेमरी कंट्रोलरचा वापर केला जातो. सध्या, कंट्रोलर नेहमी स्वतंत्र घटक म्हणून कार्यान्वित केला जातो (तो एकतर मानक फॉर्म घटकांपैकी एकाचा मायक्रो सर्किट किंवा मेमरी कार्डमध्ये तयार केलेली बेअर चिप आहे), जरी कंट्रोलरला थेट फ्लॅश मेमरी चिपमध्ये समाकलित करण्याचे काम चालू आहे. .

कंट्रोलर्स पूर्णपणे विशिष्ट फ्लॅश मेमरी चिप्ससाठी विकसित आणि उत्पादित केले जातात. पेशींना संबोधित करण्याची पद्धत संरचनात्मकपणे कंट्रोलरमध्ये समाविष्ट केली जाते. फ्लॅश मेमरी चिपवर लिहिल्यावर, डेटा एका विशिष्ट प्रकारे व्यवस्थित केला जातो, जो मॉडेलनुसार बदलतो. उत्पादक या सूक्ष्मता गुप्त ठेवतात आणि वरवर पाहता ते उघड करण्याची योजना करत नाहीत. अर्थात, कंट्रोलर मॉडेल्सपेक्षा बरेच अधिक कंट्रोलर फर्मवेअर तयार केले जातात. कंट्रोलर फर्मवेअर (फर्मवेअर) आणि ॲड्रेस ट्रान्सलेशन टेबल (अनुवादक) फ्लॅश मेमरीच्या सर्व्हिस एरियामध्ये लिहिलेले आहेत. हे असे क्षेत्र आहे की त्यावर पॉवर लागू केल्यानंतर कंट्रोलर लगेच वाचण्यास सुरवात करतो. पेशींच्या वास्तविक पत्त्याव्यतिरिक्त, नियंत्रक इतर अनेक कार्ये करतो: खराब क्षेत्रांचे निरीक्षण करणे, त्रुटी सुधारणे (ECC - त्रुटी तपासणे आणि दुरुस्त करणे) आणि पेशींचे एकसमान पोशाख (वेअर लेव्हलिंग).

मेमरी चिप्सच्या निर्मितीमधील तांत्रिक मानक म्हणजे सरासरी 2% पर्यंत कार्यरत नसलेल्या पेशींची उपस्थिती मानली जाते. कालांतराने, त्यांची संख्या वाढू शकते, म्हणून, हार्ड ड्राइव्हस्प्रमाणेच, फ्लॅश मेमरीमध्ये राखीव क्षमता असते. सदोष क्षेत्र दिसल्यास, नियंत्रक, स्वरूपन किंवा लेखन प्रक्रियेदरम्यान, फाईल वाटप तक्त्यामध्ये त्याचा पत्ता स्पेअर एरियामधील सेक्टरच्या पत्त्यासह बदलतो. दुरुस्ती कंट्रोलरद्वारे केली जाते, परंतु विशिष्ट मीडियाच्या फाइल सिस्टमच्या स्तरावर लागू केली जाते.

पेशींच्या मर्यादित संसाधनामुळे (प्रत्येकसाठी अनेक दशलक्ष वाचन/लेखन चक्रांच्या क्रमाने), कंट्रोलरकडे एकसमान पोशाख करण्यासाठी एक कार्य आहे. माहिती समान रीतीने रेकॉर्ड केली गेली आहे हे सुनिश्चित करण्यासाठी, मोकळी जागा सशर्तपणे विभागांमध्ये विभागली गेली आहे आणि त्या प्रत्येकासाठी लेखन ऑपरेशन्सची संख्या विचारात घेतली जाते. सायकल आकडेवारी लपविलेल्या सेवा मेमरी क्षेत्रात रेकॉर्ड केली जाते आणि या माहितीसाठी नियंत्रक वेळोवेळी त्यात प्रवेश करतो. हे पत्त्यावर परिणाम करत नाही.

यूएसबी फ्लॅश डिस्क डिझाइन

प्रकरणांची विविधता असूनही, सर्व यूएसबी फ्लॅश ड्राइव्ह समान डिझाइन केलेले आहेत. केसांचे अर्धे भाग लॅचने जोडलेले असल्यास, ते सहसा सहजपणे वेगळे होतात. जलरोधक किंवा ट्रेंडी केस कटिंगसारख्या विनाशकारी पद्धती वापरून उघडावे लागतील.

यूएसबी फ्लॅश ड्राइव्ह (चित्र 4.2) च्या आत असलेल्या बोर्डवर नेहमी दोन मायक्रोक्रिकेट असतात: मेमरी चिप आणि कंट्रोलर. दोघांना फॅक्टरी खुणा आहेत. कधीकधी बोर्डमध्ये दोन फ्लॅश मेमरी चिप्स असतात ज्या जोड्यांमध्ये काम करतात. मायक्रोसर्किटच्या सर्किटरीमध्ये अनेक प्रतिरोधक आणि डायोड, पॉवर स्टॅबिलायझर आणि क्वार्ट्ज रेझोनेटर असतात. IN अलीकडेस्टॅबिलायझर वाढत्या प्रमाणात थेट कंट्रोलरमध्ये तयार केले जात आहे आणि संलग्नकांची संख्या कमीतकमी कमी केली जात आहे. याव्यतिरिक्त, बोर्ड असू शकते नेतृत्व सूचकआणि लघु लेखन-संरक्षित स्विच.

तांदूळ. ४.२. फ्लॅश ड्राइव्ह डिव्हाइस

यूएसबी कनेक्टर थेट बोर्डवर सोल्डर केले जाते. अनेक मॉडेल्समधील संपर्कांचे सोल्डरिंग पॉइंट्स खूपच असुरक्षित असतात, कारण ते डिव्हाइस कनेक्ट करताना आणि डिस्कनेक्ट करताना यांत्रिक भार सहन करतात.

मेमरी कार्डचे प्रकार आणि डिझाइन

अनेक कंपन्यांनी वेळोवेळी वापरकर्त्यांना विविध मेमरी कार्ड डिझाइन ऑफर केले आहेत. दुर्मिळ अपवादांसह, ते सर्व संपर्क संख्या आणि स्थानाच्या बाबतीत एकमेकांशी विसंगत आहेत आणि विद्युत वैशिष्ट्ये, फ्लॅश कार्ड दोन प्रकारात येतात: समांतर (समांतर) आणि अनुक्रमांक (सीरियल) इंटरफेससह.

टेबलमध्ये 4.1 मध्ये सध्या सापडलेल्या 12 मुख्य प्रकारच्या मेमरी कार्डांची यादी आहे. प्रत्येक प्रकारात अतिरिक्त प्रकार आहेत, जे लक्षात घेऊन आम्ही जवळजवळ 40 प्रकारच्या कार्ड्सच्या अस्तित्वाबद्दल बोलू शकतो.

तक्ता 4.1. मेमरी कार्डचे प्रकार

मेमरी कार्ड प्रकार

एकूण परिमाणे, मिमी)

कमाल

रचनात्मक

इंटरफेस

कॉम्पॅक्ट फ्लॅश (CF)

समांतर 50 पिन

अनुक्रमांक 9 पिन

मल्टीमीडिया कार्ड (MMC)

अनुक्रमांक 7 पिन

अनुक्रमांक 7 पिन

हायस्पीड MMS

अनुक्रमांक 13 पिन

अनुक्रमांक 10 पिन

मेमरी स्टिक प्रो

अनुक्रमांक 10 पिन

मेमरी स्टिक जोडी

अनुक्रमांक 10 पिन

स्मार्टमीडिया (SSFDC)

समांतर 22 पिन

समांतर 22 पिन

अनुक्रमांक 8 पिन

MMC कार्ड दोन मोडमध्ये ऑपरेट करू शकतात: MMC (मल्टीमीडिया कार्ड) आणि SPI (सिरियल पेरिफेरल इंटरफेस). एसपीआय मोड एमएमसी प्रोटोकॉलचा भाग आहे आणि मायक्रोकंट्रोलरमधील एसपीआय चॅनेलशी संवाद साधण्यासाठी वापरला जातो मोटोरोलाआणि काही इतर उत्पादक.

तुम्ही SD (Secure Digital) कार्ड स्लॉटमध्ये MMC कार्ड (मल्टीमीडिया कार्ड) घालू शकता, परंतु त्याउलट नाही. SD कार्ड कंट्रोलरमध्ये हार्डवेअर डेटा एन्क्रिप्शन असते आणि मेमरी स्वतः एका विशेष क्षेत्रासह सुसज्ज असते ज्यामध्ये एन्क्रिप्शन की संग्रहित केली जाते. संगीत रेकॉर्डिंगची बेकायदेशीर कॉपी रोखण्यासाठी हे केले गेले आहे, ज्याच्या साठवणीसाठी आणि विक्रीसाठी अशा माध्यमाचा हेतू आहे. कार्डमध्ये लेखन संरक्षण स्विच आहे.

कॉम्पॅक्टफ्लॅश (CF) कार्ड PCMCIA प्रकार II स्लॉटमध्ये सहजपणे समाविष्ट केले जाऊ शकतात. जरी PCMCIA मध्ये 68 पिन आहेत आणि CF मध्ये फक्त 50 आहेत, कॉम्पॅक्टफ्लॅश कार्डे PCMCIA-AT A फॉरमॅटची पूर्ण सुसंगतता आणि सर्व कार्यक्षमता प्रदान करण्यासाठी डिझाइन केलेली आहेत.

सर्व मेमरी स्टिक मीडिया (सोनी मानक) एकमेकांशी तुलनेने सुसंगत आहेत. मानक सैद्धांतिकदृष्ट्या 2 TB पर्यंत मेमरी कार्ड क्षमतेची तरतूद करते, जरी प्रत्यक्षात क्षमता अनेक गीगाबाइट्सपर्यंत पोहोचते.

स्मार्टमीडिया कार्ड जवळजवळ कालबाह्य झाले आहेत; डिजिटल कॅमेरे. हे लक्षात घेण्यासारखे आहे की हे एकमेव मानक होते ज्यामध्ये कंट्रोलर कार्डच्या आत नसून रीडरमध्ये आहे.

मेमरी कार्ड्सची रचना विभक्त न करता येण्यासारखी आहे - हे उपकरण दुरुस्तीसाठी अयोग्य आहे. अनपॅक केलेले मायक्रोसर्कीट्स, लीड्ससह, एका कंपाऊंडमध्ये ओतले जातात आणि सर्व एकत्र प्लास्टिकच्या शेलमध्ये दाबले जातात. क्रिस्टलवर जाण्याचा एकमेव मार्ग म्हणजे डिव्हाइस उघडणे, परंतु यामुळे कंडक्टरला जवळजवळ अपरिहार्यपणे नुकसान होईल.

वाचन उपकरणे

यूएसबी फ्लॅश ड्राइव्ह वाचण्यासाठी, एक सामान्य युएसबी पोर्ट: संगणक अशा उपकरणांना मानक म्हणून पाहतो काढता येण्याजोगा ड्राइव्हत्यांच्या नियंत्रकाचे आभार. सर्व मेमरी कार्ड्सचे नियंत्रक सीरियल किंवा समांतर इंटरफेस - कार्डवरील संपर्कांद्वारे संगणकास सामोरे जातात. या प्रत्येक इंटरफेससाठी तुम्हाला संबंधित ॲडॉप्टरची आवश्यकता आहे - एक अतिरिक्त नियंत्रक जो जुळतो हा इंटरफेसमानक यूएसबी पोर्टसह.

कार्ड रीडर हे एक किंवा अधिक समान नियंत्रक, पॉवर कन्व्हर्टर आणि वेगवेगळ्या मेमरी कार्ड्ससाठी कनेक्टर असलेले उपकरण आहे (चित्र 4.3). यूएसबी केबलद्वारे +5 V स्त्रोताकडून वीज पुरवठा केला जातो.

तांदूळ. ४.३. कार्ड रीडर

बऱ्याचदा, अनेक प्रकारच्या कार्ड्ससाठी डिझाइन केलेले "कम्बाइन्स" असतात: 6 ते 40 पर्यंत. कार्ड रीडरमध्ये बरेच कमी स्लॉट असतात, कारण प्रत्येक स्लॉट अनेक प्रकारच्या कार्डांसाठी वापरला जातो, आकार आणि संपर्कांच्या स्थानाप्रमाणे. त्याच्या वैशिष्ट्यांनुसार विविध मॉडेलजवळजवळ समतुल्य आहेत, परंतु मुख्यतः समर्थित कार्ड प्रकार आणि डिझाइनमध्ये भिन्न आहेत.

तार्किक संघटना

फ्लॅश ड्राइव्ह फाइल सिस्टमवर जाण्यापूर्वी, आम्हाला NAND आर्किटेक्चर लक्षात ठेवणे आवश्यक आहे. या वारंवार वापरल्या जाणाऱ्या मेमरीमध्ये, वाचन, लेखन आणि माहिती हटवणे फक्त ब्लॉक्समध्येच होते.

हार्ड आणि फ्लॉपी डिस्कवर, ब्लॉक आकार 512 बाइट्स आहे, 59 सर्व्हिस बाइट्स मोजत नाही, जे फक्त हार्ड ड्राइव्ह कंट्रोलरला दृश्यमान आहेत. ही मूल्ये लक्षात घेऊन सर्व फाइल सिस्टम तयार केल्या गेल्या. समस्या अशी आहे की फ्लॅश मेमरीमध्ये, इरेज ब्लॉकचा आकार, दुर्मिळ अपवादांसह, 512 बाइट्सच्या मानक डिस्क सेक्टरच्या आकाराशी एकरूप होत नाही आणि सामान्यतः 4.8 किंवा अगदी 64 KB असतो. दुसरीकडे, सुसंगतता सुनिश्चित करण्यासाठी, वाचन/लेखन ब्लॉक डिस्क सेक्टरच्या आकाराशी जुळले पाहिजे.

हे करण्यासाठी, इरेज ब्लॉक 512 बाइट्सच्या आकारासह अनेक रीड/राईट ब्लॉक्समध्ये विभागलेला आहे. प्रॅक्टिसमध्ये, ब्लॉक थोडा मोठा आहे: डेटासाठी 512 बाइट्स व्यतिरिक्त, त्यात ब्लॉकच्या स्वतःच्या सेवा माहितीसाठी 16 बाइट्स लांब "टेल" (टेल) देखील आहे. भौतिकदृष्ट्या, स्थान आणि वाचन/लेखन ब्लॉक्सची संख्या कोणत्याही प्रकारे मर्यादित नाही. फक्त मर्यादा अशी आहे की वाचन/लेखन ब्लॉकने मिटवलेल्या ब्लॉकची सीमा ओलांडू नये, कारण ती दोन भिन्न मिटवलेल्या ब्लॉक्सची असू शकत नाही.

रीड/राइट ब्लॉक्स तीन प्रकारांमध्ये विभागले गेले आहेत: वैध, अवैध आणि दोषपूर्ण. लिखित डेटा असलेले आणि फाईलशी संबंधित असलेले ब्लॉक वैध आहेत. कालबाह्य माहितीसह वापरलेले ब्लॉक अवैध मानले जातात आणि ते साफ करणे आवश्यक आहे. सदोष ब्लॉक्सच्या श्रेणीमध्ये असे ब्लॉक्स असतात जे लिहीले किंवा मिटवले जाऊ शकत नाहीत.

फ्लॅश मेमरीचे आणखी एक वैशिष्ट्य म्हणजे माहिती फक्त त्या जागेवर लिहिली जाऊ शकते जी पूर्वीची माहिती आधीपासून साफ ​​केली गेली आहे. माहिती लिहिण्याची आवश्यकता असताना, नियंत्रक फर्मवेअरने प्रथम कोणते अवैध ब्लॉक मिटवायचे हे ठरवले पाहिजे. बऱ्याच फर्मवेअरमध्ये, अवैध ब्लॉक्स काढून टाकण्याची समस्या सर्वात सोप्या पद्धतीने सोडविली जाते: फ्लॅश डिस्क क्षमतेचा काही भाग माहितीने भरल्यानंतर, अवैध ब्लॉक्स साफ करण्याची एक यंत्रणा स्वयंचलितपणे लॉन्च केली जाते.

मेमरी लाइफ वाढवण्यासाठी, वेअर-लेव्हलिंग कंट्रोल टेक्नॉलॉजीचा वापर मेमरी लाइफ वाढवण्यासाठी केला जातो. जीवन चक्रमेमरी ब्लॉक्सच्या लेखन/मिटवा चक्राच्या समान वितरणामुळे मेमरी क्रिस्टल. एक साइड इफेक्ट - एका मेमरी ब्लॉकचे अपयश - त्याच क्रिस्टलच्या इतर मेमरी ब्लॉक्सच्या ऑपरेशनवर परिणाम करत नाही. फिक्स्ड ब्लॉक्स फाईल्सचे आहेत ज्यात बर्याच काळापासून किंवा अजिबात बदल केले गेले नाहीत किंवा हलविले गेले नाहीत. स्थिर डेटा ब्लॉक्सच्या उपस्थितीमुळे पेशींचा उर्वरित भाग वाढत्या झीज होण्याच्या अधीन आहे आणि त्याचे स्त्रोत जलद वापरतो. फर्मवेअर असे ब्लॉक्स विचारात घेते आणि आवश्यकतेनुसार त्यांची सामग्री इतर सेलमध्ये हलवते.

फ्लॅश डिस्क आणि मेमरी कार्डच्या फाइल सिस्टम, पहिल्या दृष्टीक्षेपात, हार्ड आणि फ्लॉपी डिस्कच्या वापरकर्त्यांसाठी सुप्रसिद्ध आहेत. हे FAT16 आहे, कमी वेळा FAT32: अशा प्रकारे विंडोज ऑपरेटिंग सिस्टम डिस्कचे स्वरूपन सुचवते. मानक मार्गाने Windows XP आणि Windows 7 डिस्क मध्ये फॉरमॅट करता येते एनटीएफएस प्रणाली! हे करण्यासाठी, आपण प्रथम डिव्हाइस व्यवस्थापकावर जाणे आवश्यक आहे आणि कनेक्ट केलेल्या फ्लॅश ड्राइव्हच्या गुणधर्म विंडोमध्ये, पॉलिसी टॅबवर, मूल्य ऑप्टिमायझेशन निवडा. जलद अंमलबजावणी. विशेष कार्यक्रम HP सारख्या उत्पादकांकडून यूएसबी डिस्कस्टोरेज फॉरमॅट टूल तुम्हाला अशा प्रयत्नांशिवाय NTFS मध्ये फ्लॅश ड्राइव्ह फॉरमॅट करण्याची परवानगी देते.

तथापि, फाइल सिस्टमची बाह्य समानता सॉलिड स्टेट ड्राइव्हस्आणि सामान्य हार्ड ड्राइव्ह फसव्या आहेत. फ्लॅश मेमरीची फाइल सिस्टम (फ्लॅश फाइल सिस्टम, FFS) फक्त नियमित डिस्क ड्राइव्हचे अनुकरण करते आणि त्यात कंट्रोल ब्लॉक्स आणि इनिशिएलायझेशन ब्लॉक असतात. खरं तर, फक्त फ्लॅश डिस्क किंवा मेमरी कार्ड कंट्रोलरला मेमरी ब्लॉक्सचे खरे स्थान आणि पत्ता माहित असतो.

जेव्हा हे खूप महत्वाचे आहे वेगवेगळ्या पद्धतींनीफ्लॅश मेमरी चिपची सामग्री पुनर्संचयित करणे. मेमरी चिप त्याच्या “नेटिव्ह” कंट्रोलरद्वारे वाचताना, इमेज फाइलमध्ये ब्लॉक्सचा क्रम त्यांच्या संख्या किंवा ऑफसेटच्या क्रमाने असतो. सुरुवातीला फाइल सिस्टम हेडर आणि टेबल आहेत. प्रोग्रामरवर वाचन केले असल्यास, डंपच्या सुरुवातीच्या ब्लॉक्समध्ये सेवा माहिती असते आणि डेटासह ब्लॉक्स जवळजवळ यादृच्छिकपणे मिसळले जातात. या प्रकरणात, सेवा माहिती उपयुक्त ठरण्याची शक्यता नाही, कारण ती पूर्णपणे कंट्रोलर मॉडेल आणि त्याच्या फर्मवेअरवर अवलंबून असते - ब्लॉक्सचा योग्य क्रम मोठ्या अडचणीने संकलित करावा लागतो.

काही कॅमेरे फक्त फाइलसह काम करतात RAW प्रणालीअशा फाइल सिस्टमसह मीडियावर फोटो रेकॉर्ड करण्याची पद्धत, तसेच कार्डचे स्वरूपन वैशिष्ट्ये डिव्हाइसच्या मॉडेलवर आणि विशिष्ट मॉडेलच्या फर्मवेअरवर देखील अवलंबून असतात. हे स्वरूप प्रमाणित नाही आणि त्यात अनेक भिन्नता आहेत. सामान्यतः, अशा कार्ड्समधील डेटा केवळ कॅमेरा निर्मात्याकडून सेवा प्रोग्रामद्वारे पुनर्संचयित केला जाऊ शकतो आणि कॅमेरा स्वतः कार्ड रीडर म्हणून वापरण्याचा सल्ला दिला जातो.

तांदूळ. ४.४. मध्ये फ्लॅश डिस्क फॉरमॅट करण्यासाठी विंडो विंडोज व्हिस्टाएसपीएल

नावीन्य आहे फाइल सिस्टम exFAT (विस्तारित FAT - विस्तारित FAT). विशेषत: फ्लॅश ड्राइव्हसाठी डिझाइन केलेल्या या फाइल सिस्टमसाठी समर्थन प्रथम Windows एम्बेडेड CE 6.0 मध्ये दिसून आले. Windows Vista Service Pack 1 आणि Windows 7 exFAT (Fig. 4.4) सह कार्य करतात.

नवीन फाइल सिस्टमचा उद्देश फ्लॅश ड्राइव्हवर हळूहळू FAT आणि FAT32 पुनर्स्थित करणे आहे. यात काही वैशिष्ट्ये आहेत जी पूर्वी NTFS फाइल सिस्टमसाठी अद्वितीय होती:

4 GB फाइल आकार मर्यादा पार केली गेली आहे: सैद्धांतिकदृष्ट्या मर्यादा 2^ बाइट्स (16 exabytes);

सुधारित वितरण मोकळी जागामोकळ्या जागेचा बिटमॅप सादर करून, ज्यामुळे डिस्कचे विखंडन कमी होते;

एका निर्देशिकेतील फायलींच्या संख्येवरील मर्यादा काढून टाकण्यात आली आहे;

प्रवेश अधिकारांच्या सूचीसाठी समर्थन जोडले.

ही फाइल सिस्टम फ्लॅश ड्राइव्हसाठी किती लवकर आदर्श होईल हे वेळ सांगेल. वरवर पाहता, हे त्यापूर्वी होणार नाही ऑपरेटिंग सिस्टमबहुसंख्य वापरकर्ते Windows 7 वर स्विच करतील.