1. A method for maintaining the order of write-commands issued to a data storage, wherein the write-commands are issued by at least one host, the method comprising: assigning an order-descriptor to each write-command; storing the write-command; storing the order-descriptor; and collating a plurality of order-descriptors and their corresponding write-commands to obtain an ordered write-command stream; wherein assigning the order-descriptor to the write-command comprises: assigning an indicia of order to the write-command; and constructing the order-descriptor using the indicia of order and metadata information for the write-command.