Система и способ обеспечения когерентности памяти в многошинной компьютерной системе

 

Изобретение относится к компьютерным системам. Техническим результатом является возможность поддержания кэш-когерентности при минимальном воздействии на показатель запаздывания и общую пропускную способность системы. Многошинная многопроцессорная система содержит системное запоминающее устройство, две шины, запоминающее устройство поддержания когерентности, фильтр когерентности. Способ заключается в том, что поддерживают информацию о статусе кэша, основанной на первом множестве состояний когерентности и связанной с первым множеством значений данных кэш-элементов, подключенных к первой шине, поддерживают запись о статусе когерентности, основанной на втором множестве состояний когерентности, связанном с указанными значениями данных, передают шинную транзакцию во вторую шину, запрещают межшинную транзакцию в указанной первой шине в случае, если запись о статусе когерентности покажет, что в результате данной шинной транзакции не возникает нарушения когерентности памяти. 11 с. и 40 з.п.ф-лы, 11 ил., 2 табл.

Текст описания в факсимильном виде (см. графическую часть)в

Формула изобретения

1. Многошинная многопроцессорная система, содержащая системное запоминающее устройство, первую шину, связанную с указанным системным запоминающим устройством, к которой подключен по меньшей мере один кэш-элемент, выполненный с возможностью хранения значений данных, получаемых из системного запоминающего устройства, причем указанный кэш-элемент выполнен с возможностью поддержания информации о кэш-когерентности указанных значений данных посредством первого множества состояний когерентности, запоминающее устройство поддержания когерентности, связанное с указанной первой шиной и выполненное с возможностью поддержания записи о статусе когерентности указанных значений данных посредством второго множества состояний когерентности, содержащего меньшее число состояний когерентности, чем указанное первое множество состояний когерентности, вторую шину, связанную с указанным системным запоминающим устройством и выполненную с возможностью генерирования шинной транзакции, а также фильтр когерентности, входящий в матрицу памяти с множеством записей о вводе данных и связанный с указанной второй шиной и выполненный с возможностью контроля шинной транзакции во второй шине и запрета межшинных транзакций в указанной первой шине в зависимости от указанной записи о статусе когерентности.

2. Система по п.1, отличающаяся тем, что содержит множество кэш-элементов, поддерживающих информацию о кэш-когерентности посредством указанного первого множества состояний когерентности.

3. Система по п.1, отличающаяся тем, что указанная шинная транзакция идентифицирует адрес в памяти, связанный с одним из указанных значений данных.

4. Система по п.3, отличающаяся тем, что указанная запись о статусе когерентности содержит множество записей о вводе данных, каждая из которых содержит адрес памяти, связанный со значением целостности данных, хранимых в указанном кэш-элементе.

5. Система по п.1, отличающаяся тем, что каждая из указанных записей о вводе данных содержит указанное второе множество состояний когерентности.

6. Система по п.5, отличающаяся тем, что каждая из указанных записей о вводе данных также содержит по меньшей мере одно из состояний указанного второго множества состояний когерентности.

7. Система по п.6, отличающаяся тем, что каждый из указанных адресов в памяти непосредственно содержится на одной из указанных записей о вводе данных.

8. Способ обеспечения кэш-когерентности в многошинной системе, включающий в себя поддержание информации о статусе кэша, основанной на первом множестве состояний когерентности и связанной с первым множеством значений данных, присутствующих в кэш-элементах, подключенных к первой шине, поддержание записи о статусе когерентности, основанной на втором множестве состояний когерентности, связанном с указанными значениями данных, причем в этом втором множестве состояний когерентности используется меньшее число состояний, чем в указанном первом множестве состояний когерентности, передачу шинной транзакции во вторую шину, а также запрет межшинной транзакции в указанной первой шине в случае, если запись о статусе когерентности покажет, что в результате данной шинной транзакции не возникает нарушения когерентности памяти.

9. Способ по п.8, отличающийся тем, что указанная запись о статусе когерентности содержит по меньшей мере одну запись о вводе данных для каждого из указанных значений данных, причем каждая из записей о вводе данных содержит одно из состояний когерентности из указанного второго множества состояний когерентности.

10. Способ по п.9, отличающийся тем, что указанное действие запрета включает в себя действие по обращению к указанному вводу данных в указанной записи о статусе когерентности, связанной с данной шинной транзакцией, для определения, находится ли указанный ввод данных в недействительном состоянии.

11. Способ по п.10, отличающийся тем, что указанное действие запрета дополнительно включает в себя действие по обращению к указанному вводу данных в указанной записи о статусе когерентности, связанной с указанной шинной транзакцией, для определения, находится ли указанный ввод данных в состоянии коллективного пользования.

12. Способ по п.11, отличающийся тем, что дополнительно включает в себя действие по изменению указанного ввода данных, связанного с указанной шинной транзакцией в случае, когда указанный ввод данных находится в состоянии присвоения.

13. Способ по п.11, отличающийся тем, что дополнительно включает в себя действие по изменению состояния указанного ввода данных, связанного с указанной шинной транзакцией, из состояния присвоения в состояние коллективного пользования.

14. Способ по п.11, отличающийся тем, что дополнительно включает в себя действие по изменению состояния данного значения данных, связанного с шинной транзакцией, из состояния присвоения в недействительное состояние.

15. Многошинная многопроцессорная система, содержащая системное запоминающее устройство, системную шину, связанную с указанным системным запоминающим устройством, к которой подключен по меньшей мере один кэш-элемент, выполненный с возможностью хранения значений данных, получаемых из системного запоминающего устройства, причем указанный кэш-элемент выполнен с возможностью поддержания информации о кэш-когерентности указанных значений данных посредством первого множества состояний когерентности, запоминающее устройство поддержания когерентности, связанное с указанной системной шиной и выполненное с возможностью поддержания записи о статусе когерентности в системной шине указанных значений данных посредством второго множества состояний когерентности, содержащего меньшее число состояний когерентности, чем указанное первое множество состояний когерентности, шину ввода/вывода, связанную с указанным системным запоминающим устройством и выполненную с возможностью генерирования по меньшей мере одной шинной транзакции, а также фильтр когерентности, входящий в матрицу памяти с множеством записей о вводе данных, связанный с указанной шиной ввода/вывода, и выполненный с возможностью контроля шинной транзакции в указанной шине ввода/вывода, а также запрета межшинных транзакций в указанной системной шине в зависимости от записи о статусе когерентности в данной системной шине.

16. Система по п.15, отличающаяся тем, что указанный фильтр когерентности выполнен также с возможностью контроля прямого доступа к памяти в данной шине ввода/вывода и выполнения межшинных транзакций, необходимых для предотвращения смещения кэш-строк в указанном кэш-элементе.

17. Система по п.15, отличающаяся тем, что указанная шина ввода/вывода также имеет множество мостов ввода/вывода, содержащих внутренние кэш-элементы, выполненные с возможностью хранения второго множества значений данных, причем эти кэш-элементы ввода/вывода выполнены с возможностью сохранения информации о кэш-когерентности в отношении указанных значений данных посредством первого множества состояний когерентности.

18. Система по п.17, отличающаяся тем, что содержит запоминающее устройство поддержания когерентности в шине ввода/вывода, связанное с данной шиной и выполненное с возможностью записи статуса когерентности значений данных в данной шине ввода/вывода посредством указанного второго множества состояний когерентности.

19. Система по п.18, отличающаяся тем, что содержит фильтр когерентности системной шины, связанный с данной шиной и выполненный с возможностью контроля шинных транзакций в этой шине и запрета межшинных транзакций в указанной шине ввода/вывода, в зависимости от упомянутой записи о статусе когерентности в данной шине.

20. Способ обеспечения кэш-когерентности в многошинной системе, включающий в себя поддержание информации о статусе кэша, основанной на первом множестве состояний когерентности и связанной с первым множеством значений данных, присутствующих в кэш-элементах, подключенных к системной шине, поддержание записи о статусе когерентности, основанной на втором множестве состояний когерентности, связанном с указанными значениями данных, причем в этом втором множестве состояний когерентности используется меньшее число состояний, чем в указанном первом множестве состояний когерентности, передачу шинной транзакции в шину ввода/вывода, а также запрет межшинной транзакции в указанной системной шине в случае, если запись о статусе когерентности покажет, что в результате данной шинной транзакции в шине ввода/вывода не возникает нарушения когерентности памяти.

21. Способ по п.20, отличающийся тем, что указанное действие по передаче шинной транзакции в шину ввода/вывода является прямым доступом в память.

22. Способ по п.20, отличающийся тем, что дополнительно содержит действие по кэшированию множества значений данных, переданных в шину ввода/вывода.

23. Способ по п.22, отличающийся тем, что дополнительно содержит действие по поддержанию информации о статусе кэша, связанной с указанными значениями данных шины ввода/вывода, посредством указанного первого множества состояний когерентности.

24. Способ по п.23, отличающийся тем, что дополнительно содержит действие по поддержанию записи о статусе когерентности значений данных в шине ввода/вывода посредством указанного второго множества состояний когерентности.

25. Способ по п.24, отличающийся тем, что дополнительно содержит действие по передаче шинной транзакции в указанную системную шину, а также действие по запрету межшинной транзакции в указанной шине ввода/вывода, в случае, если запись о статусе когерентности покажет, что в результате данной транзакции в системной шине не возникает нарушения когерентности памяти.

26. Многошинная многопроцессорная система, содержащая системное запоминающее устройство, первую и вторую системные шины, связанные с указанным системным запоминающим устройством, к которым подключен по меньшей мере один кэш-элемент, выполненный с возможностью хранения значений данных, получаемых из системного запоминающего устройства, причем указанные кэш-элементы выполнены с возможностью поддержания информации о кэш-когерентности указанных значений данных посредством первого множества состояний когерентности, первое запоминающее устройство поддержания когерентности, связанное с указанной первой системной шиной и выполненное с возможностью поддержания первой записи о статусе когерентности указанных значений данных в кэш-элементах, подключенных к первой системной шине, посредством второго множества состояний когерентности, содержащего меньшее число состояний когерентности, чем указанное первое множество состояний когерентности, второе запоминающее устройство поддержания когерентности, связанное с указанной второй системной шиной и выполненное с возможностью поддержания второй записи о статусе когерентности указанных значений данных в кэш-элементах, подключенных ко второй системной шине, посредством указанного второго протокола когерентности, первый фильтр когерентности, входящий в матрицу памяти с множеством записей о вводе данных и связанный с указанной первой шиной и выполненный с возможностью контроля шинных транзакций в этой первой шине и запрета шинных транзакций в указанной второй шине в зависимости от указанной второй записи о статусе когерентности, а также второй фильтр когерентности, входящий в матрицу памяти с множеством записей о вводе данных и связанный с указанной второй шиной и выполненный с возможностью контроля шинной транзакции в этой второй шине и запрета межшинных транзакций в указанной первой шине в зависимости от указанной первой записи о статусе когерентности.

27. Система по п.26, отличающаяся тем, что содержит шину ввода/вывода, связанную с указанным системным запоминающим устройством, и множество устройств ввода/вывода, хранящих значения данных шины ввода/вывода по меньшей мере в одном кэш-элементе ввода/вывода, а также запоминающее устройство ввода/вывода, связанное с указанной шиной ввода/вывода и выполненное с возможностью поддержания записи о статусе когерентности значений данных в шине ввода/вывода посредством указанного второго протокола когерентности.

28. Система по п.27, отличающаяся тем, что указанный первый фильтр когерентности также связан с указанным запоминающим устройством поддержания когерентности шины ввода/вывода и выполнен с возможностью контроля шинных транзакций в указанной первой шине и запрета межшинных транзакций в указанной шине ввода/вывода в зависимости от указанной записи о статусе когерентности в этой шине ввода/вывода.

29. Система по п.27, отличающаяся тем, что указанный второй фильтр когерентности также связан с указанным запоминающим устройством поддержания когерентности шины ввода/вывода и выполнен с возможностью контроля шинных транзакций в указанной второй шине и запрета межшинных транзакций в указанной шине ввода/вывода в зависимости от указанной записи о статусе когерентности в этой шине ввода/вывода.

30. Система по п.27, отличающаяся тем, что указанный фильтр когерентности ввода/вывода также связан с указанным первым запоминающим устройством поддержания когерентности и указанным вторым запоминающим устройством поддержания когерентности и выполнен с возможностью контроля шинных транзакций в указанной первой шине и запрета межшинных транзакций в указанной первой шине в зависимости от указанной первой записи о статусе когерентности, а также запрета межшинных транзакций в указанной второй шине в зависимости от указанной второй записи о статусе когерентности.

31. Многошинная многопроцессорная система, содержащая системное запоминающее устройство, первую и вторую шины, связанные с указанным системным запоминающим устройством, к которым подключен по меньшей мере один кэш-элемент, выполненный с возможностью хранения значений данных, получаемых из системного запоминающего устройства, причем указанные кэш-элементы выполнены с возможностью поддержания информации о кэш-когерентности указанных значений данных посредством первого протокола когерентности, содержащего множество состояний когерентности, первое средство поддержания когерентности памяти, предназначенное для поддержания первой записи о статусе когерентности указанных значений данных посредством второго протокола когерентности, содержащего состояния когерентности, отличные от имеющихся в указанном первом протоколе когерентности, средство первого фильтра когерентности, входящего в матрицу памяти с множеством записей о вводе данных, и предназначенное для контроля шинных транзакций в указанной второй шине и запрета межшинных транзакций в указанной первой шине в зависимости от указанной первой записи о статусе когерентности.

32. Многошинная многопроцессорная система, содержащая системное запоминающее устройство, первую шину, связанную с указанным системным запоминающим устройством, к которой подключен по меньшей мере один кэш-элемент, выполненный с возможностью хранения значений данных, получаемых из системного запоминающего устройства, причем указанный кэш-элемент выполнен с возможностью поддержания информации о кэш-когерентности указанных значений данных посредством первого множества состояний когерентности, запоминающее устройство поддержания когерентности, связанное с указанной первой шиной и выполненное с возможностью поддержания записи о статусе когерентности указанных значений данных посредством второго множества состояний когерентности, отличного от указанного первого множества состояний когерентности, вторую шину, связанную с указанным системным запоминающим устройством и выполненную с возможностью генерирования шинной транзакции, а также фильтр когерентности, входящий в матрицу памяти с множеством записей о вводе данных, и связанный с указанной второй шиной и выполненный с возможностью контроля шинной транзакции во второй шине и запрета межшинных транзакций в указанной первой шине в зависимости от указанной записи о статусе когерентности.

33. Система по п.32, отличающаяся тем, что указанный фильтр когерентности содержит первое управляющее устройство поддержания когерентности, выполненное с возможностью получения адреса шинной транзакции и получения доступа к вводу данных в указанной записи о статусе когерентности, соответствующему адресу данной шинной транзакции.

34. Система по п.33, отличающаяся тем, что указанное первое управляющее устройство поддержания когерентности получает состояние когерентности, имеющееся на указанном вводе данных.

35. Система по п.34, отличающаяся тем, что указанный фильтр когерентности также содержит кодировщик цикла, идентифицирующий код указанной шинной транзакции.

36. Система по п.33, отличающаяся тем, что указанный фильтр когерентности также включает таблицу правил когерентности, имеющую указанный статус когерентности и код указанной шинной транзакции.

37. Способ обеспечения кэш-когерентности в многошинной системе, включающий в себя поддержание информации о статусе кэша, основанной на первом множестве состояний когерентности и связанной с первым множеством значений данных, присутствующих в кэш-элементах, подключенных к первой шине, поддержание записи о статусе когерентности, основанной на втором множестве состояний когерентности, связанном с указанными значениями данных, причем второе множество состояний когерентности отличается от указанного первого множества состояний когерентности, передачу шинной транзакции во вторую шину, а также запрет межшинной транзакции в указанной первой шине в случае, если запись о статусе когерентности покажет, что в результате данной шинной транзакции не возникает нарушения когерентности памяти.

38. Способ по п.37, отличающийся тем, что дополнительно содержит действие по осуществлению доступа к записи о вводе данных в указанной записи о статусе когерентности, соответствующей адресу указанной шинной транзакции.

39. Способ по п.37, отличающийся тем, что дополнительно содержит действие по получению статуса когерентности, имеющегося в указанном вводе данных.

40. Способ по п.39, отличающийся тем, что дополнительно содержит действие по кодированию указанной шинной транзакции для получения кода, идентифицирующего эту шинную транзакцию.

41. Способ по п.40, отличающийся тем, что дополнительно содержит действие по анализу указанного кода шинной транзакции и статуса когерентности для определения необходимости данной шинной транзакции для поддержания кэш-когерентности.

42. Многошинная многопроцессорная система, содержащая системное запоминающее устройство, первую и вторую шины, связанные с указанным системным запоминающим устройством, к которым подключено множество кэш-элементов, выполненных с возможностью проведения инспекций и поддержания информации о кэш-статусе множества значений данных, получаемых из системного запоминающего устройства, причем эти кэш-элементы выполнены также с возможностью внутреннего изменения указанной информации, связанной с некоторыми из указанных значений данных, без вывода вовне этих изменений, запоминающее устройство поддержания когерентности, связанное с указанной первой шиной и выполненное с возможностью поддержания записи о статусе когерентности указанных значений данных, полученных кэш-элементом этой первой шины, а также фильтр когерентности, входящий в матрицу памяти с множеством записей о вводе данных, и связанный с указанной второй шиной и выполненный с возможностью контроля шинных транзакций в этой второй шине и запрета межшинных транзакций в указанной первой шине, в зависимости от записи о статусе когерентности.

43. Способ обеспечения кэш-когерентности в многошинной системе, включающий в себя поддержание информации о статусе кэша, связанной с первым множеством значений данных, присутствующих в кэш-элементе, подключенном к системной шине, изменение этой информации внутри указанного кэш-элемента без вывода вовне этого изменения, поддержание записи о статусе когерентности, связанном с указанными значениями данных, передачу шинной транзакции во вторую шину, а также запрет межшинной транзакции в указанной системной шине в случае, если запись о статусе когерентности покажет, что в результате данной шинной транзакции не возникает нарушения когерентности памяти.

44. Многошинная многопроцессорная система, содержащая первую шину с по меньшей мере одним подключенным к ней процессором, вторую шину с по меньшей мере одним подключенным к ней процессором, многопортовую память, подключенную к указанным первой и второй шинам и имеющую накопитель (пул) ячеек памяти, выполненный с возможностью передачи шинной транзакции между первой и второй шинами, причем каждая из этих ячеек памяти способна хранить шинный код, идентифицирующий первую или вторую шину как шину назначения, а также хранить информацию о шинной транзакции, предписывающую данной шине назначения выполнить эту транзакцию, первый приоритетный шинный кодировщик, подключенный к указанным ячейкам памяти и первой шине и выполненный с возможностью анализировать данные ячейки памяти с целью определения, какая из них отмечает указанную первую шину, а также второй приоритетный шинный кодировщик, подключенный к указанным ячейкам памяти и первой шине и выполненный с возможностью анализировать данные ячейки памяти с целью определения, какая из них отмечает указанную вторую шину.

45. Система по п.44, отличающаяся тем, что также содержит кодировщик свободных ячеек, выполненный с возможностью определения, какие ячейки памяти свободны для хранения информации о шинной транзакции.

46. Система по п.44, отличающаяся тем, что также содержит множество адресных компараторов, сравнивающих новую шинную транзакцию с шинными транзакциями, находящимися в упомянутых ячейках памяти и выполненных с возможностью индикации возникновения адресного конфликта между новой шинной транзакцией и транзакциями в ячейках памяти.

47. Система по п.44, отличающаяся тем, что каждое из упомянутых запоминающих устройств содержит адресную ячейку, запросную ячейку и ячейку данных.

48. Система по п.47, отличающаяся тем, что каждая из адресных ячеек выполнена с возможностью хранения адресной информации о шинной транзакции.

49. Система по п.48, отличающаяся тем, что каждая из адресных ячеек также выполнена с возможностью хранения рабочей информации.

50. Система по п.47, отличающаяся тем, что каждая из запросных ячеек выполнена с возможностью хранения информации об указанных шинном коде и коде шинной транзакции.

51. Система по п.47, отличающаяся тем, что каждая из ячеек данных выполнена с возможностью хранения данных об указанной шинной транзакции.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16, Рисунок 17, Рисунок 18, Рисунок 19, Рисунок 20, Рисунок 21, Рисунок 22, Рисунок 23, Рисунок 24, Рисунок 25, Рисунок 26, Рисунок 27, Рисунок 28, Рисунок 29, Рисунок 30, Рисунок 31, Рисунок 32, Рисунок 33, Рисунок 34, Рисунок 35, Рисунок 36, Рисунок 37, Рисунок 38, Рисунок 39, Рисунок 40, Рисунок 41, Рисунок 42, Рисунок 43, Рисунок 44, Рисунок 45, Рисунок 46, Рисунок 47, Рисунок 48, Рисунок 49, Рисунок 50, Рисунок 51, Рисунок 52, Рисунок 53, Рисунок 54, Рисунок 55, Рисунок 56, Рисунок 57, Рисунок 58, Рисунок 59, Рисунок 60, Рисунок 61, Рисунок 62, Рисунок 63, Рисунок 64, Рисунок 65, Рисунок 66, Рисунок 67, Рисунок 68, Рисунок 69, Рисунок 70, Рисунок 71, Рисунок 72, Рисунок 73, Рисунок 74, Рисунок 75, Рисунок 76, Рисунок 77, Рисунок 78



 

Похожие патенты:

Изобретение относится к автоматическим банковским аппаратам и может быть использовано для связи пользователя учреждения с банковскими аппаратами других учреждений

Изобретение относится к устройствам обмена данными с установлением разрешения на обмен данными

Изобретение относится к компьютерным сетям

Изобретение относится к схемам обработки для распознавания и сравнения сложных комбинаций в высокоскоростных потоках данных, в частности для использования в машинах поиска и извлечения данных

Компьютер // 2216033
Изобретение относится к вычислительной технике, в частности к вычислительным устройствам, в которых для обработки информации используют управление потоком данных

Изобретение относится к сфере обеспечения информационной безопасности и, в частности, касается аппаратно-программных компонент межсетевых экранов, используемых для предотвращения несанкционированного доступа и обмена информацией между различными абонентами компьютерных сетей

Изобретение относится к информационно-измерительной технике и предназначено для систем сбора информации с территориально рассредоточенных и труднодоступных объектов

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике и технике релейной защиты и может быть использовано для автоматизации процесса сбора информации о состоянии вводимой информации, присоединений и выключателей объекта контроля и управления, автоматизации сбора, анализа и хранения информации об аварийных процессах, сбора диагностической информации от блоков релейной защиты и автоматики

Изобретение относится к вычислительной технике, и может использоваться в частности в распределенных вычислительных системах

Изобретение относится к системам связи, использующим расширенный протокол сообщения сети области управления и осуществляющим маршрутизацию сообщений в коммуникационной сети управления лифтами, имеющей множество узлов

Изобретение относится к электротехнике и может быть использовано в процессе эксплуатации современных электроэнергетических систем

Изобретение относится к автоматике и вычислительной технике и может быть использовано в адаптерах локальной вычислительной сети Ethernet

Изобретение относится к вычислительной технике и может найти применение при построении средств коммутации многопроцессорных вычислительных и управляющих систем, абонентских систем связи с децентрализованным управлением, систем сбора информации и информационно-измерительных систем

Изобретение относится к области вычислительной техники и может найти применение при построении коммутационных средств мультипроцессорных вычислительных и управляющих систем, абонентских систем связи с децентрализованным управлением и информационно-измерительных систем

Изобретение относится к вычислительной технике, в частности к системе актуализации баз данных информационно-маркетинговых центров

Изобретение относится к вычислительным устройствам, используемым при проведении азартных (развлекательных) игр в реальном времени, при этом игровые устройства объединены в единую глобальную информационно-призовую сеть
Наверх