1. A method of implementing an atomic transaction in a data storage apparatus, the method comprising: receiving, from a host by the data storage apparatus, one or more commands to be executed as an atomic transaction; recording in a nonvolatile storage, by the data storage apparatus, a log containing the one or more commands of the atomic transaction, the log to be administered by the data storage apparatus and not by the host; and performing the one or more commands of the atomic transaction by the data storage apparatus.