Interesting simultaneous posts on $readmemh on huge mem + NCSIM. Davy
also had some questions on that in other thread.
In your case, how about:
1. Split your 256 MB file to say 128 files of 2 MB each (sure too many,
but what ever loads cleanly)
2. Use $readmemh with start_addr, end_addr (Google search might help or
3. Create your file names in a loop using $sformat
4. Load 128 files
Tell us how it goes - if you care to!