It's not based on citizenship, purely birth country. You can search for priority dates and they get updated monthly. It will take a few years for China, India and the Philippines but if you were born outside those three countries you just have to wait through the processing.
Your visa will initially be valid for 3 years. It can be extended a few times. Ideally you'd have at least a year left on your current visa when submitting the AOS application since you cannot reenter on TN once that happens.
Disclaimer: I'm not a lawyer, I'm going through the process now and using time spans quoted by my lawyers and my own research.