ECC հիշողության տեխնիկական վերլուծություն

ECC հիշողությունը, որը նաև հայտնի է որպես Սխալների ուղղման կոդի հիշողություն, ունի տվյալների մեջ սխալները հայտնաբերելու և ուղղելու հնարավորություն: Այն սովորաբար օգտագործվում է բարձրակարգ սեղանադիր համակարգիչներում, սերվերներում և աշխատատեղերում՝ համակարգի կայունությունն ու անվտանգությունը բարձրացնելու համար:

Հիշողությունը էլեկտրոնային սարք է, և դրա շահագործման ընթացքում կարող են սխալներ առաջանալ: Կայունության բարձր պահանջներ ունեցող օգտատերերի համար հիշողության սխալները կարող են հանգեցնել կրիտիկական խնդիրների: Հիշողության սխալները կարելի է դասակարգել երկու տեսակի՝ կոշտ սխալներ և փափուկ սխալներ: Կոշտ սխալները առաջանում են ապարատային վնասների կամ թերությունների հետևանքով, և տվյալները հետևողականորեն սխալ են: Այս սխալները չեն կարող ուղղվել: Մյուս կողմից, փափուկ սխալները պատահականորեն տեղի են ունենում հիշողության մոտ էլեկտրոնային միջամտության նման գործոնների պատճառով և կարող են ուղղվել:

Փափուկ հիշողության սխալները հայտնաբերելու և ուղղելու համար ներդրվեց հիշողության «պարիտետի ստուգում» հասկացությունը: Հիշողության ամենափոքր միավորը բիթն է, որը ներկայացված է կամ 1-ով կամ 0-ով: Ութ հաջորդական բիթերը կազմում են մեկ բայթ: Հիշողությունն առանց հավասարության ստուգման ունի ընդամենը 8 բիթ մեկ բայթի համար, և եթե որևէ բիթ պահում է սխալ արժեք, դա կարող է հանգեցնել սխալ տվյալների և հավելվածի ձախողումների: Պարիտետի ստուգումը յուրաքանչյուր բայթին ավելացնում է լրացուցիչ բիթ՝ որպես սխալի ստուգման բիթ: Տվյալները բայթում պահելուց հետո ութ բիթներն ունեն ֆիքսված օրինաչափություն: Օրինակ, եթե բիթերը տվյալները պահում են որպես 1, 1, 1, 0, 0, 1, 0, 1, ապա այս բիթերի գումարը կենտ է (1+1+1+0+0+1+0+1=5): ). Հավասարաչափության համար հավասարության բիթը սահմանվում է որպես 1; հակառակ դեպքում, դա 0 է: Երբ պրոցեսորը կարդում է պահված տվյալները, այն գումարում է առաջին 8 բիթերը և արդյունքը համեմատում հավասարության բիթերի հետ: Այս գործընթացը կարող է հայտնաբերել հիշողության սխալները, բայց հավասարության ստուգումը չի կարող ուղղել դրանք: Բացի այդ, հավասարության ստուգումը չի կարող հայտնաբերել կրկնակի բիթային սխալներ, թեև կրկնակի բիթ սխալների հավանականությունը փոքր է:

ECC (Error Checking and Correcting) հիշողությունը, մյուս կողմից, պահում է կոդավորված ծածկագիրը տվյալների բիթերի կողքին: Երբ տվյալները գրվում են հիշողության մեջ, պահպանվում է համապատասխան ECC կոդը: Պահված տվյալները հետ կարդալիս պահպանված ECC կոդը համեմատվում է նոր ստեղծված ECC կոդի հետ: Եթե ​​դրանք չեն համընկնում, ապա կոդերը վերծանվում են տվյալների մեջ սխալ բիթը հայտնաբերելու համար: Այնուհետև սխալ բիթը հանվում է, և հիշողության կարգավորիչը թողարկում է ճիշտ տվյալները: Ուղղված տվյալները հազվադեպ են հետ գրվում հիշողության մեջ: Եթե ​​նույն սխալ տվյալները նորից կարդացվեն, ուղղման գործընթացը կրկնվում է: Տվյալների վերագրանցումը կարող է ներմուծել վերին ծախսեր՝ հանգեցնելով կատարողականի նկատելի նվազմանը: Այնուամենայնիվ, ECC հիշողությունը շատ կարևոր է սերվերների և նմանատիպ հավելվածների համար, քանի որ այն ապահովում է սխալների ուղղման հնարավորություններ: ECC հիշողությունն ավելի թանկ է, քան սովորական հիշողությունը՝ իր լրացուցիչ հնարավորությունների շնորհիվ:

ECC հիշողության օգտագործումը կարող է զգալի ազդեցություն ունենալ համակարգի աշխատանքի վրա: Թեև դա կարող է նվազեցնել ընդհանուր կատարումը, սխալի ուղղումը կարևոր է կարևոր հավելվածների և սերվերների համար: Արդյունքում, ECC հիշողությունը սովորական ընտրություն է այնպիսի միջավայրերում, որտեղ տվյալների ամբողջականությունը և համակարգի կայունությունը առաջնային են:


Հրապարակման ժամանակը՝ հուլիս-19-2023