An efficient fault tolerant mechanism to deal with permanent and transient failures in a network on chip. (15th October 2007)