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

Классы МПК:G06F15/16 сочетание двух или более вычислительных машин, каждая из которых снабжена по меньшей мере арифметическим устройством, программным устройством и регистром, например для одновременной обработки нескольких программ
Автор(ы):, ,
Патентообладатель(и):ИНТЕЛ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
1997-09-16
публикация патента:

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

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

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, отличающаяся тем, что каждая из ячеек данных выполнена с возможностью хранения данных об указанной шинной транзакции.

Описание изобретения к патенту

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

Класс G06F15/16 сочетание двух или более вычислительных машин, каждая из которых снабжена по меньшей мере арифметическим устройством, программным устройством и регистром, например для одновременной обработки нескольких программ

способ, сервер, компьютерная программа и компьютерный программный продукт для кэширования -  патент 2527736 (10.09.2014)
схема передачи данных с текстовой информацией -  патент 2527733 (10.09.2014)
визуализация подписок rss на календаре -  патент 2527194 (27.08.2014)
способ построения системы автоматического управления с взаимодействием через сеть ethernet -  патент 2526765 (27.08.2014)
устройство обработки информации, система обработки информации, способ обработки информации и носитель информации -  патент 2525746 (20.08.2014)
системы и способы для передачи файлов данных, независимо от платформы -  патент 2525743 (20.08.2014)
расширяемость для основывающейся на web визуализации диаграмм -  патент 2524855 (10.08.2014)
способ и система для загрузки файла для веб-приложения -  патент 2523216 (20.07.2014)
переносимость и совместимость медийных данных для различных платформ-адресатов -  патент 2523123 (20.07.2014)
способ использования мобильных телефонов -  патент 2520417 (27.06.2014)
Наверх