You'll want to do the math on how much data you need to store. That will require understanding the variable size (8-bit, 16-bit, 32-bit...), how often you wish to log these variables, and how long you wish to keep these variables stored before they can be erased. You've posed the question in a very generic way. At the very least you need a count of inputs and outputs and signal types before a controller can be recommended. I'd recommend looking up some of the 'Extended Memory' controllers from the PLUS1 series for any sort of data logging.