Skip to main content
Version: 1.14

Delayed Writes

Writes to a SEF Unit complete before the final flash memory addresses have been assigned. The addresses returned by SEFWriteWithoutPhysicalAddress are preliminary flash addresses. When a defect is encountered, some portion of the write will be relocated to different flash addresses. When this occurs, a notification is sent mapping the preliminary flash addresses to the final flash memory address. There is no direct notification sent when the preliminary flash memory address is the final flash memory address. A close notification is only sent after all the flash addresses in a super block are final. For specific addresses, it can be inferred by utilizing buffer release notifications. A write buffer supplied to the device must remain valid until the data is committed to flash memory. By default, the library copies the write data to a library controlled buffer. The write call can set the kSefIoFlagNotifyBufferRelease flag indicating the the user supplied buffer can be used directly. The caller must keep the buffer valid until notified the buffer can be released. When a buffer release notification is sent, the flash addresses for that portion of the buffer are final.