דף הבית » איך ל » למה מוצק המדינה כוננים להאט כפי שאתה למלא אותם

    למה מוצק המדינה כוננים להאט כפי שאתה למלא אותם

    המדדים ברורים: כונני מצב מוצק מאטים בעת מילוים. מלא את כונן מצב מוצק שלך לקיבולת הקרובה וביצועי הכתיבה שלו יקטנו באופן דרמטי. הסיבה שקרים בדרך SSDs ו- NAND Flash אחסון עבודה.

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

    בלוקים ריקים ובלוקים מלאים

    כאשר אתה כותב קובץ לכונן מצב מוצק שלך, הוא מחפש בלוקים ריקים וממלא אותם. כתיבה לבלוק ריק היא פעולת הכתיבה המהירה ביותר האפשרית. זו הסיבה שמערכות הפעלה חדשות (Windows 7 ואילך) תומכות בתכונת ה- TRIM, אשר מוחקת באופן אוטומטי את נתוני הקובץ מכונן מצב מוצק מיד עם מחיקת הקובץ במערכת ההפעלה. זה עובד אחרת מ כוננים קשיחים מגנטיים, שבו חתיכות של קבצים שנמחקו לשבת על הכונן הקשיח.

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

    זיכרון פלאש NAND כותב נתונים ב 4 KB דפים בתוך 256 KB בלוקים. כדי להוסיף דפים נוספים לבלוק מלא חלקית, על כונן מצב מוצק למחוק את כל הבלוק לפני כתיבת הנתונים בחזרה אליו.

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

    TRIM אינו מאחד בלוקים מלאים חלקית

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

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

    Overprovisioning ואשפה אוסף

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

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

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

    עדותו של Benchmark

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

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

    הם גילו כי "הביצועים המינימליים משתפרים באופן משמעותי ברגע שאתה פוגע ב -25% שטח פנוי עבור הכוננים [הצרכנים]". ההמלצה הסופית שלהם היא כי אתה צריך "תוכנית על שימוש רק על 75% של הכונן שלך] קיבולת] אם אתה רוצה איזון טוב בין עקביות וביצועים ".


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

    אשראי תמונה: סדרן מוסיקה ב Wikimedia, Simon Wüllhorst על Flickr