Như chúng ta đã biết, bit - viết tắt của binary digit, là đơn vị nhỏ nhất dùng để biểu diễn thông tin trong máy tính. Mỗi bit là một chữ số nhị phân 0 hoặc 1 thể hiện một trong hai trạng thái tắt hoặc mở tương ứng của cổng luận lý trong mạch điện tử. Cũng cần nói thêm là hệ nhị phân đã trở thành một phần kiến tạo căn bản trong máy tính ngày nay và ngôn ngữ giao tiếp cấp thấp vẫn sử dụng hệ đếm cơ số hai này.
Thuật ngữ byte dùng để mô tả một dãy số bit cố định, do Werner Buchholz đưa ra trong thời gian đầu thiết kế hệ thống IBM 7030. Một byte có 8 bit, biểu thị được 256 giá trị khác nhau (2^8 = 256) đủ để lưu trữ một số nguyên không dấu từ 0 đến 255 hoặc số có dấu từ -128 đến 127. Tuy nhiên vào thời gian đầu, một số máy tính cũ hơn như IBM 1401 chỉ dùng 6 bit trong một byte cho đến cuối năm 1956, quy chuẩn về byte 8 bit mới được thiết lập.
Khi nào dùng bit và byte?
Thông thường, byte được dùng để biểu thị dung lượng của thiết bị lưu trữ trong khi bit chủ yếu dùng để mô tả tốc độ truyền tải dữ liệu của thiết bị lưu trữ và trong mạng viễn thông. Ngoài ra, bit còn dùng để chỉ khả năng tính toán của CPU và một số khác nhưng trong giới hạn bài viết này, chúng tôi không đề cập đến.
Byte được viết tắt là "B" trong khi ''b'' là ký hiệu của bit và 8 bit ghép thành 1 byte. Muốn đổi từ bit sang byte thì chia giá trị đó cho 8. Chẳng hạn 1Gb (gigabit) = 0,125 GB (gigabyte) = 125 MB. Thêm một ví dụ thực tế là mạng 4G LTE Cat 6 hiện của Hàn Quốc đạt tốc độ 300 Mbps (megabit mỗi giây), tức là về lý thuyết, thông lượng tối đa mạng có thể truyền tải là 37,5 MBps (megabyte mỗi giây).
Các tiền tố được ghép vào để chỉ những đơn vị lớn hơn của bit và byte là kilo, mega (M), giga (G), tera (T), peta (P), exa (E), zetta (Z) và yotta (Y). Riêng với kilo, trong hệ thập phân sẽ dùng “k” và hệ nhị phân là “K”.
Điểm cần lưu ý nữa là khi chuyển đổi, bạn đọc cần phân biệt giữa hai phân hệ là thập phân (Decimal) và nhị phân (Binary). Để tránh nhầm lẫn, một số tổ chức tiêu chuẩn như JEDEC, IEC và ISO đã đưa ra đề nghị dùng thuật ngữ thay thế là kibibyte (KiB), mebibyte (MiB), gibibyte (GiB), tebibyte (TiB) trong đo lường dữ liệu số máy tính theo hệ nhị phân. Tham khảo chi tiết trong bảng minh họa trên*.
Dung lượng ổ cứng Ổ cứng máy tính ngày càng rẻ và có dung lượng lưu trữ cao hơn. Ổ cứng 500GB được xếp vào mức cơ bản và cao nhất hiện nay là 6TB với giá vào khoảng 6,6 đến 6,9 triệu đồng. Tuy nhiên khi sử dụng thực tế, bạn sẽ phát hiện rằng dung lượng ổ cứng không đủ 500GB như thông tin nhà sản xuất công bố. Hơn nữa khi so sánh dung lượng phân vùng ổ cứng đã sử dụng và tổng dung lượng tất cả thư mục, tập tin lưu trữ cũng không bằng nhau. Vậy tại sao có sự chênh lệch này và dung lượng ổ cứng đã mất đi đâu ?
Về bản chất thì dung lượng ổ cứng không đổi và sự sai lệch nằm ở cách tính của nhà sản xuất và hệ điều hành. Cụ thể nhà sản xuất tính dung lượng ổ cứng theo hệ thập phân, chẳng hạn 1MB = 10^6 byte và 1GB = 10^9 byte. Trong khi đó máy tính và những phần mềm ứng dụng lại sử dụng hệ nhị phân như đã nêu ở phần trên.
Tốc độ truyền tải dữ liệu
Chuẩn giao tiếp SATA được giới thiệu lần đầu vào năm 2001 và hiện là chuẩn phổ biến dùng cho các thiết bị lưu trữ gắn trong như ổ cứng, SSD và ổ quang. SATA đã trải qua ba thế hệ với tốc độ truyền dẫn nhanh hơn, gồm SATA 1.0 có tốc độ 1,5 Gb/s, SATA 2.0 là 3 Gb/s và SATA 3.0 có tốc độ truyền dữ liệu lên tới 6 Gb/s.
Nếu quy đổi từ Gb/s (gigabit mỗi giây) sang MB/s (megabyte mỗi giây) thì tốc độ truyền dữ liệu của các chuẩn SATA tương ứng lần lượt là 192, 384 và 768 MB/s. Tuy nhiên có nhiều bạn thắc mắc một số website lại ghi tốc độ SATA 1.0 là 150 MB/s, SATA 2.0 là 300 MB/s và SATA 3.0 là 600 MB/s.
Vấn đề nằm ở phương thức truyền dữ liệu qua mạng. Chuẩn SATA dùng kỹ thuật mã hóa 8b/10b (là sự sắp mã theo byte, mỗi byte dữ liệu được gán thêm 1 hoặc 2 bit). Thông tin truyền nhận không chỉ có dữ liệu thực tế mà còn cả các thông tin điều khiển nhằm xác thực, đảm bảo tính toàn vẹn của dữ liệu khi gửi. Như vậy nếu loại bỏ bit thông tin gán thêm thì tốc độ tải dữ liệu thực tế của chuẩn SATA 1.0 là 150 MB/s, SATA 2.0 là 300 MB/s và SATA 3.0 là 600 MB/s như đã nêu trên.
Tương tự giao tiếp PCI Express 1.0 và 2.0 cũng sử dụng phương thức mã hóa 8b/10b trong khi PCIe 3.0 áp dụng kỹ thuật “scrambling”, dùng hàm nhị phân để biểu diễn luồng dữ liệu. Chính nhờ vậy mà chuẩn PCI Express 3.0 tăng gấp đôi hiệu năng so với thế hệ 2.0 nhưng chỉ cần tốc độ bit là 8 GT/s thay vì phải cần đến 10 GT/s (gigatransfer/giây).