O principal dispositivo de armazenamento que pode ser programado por um usuário é a memória somente leitura (ROM). Pode ser customizado durante o processo de fabricação para incluir determinado código de programa ou informações específicas às necessidades do usuário. Embora seja inicialmente programado durante a produção, alguns tipos especializados de ROMs, como memória somente leitura programável apagável eletricamente (EEPROM) ou EEPROM Flash, permitem aos usuários modificar, atualizar ou alterar seu código ou conteúdo de dados após o estágio inicial de programação. Esse recurso oferece certos níveis de flexibilidade para usuários que desejam personalizar seus dispositivos de armazenamento primário além do que normalmente é oferecido pelos módulos ROM padrão.