מאת: שלמה חדד
2009 לאור התפתחות הטכנולוגיה במערכות הקלטה דיגיטאלית לשימוש מבצעי בשטח, נוצרו הדרישות בתעבורת מידע מהירה לאחסון, יחד עם החשיבות הרבה לעמידות ברעידות ותנאי סביבה קשים. דרישה אשר אינה מתיישבת עם האופן שבו בנויים דיסקים מגנטיים. למרות שנוסו כמה פתרונות הקשחה, לא היה בנמצא מענה מלא ואיכותי לבעיה, כך שכשלים בפתרונות אחסון מסוג זה הנם למרבה הצער דבר שכיח ואסור במערכות מבצעיות. בשוק אחסון המידע (להבדיל משוק מערכות משובצות מחשב) החלו להופיע פתרונות המבוססים על זיכרונות Flash, שיתרונם בתחום תנאי השטח ברור, בד בבד עם מהירות תעבורת המידע טובה יותר ביחס לדיסקים המגנטיים. רק לאחרונה החלו יצרנים לשווק מוצרי Flash שמהירות תעבורת המידע מגיעה ל 150MByte/sec ויותר. הדרישה לקצב תעבורת המידע לאחסון מגיע כיום לקצבים גבוהים הרבה יותר ואף מעבר ל 100MByte/sec. האם תעבורה של 150MByte/sec מספיקה למערכת הדורשת 100MByte/Sec. ? ובכלל – איך נגיע לפתרונות הרבה מעבר ל- 150MByte/Sec ? ומהם הבעיות בעבודה מול Flash Disk המבוסס על מדיית סיליקון מסוג NAND ? כאן נבחן הסוגיות ונעלה פתרונות שבעזרתם ניתן להתגבר על מחסומים אילו. מהירות המדיה –מדיית האחסון בפלש דיסקים (Flash Disk) המכונה באופן נפוץ: SSD המבוסס רכיבי Flash מסוג NAND יכולה להגיע, ע”פ מפרט היצרן, “למהירות מקסימום” של 150MByte/Sec ויותר. אולם ביצועי הדיסק תלוים לא פחות בבקר המדיה המפעיל כמה רכיבי פלש במקביל ו-“מפזר” את כתיבת/קריאת המידע על כל הרכיבים. עקב כך ללא תוספת מרכיבים למערכת או הפעלה “חכמה” למעגל לא מובטח כי נגיע למהירוית המוצהרות. למה כוונתו של היצרן בביטוי זה ” מהירויות מקסימום”: במקרים האופטימאליים של פעילות המחשב מול הפתרון תצליח להתבצע פעולת כתיבה/קריאה מול סט רכיבי הפלש אותם מפעיל הבקר המוטמע בפתרון רק אז נגיע למהירות זו. בשאר המיקרים נוכל להגיע למהירות הנמוכה לעיתים בכ-30% עד 60% מהמהירות המקסימאלית כיוון שבקר המדיה חייב בהתארגנות לקראת ביצוע הפעילות מול רכיבי הפלש ויתרה מכך – חייב לבצע אוסף של פעילויות “מבטיחות איכות במידע המאוחסן” לפני ביצוע כתיבה/קריאה לרכיבים. השפעת גודל בלוק הכתיבה – במידה ונעבוד בבלוקים (Data Blocks for each Write/Read session) קטנים (בד”כ קטנים מ- 1MB) נגיע למהירות עלובות עד כדי ירידה בת 90% בביצועים. כתיבה של בלוק מידע למקומות שונים (“כתובות/סקטורים”) מורידה את המהירות אבל כאן לטובתינו ירידת המהירות הינה מצומצמת ומשקלה קטן בסה”כ הביצועים. פן נוסף לענין ביצועי הפתרון – הזמן שחלף מרגע פעילות הכתיבה הראשונה למדייה והזמן שלאחרי: לא נראה כי קיים קשר מתי מתחילים לעבוד עם המדייה ובין הביצועים. לא כך הדבר, ביצועי המדייה במהירויות הגבוהות תלויי תזמון זה. תכנון נכון של פעילויות הכתיבה למדיית הפלש ביחס לתחילת הפעילות יכולה לגרום לשיפור הביצועים. מצב מוזר זה מתקבל עקב ניהול ארגון הכתיבה למדייה ע”י הבקר ו-“למידת אופי הפעילות” ומכאן הפעלת מנגנוני Pre-Fetch (גם לכתיבה !) ועיבוד הבלוק לכתיבה. עיבוד זה כולל, במידת הנדרש, הכנת משטח האכסון לקליטת המידע. הכנה זו מתבטאת בין היתר בהחלפת סיסיות פלש שגויות או סיביות שנדרש להחליפן באחרות (Swapping) או בסיביות רזרביות. כמעט אחרון וכמעט לא ידוע – “סיביות רזרבה” (Reserved Flash Space) – הכוונה למשטח מדיית פלש השמור לצורכי החלפה עבור סיביות ש-“התקלקלו” או ש-“דעכו” במהלך העבודה. לכל ידוע כי שתי הטכנולוגיות השולטות היום ברכיבי הפלש הינם: MLC ו- SLC. האחרונים הינם בעלי אורך חיי כתיבה של 100,000 מחזורים והראשונים “מחזיקים” כ-10,000 מחזורים. (מחזורי קריאה אינם נספרים ואינם מוגבלים). מילה אחת לגבי שתי טכנולוגיות אילו: רכיבי SLC NAND Flash הינם בעלי אורך חיי כתיבה פי 10 מרכיבי MLC NAND Flash כיוון שכל תא ברכיב SLC מנוצל לשמירת סיבית אחת בלבד לעומת ארבע סיביות ברכיבי MLC. לא נרחיב במאמר זה לגבי הבדלים נוספים הקיימים בין שתי סוגי הטכנולוגיות. ומה לעינינינו – יצרן הפתרון “שומר בצד” כמות של כמה אחוזי נפח מסה”כ המדייה לטובה החלפת סיביות שסיימו את אורך חייהם או ש-“התקלקלו” במהל העבודה. רמת הרזרבה הנשמרת משפיעה גם על מהירויות הפתרון כך שנדרשות פחות החלפות בזמן פעולה ומכאן “פחות התארגנות” של יחידת הבקרה של רכיבי הפלש. השימוש באחת הטכנולוגיות קובע את ביצועיו וגם את אורך חיי הפתרון – הפתרונות הזולים הקיימים בשוק במכוונים לדיסקים ניידים, למחשבים ניידים, ל-Disk On Key / DOK בנויים בעיקר מרכיבי MLC העולים פחות משליש לעומת רכיבי SLC ומציגים מהירויות נמוכות יותר ואורך חיים הרבה יותר מצומצם לעומת פתרונות עם רכיבי SLC. לנושא המהירויות – בנוסף לכך שפלש דיסק המבוסס רכיבי MLC יגיע למהירויות נמוכות יותר בכ-25% לעומת חברו היקר, גם אורך חיי פעילותו יהיה הרבה יותר קצר. השימוש בפלש דיסקים אילו מתאים לשוק הניידים הנזכר. עקומת ירידה במהיות הפלש דיסק – משמעות נוספת הינה שבשימוש בפתרון המבוסס רכיבי MLC תהיה עקומה תלולה יותר של ירידה בביצועים לאורך חיי הפעילות של הפתרון לעומת פתרון מבוסס SLC. גם באחרון נראה עקומה כזו אך הינה הרבה יותר רחוקה ובעלת תלילות קלה. כמעט ושכחנו – “מאגר זכרון חוצץ” – RAM Memory Buffer – על מנת לשפר את ביצועי הפתרון, מוסיפים בחלק מהדגמים גם בלוק זה המהווה Buffer למידע המגיע (או היוצא) מבלוק הפלשים בדרך למחשב המחובר לפלש דיסק. בדרך זו מגבירים את מהירות העבודה עבור אופן Burst. קיום ה-Buffer וגודלו ייקבעו בבירור את מהירויות ה-Burst של הפתרון. גדלים נפוצים של RAM זה הם: 32/64MByte. קיומו יכל להביא לביצועים של 250MByte/Sec. לפתרון בעל ממשק SATA2. לסיכום – בחנו את בסיס הגדרת המהירות המתקבלות ע”י פלש דיסק ואת הפרמטרים המשמעותיים בתכולת הפתרון. גם מספר הקסם של היצרן המגדיר “ביצועי מקסימום” מותנה לא רק בפעילות נכונה ואפטימאלית מול פתרון המוצר המוצע אלא גם נבין כי פרמטרים אילו של היצרן מותנים לא רק באופי/צורת הפעילות מול הפתרון אלא גם בהבנתינו לגבי “שמות הפרמטרים” המופיעים בדף הנתונים. מושגים כמו: Sustain rate או Burst Rate או הנחות יצרן כי גודל הבלוקים הינו אופטימאלי חשובים ביותר בתכנון המערכת שלנו ובהשגת יעדי המהירות לאורך כל חיי המערכת. במאמרים הבאים נבחין בטכנולוגיות להגברת מהירויות הפתרון כאשר אנו שולטים במרכיבי המערכת החיצונית לפלש וכולל התייחסות לחומרת המחשב, בקר SATA, קושחה ומערכת ההפעלה. נבחן גם את תנאי הסביבה כולל טמפרטורה, אעידות, שוק, EMI/RFI, אדמות (אויי…שכחנו וכמה כואב…), הולכת חום (אין מאווררים בסביבה…), עמידות בגובה/מליחות/כמיקלים ועוד גורמים לא רצויים אך מצויים.
Asine Ltd – by: Shlomo Haddad Asine Ltd, Asine Group – All Rights reserved