An integrated circuit comprising: a scan test controller having a clock output configured to provide a clock signal, a request output configured to provide a request signal, and scan data output configured to provide scan patterns; and a scan chain having a plurality of storage elements comprising a first storage element, a last storage element, and one or more intermediate storage elements between the first and last storage element, wherein each storage element includes a data input, a scan data input, a clock input, a request input, a data select input, a data output, and a storage complete output, wherein: the scan data input of a first storage element of the scan chain is coupled to receive a scan pattern bit from the scan test controller and the storage complete output of the first storage element is coupled to provide an acknowledge signal at the storage complete output to the scan test controller, the request input of a last storage element of the scan chain is coupled to receive the request signal from the scan test controller, and the data output of the last storage element is coupled to provided scan data output to the scan test controller, and for each intermediate storage element, the scan data input is coupled to a data output of a preceding storage element, the data output is coupled to a scan data input of a succeeding storage element, the request input is coupled to a storage complete output of the succeeding storage element, and the storage complete output is coupled to a request input of the preceding storage element. a scan test controller having a clock output configured to provide a clock signal, a request output configured to provide a request signal, and scan data output configured to provide scan patterns; and a scan chain having a plurality of storage elements comprising a first storage element, a last storage element, and one or more intermediate storage elements between the first and last storage element, wherein each storage element includes a data input, a scan data input, a clock input, a request input, a data select input, a data output, and a storage complete output, wherein: the scan data input of a first storage element of the scan chain is coupled to receive a scan pattern bit from the scan test controller and the storage complete output of the first storage element is coupled to provide an acknowledge signal at the storage complete output to the scan test controller, the request input of a last storage element of the scan chain is coupled to receive the request signal from the scan test controller, and the data output of the last storage element is coupled to provided scan data output to the scan test controller, and for each intermediate storage element, the scan data input is coupled to a data output of a preceding storage element, the data output is coupled to a scan data input of a succeeding storage element, the request input is coupled to a storage complete output of the succeeding storage element, and the storage complete output is coupled to a request input of the preceding storage element. the scan data input of a first storage element of the scan chain is coupled to receive a scan pattern bit from the scan test controller and the storage complete output of the first storage element is coupled to provide an acknowledge signal at the storage complete output to the scan test controller, the request input of a last storage element of the scan chain is coupled to receive the request signal from the scan test controller, and the data output of the last storage element is coupled to provided scan data output to the scan test controller, and for each intermediate storage element, the scan data input is coupled to a data output of a preceding storage element, the data output is coupled to a scan data input of a succeeding storage element, the request input is coupled to a storage complete output of the succeeding storage element, and the storage complete output is coupled to a request input of the preceding storage element.