SSD - DRAM (Dynamic Random Access Memory)

SSD - DRAM (Dynamic Random Access Memory) 

    Law အတန်းက နားနေတော့ စာတွေလဲ ပြန်ရေးရမယ် နောက်ထပ် Forensic Software တွေလဲ Update လုပ်မယ် ဆိုပြီး SSD Upgrade လုပ်ဖို့ လိုက်ရှာရင်းနဲ့ SSD မှာ ပါတဲ့ DRAM အကြောင်းရေးဖြစ်တာပါ။ Facebook နဲ့ အခြား Social Platform တွေမှ DRAM အကြောင်း မြန်မာလိုရေးထားတာလဲ မရှိလို့ပါ။ ဈေးကွက်ထဲမှာ DRAM ပါတဲ့ SSD နဲ့ မပါတဲ့ SSD က ဈေးကွာသလိုရေရှည်အသုံးပြုနိုင်တာလဲ ကွာပါတယ်။ SSD (Solid-State Drive) ဆိုတာ Hard Disk Drive (HDD) ထက် အမြန်ဆုံး storage device ဖြစ်တယ်ဆိုတာ အများသိပြီးသားပါ။ ဒါပေမဲ့ SSD တွေထဲမှာတောင် အမျိုးအစား နှစ်မျိုးရှိပါတယ်။ DRAM SSD နဲ့ DRAM-less SSD တို့ပဲဖြစ်ပါတယ်။ 

 👉DRAM ဆိုတာဘာလဲ? DRAM (Dynamic Random Access Memory) ဆိုတာက SSD ထဲမှာပါဝင်တဲ့ cache memory ဖြစ်ပါတယ်။SSD က data တွေကို NAND flash ထဲမှာ သိမ်းပါတယ်။ DRAM (Dynamic Random Access Memory) ဆိုတာ SSD, GPU, PC Motherboard စတဲ့ hardware တွေမှာ အသုံးပြုတဲ့ memory chip (integrated circuit) တစ်ခုပဲဖြစ်ပါတယ်။ DRAM က data ကို အချိန်အတိုင်းအတာတစ်ခုအတွင်းသာ သိမ်းဆည်းနိုင်တဲ့ Temporary Memory ဖြစ်ပါတယ်။(Computer ပိတ်လိုက်တာနဲ့ memory ထဲက data ပျက်သွားပါတယ်။) DRAM chipset တွေကို SSD board ပေါ်မှာ solder လုပ်ထားတတ်ပါတယ်။ကိုယ်သုံးတဲ့ SSD Model ပေါ်မူတည်ပြီး 256 MB, 512 MB, 1 GB, 2 GB စတဲ့ Cache Size အမျိုးမျိုးရှိတတ်တယ်။ ဒါပေမဲ့ ဖိုင်တစ်ခုချင်းစီက ဘယ် NAND block မှာရှိတယ် သိမ်းထားတယ်ဆိုတာ သိဖို့ “Address Map” လိုအပ်ပါတယ်။ အဲဒီ Map ကို DRAM chip ထဲမှာ သိမ်းထားတာပဲဖြစ်ပါတယ်။ ဆိုလိုတာက DRAM ပါတဲ့ SSD တွေက "Address Map" "Index Table "ရှိနေတဲ့အတွက် ဖိုင်တွေကို Read လုပ်ရာမှာ ပိုမြန်ပါတယ်။

 👉 PC ကနေ “File A" ကိုဖွင့်မယ်ဆိုရင် 

 👉 SSD Controller ကနေပြီးတော့ အဲ့ဒီ File A က SSD Block Number ဘယ်လောက်က‌နေ ဘယ်လောက်အထိရှိတယ်ဆိုတာ DRAM ထဲက index map ထဲမှာကြည့်ပါတယ်။ 

 👉 ဥပမာ File A က SSD Block #125 မှာ ရှိတယ်ဆိုရင် Block Number #125 ထဲမှာ သိမ်းထားတဲ့ File A ကို User ဖတ်လို့ရအောင် SSD Controller ကနေ User ဆီကိုပြန်ပေးပါတယ်။ DRAM မရှိခဲ့ရင် Controller ကနေ NAND ထဲက index map ကို မကြာခဏလှမ်းဖတ်နေရလို့ speed နှေးတာ ဖြစ်တတ်ပါတယ်။

 👉SSD Power ON Process SSD Controller က system boot ဖြစ်တာနဲ့အတူ NAND flash ထဲက metadata / FTL Map / Block table ကိုဖတ်တယ်။အဲဒီ data တွေကို DRAM ထဲကို load ပြုလုပ်ပါတယ်။ 

 👉Operating Mode (Normal Operation) User ကနေ File A ကိုဖွင့်မယ်လို့တောင်းဆိုရင် Controller က DRAM ထဲက FTL Map ကို ကြည့်တယ်။ “အဲ့ဒီ Logical Address → NAND Block #125” ဆိုတာကိုသိပြီး NAND Flash ထဲက data ကို ချက်ချင်း Read ပြုလ်ုပါတယ်။ DRAM ရှိတာကြောင့် မြန်မြန် Read Write ပြု လုပ်နိုင်ပါတယ်။ 

 👉Power Off (Shutdown or Sudden Power loss) SSD ထဲက capacitor bank (Power-loss protection) ကနေ DRAM ထဲမှာရှိတဲ့ FTL Map / cache data ကို NAND Flash ထဲမှာပြန်သိမ်းပါတယ်။ 

 👉FTL (Flash Translation Layer) Map ဆိုတာဘာလဲ FTL Map ဆိုတာဟာ SSD Controller က logical address (OS မှ File system address) နဲ့ NAND flash ရဲ့ physical block address ကိုချိတ်ဆက်ပေးတဲ့ မြေပုံတစ်ခုပဲဖြစ်တယ်။ 

 OS: 👉“File A " ကို address 0x0034 မှာသိမ်းပါ”

 FTL Map:👉 “အဲ့ဒီ address 0x0034 ကို NAND block #125 မှာသိမ်းထားတယ်” ဆိုပြီးမှတ်လိုက်တာဖြစ်ပါတယ်။ တစ်ကယ်တန်း File A သိမ်းလိုက်တဲ့နေရာကို အလွယ် Block #125 လို့ပြောပေမဲ့ File Size အရ Block 1-100 စသည်ဖြင့်ရှိနိုင်ပါတယ်။ DRAM ထဲမှာ သိမ်းထားတာက FTL Map လို့ခေါ်တဲ့ (Flash Translation Layer) Map ဖြစ်ပါတယ်။



Comments

Popular posts from this blog

B-Trees (NTFS)

Mobile Forensics (Note-1)

NTFS Index Attributes