במחשב שלך, סביר להניח שיש שני סוגים של זיכרון בכיתה RAM. רק אחד מכונה זיכרון RAM: זיכרון המערכת או זיכרון RAM של המערכת. סוג זה של זיכרון RAM נקרא DRAM. בכיתה זו, ייתכן שיש לך גם כמה כונני SSD עם DRAM משולב. ה-VRAM בכרטיס גרפי הוא גם תת-קבוצה של DRAM. יהיה לך סוג אחר של זיכרון RAM על המעבד וה-GPU בפועל מתים בעצמם. SRAM משמש עבור מטמונים על המות.
SRAM מהיר. עם זאת, הוא אינו צפוף במיוחד במונחים של ג'יגה-בייט לסנטימטר רבוע, מה שגם תורם למחירו הגבוה. DRAM איטי יותר. עם זאת, יש לו צפיפות אחסון הרבה יותר גבוהה והוא הרבה יותר זול. מסיבה זו, SRAM משמש בכמויות קטנות על קוביות מעבד כזיכרון מהיר, ו-DRAM משמש עבור מאגרי זיכרון גדולים יותר כמו אלה שתוארו לעיל.
ההבחנה בין SRAM ל-DRAM ניכרת במבנה שלהם בפועל. SRAM משתמש בארבעה עד שישה טרנזיסטורים, בעוד ש-DRAM משתמש בטרנזיסטור בודד ובקבלים. כאן נכנסת לתמונה השוואת צפיפות האחסון. יש פשוט פחות חלקים ב-DRAM, מה שהופך כל תא זיכרון לקטן יותר.
להבדלי העיצוב יש השפעה נוספת, עם זאת, אחת גדולה מספיק כדי להיות גורם השמות הטיטולרי של השניים. ה-S ב-SRAM מייצג סטטי, ואילו ה-D ב-DRAM מייצג דינמי. זה מייצג ש-SRAM יכול לשמור על התוכן שלו ללא הגבלת זמן, בעוד ש-DRAM צריך להתרענן באופן קבוע.
הערה: זה בהנחה שקיים אספקת חשמל קבועה. SRAM הוא עדיין זיכרון הפכפך, ואם אבד החשמל, הוא יאבד את הנתונים שהוא מחזיק. בדיוק כמו DRAM.
מהו רענון זיכרון?
הארכיטקטורה ברמת המעגל של DRAM פירושה שהטעינה של תא זיכרון מתפוררת עם הזמן. יש לרענן כל תא זיכרון באופן קבוע כדי לאפשר ל-DRAM לאחסן נתונים לתקופות ארוכות. יש כמה דברים חיוניים לדעת על זה. הראשון הוא שלא ניתן לגשת לזיכרון בזמן רענון. זה גם אומר שניתן להגביל את הביצועים לפי התדירות שבה תאי DRAM זקוקים לרענון.
בדרך כלל, תאי DRAM מתרעננים כל 64 מילישניות, אם כי זה מצטמצם בחצי בטמפרטורות גבוהות. כל שורת תאים מתרעננת באופן עצמאי כדי למנוע את זה מלהתרחש בבת אחת, מה שגורם לשיהוק משמעותי כל 64 אלפיות השנייה.
בחוכמה, בקר הזיכרון גם מזמן מחזורי רענון כדי להתרחש בזמן שמודול ה-RAM עושה דברים אחרים שמונעים ממנו לקרוא או לכתוב זיכרון, כגון העברת נתוני קריאה. למרבה המזל, משך הזמן הדרוש לרענון תא קטן, בדרך כלל 75 או 120 ננו-שניות. המשמעות היא ששבב DRAM מבלה בערך 0.4% עד 5% מזמנו בביצוע פעולת רענון.
כיצד לרענן DRAM
מה שאולי לא ידעת על קריאת נתונים מ-DRAM הוא שזה הרסני. קריאת נתונים מתאי הזיכרון הורסת את הנתונים הללו. כדי להסתיר זאת מהמשתמש, כל פעולת קריאה קוראת ומשדרת את הנתונים וכותבת את אותם נתונים בחזרה לתא הזיכרון בפעולה הנקראת precharge. למרבה הצער, לא ניתן לסמוך על אירועי קריאה סטנדרטיים שיפגעו בכל שורת DRAM משומשת, ולכן יש צורך בפעולת רענון ספציפית.
פעולת הרענון אינה כה מורכבת. למעשה, מכיוון שהוא מבקש לרענן שורה שלמה בבת אחת, במקום לקרוא עמודה ספציפית בשורה, האות לרענון שורה גם הוא קטן ויעיל יותר. תהליך הרענון קורא את הנתונים לתוך מגברי החישה וישר חזרה לתוך התאים במקום למאגרי הפלט האיטיים יחסית.
כל זה קורה אוטומטית. בקר הזיכרון מנהל את הכל מבלי שהמעבד מודע לכך.
חריגים
טעינת DRAM אכן מתפוררת, אך מחקרים הראו שהקצב משתנה מאוד בין תאי DRAM, אפילו על שבב בודד. האחוז העליון בערך יוכל להחזיק את הנתונים שלהם עד 50 שניות מבלי להזדקק לרענון בטמפרטורות סטנדרטיות. 90% יכולים לאחסן נתונים למשך 10 שניות, 99% לשלוש שניות ו-99.9% לשנייה אחת.
למרבה הצער, יש לרענן כמה חריגים לעתים קרובות יותר. כדי לאפשר אפילו את התרחישים הגרועים ביותר, זמני הרענון של DRAM נמוכים. בחירה זו אמנם מבטיחה שאף נתונים לא יאבדו, אך היא גם משפיעה על צריכת החשמל והביצועים.
כמה חוקרים הציעו שיטות חלופיות לניתוח ושילוב של תאי RAM ומעדיפים להשתמש באלה עם זמני דעיכה טובים יותר. זה יוביל לשימוש משופר בחשמל, שימושי במיוחד במכשירים בעלי צריכת חשמל נמוכה. עם זאת, זה גם יוביל לרמות משתנות של ביצועי זיכרון RAM.
בנוסף, יהיה צורך לקחת בחשבון את השינוי בזמן ההתפרקות על סמך הטמפרטורה. גרוע מכך, חלק מהתאים פשוט מאבדים את ביצועי שמירת הטעינה מדי פעם, כלומר להסתמך על זה יותר מדי עלול לפעמים לגרום לכך שתא זיכרון טוב משוער יהיה רע, הדורש שילוב מחדש קבוע.
סיכום
מחזור הרענון הוא התהליך במודולי DRAM שבאמצעותו מתרעננים תאי הזיכרון. זה הכרחי מכיוון שעיצוב המעגל של DRAM גורם לדעיכה של טעינה. רענון קבוע של תאי זיכרון מונע אובדן נתונים. אין צורך לרענן את SRAM מכיוון שעיצוב המעגל שלו אינו גורם לניקוז טעינה.
הערה: מחזור רענון עשוי להתייחס גם לעדכון קבוע של חומרה של משתמש או ארגון.