ساختار هارد دیسکها
هارد دیسکها از اجزای مرکزی هر سیستم کامپیوتری هستند زیرا امکان ذخیرهسازی بلندمدت دادهها را فراهم میکنند. آنها سیستمعاملها، برنامهها و فایلهای شخصی را ذخیره میکنند. این جایی است که داده ها برای طولانی مدت ذخیره می شوند. به عنوان مثال می توان به هارد دیسک (HDD) یا درایو حالت جامد (SSD) اشاره کرد. ذخیره سازی، در زمینه رایانه ها، به دستگاه ها و رسانه هایی اطلاق می شود که برای ذخیره و نگهداری داده ها برای طولانی مدت استفاده می شود. برخلاف RAM که فرار است و با قطع برق محتوای خود را از دست می دهد، حافظه ذخیره سازی داده ها را حتی زمانی که کامپیوتر خاموش است حفظ می کند. دستگاه های ذخیره سازی برای نگهداری سیستم عامل، برنامه های کاربردی نرم افزاری، فایل های کاربر و سایر داده ها بسیار مهم هستند. در این فصل، ما ساختار هارد دیسکها را توضیح خواهیم داد، اجزای مختلف و وظایف آنها را توصیف خواهیم کرد و همچنین مفهوم IOPS و اهمیت آن در ارتباط با سختافزار را توضیح خواهیم داد.
نحوه عملکرد ذخیره سازی:
انواع حافظه برای ذخیره سازی:
- هارد دیسک (HDD): هارد دیسک ها از حافظه مغناطیسی برای ذخیره داده ها روی دیسک های در حال چرخش استفاده می کنند. آنها ظرفیت ذخیره سازی بزرگی را با هزینه نسبتاً کمتر ارائه می دهند اما در مقایسه با سایر فناوری ها کندتر هستند.
- درایوهای حالت جامد (SSD 🙁 SSD ها از حافظه فلش برای ذخیره داده ها استفاده می کنند. آنها سریع تر، بادوام تر و مصرف انرژی کمتری نسبت به هارد دیسک ها هستند. با این حال، آنها معمولاً برای همان ظرفیت ذخیره سازی گران تر هستند.
- درایوهای هیبریدی: درایوهای هیبریدی با ترکیب جنبههای HDD و SSD، یک دیسک چرخان سنتی و یک حافظه پنهان SSD کوچکتر برای بهبود عملکرد دارند.
ساختار و عملکرد HDDها
اجزای اصلی یک HDD
دیسکهای ذخیرهسازی (Platter):
- توضیح: دیسکهای نازک و دایرهای شکل از جنس آلومینیوم یا شیشه که با یک لایه مغناطیسی پوشانده شدهاند.
- عملکرد: دادهها را به صورت مناطق مغناطیسیشده ذخیره میکنند.
اسپیندل (Spindle):
- توضیح: محوری که دیسکهای ذخیرهسازی روی آن نصب شدهاند.
- عملکرد: دیسکها را با سرعت بالا میچرخاند (معمولاً ۵۴۰۰ تا ۷۲۰۰ دور در دقیقه).
هدهای خواندن/نوشتن (Read/Write Heads):
- توضیح: دستگاههای الکترومغناطیسی کوچک که بسیار نزدیک به سطح دیسکها قرار دارند.
- عملکرد: با تغییر یا تشخیص مغناطیسی شدن سطح، دادهها را میخوانند و مینویسند.
بازوی محرک (Actuator Arm):
- توضیح: بازویی که هدهای خواندن/نوشتن در انتهای آن قرار دارند.
- عملکرد: هدها را بر روی سطح دیسک حرکت میدهد تا به بخشهای مختلف داده دسترسی یابد.
محرک (Actuator):
- توضیح: موتوری که بازوی محرک را به طور دقیق کنترل میکند.
- عملکرد: هدهای خواندن/نوشتن را به دقت بر روی ترکهای مورد نظر قرار میدهد.
الکترونیک هارد دیسک (Controller Board):
- توضیح: برد مدار چاپی با قطعات الکترونیکی.
- عملکرد: مکانیک هارد دیسک و ارتباط با سایر اجزای سیستم کامپیوتری را کنترل میکند.
عملکرد یک HDD
سازماندهی دادهها:
- ترکها (Tracks): دایرههای هممرکز بر روی سطح دیسک.
- سکتورها (Sectors): تقسیمات ترکها که کوچکترین واحد قابل آدرسدهی هستند.
- سیلندرها (Cylinders): مجموعهای از ترکهای روی هم در دیسکهای مختلف.
دسترسی به دادهها:
- درخواست: کامپیوتر یک درخواست خواندن یا نوشتن به هارد دیسک میفرستد.
- موقعیتیابی: محرک بازو را حرکت میدهد تا هدها را بر روی ترک صحیح قرار دهد.
- چرخش: دیسکها میچرخند تا سکتور مورد نظر زیر هدها قرار گیرد.
- عملیات خواندن/نوشتن: هدها مغناطیسی شدن سطح را میخوانند یا تغییر میدهند تا دادهها را بخوانند یا بنویسند.
ساختار و عملکرد SSDها
اجزای اصلی یک SSD
تراشههای حافظه فلش (NAND Flash):
- توضیح: اجزای نیمههادی که دادهها را در سلولهای حافظه ذخیره میکنند.
- عملکرد: دادهها را از طریق بارهای الکتریکی در سلولها بدون قطعات متحرک ذخیره میکنند.
کنترلر (Controller):
- توضیح: پردازندهای درون SSD.
- عملکرد: مدیریت توزیع دادهها، تصحیح خطا، تراز کردن سایش (Wear-Leveling) و ارتباط با کامپیوتر.
کش (DRAM):
- توضیح: حافظه موقت سریع.
- عملکرد: دادهها را به صورت موقت برای دسترسی سریعتر ذخیره میکند.
عملکرد یک SSD
سازماندهی دادهها:
- صفحات (Pages): کوچکترین واحد خواندن/نوشتن.
- بلوکها (Blocks): گروهی از صفحات؛ عملیات حذف به صورت بلوکی انجام میشود.
دسترسی به دادهها:
- درخواست: کامپیوتر یک درخواست خواندن یا نوشتن به SSD میفرستد.
- پردازش کنترلر: کنترلر تعیین میکند که دادهها کجا ذخیره یا بازیابی شوند.
- عملیات خواندن/نوشتن: بارهای الکتریکی در سلولهای حافظه تنظیم میشوند تا دادهها ذخیره یا خوانده شوند.
مزایای SSDها:
- زمان دسترسی سریعتر: نیازی به حرکت مکانیکی نیست.
- مقاومت: به دلیل عدم وجود قطعات متحرک، در برابر ضربه مقاومتر هستند.
- مصرف انرژی کمتر: نسبت به HDDها کارآمدتر هستند.
IOPS چیست؟
IOPS (تعداد عملیات ورودی/خروجی در ثانیه) واحدی برای اندازهگیری تعداد دستورات ورودی و خروجی است که یک دستگاه ذخیرهسازی میتواند در هر ثانیه پردازش کند.
اهمیت IOPS
- اندازهگیری عملکرد: IOPS نشان میدهد که یک دستگاه ذخیرهسازی چند عملیات خواندن و نوشتن را میتواند در یک ثانیه انجام دهد.
- مقایسه دستگاههای ذخیرهسازی: مقادیر بالاتر IOPS معمولاً به معنای عملکرد بهتر است، به ویژه در برنامههایی با بسیاری از عملیات خواندن/نوشتن کوچک و تصادفی.
- ارتباط با HDDها و SSDها:
- HDDها: به دلیل محدودیتهای مکانیکی، مقادیر IOPS پایینتری دارند (معمولاً ۱۰۰ تا ۲۰۰ IOPS).
- SSDها: به مقادیر IOPS بسیار بالاتری دست مییابند (چند هزار تا صدها هزار IOPS).
عواملی که بر IOPS تأثیر میگذارند
- الگوی دسترسی: ترتیبی در مقابل تصادفی.
- اندازه بلوک: اندازه بلوکهای داده که خوانده یا نوشته میشوند.
- زمان تأخیر: تأخیر در انتقال دادهها.
- مشخصات سختافزاری: کیفیت کنترلر، نوع حافظه فلش، رابطها (SATA، NVMe).
نقش IOPS در سختافزار
- بهینهسازی عملکرد: انتخاب دستگاههای ذخیرهسازی با IOPS بالا برای برنامههایی که نیاز به دسترسی سریع به دادهها دارند (مثلاً پایگاههای داده، ماشینهای مجازی).
- تعادل سیستم: اطمینان از اینکه سایر اجزای سیستم (مانند CPU، RAM) میتوانند از IOPS بالای دستگاههای ذخیرهسازی به طور مؤثر استفاده کنند.
- تحلیل گلوگاهها: شناسایی نقاط ضعف عملکرد در سیستمها از طریق نظارت بر IOPS.
نیمه دوبلکس و فول دوبلکس
در دنیای ارتباطات و فناوریهای ذخیرهسازی داده، اصطلاحات «نیمه دوبلکس» و «فول دوبلکس» نقش مهمی در درک نحوه انتقال دادهها بین دستگاهها دارند. این مفاهیم دو روش اساسی برای انتقال داده را توصیف می کنند که هر کدام مزایا و معایب خاص خود را دارند و در موارد استفاده متفاوت مورد استفاده قرار می گیرند. در حالی که انتقال نیمه دوبلکس ممکن است در برخی موقعیت ها کافی باشد، در شرایط دیگر اتصالات تمام دوبلکس مزایای قابل توجهی از نظر کارایی و سرعت ارائه می دهند. در زیر نگاهی دقیق تر به این دو حالت انتقال خواهیم داشت تا درک بهتری از معنی و کاربرد آنها در عمل به دست آوریم، به خصوص در زمینه اتصال دهنده های ذخیره سازی مانند SATA، SAS و پروتکل های شبکه مانند iSCSI.
من می خواهم با جزئیات بیشتری توضیح دهم که نیمه دوبلکس و تمام دوبلکس به چه معناست، زیرا این مفاهیم برای درک ارتباطات داده اساسی هستند.
نیم دوبلکس / Half Duplex
تعریف: یک سیستم نیمه دوبلکس اجازه می دهد تا داده ها در هر دو جهت منتقل شوند، اما نه به طور همزمان. ارتباط تنها در یک جهت می تواند در یک زمان انجام شود.
مثال: یک مثال خوب روزمره از ارتباطات نیمه دوبلکس، واکی تاکی است. هنگامی که یک نفر در حال صحبت است و دکمه گفتگو را فشار میدهد، فرد دیگر نمی تواند همزمان صحبت کند. او باید منتظر بماند تا اولین نفر پخش را تمام کند تا بتواند پاسخ دهد.
کاربرد در فناوری اطلاعات: در فناوری اطلاعات، نیمه دوبلکس اغلب در شبکه ها یا اتصالاتی استفاده می شود که در آن جریان داده ها در هر دو جهت به طور همزمان حیاتی نیست. همچنین میتوان از آن در شرایطی استفاده کرد که هزینهها باید به حداقل برسد، زیرا سیستمهای نیمه دوبلکس معمولاً آسانتر و ارزانتر از سیستمهای تمام دوبلکس پیادهسازی میشوند.
مزایا: پیاده سازی آسان تر و ارزانتر.
معایب: بازده انتقال داده کمتر از دوبلکس کامل است زیرا ارتباط نمی تواند همزمان در هر دو جهت انجام شود.
فول دوبلکس / Full Duplex
تعریف: یک سیستم تمام دوبلکس اجازه می دهد تا داده ها در هر دو جهت به طور همزمان منتقل شوند. این بدان معناست که هر دو طرف می توانند بدون نیاز به صبر کردن، همزمان ارسال و دریافت کنند.
مثال: یک مثال خوب از ارتباط تمام دوبلکس، تماس تلفنی است. هر دو شرکتکننده میتوانند به طور همزمان صحبت کنند و بدون وقفه در ارتباط گوش دهند.
کاربرد در فناوری اطلاعات: Full duplex در بسیاری از شبکه ها و اتصالات مدرن استفاده می شود، به خصوص در مواردی که کارایی و کارایی بالا مورد نیاز است. اتصالات اترنت در شبکه های کامپیوتری و اتصالات ذخیره سازی SAS که در بالا ذکر شد نمونه هایی از سیستم های تمام دوبلکس هستند.
مزایا: بهره وری و عملکرد بیشتر انتقال داده ها به عنوان ارتباط می تواند در هر دو جهت به طور همزمان رخ دهد.
معایب: پیادهسازی معمولاً پیچیدهتر و گرانتر از سیستمهای نیمه دوبلکس است، زیرا لازم است از تداخل بین سیگنالهای ارسالی و دریافتی به طور همزمان جلوگیری شود.
انتخاب بین نیمه دوبلکس و فول دوبلکس به نیازهای خاص موقعیت ارتباطی بستگی دارد. Full Duplex عملکرد بالاتری را ارائه می دهد و برای برنامه هایی مناسب است که در آن ارتباط سریع و کارآمد مورد نیاز است. نیمه دوبلکس ممکن است یک راه حل مناسب در محیط های کم تقاضا یا جایی که هزینه یک عامل حیاتی است ارائه دهد.
کانکتورهای مختلف حافظه
امروز می خواهم شما را با کانکتورهای مختلف حافظه مورد استفاده در کامپیوترها و سرورها آشنا کنم. این کانکتورها برای نحوه ذخیره و دسترسی به داده ها بسیار مهم هستند. امروز ما بر روی سه فناوری مهم تمرکز خواهیم کرد: SAS، SATA و iSCSI.
(SATA (Serial ATA چیست؟
SATA مخفف Serial Advanced Technology Attachment است. این رابطی است که عمدتاً برای اتصال هارد دیسک ها، SSD (درایوهای حالت جامد) و درایوهای نوری به رایانه استفاده می شود.
نرخ بهره: سرعت SATA بر حسب گیگابیت بر ثانیه (گیگابیت بر ثانیه) اندازه گیری می شود. نسخه های مختلفی از SATA وجود دارد که SATA III (نسل سوم) می تواند داده ها را تا 6 گیگابیت بر ثانیه انتقال دهد. این تقریباً برابر با 600 مگابایت بر ثانیه (مگابایت در ثانیه) است.
Full/Half Duplex: SATA به صورت نیمه دوبلکس عمل می کند، به این معنی که داده ها می توانند ارسال یا دریافت شوند، اما نه هر دو در یک زمان.
مهم است بدانید: SATA به طور گسترده در دسترس و ارزان است، و آن را به انتخاب خوبی برای نیازهای عمومی ذخیره سازی تبدیل می کند. با این حال، این سریعترین گزینه برای برنامه های کاربردی بسیار فشرده نیست.
(SAS (Serial Attached SCSI چیست؟
SAS مخفف Serial Attached SCSI (رابط سیستم کامپیوتری کوچک) است. این رابطی است که برای اتصال هارد دیسک ها، SSD ها و سایر دستگاه ها در سرورها و سیستم های ذخیره سازی حرفه ای استفاده می شود.
نرخ بهره برداری: SAS می تواند نرخ انتقال داده بالاتری نسبت به SATA با سرعت حداکثر 12 گیگابیت در ثانیه یا حتی 22.5 گیگابیت در ثانیه در آخرین نسخه ارائه دهد.
Full-Duplex: برخلاف SATA، SAS از تمام دوبلکس پشتیبانی می کند، به این معنی که داده ها می توانند به طور همزمان ارسال و دریافت شوند و در نتیجه انتقال داده کارآمدتر می شود.
مهم است که بدانید: SAS گرانتر از SATA است اما عملکرد و قابلیت اطمینان بهتری را ارائه می دهد و آن را برای محیط های سازمانی و برنامه های کاربردی بسیار ایده آل می کند.
iSCSI (رابط سیستم کامپیوتر کوچک اینترنتی) چیست؟
iSCSI پروتکلی است که به دستورات SCSI اجازه می دهد از طریق شبکه های IP ارسال شوند. این بدان معناست که دستگاههای ذخیرهسازی را میتوان از طریق یک شبکه محلی (LAN) یا اینترنت به گونهای که گویی مستقیماً به رایانه متصل است، دسترسی داشت.
نرخ بهره: سرعت iSCSI به شدت به محیط شبکه از جمله پهنای باند و تأخیر بستگی دارد. در یک شبکه به خوبی پیکربندی شده، iSCSI می تواند عملکردی مشابه درگاه های ذخیره سازی مستقیم ارائه دهد.
Full/Half Duplex: از آنجایی که iSCSI از طریق اتصالات شبکه اجرا می شود، از full duplex پشتیبانی می کند، به این معنی که داده ها می توانند به طور همزمان ارسال و دریافت شوند.
مهم است بدانید: iSCSI می تواند راهی مقرون به صرفه برای دسترسی به فضای ذخیره سازی از طریق شبکه بدون نیاز به سخت افزار تخصصی باشد. برای محیطهای مجازی و موقعیتهایی که انعطافپذیری و مقیاسپذیری مهم هستند، مناسب است.