FIG. 20 illustrates architecture 2000 of the coherent cache or memory-side buffer chiplet (e.g., 2007) with multiple controllers and multiple cache banks, in accordance with some embodiments. In some embodiments, architecture 2000 comprises channels (e.g., ch0 2015-1 and ch1 2015-2), cache banks 2001, local cache controller 2002, non-volatile (NV) controller 2003, and reliability logic 2004. Coherent cache or memory-side buffer chiplet 2007 may function as a cache or memory buffer. In some embodiments, cache lookups can map a large physical memory into a small physical cache using indirection via tags. Here, indirection refers to the use of tags to specify which address maps to which physical location. If multiple addresses can map to a single physical location, a tag is used to figure out which address is currently mapped.
In some embodiments, each cache bank 2001 includes data bank 2005 (e.g., comprising memory cells) and associated tags 2006. In some embodiments, data bank 2005 comprises ferroelectric memory cells. In some embodiments, data bank 2005 comprises one or more of: FE-SRAM, FE-DRAM, SRAM, MRAM, resistance RAM (Re-RAM), embedded DRAM (e.g., 1T-1C based memory), or a combination of them. Using FE-SRAM, MRAM, or Re-RAM allows for low power and high-speed memory operation. In some embodiments, when data bank 2005 includes ferroelectric memory, it uses NV controller 2003 and a stronger reliability logic (e.g., error correction code) for security compared to non-ferroelectric memory for data bank 2005.