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.