摘要 |
A non-volatile memory, such as a flash memory, uses an address translation map to map logical block addresses to physical block addresses. The host sends the memory a sequence of write operations, to be executed atomically. The physical address corresponding to each of the logical addresses in the write operations is found. If there is valid data at any of the physical addresses, a new mapping to an unused block is created for the corresponding logical address. The data is then written to the physical blocks identified by the new mappings. Once all the data has been written, the address translation map is updated with the new mappings. The write operations may be identified as atomic using an intent operation. Multiple atomic write operations may be merged into a single atomic write operation. There may be an upper bound to the number of writes that can be performed atomically. |