4k को hdd / ssd बेंचमार्क में क्यों लिखा जाता है?


12

पीसी ड्राइव की गति का परीक्षण करने के लिए कई बेंचमार्क टूल उपलब्ध हैं।

यहाँ एक SATA SSD का एक बेंचमार्क उदाहरण है:

  • अनुक्रमिक पढ़ें: 718.498 MB / s
  • अनुक्रमिक लिखें: 777.414 एमबी / एस
  • रैंडम रीड 512KB: 160.541 MB / s
  • रैंडम राइट 512KB: 838.930 MB / s
  • रैंडम पढ़ें 4KB (QD = 1): 26.985 MB / s [6588.1 IOPS]
  • रैंडम राइट 4KB (QD = 1): 135.603 MB / s [33106.2 IOPS]
  • यादृच्छिक पढ़ें 4KB (QD = 32): 177.003 MB / s [43213.6 IOPS]
  • रैंडम राइट 4KB (QD = 32): 178.397 MB / s [43554.0 IOPS]

m.2 SSD:

  • अनुक्रमिक पढ़ें (क्यू = 32, टी = 1): 829.119 एमबी / एस
  • अनुक्रमिक लिखें (Q = 32, T = 1): 677.645 MB / s
  • रैंडम रीड 4KIB (Q = 32, T = 1): 744.328 MB / s [181720.7 IOPS]
  • रैंडम राइट 4KiB (Q = 32, T = 1): 144.876 MB / s [35370.1 IOPS]
  • अनुक्रमिक पढ़ें (टी = 1): 785.600 एमबी / एस
  • अनुक्रमिक लिखें (टी = 1): 789.973 एमबी / एस
  • यादृच्छिक पढ़ें 4KiB (Q = 1, T = 1): 56.585 MB / s [13814.7 IOPS]
  • रैंडम राइट 4KiB (Q = 1, T = 1): 170.449 MB / s [41613.5 IOPS]

HDD:

  • अनुक्रमिक पढ़ें: 114.988 एमबी / एस
  • अनुक्रमिक लिखें: 111.043 एमबी / एस
  • रैंडम रीड 512KB: 39.260 MB / s
  • रैंडम राइट 512KB: 57.409 MB / s
  • रैंडम पढ़ें 4KB (QD = 1): 0.546 MB / s [133.4 IOPS]
  • रैंडम राइट 4KB (QD = 1): 0.757 MB / s [184.9 IOPS]
  • यादृच्छिक पढ़ें 4KB (QD = 32): 1.582 MB / s [386.3 IOPS]
  • रैंडम राइट 4KB (QD = 32): 0.700 MB / s [171.0 IOPS]

हर मामले में "रैंडम रीड 4KB Q1" लिखने की तुलना में धीमा है और ज्यादातर मामलों में "QD32" के लिए इसका विपरीत है।

कुछ मंचों में लोग कहते हैं कि SSD चिप-संरचना के बारे में इसकी एक सीमा है, लेकिन हमेशा की तरह हार्ड ड्राइव एक ही व्यवहार दिखाते हैं यह एक अन्य कारण लगता है ?!

जवाबों:


9

TL; DR: ऐसा इसलिए है क्योंकि SSD आपसे झूठ बोल रहा है और कह रहा है कि यह लिखने से पहले किया जाता है। यह पढ़ने के लिए एक ही चीज़ के साथ दूर नहीं हो सकता।

उत्तर के लंबे संस्करण को कैशिंग लिखा जाता है।

QD1 केस से शुरू करें। SSD डेटा को प्राप्त करने और उसे ड्राइव पर स्थानीय रूप से कैश में सहेजने के बाद लेखन को OS पर समाप्त होने की सूचना देगा, लेकिन इससे पहले कि उसने वास्तव में इसे NAND को लिखा हो। इससे एक बड़ा फर्क पड़ता है क्योंकि वास्तव में नंद को डेटा लिखना काफी धीमा है। पढ़ता है के लिए यह वास्तव में इसे वापस भेजने से पहले नंद से डेटा को पढ़ने के लिए है (जब तक कि इसे पहले नहीं पढ़ा है और अभी भी यह कैश में है, लेकिन यह यादृच्छिक पढ़ने के साथ बहुत संभावना नहीं है)।

इसका नकारात्मक पक्ष यह है कि अचानक बिजली गुल होने की स्थिति में SSD को लिखे गए डेटा की हानि हो सकती है लेकिन जिसने इसे अभी तक NAND नहीं बनाया है। कुछ उद्यम SSDs में एक सुपर कैपेसिटर शामिल होता है जो अचानक बिजली हानि के मामले में कैश को NAND में डेटा लिखने के लिए पर्याप्त शक्ति संग्रहीत करता है।

आप हार्ड ड्राइव के लिए एक ही चीज़ देखते हैं क्योंकि वे भी लेखन कैशिंग कर रहे हैं। वे इसके बारे में लगभग आक्रामक नहीं हैं। एसएसडी इतना आक्रामक क्यों है? यह उत्तर देने के लिए कि हमें QD32 मामले पर विचार करने के लिए आगे बढ़ना होगा, जो अधिक जटिल और अधिक दिलचस्प दोनों है।

यह सच नहीं है कि आप क्या कहते हैं कि QD32 पर बेतरतीब ढंग से लिखे गए रैंडम रीड्स आम तौर पर तेज़ होते हैं। यह बहुत कुछ निर्भर करता है कि आप किस विशेष एसएसडी को देखते हैं।

यदि आप कई SATA SSD पर 4k QD1 यादृच्छिक पढ़ते हैं, तो वे सभी 20-30 MB / s श्रेणी में प्रदर्शन करते हैं। ऐसा क्यों है? ऐसा इसलिए है क्योंकि 4k QD1 रैंडम रीड्स ज्यादातर विलंबता के बारे में है न कि थ्रूपुट के बारे में। विलंबता तीन भागों से आती है:

  1. SATA / AHCI का इंटरफ़ेस विलंबता जिसमें ड्राइव को यह बताना शामिल है कि क्या करना है और डेटा भेजना है।
  2. नियंत्रक को स्वयं यह पता लगाना होगा कि उसे प्राप्त आंकड़ों और निर्देशों का क्या करना है।
  3. वह समय जो वास्तव में NAND डाई के डेटा को पढ़ने या लिखने में लेता है।

न तो 1. या 3. एक लंबे समय में बहुत कुछ बदल गया, और यही कारण है कि 1k QD1 यादृच्छिक पढ़ी गई या तो बहुत कुछ नहीं बदला।

SSDs में SATA / AHCI से PCIe / NVMe के हालिया कदम ने 1. की विलंबता को बहुत कम कर दिया है, यही वजह है कि हाल ही में कुछ m.2 और PCIe SSDs में यहाँ बहुत सुधार हुआ है।

एक चीज जो SSD कंट्रोलर को लेटेंसी के साथ पढ़ने या लिखने में बहुत मदद कर सकती है, वह है समानान्तर में कई NAND डाइट्स को पढ़ना या लिखना। 3. लेटेस्ट का सबसे लेट 3. अनुरोधों के क्रम में और सुनिश्चित करें कि यह पढ़ रहा है क्योंकि संभव के रूप में कई नंद मर जाते हैं।

QD32 4k रैंडम के लिए SSD कुछ लिखता है जिसे राइटिंग कॉम्बिनेशन कहा जाता है। जब SSD कंट्रोलर में बहुत सारे छोटे-छोटे लिखने के अनुरोध आते हैं, तो उन्हें स्थानीय स्तर पर कैश किया जाता है और जब राइट्स के एक बड़े पर्याप्त बफर ने कंट्रोलर बनाया है, तो यह अच्छी तरह से आकार के टुकड़ों में बंट जाता है और कई नंदों को समान्तर में लिखता है, फिर से मास्क की मदद करने के लिए। NAND विलंबता। लेखन संयोजन का एक और लाभ यह है कि आजकल अधिकांश SSD का पृष्ठ आकार (सबसे छोटी राशि जिसे पढ़ा या लिखा जा सकता है) 4k से बड़ा होता है, और लेखन को तब तक जोड़ते हैं जब तक आप पृष्ठ के आकार तक नहीं पहुँच जाते, बहुत सारे लेखन प्रवर्धन से बचने में मदद करता है। यह इन चीजों को करने के लिए है कि एसएसडी लेखन कैशिंग में बहुत आक्रामक हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.