Abstract: A bi-directional scan chain includes a plurality of cell structures, each cell structure having a storage device and at least one multiplexer, the plurality of cell structures coupled to one another in a series configuration, wherein an output of a (K-1)-th cell structure is provided as input to the K-th cell structure to provide a forward data shifting operation, and an output of the K-th cell structure is provided as an input to the (K-1)-th cell structure to provide a backward data shifting operation, where K is an integer greater than 1.