ECC ที่ลงทะเบียนแล้วกับ ECC ไม่มีข้อผูกมัด


15

ฉันต้องการสร้างเซิร์ฟเวอร์เก็บข้อมูล (ตาม GNU / Linux หรือ FreeBSD) ซึ่งจะอยู่ตลอดเวลา เพื่อป้องกันความเสียหายของข้อมูล (ซึ่งไม่น่าจะเกิดขึ้นเนื่องจากฉันไม่เคยมีปัญหาดังกล่าว แต่ควรปลอดภัยกว่าขออภัย) ฉันต้องการใช้ ECC RAM

แม้ว่าจะไม่ดีเท่า EDD (?) (ซึ่งเป็นวิธีที่แพงกว่า) และให้ความคุ้มครองเพิ่มเติม ดูเหมือนว่า ECC จะแก้ไขข้อผิดพลาดบิตเดียวเท่านั้น

RAM ที่ลงทะเบียน ECC สามารถใช้ได้กับเวิร์กสเตชัน / บอร์ดเซิร์ฟเวอร์เช่น Intel Xeon หรือ AMD interlagos / magny-cours / valencia g34 หรือ c32

ECC unbuffered สามารถใช้งานได้บน Intel Xeon lga1155 หรือ AMD AM3 + บนบอร์ด Asus

ตัวเลือกที่สองจะมีราคาถูกกว่ามากบนโปรเซสเซอร์และเมนบอร์ดและฉันสงสัยว่าฉันจะต้องการ RAM มากกว่า 16GB (4x4 GB ECC ที่ไม่มีบัฟเฟอร์เป็นแท่งราคาประหยัดที่ใหญ่ที่สุด)

ข้อสงสัยที่ฉันมีคือ (ส่วนใหญ่เกี่ยวกับ asus am3 + board): ECC-unbuffered RAM และ ECC-RAM ที่ลงทะเบียนไว้ (จากมุมมองด้านความปลอดภัยและความน่าเชื่อถือ) หรือไม่ หรือเป็นตัวเลือกที่แย่กว่านั้น ฉันไม่สนใจความเร็วมากนัก

รายละเอียดเพิ่มเติม: เซิร์ฟเวอร์จะใช้เคสเซิร์ฟเวอร์ที่มีไดรฟ์สูงสุด 24 x 3.5 นิ้วและควรใช้ให้น้อยที่สุด LGA1155 ดูเหมือนว่าจะเป็นทางออกที่ดีกว่า (TDP ~ 20-95W) เมื่อเทียบกับรุ่นอื่น (> 80W) ในราคาสองเท่า ข้อเสนอแนะใด ๆ ยินดีต้อนรับ สมมติว่าน้อยกว่า 120W ที่ว่าง (~ กับ 10 ฮาร์ดดิสก์จาก 24)


1
การถาม SuperUser จะทำให้คุณได้คำตอบ SuperUser ถาม ServerFault คุณจะได้คำตอบ ServerFault รับดริฟท์ของฉัน?
ชาดแฮร์ริสัน

คำถามที่พบบ่อยระบุฮาร์ดแวร์คำถามสามารถทำได้ใน superuser ...
user51166

@hydroparadise ตรวจสอบคำถามที่พบบ่อย - เราอนุญาตให้ทุกคำถามเกี่ยวกับฮาร์ดแวร์
Simon Sheehan

Sry ฉันคิดว่านั่นเป็นเรื่องสมมติ มีเพียงการพูดถึงว่าจากด้าน OS อาจมีการพิจารณาที่แตกต่างกันในวิธีการแก้ไข ECC เพราะสิ่งนี้จะกลายเป็นแอพพลิเคชันเซิร์ฟเวอร์อย่างเต็มที่
ชาดแฮร์ริสัน

1
เพิ่งจะ เวลาส่วนใหญ่ชิปเซ็ตจะจัดการแก้ไข ECC (ถ้ามี) คุณไม่จำเป็นต้องแตะลงในสิ่งที่มาจากระบบปฏิบัติการเลย (คุณสามารถทำได้โดยใช้ DMI เพื่อรับข้อมูลเกี่ยวกับข้อผิดพลาด ECC หรือ QPI)
Hennes

คำตอบ:


-2

ถ้าคุณใช้ RAM 16GB เพียงอย่างเดียว - ซึ่งไม่ใช่ช่วง RAM ของเซิร์ฟเวอร์ - คุณจะใช้ได้กับ RAM / sys บนเดสก์ท็อปมาตรฐาน

หากเป็นเพียงเซิร์ฟเวอร์จัดเก็บข้อมูลคุณไม่จำเป็นต้องมีประสิทธิภาพของ CPU มากนัก

อย่างที่คุณพูดไปกับสะพาน Sandy มันจะให้ระบบที่ยอดเยี่ยมประสิทธิภาพและความน่าเชื่อถือแก่คุณ

เมื่อพูดถึงช่วง RAM 16GB คุณไม่ต้องกังวลกับสิ่งที่ ECC ทำ


ขอบคุณสำหรับการตอบกลับอย่างรวดเร็ว ฉันว่า RAM 4GB สูงกว่าคุณจะต้องใช้ ECC แน่นอนว่า RAM ขนาด 256GB หรือครึ่งหนึ่งของ RAM ECC จะต้องใช้ แต่ฉันคิดว่า 16GB เป็นขีด จำกัด ... อย่างไรก็ตามมันแปลก ... Xeon 4C / 8T Sandybridge มีราคา 100 $ น้อยกว่า (ที่สถานที่ของฉัน) มากกว่าซีพียูเดสก์ทอปที่เทียบเท่า ค่าใช้จ่ายทั้งหมดเท่ากับ ~ ไม่มีข้อเสียของ ECC ที่นี่ คุณแน่ใจหรือว่าไม่ต้องการ ECC
user51166

@ user51166 แน่ใจ 100% 16GB เป็นเหมือนมาตรฐานในปัจจุบันในแท่นขุดเจาะกลาง / ปลายสูง
INF

2
ความจริงก็คือมาตรฐาน defacto ไม่ได้แปลว่าเชื่อถือได้เพียงพอ อ่านแล้วเกี่ยวกับกรณีบนอินเทอร์เน็ตที่ข้อมูลทั้งหมดบนดิสก์เสียหายบน HDD ไม่ใช่เพราะตัวควบคุม SATA แต่เนื่องจาก RAM (ไม่ใช่ ecc) ที่ไม่ดี
user51166

1
@ user51166 บอกคนที่บอกว่าไม่ใช่ ECC แน่นอนไม่ใช่ปัญหาของเขา
INF

1
"ECC ที่ลงทะเบียนแล้ว> ECC ที่ไม่ได้ลงทะเบียน" ไม่ใช่ / บางครั้ง ECC ที่ไม่ได้ลงทะเบียน / ไม่ลงทะเบียนจะเร็วขึ้นจริง บัฟเฟอร์ / การลงทะเบียน ECC จะดำเนินการลงทะเบียนอย่างน้อยหนึ่งครั้งช้าลง แต่คุณสามารถเพิ่ม DIMM เพิ่มเติมลงในช่องหน่วยความจำได้ (และหน่วยความจำเพิ่มเติมสามารถทำให้ระบบของคุณเร็วขึ้นแม้ว่าเวลาแฝงจะเพิ่มขึ้น) ดังนั้นจึงค่อนข้างยาก "ใช่ / ไม่ใช่" คำตอบที่เหมาะสมคือ "มันขึ้นอยู่กับ"
Hennes

45

ดูเหมือนว่า ECC จะแก้ไขข้อผิดพลาดบิตเดียวเท่านั้น

แก้ไข. หากต้องการแก้ไขข้อผิดพลาดเพิ่มเติมจะต้องใช้บิตเพิ่ม ตามที่เป็นอยู่แล้วคุณใช้ 10 บิตในการจัดเก็บข้อมูล 8 บิต 'สูญเสีย' 20% ของชิปหน่วยความจำเพื่อให้สามารถแก้ไขบิตเดียวและตรวจสอบข้อผิดพลาดได้มากถึงสองบิต

มันทำงานได้ดังต่อไปนี้ ลองนึกภาพหรือ0 1ถ้าฉันอ่านแล้วฉันก็ต้องหวังว่าฉันจะอ่านสิ่งที่ถูกต้อง ถ้า 0 ถูกพลิกเป็น 1 โดยรังสีคอสมิกบางตัวหรือโดยชิปที่ไม่ดีดังนั้นฉันจะไม่มีทางรู้

ในอดีตเราพยายามแก้ไขด้วยความเท่าเทียมกัน ความเท่าเทียมกันคือการเพิ่มบิตที่เก้าต่อ 8 บิตที่เก็บไว้ เราตรวจสอบจำนวนศูนย์และจำนวน 1 ในไบต์ เก้าถูกตั้งค่าให้เป็นเลขคู่ (สำหรับความเท่าเทียมกัน) หากคุณเคยอ่านไบต์และตัวเลขผิดคุณก็รู้ว่ามีบางอย่างผิดปกติ คุณไม่ทราบว่าผิดบิตใด

ECC ขยายตัวในเรื่องนั้น มันใช้ 10 บิตและอัลกอริทึมที่ซับซ้อนเพื่อค้นหาเมื่อบิตเดียวพลิก นอกจากนี้ยังรู้ว่ามูลค่าเดิมคืออะไร วิธีง่ายๆในการอธิบายว่ามันจะเป็นเช่นนี้:

แทนที่ทั้งหมด0s 000พร้อมด้วย แทนที่ทั้งหมด1s 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 ของการจัดเก็บแนะนำโดยคำแนะนำบางอย่าง

อีกสองสิ่ง:

  1. ฉันไม่เห็นอะไรเกี่ยวกับการเชื่อมต่อไดรฟ์ บอร์ดบางบอร์ดอาจมีพอร์ตสูงสุด 10 พอร์ต แต่สำหรับทุกอย่างที่คุณจะต้องใช้การ์ดเพิ่มเติม หากคุณพิจารณา RAID ฮาร์ดแวร์ควรวางแผนตั้งแต่ต้น
  2. ความล้มเหลวของไดรฟ์: คุณควรใช้ตัวคูณพอร์ต SATAแล้วดูอย่างระมัดระวังว่าพวกเขาทำอย่างไรหากไดรฟ์ SATA ล้มเหลว มันมักจะไม่สวย ไม่ใช่ปัญหาใหญ่สำหรับการติดตั้งในบ้าน แต่เป็นระดับองค์กรไม่มาก คุณอาจต้องพิจารณาว่าแต่ละไดรฟ์จัดการกับข้อผิดพลาดได้อย่างไร เหตุผลที่ไดรฟ์บางตัวระบุว่าเป็นของใช้ "NAS" หรือ "RAID" ก็เพราะข้อผิดพลาดนั้นแตกต่างจากไดรฟ์ทั่วไป ไม่มี RAID คุณต้องการให้ไดรฟ์ลองซ้ำหลาย ๆ ครั้งเท่าที่จะทำได้ ด้วย RAID คุณต้องการให้ไดรฟ์ล้มเหลวอย่างรวดเร็วเพื่อให้คุณสามารถอ่านจากสำเนาอื่นได้

5
การ upvoting เช่นนี้จริงตอบคำถามในขณะที่อื่น ๆ เป็นคำแนะนำที่เป็นประโยชน์มากขึ้น / anecdotal เราจะไม่สนใจว่ามันคดเคี้ยวไปเล็กน้อยก่อนที่จะไปยังส่วนลงทะเบียน vs unbuffered;)
ernie

1
ใช่มันคดเคี้ยว ฉันพยายามอย่างละเอียด แต่ฉันไม่ควรเป็นนักเขียน (นวนิยายหรือคู่มือ)
Hennes

เฮ้เราจะไม่สนใจว่าตอนแรกฉันหยุดอ่านเมื่อคุณเริ่มพูดถึงพลังและข้อกังวลอื่น ๆ . . ;)
ernie

1
นี่เป็นคำตอบที่ยอดเยี่ยมไม่สามารถสั้นและยังตอบคำถามทุกข้อได้เป็นอย่างดี ฉันเพิ่งแก้ไขในระดับปานกลางที่ทำให้ข้อความของคุณสะอาดซึ่งจะช่วยได้เมื่อมีการใช้งาน แม้แต่ลบคำขอโทษของคุณออกเพื่อตัดสองบรรทัด - คำตอบที่ยอมรับได้ที่นี่ไม่ค่อยเป็นประโยชน์ ฉันขยายความกังวลเกี่ยวกับการขจัดข้อมูลซ้ำซ้อนของ ZFS อย่างรวดเร็วและจัดการข้อผิดพลาดไดรฟ์ขณะที่ฉันอยู่ที่นั่น ตัดสินใจที่จะไม่รับการสั่นสะเทือนแม้ว่าจะเป็นปัญหากับ 24 ไดรฟ์ด้วย
Greg Smith

ขอบคุณสำหรับความกระจ่างที่ลงทะเบียนเทียบกับ unbuffered และเหตุผลที่จะไปกับ RDIMM
Mahmoud Al-Qudsi

1

สองประเด็นแยกกัน

ECC กับไม่ใช่ ECC

  • ใช้ ECC ไม่ว่าเวลาใดก็สำคัญ
  • ค่าใช้จ่ายมากกว่า - ต้องการ (ทวีคูณ) 9 ชิปแทน 8
  • เมนบอร์ดจะต้องรองรับการใช้งาน

ลงทะเบียน Vs Unbuffered:

  • สามารถมี RAM ทั้งหมด (มาก) รวมที่ติดตั้งไว้กับ DIMM ที่ลงทะเบียนแล้ว
    • ความเครียดไฟฟ้าน้อยลงบนอินเตอร์เฟซตัวควบคุมหน่วยความจำ
  • แต่ DIMM ที่ติดตั้งทั้งหมดจะต้องลงทะเบียนหรือไม่
    • ต้องลบ DIMMS ที่ไม่มีบัฟเฟอร์หากอัปเกรดเป็นลงทะเบียน
  • ยังมีราคาแพงกว่าและรอบการเข้าถึงช้าลง
    • Unbuffered คือเวลาแฝงที่ต่ำกว่าเล็กน้อยหากเป็นเช่นนั้น
    • การเข้าถึงแบบสุ่มทั้งหมดใช้เวลาหลายรอบอยู่แล้ว
    • หมายเหตุเวลาในการตอบสนองการเข้าถึงแบบสัมบูรณ์ (เวลาเป็นนาโนวินาที) ยังไม่ได้รับการปรับปรุงมากนักจากประวัติการใช้ DRAM ในพีซี
      • ต้นทุนความจุและแบนด์วิดท์ดีขึ้นอย่างมากแทน
      • แคชหน่วยความจำจะซ่อนเวลาแฝงสำหรับการเข้าถึงหน่วยความจำส่วนใหญ่
    • เวลาแฝงที่นานขึ้นทำให้ประสิทธิภาพการทำงานของเธรดแบบเรียลไทม์มากที่สุด
      • มักจะไม่ส่งผลกระทบต่อกรณีการใช้งาน 'เซิร์ฟเวอร์' มากนัก
    • ไม่แตกต่างกันเล็กน้อยในแบนด์วิดท์และประสิทธิภาพโดยรวม
      • แบนด์วิดท์การเข้าถึงตามลำดับไม่ได้รับผลกระทบ
      • แคช L2 / L3 หมายถึงรูปแบบการเข้าถึงที่เกิดขึ้นจริงส่วนใหญ่จะแทนที่แถวในแคชในแต่ละครั้งดังนั้นโดยทั่วไปแล้วจะมีการเข้าถึงแบบ 'แตก'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.