The Table 7 contains information also for devices with 256kB and 128kB Flash memory:
Table 7 name is: "Table 7. Flash module - 512/256/128 KB dual bank organization (64 bits read width)"
So - it is for devices with 512/256/128 KB complete Flash memory.
In the second column is for each bank written:
Bank 1 (256/128/64 KB)
Bank 2 (256/128/64 KB)
So - in dependency from complete Flash memory size depends the given Bank size => each bank has half size of whole flash.
There is address gap between both Banks if the whole Flash size is less than 512kB.
BUT!!! In case of single bank for the same device is there no address gap in address space (see Table 8. Flash module - 512/256/128 KB single bank organization (128 bits read width)). In single bank configuration is the bus width 128-bit instead of 64-bit in dual bank configuration. Physically in single bank organization: first 64 bits are from Bank1 and second 64 bits are from Bank2 , ... (interleaved data from both banks). This organization can be tested: set dual bank mode (option byte), program Bank1 with pattern "0x11", program Bank1 with pattern "0x22", set single bank mode (option byte) - then you can see the memory content in single bank mode as: 0x11111111, 0x11111111, 0x22222222, 0x22222222, 0x11111111, 0x11111111, 0x22222222, 0x22222222, ...
For IAR and Keil (or another compiler/IDE): setting for dual bank devices with less than 512kB memory must be manually adjusted in linker file - split the Flash area into 2 sections. Because default setting for compilers is usually for single bank mode (simply reduced memory address space).
Regards
Igor