What is the wrap-around length and how do I use it?
The wrap-around feature allows a host cache controller to fill a cache line or cache block from an immediate address first and then fill the remainder of the cache line with automatic wrap-around at the cache line boundary. Enabling this feature minimizes latency to the first access by enabling the SPI read command to start at the desired first address, which can be at any address within the cache line. Then the host controller can fill the rest of the cache line from the starting address to the ending address, in circular fashion, without having to issue another a new address after the last word in the cache line to manually manage the wrap-around.
Setting the wrap-around length depends on the host system’s cache line length; so you need to check that first. When Configuration Register 4 Non-Volatile bits CR4NV=1 or Volatile bits CR4V=1, the wrap mode is not enabled and sequential read does not automatically wrap around until the last address in the flash device. When CR4NV=0 or CR4V=0, the wrap mode is enabled and wrapping around at the group alignment boundary has to be set by CR4NV[1:0] or CR4NV[1:0]. This two-bit field selects from four wrap-around lengths of eight bytes, sixteen bytes, thirty-two bytes, or sixty-four bytes, as shown in the following table taken from the datasheet (S25FS512S Document Number: 002-00488, Revision: *F):