RPMB improvements to managed NAND
Apparatus and methods are disclosed, including a memory device or a memory controller configured to supply supported voltages to a host, provide temperature throttling information to the host, or provide an indication that a host attempting to read a result was not the host that caused the placement of the result in a result register. Methods of operation are disclosed, as well as machine-readable medium and other embodiments.
1. A method implemented by a memory controller of a memory device, the method comprising:
receiving, over a host interface from a host, an access request for a protected memory region of a non-volatile memory array, the access request from a process identified by a first source identifier, the protected memory region authenticated using a secret value;
placing a result of the access request in a result register of the memory device;
receiving a request for the result register, the request from a second process identified by a second source identifier;
determining that the first source identifier and the second source identifier are different;
responsive to determining that the first source identifier and the second source identifier are different, setting a bit in the result register indicating a source-id mismatch; and
sending a response message including the result register to the second process.
2. The method of claim 1 , wherein the protected memory region is a Replay Protected Memory Block (RPMB).
3. The method of claim 1 , wherein the result register comprises a write counter status and an operation status.
4. The method of claim 1 ,
wherein the protected memory region is accessed for writing using a first secret value and accessed for reading using a second secret value, wherein the first secret value and the second secret value are different; wherein the access request includes a third secret value, and wherein the method further comprises:
determining whether the access request is a read or a write request;
responsive to determining that the access request is a write request, authenticating the access request by determining that the third secret value included in the access request matches the first secret value;
receiving a second access request with a fourth secret value;
determining whether the second access request is a read or write request; and
responsive to determining that the access request is a read request, authenticating the second access request by determining that the fourth secret value included in the second access request matches the second secret value.
5. A memory device comprising:
a non-volatile memory array;
a result register;
a memory controller configured to perform operations comprising:
receiving, over a host interface from a host, an access request for a protected memory region of the non-volatile memory array, the access request from a process identified by a first source identifier, the protected memory region authenticated using a secret value;
placing a result of the access request in the result register of the memory device;
receiving a request for the result register, the request from a second process identified by a second source identifier;
determining that the first source identifier and the second source identifier are different;
responsive to determining that the first source identifier and the second source identifier are different, setting a bit in the result register indicating a source-id mismatch; and
sending a response message including the result register to the second process.
6. The memory device of claim 5 , wherein the protected memory region is a Replay Protected Memory Block (RPMB).
7. The memory device of claim 5 , wherein the result register comprises a write counter status and an operation status.
8. The memory device of claim 5 ,
wherein the protected memory region is accessed for writing using a first secret value and accessed for reading using a second secret value, wherein the first secret value and the second secret value are different; wherein the access request includes a third secret value, and wherein the operations further comprise:
determining whether the access request is a read or a write request;
responsive to determining that the access request is a write request, authenticating the access request by determining that the third secret value included in the access request matches the first secret value;
receiving a second access request with a fourth secret value;
determining whether the second access request is a read or write request; and
responsive to determining that the access request is a read request, authenticating the second access request by determining that the fourth secret value included in the second access request matches the second secret value.
9. A non-transitory machine-readable storage device storing instructions, which when executed by a memory controller of a memory device, cause the memory controller to perform operations comprising:
receiving, over a host interface from a host, an access request for a protected memory region of a non-volatile memory array, the access request from a process identified by a first source identifier, the protected memory region authenticated using a secret value;
placing a result of the access request in a result register of the memory device
receiving a request for the result register, the request from a second process identified by a second source identifier;
determining that the first source identifier and the second source identifier are different;
responsive to determining that the first source identifier and the second source identifier are different, setting a bit in the result register indicating a source-id mismatch; and
sending a response message including the result register to the second process.
10. The non-transitory machine-readable storage device of claim 9 , wherein the protected memory region is a Replay Protected Memory Block (RPMB).
11. The non-transitory machine-readable storage device of claim 9 , wherein the result register comprises a write counter status and an operation status.
12. The non-transitory machine-readable storage device of claim 9 ,
wherein the protected memory region is accessed for writing using a first secret value and accessed for reading using a second secret value, wherein the first secret value and the second secret value are different; wherein the access request includes a third secret value, and wherein the operations further comprise:
determining whether the access request is a read or a write request;
responsive to determining that the access request is a write request, authenticating the access request by determining that the third secret value included in the access request matches the first secret value;
receiving a second access request with a fourth secret value;
determining whether the second access request is a read or write request; and
responsive to determining that the access request is a read request, authenticating the second access request by determining that the fourth secret value included in the second access request matches the second secret value.