Remember a few bytes across a reset- [SOLVED]

I have a curtain closer. It opens the curtains at 8am and closes them... in the evening.

It has a real time clock to know the time of day.

My problem: In the summer I want the curtains closed at 7pm, in winter 5pm (say).

I'd like to be able to re-program the curtain closer without re-doing the whole program in the Arduino. (Doing it "the hard way" would not be a big deal for the example as stated, but it is merely an example, to illustrate a general problem.)

What approaches have people taken to providing a few bytes of storage which will be non-volatile across a reset of the system, e.g. a short power failure, and yet the storage must be writeable by code within a program running in the Arduino?

Are there any bytes in the Arduino's flash memory (or other) which are writeable from within an Arudino, or is this a job which must entail external hardware? There are chips in the Dallas 1-Wire range with writeable non-volatile "memory" (storage). Anyone used any of these with an Arduino? My RTC is a DS1302. Am I forgetting "spare" registers there?

Thanks for any ideas...

There is 31 x 8 bytes of ram in the 1302 see page 9 of the datasheet:

http://datasheets.maxim-ic.com/en/ds/DS1302.pdf

The arduino has eeprom memory (1024 bytes in the case of the 328). It's made for what you want to do (ie surviving a reset).

Apologies all... I should have been able to find those for myself! I forgot that the DS1302 has, of course, battery back up, so the RAM in it doesn't lose power just because the Arduino has lost power. Duh.

Thanks for the help...