ดูเหมือนว่า ECC จะแก้ไขข้อผิดพลาดบิตเดียวเท่านั้น
แก้ไข. หากต้องการแก้ไขข้อผิดพลาดเพิ่มเติมจะต้องใช้บิตเพิ่ม ตามที่เป็นอยู่แล้วคุณใช้ 10 บิตในการจัดเก็บข้อมูล 8 บิต 'สูญเสีย' 20% ของชิปหน่วยความจำเพื่อให้สามารถแก้ไขบิตเดียวและตรวจสอบข้อผิดพลาดได้มากถึงสองบิต
มันทำงานได้ดังต่อไปนี้ ลองนึกภาพหรือ0
1
ถ้าฉันอ่านแล้วฉันก็ต้องหวังว่าฉันจะอ่านสิ่งที่ถูกต้อง ถ้า 0 ถูกพลิกเป็น 1 โดยรังสีคอสมิกบางตัวหรือโดยชิปที่ไม่ดีดังนั้นฉันจะไม่มีทางรู้
ในอดีตเราพยายามแก้ไขด้วยความเท่าเทียมกัน ความเท่าเทียมกันคือการเพิ่มบิตที่เก้าต่อ 8 บิตที่เก็บไว้ เราตรวจสอบจำนวนศูนย์และจำนวน 1 ในไบต์ เก้าถูกตั้งค่าให้เป็นเลขคู่ (สำหรับความเท่าเทียมกัน) หากคุณเคยอ่านไบต์และตัวเลขผิดคุณก็รู้ว่ามีบางอย่างผิดปกติ คุณไม่ทราบว่าผิดบิตใด
ECC ขยายตัวในเรื่องนั้น มันใช้ 10 บิตและอัลกอริทึมที่ซับซ้อนเพื่อค้นหาเมื่อบิตเดียวพลิก นอกจากนี้ยังรู้ว่ามูลค่าเดิมคืออะไร วิธีง่ายๆในการอธิบายว่ามันจะเป็นเช่นนี้:
แทนที่ทั้งหมด0
s 000
พร้อมด้วย แทนที่ทั้งหมด1
s 111
พร้อมด้วย
ตอนนี้คุณสามารถอ่านชุดที่หก:
000
001
010
100
101
111
เราไม่เคยแน่ใจ 100% ว่าของเดิมถูกเก็บไว้ที่ไหน หากเราอ่าน000
นั่นอาจเป็นเพียงสิ่ง000
ที่เราคาดหวังหรือทั้งสามบิตอาจพลิก หลังไม่น่าเป็นไปได้มาก บิตจะไม่พลิกแบบสุ่มแม้ว่ามันจะเกิดขึ้น สมมติว่าเกิดขึ้นหนึ่งครั้งในสิบครั้งสำหรับการคำนวณแบบง่าย ๆ (ความจริงน้อยกว่ามาก) ผลงานมีโอกาสที่จะได้อ่านค่าที่ถูกต้องดังต่อไปนี้:
000
-> อย่างใดอย่างหนึ่ง000
(แน่ใจว่า 99.9%) หรือสามเท่า (โอกาส 1/1000)
001
-> เรารู้ว่ามีบางอย่างผิดปกติ แต่มันก็เป็น
000
และหนึ่งบิตพลิก (โอกาส 1:10) หรือเป็น
111
และสองบิตได้พลิก (โอกาส 1: 100) ดังนั้นลองทำเหมือนว่าเราอ่าน000
แต่บันทึกข้อผิดพลาด
010
-> เหมือนด้านบน
100
-> เหมือนด้านบน
011
-> เหมือนกับด้านบน แต่สมมติว่าเป็น 111
101
-> เหมือนกับด้านบน แต่สมมติว่าเป็น 111
110
-> เหมือนกับด้านบน แต่สมมติว่าเป็น 111
111
-> อย่างใดอย่างหนึ่ง111
(แน่ใจว่า 99.9%) หรือสามเท่า (โอกาส 1/1000)
111
-> อย่างใดอย่างหนึ่ง000
(แน่ใจว่า 99.9%) หรือสามเท่า (โอกาส 1/1000)
ECC ทำเทคนิคที่คล้ายกัน แต่ทำอย่างมีประสิทธิภาพมากขึ้น สำหรับ 8 บิต (หนึ่งไบต์) พวกเขาใช้เพียง 10 บิตเพื่อตรวจจับและแก้ไข
RAM ที่ลงทะเบียน ECC สามารถใช้งานได้กับบอร์ดเวิร์กสเตชัน / เซิร์ฟเวอร์เท่านั้น ECC unbuffered สามารถใช้งานได้บน Intel Xeon lga1155 หรือ AMD AM3 + บนบอร์ด Asus
ฉันได้พูดไปแล้วว่าส่วน ECC คืออะไรตอนนี้ส่วนที่ลงทะเบียนแล้วและไม่มีส่วนใดได้รับการจดทะเบียน
ในซีพียูสมัยใหม่ตัวควบคุมหน่วยความจำนั้นอยู่บนตัวซีพียูเริ่มต้นเมื่อนานมาแล้วสำหรับชิป AMD Opteron และกับซีรีย์ Core i สำหรับ Intel ซีพียูเดสก์ทอปส่วนใหญ่พูดคุยโดยตรงกับซ็อกเก็ต DIMM ที่ถือ RAM มันใช้งานได้และไม่จำเป็นต้องใช้ตรรกะเพิ่มเติม นั่นคือราคาถูกในการสร้างและความเร็วสูงเพราะไม่มีการหน่วงเวลาจากตัวควบคุมหน่วยความจำไปยัง RAM
แต่ตัวควบคุมหน่วยความจำสามารถขับกระแส จำกัด ที่ความเร็วสูงเท่านั้น ซึ่งหมายความว่ามีการ จำกัด จำนวนซ็อกเก็ตหน่วยความจำที่สามารถเพิ่มลงในแผงวงจรหลักได้ (และเพื่อทำให้มันซับซ้อนมากขึ้นเท่าไหร่ที่ DIMM สามารถใช้งานได้ซึ่งนำไปสู่การจัดอันดับหน่วยความจำฉันจะข้ามสิ่งนั้นไปเนื่องจากสิ่งนี้มีความยาวอยู่แล้ว)
บนบอร์ดเซิร์ฟเวอร์คุณมักต้องการใช้หน่วยความจำมากกว่าระบบเดสก์ทอป ดังนั้นบัฟเฟอร์ "register" จะถูกเพิ่มเข้าไปในหน่วยความจำ อ่านจากชิปใน DIMM ก่อนคัดลอกไปยังบัฟเฟอร์นี้ รอบสัญญาณนาฬิกาในภายหลังบัฟเฟอร์นี้เชื่อมต่อกับตัวควบคุมหน่วยความจำเพื่อถ่ายโอนข้อมูล
บัฟเฟอร์ / รีจิสเตอร์นี้ล่าช้าสิ่งต่าง ๆ ทำให้หน่วยความจำช้าลง นั่นเป็นสิ่งที่ไม่พึงประสงค์ดังนั้นจึงมีการใช้ / จำเป็นเฉพาะบนบอร์ดที่มีหน่วยความจำมากมาย บอร์ดผู้บริโภคส่วนใหญ่ไม่ต้องการสิ่งนี้และ CPU ของผู้บริโภคส่วนใหญ่ไม่รองรับ
RAM ที่ไม่มีการเชื่อมต่อโดยตรงกับ RAM ที่บัฟเฟอร์ / ลงทะเบียนไม่ใช่กรณีที่ดีกว่าหรือแย่กว่าอีก RAM พวกเขามีการแลกเปลี่ยนที่แตกต่างกันในแง่ของจำนวนสล็อตหน่วยความจำที่คุณมี RAM ที่ลงทะเบียนแล้วอนุญาตให้ใช้ RAM เพิ่มขึ้นในราคาที่พอเหมาะ (และอาจมีค่าใช้จ่าย) ในกรณีส่วนใหญ่ที่คุณต้องการหน่วยความจำให้มากที่สุดหน่วยความจำเพิ่มเติมที่มากกว่าชดเชย RAM ที่ทำงานด้วยความเร็วที่ช้าลงเล็กน้อย
ข้อสงสัยที่ฉันมีคือ (ส่วนใหญ่เกี่ยวกับ asus am3 + board): ECC-unbuffered RAM และ ECC-RAM ที่ลงทะเบียนไว้ (จากมุมมองด้านความปลอดภัยและความน่าเชื่อถือ) หรือไม่ หรือเป็นตัวเลือกที่แย่กว่านั้น ฉันไม่สนใจความเร็วมากนัก **
จากมุมมองของความปลอดภัยและความมั่นคง ECC-unbuffered และ ECC ที่ลงทะเบียนเหมือนกัน
รายละเอียดเพิ่มเติม: เซิร์ฟเวอร์จะใช้เคสเซิร์ฟเวอร์ที่มีไดรฟ์สูงสุด 24 x 3 ½ '' และควรใช้ให้น้อยที่สุด
24 ไดรฟ์กำลังใช้พลังงานจำนวนมาก ขึ้นอยู่กับไดรฟ์ ไดรฟ์ 140GB 15K RPM SAS ของฉันกำลังวาดเพียง 10 วัตต์ที่ไม่ได้ใช้งานเหมือนกับดิสก์ 1TB SATA 7k2 ที่ใช้ทั้งวาดเพิ่มเติม
ทวีคูณด้วย 24. 24 × 10 วัตต์ที่ไม่ได้ใช้งานหมายความว่า 240 วัตต์เพียงแค่ทำให้ดิสก์จานหมุนและเอาชนะความต้านทานอากาศ สองเท่าสำหรับการใช้งาน
LGA1155 ดูเหมือนว่าจะเป็นทางออกที่ดีกว่า (TDP ~ 20-95W) เมื่อเทียบกับรุ่นอื่น (> 80W) ในราคาสองเท่า
Intel ดีกว่าใน CPU ที่ใช้พลังงานต่ำในขณะเขียนและสำหรับ CPU ที่คุณกล่าวถึง
ข้อเสนอแนะใด ๆ ยินดีต้อนรับ สมมติว่าน้อยกว่า 120W ที่ว่าง (~ กับ 10 ฮาร์ดดิสก์จาก 24)
ถ้าคุณไปใช้ FreeBSD ให้ดูที่ ZFS อย่างหนัก มันยอดเยี่ยมมาก คุณสมบัติขั้นสูงอื่น ๆ อีกมากมาย (เช่นการขจัดข้อมูลซ้ำซ้อนและ / หรือการบีบอัด) ใช้พลังงาน CPU ที่รุนแรงและต้องการหน่วยความจำมากมาย ZFS สำหรับการใช้งานพื้นฐานกับ ZRAID จะทำได้ดีทั้งในซีพียูที่คุณกล่าวถึงและด้วยขนาด 16 GB แต่ถ้าคุณเปิดฟีเจอร์อย่างการขจัดข้อมูลซ้ำซ้อนคุณควรดูอย่างระมัดระวังในหน่วยความจำที่แนะนำสำหรับความจุดิสก์ ถึง 5GB ต่อ TB ของการจัดเก็บแนะนำโดยคำแนะนำบางอย่าง
อีกสองสิ่ง:
- ฉันไม่เห็นอะไรเกี่ยวกับการเชื่อมต่อไดรฟ์ บอร์ดบางบอร์ดอาจมีพอร์ตสูงสุด 10 พอร์ต แต่สำหรับทุกอย่างที่คุณจะต้องใช้การ์ดเพิ่มเติม หากคุณพิจารณา RAID ฮาร์ดแวร์ควรวางแผนตั้งแต่ต้น
- ความล้มเหลวของไดรฟ์: คุณควรใช้ตัวคูณพอร์ต SATAแล้วดูอย่างระมัดระวังว่าพวกเขาทำอย่างไรหากไดรฟ์ SATA ล้มเหลว มันมักจะไม่สวย ไม่ใช่ปัญหาใหญ่สำหรับการติดตั้งในบ้าน แต่เป็นระดับองค์กรไม่มาก คุณอาจต้องพิจารณาว่าแต่ละไดรฟ์จัดการกับข้อผิดพลาดได้อย่างไร เหตุผลที่ไดรฟ์บางตัวระบุว่าเป็นของใช้ "NAS" หรือ "RAID" ก็เพราะข้อผิดพลาดนั้นแตกต่างจากไดรฟ์ทั่วไป ไม่มี RAID คุณต้องการให้ไดรฟ์ลองซ้ำหลาย ๆ ครั้งเท่าที่จะทำได้ ด้วย RAID คุณต้องการให้ไดรฟ์ล้มเหลวอย่างรวดเร็วเพื่อให้คุณสามารถอ่านจากสำเนาอื่นได้