EMMC EMMC ႏွင့္ပတ္သက္ၿပီး ေလ့လာစရာမ်ားမကုန္နိင္ေအာင္မ်ားၿပားလွပါသည္။ထုတ္လုပ္သည့္ကုမၸဏီမ်ားလဲမ်ားစြာရိွၿပီး၊အမ်ိဳးအ စားမ်ားလဲမ်ားစြာရိွသည့္အတြက္ ယၡဳပို ့ တြင္ SK Hynix အမ်ိဳးအစား eMMC တစ္မ်ိဳးအားေလ့လာမိသေလာက္ေဖာ္ၿပေပးလိုက္ပါသည္။အ နဲငယ္လြဲေခ်ာ္မွုရိွခဲ့ပါက ကြ်န္ေတာ့္ရဲ ့ ေလ့လာမွုအားနဲခ်က္ေႀကာင့္သာၿဖစ္ပါသည္။ EMMC တစ္လုံးတြင္နံပါတ္မ်ား မ်ားစြာေရးထားတာေတြ ့ ရမွာပါ။ ၎စာတစ္လုံးစီတြင္ အဓိပၸာယ္တစ္ခုစီရိွေနပါသည္။ထိုအခ်က္ အားသိရိွနိင္ရန္ ေအာက္ပါ Nand flash part numbering table ကိုေလ့လာႀကည့္ဖို ့ လိုပါသည္။ SK Hynix တံဆိပ္ေတြရဲ ့ ေရွ ့ ဆုံးစာလုံးမွာ ယၡင္ ေမာ္ဒယ္အနိမ့္ေတြမွာ HY စာလုံးၿဖင့္စေသာ္လည္းေနာက္ပိုင္း၀င္လာေသာ EMMC မ်ားတြင္ H ၿဖင့္သာစပါသည္။ ၎သည္ကုမၸဏီ၏အမွတ္တံဆိပ္ Hynix ကို ကိုယ္စားၿပဳပါသည္။ ဒုတိယစာလုံးသည္ Product Family name ၿဖစ္ပါသည္။ 2 ၿဖင့္စလ်င္ Flash product ၿဖစ္သည္။ အကယ္၍ 9 ၿဖင့္စလ်င္ LPDDR (SRAM) Product ၿဖစ္ပါသည္။ တတိယစာ လုံးသည္ Product Mode ကိုဆိုလိုၿခင္းၿဖစ္သည္။ ဥပမာ H26M64103EMR ဟုေရးထားေသာ EMMC တစ္လုံးတြင္ တတိယစာလုံး 6 သည္ Nand flash အမ်ိဳးအစားကိုရည္ညြန္းၿခင္းၿဖစ္သည္။ ၎တြင္ RAM ပါ၀င္ၿခင္းမရိွပဲ ROM သီးသန္ ့ အိုင္စီၿဖစ္ေႀကာင္းေဖာ္ၿပထားၿခင္း ၿဖစ္သည္။ ေအာက္ပါစာလုံးအားေလ့လာႀကည့္ပါ။ H9TP32A8JDAC ၎ EMMC ၏ ဒုတိယစာလုံးေနရာတြင္ 9 ဂဏန္းကိုေတြ ့ ရပါမည္။ ၎သည္ LPDDR (RAM) ပါ၀င္သည္ဟုဆို လိုၿခင္းၿဖစ္ပါသည္။ ထို ့ ေႀကာင့္ ၎ EMMC ကိုႀကည့္လ်င္ NAND4GB+ RAM1GB ပါ၀င္တာေတြ ့ ရပါမည္။ နံပါတ္ ၄ ေနရာသည္ေပးသြင္း ဗို ့ ကိုေဖာ္ၿပေသာေနရာၿဖစ္သည္။ H26M သည္ 3.3V ေပးသြင္းနိင္သည္။ နံပါတ္ ၅ ေနရာသည္ EMMC ၏ Density ကိုေဖာ္ၿပၿခင္းၿဖစ္သည္။ ROM ပမာဏအနဲအမ်ားကို ေဖာ္ၿပေပးၿခင္းၿဖစ္သည္။ ဥပမာအားၿဖင့္ H26M3=4GB. H26M4=8GB. H26M5=16GB. H26M6=32GB. H26M7=64GB. H26M8=128GB. H26T8=256GB. စသၿဖင့္ခြဲၿခားထားၿခင္းၿဖစ္ပါသည္။ နံပါတ္ ၆ ေနရာသည္ EMMC ၏ NAND CLASSIFICATION( FLASH Die )ပါ၀င္မွုကိုေဖာ္ၿပၿခင္းၿဖစ္သည္။ ဥပမာအားၿဖင့္ H26M31 =1 STACK. H26M52 =2 STACK. H26M6 =4 STACK. H26M7 =8 STACK. စသၿဖင့္ေဖာ္ၿပထားပါသည္။ Memory ပမာနနဲေသာ 4gb,8gb တို ့ တြင္ nand flash ကို တစ္ခုတည္းသာထည့္သြင္း တည္ေဆာက္ထားတတ္ၿပီး 16gb,32gb, etc. တို ့ တြင္ nand flash ကို အလႊာမ်ားခြဲကာ ထည့္သြင္းတည္ေဆာက္ထားႀကပါသည္။ထိုကဲ ့ သို ့ အလႊာပာ၀င္ဆက္သြယ္မွုပမာဏကို STACK ၿဖင့္ခြဲထားၿခင္းၿဖစ္သည္။ ROM ပမာဏမ်ားေလ SRACK မ်ားေလ Die မ်ားတစ္ခုႏွင့္တစ္ခု ဆက္သြယ္ထားေသာပတ္လမ္းမ်ားမ်ားလာေသာေႀကာင့္ အပူေပးမ်ားၿခင္း၊ ခ်ိတ္မ်ားရွင္းသည့္အခါ emmc ၏ အေပၚယံပတ္လမ္းမ်ားၿပတ္ ေတာက္ၿခင္းေႀကာင့္ ပ်က္စီးနိင္သၿဖင့္ပို၍ဂရုစိုက္ကိုင္တြင္သင့္ပါသည္။ ေအာက္ပါပုံတြင္ေလ့လာႀကည့္ပါ။ နံပါတ္ ၇ ေနရာသည္ emmc version ကိုေဖာ္ၿပေပးေသာအပိုင္းၿဖစ္သည္။ ဥပမာအားၿဖင့္ H26M31001 (001) သည္ MMC Version 4.41 ကိုရည္ညြန္းပါသည္။ ေအာက္ပါအတိုင္းေလ့လာနိင္ပါသည္။ H26M21001FPR = 4.41. H26M31002GPR =4.41. H26M31003GMR =4.5. H26M41103HPR =5.0. H26M52103FMR =5.0. H26M41204HPR =5.1. စသၿဖင့္ခြဲၿခားနိင္ပါသည္။ ေနာက္တစ္ခုကေတာ့ EMMC ရဲ ့ နံပါတ္ကိုႀကည့္ၿပီး BGA Type ကိုခြဲၿခားနိင္ပါသည္။ ေစ်းကြက္ထဲတြင္ အသုံးအမ်ားဆုံး EMMC (3) မ်ုိးေတြ ့ ရပါမည္။ ၎တို ့ မွာ BGA 162, BGA153, BGA221 တို ့ ၿဖစ္ႀကပါသည္။ ၎တို ့ အထဲတြင္ BGA 153သည္ ROM သီးသန္ ့ အ သုံးၿပဳထားေသာ EMMC အမ်ိဳးအစားၿဖစ္သည္။ ထို ့ ေႀကာင့္၎ EMMC ၏နံပါတ္ေပၚတြင္ 9 ဂဏန္းကိုေတြ ့ ရမည္မဟုတ္ပါ။ ဥပမာ H26M42003GMR = ROM8GB, BGA153. H26M54003EMR = ROM16GB, BGA153. H26M64103EMR = ROM32GB, BGA153. H26M78003BFR = ROM64GB, BGA153. စသၿဖင့္ BGA Type ႏွင့္ ROM တန္ဖိုးမ်ားအားခြဲၿခားနိင္ပါသည္။ အကယ္၍ နံပါတ္ေပၚတြင္ 9 ဂဏန္းပါ၀င္ပါက ROM +RAM ႏွစ္မ်ိဳးပါ၀င္ပါသည္။ BGA Type ကို JDAC/JTMC စလုံးၿဖင့္ထပ္မံခြဲထားပါသည္။ H9TP32A8JDAC =( NAND 4GB + LPDDR2, BGA162) (G625,G610,G615,honor 3c,Y600,G630,G730,Y511,Y520) အစရိွသည့္ ဖုန္းအမ်ားစုတြင္အသုံးၿပဳထားပါသည္။ H9TP32A8JDBC =( NAND4GB + LPDDR2, BGA162) (G6,G630,G730,Y625,Holly-U10 T00,) တို ့ တြင္ အသုံးၿပဳပါသည္။ H9TP32A4GDCC =( NANG4GB + LPDDR2, BGA162) (Y330,Y520,Y530,Y600,J110H,E612) တို ့ တြင္အသုံးၿပဳပါသည္။ H9TP18A8JDMC =( NAND16GB + LPDDR2, BGA162) ( 3C Lite,A5500,A3500) တို ့ တြင္အသုံးၿပဳႀကပါသည္။ H9TQ17ABJTMC =( NAND16GB +LPDDR3, BGA221) (P8 Lite,GR3,Desire 620,Xperia M4) တို ့ တြင္အသုံးၿပဳပါသည္။ H9TQ64A8GTMC =( NAND8GB+ LPDDR3, BGA221) (Y6, J200H, Desire 626G,GX1) တို ့ တြင္အသုံးၿပဳပါသည္။ H9TP65A8JDAC =( NAND 8GB + LPDDR2, BGA162) (G620S,A3300,Desire 700) တို ့ တြင္အသုံးၿပဳထားပါသည္။ ပထမဦးစြာ EMMC သို ့ ပါ၀ါေပးသြင္းရသည့္အပိုင္းအားေလ့လာႀကည့္ပါမည္။ BGA 153 EMMC သည္ ROM သီးသန္ ့ ပါ၀င္ေသာ EMMC ၿဖစ္သည့္အတြက္ ၎တြင္ Controller အပိုင္းႏွင့္ Flash Memory အပိုင္းႏွစ္ခုသာပါရိွပါသည္။ ထို ့ ေႀကာင့္ ဗို ့ အားေပးသြင္းေသာ လမ္းေႀကာင္းနွစ္ခုပါရိွပါမည္။ ၎တို ့ မွာ VCC,VCCQ တို ့ ၿဖစ္သည္။ VCC သည္ Flash Momery အတြက္ လိုအပ္ေသာ Power ေပးသြင္းသည့္အပိုင္းၿဖစ္သည္။ EMMC အမ်ိဳးအစားအလိုက္ 2.8V,3.0V,3.3V အစားစားေပးသြင္းႀကပါသည္။ VCCQ သည္ Controller အပိုင္းအတြက္ေပးသြင္းရေသာ ဗို ့ လမ္းေႀကာင္းၿဖစ္ပါသည္။ ၎ ဗို ့ အားမွာ 1.8V ၿဖစ္သည္။ ပုံတြင္ အနီေရာင္ၿဖင့္ၿပထားေသာ VDDI လမ္းေႀကာင္းမွာၿပင္ပရိွ Capacitor တစ္လုံးၿဖင့္ဆက္သြယ္ထားေသာအပိုင္းၿဖစ္ပါသည္။၎လမ္း ေႀကာင္းအား 9008 ၀င္လိုေသာအခါ Testpoint အၿဖစ္အသုံးၿပဳနိင္ပါသည္။ေအာက္ပါပုံတြင္ emmc ဗို ့ အားေပးပိုင္းကိုေဖာ္ၿပထားေသာ schematic diagram တစ္ခုအားေတြ ့ ရပါမည္။ EMMC တစ္လုံးအား အၿဖဳတ္အတတ္မလုပ္မီွ၎အားေပးသြင္းထားေသာ ဗို ့ လမ္းေႀကာင္းမ်ားပုံမွန္ေရာက္မေရာက္ဦးစြာစစ္ ေဆးရပါမည္။ဗို ့ ေပ်ာက္ေနပါကသက္ဆိုင္ရာလမ္းေႀကာင္းမ်ားစစ္ေဆးၿခင္း၊ DC to DC ေလးမ်ားစစ္ေဆးၿခင္းတို ့ ၿပဳလုပ္ရပါမည္။ဗို ့ မ်ားပုံ မွန္ေရာက္ၿပီဆိုလ်င္ EMMC တစ္လုံးအား CPU မွ ထိန္းခ်ဳပ္ထားေသာအပိုင္းကိုဆက္လက္ေလ့လာရပါမည္။ ၎အပိုင္းတြင္ Contr oller အပိုင္းတြင္ အဓိကဆက္သြယ္ထားေသာ data signal အုပ္စု(၃)ခုပါရိွပါသည္။ ၎တို ့ မွာ • MCC clock (CLK) • Command in / response out (CMD) • Data input / output (DAT) စသည္တို ့ ၿဖစ္ပါသည္။ေအာက္ပါပုံတြင္ေလ့လာနိင္ပါသည္။ ၎ပုံတြင္ အနီေရာင္ၿဖင့္ၿပထားေသာအပိုင္းသည္ Controller အပိုင္းႏွစ္ခုၿဖစ္ပါသည္။ Master Controller အပိုင္းသည္၊ CPU အတြင္းတည္ေဆာက္ထားၿပီး၊ Slave Controller အပိုင္းအား EMMC အတြင္းထည့္သြင္းတည္ေဆာက္ထားပါသည္။ ထိုအပိုင္းႏွစ္ခုသည္ CPU ႏွင့္ Flash Memory တို ့ အားခ်ိတ္ဆက္ေပးေသာ Interface (I/F) အပိုင္းၿဖစ္ပါသည္။ MCC clock အပိုင္းသည္ Data bus လမ္းေႀကာင္းမ်ားစီးဆင္းနိင္ေစရန္ အခ်ိန္ကိုက္ေပးသြင္းထားေသာ frequency တစ္ခုၿဖစ္ သည္။ ေနာက္ပိုင္း၀င္လာေသာ 5.0,5.1 version အၿမင့္ emmc မ်ားတြင္၊ Data bus width : 1bit(default), 4bits, 8bits - Data transfer rate: up to 400MB/s (HS400) - MMC I/F Clock frequency : 0~200MHz - MMC I/F Boot frequency : 0~52MHz ပမာဏကိုအသုံးၿပဳႀကပါသည္။ CMD သည္ Command လိုင္းၿဖစ္ၿပီး( Device Intialization) Nand Flash အားစစ္ေဆးၿခင္းႏွင့္ Command code မ်ားအားေရြ ့ ေၿပာင္းေပးၿခင္း ( Command Transfer) အပိုင္းပါ အလုပ္လုပ္ရေသာေႀကာင့္ Bidirectional channel အၿဖစ္သပ္မွတ္ႀကပါသည္။ Command has two operating modes: (1) Open-drain for initialization. (2) Push-pull for fast command transfer. DATA အုပ္စုသည္ အသြားအၿပန္လမ္းေႀကာင္း( ၈)ခုၿဖင့္ ဖြဲ ့ စည္းတည္ေဆာက္ထားပါသည္။ ၎ေဒတာလမ္း ေႀကာင္းမ်ားသည္ D0 ~D7 Bidirectional channel ၈ခုၿဖင့္ ေဒတာမ်ားကိုအသြားအၿပန္သယ္ေဆာင္ေပးပါသည္။ EMMC တစ္လုံးတြင္ NAND Flash အပိုင္းတြင္ partition မ်ားပိုင္းပိုင္းကာ CPU ႏွင့္ခ်ိတ္ဆက္အလုပ္လုပ္ႀကသည္။ ပုံမွန္အားၿဖင့္ EMMC တစ္လုံးအားေအာက္ပါအတိုင္း အပိုင္းမ်ားပိုင္းၿခားတတ္ပါသည္။ (1) Boot1. (2) Boot2. (3) RPMB. (4) User area. ဟူ၍အႀကမ္းအားၿဖင့္ (၄)ပိုင္းခြဲၿခားနိင္ပါသည္။ ၎တို ့ အထဲတြင္ User area အပိုင္းတြင္ အေထြေထြ အပိုင္းငယ္ေလးခု ထပ္မံပိုင္းၿခားထားပါသည္။ ၎တို ့ မွာေအာက္ပါအတိုင္းၿဖစ္ပါသည္။ GP1 GP2 GP3 GP4 ဟူ၍အပိုင္းငယ္ေလးပိုင္းရိွပါသည္။ တစ္ခါတစ္ရံ ေဆာ့၀ဲပိုင္းမ်ားမွားယြင္းမႈေႀကာင့္ L OGO လည္ေနၿခင္း၊ Flashtool ၿဖင့္ Fomat ရိုက္ထားၿခင္း၊ေဒတာအေရးခံၿပီး ပါ၀ါမတက္သည့္အခါ emmc အတြင္းရိွေဒတာမ်ားရွင္းလင္း၍ wri te pirtition setting တြင္အမွန္ၿခစ္ ေလးမ်ားအကုန္ေပးကာၿပန္ၿပင္ေပးနိင္ပါသည္။ ၿပီးလ်င္ flashtool ႏွင့္ၿပန္ေရးနိင္ပါသည္။ အထက္ပါပုံသည္ emmc အတြင္းအဓိကပိုင္းၿခားထားေသာ hardware partition ကိုေဖာ္ၿပထားပုံၿဖစ္ပါသည္။ ၎ partition မ်ား အတြင္း software code မ်ားအား sector မ်ားပိုင္းကာထည့္သြင္းထားၿခင္းၿဖစ္သည္။