1. A processor-implemented method of journaling data being written to a first storage unit, wherein said first storage unit is part of a system comprising a plurality of storage units that execute transactions global to the system, the method comprising: storing a plurality of groups of data in a journal located in persistent storage, the data groups associated with data to be written to the first storage unit, wherein each data group is associated with a different global transaction and each global transaction is distributed among two or more storage units, such that each global transaction is associated with a request to write data to the first storage unit and a request to write different data to at least one other storage unit; storing information about the location and status of each of said plurality of groups of data, wherein the information about the status of a group of data includes a transaction state of the associated global transaction; providing a data structure associating the stored groups of data and the information about each of said stored groups of data; and providing for the removal from the data structure of any data group and its corresponding stored information, wherein a data group can be removed from the data structure regardless of the order in which the data group was stored in the journal.