Non-volatile memory with precise write-once protection
AssigneeSeagate Technology LLC
InventorJon D. Trantham
Life of this patent
Estimating the term…
Abstract
Apparatus and method for selective overwrite protection of data stored in a non-volatile memory (NVM) with fine precision. In some embodiments, a write command is received from a host device to write one or more blocks of data having associated logical addresses to the NVM. A read operation is performed in response to the write command to read a tag value associated with each block. The write command is disallowed in response to the tag value indicating a protected version of the block having the associated logical address is already stored at the selected location. The tag value may be a key version value indicative of a version of an encryption key used to encrypt user data in the data block and whether the block is write-protected.
Claims20
A method comprising:
- receiving a write command to write one or more blocks of data having associated logical addresses of a non-volatile memory (NVM);
- reading at least one tag value from the NVM associated with the blocks targeted by the write command;
- disallowing the write command responsive to the at least one tag value being of a first type of tag value associated with a first type of write command indicating a protected block is currently stored at the associated logical address;
- and
- allowing the write command responsive to the at least one tag value being of a different, second type of tag value associated with a different, second type of write command indicating a protected block is not currently stored at the associated logical address.
An apparatus comprising:
- a non-volatile memory (NVM);
- and
- a controller circuit configured to process a write command received from a host device to write one or more blocks of data with associated logical addresses to the NVM by directing a read operation to retrieve, from the NVM, a tag value associated with the logical addresses, and to prevent or allow the writing of the one or more blocks of data to the NVM responsive to the tag value indicating a write-protected previous version of the one or more blocks of data having the logical addresses is currently stored to the NVM, the controller circuit disallowing the write command responsive to the tag value retrieved from the NVM matching a current tag value stored in a keystore indicating write-protection, the controller circuit directing the write command responsive to the tag value retrieved from the NVM not matching the current tag value stored in the keystore.
A method comprising:
- receiving a first write command from a host to write a first set of data, having an associated set of logical addresses, to a non-volatile memory (NVM);
- processing the first set of write data by appending a first write protection tag value thereto to generate a first sector of data, and writing the first sector of data to an associated location in the NVM;
- subsequently receiving a second write command from a host to write a second set of data, having at least a portion of the associated set of logical addresses, to the NVM;
- retrieving a copy of at least a portion of the first sector of data from the associated location in the NVM to access the first write protection tag value thereof;
- processing the second set of write data responsive to the first write protection tag value retrieved from the NVM by appending a second write protection tag value thereto to generate a second sector of data and writing the second sector of data to an associated location in the NVM responsive to the first write protection tag indicating the first sector of data is not write-protected, and by notifying the host that the second write command is rejected from further processing responsive to the first write protection tag indicating the first sector of data is write-protected.
Dependencies are inferred from the claim text.