System Management Bus, SMBUS là gì

Bus  quản lý hệ thống  ( SMBus  hoặc  SMB ) là bus hai dây đơn giản một đầu dùng cho mục đích giao tiếp nhẹ. Thường thấy nhất là trong chipset của bo mạch chủ máy tính để giao tiếp với nguồn điện cho lệnh BẬT/TẮT. Chức năng chính xác và giao diện phần cứng khác nhau tùy theo nhà cung cấp.

Nó bắt nguồn từ I²C để giao tiếp với các thiết bị băng thông thấp trên bo mạch chủ, đặc biệt là các chip liên quan đến nguồn điện như hệ thống pin sạc của máy tính xách tay (xem Hệ thống pin thông minh và ACPI). Các thiết bị khác có thể bao gồm máy chủ chính bên ngoài, cảm biến nhiệt độ, cảm biến quạt hoặc điện áp, công tắc nắp, bộ tạo xung nhịp và đèn RGB. Các thẻ bổ sung Kết nối thành phần ngoại vi (PCI) có thể kết nối với phân đoạn SMBus.

Một thiết bị có thể cung cấp thông tin nhà sản xuất, chỉ ra số model/bộ phận của nó, lưu trạng thái của nó cho sự kiện tạm dừng, báo cáo các loại lỗi khác nhau, chấp nhận các tham số điều khiển, trả về trạng thái qua SMBus và thăm dò các thanh ghi chipset. SMBus thường không thể cấu hình hoặc truy cập được bởi người dùng. Mặc dù các thiết bị SMBus thường không thể xác định chức năng của chúng, một liên minh PMBus mới đã mở rộng SMBus để bao gồm các quy ước cho phép điều đó.

SMBus được Intel và Duracell định nghĩa vào năm 1994. Nó mang theo xung nhịp, dữ liệu và hướng dẫn và dựa trên giao thức bus nối tiếp I²C của Philips. Dải tần số xung nhịp của nó là 10 kHz đến 100 kHz. (PMBus mở rộng đến 400 kHz.) Mức điện áp và thời gian của nó được định nghĩa chặt chẽ hơn so với I²C, nhưng các thiết bị thuộc về hai hệ thống này thường được trộn thành công trên cùng một bus. 

SMBus được sử dụng làm kết nối trong một số tiêu chuẩn quản lý nền tảng bao gồm: Định dạng chuẩn cảnh báo (ASF), Kiến trúc máy tính để bàn và thiết bị di động cho phần cứng hệ thống (DASH), Giao diện quản lý nền tảng thông minh (IPMI).

SMBus được sử dụng để truy cập thông tin cấu hình DRAM như một phần của phát hiện sự hiện diện nối tiếp (SPD). SMBus đã phát triển thành nhiều trường hợp sử dụng liệt kê hệ thống khác ngoài quản lý nguồn điện.

Khả năng tương tác SMBus/I²C

Mặc dù SMBus có nguồn gốc từ I²C nhưng có một số khác biệt chính giữa thông số kỹ thuật của hai bus này về mặt điện, thời gian, giao thức và chế độ hoạt động.

Điện

Điện áp đầu vào ( IL  và  IH )

Khi trộn các thiết bị, thông số kỹ thuật I²C xác định mức đầu vào là 30% và 70% điện áp cung cấp  DD , có thể là 5 V, 3,3 V hoặc một số giá trị khác. Thay vì liên hệ mức đầu vào bus với  DD , SMBus xác định chúng được cố định ở 0,8 và 2,1 V. SMBus 2.0 hỗ trợ  DD  trong phạm vi từ 3 đến 5 V. SMBus 3.0 hỗ trợ  DD  trong phạm vi từ 1,8 đến 5 V và  IH  = 1,35 V.

Dòng điện chìm ( IOL )

SMBus 2.0 định nghĩa lớp ‘Công suất cao’ bao gồm dòng điện chìm 4 mA không thể được điều khiển bởi chip I²C trừ khi điện trở kéo lên được định cỡ theo mức bus I²C.

Thiết bị NXP có bộ đặc tính điện công suất cao hơn SMBus 1.0. Sự khác biệt chính là khả năng tản dòng điện với  OL  = 0,4 V.

  • SMBus công suất thấp = 350 μA
  • Công suất cao của SMBus = 4 mA
  • Bus I²C = 3 mA

Các thiết bị ‘công suất cao’ SMBus và các thiết bị I²C-bus sẽ hoạt động cùng nhau nếu điện trở kéo lên có kích thước là 3 mA.

Tần số ( MAX  và  MIN )

Đồng hồ SMBus được xác định từ 10 đến 100 kHz trong khi I²C có thể là 0–100 kHz, 0–400 kHz, 0–1 MHz và 0–3,4 MHz, tùy thuộc vào chế độ. Điều này có nghĩa là bus I²C chạy ở tần số dưới 10 kHz sẽ không tuân thủ SMBus vì các thiết bị SMBus có thể hết thời gian chờ. Tuy nhiên, nhiều thiết bị SMBus sẽ hỗ trợ tần số thấp hơn.

SMBus 3.0 bổ sung tốc độ bus 400 kHz và 1 MHz.

Thời gian

  • SMBus định nghĩa thời gian chờ xung nhịp thấp, TIMEOUT là 35 ms. I²C không chỉ định bất kỳ giới hạn thời gian chờ nào.
  • SMBus chỉ định T LOW:SEXT  là thời gian mở rộng xung nhịp thấp tích lũy cho thiết bị phụ. I²C không có thông số kỹ thuật tương tự.
  • SMBus chỉ định T LOW:MEXT  là thời gian mở rộng xung nhịp thấp tích lũy cho thiết bị chính. Một lần nữa, I²C không có thông số kỹ thuật tương tự.
  • SMBus xác định cả thời gian tăng và giảm của tín hiệu bus. I²C thì không.
  • Thông số kỹ thuật thời gian chờ SMBus không ngăn cản các thiết bị I²C hợp tác đáng tin cậy trên SMBus. Nhà thiết kế có trách nhiệm đảm bảo rằng các thiết bị I²C sẽ không vi phạm các thông số thời gian bus này.

Giao thức

Sử dụng ACK và NACK

Có những điểm khác biệt sau đây trong việc sử dụng tín hiệu bus NACK: Trong I²C, bộ thu slave được phép không xác nhận địa chỉ slave, ví dụ nếu nó không thể nhận vì đang thực hiện một số tác vụ thời gian thực. SMBus yêu cầu các thiết bị phải luôn xác nhận địa chỉ của chính chúng, như một cơ chế để phát hiện sự hiện diện của thiết bị có thể tháo rời trên bus (pin, đế cắm, v.v.)

I²C chỉ rõ rằng một thiết bị phụ, mặc dù có thể xác nhận địa chỉ của chính nó, có thể quyết định, sau một thời gian trong quá trình truyền, rằng nó không thể nhận thêm bất kỳ byte dữ liệu nào nữa. I²C chỉ rõ rằng thiết bị có thể chỉ ra điều này bằng cách tạo ra not acknowledge trên byte đầu tiên theo sau.

Ngoài việc chỉ ra tình trạng thiết bị bận của slave, SMBus còn sử dụng cơ chế NACK để chỉ ra việc tiếp nhận lệnh hoặc dữ liệu không hợp lệ. Vì tình trạng như vậy có thể xảy ra ở byte cuối cùng của quá trình truyền, nên các thiết bị SMBus phải có khả năng tạo ra thông báo không xác nhận sau khi truyền từng byte và trước khi hoàn tất giao dịch. Điều này rất quan trọng vì SMBus không cung cấp bất kỳ tín hiệu gửi lại nào khác. Sự khác biệt trong việc sử dụng tín hiệu NACK này có ý nghĩa đối với việc triển khai cụ thể của cổng SMBus, đặc biệt là trong các thiết bị xử lý dữ liệu hệ thống quan trọng như máy chủ SMBus và các thành phần SBS.

Giao thức SMBus

Mỗi giao dịch tin nhắn trên SMBus tuân theo định dạng của một trong các giao thức SMBus đã xác định. Các giao thức SMBus là một tập hợp con của các định dạng truyền dữ liệu được xác định trong các thông số kỹ thuật I²C. Các thiết bị I²C có thể được truy cập thông qua một trong các giao thức SMBus tương thích với các thông số kỹ thuật SMBus. Các thiết bị I²C không tuân thủ các giao thức này không thể được truy cập bằng các phương pháp tiêu chuẩn như được xác định trong các thông số kỹ thuật SMBus và Advanced Configuration and Power Interface (ACPI).

Giao thức giải quyết địa chỉ

SMBus sử dụng phần cứng I²C và địa chỉ phần cứng I²C, nhưng bổ sung phần mềm cấp hai để xây dựng các hệ thống đặc biệt. Đặc biệt, thông số kỹ thuật của nó bao gồm Giao thức giải quyết địa chỉ có thể thực hiện phân bổ địa chỉ động. Cấu hình lại động phần cứng và phần mềm cho phép các thiết bị bus được ‘cắm nóng’ và sử dụng ngay lập tức mà không cần khởi động lại hệ thống. Các thiết bị được tự động nhận dạng và được gán địa chỉ duy nhất. Ưu điểm này tạo ra giao diện người dùng cắm và chạy. Trong cả hai giao thức đó, có một sự phân biệt rất hữu ích giữa Máy chủ hệ thống và tất cả các thiết bị khác trong hệ thống có thể có tên và chức năng của máy chủ hoặc máy tớ.

Tính năng tạm dừng

SMBus có tính năng time-out giúp thiết lập lại thiết bị nếu quá trình giao tiếp mất quá nhiều thời gian. Điều này giải thích tần số xung nhịp tối thiểu là 10 kHz để tránh khóa bus. I²C có thể là bus ‘DC’, nghĩa là thiết bị phụ kéo dài xung nhịp chính khi thực hiện một số thói quen trong khi thiết bị chính đang truy cập vào nó. Điều này sẽ thông báo cho thiết bị chính rằng thiết bị phụ đang bận nhưng không muốn mất liên lạc. Thiết bị phụ sẽ cho phép tiếp tục sau khi nhiệm vụ của nó hoàn tất. Không có giới hạn nào trong giao thức bus I²C về thời gian trễ này, trong khi đối với hệ thống SMBus, nó sẽ bị giới hạn ở mức 35 ms. Giao thức SMBus chỉ cho rằng nếu một việc gì đó mất quá nhiều thời gian, thì điều đó có nghĩa là có sự cố trên bus và tất cả các thiết bị phải đặt lại để xóa chế độ này. Khi đó, các thiết bị phụ không được phép giữ xung nhịp THẤP quá lâu.

Kiểm tra lỗi gói tin

SMBus 1.1 và các phiên bản sau đó định nghĩa  Kiểm tra lỗi gói  ( PEC ) tùy chọn. Trong chế độ đó, một byte PEC (mã lỗi gói) được thêm vào cuối mỗi giao dịch. Byte được tính là tổng kiểm tra CRC-8, được tính trên toàn bộ tin nhắn bao gồm địa chỉ và bit đọc/ghi. Đa thức được sử dụng là x 8 +x 2 +x+1 (thuật toán CRC-8-ATM HEC, được khởi tạo bằng không).

NHÂN VIÊN NHỎ

SMBus có một tín hiệu ngắt chia sẻ tùy chọn bổ sung được gọi là SMBALERT#, có thể được các slave sử dụng để yêu cầu host hỏi các slave của nó về các sự kiện quan tâm. SMBus cũng định nghĩa một “Host Notify Protocol” ít phổ biến hơn, cung cấp các thông báo tương tự nhưng truyền nhiều dữ liệu hơn và xây dựng trên chế độ đa master I²C.

Bộ điều khiển quản lý bo mạch chủ Baseboard Management Controller (BMC)

BMC (Baseboard Management Controller) là một vi điều khiển chuyên dụng được nhúng trên bo mạch chủ của máy chủ và các máy tính cao cấp. Chức năng chính của nó là cung cấp khả năng quản lý từ xa ngoài băng tần, cho phép quản trị viên giám sát và điều khiển máy chủ từ xa ngay cả khi hệ điều hành không hoạt động hoặc máy chủ bị tắt.

BMC là một thành phần quan trọng trong việc quản lý hệ thống của các chuyên gia IT, đặc biệt là trong trung tâm dữ liệu và các môi trường máy chủ quy mô lớn. Nó hoạt động độc lập với hệ thống chính, có bộ xử lý, bộ nhớ và giao diện mạng riêng, đảm bảo rằng nó vẫn có thể hoạt động ngay cả khi hệ thống chính bị tắt hoặc không phản hồi.

Các chức năng chính của BMC

  • Giám sát hệ thống từ xa: Theo dõi tình trạng phần cứng như nhiệt độ, tốc độ quạt, điện áp, và các thông số hiệu suất quan trọng khác.
  • Quản lý nguồn từ xa: Cho phép bật/tắt hoặc khởi động lại máy chủ từ xa.
  • Khôi phục và bảo trì hệ thống: Hỗ trợ truy cập máy chủ từ xa để thực hiện khắc phục sự cố và bảo trì khi hệ thống gặp sự cố hoặc lỗi nghiêm trọng.
  • Ghi nhật ký hệ thống: Lưu trữ nhật ký sự kiện để hỗ trợ chẩn đoán và giải quyết lỗi phần cứng.
  • Cập nhật firmware và cấu hình từ xa: Cho phép cập nhật firmware, thay đổi cấu hình hệ thống một cách hiệu quả trên nhiều máy chủ.

BMC đóng vai trò quan trọng trong quản lý trung tâm dữ liệu, giúp quản trị viên giảm thiểu nhu cầu tiếp cận vật lý với phần cứng, đồng thời nâng cao hiệu suất và tính linh hoạt trong quản lý hệ thống.

Ưu điểm và thách thức của BMC

Ưu điểm:

  • Quản lý từ xa hiệu quả: Giúp quản trị viên IT giám sát và điều khiển máy chủ từ xa, đặc biệt hữu ích trong các trung tâm dữ liệu xa.
  • Cải thiện tính sẵn sàng và độ tin cậy của hệ thống: Hỗ trợ khắc phục sự cố từ xa, giảm thiểu thời gian chết (downtime).
  • Tối ưu hóa tài nguyên: Giảm chi phí vận hành bằng cách hạn chế việc tiếp cận vật lý để quản lý hệ thống.
  • Bảo trì chủ động: Cung cấp nhật ký hệ thống và dữ liệu hiệu suất giúp dự đoán và ngăn ngừa lỗi phần cứng.
  • Bảo mật truy cập từ xa: Khi được bảo vệ đúng cách, BMC cung cấp phương thức truy cập từ xa an toàn để quản lý hệ thống.

Thách thức và rủi ro:

  • Rủi ro bảo mật: BMC có thể trở thành mục tiêu của các cuộc tấn công mạng nếu không được bảo mật đúng cách (ví dụ: cập nhật firmware kém, mật khẩu yếu).
  • Cấu hình và bảo trì phức tạp: Cần có chuyên môn để thiết lập và duy trì BMC đúng cách.
  • Phụ thuộc vào hạ tầng mạng: Nếu gặp sự cố mạng, việc quản lý từ xa qua BMC có thể bị ảnh hưởng.
  • Tương thích phần cứng: Không phải tất cả các máy chủ đều có BMC, và có thể có vấn đề về tương thích giữa BMC với phần cứng hoặc firmware.

Bằng cách hiểu rõ những thách thức này, doanh nghiệp có thể tận dụng lợi ích của BMC để cải thiện hiệu suất quản lý máy chủ và trung tâm dữ liệu.

Câu hỏi thường gặp về BMC

BMC trên bo mạch máy chủ là gì?
BMC là một vi điều khiển nhúng trên bo mạch chủ của máy chủ, cung cấp khả năng quản lý ngoài băng tần (out-of-band). Nó hoạt động độc lập với CPU và hệ điều hành chính, giúp quản trị viên giám sát và điều khiển máy chủ từ xa ngay cả khi hệ thống bị tắt hoặc không phản hồi.

BMC khác gì so với phương pháp quản lý máy chủ truyền thống?
BMC cung cấp cơ chế quản lý tiên tiến hơn, có thể hoạt động mà không cần phụ thuộc vào hệ điều hành. Trong khi các phương pháp cũ yêu cầu truy cập vật lý hoặc dựa vào phần mềm hệ điều hành, BMC hoạt động ngoài băng tần, giúp quản lý máy chủ liên tục và hiệu quả hơn.

BMC có thể quản lý nhiều máy chủ cùng lúc không?
Có. Trong các trung tâm dữ liệu lớn, BMC có thể được tích hợp với phần mềm quản lý tập trung, cho phép giám sát và điều khiển nhiều máy chủ từ một giao diện duy nhất.

Làm thế nào để tìm BMC trên máy chủ của tôi?
Bạn có thể tìm thấy BMC bằng cách:

  • Kiểm tra tài liệu của máy chủ.
  • Xác định chip BMC trên bo mạch chủ (thường nằm gần cổng mạng hoặc CPU).
  • Truy cập BIOS/UEFI, nơi có thông tin về BMC.

Những biện pháp bảo mật quan trọng đối với BMC?

  • Cập nhật firmware thường xuyên để vá lỗi bảo mật.
  • Đặt mật khẩu mạnh và thay đổi mật khẩu mặc định.
  • Phân đoạn mạng, chỉ cho phép truy cập BMC từ các mạng an toàn.
  • Sử dụng giao thức bảo mật như TLS và SSH để tránh bị tấn công.

BMC đóng góp gì vào hiệu suất trung tâm dữ liệu?
BMC giúp giảm thời gian chết, tối ưu hóa tiêu thụ năng lượng, cải thiện khả năng bảo trì và giảm chi phí vận hành, từ đó nâng cao hiệu quả tổng thể của trung tâm dữ liệu.

BMC có tương thích với tất cả các máy chủ không?
Không phải tất cả các máy chủ đều có BMC. Trước khi mua hoặc nâng cấp, cần kiểm tra khả năng tương thích giữa BMC, phần cứng và firmware của máy chủ.


Tóm lại, BMC là một công cụ mạnh mẽ giúp quản lý và giám sát máy chủ từ xa, đặc biệt quan trọng trong các trung tâm dữ liệu lớn. Nếu được triển khai và bảo mật đúng cách, nó sẽ giúp tối ưu hóa vận hành, giảm chi phí và tăng cường hiệu suất hệ thống.