This is a hierarchial memory system for a multi-processing system which has two or more processing units accessing the memory system. The memory system has two different types of memory units on each level. One of the types of units is called the data store (DS) and contains all the data at that level of the memory. The other type of unit is called the copy back data store (CBDS) and contains all the changes that have been made which changes data either by addition or modification and that are to be copied back to the next lower level of the memory hierarchy. The data store and the copy back data store in each level are on two different power systems and transfers of the changes to the next lower level are done in the order in which the change entered in the copy back store with the oldest entry being the first to be copied back. Each copy back data store has a capacity which is only a small portion of the data capable of being stored in the corresponding data store. To prevent overruns from occurring when the number of data units to be copied back exceeds the capacity of the copyback store, an up/down counter keeps track of the difference between the number of items to be copied back and those already copied back and notifies the system when the copy back data store is about to overflow.