sector mapping
In this scheme the memory and cache are divided into blocks of 2^m bytes (the cache line size). A sector consists of 2^n consecutive blocks.
When a block is cached, it is read into the correct position in any sector of the cache, given by discarding the bottom m address bits and taking the next n as the block number within the sector.
That whole sector is then tagged with the remaining upper address bits and the other blocks in the sector are marked as invalid. This scheme takes advantage of locality of reference to consecutive blocks and needs fewer tags thus reducing the cost of associative access to the tags.