ECC đã đăng ký so với ECC không có bộ đệm


15

Tôi muốn xây dựng một máy chủ lưu trữ (dựa trên GNU / Linux hoặc FreeBSD) sẽ luôn luôn hoạt động. Để ngăn ngừa tham nhũng dữ liệu (điều không thể xảy ra vì tôi chưa bao giờ gặp sự cố như vậy, nhưng tốt hơn là an toàn hơn xin lỗi) tôi muốn sử dụng RAM ECC.

Mặc dù không tốt như EDD (?) (Đó là cách đắt hơn) và cung cấp bảo vệ bổ sung. ECC dường như chỉ sửa các lỗi bit đơn.

RAM đã đăng ký ECC chỉ có thể sử dụng được với các bo mạch máy trạm / máy chủ như Intel Xeon hoặc AMD interlagos / magny-cours / valencia g34 hoặc c32.

ECC không có bộ đệm có thể sử dụng trên Intel Xeon lga1155 hoặc AMD AM3 + trên bo mạch Asus.

Tùy chọn thứ hai sẽ rẻ hơn nhiều về phía bộ xử lý và bo mạch chủ, và tôi nghi ngờ rằng tôi sẽ cần nhiều hơn 16 GB RAM (4 GB ECC không có bộ đệm là những cây gậy có giá cả phải chăng lớn nhất).

Nghi ngờ tôi có (chủ yếu liên quan đến bo mạch asus am3 +): RAM không có bộ đệm ECC có tốt như RAM đã đăng ký ECC (từ quan điểm về an toàn và độ tin cậy) không? Hoặc nó là một lựa chọn tồi tệ hơn. Tôi không quan tâm nhiều đến tốc độ.

Thêm chi tiết: máy chủ sẽ sử dụng vỏ máy chủ có ổ đĩa lên tới 24 x 3,5 '' và nên tiêu thụ ít nhất có thể. LGA1155 dường như theo nghĩa đó là đặt cược tốt hơn (TDP ~ 20-95W) so với các loại khác (> 80W) với giá gấp đôi. Bất kỳ đề nghị đều được chào đón. Giả sử dưới 120W ở chế độ rảnh (~ với 10 đĩa cứng trong số 24).


1
Hỏi về SuperUser sẽ giúp bạn có câu trả lời SuperUser. Hỏi trên ServerFault sẽ giúp bạn trả lời ServerFault. Nhận cú trượt của tôi?
Chad Harrison

Câu hỏi thường gặp nêu các câu hỏi về phần cứng có thể được thực hiện trên superuser ...
user51166

@hydroparadise Kiểm tra Câu hỏi thường gặp - chúng tôi cho phép tất cả các câu hỏi về phần cứng.
Simon Sheehan

Sry, tôi nghĩ rằng đó là giả định. Chỉ được đề cập rằng từ phía HĐH có thể có những cân nhắc khác nhau về cách xử lý ECC bởi vì điều này sẽ hoàn toàn trở thành một ứng dụng máy chủ.
Chad Harrison

1
Vừa đủ. Hầu hết thời gian chipset sẽ xử lý hiệu chỉnh ECC (nếu có). Bạn không cần phải khai thác những thứ từ HĐH. (Tuy nhiên, bạn có thể sử dụng DMI để nhận thông tin về các lỗi ECC hoặc QPI.)
Hennes

Câu trả lời:


-2

Chà, nếu bạn chỉ sử dụng 16GB RAM - không phải là phạm vi RAM máy chủ - bạn sẽ ổn với bất kỳ RAM / sys máy tính để bàn nào.

Nếu nó chỉ là một máy chủ lưu trữ, bạn thậm chí sẽ không cần nhiều hiệu năng CPU.

Giống như bạn đã nói, đi với cầu Sandy, nó sẽ cung cấp cho bạn một hệ thống tuyệt vời, hiệu quả và đáng tin cậy.

Nói về phạm vi RAM 16 GB, bạn không phải lo lắng về công cụ ECC.


Cảm ơn bạn đã trả lời nhanh chóng. Tôi mặc dù trên 4GB RAM, bạn sẽ cần ECC. Chắc chắn với RAM 256GB hoặc nửa TB RAM ECC là PHẢI. Nhưng tôi mặc dù 16GB là giới hạn ... Dù sao thì nó cũng lạ ... một chiếc Sandybridge Xeon 4C / 8T có giá thấp hơn 100 đô la (ở chỗ tôi) so với CPU máy tính để bàn tương đương. Tổng chi phí là ~ như nhau. Không có nhược điểm trên ECC ở đây. Bạn có chắc chắn rằng ECC là không cần thiết ???
dùng51166

@ user51166 chắc chắn 100%. 16GB giống như tiêu chuẩn hiện nay trên các giàn trung / cao cấp.
inf

2
Thực tế đó là tiêu chuẩn defacto không nhất thiết có nghĩa là nó đủ đáng tin cậy. Đã đọc về các trường hợp trên internet, nơi tất cả dữ liệu trên đĩa bị hỏng trên ổ cứng không phải vì bộ điều khiển SATA, mà vì RAM (không phải ecc) xấu.
dùng51166

1
@ user51166 Hãy nói với anh chàng đã nói rằng, phi ECC chắc chắn không phải là vấn đề của anh ta.
inf

1
"ECC đã đăng ký> ECC không có bộ đệm" Không / đôi khi. ECC chưa được đăng ký / chưa đăng ký sẽ thực sự nhanh hơn. Bộ đệm / đăng ký ECC sẽ có ít nhất một hành động đăng ký chậm hơn nhưng bạn có thể thêm nhiều DIMM vào kênh bộ nhớ. (Và nhiều bộ nhớ hơn CÓ THỂ làm cho hệ thống của bạn nhanh hơn, ngay cả khi độ trễ tăng). Vì vậy, thay vào đó một câu trả lời "Có / không" khó là "nó phụ thuộc".
Hennes

45

ECC dường như chỉ sửa các lỗi bit đơn.

Chính xác. Để sửa nhiều lỗi hơn sẽ cần nhiều bit hơn. Như vậy, bạn đã sử dụng 10 bit để lưu trữ 8 bit thông tin, 'lãng phí' 20% chip bộ nhớ để cho phép sửa một bit và tối đa hai bit phát hiện lỗi.

Nó hoạt động như sau. Hãy tưởng tượng một 0hoặc một 1. Nếu tôi đọc một trong hai thì tôi chỉ cần hy vọng tôi đọc đúng. Nếu một số 0 bị lật xuống 1 bởi một bức xạ vũ trụ hoặc bởi một con chip xấu thì tôi sẽ không bao giờ biết được.

Trong quá khứ chúng tôi đã cố gắng giải quyết điều đó với sự tương đương. Chẵn lẻ đã thêm một bit thứ chín trên 8 bit được lưu trữ. Chúng tôi đã kiểm tra có bao nhiêu số không và có bao nhiêu số 1 trong byte. Số thứ chín được thiết lập để làm cho số đó chẵn. (đối với tính chẵn lẻ) Nếu bạn từng đọc một byte và số đó sai, thì bạn biết có gì đó không đúng. Bạn không biết bit nào sai.

ECC mở rộng về điều đó. Nó sử dụng 10 bit và một thuật toán phức tạp để khám phá khi một bit đơn được lật. Nó cũng biết giá trị ban đầu là gì. Một cách rất đơn giản để giải thích nó sẽ như thế nào:

Thay thế tất cả 0bằng s 000. Thay thế tất cả 1bằng s 111.

Bây giờ bạn có thể đọc sáu kết hợp:
000
001
010
100
101
111

Chúng tôi không bao giờ chắc chắn 100% những gì được lưu trữ ban đầu. Nếu chúng ta đọc 000thì đó có thể chỉ là những 000gì chúng ta mong đợi, hoặc cả ba bit có thể đã bị lật. Điều thứ hai là rất khó xảy ra. Bit không lật ngẫu nhiên, mặc dù nó xảy ra. Hãy nói rằng điều đó xảy ra một trong mười lần cho một số tính toán dễ dàng (thực tế là ít hơn nhiều). Điều đó giải quyết các cơ hội sau đây để đọc giá trị chính xác:

000-> Hoặc 000(chắc chắn 99,9%) hoặc lật ba lần (cơ hội 1/1000)

001-> Chúng tôi biết có gì đó không ổn. Nhưng nó đã bị 000lật và một bit (cơ hội 1:10), hoặc là 111hai bit đã bị lật (cơ hội 1: 100). Vì vậy, hãy coi nó như thể chúng ta đọc 000nhưng ghi lại lỗi.

010 -> Tương tự như trên.

100 -> Tương tự như trên.

011 -> Tương tự như trên, nhưng giả sử đó là một 111

101 -> Tương tự như trên, nhưng giả sử đó là một 111

110 -> Tương tự như trên, nhưng giả sử đó là một 111

111-> Hoặc 111(chắc chắn 99,9%) hoặc lật ba lần (cơ hội 1/1000)

111-> Hoặc 000(chắc chắn 99,9%) hoặc lật ba lần (cơ hội 1/1000)

ECCs thực hiện các thủ thuật tương tự nhưng thực hiện nó hiệu quả hơn. Đối với 8 bit (một byte) họ chỉ sử dụng 10 bit để phát hiện và sửa lỗi.


RAM đã đăng ký ECC chỉ có thể sử dụng được với bo mạch máy trạm / máy chủ ECC không có bộ đệm có thể sử dụng được trên Intel Xeon lga1155 hoặc AMD AM3 + trên bo mạch Asus.

Tôi đã đề cập đến phần ECC là gì, bây giờ là phần đã đăng ký và không có bộ đệm.

Trong các CPU hiện đại, bộ điều khiển bộ nhớ nằm trên CPU chết, bắt đầu từ lâu đối với các chip AMD Opteron và với dòng Core i cho Intel. Hầu hết các CPU máy tính để bàn sau đó nói chuyện trực tiếp với các ổ cắm DIMM giữ RAM. Nó hoạt động và không cần logic thêm. Đó là giá rẻ để xây dựng và tốc độ cao vì không có độ trễ đi từ bộ điều khiển bộ nhớ đến RAM.

Nhưng bộ điều khiển bộ nhớ chỉ có thể điều khiển dòng điện giới hạn ở tốc độ cao. Điều này có nghĩa là có giới hạn về số lượng ổ cắm bộ nhớ có thể được thêm vào bo mạch chủ. (Và để làm cho nó phức tạp hơn, với số lượng DIMM có thể sử dụng, dẫn đến thứ hạng bộ nhớ. Tôi sẽ bỏ qua điều này vì nó đã dài rồi).

Trên bo mạch máy chủ, bạn thường muốn sử dụng nhiều bộ nhớ hơn hệ thống máy tính để bàn. Do đó, bộ đệm "đăng ký" được thêm vào bộ nhớ. Đọc từ các chip trên DIMM trước tiên được sao chép vào bộ đệm này. Một chu kỳ xung nhịp sau bộ đệm này kết nối với bộ điều khiển bộ nhớ để truyền dữ liệu.

Bộ đệm / đăng ký này làm trì hoãn mọi thứ, làm cho bộ nhớ chậm hơn. Đó là điều không mong muốn và do đó nó chỉ được sử dụng / cần thiết trên các bảng có nhiều ngân hàng bộ nhớ. Hầu hết các bảng tiêu dùng không cần điều này và hầu hết các CPU tiêu dùng không hỗ trợ nó.

Kết nối trực tiếp, RAM không có bộ đệm so với bộ đệm / bộ nhớ RAM đã đăng ký không phải là trường hợp cái này tốt hơn hay kém hơn cái kia. Họ chỉ có sự đánh đổi khác nhau về số lượng khe cắm bộ nhớ mà bạn có thể có. RAM đã đăng ký cho phép nhiều RAM hơn với chi phí của một số tốc độ (và có thể là chi phí). Trong hầu hết các trường hợp bạn cần càng nhiều bộ nhớ càng tốt, bộ nhớ thêm đó nhiều hơn bù cho RAM chạy ở tốc độ chậm hơn một chút.

Nghi ngờ tôi có (chủ yếu liên quan đến bo mạch asus am3 +): RAM không có bộ đệm ECC có tốt như RAM đã đăng ký ECC (từ quan điểm về an toàn và độ tin cậy) không? Hoặc nó là một lựa chọn tồi tệ hơn. Tôi không quan tâm nhiều đến tốc độ. **

Từ quan điểm về an toàn và ổn định, không đăng ký ECC và đăng ký ECC là như nhau.


Thêm chi tiết: máy chủ sẽ sử dụng vỏ máy chủ với tối đa 24 x 3 '' và nên tiêu thụ ít nhất có thể.

24 ổ đĩa sẽ tiêu thụ rất nhiều năng lượng. Bao nhiêu phụ thuộc vào các ổ đĩa. Ổ đĩa SAS 15 GB tốc độ 15 GB RPM của tôi chỉ vẽ 10 watt ở chế độ rảnh, giống như đĩa 1TB SATA 7k2. Lúc sử dụng cả vẽ thêm.

Nhân số đó với 24. 24x10 watt khi không hoạt động có nghĩa là 240 watt chỉ giữ cho đĩa đĩa quay tròn, vượt qua sức cản không khí. Double-ish mà được sử dụng.


LGA1155 dường như theo nghĩa đó là đặt cược tốt hơn (TDP ~ 20-95W) so với các loại khác (> 80W) với giá gấp đôi.

Intel tốt hơn ở CPU có công suất thấp, tại thời điểm viết và cho CPU mà bạn đã đề cập.

Bất kỳ đề nghị đều được chào đón. Giả sử dưới 120W ở chế độ rảnh (~ với 10 đĩa cứng trong số 24).

Nếu bạn dùng FreeBSD, hãy xem ZFS. Nó có thể là tuyệt vời. Nhiều tính năng nâng cao hơn của nó (ví dụ như sao chép và / hoặc nén) sử dụng sức mạnh CPU nghiêm trọng và muốn có nhiều bộ nhớ. ZFS để sử dụng cơ bản với ZRAID sẽ hoạt động tốt trên cả hai bộ CPU bạn đã đề cập và với 16 GB, nhưng nếu bạn bật các tính năng như sao chép, bạn nên xem xét kỹ bộ nhớ được đề nghị cho dung lượng đĩa của bạn; tối đa 5GB cho mỗi TB lưu trữ được khuyến nghị bởi một số hướng dẫn .

Hai điều nữa:

  1. Tôi không thấy gì về việc kết nối các ổ đĩa. Một số bo mạch có thể lên tới 10 cổng SATA. Nhưng đối với bất cứ điều gì hơn thế, bạn sẽ cần thẻ bổ trợ. Nếu bạn xem xét RAID phần cứng thì có lẽ tốt nhất là lập kế hoạch đó ngay từ đầu.
  2. Lỗi ổ đĩa: Bạn có nên sử dụng hệ số nhân cổng SATA sau đó xem xét kỹ cách chúng hoạt động nếu ổ đĩa SATA bị lỗi. Nó thường không đẹp. Không phải là một vấn đề lớn đối với một thiết lập nhà, nhưng rất nhiều không phải là cấp doanh nghiệp. Bạn có thể cần phải xem xét cách các ổ đĩa cá nhân xử lý lỗi quá. Lý do một số ổ đĩa được gắn nhãn là sử dụng "NAS" hoặc "RAID" là vì chúng xử lý các lỗi khác với các ổ đĩa thông thường. Không có RAID, bạn muốn ổ đĩa thử lại nhiều lần nhất có thể. Với RAID, bạn muốn ổ đĩa bị hỏng nhanh chóng , vì vậy bạn có thể đọc từ một bản sao khác.

5
Nâng cao vì điều này thực sự trả lời câu hỏi, trong khi khác là lời khuyên thực tế / giai thoại hơn. Chúng tôi sẽ bỏ qua rằng nó uốn khúc một chút trước khi đăng ký so với phần không có bộ đệm;)
ernie

1
Vâng, nó uốn khúc. Tôi đã cố gắng thấu đáo nhưng tôi thực sự không nên trở thành một nhà văn. (hoặc hư cấu hoặc hướng dẫn sử dụng).
Hennes

Heh, chúng tôi cũng sẽ bỏ qua rằng ban đầu tôi đã ngừng đọc khi bạn bắt đầu giải quyết quyền lực và các mối quan tâm khác. . . ;)
ernie

1
Đây là một câu trả lời tuyệt vời, nó không thể ngắn hơn và vẫn giải quyết tất cả các câu hỏi rất tốt. Tôi vừa thực hiện một chỉnh sửa vừa phải giúp dọn dẹp văn bản của bạn sẽ giúp ích khi nó được áp dụng. Thậm chí xóa lời xin lỗi của bạn để cắt hai dòng - câu trả lời được chấp nhận ở đây không hữu ích lắm. Tôi đã mở rộng ngắn gọn về mối quan tâm chống trùng lặp ZFS và xử lý lỗi trong khi tôi ở đó. Quyết định không bị rung, mặc dù điều đó cũng sẽ là một vấn đề với 24 ổ đĩa.
Greg Smith

Cảm ơn bạn đã làm rõ đăng ký so với không có bộ đệm và lý do để đi với RDIMM.
Mahmoud Al-Qudsi

1

Hai vấn đề riêng biệt.

ECC Vs không ECC

  • sử dụng ECC bất cứ khi nào thời gian hoạt động là quan trọng
  • chi phí nhiều hơn - cần (bội số) 9 chip thay vì 8
  • bo mạch chủ phải hỗ trợ nó để sử dụng nó

Đã đăng ký Vs Unbuffered:

  • Có thể có (nhiều) tổng số RAM được cài đặt với DIMM đã đăng ký
    • Ít biến dạng điện trên giao diện bộ điều khiển bộ nhớ
  • Nhưng tất cả các DIMM được cài đặt phải được đăng ký hoặc không
    • phải xóa DIMMS không có bộ đệm nếu nâng cấp lên Đăng ký
  • Cũng đắt hơn, và một chu kỳ truy cập chậm hơn
    • Không có bộ đệm có độ trễ thấp hơn một chút, nếu đó là vấn đề
    • tất cả các truy cập ngẫu nhiên mất nhiều chu kỳ
    • Lưu ý độ trễ truy cập tuyệt đối (thời gian tính bằng nano giây) đã không được cải thiện nhiều so với lịch sử sử dụng DRAM trong PC
      • Thay vào đó, chi phí, dung lượng và băng thông được cải thiện đáng kể
      • bộ nhớ cache che giấu độ trễ cho hầu hết các truy cập bộ nhớ
    • Độ trễ dài hơn làm tổn thương hiệu năng của một luồng 'thời gian thực' nhất
      • thường không ảnh hưởng nhiều đến các trường hợp sử dụng 'máy chủ'
    • Không / sự khác biệt tối thiểu về băng thông và hiệu suất tổng thể
      • băng thông truy cập tuần tự không bị ảnh hưởng
      • Bộ nhớ cache L2 / L3 có nghĩa là các mẫu truy cập thực tế chủ yếu thay thế các hàng tại một thời điểm trong bộ đệm, do đó, thường là các truy cập 'cụm'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.