हार्ड डिस्क ब्लॉक मॉडल पढ़ने के समय की गणना


8

मेरे प्रोफेसर ने ब्लॉक मॉडल का उपयोग करके हार्ड डिस्क से डेटा पुनर्प्राप्ति की गणना करने के तरीके पर एक स्लाइड पोस्ट की। चश्मा थे:

  • 7200 आरपीएम
  • 5ms SEEK
  • 80 एमबी / एस ट्रांसफर दर
  • ब्लॉक मॉडल: ब्लॉक आकार 4KB

मुझे समझ नहीं आ रहा है कि उसने निम्नलिखित गणना कैसे की या कुछ संख्याएँ कहाँ से आईं:

ब्लॉक पढ़ने के लिए 5ms + 1000/240 ms + 0.05ms = 9.216ms।

क्या कोई मुझे बता सकता है कि 1000/240 ms और 0.05ms कहाँ से आए थे?

संपादित करें: यदि संख्या पूरी तरह से गलत हो गई है, तो आप यह कैसे करेंगे?


तीन घटक हैं। शोध का समय, रीड हेड के तहत डेटा को घुमाने का समय (वह औसत के रूप में पूर्ण रोटेशन समय का आधा हिस्सा लेता है) और हस्तांतरण का समय।
डेविड मार्शल

वास्तव में एक चौथा घटक है, "ट्रांसफर टाइम" दो अलग-अलग, गैर-अतिव्यापी संचालन में है। पहले वहाँ क्षेत्र बफर के लिए थाली से पढ़ा है। फिर ड्राइव इंटरफ़ेस (जैसे SATA) पर होस्ट के लिए सेक्टर बफर से एक और स्थानांतरण होता है। व्यापक रूप से गलत धारणा है कि ये दो स्थानान्तरण समवर्ती हो सकते हैं; वे नहीं कर सकते। सेक्टर डेटा को पढ़ने के बाद और होस्ट पर भेजे जाने से पहले इसे मान्य किया जाना चाहिए। @ हेन्स इस बात को नजरअंदाज किए गए सामान के हिस्से के रूप में उल्लेख करते हैं।
चूरा

खबरदार कि समय के महीन बिंदुओं को लगभग हर कोई खराब समझ रहा है। समय की तलाश एक रैखिक समारोह नहीं है, लेकिन सिलेंडरों की संख्या के आधार पर एक वक्र है। तलाश (एक आवाज-कॉइल एक्ट्यूएटर का उपयोग करके) में त्वरण चरण और एक मंदी चरण होता है और जब तलाश काफी लंबी होती है, तो बीच में अधिकतम वेग का चरण होता है। एक औसत समय की तलाश के लिए केवल 2 संभावित पूर्ण-स्ट्रोक चाहने वालों के लिए भारित होना होता है, लेकिन 2 * (NCYL-1) एकल-ट्रैक दृश्य, 2 * (NCYL-2) 2-ट्रैक दृश्य ... और NCYL "" चाहता है शून्य समय जब कोई सिर यात्रा आवश्यक नहीं है।
चूरा

जवाबों:


11

विचाराधीन डिस्क में 80 MiB / s, या 81920 kiB / s, या 20480 ब्लॉक / s की अंतरण दर है । यहां, हम 20,000 ब्लॉक / सेकंड तक राउंड करेंगे, क्योंकि यह प्रतीत होता है कि आपके प्रोफेसर ने क्या किया था। यह समीकरण में अंतिम शब्द बताते हुए एक ब्लॉक को स्थानांतरित करने के लिए 0.05 एमएस के बराबर है।

अंत में, समय (ड्राइव हेड को ट्रैक पर ले जाने का समय) के अलावा, इससे निपटने के लिए डिस्क की घूर्णी विलंबता भी होती है । 7200 आरपीएम में, सबसे खराब स्थिति में, हमें 1 पूर्ण क्रांति की प्रतीक्षा करनी होगी, लेकिन औसतन हमें आधी क्रांति की प्रतीक्षा करनी होगी - या 4.166ms (7200 आरपीएम = 120 रेव / सेकंड = 8.333 मी / रेव)।

इस प्रकार, कंप्यूटर पर एक ब्लॉक को स्थानांतरित करने के लिए, हमें समकक्ष Seek Time+ Rotational Latency+ का इंतजार करना होगा Transfer Time:

5 ms + 4.166 ms + 0.05 ms = 9.216 ms

ध्यान दें कि ठोस-राज्य ड्राइव के लिए, जबकि खाते में लेने के लिए कोई घूर्णी विलंबता नहीं है, निश्चित रूप से अभी भी एक औसत दर्जे का समय है (वास्तव में फ्लैश मेमोरी में सेक्टरों की सामग्री को संबोधित करने के लिए) और स्थानांतरण समय (बस द्वारा बड़े पैमाने पर सीमित) डेटा को स्वयं स्थानांतरित करने के लिए उपयोग किया जा रहा है, उदाहरण के लिए SATA)।

इस प्रकार, सामान्य तौर पर, एक ड्राइव के लिए किसी एकल क्षेत्र को पढ़ने के लिए कुल पहुंच समय (सॉफ्टवेयर की उपेक्षा) है:

Rotational/Hard Drive:  Seek Time + Rotational Latency + Transfer Time

Solid-State Drive:      Seek Time + Transfer Time

5

5 एमएस की तलाश समय हार्डडिस्क सही रास्ते के लिए अपने सिर ले जाने के लिए (और सही सिर, जो कुछ भी समय है, लेकिन जो अपने प्रोफेसर लेता है। नजरअंदाज कर चयन करने के लिए) के लिए समय है।


एक बार जब सिर सही ट्रैक पर हो जाता है तो उसे R / W सिर के नीचे से गुजरने के लिए सही क्षेत्र की प्रतीक्षा करनी होती है। हमें दिया गया है कि यह 7200 RPM ड्राइव है। इसका मत:

  • सबसे खराब स्थिति में डेटा को सिर्फ पास होने के लिए एक पूर्ण रोटेशन की प्रतीक्षा करनी होती है।
  • सबसे अच्छे मामले में डेटा क्षेत्र अभी आया है। सब खुश है।
  • में औसत मामले ड्राइव आधा रोटेशन प्रतीक्षा करने के लिए की जरूरत है।

7200 RPM ड्राइव पर पूर्ण ड्राइव रोटेशन के लिए समय प्राप्त करने के लिए:

  • प्रति मिनट 7200 रोटेशन (उर्फ 7200 आरपीएम)
  • या 7200/60 बार प्रति सेकंड।
  • या प्रति सेकंड 120 बार।
  • या एक ही रोटेशन लेता है 1 / 120 वें एक दूसरे की।
  • जो 8.3 एमएस है

तो आधे से एक रोटेशन आधा है कि समय लगेगा चाहिए, 1 / 240 वें एक दूसरे की।

1 सेकंड 1000 एमएस है

यह आपकी है 1000 / 240 एमएस।


यह सब उस समय तक है जब तक ड्राइव डेटा पढ़ना शुरू नहीं कर सकती। इसे अभी भी पढ़ने और मेजबान के साथ पारित करने की आवश्यकता होगी।

ड्राइव से पढ़ना आमतौर पर इसे पास करने की तुलना में बहुत तेज है, इसलिए मैं धीमे भाग पर ध्यान केंद्रित करने जा रहा हूं:

दिए गए हैं:

1) 80 एमबी / एस ट्रांसफर रेट
2) ब्लॉक मॉडल: ब्लॉक आकार 4KB

  • एक सेकंड में 80 MiB, या 80 * 1024 KiB एक सेकंड, या 4 * 20 * 1024 KiB / सेकंड।
  • 20480 से विभाजित करें।
  • प्रति 4 KB 1 / 20480 वें एक दूसरे की।
  • या 0.488281 एमएस, जो आपका नवीनतम 0.05 एमएस है


ध्यान दें कि यह उत्तर अनदेखा करता है:

  1. ड्राइव को प्रसारित करने से पहले डेटा को पढ़ने की जरूरत है, इससे यह थोड़ा धीमा हो जाएगा।
  2. लेकिन इस बात की कोई जानकारी नहीं है कि डेटा प्लाटर से कितनी तेजी से पढ़ा जाता है। (जो रोटेशन की गति की बात है, पढ़ने के लिए डेटा की लंबाई, चेकसम डेटा की लंबाई और इंटर सेक्टर अंतराल (4KiBB "हेडर | डेटा | चेकसम | गैप" की 8 रीड हो सकती है)
  3. यह भी अनदेखा करता है कि डेटा पहले से ही ड्राइव कैश में मौजूद हो सकता है।
  4. और यह मानता है कि चेकसम की गणना करने में लगभग कोई समय नहीं लगता है।

संभवत: यह पहली बार है जब मैंने डिस्क ट्रांसफर समय का सही उल्लेख देखा है, जो कि प्लाटर रीड और (इंटरफ़ेस) ट्रांसफर के बीच अंतर करता है। "चेकसम" वास्तव में एक एरर करेक्शन कोड (ECC) है जो एक छोटी फट त्रुटि को पहचान सकता है और ठीक कर सकता है ।
चूरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.