SERVER [Chapter 1.5] Chipkill,SDDC, DDDC,rank spare,memory miorroing

Discussion in 'Memory' started by root, Nov 16, 2016.

  1. root

    root Active Member

    Joined:
    Dec 31, 2012
    Messages:
    1,163
    Likes Received:
    18
    Trophy Points:
    38

    Chipkill, SDDC, DDDC, rank spare, memory miorroing

    2.4. Những công nghệ sửa lỗi nâng cao

    • Mỗi CPU cung cấp 8 slot cho DDR3 trong 2 bank và 4 channel.
    • Nếu bạn cần hơn 8 slot bạn phải cấu hình CPU thứ 2
    • Các thanh RAM được hỗ trợ: UDIMM, RDIMM và LRDIMM
    single-rank, dual rank Memory(1)

    Memory Bank (1)

    2.4.1. SDDC - Single Device Data Correction

    Công nghệ chipkill được giới thiệu từ cuối những năm 90 bởi IBM. Công nghệ này được phát triển chủ yêu để sử dụng trong các hệ thống không gian (cho NASA).

    Chipkill được thiết kế để đảm bảo độ ổn định cho hệ thống thống. Chipkill còn được gọi với những cái tên khác như Advanced ECC, viết tắt cho các tính năng trong module bộ nhớ ECCC và SDDC (Single Device Data Correction / Intel).
    • Đây là những Module bộ nhớ ECC đặc biệt với công nghệ được sử dụng sửa lỗi bổ sung lên đến 4 bit và 8 bit phát hiện lỗi.
    Các hệ thống Sun Microsystems gọi tính năng này là Extended ECC, HP gọi là Chipspare và Intel gọi là SDDC.

    Cơ chế hoạt động của Advanced:
    • Advanced ECC có thể sửa lỗi đa bit trong một chip DRAM. Vì vậy, nó hoàn toàn có thể sửa lỗi của DRAM Chip.
    • Trong Advanced ECC với 4-bit bộ nhớ, mỗi chip đóng góp 4-bit dữ liệu. 4-bit từ mỗi chip được phân phối cho 4 thiết bị ECC (1 bit trên 1 thiết bị ECC). Vì vậy, một lỗi trong một chip có thể tạo ra 4 lỗi đơn bit riêng rẽ.
    SDDC - Single Device Data Correction

    Vì mỗi thiết bị ECC có thể sửa các lỗi đơn bit, Advanced ECC thực sự có thể sửa lỗi đa bit xảy ra trong môt DRAM chip.

    Bảng so sánh ECC và Advanced ECC

    ECC vs Advanced ECC

    • Mặc dù Advanced ECC có thể sửa được lỗi đa bit trên một DRAM chip. Nhưng Advanced ECC không cung cấp khả năng chuyển đổi dự phòng lỗi. Nếu một bộ nhớ bị lỗi, hệ thống phải shutdown trước khi bộ nhớ được thay thế.

    2.4.2. DDDC - double-device data correction

    DDDC là một phương pháp mạnh mẽ và hiệu quả hơn so với Memory Sparing. Memory Sparing chỉ có thể dự phòng cho 1 cây RAM bị hư. Trong trường hợp 2 cây RAM liên tiếp bị hư thì hệ thống phải ngừng hoạt động. DDDC cho phép hệ thống hoạt động bình thường trong trường hợp 2 cây RAM bất kỳ bị hư.

    Intel gọi DDDC với thuật ngữ lockstep Memory để mô tả cách bố trí bộ nhớ đa kênh (multi-channel). Trong đó cache được phân phối giữa 2 kênh bộ nhớ, do đó một nữa cache được lưu trong DIMM của Channel đầu tiên, trong khi một nữa cache còn lại lưu trên channel thứ 2 của DIMM.


    DDDC - double-device data correction

    • DDDC sử dụng 4 chip trong 2 DIMM
      • 2 chip CRC
      • 1 chip làm Parity
      • 1 chip làm Spare
    • Nếu một chip bị lỗi thì chip spare sẽ thay thế chip lỗi. Sau đó nếu một chip khác bị lỗi thì SDDC sẽ xử lý. Vì vậy, DDDC cho phép phục hồi 2 chip lỗi liên tiếp trên một DIMM.

    2.4.3. Rank Spare memory

    Chế độ Rank Spare Memory là một mức độ cao hơn của bảo vệ bộ nhớ để bổ sung cho chế độ Advanced ECC.

    Trong một kênh của RAM, một RANK sẽ làm spare cho những Rank còn lại. Rank Sapre giúp dự trữ khi RAM bị hư và nó không sẵn sàng trong hệ thống bộ nhớ.

    Nếu một DIMM khác vượt quá tỷ lệ ngưỡng của những lỗi bộ nhớ có thể sửa, kết quả là ảnh hưởng đến RANK Memory trong DIMM thì DIMM sẽ thực hiện offline và dữ liệu được sao chép đến RANK Spare Rank.

    Khả năng này giúp trì khả năng sẵn sàng của máy chủ và độ tin cậy của bộ nhớ mà không cần can thiệp vào máy chủ hoặc làm gián đoạn máy chủ. DIMM bị hư có thể được thay thế tại site khách hàng.

    Rank Spare memory


    2.4.4. Memory mirroring

    Có khả năng dự phòng một nữa số RAM.

    Có thể so sánh Memory Mirroring với RAID 1 trong Storage. Nếu một lỗi xảy ra trong bộ nhớ của một kênh (channel) thì bộ điều khiển bộ nhớ sẽ đổi chỗ cặp kênh mà không làm gián đoạn và cặp kênh có thể tái đồng bộ khi việc sữa chữa được hoàn thành. Những bất lợi trong Memory Mirroring cũng giống như trong RAID 1 là chi phí bộ nhớ phải tăng gấp đôi bởi vì nội dung bộ nhớ được nhân đôi.

    Memory mirroring

    Tăng bộ nhớ cho phép nâng cao mức độ hợp nhất, và độ tin cậy của bộ nhớ ảnh hưởng đến độ tin cậy của tất cả các máy ảo đang hoạt động trên máy chủ. Các tính năng bộ nhớ nâng cao bao gồm: fault-tolerant memory mirroring and memory sparing. Trong Sparing mode, nó sẽ thiết lập một ngưỡng lỗi cho phép, khi đạt đến ngưỡng đó, nội dung dữ liệu sẽ được sao chép đến vùng Spare của nó và bản sao dự phòng sẽ được kích hoạt để sử dụng. Mirroring có thể được sử dụng cùng với Memory spare để cho phép cài đặt các module hot-spare memory, mà máy chủ có thể sử dụng nếu phát hiện vấn đề với một module Memory active.

    Memory Mirroring là một kỹ thuật được sử dụng để tách biệt bộ nhớ vào trong 2 kênh riêng biệt, thường được sử dụng trên Memory của máy chủ. Trong Memory Mirroring, một channel được sao chép đến 1 channel khác để tạo ra sự dự phòng. Phương thực này làm cho Input/ouput (IO) đăng ký vào bộ nhớ xuất hiện nhiều hơn 1 dãi địa chỉ bởi vì các byte vật lý có thể truy xuất tại nhiều địa chỉ. Sử dụng Memory Mirroring cho độ tin cậy bộ nhớ cao hơn.

    Ưu điểm:
    • Trong trường hợp lỗi xảy ra, giống như Dual In-line Memory Module (DIMM) bị lỗi, toàn bộ hệ thống vẫn không bị ảnh hưởng và hoạt động bình thường, cho phép các tiến trình vẫn tiếp tục mà không có thời gian chết.

    • Điều này là do bộ điều khiển bộ nhớ chuyển đến một kênh (channel) khác mà không có bất kỳ sự guán đoạn nào, và việc đồng bộ giữa các kênh được thiết lập lại sau khi việc vấn đề được giải quyết.

    • Với bộ vi xử lý bộ nhớ, Memory Mirroring giúp đạt được sự thống nhất cao giữa các bộ nhớ.

    • Nó độc lập với hệ điều hành, vì nó được xây dựng trong bộ điều khiển của bộ nhớ (Memory Controller).

    • Nó có thể kết hợp với Memory Sparing và cài đặt các các module hot spare memory khác, khi cần thiết.

    • Nó cung cấp bảo vệ toàn diện cho lỗi đơn bít hoặc lỗi đa bit.
    Nhược điểm:
    • Nhược điểm chính của Memory Mirroring là chi phí cho bộ nhớ cao để tạo sự dự phòng này.

    2.4.5. Memory Scrubbing

    • Các chip nhớ máy tính ngày nay có kiến trúc bộ nhớ đủ nhỏ, mật độ tích hợp cao đủ đế có thể bị ảnh hưởng bởi các bức xạ tự nhiên (như các tia trong vũ trụ hay các hạt alpha) các bức xạ này có thể làm thay đổi nội dung của bộ nhớ và không nhất quán điều này được xem là lỗi phần mềm "soft errors". Xác suất một soft-errors tại một bit nhớ là rất nhỏ. Tuy nhiên, cùng với số lượng bit trên bộ nhớ càng lớn như ngày nay, đặc biệt là các máy chủ với thời gian hoạt động dài thì xác suất soft-errors trên tổng bộ nhớ là rất đáng kể. Scrubbing là phương pháp hiệu quả để sửa những lỗi này.

    • Memory Scrubbing được thiết kế để phát hiện sớm và sửa những lỗi bộ nhớ bằng ECC. Nó bao gồm Demand Scrubbing kiểm tra lỗi tại bộ nhớ Realtime, và kiểm tra lỗi định kì bởi Potrol Scubbing. Patrol Scubbing tiến hành quét toàn bộ bộ nhớ trong khi các địa chỉ bộ nhớ vẫn tiếp tục tăng lên.
    Memory Scrubbing

    • Memory Scubbing giúp loại bỏ dữ liệu hư và làm sạch dữ liệu, là một kỹ thuật sữa lỗi với một tiến trình chạy ngầm (background) định kì sẽ kiểm tra nội dung của bộ nhớ và sữa bất kỳ lỗi nào hoặc bất kỳ sự thiếu nhất quán nào.

    • Memory Scrubbing đọc từ mỗi vị trí của bộ nhớ máy tính, sữa lỗi bit (nếu có) và ghi dữ liệu đã được sữa chữa lại cùng một vị trí trên bộ nhớ.
     
    Last edited: Nov 16, 2016

Share This Page