RRAMC enables fast buffered writes for contiguous memory regions.
RRAMC has an internal write-buffer that can be configured using CONFIG.WRITEBUFSIZE.
When buffered writes are enabled, RRAMC will collect as much data as possible in the internal write-buffer, before bulk-committing the buffer to RRAM.
When committing to RRAM, the commit operation updates only the data in RRAM memory that has modified values. Values that have not been altered remain unchanged in RRAM.
- Enable writing using CONFIG.WEN, and configure CONFIG.WRITEBUFSIZE.
- Write to RRAM memory in incrementing address order.
- The write-buffer is full
- The address written is outside the buffer area
- There is a read operation from a 128-bit data unit in the buffer that has already been written to
- After a time-out waiting for a new write operation, configured in READYNEXTTIMEOUT
- When the COMMITWRITEBUF task is triggered
The manual triggers are useful in situations where it is crucial to ensure that the write buffer has been committed. Register BUFSTATUS.WRITEBUFEMPTY can be used to check if the write-buffer is empty, or if it contains uncommitted data.