Increasing sampling speed of Arduino Due

Hello,

I am currently working on an arduino project that requires sampling at a speed of at least 20KHz from 6 digital inputs, calculating timing of 5 of the input signals relative to 1 of the input signals, and displaying the changes in timing as either an analog or PWM output just as quickly. I am currently able display 5 timing outputs output through serial communication at a rate of about 1.4KHz. Is there a way to increase the sampling and output speed without using an external device? If an external device is necessary to just read the input signals at a higher resolution, what device would be ideal? How will I output the timing to the Due? I can provide more information if needed.

Thank you for your help!