TL; DR: ऐसा इसलिए है क्योंकि SSD आपसे झूठ बोल रहा है और कह रहा है कि यह लिखने से पहले किया जाता है। यह पढ़ने के लिए एक ही चीज़ के साथ दूर नहीं हो सकता।
उत्तर के लंबे संस्करण को कैशिंग लिखा जाता है।
QD1 केस से शुरू करें। SSD डेटा को प्राप्त करने और उसे ड्राइव पर स्थानीय रूप से कैश में सहेजने के बाद लेखन को OS पर समाप्त होने की सूचना देगा, लेकिन इससे पहले कि उसने वास्तव में इसे NAND को लिखा हो। इससे एक बड़ा फर्क पड़ता है क्योंकि वास्तव में नंद को डेटा लिखना काफी धीमा है। पढ़ता है के लिए यह वास्तव में इसे वापस भेजने से पहले नंद से डेटा को पढ़ने के लिए है (जब तक कि इसे पहले नहीं पढ़ा है और अभी भी यह कैश में है, लेकिन यह यादृच्छिक पढ़ने के साथ बहुत संभावना नहीं है)।
इसका नकारात्मक पक्ष यह है कि अचानक बिजली गुल होने की स्थिति में SSD को लिखे गए डेटा की हानि हो सकती है लेकिन जिसने इसे अभी तक NAND नहीं बनाया है। कुछ उद्यम SSDs में एक सुपर कैपेसिटर शामिल होता है जो अचानक बिजली हानि के मामले में कैश को NAND में डेटा लिखने के लिए पर्याप्त शक्ति संग्रहीत करता है।
आप हार्ड ड्राइव के लिए एक ही चीज़ देखते हैं क्योंकि वे भी लेखन कैशिंग कर रहे हैं। वे इसके बारे में लगभग आक्रामक नहीं हैं। एसएसडी इतना आक्रामक क्यों है? यह उत्तर देने के लिए कि हमें QD32 मामले पर विचार करने के लिए आगे बढ़ना होगा, जो अधिक जटिल और अधिक दिलचस्प दोनों है।
यह सच नहीं है कि आप क्या कहते हैं कि QD32 पर बेतरतीब ढंग से लिखे गए रैंडम रीड्स आम तौर पर तेज़ होते हैं। यह बहुत कुछ निर्भर करता है कि आप किस विशेष एसएसडी को देखते हैं।
यदि आप कई SATA SSD पर 4k QD1 यादृच्छिक पढ़ते हैं, तो वे सभी 20-30 MB / s श्रेणी में प्रदर्शन करते हैं। ऐसा क्यों है? ऐसा इसलिए है क्योंकि 4k QD1 रैंडम रीड्स ज्यादातर विलंबता के बारे में है न कि थ्रूपुट के बारे में। विलंबता तीन भागों से आती है:
- SATA / AHCI का इंटरफ़ेस विलंबता जिसमें ड्राइव को यह बताना शामिल है कि क्या करना है और डेटा भेजना है।
- नियंत्रक को स्वयं यह पता लगाना होगा कि उसे प्राप्त आंकड़ों और निर्देशों का क्या करना है।
- वह समय जो वास्तव में 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 से बड़ा होता है, और लेखन को तब तक जोड़ते हैं जब तक आप पृष्ठ के आकार तक नहीं पहुँच जाते, बहुत सारे लेखन प्रवर्धन से बचने में मदद करता है। यह इन चीजों को करने के लिए है कि एसएसडी लेखन कैशिंग में बहुत आक्रामक हैं।