cr1901: I really need to go to bed now, so can't investigate further... But are your pages really only 16 bytes? I've looked through my documentation and I guess I don't really spell it out in there, but there is some overhead. Every page has two words of bookkeeping and every item stored has an 8-byte header rounded up to word-size. In your repo that leaves every page of 16 bytes with 1-sized words with only 14 bytes. An item has a header of 8 bytes, so you're left with only 6 bytes of content. I think you're storing way bigger things in there. There's no real check for this which I should maybe add, so what I think is happening is that it tries to place the item in page 0. Oh no! We ran out of space. So place it in page 1. Guess what, we ran out of space. Etc. Once it looped back to the original page it will terminate and conclude that the storage must be full because no page had space for it. Gonna open an issue for it to detect this and give a better error. However, it's unlikely that a pagesize of 16 bytes will ever be useful with this library. Since you're emulating anyways, you should choose to emulate it as 2-16k byte pages with 1 byte words, that's probably the sweetspot of this crate.