Error-Correcting Code memory ဟုလည်းလူသိများသော ECC မှတ်ဉာဏ်တွင် ဒေတာများတွင် အမှားအယွင်းများကို ရှာဖွေပြီး ပြင်ပေးနိုင်စွမ်းရှိသည်။ စနစ်တည်ငြိမ်မှုနှင့် ဘေးကင်းမှုကို တိုးမြှင့်ရန်အတွက် ၎င်းကို အဆင့်မြင့် desktop ကွန်ပျူတာများ၊ ဆာဗာများနှင့် အလုပ်ရုံများတွင် အသုံးများသည်။
Memory သည် အီလက်ထရွန်နစ် ကိရိယာတစ်ခုဖြစ်ပြီး ၎င်း၏လုပ်ဆောင်မှုအတွင်း အမှားအယွင်းများ ဖြစ်ပေါ်နိုင်သည်။ မြင့်မားသောတည်ငြိမ်မှုလိုအပ်ချက်ရှိသောအသုံးပြုသူများအတွက်၊ မှတ်ဉာဏ်အမှားအယွင်းများသည်အရေးကြီးသောပြဿနာများကိုဖြစ်ပေါ်စေနိုင်သည်။ Memory error များကို hard error နှင့် soft error ဟူ၍ နှစ်မျိုးခွဲခြားနိုင်သည်။ ဟာ့ဒ်ဝဲပျက်စီးမှု သို့မဟုတ် ချို့ယွင်းချက်များကြောင့် ဟာ့ဒ်ဝဲအမှားအယွင်းများ ဖြစ်ပေါ်လာပြီး ဒေတာသည် တသမတ်တည်း မမှန်ပါ။ ဒီအမှားတွေကို ပြင်လို့မရပါဘူး။ အခြားတစ်ဖက်တွင်၊ မှတ်ဉာဏ်အနီးရှိ အီလက်ထရွန်းနစ်ဝင်ရောက်စွက်ဖက်မှုကဲ့သို့သော အကြောင်းရင်းများကြောင့် ပျော့ပျောင်းသောအမှားများသည် ကျပန်းဖြစ်ပေါ်ပြီး ပြုပြင်နိုင်သည်။
ပျော့ပျောင်းသောမှတ်ဉာဏ်အမှားများကို ရှာဖွေပြီး ပြင်ရန်၊ မှတ်ဉာဏ် "parity check" သဘောတရားကို မိတ်ဆက်ခဲ့သည်။ မမ်မိုရီရှိ အသေးငယ်ဆုံးယူနစ်သည် အနည်းငယ်ဖြစ်ပြီး 1 သို့မဟုတ် 0 ဖြင့် ကိုယ်စားပြုသည်။ ဆက်တိုက် ရှစ်ခုသည် ဘိုက်တစ်ခုဖြစ်သည်။ parity check မပါဘဲ Memory သည် byte တစ်ခုလျှင် 8 bits သာရှိပြီး မည်သည့် bit တွင် မှားယွင်းသောတန်ဖိုးကို သိမ်းဆည်းထားပါက ၎င်းသည် မှားယွင်းသောဒေတာနှင့် အပလီကေးရှင်းများပျက်ကွက်ခြင်းဆီသို့ ဦးတည်သွားစေနိုင်သည်။ Parity check သည် error-checking bit တစ်ခုအဖြစ် byte တစ်ခုစီသို့ အပိုဘစ်တစ်ခုကို ပေါင်းထည့်သည်။ ဒေတာကို ဘိုက်တစ်ခုတွင် သိမ်းဆည်းပြီးနောက်၊ ဘစ်ရှစ်ခုတွင် ပုံသေပုံစံတစ်ခုရှိသည်။ ဥပမာအားဖြင့်၊ bits သည် data များကို 1၊ 1၊ 1၊ 0၊ 0၊ 1၊ 0၊ 1 အဖြစ် သိမ်းဆည်းပါက၊ ဤဘစ်များ၏ ပေါင်းလဒ်သည် ထူးဆန်းသည် (1+1+1+0+0+1+0+1=5 ) ညီမျှခြင်းအတွက်၊ parity bit ကို 1 အဖြစ် သတ်မှတ်သည်။ မဟုတ်ရင် ဒါဟာ 0 ဖြစ်ပါတယ်။ CPU က သိမ်းဆည်းထားတဲ့ ဒေတာကို ဖတ်တဲ့အခါ ပထမ 8 bits တွေကို ပေါင်းထည့်ပြီး ရလဒ်ကို parity bit နဲ့ နှိုင်းယှဉ်ပါတယ်။ ဤလုပ်ငန်းစဉ်သည် မှတ်ဉာဏ်အမှားအယွင်းများကို သိရှိနိုင်သော်လည်း တူညီမှုစစ်ဆေးမှုသည် ၎င်းတို့ကို ပြုပြင်၍မရပါ။ ထို့အပြင်၊ နှစ်ဆဘစ်အမှားများ ဖြစ်နိုင်ခြေနည်းသော်လည်း၊ parity check သည် double-bit အမှားများကို ရှာဖွေတွေ့ရှိနိုင်မည်မဟုတ်ပေ။
အခြားတစ်ဖက်တွင် ECC (Error Checking and Correcting) memory သည် data bits များနှင့်အတူ ကုဒ်ဝှက်ထားသောကုဒ်တစ်ခုကို သိမ်းဆည်းထားသည်။ ဒေတာကို မှတ်ဉာဏ်ထဲသို့ ရေးမှတ်သောအခါ၊ သက်ဆိုင်ရာ ECC ကုဒ်ကို သိမ်းဆည်းသည်။ သိမ်းဆည်းထားသောဒေတာကို ပြန်လည်ဖတ်ရှုသည့်အခါ၊ သိမ်းဆည်းထားသော ECC ကုဒ်ကို အသစ်ထုတ်လုပ်ထားသော ECC ကုဒ်နှင့် နှိုင်းယှဉ်ပါသည်။ ၎င်းတို့နှင့် မကိုက်ညီပါက၊ ဒေတာရှိ မမှန်သောဘစ်များကို ခွဲခြားသတ်မှတ်ရန် ကုဒ်များကို ကုဒ်ဖြင့် ရေးထားသည်။ ထို့နောက် မှားယွင်းသောဘစ်ကို စွန့်ပစ်လိုက်ပြီး မမ်မိုရီထိန်းချုပ်ကိရိယာမှ မှန်ကန်သောဒေတာကို ထုတ်ပေးပါသည်။ ပြုပြင်ထားသော အချက်အလက်များသည် မှတ်ဉာဏ်ထဲသို့ ပြန်လည်ရေးသားခဲပါသည်။ တူညီသောမှားယွင်းသောဒေတာကို ထပ်မံဖတ်ရှုပါက၊ အမှားပြင်ဆင်ခြင်းလုပ်ငန်းစဉ်ကို ထပ်ခါတလဲလဲလုပ်ဆောင်သည်။ ဒေတာကို ပြန်လည်ရေးသားခြင်းက စွမ်းဆောင်ရည်ကို သိသာထင်ရှားစွာ ကျဆင်းသွားအောင် လုပ်ဆောင်ပေးနိုင်ပါတယ်။ သို့သော်လည်း ECC memory သည် error correction စွမ်းရည်များကို ပံ့ပိုးပေးသောကြောင့် ဆာဗာများနှင့် အလားတူအပလီကေးရှင်းများအတွက် အရေးကြီးပါသည်။ ၎င်း၏ ထပ်လောင်းအင်္ဂါရပ်များကြောင့် ECC မှတ်ဉာဏ်သည် ပုံမှန်မှတ်ဉာဏ်ထက် စျေးပိုကြီးသည်။
ECC Memory ကိုအသုံးပြုခြင်းသည် စနစ်စွမ်းဆောင်ရည်အပေါ် သိသာထင်ရှားသော သက်ရောက်မှုရှိသည်။ ၎င်းသည် အလုံးစုံစွမ်းဆောင်ရည်ကို လျှော့ချနိုင်သော်လည်း၊ အမှားပြင်ဆင်ခြင်းသည် အရေးကြီးသော အပလီကေးရှင်းများနှင့် ဆာဗာများအတွက် မရှိမဖြစ်လိုအပ်ပါသည်။ ရလဒ်အနေဖြင့် ECC memory သည် data integrity နှင့် system stability သည် အဓိကကျသော ပတ်ဝန်းကျင်တွင် ဘုံရွေးချယ်မှုတစ်ခုဖြစ်သည်။
တင်ချိန်- ဇူလိုင် ၁၉-၂၀၂၃