 		storage[toStorageAddress] = memory[memoryAddress];
 		memory[memoryAddress] = storage[storageAddress];
 	}
-	pageTable[leastEntry] = makePTE(CURRENTTIME, pageNumber, VALID);
+	pageTable[leastEntry] = makePTE(threadIdx.x, CURRENTTIME, pageNumber, VALID);
 	return leastEntry * PAGE_SIZE + pageOffset;
 }
 

const uint32_t INVALID			= 0;
const uint32_t PAGENUMBERMASK	= 0x00003FFE;
const uint32_t LASTTIMEMASK		= 0xFFFFC000;
const uint32_t DNE				= 0xFFFFFFFF;

// Lock & Unlock

			// Because of a empty hole, it must be a pagefault
			PAGEFAULT++;
			// Update PTE
			pageTable[i] = makePTE(threadIdx.x, CURRENTTIME, pageNumber, VALID);
			return i * PAGE_SIZE + pageOffset;
		}
	}
