Bộ nhớ chỉ đọc ROM (Read-only memory) là mạch tích hợp được lập trình với dữ liệu cụ thể từ khi được sản xuất. ROM được sử dụng không chỉ trong máy tính, mà trong hầu hết các thiết bị điện tử, công nghệ thông tin khác, và bộ nhớ này đôi khi cũng được coi như là một firmware.
Trong nội dung bài viết này, chúng ta sẽ cùng tìm hiểu về các loại ROM khác nhau và cách thức hoạt động cụ thể của từng loại. Đầu tiên, hãy cùng phân biệt các loại ROM đang xuất hiện trên thị trường ngày nay nhé.
Các loại ROM
Có năm kiểu ROM cơ bản:
Tất nhiên mỗi loại ROM đều sẽ mang trong mình những đặc điểm độc đáo riêng giúp chúng khác biệt với những người anh em còn lại, nhưng nhìn chung, tất cả các loại ROM đầu phải mang trong mình hai đặc điểm sau:
Cách thức vận hành của ROM
Tương tự như RAM, ROM chứa một mạng lưới các cột và hàng đan xen. Tuy nhiên, ở nơi mà các hàng và cột giao nhau, trong khi RAM sử dụng các bóng bán dẫn để bật hoặc tắt quyền truy cập vào một tụ điện tại mỗi điểm giao cắt giữa các hàng và cột nói trên, ROM sử dụng một đi-ốt để kết nối các hàng và cột khi giá trị là 1 và ngược lại khi giá trị bằng 0.
Một đi-ốt thường chỉ cho phép dòng điện chạy theo một hướng duy nhất với một ngưỡng nhất định, được gọi là forward breakover (điện áp chuyển tiếp dự phòng). Khái niệm này giúp xác định cần bao nhiêu dòng điện trước khi chúng đi qua các đi-ốt. Đối với các sản phẩm được sản xuất từ silicon như bộ vi xử lý và chip nhớ, điện áp chuyển tiếp dự phòng lý tưởng là khoảng 0,6 volt. Bằng cách tận dụng các tính chất độc đáo của một đi-ốt, ROM có thể truyền một dòng điện vượt quá ngưỡng chuyển tiếp tới các cột thích hợp thông qua các hàng thích hợp đã được lựa chọn, để tạo thành những ô kết nối nhất định. Nếu một đi-ốt có mặt tại ô đó, thì theo hệ nhị phân, giá trị được hiểu sẽ là 'on' (giá trị 1). Nếu giá trị của ô là 0 thì tức là không có đi-ốt ở các ô giao điểm kết nối cột và hàng. Vì vậy, dòng điện trên cột không được truyền tới hàng.
Có thể thấy rằng, cách thức hoạt động của ROM đòi hỏi dữ liệu phải được lập trình một cách hoàn hảo và hoàn chỉnh ngay từ khi nó được sản xuất. Bạn không thể tái lập trình cũng như viết lại một bộ nhớ ROM tiêu chuẩn. Nếu trong quá trình tạo ra một bộ nhớ ROM, bạn mắc phải một sai lầm về lập trình hoặc dữ liệu cần phải được cập nhật, bạn sẽ phải làm lại tất cả mọi thứ từ bước đầu tiên. Đó là lý do tại sao việc sản xuất ra một con chip ROM nguyên mẫu thường là một quá trình rất mất thời gian và đầy những rủi ro. Thế nhưng những lợi ích mà ROM mang lại luôn lớn hơn rất nhiều những khó khăn gặp phải trong khâu sản xuất. Sau khi bản ROM mẫu được hoàn thành, chi phí để sản xuất những mẫu ROM khác cũng vì thế mà rẻ hơn. Bộ nhớ ROM sử dụng rất ít năng lượng, cực kỳ đáng tin cậy và là một bộ phận không thể thiếu trên các thiết bị điện tử nhỏ. Chúng chứa đựng tất cả các chương trình cần thiết để chúng ta sử dụng thiết bị.
Con chip ROM nhỏ trong bộ đồ chơi the singing fish là một ví dụ. Con chip này, có kích thước bằng móng tay của bạn, nhưng mang trong mình những bản nhạc dài chừng 30 giây và các mã điều khiển để đồng bộ hóa các động cơ trong hộp với âm nhạc.
PROM
Có thể thấy rằng việc sản xuất ROM với số lượng nhỏ hết sức tốn kém cả về thời gian lẫn chi phí. Do đó, các nhà phát triển chủ yếu cho ra đời một loại ROM có tên gọi chíp bộ nhớ chỉ đọc lập trình được (programmable Read-only memory) hay PROM. Các chip PROM trống có giá thành khá rẻ và có thể được mã hóa bởi bất kỳ lập trình viên nào.
Về mặt cấu trúc, PROM cũng bao gồm một mạng lưới các cột và hàng giống như trên các ROM thông thường. Sự khác biệt nằm ở chỗ tại mỗi giao điểm của một cột và hàng trong PROM có một cầu chì kết nối. Một dòng điện được truyền qua một cột sẽ đi qua cầu chì trong giao điểm đến một hàng, biểu thị giá trị 1. Bởi tất cả các ô đều có cầu chì nên trạng thái ban đầu (trống) của chip PROM là 1. Để thay đổi giá trị của một ô thành 0, lập trình viên sẽ gửi một dòng điện nhất định tới ô đó. Điện áp cao hơn phá vỡ kết nối giữa cột và hàng bằng cách đốt cháy các cầu chì. Quá trình này được gọi là đốt PROM. PROM chỉ có thể được lập trình một lần. Chúng cũng 'mỏng manh' hơn ROM. Một dòng điện tĩnh cũng có thể dễ dàng khiến các cầu chì trong PROM cháy, làm thay đổi giá trị từ 1 thành 0. Tuy nhiên các PROM trống có giá thành hợp lý và rất hữu ích trong việc sao chép dữ liệu mẫu cho ROM trước khi tiến hành quá trình sản xuất ROM vốn đã rất tốn kém.
EPROM
Cho dù chi phí sản xuất từng con chip ROM không quá đắt đỏ nhưng nếu xét về tổng thể, trên một số lượng lớn thì việc sản xuất ROM và PROM là một khoản đầu tư mạo hiểm. Do đó, EPROM (Erasable Programmable Read-Only Memory) xuất hiện để giải quyết vấn đề này. Các chip EPROM có thể được viết lại nhiều lần. Việc xóa EPROM đòi hỏi phải cần tới một công cụ đặc biệt, công cụ này phát ra một tần số tia cực tím (UV) nhất định. EPROM được lập trình bằng cách một lập trình viên sẽ cung cấp điện áp ở các mức được chỉ định cho EPROM, điện áp này tùy thuộc vào loại EPROM được sử dụng.
Tương tự như ROM và PROM, mạng lưới các cột và hàng lại xuất hiện trên EPROM. Trong một EPROM, có hai bóng bán dẫn tại mỗi ô ở mỗi nút giao. Hai bóng bán dẫn được tách biệt với nhau bởi một lớp oxit mỏng. Một trong các bóng bán dẫn này được gọi là cổng nổi và chiếc còn lại có nhiệm vụ là cổng điều khiển. Liên kết duy nhất từ cổng nổi (floating gate) tới hàng (wordline) là thông qua cổng điều khiển, miễn là liên kết này được đặt đúng chỗ, tại ô có giá trị là 1. Để thay đổi giá trị thành 0 đòi hỏi một quá trình được gọi là 'đường hầm' Fowler-Nordheim. “Đường hầm” này được sử dụng để thay đổi vị trí của các electron trong cổng nổi. Một điện tích, thường là 10-13 volt, sẽ được chuyền đến các cổng nổi. Dòng điện đến từ các cột (bitline) sẽ đi vào cổng nổi và rút xuống đất.
Dòng điện này làm cho bóng bán dẫn ở cổng nổi hoạt động như một khẩu súng điện tử. Các electron bị kích thích được đẩy qua và bị mắc kẹt ở phía bên kia của lớp oxit mỏng ngăn cách giữa 2 bóng bán dẫn, và mang trong mình một điện tích âm. Những electron mang tích điện âm này hoạt động như một rào cản giữa cổng điều khiển và cổng nổi. Một thiết bị được gọi là tế bào cảm biến sẽ theo dõi dòng điện đi qua cổng nổi. Nếu dòng điện qua cổng lớn hơn 50% điện tích, nó có giá trị là 1. Còn nếu điện tích đi qua các giảm xuống dưới ngưỡng 50 phần trăm, giá trị sẽ thay đổi thành 0. Tất cả các cổng tại các giao điểm trong một EPROM trống hoàn toàn mở, cho mỗi ô một giá trị là 1.
Để viết lại EPROM, bạn phải tiến hành xóa nó trước. Để xóa EPROM, bạn phải sử dụng một nguồn năng lượng đủ mạnh để vượt qua các electron mang điện tích âm đang bám chặn ở các cổng nổi. Ánh sáng tia cực tím ở tần số 253,7 là một nguồn năng lượng lý tưởng cho việc xóa một EPROM tiêu chuẩn, bởi vì ở tần số đặc biệt này tia UV sẽ không thể xuyên qua hầu hết các loại nhựa hoặc kính, trong khi mỗi chip EPROM có một cửa sổ thạch anh ở phía trên. Để quá trình xóa EPROM diễn ra bình thường. Con chip này phải được đặt rất gần nguồn sáng UV, trong vòng 1 hoặc 2 inch.
Quá trình xóa EPROM sẽ không diễn ra có chọn lọc, nó sẽ xóa toàn bộ EPROM. EPROM phải được lấy ra khỏi thiết bị và đặt dưới ánh sáng tia cực tím của công cụ xóa EPROM trong vài phút. Nếu để quá lâu EPROM có thể sẽ bị xóa hoàn toàn.
EEPROM và bộ nhớ Flash
Mặc dù EPROM là một bước đột phá so với PROM về khả năng tái sử dụng, người ta vẫn phải cần đến một thiết bị chuyên dụng cũng như rất nhiều công sức và thời gian để xóa bỏ hay cài đặt lại một EPROM. Quan trọng hơn là chúng ta không thể tiến hành xóa có chọn lọc trên EPROM mà phải xóa toàn bộ. Bởi vậy, EEPROM (Electrically erasable programmable read-only memory) ra đời để giải quyết vấn đề này. Thay vì sử dụng tia cực tím, bạn có thể trả lại các electron trong các ô giao điểm của EEPROM về trạng thái bình thường bằng việc áp dụng một điện trường cục bộ ở mỗi ô. Thao tác này sẽ chỉ xóa các ô được chọn trong EEPROM mà thôi, sau đó các ô này có thể được viết lại. EEPROM thay đổi 1 byte tại một thời điểm. Điều này làm cho chúng linh hoạt nhưng cũng chậm hơn.Trên thực tế, các chip EEPROM quá chậm để có thể sử dụng được trong những sản phẩm yêu cầu sự nhanh chóng trong thay đổi dữ liệu được lưu trữ trên bộ nhớ.
Các nhà sản xuất giải quyết vấn đề này với bộ nhớ Flash, một loại EEPROM sử dụng dây trong mạch để xóa dữ liệu bằng cách áp dụng trường điện cho toàn bộ chip hoặc các phần được xác định trước trong con chip gọi là khối. Bộ nhớ flash hoạt động nhanh hơn nhiều so với EEPROM truyền thống vì nó ghi dữ liệu theo khối, thường là 512 byte, thay vì 1 byte tại một thời điểm.
Xem thêm: