זיכרון ליבה מגנטית

זיכרון ליבה מגנטית (באנגלית: Magnetic Core Memory), נקרא גם "זיכרון ליבה מגנטי" ו"זיכרון ליבה" הוא טכנולוגיה של זיכרון גישה אקראית שפותחה סמוך לראשית תקופת המחשוב, בשנות ה-50 של המאה ה-20, והייתה טכנולוגיית הזיכרון העיקרית, כמעט היחידה, עד שהוחלפה בהדרגה, במהלך שנות ה-70, על ידי טכנולוגיות מבוססות על מוליכים למחצה.

לזיכרון הליבה יתרונות רבים על טכנולוגיות הזיכרון שקדמו לו, ואלו נעלמו למעשה זמן קצר אחר הגעתו. עובדת היותו זיכרון גישה אקראית, וצפיפותו היחסית אפשרה לבנות מחשבים מהירים ובעלי נפח זיכרון גדול בהרבה מהקודמים להם, וקשה לתאר את ההתקדמות שהובילה מהאניאק למחשבי על, או למחשב האישי, בלעדיו.

בשנים בהם אפילו הכינוי "זיכרון ליבה" נשמר לתיאור מדויק, והמונח היה פשוט "זיכרון", צמחה הצפיפות, ואתה נפח הזיכרון הכללי של מחשבים, בכמה סדרי גודל. במקביל, מחירה של סיבית זיכרון ירד מכדולר אחד של 1955, לכדי סנט של 1970, או בערך שניים וחצי סדרי גודל. מהירות הזיכרון גדלה במידה צנועה הרבה יותר, ובדרך כלל, מהירות הזיכרון לא שונה בצורה משמעותית בין תחילת שנות ה-60, לדור האחרון שיוצר.

הזיכרון בנוי ממערך של טבעות פריט, בצורת טורואידים, דרכן מושחלים תיילים מוליכי זרם חשמלי. הגדלת הצפיפות דרשה טבעות קטנות יותר ויותר, המסודרות במערכים צפופים יותר ויותר. במקביל, גם התיילים המושחלים בהן צריכים לרזות, ותהליך הייצור הופך מסובך ומורכב. למרות ניסיונות בלתי פוסקים למיכון ואוטומציה, תהליך ייצור זיכרון ליבה נשאר ידני ברובו, עובדה שהציבה מחסום בפני המשך המזעור.

המחשב הראשון שצויד בזיכרון ליבה היה ה-, שפותח במכון הטכנולוגי של מסצ'וסטס ב-1951. בנוסף למחשבים שימש זיכרון ליבה במתקנים נוספים, וביניהם טלפוניה, בקרה תעשייתית, מכונות חישוב, ואף מתקני ג'וקבוקס.

זיכרונות מוליכים למחצה היו ידועים, ובשימוש מוגבל מאמצע שנות ה-60, וכאשר "מחסום המחיר" נפרץ, ומחירה של סיבית זיכרון כזה השתוותה למחיר סיבית זיכרון ליבה, ימיו של זיכרון הליבה היו ספורים. בדרך כלל מציינים את שבב זיכרון של אינטל 1103, שהוצג ב-1970, בנפח של 1,024 סיביות (שווה ל-128 בתים במינוח המקובל), כ"פריצת המחסום" הזו. במהלך שנות ה-70 המשיכה ירידת מחירו של זיכרון מוליכים למחצה, במקביל לעלייה בצפיפותו, וכל המחשבים החדשים שתוכננו השתמשו בו, וזיכרון ליבה נשאר נחלתם של מחשבים קיימים, או לכל היותר ייצור מחשבים מדגמים ישנים.

כיום ניתן למצוא זיכרון ליבה במוזיאונים, כתצוגה או במחשבים ישנים, חלקם עדיין פועלים ומשמשים להדגמות.

היסטוריה

רקע 
עיקרון ההיסטרזיס המגנטי הוא הבסיס עליו מבוססת מדיה מגנטית מכל הסוגים. השימוש הראשון במדיה מגנטית כבסיס לזיכרון מחשב היה תוף מגנטי: גליל שפניו עשויות משכבה של חומר פרומגנטי, ושורה של ראשי קריאה-כתיבה לאורכו. הגליל מסתובב במהירות, ובכל רגע נתון מגיעה "משבצת" שונה מול כל אחד מהראשים, כאשר כל משבצת כזו מייצגת סיבית אחת, שערכה 1 או 0 לפי כיוון המיגנוט.

כמה מהמחשבים הניסיוניים הראשונים, והמחשב הראשון שיוצר בייצור סדרתי, IBM 650, השתמשו בתוף מגנטי כטכנולוגיית הזיכרון, וזו הייתה טכנולוגיה מובילה עד הגעת זיכרון הליבה. טכנולוגיות זיכרון נוספות היו שפופרת ויליאמס  המבוססות על עיקרון הפוספורסצנציה, וקווים משהים  שמשתמשים בעקרונות אקוסטיים.

הזיכרונות הללו הם טוריים: כדי לקרוא או לכתוב לסיבית מסוימת יש להמתין עד שהסיבית המתאימה תגיע את מול הראש הקורא/כותב, או עד שתגיע למוצא הקו המשהה, דבר המגביל את מהירותם. האטי ביניהם הוא התוף המגנטי, ולעומתו סובלות הטכנולוגיות האחרות מבעיות אמינות.

זיכרון ליבה 
ב-1947 הוגש לרישום הפטנט הראשון שעושה שימוש בטבעות ליבה מגנטית לזיכרון. פטנט זה לא היה מוכר לממציאים הבאים, והשפעתו הייתה קטנה.

ב-1949 רשם אן ואג  פטנט לזיכרון ליבה שהציג לראשונה "כתיבה אחרי קריאה", ופתר את בעיית הקריאה ההרסנית.

ב-1951 רשם ג'יי פורסטר  מהמכון הטכנולוגי של מסצ'וסטס פטנט שהציג "זרמים מתוזמנים", ובכך פתח את הדרך למימוש זיכרון גישה אקראית בעזרת זיכרון ליבה. המחשב הראשון שהשתמש בזיכרון כזה היה Whirlwind I, ב-1951. זמן קצר אחר כך הציעה IBM זיכרון ליבה כציוד היקפי למחשב IBM 702, ולאחר מכן את IBM 704, בו זיכרון ליבה היה רכיב הזיכרון הראשי. החל מסוף שנות ה-50, דחק זיכרון הליבה את רגלי כל סוגי הזיכרון האחרים, ושלט בכיפה.

חברת IBM רכשהב-1956 את הזכויות לפטנט של ואנג בחצי מיליון דולר, ששימשו הון הייסוד של חברת "מעבדות ואנג", חברה שהגיעה בשנות ה-80 להיקף עסקי של מיליארדי דולרים. אחרי מאבק משפטי ממושך מול MIT רכשה החברה ב-1964 זכויות גם לפטנט של פורסטר, תמורת 13 מיליון דולר, הסכום הגבוה ביותר ששולם עד אז תמורת זכויות שימוש בפטנט.

ציטוט מוכר של פורסטר הוא "לקח לנו שבע שנים לשכנע את התעשייה שזיכרון ליבה הוא הפתרון הנכון, ושבע שנים נוספות לשכנע אותם שזה לא היה רעיון שלהם".

במהלך שנות ה-60, "זיכרון ליבה" ו"זיכרון" היו כמעט שמות נרדפים לזיכרון מחשב, ובמהלך העשור חלה ירידה מתמדת במחיר סיבית זיכרון, מכדולר אחד לקראת סוף העשור הקודם, עד כדי סנט יחיד בסוף העשור. במקביל, חלה עליה בצפיפות הזיכרון. צפיפות זיכרון אפייני לזיכרון ליבה היא כ-900 סיביות מידע לליטר, או כ-32,000 סיביות מידע לרגל מעוקב.

חברות רבות ייצרו זיכרונות ליבה, חלקן בתוספת שיפורים ושכלולים שונים, שנוספו במהלך הזמן, בעיקר במעגלים האלקטרוניים שמפעילים את הזיכרון. בתחילת שנות ה-70, היה נפח הייצור השנתי של חברת IBM כ-20 מיליארד ליבות, כלומר נפח ייצור שנתי של קצת פחות משלושה גיגהבייט זיכרון. חברת DEC ייצרה בגרסה משלה כ-30 מיליארד ליבות בשנה - בערך ארבעה גיגהבייט.

הגדלת הצפיפות משמעה טבעות קטנות יותר ויותר, מה שמציב אתגר בייצור. למרות ניסיונות בלתי פוסקים למיכון ואוטומציה של הייצור, נשאר זה רובו ככולו ידני, ובוצע על ידי פועלים, רובם ככולם נשים, שנעזרו במיקרוסקופים כדי להשחיל בטבעות הזעירות תיילים זעירים עוד יותר. זיכרון ליבה שתוכנן ונבנה כהלכה הוא אמין ביותר, ופועל ללא תקלות וללא טעויות שנים רבות.

 
זיכרונות המבוססים על מוליכים למחצה החלו להופיע באמצע שנות ה-60. זיכרונות אלו היו מהירים יותר, אך לא יכלו להתחרות במחירו של זיכרון ליבה, והשימוש בהן הוגבל ליישומים שונים, אך לא כרכיב הזיכרון העיקרי של מחשבים. חוק מור בישר את ההמשך, או הסוף מנקודת מבטו של זיכרון הליבה, וכמעט בדיוק כצפוי, הסף של סנט אחד לסיבית זיכרון נחצה על ידי זיכרונות מוליכים למחצה ב-1971, כאשר אינטל הציגה רכיב זיכרון דינמי בן 1024 סיביות, 1103 במחיר סנט לסיבית. המציאות המשיכה "לציית" לחוק מור, ותוך זמן לא רב צנח מחירה של סיבית זיכרון לעשירית, מאית, ואלפית סנט. אם בראשית שנות ה-70 זיכרון הליבה מלך בכיפה, הרי שעד סופן הפך לזן נכחד, וייצורו למעשה פסק.

תיאור 
העיקרון הפיזיקלי עליו מבוסס זיכרון הליבה היא תופעת ההיסטרזיס המגנטי. משמעות התופעה היא שניתן "למגנט" חומרים מסוימים המכונים חומרים פרומגנטיים. באופן שהם שומרים על המיגנוט, ובפרט, כיוון המיגנוט, ובמילים אחרות, "זוכרים" אותו. התקנים שמשתמשים בעיקרון זה כדי לאחסן מידע מכונים מדיה מגנטית, וכוללים סרטי הקלטה לאודיו ווידאו, ודיסק קשיח.

מספר מימושים שונים להתקני זיכרון המבוססים על ליבה מגנטית פותחו. התיאור להלן הוא של המימוש הנפוץ ביותר.

המרכיב המרכזי בזיכרון הליבה הן טבעות, שמהוות ליבות של שנאים זעירים, ומעניקות לזיכרון את שמו. הטבעות מתוארות בדרך כלל כטורואידים, אם כי בפועל הן יכולות להיות בצורה מעט שונה, בדרך כלל טבעת גלילית ("שייבה"). הטבעות עשויות מחומר פרומגנטי, בדרך כלל פריט. טבעת הממוגנטת בכיוון אחד, למשל "עם כיוון השעון", מייצגת 0, וטבעת הממוגנטת בכיוון הפוך מייצגת 1. תיילים העוברים בליבה משמשים כ"סליל הראשוני" או ה"סליל המשני" של השנאי. זרם חשמלי בתיילים שעוברים בליבה משרה בה מיגנוט עם כיוון השעון או כנגדו, לפי כיוון הזרם, והטבעת נשארת ממוגנטת בכיוון זה, וכך "זוכרת" את הערך שנכתב, 0 או 1.

הטבעות עשויות פריט . הפריט הוא חומר קרמי מבודד, שמרכיב עיקרי בו היא תחמוצת ברזל, שבזכותה הוא חומר פרומגנטי, כלומר תופעת החשל המגנטי, או היסטרזיס, חלה בו. היותו מבדד חשובה משום שבליבות שנאים מתפתחים זרמי ערבולת , שגורמים לאבדן אנרגיה והתחממות, תופעה שהשפעתה גוברת עם עליית התדירות. ליבה מחומר מבודד מונעת זרמים אלו כמעט לחלוטין, ומתאימה לשנאים שפועלים בתדרים גבוהים. הפריט אינו מחליד, משום שמרכיב הברזל שבו כבר מחומצן, בדומה לתחמוצות הברזל שמשמשות במדיה מגנטית אחרת, כמו סרטים ודיסקים מגנטיים.

תיל נוסף משמש הסליל המשני של השנאי, וכאשר כיוון המגנוט משתנה, מושרה בתיל זה זרם חשמלי. כדי לקרוא את תוכן הסיבית, נכתב אליה ערך ידוע, בדרך כלל 0. טבעת, או סיבית, שהכילה 0 לא משנה את כיוון המיגנוט שלה, ולכן לא משרה זרם בתיל הקריאה, בעוד שבטבעת שהכילה 1 משתנה הכיוון ומושרה זרם.

משמעות הדבר היא שבזיכרון ליבה, הקריאה היא פעולה הרסנית, ואחרי כל מחזור קריאה יש לבצע מחזור כתיבה, כדי להחזיר את הערך הנכון לסיבית. שיטה זו מכונה "כתיבה אחרי קריאה".

זיכרון גישה אקראית, וזרמים מתוזמנים 
כדי לממש זיכרון גישה אקראית, נעשה שימוש בשני תיילים במקום בתיל יחיד לכתיבה, באופן שרק כאשר עובר זרם חשמלי בשני התיילים באותו הזמן, נוצר שדה חזק מספיק להפוך את כיוון המיגנוט, אך זרם באחד מהם, לא משרה שדה מספיק לשם כך.

הטבעות מסודרות במערך סריג, ותיילים חשמליים דקים מושחלים בהן, באופן שבכל טור ובכל שורה עובר תיל שונה. תיילים אלו נקראים X ו-Y, כך ש-X3 עובר בטבעות בשורה 3, ו-Y4 באלו של טור 4. להבהרה, במערך זיכרון בן 64 סיביות, יש שמונה שורות ושמונה טורי טבעות - X1 עד X8 ו-Y1 עד Y8 בסימון המקובל.

בכל אחת מהטבעות עובר תיל של "טור", ותיל של "שורה" המתאימים למיקומה בסריג, או ה"כתובת" שלה. תיילים אלו משמשים לכתיבה. כדי לכתוב 1 בסיבית מסוימת, למשל הסיבית בטור השלישי ובשורה הרביעית, יוזרם ברגע מסוים זרם בכיוון 0 בתיילים Y3 ו-X4. הטבעות בטור 3, ואלושבשורה 4, אך לא בשניהם, לא ישנו את כיוון המיגנוט שלהן, משום שהזרם שעובר בתיל יחיד לא משרה שדה מגנטי חזק מספיק לשם כך. רק בטבעת שנמצאת בשניהם עוברים שני תיילים "חיים", והשדה המגנטי המושרה חזק מספיק כדי להפוך את כיוון המיגנוט ל 0, גם אם קודם לכן הכילה 1. כדי לכתוב 1, יוזרם בשני התיילים זרם בכיוון הפוך. באופן זה ניתן לכתוב במחזור כתיבה אחד ערך כלשהו לליבה, או סיבית, אחת.

תיל נוסף, שמהווה את הסליל המשני של השנאי, ומשמש לקריאה, מושחל בכל הטבעות במערך, ו"מתפתל" משורה לשורה או מטור לטור. כאשר כותבים לזיכרון ערך מסוים, יושרה בתיל זה זרם אם הכתיבה הפכה את כיוון המיגנוט, כלומר הערך שנכתב שונה מערך הסיבית הקיים. כאשר הערך שנכתב הוא ערך הסיבית הנוכחי כיוון המיגנוט נותר בעינו, ולא מושרה זרם. בדיקה של הזרם בתיל הקריאה, בצירוף הידיעה איזה ערך נכתב, מלמדת מה היה ערך הסיבית לפני הכתיבה.

כדי לקרוא ערך מזיכרון ליבה כותבים לסיבית המתאימה ערך ידוע, בדרך כלל 0, ובוחנים את הזרם בתיל הקריאה. משמעות הדבר היא שהקריאה היא "הרסנית", ובזיכרון ליבה, אחרי כל מחזור קריאה דואג המעגל האלקטרוני שמפעיל אותו לכתוב חזרה את הערך הנכון.

פעולת הכתיבה, מניחה שהתבצעה לפניה פעולת קריאה, וערך הסיבית הוא 0. הכתיבה מתבצעת על ידי הזרמת זרם בכיוון 1 בתיילים של הטור והשורה המתאימים. אם הערך שצריך להיכתב בסיבית זו הוא 0, מוזרם גם זרם בכיוון ההפוך בתיל רביעי, שמכונה inhibit, המושחל בכל טבעות המערך. בדומה לתיל הקריאה. זרם זה משרה שדה מגנטי בכיוון הפוך, ובכך מקטין את השדה הכללי, וערך הסיבית נשאר 0.

מחשבים משתמשים במילה, המורכבת ממספר סיביות, שאורכה משתנה ממחשב למחשב. מילה נשמרת בזיכרון ליבה באופן שכל סיבית בה נשמרת במערך אחר. המערכים מסודרים זה לצד זה, או זה מעל זה, והמעגל שמפעיל את הזיכרון כותב וקורא את הסיבית באותה "כתובת" בכל המערכים באותו זמן, ומאגד אותן למילה שלמה.

הספרות הבינאריות של המילה מיוצגות על ידי תילי הקריאה וה-inhibit, תיל לכל מערך, והכתובת בזיכרון מיוצגת על ידי תילי הכתיבה – תיל אחד לכל שורה ואחד לטור, המשותפים לכל המערכים, בעזרתם כותב המעגל האלקטרוני 0 או 1 לכל הליבות באותה כתובת בכל המערכים - ליבה אחת, או סיבית אחת בכל מערך. בפעולת קריאה מופיעה התוצאה בתילי הקריאה של המערכים, ובפעולת כתיבה מופעלים תילי ה-inhibit של המערכים שמתאימים לסיביות שערכן במילה הנכתבת הוא 0.

מחזור העבודה הבסיסי של הזיכרון זהה בכתיבה ובקריאה, ומורכב משני מחזורי פעולה: במחזור הראשון כותבים לכל הסיביות 0, כשהערך מופיע בתילי הקריאה, ולאחר מכן כך כותבים לכולן 1, תוך הפעלת inhibit עבור הסיביות שערכן 0. ההבדל היחיד הוא הערך הנכתב: בפעולת קריאה, הערך הנכתב הוא אותו ערך שנקרא במחזור הפעולה הראשון, ובפעולת כתיבה הערך הנכתב הוא זה שהתקבל מהמחשב.

זיכרון הליבה עצמו הוא רכיב פסיבי, ומופעל על ידי מעגל חשמלי, שאחראי לביצוע הפעולות, ולממשק בין הזיכרון למחשב. המעגלים בזיכרונות הראשונים השתמשו בשפופרות, ובהמשך בטרנזיסטורים, ואחריהם מעגלים משולבים.

ייצור 
זיכרון הליבה בנוי מסדרת משטחים המונחים זה מעל זה או זה לצד זה, ומהווים גוף תלת־ממדי בצורת קובייה. נהוג לציין את צפיפות הזיכרון ב"סיביות לרגל מעוקב" או "סיביות לליטר". כמעט בלתי אפשרי לתקן תקלה בסיבית יחידה, ותקלה כזו מחייבת החלפת סריג, או "משטח" שלם. החיסרון הזה הוא כמעט תאורטי - תקלות בזיכרון הליבה עצמו, שהוא רכיב פסיבי, כמעט לא מופיעות: שגיאות בחיווט מתגלות בייצור, ואין, למעשה כל תקלות אחרות. לעומת הזיכרון עצמו, במעגלים האלקטרוניים שמפעילים אותו יכולות להיווצר שגיאות ותקלות. הפעלת הזיכרון דורשת תזמון ואות ברמת דיוק מסוימת, והרכיבים האקטיביים - מעגלי הבקרה ומעגלי ההגבר, אמינים פחות מהזיכרון עצמו.

בתחילת הדרך, הטבעות היו בקוטר אפייני של כ-2 מילימטר, והמעגלים היו מבוססי שפופרות. ההתקדמות מדור לדור התבטאה בהקטנת הטבעות, ובמעבר משפופרות לטרנזיסטורים ואחר כך למעגלים משולבים במעגל האלקטרוני שמפעיל את הזיכרון. מספר פיתוחים נוספו, ביניהם המעבר למסלול יחיד עבור תיל הקריאה וה-inhibit, ומאוחר יותר שימוש בתיל יחיד שמשמש בשני התפקידים.

לשימוש בטבעות קטנות יותר יש שני יתרונות: הגדלת הצפיפות, והקטנת הזרם הדרוש ולכן ההספק הדרוש להיפוך המיגנוט בליבה, שפרופורציוני למסתה. הקטנת הליבה מאפשרת לצופף הן את שורות הסריג והן את טוריו, והגידול בצפיפות הזיכרון פרופורציונית לריבוע ההקטנה. המרחק בין הסריגים מושפע מגורמים אחרים, ולהקטנת הליבה אין השפעה ממשית עליו. הקטנת ההספק מאפשרת הקטנת המעגלים שמפעילים את הזיכרון, ושיפור אמינותם.

ליבות קטנות, והצורך להשחיל בהן את התיילים מציבות אתגר בפני תהליך הייצור, אתגר שנעשה קשה ככל שהטבעות ממשיכות להתכווץ. ניסיונות למיכון הייצור נעשו באופן בלתי פוסק, במשך כל השנים בהם יוצרו זיכרונות ליבה. אחת השיטות השתמשה במחט חלולה להשחלה, ובעזרתה ניתן למכן את חיווט טורי X ו-Y, אך לא את תילי הקריאה וה-inhinit, שצריכים להתפתל ולעבור בכל הטבעות בסריג. שיטה זו לא התאימה יותר ברגע שקוטר הטבעת לא אפשר שימוש במחט חלולה.

ייצור זכרונות הליבה נשאר עד יומו האחרון תהליך ידני ברובו, והסתמך על עובדים, בדרך כלל נשים, שנעזרו בעזרי הגדלה כדי להשחיל את התיילים בטבעות הזעירות. מחיר זיכרון הליבה ירד בהתמדה, מכ-$1 לסיבית באמצע שנות החמישים, לסנט אחד לסיבית בתחילת שנות ה-70 של המאה ה-20. יצרנים רבים פתחו מפעלי ייצור זיכרון במזרח אסיה, אליהם העבירו את רוב או כל הייצור, מפעלים שתרמו להתפתחות התשתית לתעשיית האלקטרוניקה במדינות אלו, תעשייה שבעשורים הבאים איימה על ההגמוניה של המערב, ובמקרים רבים נטלה אותו.

מימושים נוספים 
התיאור שלעיל מתאר את סוג זיכרון הליבה העיקרי. קיימים סוגים נוספים של זיכרון ליבה, ביניהם "זיכרון צמה": בשיטה זו מושחלת צמת תיילים דרך הליבות, כאשר כל תיל עובר דרך חלק מהליבות ו"מדלג" על אחרות. זיכרון זה הוא זיכרון קריאה בלבד, או ROM, כשהמידע מוטבע בו על ידי ההחלטה באילו טבעות עובר כל תיל. קיימים שימושים ומימושים נוספים לזיכרון ליבה מגנטית.

גלריה

קישורים חיצוניים

הערות שוליים 

זיכרון מחשב