تبليغاتX
کدنویس - روشهاي نوشتن اطلاعات بر روي فلاپي و هارد قسمت اول :

براي نوشتن اطلاعات بر روي فلاپي و هاردديسكها از سه روش استفاده مي‌شود كه در اينجا به طور خلاصه آنرا بيان خواهيم كرد براي درك اينكه اطلاعات چگونه بر روي صفحة مغناطيسي هارد و فلاپي ذخيره مي‌شود بايد اعداد صفر و يك را از ياد ببريم زيرا صفر و يك‌ها نيستند كه بر روي صفحة مغناطيسي ذخيره مي‌شوند.

روش FM [1]:

ساده‌ترين روش جهت كد كردن يك و صفرها بر روي يك سطح مغناطيسي، ضبط تغيير فلوي مغناطيسي براي هر يك و يا عدم ضبط براي صفر مي‌باشد. اما اين روش براي زنجبره‌اي از صفرها مشكل مي‌باشد و جدا كردن صفرها از همديگر مشكل و با هزينة گزاف ممكن مي‌باشد براي حل اين مشكل به روش FM كه هرگز در هاردديسكها به كار برده نشده متوسل شدند. در اين روش بين هر بيت يك پالس قرار دارد تا كار خواندن ساده و راحت شود شكل 5 ـ 11 اين روش را نشان مي‌دهد همچنانكه در اين شكل مشاهده مي‌شود تغيير فلوي مغناطيسي باعث ايجاد يك پالس مدوله شده فركانس مي‌شود بيتهاي اطلاعات در سيگنالهاي پالس، مدوله شده است و پهناي صفر دو برابر بيتهاي يك مي‌باشد ولي در هر صورت بعد از هر بيت يك پالس اضافي وجود دارد. از مزيتهاي اين روش سادگي آن و ارزان بودن مدارات سازنده آن مي‌باشد ولي هر بيت از اطلاعات به دو تغيير فلوي مغناطيسي نياز دارد كه اين كار ظرفيت ديسك را به نصف كاهش مي‌دهد اين روش در اغلب فلاپي ديسكهاي قديمي (360 ، 80 ، 160، 180 كيلو بايت) مورد استفاده قرار گرفته است.

 

1           0         1           1         0          0          1          0

مغناطيسي شده

 

مغناطيسي نشده

تغيير فلو:  

شكل 5 ـ 11 نمونه كدگذاري در روش FM

روش MFM [2]:

براي اصلاح روش FM و كاهش تعداد تغيير فلوي مغناطيسي و در نتيجه افزايش ظرفيت ديسك، اين روش مورد استفاده قرار گرفت در اين روش اطلاعات به صورت زير رمزگذاري مي‌شوند.

رمزگذاري

مقدار بيت اطلاعات

تغيير فلوي مغناطيسي

1

تغيير فلوي مغناطيسي با ادامة به عدم تغيير فلوي مغناطيسي

صفر بعد از يك صفر ديگر

عدم تغيير فلوي مغناطيسي با ادامه به يك تغيير فلوي مغناطيسي

صفر بعد از يك، يك ديگر

همچنانكه مشاهده مي‌شود بعد از هر يك اگر صفري باشد كه بعد از آن صفر باشد تغيير فلوي مغناطيسي رخ نخواهد داد ولي اگر بعد از صفر يك صفر ديگر قرار داشته باشد، تغيير فلوي مغناطيسي ايجاد خواهد شد و اين كار نياز به يك پالس در بين هر بيت براي جداسازي زنجيرة[3] صفرها از يكديگر را از بين مي‌برد در اين روش نيز از سيگنال زماني جهت ذخيرة بيت‌ها استفاده شده است ولي در آن فقط از يك تغيير فلوي مغناطيسي[4] جهت صفرها و يك‌ها استفاده مي‌شود براي ايجاد چنين فلوي مغناطيسي به يك مدار كنترل پيچيده‌تر و دقيقتر نياز داريم كه بالطبع قيمت را بالا مي‌برد شكل 6 ـ 11 نحوه كار اين روش را نشان مي‌دهد.

همچنانكه از شكل مشخص است اگر صفر و يك‌ها پشت سر هم باشند هيچ مشكلي نخواهيم داشت هر جا يك باشد با يك تغيير فلو و هر جا صفر باشد با يك عدم تغيير فلوي مغناطيسي در يك زمان مشخص روبرو خواهيم بود (مثلاً  b101) . تنها مشكل زماني خواهد بود كه به صفري كه بعد از آن يك قرار داشته باشد برخورد نمائيم در اينصورت فاصلة زماني تغيير فلو حدود يك برابر و نيم زماني است كه دو تغيير فلوي معمولي انجام شود در واقع اين مساله كار را براي طراحي مدار كنترلي آن مشكل خواهد كرد و باعث  بالا رفتن قيمت مي‌شود.

 

1           0         1           1         0          0          1          0

مغناطيسي شده

 

مغناطيسي نشده

تغيير فلو:  

شكل 6 ـ 11 نحوه كدگذاري در روش MFM

روش RLL[5] :

روش جديدي براي نوشتن اطلاعات بر روي ديسك مي‌باشد كه ظرفيت ذخيره را به ميزان 50% نسبت به روش MFM افزايش مي‌دهد اين روش تقريباً در تمامي هاردديسكهاي فعلي مورد استفاده قرار مي‌گيرد. در روي RLL يكها در يك جهت تغيير فلو و صفرها در جهت ديگر ذخيره مي‌شوند در اين روش سيگنال زماني جهت يادداشت مورد استفاده قرار نمي‌گيرد و خود مدار كنترل درايو اين سيگنالها را فراهم مي‌كند در واقع پالسهاي زماني جزء اطلاعات محسوب نشده و بر روي ديسك ذخيره نمي‌شوند مشكل براي اين روش زماني پيش مي‌آيد كه چندين صفر بين دو يك قرار گيرد در اين روش يكها نيز نمي‌توانند به صورت تكرار قرار گيرند به عبارت ديگر كنترلرها ممكن است كه نتواند مكان مورد نظر را نگه دارد . (شكل 7 ـ 11) تبديل صفرها و يك‌ها به يك سيگنال قابل ذخيره بر روي صفحة مغناطيسي را نشان مي‌دهد.

بايت جهت ذخيره كد RLL

 

تغيير فلو:  

شكل 7 ـ 11 نحوه كدگذاري در روش RLL

روش RLL به جاي رمزگذاري[6] يك بيت به گروهي از بيتها توجه كرده و آنها را رمزگذاري مي‌نمايد طول اين گروه از 2 تا 4 بيت مي‌تواند باشد در روشهاي جديد طول اين بيتها به دو برابر رسيده است اما در هر صورت مشكل عدم حضور چندين صفر در بين دو عدد يك هنوز برطرف نشده است و كار طراحي كنترلر را با مشكل مواجه مي‌كند روش رمزگذاري 2 و 7 امروز تقريباً به صورت استاندارد درآمده است و اغلب در هاردهاي جديد از آن استفاده مي‌شود در اين رمزگذاري حداقل 2 عدد صفر و حداكثر 7 عدد صفر مي‌تواند در بين دو عدد يك قرار گيرند.

روش ديگر رمزگذاري در RLL كه معروف به توسعه يافته RLL مي‌باشد عبارتست از RLL 3 و 09 در اين روش حداقل و حداكثر تعداد صفرهاي بين دو عدد يك به ترتيب 3 و 9 مي‌باشد شكل 8 ـ 11 رمزگذاري اين روش را (RLL) براي حالت 2 و 7 مي‌دهد در يك نگاه اوليه ممكن است فكر نمائيد كه يك بايت به صورت 00000001b قابل برگرداندن به حالت اوليه نيست ولي فراموش ننماييد كه در اين حالت شما با سكتور به جاي تك بايت كار مي‌نماييد علاوه بر اين برگرداندن اين بايت مي‌تواند از سوي بايت بعدي انجام شود در واقع در اين روش با توجه به نحوة بايتهاي رمزگذاري شده هر بايت از اطلاعات به بايت يا بايتهاي بعدي براي برگرداندن به حالت اوليه نيازمند مي‌باشد.

مشكل مي‌تواند در آخرين بايت هر سكتور به وجود آيند زيرا اين روش به چند بايت اطلاعات بعدي براي برگرداندن نياز دارد براي برطرف سازي اين مشكل به انتهاي هر سكتور بيتهاي اضافه شده توسط كنترلرها انجام مي‌شود كه فقط موقع خواندن اطلاعات از ديسك از آن براي كشف اطلاعات واقعي استفاده مي‌شود و جزء اطلاعات و محتويات سكتور محسوب نمي‌شود.

رمزگذاري شده

بيت‌هاي اوليه

000100

000

0100

10

100100

010

00100100

0010

1000

11

001000

011

00001000

001

 

شكل 8 ـ 11 نحوه رمزگذاري در روش RLL



[1] .  Frequacy Modulation

[2] . Modified FM

[3] . Stream

[4] . Flux

[5] . Run Length Limited

[6] . encode

نوشته شده توسط علی کرمانیان در پنجشنبه سیزدهم اردیبهشت 1386 ساعت 16:11 | لینک ثابت |
 
offshore