Various approaches for data storage and retrieval for a computer memory include processing a computational workflow having multiple data-processing steps, generating and storing a first hash value associated with a first step of the data-processing steps based on an input to the first step, generating and storing a second hash value associated with a second step of the data-processing steps based on the generated first hash value, and reconstructing a computational state of the workflow based on the second hash value, and thereby avoid re-execution of a portion of the workflow corresponding to the second hash value.