способ и устройство для изменения содержимого запоминающих устройств блоков управления
Классы МПК: | G11C16/06 вспомогательные схемы, например, для записи в запоминающее устройство |
Автор(ы): | ХУРИХ Мартин (DE), ХОЛЬЦАПФЕЛЬ Геральд (DE) |
Патентообладатель(и): | РОБЕРТ БОШ ГМБХ (DE) |
Приоритеты: |
подача заявки:
1999-08-31 публикация патента:
20.03.2005 |
Изобретение относится к способу изменения и/или записи для перепрограммирования данных и/или программ по меньшей мере в одном запоминающем устройстве вычислительной системы и к вычислительной системе для осуществления указанного способа. Техническим результатом является устойчивость блоков управления запоминающих устройств к любым помехам, в частности, к сбоям. Каждый из вариантов вычислительных систем, в частности блок управления рабочими процессами в транспортном средстве, содержит два запоминающих устройства, внутрисистемную шину, центральный процессор, блок ввода-вывода, ПЗУ, блок самозагрузки, флэш-память. Способы описывают работу каждого из вариантов указанных систем. 6 н. и 40 з.п. ф-лы, 7 ил.
Формула изобретения
1. Способ изменения и/или записи программ, используемых, в частности, для управления рабочими процессами в транспортном средстве, по меньшей мере в одном первом запоминающем устройстве (104, 200) вычислительной системы (100), прежде всего в запоминающем устройстве блока управления, причем предусмотрено по меньшей мере одно второе запоминающее устройство (105, 206), при этом память по меньшей мере первого запоминающего устройства (104, 200) определенным образом разбивают на области (например ОП 201…ОП 204, ОП 207), отличающийся тем, что программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) защищают от потери путем стирания (например 306) и копирования (например 307) или стирания и ввода (например 308) вторых программ в соответствующих областях памяти, создавая перед стиранием и копированием или стиранием и вводом вторых программ их резервную копию по меньшей мере в одном (например 200) из по меньшей мере двух запоминающих устройств (200, 206).
2. Способ по п.1, отличающийся тем, что первые программы загружают и/или вызывают вторые программы, а первые программы и/или вторые программы осуществляют стирание и копирование или стирание и ввод вторых программ.
3. Способ по п.1 или 2, отличающийся тем, что резервную копию вторых программ после стирания и копирования или стирания и ввода вторых программ стирают, если при этом не возникло ошибки.
4. Способ по п.1 или 2, отличающийся тем, что в случае возникновения ошибки при стирании и копировании или стирании и вводе вторых программ они автоматически восстанавливаются.
5. Способ по п.1 или 2, отличающийся тем, что в случае возникновения ошибки при стирании и копировании или стирании и вводе вторых программ они автоматически восстанавливаются, а по меньшей мере в первом запоминающем устройстве вычислительной системы происходит перезапуск первоначально начатого процесса по изменению и/или вводу этих вторых программ, используемых, в частности, для управления рабочими процессами в транспортном средстве.
6. Способ по п.1 или 2, отличающийся тем, что по меньшей мере первые программы хранятся в первом являющемся энергонезависимым запоминающем устройстве или же вводятся либо копируются в него.
7. Способ по п.1 или 2, отличающийся тем, что второе запоминающее устройство используют в качестве промежуточного запоминающего устройства и поэтому оно может быть выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства, в котором периодически сохраняют вторые программы.
8. Способ по п.1 или 2, отличающийся тем, что память разделяют определенным образом на области, которыми являются по меньшей мере одна область для хранения оригинала вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
9. Способ по п.1 или 2, отличающийся тем, что управление процессами стирания и копирования или стирания и ввода вторых программ осуществляют с помощью вторых программ, которые вначале копируют или вводят в промежуточное запоминающее устройство.
10. Способ по п.1 или 2, отличающийся тем, что в области хранения резервных копий сохраняют и другие программы и для защиты от потери вторых программ путем их копирования или ввода область хранения резервных копий стирают.
11. Способ по любому из пп.1-10, отличающийся тем, что первые программы (СП в ПЗУ, СП в БС) или по меньшей мере часть первых программ, предназначенных для запуска соответствующего процесса стирания и копирования или стирания и ввода вторых программ, хранятся или сохраняют в постоянном запоминающем устройстве (106, 208) или в постоянной, соответственно неизменяемой области памяти (ОП 209, ОП 205).
12. Способ изменения и/или записи данных, используемых программами, в частности, для управления рабочими процессами в транспортном средстве, по меньшей мере в одном первом запоминающем устройстве (104, 200) вычислительной системы (100), прежде всего в запоминающем устройстве блока управления, причем предусмотрено по меньшей мере одно второе запоминающее устройство (105, 206), при этом память по меньшей мере первого запоминающего устройства (104, 200) определенным образом разбивают на области (например ОП 201...ОП 204, ОП 207), отличающийся тем, что программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а сохраняемые данные (СД) защищают от потери путем стирания (например 306) и копирования (например 307) или стирания и ввода (например 308) данных в соответствующих областях памяти, создавая перед стиранием и копированием или стиранием и вводом данных их резервную копию по меньшей мере в одном (например 200) из по меньшей мере двух запоминающих устройств (200, 206).
13. Способ по п.12, отличающийся тем, что первые программы загружают и/или вызывают вторые программы, а первые программы и/или вторые программы осуществляют копирование и/или стирание и/или ввод данных и/или программ.
14. Способ по п.12 или 13, отличающийся тем, что резервную копию данных после их стирания и копирования или стирания и ввода снова записывают в качестве исходных данных.
15. Способ по п.12 или 13, отличающийся тем, что в случае возникновения ошибки при стирании и копировании или стирании и вводе данных они автоматически восстанавливаются.
16. Способ по п.12 или 13, отличающийся тем, что в случае возникновения ошибки при стирании и копировании или стирании и вводе данных они автоматически восстанавливаются, а по меньшей мере в первом запоминающем устройстве вычислительной системы происходит перезапуск первоначально начатого процесса по изменению и/или вводу данных, используемых, в частности, для управления рабочими процессами в транспортном средстве.
17. Способ по п.12 или 13, отличающийся тем, что по меньшей мере первые программы хранятся в первом являющемся энергонезависимым запоминающем устройстве или же вводятся либо копируются в него.
18. Способ по п.12 или 13, отличающийся тем, что второе запоминающее устройство используют в качестве промежуточного запоминающего устройства и поэтому оно может быть выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства, в котором периодически сохраняют данные.
19. Способ по п.12 или 13, отличающийся тем, что память разделяют определенным образом на области, которыми являются по меньшей мере одна область для хранения оригинала данных, одна область хранения резервных копий и/или одна область промежуточного хранения.
20. Способ по п.12 или 13, отличающийся тем, что управление процессами стирания и копирования или стирания и ввода данных осуществляют с помощью данных, которые вначале копируют и/или вводят в промежуточное запоминающее устройство.
21. Способ по п.12 или 13, отличающийся тем, что в области хранения резервных копий сохраняют и другие данные и для защиты от потери сохраняемых данных путем их копирования или ввода область хранения резервных копий стирают.
22. Способ по п.12 или 13, отличающийся тем, что первые программы (СП в ПЗУ, СП в БС) или по меньшей мере часть первых программ, предназначенных для запуска соответствующего процесса стирания и копирования или стирания и ввода данных, хранятся или сохраняют в постоянном запоминающем устройстве (106, 208) или в постоянной, соответственно неизменяемой области памяти (ОП 209, ОП 205).
23. Способ изменения и/или записи данных и программ, используемых, в частности, для управления рабочими процессами в транспортном средстве, по меньшей мере в одном первом запоминающем устройстве (104, 200) вычислительной системы (100), прежде всего в запоминающем устройстве блока управления, причем предусмотрено по меньшей мере одно второе запоминающее устройство (105, 206), при этом память по меньшей мере первого запоминающего устройства (104, 200) определенным образом разбивают на области (например ОП 201…0П 204, ОП 207), отличающийся тем, что программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) и сохраняемые данные (СД) защищают от потери путем стирания (например 306) и копирования (например 307) или стирания и ввода (например 308) вторых программ и данных в соответствующих областях памяти, создавая перед стиранием и копированием или стиранием и вводом данных и вторых программ их резервную копию по меньшей мере в одном (например 200) из по меньшей мере двух запоминающих устройств (200, 206).
24. Способ по п.23, отличающийся тем, что первые программы загружают и/или вызывают вторые программы, а первые программы и/или вторые программы осуществляют стирание и копирование или стирание и ввод данных и вторых программ.
25. Способ по п.23 или 24, отличающийся тем, что резервную копию данных после стирания и копирования или стирания и ввода данных и вторых программ снова записывают в качестве исходных данных.
26. Способ по п.23 или 24, отличающийся тем, что резервную копию вторых программ после стирания и копирования или стирания и ввода данных и вторых программ стирают, если при этом не возникло ошибки.
27. Способ по п.23 или 24, отличающийся тем, что в случае возникновения ошибки при стирании и копировании или стирании и вводе данных и вторых программ эти данные и вторые программы автоматически восстанавливаются.
28. Способ по п.23 или 24, отличающийся тем, что в случае возникновения ошибки при стирании и копировании или стирании и вводе данных и вторых программ эти данные и вторые программы автоматически восстанавливаются, а по меньшей мере в первом запоминающем устройстве вычислительной системы происходит перезапуск первоначально начатого процесса по изменению и/или вводу данных и вторых программ, используемых, в частности, для управления рабочими процессами в транспортном средстве.
29. Способ по п.23 или 24, отличающийся тем, что по меньшей мере первые программы хранятся в первом являющемся энергонезависимым запоминающем устройстве или же вводятся либо копируются в него.
30. Способ по п.23 или 24, отличающийся тем, что второе запоминающее устройство используют в качестве промежуточного запоминающего устройства и поэтому оно может быть выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства, в котором периодически сохраняют вторые программы и данные.
31. Способ по п.23 или 24, отличающийся тем, что память разделяют определенным образом на области, которыми являются по меньшей мере одна область для хранения оригинала данных и вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
32. Способ по п.23 или 24, отличающийся тем, что управление процессами стирания и копирования или стирания и ввода данных и вторых программ осуществляют с помощью вторых программ и данных, которые вначале копируют и/или вводят в промежуточное запоминающее устройство.
33. Способ по п.23 или 24, отличающийся тем, что в области хранения резервных копий сохраняют и другие данные и программы и для защиты от потери вторых программ и сохраняемых данных путем их копирования и/или ввода, область хранения резервных копий стирают.
34. Способ по п.23 или 24, отличающийся тем, что первые программы (СП в ПЗУ, СП в БС) или по меньшей мере часть первых программ, предназначенных для запуска соответствующего процесса стирания и копирования или стирания и ввода данных и вторых программ, хранятся или сохраняют в постоянном запоминающем устройстве (106, 208) или в постоянной, соответственно неизменяемой области памяти (ОП 209, ОП 205).
35. Вычислительная система, в частности блок управления рабочими процессами в транспортном средстве, предназначенная для изменения и/или записи программ по меньшей мере в одном первом запоминающем устройстве (104, 200) этой вычислительной системы (100), при этом предусмотрено по меньшей мере одно второе запоминающее устройство (105, 206), которое, равно как и первое запоминающее устройство (104, 200), соединено внутрисистемной шинной системой (103) с центральным процессором (ЦП) (101) и с блоком (102) ввода-вывода, а также предусмотрено определенное распределение памяти по меньшей мере первого запоминающего устройства (104, 200) на области (например ОП 201…ОП 204, ОП 205), отличающаяся тем, что программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) защищаются от потери путем стирания (например 306) и копирования (например 307) или стирания и ввода (например 308) вторых программ в соответствующих областях памяти с созданием перед стиранием и копированием или стиранием и вводом программ их резервной копии по меньшей мере в одном (например 200) из по меньшей мере двух запоминающих устройств (200, 206).
36. Вычислительная система по п.35, отличающаяся тем, что первое запоминающее устройство выполнено в виде энергонезависимого запоминающего устройства, а второе запоминающее устройство выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства.
37. Вычислительная система по п.35 или 36, отличающаяся тем, что второе запоминающее устройство выполнено в виде промежуточного запоминающего устройства, в котором периодически сохраняются первые и/или вторые программы.
38. Вычислительная система по п.35 или 36, отличающаяся тем, что распределенными определенным образом областями памяти являются по меньшей мере одна область для хранения оригинала вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
39. Вычислительная система, в частности блок управления рабочими процессами в транспортном средстве, предназначенная для изменения и/или записи используемых программами данных по меньшей мере в одном первом запоминающем устройстве (104, 200) этой вычислительной системы (100), при этом предусмотрено по меньшей мере одно второе запоминающее устройство (105, 206), которое, равно как и первое запоминающее устройство (104, 200), соединено внутрисистемной шинной системой (103) с центральным процессором (ЦП) (101) и с блоком (102) ввода-вывода, а также предусмотрено определенное распределение памяти по меньшей мере первого запоминающего устройства (104, 200) на области (например ОП 201…ОП 204, ОП 207), отличающаяся тем, что программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а сохраняемые данные (СД) защищаются от потери путем стирания (например 306) и копирования (например 307) или стирания и ввода (например 308) данных в соответствующих областях памяти с созданием перед стиранием и копированием или стиранием и вводом данных их резервной копии по меньшей мере в одном (например 200) из по меньшей мере двух запоминающих устройств (200, 206).
40. Вычислительная система по п.39, отличающаяся тем, что первое запоминающее устройство выполнено в виде энергонезависимого запоминающего устройства, а второе запоминающее устройство выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства.
41. Вычислительная система по п.39 или 40, отличающаяся тем, что второе запоминающее устройство выполнено в виде промежуточного запоминающего устройства, в котором периодически сохраняются данные.
42. Вычислительная система по п.39 или 40, отличающаяся тем, что распределенными определенным образом областями памяти являются по меньшей мере одна область для хранения оригинала данных, одна область хранения резервных копий и/или одна область промежуточного хранения.
43. Вычислительная система, в частности блок управления рабочими процессами в транспортном средстве, предназначенная для изменения и/или записи данных и программ по меньшей мере в одном первом запоминающем устройстве (104, 200) этой вычислительной системы (100), при этом предусмотрено по меньшей мере одно второе запоминающее устройство (105, 206), которое, равно как и первое запоминающее устройство (104, 200), соединено внутрисистемной шинной системой (103) с центральным процессором (ЦП) (101) и с блоком (102) ввода-вывода, а также предусмотрено определенное распределение памяти по меньшей мере первого запоминающего устройства (104, 200) на области (например ОП 201…ОП 204, ОП 205), отличающаяся тем, что программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) и сохраняемые данные (СД) защищаются от потери путем стирания (например 306) и копирования (например 307) или стирания и ввода (например 308) вторых программ и данных в соответствующих областях памяти с созданием перед стиранием и копированием или стиранием и вводом данных и/или программ их резервной копии по меньшей мере в одном (например 200) из по меньшей мере двух запоминающих устройств (200, 206).
44. Вычислительная система по п.43, отличающаяся тем, что первое запоминающее устройство выполнено в виде энергонезависимого запоминающего устройства, а второе запоминающее устройство выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства.
45. Вычислительная система по п.43 или 44, отличающаяся тем, что второе запоминающее устройство выполнено в виде промежуточного запоминающего устройства, в которой периодически сохраняются первые и/или вторые программы и данные.
46. Вычислительная система по п.43 или 44, отличающаяся тем, что распределенными определенным образом областями памяти являются по меньшей мере одна область для хранения оригинала данных и вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
Описание изобретения к патенту
Настоящее изобретение относится к способу изменения и/или записи соответственно для перепрограммирования данных и/или программ по меньшей мере в одном запоминающем устройстве (ЗУ) вычислительной системы, прежде всего в запоминающем устройстве блока управления рабочими процессами в транспортном средстве, и к вычислительной системе для осуществления указанного способа.
Из ЕР 0664387 В1 известен способ изменения режима работы блока управления, используемого в транспортных средствах. При этом для изменения программы предусмотрено считывание и запоминание метки программы. Указанная метка постоянно хранится в памяти в качестве контрольной ("эталонной") метки программы. Область памяти, которая первоначально используется для хранения программы и ее метки, необходимо полностью стирать, а затем перепрограммировать. Для перепрограммирования постоянно хранящуюся контрольную метку программы записывают в качестве новой метки и затем загружают извне новую программу. Благодаря созданию контрольной метки программы даже колебания напряжения или выход из строя электрической бортовой сети в процессе перепрограммирования не могут привести к потере указанной информации. При этом, как очевидно, необходима повторная запись данных извне в восстанавливаемые области с использованием второго блока управления соответственно программирующего устройства. Равным образом необходимо постоянно хранить резервные копии, поскольку в случае колебаний напряжения в электрической бортовой сети или выхода ее из строя весь процесс программирования требуется полностью повторять сначала.
Кроме того, из выложенной заявки DE 4332499 А1 известен способ полного перепрограммирования энергонезависимого электрически стираемого запоминающего устройства в блоке управления, в частности в блоке управления транспортного средства. В этом способе процесс программирования осуществляется без использования нестираемого ПЗУ. При этом весь объем памяти энергонезависимого стираемого ЗУ разделен по меньшей мере на две отдельно стираемые и программируемые области, в каждую из которых записывается свой программный модуль. Разделение памяти на две области позволяет в случае исчезновения напряжения до окончания процесса программирования между терминалом ввода данных и транспортным средством полностью повторить этот процесс, поскольку программный модуль сохраняется в энергонезависимом программируемом ЗУ как бы в двух копиях, т.е. по одной в каждой из двух областей памяти. В соответствии с этим даже при стирании одного из этих двух программных модулей в ЗУ тем не менее все еще сохраняется один неповрежденный программный модуль. В указанной выложенной заявке описано лишь полное перепрограммирование, а о разделении программирования на две части и/или дополнительном включении части других программ, соответственно стандартных программ без удаления исходной части программ, соответственно стандартных программ не говорится. При этом требуется постоянное хранение резервных копий, поскольку при возникновении сбоя, например, при исчезновении напряжения, требуется полное перепрограммирование. Такое перепрограммирование в этом случае происходит не автоматически, а должно задаваться извне.
Известны разнообразные способы обнаружения ошибок в данных, возникающих, например, при неправильном протекании процессов запоминания или программирования. Для этого данные и/или программы необходимо представлять в виде кода ошибки, соответственно кода с обнаружением ошибок, в котором наряду с собственно полезной информацией также содержится избыточная информация, служащая для обнаружения ошибок. Такой дополнительной информацией являются, например, биты четности, позволяющие обнаружить ошибку путем вычисления контрольной суммы, как, например, в методах поперечного и/или продольного контроля за счет избыточности (контроль четности). Известны и другие методы линейного и/или циклического контроля, использующие код Хемминга, код БЧХ (код Боуза-Чоудхури-Хоквенгема) и код Абрамсона. К этим же методам контроля следует отнести и контроль при помощи циклического избыточного кода (ЦИК-контроль), при котором из данных и/или программ, т.е. из стираемой и/или копируемой и/или вводимой информации, поблочно, а именно по методу ЦИК-контроля, формируются контрольные байты, которые обрабатываются, соответственно записываются вместе с этой информацией. В некоторых из указанных методов наряду с обнаружением ошибок предусмотрено даже их исправление, относящееся, однако, лишь к отдельным конкретно обнаруженным ошибкам. Поскольку соответствующие контрольные символы необходимо формировать с соблюдением определенных закономерностей, отдельные ошибки, воспроизводящие такие закономерности, не обнаруживаются. По этой причине указанные методы не обеспечивают полного обнаружения и последующего исправления ошибок. С другой стороны, вероятность появления только необнаруживаемых ошибок очень мала, при этом на практике, как правило, просто не все ошибки обнаруживаются, а следовательно, и не все ошибки исправляются. Кроме того, при потере больших объемов данных и/или больших частей программ, как это может иметь место, например, при перебоях с напряжением в процессе программирования, ошибки хотя и можно обнаружить, но их уже нельзя исправить, поскольку указанные методы контроля допускают корректировку лишь отдельных ошибок.
Было установлено, что описанные выше способы не способны обеспечить достижение оптимальных во всех отношениях результатов. Во-первых, в случае сбоя необходима перезапись извне требующих восстановления областей, соответственно всего содержимого памяти. Наряду с этим не происходит автоматического восстановления тех областей памяти, информация в которые была записана в результате сбоя не в полном объеме и которые, следовательно, приходится снова полностью перепрограммировать извне. По этой причине в вышеописанных способах создают постоянно хранящиеся в памяти резервные копии данных и программ. Во-вторых, указанные методы контроля ошибок не позволяют исправлять необнаруженные ошибки, и даже если другая ошибка была обнаружена в той же области памяти. Кроме того, не предусмотрена также возможность коррекции целых областей памяти без их полного перепрограммирования.
Исходя из вышеизложенного, в основу настоящего изобретения прежде всего была положена задача разработать способ изменения содержимого используемых в блоках управления запоминающих устройств, которые, с одной стороны, в любой момент времени оставались бы устойчивы к любым помехам, соответственно сбоям, а с другой стороны, могли бы самостоятельно возвращать определенные области памяти в предопределенное исходное состояние и создать вычислительную систему для реализации указанного способа.
Указанная задача решается с помощью предложенного в изобретении способа изменения и/или записи программ, используемых, в частности, для управления рабочими процессами в транспортном средстве, по меньшей мере в одном первом запоминающем устройстве вычислительной системы, прежде всего в запоминающем устройстве блока управления, причем предусмотрено по меньшей мере одно второе запоминающее устройство, при этом память по меньшей мере первого запоминающего устройства определенным образом разбивают на области. Согласно изобретению программы подразделяются по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) защищают от потери путем стирания и копирования или стирания и ввода вторых программ в соответствующих областях памяти, создавая перед стиранием и копированием или стиранием и вводом вторых программ их резервную копию по меньшей мере в одном из по меньшей мере двух запоминающих устройств.
При этом первые программы загружают и/или вызывают вторые программы, а первые программы и/или вторые программы осуществляют стирание и копирование или стирание и ввод вторых программ.
Целесообразно резервную копию вторых программ после стирания и копирования или стирания и ввода вторых программ стирать, если при этом не возникло ошибки.
В случае возникновения ошибки при стирании и копировании или стирании и вводе вторых программ, они будут автоматически восстанавливаться.
В то же время, в случае возникновения ошибки при стирании и копировании или стирании и вводе вторых программ, они автоматически будут восстанавливаться, а по меньшей мере в первом запоминающем устройстве вычислительной системы будет происходить перезапуск первоначально начатого процесса по изменению и/или вводу этих вторых программ, используемых, в частности, для управления рабочими процессами в транспортном средстве.
По меньшей мере первые программы предпочтительно хранить в первом, являющемся энергонезависимым запоминающем устройстве, или же вводить либо копировать в него.
Предпочтительно второе запоминающее устройство использовать в качестве промежуточного запоминающего устройства, и поэтому его можно выполнить в виде энергозависимого либо энергонезависимого запоминающего устройства, в котором периодически сохраняют вторые программы.
Память целесообразно разделить определенным образом на области, которыми являются по меньшей мере одна область хранения оригинала вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
Управление процессами стирания и копирования или стирания и ввода вторых программ целесообразно осуществлять с помощью вторых программ, которые вначале копируют или вводят в промежуточное запоминающее устройство.
При этом в области хранения резервных копий целесообразно сохранять и другие программы и для защиты от потери вторых программ путем их копирования или ввода область хранения резервных копий необходимо стирать.
Первые программы (СП в ПЗУ, СП в БС) или по меньшей мере часть первых программ, предназначенных для запуска соответствующего процесса стирания и копирования или стирания и ввода вторых программ, предпочтительно хранить или сохранять в постоянном запоминающем устройстве или в постоянной, соответственно неизменяемой области памяти.
Задача изобретения решается также и с помощью предложенного в изобретении другого варианта способа изменения и/или записи данных, используемых программами, в частности, для управления рабочими процессами в транспортном средстве, по меньшей мере в одном первом запоминающем устройстве вычислительной системы, прежде всего в запоминающем устройстве блока управления, причем предусмотрено по меньшей мере одно второе запоминающее устройство, при этом память по меньшей мере первого запоминающего устройства определенным образом разбивают на области. В соответствии с изобретением в этом случае программы подразделяют по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а сохраняемые данные (СД) защищают от потери путем стирания и копирования или стирания и ввода данных в соответствующих областях памяти, создавая перед стиранием и копированием или стиранием и вводом данных их резервную копию по меньшей мере в одном из по меньшей мере двух запоминающих устройств.
При реализации этого варианта способа первые программы загружают и/или вызывают вторые программы, а первые программы и/или вторые программы осуществляют копирование и/или стирание и/или ввод данных и/или программ.
Причем резервную копию данных после их стирания и копирования или стирания и ввода снова записывают в качестве исходных данных.
В случае возникновения ошибки при стирании и копировании или стирании и вводе данных, указанные выше программы будут автоматически восстанавливаться.
Либо, в случае возникновения ошибки при стирании и копировании или стирании и вводе данных, указанные программы будут автоматически восстанавливаться, а по меньшей мере в первом запоминающем устройстве вычислительной системы будет происходить перезапуск первоначально начатого процесса по изменению и/или вводу данных, используемых, в частности, для управления рабочими процессами в транспортном средстве.
Целесообразно по меньшей мере первые программы хранить в первом, являющемся энергонезависимым запоминающем устройстве, или же вводить либо копировать в него.
Второе запоминающее устройство целесообразно использовать в качестве промежуточного запоминающего устройства, и поэтому его можно выполнить в виде энергозависимого либо энергонезависимого запоминающего устройства, в котором периодически сохраняют данные.
Целесообразно память разделять определенным образом на области, которыми являются по меньшей мере одна область для хранения оригинала данных и вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
Управление процессами стирания и копирования или стирания и ввода данных предпочтительно осуществлять с помощью данных, которые вначале копируют и/или вводят в промежуточное запоминающее устройство.
При этом целесообразно в области хранения резервных копий сохранять и другие данные и для защиты от потери сохраняемых данных путем их копирования или ввода область хранения резервных копий стирать.
Первые программы (СП в ПЗУ, СП в БС) или по меньшей мере часть первых программ, предназначенных для запуска соответствующего процесса стирания и копирования или стирания и ввода данных, могут храниться или сохраняться в постоянном запоминающем устройстве или в постоянной соответственно неизменяемой области памяти.
Задача изобретения решается также с помощью еще одного варианта предложенного в изобретении способа изменения и/или записи данных и программ, используемых, в частности, для управления рабочими процессами в транспортном средстве, по меньшей мере в одном первом запоминающем устройстве вычислительной системы, прежде всего в запоминающем устройстве блока управления, причем может быть предусмотрено по меньшей мере одно второе запоминающее устройство, при этом память по меньшей мере первого запоминающего устройства определенным образом разбивают на области. В соответствии с изобретением программы целесообразно подразделить по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранят в неизменяемой области памяти, а вторые программы (ВСП) и сохраняемые данные (СД) защищают от потери путем стирания и копирования или стирания и ввода вторых программ и данных в соответствующих областях памяти, создавая перед стиранием и копированием или стиранием и вводом данных и вторых программ их резервную копию по меньшей мере в одном из по меньшей мере двух запоминающих устройств.
В этом варианте первые программы загружают и/или вызывают вторые программы, а первые программы и/или вторые программы осуществляют стирание и копирование или стирание и ввод данных и вторых программ.
Причем целесообразно резервную копию данных после стирания и копирования или стирания и ввода данных и вторых программ снова записывать в качестве исходных данных.
Резервную копию вторых программ после стирания и копирования или стирания и ввода данных и вторых программ целесообразно стирать, если при этом не возникло ошибки.
В случае возникновения ошибки при стирании и копировании или стирании и вводе данных и вторых программ, эти данные и вторые программы будут автоматически восстанавливаться.
Либо, в случае возникновения ошибки при стирании и копировании или стирании и вводе данных и вторых программ, эти данные и вторые программы будут автоматически восстанавливаться, а по меньшей мере в первом запоминающем устройстве вычислительной системы будет происходить перезапуск первоначально начатого процесса по изменению и/или вводу данных и вторых программ, используемых, в частности, для управления рабочими процессами в транспортном средстве.
При этом по меньшей мере первые программы должны храниться в первом, являющемся энергонезависимым запоминающем устройстве, или же вводиться либо копироваться в него.
Второе запоминающее устройство целесообразно использовать в качестве промежуточного запоминающего устройства, и поэтому его желательно выполнить в виде энергозависимого либо энергонезависимого запоминающего устройства, в котором периодически сохраняют вторые программы и данные.
В этом варианте память также целесообразно разделять определенным образом на области, которыми являются по меньшей мере одна область для хранения оригинала данных и вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
Управление процессами стирания и копирования или стирания и ввода данных и вторых программ целесообразно осуществлять с помощью вторых программ и данных, которые вначале копируют и/или вводят в промежуточное запоминающее устройство.
В области хранения резервных копий целесообразно сохранять и другие данные и программы и для защиты от потери вторых программ и сохраняемых данных путем их копирования и/или ввода область хранения резервных копий стирать.
Предпочтительно первые программы (СП в ПЗУ, СП в БС) или по меньшей мере часть первых программ, предназначенных для запуска соответствующего процесса стирания и копирования или стирания и ввода данных и вторых программ, хранить или сохранять в постоянном запоминающем устройстве или в постоянной, соответственно неизменяемой области памяти.
Задача изобретения решается также с помощью предложенной в изобретении вычислительной системы, в частности блока управления рабочими процессами в транспортном средстве, предназначенной для изменения и/или записи программ по меньшей мере в одном первом запоминающем устройстве этой вычислительной системы, имеющей еще по меньшей мере одно второе запоминающее устройство, которое, равно как и первое запоминающее устройство, соединено внутрисистемной шинной системой с центральным процессором (ЦП) и с блоком ввода-вывода, а также предусмотрено в системе определенное распределение памяти по меньшей мере первого запоминающего устройства на области. В соответствии с изобретением программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) защищаются от потери путем стирания и копирования или стирания и ввода вторых программ в соответствующих областях памяти с созданием перед стиранием и копированием или стиранием и вводом программ их резервной копии по меньшей мере в одном из по меньшей мере двух запоминающих устройств.
Первое запоминающее устройство предпочтительно выполнить в виде энергонезависимого запоминающего устройства, а второе запоминающее устройство - в виде энергозависимого либо энергонезависимого запоминающего устройства.
При этом второе запоминающее устройство целесообразно выполнить в виде промежуточного запоминающего устройства, в котором периодически сохраняются первые и/или вторые программы.
В предпочтительном варианте выполнения вычислительной системы по изобретению распределенными определенным образом областями памяти являются по меньшей мере одна область для хранения оригинала вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
В еще одном варианте предпочтительного выполнения изобретения вычислительная система, в частности блок управления рабочими процессами в транспортном средстве, предназначенная для изменения и/или записи используемых программами данных по меньшей мере в одном первом запоминающем устройстве этой вычислительной системы, имеет по меньшей мере одно второе запоминающее устройство, которое, равно как и первое запоминающее устройство, соединено внутрисистемной шинной системой с центральным процессором (ЦП) и с блоком ввода-вывода, а также в системе предусмотрено определенное распределение памяти по меньшей мере первого запоминающего устройства на области. Согласно изобретению программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а сохраняемые данные (СД) защищаются от потери путем стирания и копирования или стирания и ввода данных в соответствующих областях памяти с созданием перед стиранием и копированием или стиранием и вводом данных их резервной копии по меньшей мере в одном из по меньшей мере двух запоминающих устройств.
В этом варианте вычислительной системы первое запоминающее устройство выполнено в виде энергонезависимого запоминающего устройства, а второе запоминающее устройство выполнено в виде энергозависимого либо энергонезависимого запоминающего устройства.
При этом второе запоминающее устройство предпочтительно выполнить в виде промежуточного запоминающего устройства, в котором периодически сохраняются данные.
В вычислительной системе по данному варианту распределенными определенным образом областями памяти являются по меньшей мере одна область для хранения оригинала данных, одна область хранения резервных копий и/или одна область промежуточного хранения.
В другом предпочтительном варианте выполнения вычислительная система, в частности блок управления рабочими процессами в транспортном средстве, предназначенная для изменения и/или записи данных и программ по меньшей мере в одном первом запоминающем устройстве этой вычислительной системы, имеет по меньшей мере одно второе запоминающее устройство, которое, равно как и первое запоминающее устройство, соединено внутрисистемной шинной системой с центральным процессором (ЦП) и с блоком ввода-вывода, а также в системе предусмотрено определенное распределение памяти по меньшей мере первого запоминающего устройства на области. Согласно изобретению программы подразделены по меньшей мере на первые программы, представляющие собой стандартные программы (СП), хранящиеся в постоянном запоминающем устройстве (ПЗУ), в блоке самозагрузки (БС), во флэш-памяти (ФП), и вторые программы, представляющие собой вторые стандартные программы, соответственно вспомогательные стандартные программы (ВСП), при этом первые программы хранятся в неизменяемой области памяти, а вторые программы (ВСП) и сохраняемые данные (СД) защищаются от потери путем стирания и копирования или стирания и ввода вторых программ и данных в соответствующих областях памяти с созданием перед стиранием и копированием или стиранием и вводом данных и/или программ их резервной копии по меньшей мере в одном из по меньшей мере двух запоминающих устройств.
Первое запоминающее устройство целесообразно также выполнить в виде энергонезависимого запоминающего устройства, а второе запоминающее устройство - в виде энергозависимого либо энергонезависимого запоминающего устройства.
И в этом варианте выполнения вычислительной системы второе запоминающее устройство целесообразно выполнить в виде промежуточного запоминающего устройства, в которой периодически сохраняются первые и/или вторые программы и данные.
При этом в вычислительной системе по данному варианту выполнения распределенными определенным образом областями памяти являются по меньшей мере одна область для хранения оригинала данных и вторых программ, одна область хранения резервных копий и/или одна область промежуточного хранения.
Преимущество изобретения достигается прежде всего за счет использования программного ядра, постоянно хранящегося в нестираемой, соответственно неперепрограммируемой области памяти, благодаря чему обеспечивается возможность запуска процесса программирования с любого места, а тем самым и возможность надежного и автоматического выполнения процедур, определяемых в соответствии с предлагаемым способом. За счет этого с помощью предлагаемого способа и достигаются цели изобретения.
Кроме того, изобретение позволяет ограничить возможность неполной коррекции ошибок случаем, при котором в наличии останутся только нераспознаваемые ошибки, поскольку вероятность появления последних очень мала. Уже при обнаружении одной ошибки происходит автоматическое восстановление всей той области памяти, в которой появилась эта ошибка, за счет чего одновременно исправляются и необнаруженные ошибки.
Помимо этого изобретение обеспечивает достижение и иных преимуществ.
Так, например, использование по меньшей мере первых и вторых программ, соответственно стандартных программ, позволяет в последующем дополнять исходные данные и/или программы. Достигается это за счет определенного распределения областей памяти, что позволяет перед стиранием и/или копированием и/или вводом данных и/или программ, соответственно стандартных программ, а также подпрограмм создавать с них в вычислительной системе резервную копию в иной, отличной от исходной области памяти.
Предлагаемый в изобретении способ обеспечивает в случае сбоя автоматическое сохранение и/или восстановление дополнительных стандартных программ (вспомогательных стандартных программ или подпрограмм) и/или предназначенных для защиты от потери данных, соответственно предназначенных для восстановления областей памяти и/или повторный запуск первоначально запущенного процесса.
Кроме того, резервная копия сохраняемых данных и/или стандартных программ может быть перезаписана обратно в исходную область памяти сразу же после стирания оригинала, или же в случае с управляющими программированием стандартными программами резервная копия может быть стерта после успешного завершения процесса программирования, благодаря чему в обоих случаях нет необходимости в ее постоянном хранении. В той области памяти, которая служит для хранения резервных копий данных и/или программ, соответственно стандартных программ, при нормальной работе могут храниться другие, не предназначенные для постоянного хранения данные и/или программы, соответственно стандартные программы, стираемые при необходимости сохранения соответствующей информации. Такой вариант позволяет использовать ЗУ меньшей емкости.
Первые и вторые стандартные программы могут, но необязательно, выполняться совместно и/или отдельно. В случае программирования блока управления, используемого на транспортном средстве, изготовителем этого блока такая возможность означает, что при использовании в качестве вторых стандартных программ, т.е. вспомогательных стандартных программ, например, определяемых заказчиком специализированных программ, соответственно стандартных программ или, иными словами, программ, определяемых изготовителем транспортных средств, в процессе программирования можно учесть особые требования, индивидуально предъявляемые этим заказчиком, адаптировав блок управления к конкретному типу транспортного средства, месту и условиям его эксплуатации и т.д. Помимо этого, вспомогательные стандартные программы можно интегрировать в вычислительную систему в любой момент времени.
В результате предлагаемый в изобретении способ не только обеспечивает автоматический возврат областей памяти в предопределенное исходное состояние без вмешательства извне, но и является достаточно надежным, позволяя в то же время очень гибко адаптировать процесс программирования к конкретным условиям без необходимости увеличения емкости памяти.
Термины "программы", "стандартные программы" и "подпрограммы" в контексте настоящего изобретения следует рассматривать как равнозначные.
Ниже изобретение более подробно поясняется на примерах его осуществления со ссылкой на прилагаемые чертежи, на которых показано:
на фиг.1 - схема используемых согласно изобретению аппаратных средств,
на фиг.2 - схема распределения областей памяти во флэш-памяти, ЗУПВ и ПЗУ согласно первому варианту осуществления изобретения,
на фиг.3 - блок-схема процесса сохранения вторых, соответственно вспомогательных стандартных программ,
на фиг.4 - блок-схема процесса сохранения предназначенных для сохранения данных,
на фиг.5 - схема распределения областей памяти во флэш-памяти и ЗУПВ согласно второму варианту осуществления изобретения,
на фиг.6 - блок-схема процесса сохранения программ и вспомогательных стандартных программ и
на фиг.7 - блок-схема способа, поясняющая, в отличие от предыдущей схемы, процесс сохранения сохраняемых данных.
На фиг.1 показан пример конфигурации аппаратных средств, предназначенных для осуществления предлагаемого способа. При этом позицией 100 обозначена вычислительная система, в частности блок управления. Позициями 104 и 105 и необязательной позицией 106 обозначены различные типы запоминающих устройств (ЗУ). При этом позицией 104 обозначено стираемое энергонезависимое ЗУ, например, стираемое программируемое постоянное запоминающее устройство (СППЗУ) с параллельным стиранием, или так называемая флэш-память, содержимое которой можно стирать и программировать блоками, соответственно отдельными блоками. Кроме того, предусмотрено энергозависимое ЗУ 105, например, в виде запоминающего устройства с произвольной выборкой (ЗУПВ), служащего в качестве второго ЗУ, в частности для промежуточного хранения (буферизации) данных и/или программ. Помимо этого из ЗУПВ 105 можно также вызывать и запускать стандартные программы, соответственно подпрограммы. При этом необязательно можно предусмотреть еще одно энергонезависимое ЗУ, например, типа СППЗУ. Для повышения надежности сохранения информации это ЗУ 106 может быть выполнено в виде энергонезависимого ЗУ, хранящуюся в котором информацию можно только считывать, но не изменять, например в виде постоянного запоминающего устройства (ПЗУ). Эти ЗУ 104, 105 и необязательно 106 внутрисистемной шинной системой 103 соединены, в частности, с центральным процессором (ЦП) 101 и с блоком 102 ввода-вывода. Кроме того, в состав вычислительной системы, в частности блока управления, могут входить и другие, не показанные на схеме компоненты, например, другие ЦП и ЗУ, различные блоки ввода-вывода и т.д. Интерфейсом 107 ввода-вывода, например, последовательным или параллельным, вычислительная система 100 соединена с внешним управляющим, соответственно программирующим устройством 108. Это внешнее программирующее устройство 108, которым может быть и обычный компьютер, служит для ввода данных и/или программ, например, для ввода новой версии программы и/или данных. Кроме того, в этом случае можно использовать и другие носители вводимых данных, присоединяемые, например, непосредственно к другим блокам ввода-вывода.
Распределение памяти запоминающих устройств на отдельные области в первом примере, в котором используется ПЗУ 106, показано на фиг.2. При этом позицией 200 условно обозначен весь объем флэш-памяти 104. В состав последней входит, в частности, область памяти ОП 201, представляющая собой область для хранения резервной копии данных. Наряду с этим предусмотрена область памяти ОП 202, представляющая собой область для хранения резервных копий вторых стандартных программ, соответственно вспомогательных стандартных программ ВСП. Область памяти ОП 203 соответствует в дальнейшем области для хранения исходных данных (оригинала данных). Область для хранения исходных вспомогательных стандартных программ (оригинала программ) обозначена как область памяти ОП 204. Весь объем памяти ЗУПВ 105 условно показан в виде блока 206. В этом ЗУ имеется область памяти ОП 207, в которой периодически частично сохраняются создаваемые согласно первому варианту осуществления предлагаемого способа копии областей ОП 201...OП 204 флэш-памяти. Кроме того, на чертеже блоком 208 условно обозначен также объем памяти ПЗУ 106. При этом в области памяти ОП 209 хранится блок самозагрузки, соответственно стандартные программы для запуска системы и способа и/или первые стандартные программы. Эти стандартные программы, хранящиеся в ПЗУ, обозначены далее как "СП в ПЗУ".
На фиг.3 показана процедура сохранения вспомогательных стандартных программ ВСП с использованием ПЗУ согласно первому варианту осуществления изобретения. В зависимости от того, происходит ли запуск системы, соответственно перепрограммирование, или же имеет место просто запрос на программирование, выполнение процедуры начинается на шаге 300 или на шаге 301. При поступлении на шаге 301 запроса на программирование по этому запросу на шаге 303 инициируется выполнение СП в ПЗУ. СП в ПЗУ на шаге 305 запускают копирование вспомогательных стандартных программ ВСП из области памяти ОП 204 в область памяти ОП 207 в ЗУПВ. Эти вспомогательные стандартные программы ВСП, вызываемые на шаге 305, служат, например, для специального, индивидуального программирования флэш-памяти. Вспомогательные стандартные программы ВСП выполняются затем в области памяти ОП 207 ЗУПВ, самостоятельно или с помощью СП в ПЗУ, управляя последующими процессами копирования, стирания и/или программирования флэш-памяти 104. Иными словами, вспомогательные стандартные программы ВСП и СП в ПЗУ могут, но необязательно, выполняться совместно. Однако такое управление дальнейшими процессами копирования, стирания и/или программирования флэш-памяти могут независимо взять на себя и СП в ПЗУ (ОП 209). При программировании сначала на шаге 306 происходит удаление данных и/или программ, соответственно стандартных программ из области памяти ОП 202, предназначенной для хранения резервных копий вспомогательных стандартных программ ВСП, с последующим созданием на шаге 307 резервной копии этих вспомогательных стандартных программ ВСП. При этом вспомогательные стандартные программы ВСП копируются из области памяти ОП 204 в область хранения резервных копий, т.е. в область памяти ОП 202.
После этого на шаге 308 можно извне, например из блока 108 управления через интерфейс 107, стирать содержимое области памяти ОП 204 с последующим вводом в последнюю совершенно новой версии вспомогательных стандартных программ ВСП. При этом на шаге 308 можно, но необязательно, стирать и/или программировать и другие области флэш-памяти (например, те области, в которых хранятся стандартные программы).
Затем на шаге 309 проверяется наличие ошибок, которые могли возникнуть при вводе на шаге 308 вспомогательных стандартных программ в область памяти ОП 204. Такая проверка осуществляется, например, по известным методам, в частности при помощи циклического избыточного кода. При отсутствии ошибок по завершении программирования можно не использовать, соответственно стереть вспомогательные стандартные программы ВСП из области ОП 202 на шаге 310 и заменить их, например, введя извне, либо на первоначально хранившиеся в этой области памяти данные и/или программы, либо на измененную, соответственно новую версию этих данных и/или программ. Указанная операция выполняется на шаге 311. При наличии же ошибки, т.е. при появлении ошибки на шаге 309, или, иными словами, после прерывания программирования по какой-либо причине в то время, когда в области ОП 204 отсутствуют достоверные данные и/или стандартные программы, такое состояние определяется СП в ПЗУ на шаге 302 при запуске системы, соответственно перепрограммировании на шаге 300. СП в ПЗУ инициируют копирование резервной копии вспомогательных стандартных программ ВСП из области ОП 202 в ЗУПВ, а именно, в его область ОП 207. При этом вспомогательные стандартные программы ВСП также могут, но необязательно, выполняться совместно с СП в ПЗУ. В таком случае инициируемое извне программирование области ОП 204 должно происходить по первоначально предусмотренной схеме. По окончании программирования вспомогательные стандартные программы ВСП в области ОП 202 и в этом случае не используют (шаг 310), заменяя их вводом извне либо на имеющиеся исходные данные и/или стандартные программы, либо на измененную новую версию этих данных и/или программ (шаг 311). Это означает, что резервную копию вспомогательных стандартных программ ВСП нет необходимости хранить постоянно, а можно стирать ее после успешного проведения программирования и перезаписывать на ее место измененные или другие находящиеся в этой области памяти данные и/или программы. При этом на шаге 311 необязательно можно стирать и/или программировать и другие области флэш-памяти.
На фиг.4 показана блок-схема аналогичной процедуры, которая выполняется с использованием областей памяти, распределенных в соответствии с вариантом по фиг.2, но которая в этом случае служит для сохранения данных. Под сохраняемыми данными СД при этом понимают, например, такие подлежащие сохранению данные, которые не должны быть потеряны в течение всего срока эксплуатации блока управления. Однако существует возможность расширить набор этих данных в процессе эксплуатации блока управления. Возможность такого обновления данных обеспечивается в варианте осуществления способа, показанном на фиг.4. И в этом случае выполнение процедуры начинается при запуске системы или перепрограммировании на шаге 400, соответственно при поступлении запроса на программирование на шаге 401. При необходимости сохранить данные СД при получении на шаге 401 соответствующего запроса на программирование на следующем шаге 403 начинается выполнение соответствующих СП в ПЗУ. В этом случае СП в ПЗУ также инициируют на шаге 405 копирование вспомогательных стандартных программ ВСП для программирования флэш-памяти из области ОП 204 в этой флэш-памяти в область ОП 207 в ЗУПВ. Вспомогательные стандартные программы ВСП выполняются затем в области памяти ОП 207 ЗУПВ, самостоятельно или с помощью СП в ПЗУ управляя последующими процессами копирования, стирания и/или программирования флэш-памяти 104. Иными словами, вспомогательные стандартные программы ВСП и СП в ПЗУ могут, но необязательно, выполняться совместно. Однако такое управление дальнейшими процессами копирования, стирания и/или программирования флэш-памяти могут независимо взять на себя и СП в ПЗУ (ОП 209). При необходимости стереть при программировании область данных, соответственно область ОП 203, в которой находятся данные, эти данные СД сохраняются в области ОП 201. Указанная операция выполняется на шаге 406. Затем на шаге 407 стирается соответственно перепрограммируется область ОП 203, в которой хранятся данные. После этого на шаге 408 сохраняемые данные СД из области ОП 201 снова копируются в область хранения исходных данных, т.е. в область ОП 203. Управление этими процессами осуществляют вспомогательные стандартные программы ВСП, скопированные в область ОП 207 ЗУПВ из области ОП 204, и/или СП в ПЗУ (ср. описание к фиг.3). На шаге 309, как и в предыдущем случае с сохранением стандартных программ, проверяется правильность запоминания данных. При наличии ошибки, т.е. в случае прерывания программирования по какой-либо причине в то время, когда в области ОП 203 отсутствуют достоверные данные, СП в ПЗУ зафиксируют такое состояние на шаге 402 после повторного запуска, соответственно перепрограммирования системы на шаге 400. Контроль на наличие ошибок и в этом случае осуществляется с использованием известных методов. СП в ПЗУ и/или ВСП инициируют копирование резервной копии сохраняемых данных СД из области ОП 201 в область ОП 203, т.е. в область хранения исходных данных. С этой целью на шаге 404 из области ОП 204 флэш-памяти в область ОП 207 ЗУПВ загружаются вспомогательные стандартные программы ВСП. Управление вновь выполняемыми в этом случае процессами на шагах 407, 408 и 410, а также 309 снова осуществляют СП в ПЗУ и/или вспомогательные стандартные программы ВСП. При отсутствии же ошибок при сохранении сохраняемых данных СД область данных ОП 201 может быть перепрограммирована, например, извне с помощью внешних программирующих устройств 108. Однако в зависимости от конкретной ситуации возможно также использование внутренних данных.
В этом варианте осуществления изобретения на шагах 308 и/или 311 и/или 407 и/или 410 необязательно можно стирать и/или программировать и другие области флэш-памяти.
Во втором варианте осуществления изобретения при выполняемом в его рамках автоматическом восстановлении определенного исходного состояния системы можно отказаться от применения такой энергонезависимой нестираемой памяти, как ПЗУ в предыдущем варианте. Способ, в котором не используется ПЗУ, предполагает наличие блока самозагрузки. Этот блок самозагрузки находится в центральном процессоре (ЦП) 101, но может находиться и в недоступной для пользователя или защищенной от записи области флэш-памяти 104. Таким образом, при имеющемся условном распределении областей памяти на схеме можно отказаться от изображения ПЗУ.
Такая схема распределения областей памяти показана на фиг.5. На этой схеме объем флэш-памяти 104 также условно представлен блоком 200. И в этом случае аналогичные области памяти ОП 201а...ОП 204а обозначены так же, как и в предыдущем варианте. В области памяти ОП 205 хранится необходимый в данном случае блок самозагрузки, соответственно программа самозагрузки ПЗ. Часть хранившихся в предыдущем варианте в ПЗУ стандартных программ в данном случае хранится во флэш-памяти (ниже эти стандартные программы обозначаются как СП в ФП), а другая их часть, необходимая для самозагрузки, хранится в блоке самозагрузки (ниже эти стандартные программы обозначаются как СП в БС). Блоком 206 также условно обозначен весь объем памяти ЗУПВ 105. Область памяти ОП 207а служит в данном варианте для записи стандартных программ во флэш-памяти (СП в ФП) и/или вспомогательных стандартных программ ВСП, управляющих процессом из ЗУПВ. Используемая в ЗУПВ область памяти ОП 207а своими емкостью и расположением может отличаться от показанной на фиг.2 аналогичной области памяти ОП 207. То же самое относится и к областям памяти ОП 201а...ОП 204а в блоке 200, представляющем объем флэш-памяти 105. Указанные области памяти по своим емкости и расположению также могут отличаться от показанных на фиг.2. В области ОП 201 а и в этом случае имеется область хранения резервных копий данных. В области ОП 202а находится область хранения резервных копий стандартных программ, которыми и в этом варианте являются вспомогательные стандартные программы ВСП, но дополненные в данном случае частью хранившихся в предыдущем варианте в другом месте СП, а именно в ПЗУ, причем эта часть стандартных программ обозначена теперь как СП в ФП. Область ОП 203а является в этом варианте областью исходных данных. Область ОП 204а также является областью хранения исходной информации (оригинала), но предназначена в этом случае для стандартных программ. Эти программы, как и в случае стандартных программ, хранящихся в области резервных копий, т.е. в области памяти ОП 202а, включают вспомогательные стандартные программы ВСП и часть стандартных программ, хранившихся в предыдущем варианте в ПЗУ (т.е. часть СП из ПЗУ), которое в данном варианте не используется. Остальная часть стандартных программ, хранившихся в предыдущем варианте в ПЗУ, находится в данном случае в блоке самозагрузки в области ОП 205, и поэтому такие стандартные программы называются в соответствии с этим стандартными программами в блоке самозагрузки СП в БС.
В соответствии с показанной на фиг.6 блок-схемой по запросу на программирование, поступающему на шаге 601, начинается выполнение СП в ФП на шаге 606. СП в ФП инициируют копирование вспомогательных стандартных программ ВСП и части прежних СП в ПЗУ из области ОП 204а в область 207а ЗУПВ. Эта операция выполняется на шаге 607. Часть СП в ПЗУ из предыдущего варианта хранится в данном случае во флэш-памяти вне блока самозагрузки (СП в БС), и эти программы называются стандартными программами во флэш-памяти СП в ФП. Поскольку указанные стандартные программы во флэш-памяти в результате как бы должны копировать и себя, ниже описаны различные варианты выполнения этой процедуры.
Первый возможный вариант заключается в том, чтобы не переносить полностью СП из ФП в ЗУПВ, т.е. чтобы та часть СП в ФП, которая отвечает за копирование остальных СП в ФП и вспомогательных стандартных программ ВСП, оставалась в области флэш-памяти, в частности в области ОП 204а.
Другая возможность состоит в том, чтобы и в той части СП в ФП, которая копируется в область 207а ЗУПВ, также предусмотреть стандартные программы, которые, находясь в ЗУПВ, оттуда на следующем шаге также копировали бы в это ЗУПВ оставшуюся во флэш-памяти часть СП в ФП, отвечающих за копирование остальных СП в ФП и вспомогательных стандартных программ ВСП. Такой вариант позволил бы копировать в ЗУПВ все содержимое области памяти ОП 204а. Указанные стандартные программы для дополнительного копирования последних оставшихся во флэш-памяти стандартных программ могут находиться в СП в ФП и/или в ВСП, что позволяет уже перенесенным в ЗУПВ стандартным программам во флэш-памяти и/или вспомогательным стандартным программам ВСП управлять всем процессом.
Наряду с описанными выше имеется еще одна возможность, заключающаяся в разделении стандартных программ на две части: на стандартные программы во флэш-памяти СП в ФП и на вспомогательные стандартные программы ВСП. Такой вариант позволяет вспомогательным стандартным программам ВСП при условии их копирования первыми из области памяти ОП 204а в область ОП 207а ЗУПВ самостоятельно, уже из ЗУПВ, управлять копированием находящихся во флэш-памяти стандартных программ СП в ФП из этой флэш-памяти в ЗУПВ. Таким образом, весь процесс копирования можно было бы провести за один шаг, управляя этим процессом вначале с помощью стандартных программ во флэш-памяти СП в ФП, а затем с помощью вспомогательных стандартных программ ВСП. При этом программы во флэш-памяти СП в ФП могли бы инициировать выполнение вспомогательных стандартных программ ВСП и передавать им тем самым все управление процессом.
Скопированные в ЗУПВ стандартные программы (ВСП и/или СП в ФП) затем выполняются в этом ЗУПВ, управляя последующими процессами копирования, стирания и программирования флэш-памяти. Таким образом, дальнейшее управление последующими процессами могут осуществлять ВСП и/или СП в ФП.
При программировании вначале на шаге 608 из области памяти ОП 202а (область резервных копий) удаляются данные и/или программы. Для этого на шаге 609 резервная копия вспомогательных стандартных программ ВСП и/или стандартных программ во флэш-памяти СП в ФП переписывается из области памяти ОП 207а в область памяти 202а. После этого можно стереть информацию из области памяти ОП 204а и ввести в нее извне совершенно новую версию вспомогательных стандартных программ ВСП и/или стандартных программ во флэш-памяти СП в ФП. Указанная операция выполняется на шаге 610. Затем на шаге 309 осуществляется уже описанная выше в предыдущих вариантах проверка правильности программирования. В случае правильного выполнения программирования на следующем шаге 612 все содержимое области ОП 202а хранения резервных копий не используется, соответственно стирается, и затем на шаге 613 извне загружаются либо первоначально хранившиеся в этой области данные и/или программы, либо новая версия таких данных и/или программ. Указанные данные и/или программы вновь записываются в этом случае в область памяти 202а. При этом на шагах 610 и/или 613 необязательно можно стирать и/или программировать и другие области флэш-памяти.
При наличии ошибки (шаг 309), т.е. после прерывания программирования по какой-либо причине в то время, когда в области памяти ОП 204а отсутствуют достоверные данные и/или программы, стандартные программы в блоке самозагрузки СП в БС зафиксируют такое состояние на шаге 602 после повторного запуска системы, соответственно перепрограммирования на шаге 600. При этом стандартные программы в блоке самозагрузки инициируют копирование резервной копии стандартных программ во флэш-памяти СП в ФП и/или вспомогательных стандартных программ ВСП из области памяти ОП 202а в область памяти 207а ЗУПВ. После этого стандартные программы в ЗУПВ, ВСП и/или СП в ФП в области памяти ОП 207а самостоятельно управляют незамедлительной перезаписью вспомогательных стандартных программ ВСП и/или стандартных программ во флэш-памяти назад в исходную область. С этой целью на шаге 604 стирается область хранения исходных программ (оригинала), т.е. область памяти ОП 204а. При записи на шаге 605 вспомогательных стандартных программ ВСП и/или стандартных программ во флэш-памяти СП в ФП из области памяти ОП 202а в область памяти ОП 204а информация в указанной исходной области восстанавливается. Благодаря этому затем извне может быть послан запрос на любой процесс программирования, при этом исключаются конфликтные ситуации по обращению к области памяти ОП 202а, которые могли бы возникнуть в случае хранения в ней резервной копии. Блок управления в случае ошибки всегда запрашивает перепрограммирование соответствующей области памяти, однако все сохраняемые данные к началу этого перепрограммирования снова находятся в первоначально выделенных им исходных областях. Таким путем автоматически обеспечивается восстановление определенного исходного состояния системы.
На фиг.7 показана процедура сохранения сохраняемых данных СД без использования ПЗУ. И в этом случае на основании запроса на программирование, поступающего на шаге 701, на следующем шаге 706 начинается выполнение стандартных программ во флэш-памяти СП в ФП. Эти программы инициируют на шаге 707 копирование вспомогательных стандартных программ ВСП и/или стандартных программ во флэш-памяти СП в ФП и/или часть стандартных программ во флэш-памяти СП в ФП, например, также с помощью описанных для процедуры по фиг.6 способов, из области памяти ОП 204а в область памяти 207а ЗУПВ. Затем начинается выполнение этих стандартных программ, которые управляют последующими копированием, стиранием и программированием флэш-памяти. Например, если при программировании необходимо полностью или частично стереть сохраняемые данные СД в той области памяти, в которой они находятся, эти данные сохраняются их копированием из области памяти ОП 203а в область памяти ОП 201а и тем самым защищаются от потери. Указанная операция выполняется на шаге 708. После этого на шаге 709 полностью или частично стирается по меньшей мере область данных ОП 203а, а затем на шаге 703 сохраняемые данные СД копируются из области памяти ОП 201а в область памяти ОП 203а. После этого на шаге 309, как и в предыдущих вариантах, проверяется появление ошибок в процессе программирования. При отсутствии ошибок на следующем шаге 711 в область данных, т.е. в область памяти ОП 201а, извне могут быть загружены хранившиеся в ней исходные данные и/или часть программ либо новая версия таких данных и/или программ. При этом на шагах 709 и/или 711 необязательно можно стирать и/или программировать и другие области флэш-памяти.
При наличии ошибки, когда после прерывания программирования по какой-либо причине в области памяти ОП 203а отсутствуют достоверные данные, стандартные программы в блоке самозагрузки СП в БС зафиксируют такое состояние на шаге 702 после, соответственно в результате запуска системы и перепрограммирования на шаге 700. При этом такие стандартные программы инициируют копирование резервной копии сохраняемых данных СД из области памяти ОП 201а в исходную область памяти, т.е. в область ОП 203а. После этого стандартные программы в блоке самозагрузки СП в БС в свою очередь инициируют на шаге 707 копирование вспомогательных стандартных программ ВСП и/или стандартных программ во флэш-памяти СП в ФП и/или часть стандартных программ во флэш-памяти СП в ФП, например, также с помощью описанных для процедуры по фиг.6 способов, из области памяти ОП 204а в область памяти 207а ЗУПВ. Затем начинается выполнение этих стандартных программ, которые управляют последующими копированием, стиранием и программированием флэш-памяти. С этой целью затем на шаге 704 стирается область хранения исходных данных (оригинала), т.е. область памяти ОП 203а, после чего на шаге 705 сохраняемые данные СД копируются из области хранения резервных копий в исходную, и тем самым информация в области ОП 203а восстанавливается. Таким образом, затем извне может быть послан запрос на любой процесс программирования, как это имеет место, например, на шаге 701, при этом исключаются конфликтные ситуации по обращению к области памяти ОП 201а, которые могли бы возникнуть в случае хранения в ней резервной копии. Блок управления и в этом случае при наличии ошибки всегда запрашивает перепрограммирование соответствующей области памяти, однако все сохраняемые данные СД к началу этого перепрограммирования снова находятся в первоначально выделенных им исходных областях. Таким путем автоматически обеспечивается восстановление сохраняемых данных СД так же, как и в предыдущем варианте стандартных программ, с возвратом системы в определенное исходное состояние. В результате при наличии ошибки происходят автоматический перезапуск (инициализация) первоначально запущенного процесса и автоматическое восстановление сохраняемых данных СД. Сразу же после стирания исходных данных резервная копия сохраняемых данных СД перезаписывается назад в их исходную область памяти, благодаря чему эта резервная копия, кроме того, не хранится постоянно.
В рассмотренном варианте осуществления изобретения на шагах 610 и/или 613 и/или 709 и/или 711 необязательно можно стирать и/или программировать и другие области флэш-памяти. При этом можно даже перепрограммировать всю флэш-память, за исключением той ее области или тех ее областей, в которой, соответственно в которых, хранятся сохраняемые данные СД и/или сохраняемые стандартные программы.
Таким образом, во всех вариантах осуществления изобретения резервная копия сохраняемых данных СД сразу же после стирания оригинала из исходной области памяти перезаписываются назад в эту исходную область. Таким же образом во всех вариантах осуществления изобретения резервная копия сохраняемых стандартных программ после успешного программирования (проверка на шаге 309) удаляется, а на ее место записываются обычно хранящиеся в этой области памяти и/или любые новые данные и/или программы.
Класс G11C16/06 вспомогательные схемы, например, для записи в запоминающее устройство