Bộ nhớ chỉ đọc
Các loại ROM

ROM sử dụng để lưu trữ chương trình BIOS.
Mọi chương trình được lưu trữ có thể sử dụng một dạng lưu trữ cố định trên ROM (nghĩa là dữ liệu của nó không bị mất khi bị ngắt nguồn) để lưu trữ chương trình ban đầu khởi chạy khi máy tính được bật hoặc bắt đầu thực thi (một quá trình được gọi là bootstrapping, thường được viết tắt là "booting" hoặc "booting up").
Các dạng bộ nhớ chỉ đọc được sử dụng làm bộ lưu trữ không mất dữ liệu cho các chương trình trong hầu hết các máy tính, chẳng hạn như ENIAC từ năm 1948. Bộ nhớ chỉ đọc thực hiện nó đơn giản hơn vì nó chỉ cần một cơ chế để đọc các giá trị được lưu trữ, và không thay đổi chúng, và do đó có thể được thực hiện với các thiết bị điện tử thô (xem các ví dụ lịch sử bên dưới). Với sự ra đời của các mạch tích hợp vào những năm 1960, cả ROM và RAM có thể thay đổi đã được triển khai dưới dạng các mảng bóng bán dẫn trong chip silicon; tuy nhiên, một ô nhớ ROM có thể được sản xuất bằng cách sử dụng ít bóng bán dẫn hơn một ô nhớ SRAM. Do đó, ROM có thể được sản xuất với chi phí thấp hơn so với RAM trong nhiều năm.
Hầu hết các máy tính gia đình của những năm 1980 đã lưu trữ một trình thông dịch BASIC hoặc hệ điều hành trong ROM vì các hình thức lưu trữ không mất dữ liệu khác như ổ đĩa từ là quá tốn kém. Ví dụ, Commodore 64 bao gồm 64 KB RAM và 20 KB ROM chứa trình thông dịch BASIC và "kernel" (hạt nhân) của hệ điều hành. Các máy tính gia đình hoặc văn phòng sau này như IBM PC XT thường bao gồm các ổ đĩa từ và dung lượng RAM lớn hơn, cho phép chúng tải hệ điều hành từ ổ cứng vào RAM, chỉ còn một chương trình khởi động phần cứng tối thiểu trong ROM (được gọi là BIOS trong các máy tính tương thích IBM). Cơ chế này cho phép chạy các hệ điều hành phức tạp hơn và dễ dàng nâng cấp hơn.
Trong các PC hiện đại, "ROM" (hoặc flash) được sử dụng để lưu trữ phần cứng khởi động (firmware) cơ bản cho bộ xử lý chính, cũng như các phần firmware khác nhau cần thiết để điều khiển các thiết bị độc lập như card đồ họa, đĩa cứng, ổ đĩa DVD, màn hình, v.v.. trong hệ thống. Ngày nay, nhiều bộ nhớ "chỉ đọc" này - đặc biệt là BIOS - thường được thay thế bằng bộ nhớ Flash (xem bên dưới), để cho phép lập trình lại khi cần nâng cấp firmware. Tuy nhiên, các hệ thống phụ đơn giản (chẳng hạn như bàn phím hoặc một số bộ điều khiển giao tiếp trong các mạch tích hợp trên bo mạch chính chẳng hạn) có thể sử dụng ROM (lập trình một lần).
ROM và các công nghệ kế thừa như flash là phổ biến trong các hệ thống nhúng. Chúng có trong mọi thứ, từ robot công nghiệp đến thiết bị gia dụng, điện tử tiêu dùng và IoT internet vạn vật (máy nghe nhạc MP3, hộp giải mã set-top-box, v.v.) tất cả đều được thiết kế cho các chức năng cụ thể, nhưng dựa trên bộ vi xử lý đa năng. Với phần mềm thường được kết hợp chặt chẽ với phần cứng, các thay đổi chương trình hiếm khi cần thiết trong các thiết bị đó (thường không trang bị ổ cứng vì lý do chi phí, kích thước hoặc mức tiêu thụ điện năng). Kể từ năm 2008, hầu hết các sản phẩm đều sử dụng Flash thay vì ROM và nhiều sản phẩm cung cấp một số cổng để kết nối với PC cho phần sụn (firmware) cập nhật; ví dụ, trình phát âm thanh kỹ thuật số có thể được cập nhật để hỗ trợ định dạng tệp mới. Một số người có sở thích đã tận dụng sự linh hoạt này để lập trình lại các sản phẩm tiêu dùng cho mục đích mới; ví dụ, các dự án iPodLinux và OpenWrt đã cho phép người dùng chạy các bản phân phối Linux đầy đủ tính năng trên máy nghe nhạc MP3 và bộ định tuyến không dây của họ.
ROM cũng hữu ích cho việc lưu trữ dữ liệu mật mã, vì nó khiến chúng khó thay đổi, điều này có thể được sử dụng để tăng cường bảo mật thông tin.