СПОСОБ И УСТРОЙСТВО ДЛЯ УЛУЧШЕНИЯ ЭФФЕКТИВНОСТИ БУФЕРА КОМПЕНСАЦИИ ЗАДЕРЖКИ ВИРТУАЛЬНОЙ КОНКАТЕНАЦИИ СИНХРОННОЙ ЦИФРОВОЙ ИЕРАРХИИ
METHOD AND APPARATUS FOR IMPROVING EFFICIENCY OF SYNCHRONOUS DIGITAL HIERARCHY VIRTUAL CONCATENATION DELAY COMPENSATION BUFFER

Область техники
Данное изобретение относится к области техники связи, и более конкретно, к способу и устройству для улучшения эффективности буфера компенсации задержки группы виртуальной конкатенации (Virtual Concatenation Group, VCG) синхронной цифровой иерархии (Synchronous Digital Hierarchy, SDH).
Уровень техники
Как основное оборудование в существующей транспортной сети оборудование SDH широко используется в области связи, и стандартные VC12 (виртуальный контейнер низшего порядка), VC3 (виртуальный контейнер высшего порядка) и VC4 (виртуальный контейнер высшего порядка) могут использоваться соответственно для услуг мультиплексной передачи с временным уплотнением каналов (Time Division Multiplex, TDM), таких как стандартизированные потоки Е1, Е3/Т3 и Е4, которые имеют полосы фиксированной ширины, поэтому нет никаких высоких требований к конкатенации виртуальных контейнеров (Virtual Container, VC). Однако, в связи с быстрым развитием передачи данных, оборудование SDH должно поддерживать услугу передачи данных.
Одной из особенностей передачи данных является неопределенность ширины полосы, и так как передача данных является услугой пакетной передачи, ширина полосы услуги не имеет обязательной ассоциации с интерфейсом, который использует услуга, а в распоряжении имеются ограниченное количество типов виртуальных контейнеров VC системы SDH, использование отдельного контейнера VC для услуги передачи данных с различной шириной полосы приводит к ненужному расходу или ограничению ширины полосы и его трудно использовать. Эта проблема может быть решена посредством объединения нескольких отдельных контейнеров VC в группу VCG. При практической реализации для услуги передачи данных предусматривается гибкая ширина полосы группы VCG, что называют конкатенацией виртуальных контейнеров. Методы конкатенации виртуальных контейнеров включают смежную конкатенацию и виртуальную конкатенацию (Virtual Concatenation, VCAT), причем VCAT используется широко, так как при этом к аппаратуре SDH на маршруте транспортировки не предъявляется никаких специальных требований.
При виртуальной конкатенации VCAT все отдельные контейнеры VC в группе VCG отправляются из одного и того же источника передачи, и каждый VC-член группы транспортируется в сети SDH как отдельный транспортный блок и достигает одного и того же принимающего пункта назначения. Перед достижением пункта назначения у VC-членов группы могут быть разные маршруты, то есть задержка каждого члена группы на маршруте транспортировки различна. Поэтому в принимающем пункте назначения необходимо выровнять все отдельные контейнеры VC в группе VCG и восстановить данные передатчика с помощью вставки (стаффинга) байтов. В этом процессе каждый VC-член группы буферизируется с помощью буфера типа «первым вошел, первым вышел» (First In First Out, FIFO), и все VC-члены группы считываются в одно и то же время после того, как прибывает последний VC-член группы; этот процесс называют компенсацией задержки группы VCG.
Согласно функции вставки байтов SDH при современном проектировании интегральных схем для буферизации VC-членов группы с целью компенсации задержки обычно применяется синхронная статическая память с произвольным доступом (Synchronous Static Random Access Memory, SSRAM). Однако поскольку память SSRAM имеет относительно высокую стоимость и относительно малую емкость, она не может удовлетворить требованиям компенсации задержки в оборудовании передачи графика Ethernet через SDH (Ethernet Over SDH, EOS) с большим объемом.
Альтернативой является применение в качестве буфера компенсации задержки синхронной динамической памяти с произвольным доступом (Synchronous Dynamic Random Access Memory, SDRAM), такой как SDRAM с удвоенной скоростью передачи данных (Double Date Rate SDRAM, DDR SDRAM). Структура устройства, которое применяет память SDRAM как буфер компенсации задержки, показана на фиг.1, в таком устройстве планировщик последовательно опрашивает все регистры FIFO запроса на запись или чтение контейнера VC и помещает запросы в оперативный регистр FIFO запросов, совместно используемый SDRAM, и контроллер SDRAM считывает запросы из регистра FIFO, и выполняет соответствующие операции чтения и записи.
Фиг.2 - диаграмма временной последовательности для операции одного цикла записи SDRAM, при этом, чтобы избежать возможного конфликта доступа к банку или строке в двух последовательных операциях, вся операция записи включает активизацию строки, ожидание активизации строки, команду записи, ожидание команды записи, операцию с данными, закрытие строки и т.д.; то есть непроизводительные затраты на эту операцию очень велики, и непроизводительные затраты на операцию чтения в основном те же, что и на операцию записи. На фиг.2 показано, что операция одного цикла записи последовательно выдает команду активизации строки (ACT), команду записи (WR) и команду предварительной зарядки (PRE) на командную шину, и во всей операции записи, длина "пакета" которой равна 8, только 4 из 13 тактовых циклов фактически используются для обработки данных, то есть эффективность буфера компенсации задержки составляет 4/13×100%=30,8%. Следовательно, так как временная последовательность операции SDRAM усложнена, и эта операция занимает длительное время, эффективность буфера компенсации относительно низкая.
Сущность изобретения
Чтобы решить вышеупомянутую проблему в настоящем изобретении предложен способ и устройство для улучшения эффективности буфера компенсации задержки виртуальной конкатенации SDH, и эти способ и устройство улучшают эффективность буфера компенсации задержки виртуальной конкатенации SDH посредством сокращения непроизводительных затрат на операцию SDRAM.
Предложенный в данном изобретении способ улучшения эффективности буфера компенсации задержки виртуальной конкатенации SDH включает:
распределение виртуальных контейнеров (VC) по банкам синхронной динамической памяти с произвольным доступом (SDRAM);
запись запросов записи SDRAM упомянутых виртуальных контейнеров в регистры типа «первым вошел, первым вышел» (FIFO) запроса записи соответствующих виртуальных контейнеров; запись запросов чтения SDRAM виртуальных контейнеров в регистры FIFO запроса чтения соответствующих виртуальных контейнеров;
опрос регистров FIFO запроса записи и регистров FIFO запроса чтения виртуальных контейнеров.
Кроме того, число виртуальных контейнеров может быть равно 4N+4; число банков может быть равно 4М+4, где N и М являются целыми числами и N≥M.
Кроме того, шаг распределения виртуальных контейнеров по банкам SDRAM может включать:
последовательное упорядочение виртуальных контейнеров как первого виртуального контейнера, второго виртуального контейнера,…, (4N+4)-го виртуального контейнера, и последовательное упорядочение банков SDRAM как первого банка, второго банка,…, (4М+4)-го банка;
сохранение первых (4М+4) виртуальных контейнеров в первом банке, втором банке,…, (4М+4)-ом банке SDRAM, соответственно; сохранение вторых (4М+4) виртуальных контейнеров, следующих за первыми (4М+4) виртуальными контейнерами, в первом банке, втором банке,…, (4М+4)-ом банке SDRAM, соответственно;…; сохранение последних (4М+4) виртуальных контейнеров в первом банке, втором банке,…, (4М+4)-ом банке SDRAM, соответственно.
Кроме того, шаг записи запросов записи SDRAM виртуальных контейнеров в регистры FIFO запроса записи соответствующих виртуальных контейнеров может включать:
последовательное упорядочение виртуальных контейнеров как первого виртуального контейнера, второго виртуального контейнера,…, (4N+4)-го виртуального контейнера и последовательное упорядочение банков SDRAM как первого банка, второго банка,…, (4М+4)-го банка;
запись запросов записи SDRAM первого виртуального контейнера, (4М+4+1)-го виртуального контейнера,…, (4N-4M+1)-го виртуального контейнера в регистр FIFO запроса записи первого виртуального контейнера;
запись запросов записи SDRAM второго виртуального контейнера, (4М+4+2)-го виртуального контейнера,…, (4М-4М+2)-го виртуального контейнера в регистр FIFO запроса записи второго виртуального контейнера;
запись запросов записи SDRAM третьего виртуального контейнера, (4М+4+3)-го виртуального контейнера,…, (4N-4M+3)-го виртуального контейнера в регистр FIFO запроса записи третьего виртуального контейнера;…; запись запросов записи SDRAM (4М+4)-го виртуального контейнера, (2(4М+4))-го виртуального контейнера,…, (4N+4)-го виртуального контейнера в регистр FIFO запроса записи (4М+4)-го виртуального контейнера;
упомянутый шаг записи запросов чтения SDRAM виртуальных контейнеров в регистры FIFO запроса чтения соответствующего виртуального контейнера может включать:
запись запросов чтения SDRAM первого виртуального контейнера, (4М+4+1)-го виртуального контейнера,…, (4N-4М+1)-го виртуального контейнера в регистр FIFO запроса чтения первого виртуального контейнера; запись запросов чтения SDRAM второго виртуального контейнера, (4М+4+2)-го виртуального контейнера,…, (4N-4М+2)-го виртуального контейнера в регистр FIFO запроса чтения второго виртуального контейнера; запись запросов чтения SDRAM третьего виртуального контейнера, (4М+4+3)-го виртуального контейнера,…, (4N-4М+3)-го виртуального контейнера в регистр FIFO запроса чтения третьего виртуального контейнера;…; запись запросов чтения SDRAM (4М+4)-го виртуального контейнера, (2(4М+4))-го виртуального контейнера,…, (4N+4)-го виртуального контейнера в регистр FIFO запроса чтения (4М+4)-го виртуального контейнера.
Данное изобретение также предусматривает способ улучшения эффективности буфера компенсации задержки виртуальной конкатенации синхронной цифровой иерархии, этот способ включает:
распределение виртуальных контейнеров (VC) по банкам синхронной динамической памяти с произвольным доступом (SDRAM) соответственно;
запись запросов записи SDRAM в регистры типа «первым вошел, первым вышел» (FIFO) запроса записи виртуальных контейнеров; запись запросов чтения SDRAM в регистры FIFO запроса чтения виртуальных контейнеров;
опрос регистров FIFO запроса записи и регистров FIFO запроса чтения виртуальных контейнеров.
Предпочтительно, виртуальные контейнеры являются виртуальными контейнерами VC4 в синхронном транспортном модуле четвертого уровня (Synchronous Transport Module Level 4, STM-4).
Предпочтительно, VC4 включает стандартный контейнер С4 или три виртуальных контейнера VC3; когда VC4 содержит три виртуальных контейнера VC3, способ дополнительно включает:
буфер каждого VC4 подразделяется на три первых дочерних буфера, и каждый первый дочерний буфер сохраняет один VC3.
Предпочтительно, VC3 содержит стандартный контейнер С3 или 21 виртуальный контейнер VC12; когда виртуальный контейнер VC3 содержит 21 контейнер VC12, способ дополнительно включает:
разделение буфера VC3 на 21 второй дочерний буфер, и каждый второй дочерний буфер сохраняет один VC12.
Предпочтительно, память SDRAM является SDRAM с одинарной скоростью передачи данных (Single Data Rate SDRAM, SDR SDRAM) или SDRAM с удвоенной скоростью передачи данных (DDR SDRAM).
В данном изобретении предложено также устройство для улучшения эффективности буфера компенсации задержки виртуальной конкатенации синхронной цифровой иерархии, устройство включает:
модуль распределения, который сконфигурирован для распределения виртуальных контейнеров (VC) по банкам синхронной динамической памяти с произвольным доступом (SDRAM);
модуль записи, который сконфигурирован для записи запросов записи SDRAM виртуальных контейнеров в регистры типа «первым вошел, первым вышел» (FIFO) запроса записи соответствующих виртуальных контейнеров и записи запросов чтения SDRAM виртуальных контейнеров в регистры FIFO запроса чтения соответствующих виртуальных контейнеров;
модуль опроса, который сконфигурирован для опроса регистров FIFO запроса записи и регистров FIFO запроса чтения виртуальных контейнеров.
Кроме того, число упомянутых виртуальных контейнеров может быть равно 4N+4; число банков может быть равно 4М+4, где N и М являются целыми числами и N≥М.
Кроме того, модуль распределения может быть сконфигурирован для последовательного упорядочения виртуальных контейнеров как первый виртуальный контейнер, второй виртуальный контейнер,…, (4N+4)-й виртуальный контейнер, и последовательного упорядочения банков SDRAM как первый банк, второй банк,…, (4М+4)-й банк;
сохранения первых (4М+4) виртуальных контейнеров в первом банке, втором банке,…, (4М+4)-ом банке SDRAM, соответственно; сохранения вторых (4М+4) виртуальных контейнеров в первом банке, втором банке,…, (4М+4)-ом банке SDRAM, соответственно;…; сохранения последних (4М+4) виртуальных контейнеров в первом банке, втором банке,…, (4М+4)-ом банке SDRAM, соответственно.
Кроме того, модуль записи может быть сконфигурирован для последовательного упорядочения виртуальных контейнеров как первого виртуального контейнера, второго виртуального контейнера,…, (4N+4)-го виртуального контейнера и последовательного упорядочения банков SDRAM как первого банка, второго банка,…, (4М+4)-го банка; упомянутый модуль записи может быть дополнительно сконфигурирован для записи запросов записи SDRAM первого виртуального контейнера, (4М+4+1)-го виртуального контейнера,…, (4N-4M+1)-го виртуального контейнера в регистр FIFO запроса записи первого виртуального контейнера; записи запросов записи SDRAM второго виртуального контейнера, (4М+4+2)-го виртуального контейнера,…, (4N-4М+2)-го виртуального контейнера в регистр FIFO запроса записи второго виртуального контейнера; записи запросов записи SDRAM третьего виртуального контейнера, (4М+4+3)-го виртуального контейнера,…, (4N-4M+3)-го виртуального контейнера в регистр FIFO запроса записи третьего виртуального контейнера;…; записи запросов записи SDRAM (4М+4)-го виртуального контейнера, (2(4М+4))-го виртуального контейнера,…, (4N+4)-го виртуального контейнера в регистр FIFO запроса записи (4М+4)-го виртуального контейнера;
упомянутый модуль записи может быть дополнительно сконфигурирован для записи запроса чтения SDRAM первого виртуального контейнера, (4М+4+1)-го виртуального контейнера,…, (4N-4M+1)-го виртуального контейнера в регистр FIFO запроса чтения первого виртуального контейнера; записи запросов чтения SDRAM второго виртуального контейнера, (4М+4+2)-го виртуального контейнера, (4N-4М+2)-го виртуального контейнера в регистр FIFO запроса чтения второго виртуального контейнера; записи запроса чтения SDRAM третьего виртуального контейнера, (4М+4+3)-го виртуального контейнера, (4N-4M+3)-го виртуального контейнера в регистр FIFO запроса чтения третьего виртуального контейнера;…; записи запроса чтения SDRAM (4М+4)-го виртуального контейнера, (2(4М+4))-го виртуального контейнера,…, (4N+4)-го виртуального контейнера в регистр FIFO запроса чтения (4М+4)-го виртуального контейнера.
Данное изобретение предусматривает также устройство для улучшения эффективности буфера компенсации задержки виртуальной конкатенации синхронной цифровой иерархии, это устройство включает:
модуль распределения, который сконфигурирован для распределения виртуальных контейнеров (VC) по банкам синхронной динамической памяти с произвольным доступом (SDRAM);
модуль записи, который сконфигурирован для записи запросов записи SDRAM виртуальных контейнеров в регистры типа «первым вошел, первым вышел» (FIFO) запроса записи соответствующих виртуальных контейнеров и записи запросов чтения SDRAM виртуальных контейнеров в регистры FIFO запроса чтения соответствующих виртуальных контейнеров;
модуль опроса, который сконфигурирован для опроса регистров FIFO запроса записи и регистров FIFO запроса чтения виртуальных контейнеров.
Предпочтительно, виртуальные контейнеры являются виртуальными контейнерами VC4 в синхронном транспортном модуле четвертого уровня (STM-4).
Предпочтительно, VC4 содержит стандартный контейнер С4 или три виртуальных контейнера VC3; когда VC4 содержит три виртуальных контейнера VC3, устройство дополнительно включает:
первый модуль разделения, который сконфигурирован для разделения буфера каждого VC4 на три первых дочерних буфера, и каждый первый дочерний буфера сохраняет один VC3.
Предпочтительно, VC3 содержит стандартный контейнер С3 или 21 виртуальный контейнер VC12; в последнем случае устройство дополнительно содержит:
второй модуль разделения, который сконфигурирован для разделения буфера VC3 на 21 второй дочерний буфер, и каждый второй дочерний буфер сохраняет один VC12.
Предпочтительно, память SDRAM является памятью SDRAM с одинарной скоростью передачи данных (SDR SDRAM) или памятью SDRAM с удвоенной скоростью передачи данных (DDR SDRAM).
Одна из вышеупомянутых технических схем имеет следующие преимущества: за счет использования особенности мультиплексирования виртуальных контейнеров и возможности параллельной работы различных банков SDRAM, непроизводительные затраты на операцию SDRAM могут быть уменьшены, таким образом улучшается эффективность буфера компенсации задержки виртуальной конкатенации SDH.
Краткое описание чертежей
Фиг.1 - структурная схема устройства, использующего SDRAM для осуществления компенсации задержки VCAT, в известном уровне техники.
Фиг.2 иллюстрирует временную последовательность операции записи на известном уровне техники.
Фиг.3 - блок-схема способа улучшения эффективности буфера компенсации задержки виртуальной конкатенации SDH в соответствии с данным изобретением.
Фиг.4 - иллюстрирует соответствие распределения виртуальных контейнеров по банкам SDRAM в соответствии с данным изобретением.
Фиг.5 - временная последовательность четырех банков, работающих параллельно, в соответствии с данным изобретением.
Фиг.6 - блок-схема устройства для улучшения эффективности буфера компенсации задержки виртуальной конкатенации SDH.
Предпочтительные формы осуществления изобретения
Чтобы сделать цель, техническую схему и преимущества данного изобретения более понятными, варианты осуществления данного изобретения будут проиллюстрированы более подробно в сочетании с прилагаемыми чертежами. Примеры осуществления изобретения и его описание используется для объяснения данного изобретения, а не для его ограничения.
В данном изобретении предложен способ, в котором путем выравнивания передаваемых по нескольким маршрутам отдельных VC-членов группы в порте приема VCG в устройстве SDH реализуется буфер компенсации задержки, согласно способу устанавливаются соответствующие взаимосвязи между трактом мультиплексированного VC и банком SDRAM, запрос операции записи и чтения каждого VC опрашивается согласно этим взаимосвязям и планируется для обработки контроллером SDRAM, и затем параллельная работа различных областей банка SDRAM может использоваться для уменьшения непроизводительных затрат на операцию SDRAM так, чтобы улучшить эффективность буфера компенсации задержки виртуальной конкатенации SDH.
При этом тракт мультиплексируемого VC представляет собой вставку и мультиплексирование N контейнеров VC4 в структуру кадра STM-N (где N=1, 4, 16, 64 и 256), каждый VC4 может быть сформирован посредством вставки и мультиплексирования одного контейнера С4 или трех контейнеров VC3, и каждый VC3 может быть сформирован посредством вставки и мультиплексирования одного контейнера С3 или 21 контейнера VC12.
Фиг.3 - блок-схема способа улучшения эффективности буфера компенсации задержки виртуальный конкатенации SDH, и этот способ включает следующие шаги:
Шаг 301 - распределение по меньшей мере четырех контейнеров VC соответственно в четыре банка SDRAM.
Здесь число контейнеров VC обычно равно 4N+4, где N - целое число. Число банков SDRAM в общем случае может составлять 4М+4, а не 4, где М - целое число. Обычно N≥M. Для упрощения иллюстрации число банков SDRAM принято равным 4, и так как процедура обработки в случае, когда число банк ов SDRAM равно 4, не отличается от процедуры обработки в случае, когда число банков равно 4М+4, последний случай рассматриваться не будет во избежание повторения.
Число контейнеров VC может не быть целым числом, кратным 4, и если число контейнеров VC меньше 4, контейнеры VC могут быть распределены в четыре банка SDRAM так, что некоторые устройства SDRAM останутся незанятыми. Когда число контейнеров VC больше 4 и не является целым кратным 4, выполняется та же операция, что и в случае, когда количество является целым кратным 4, наиболее близким к числу контейнеров VC, хотя оставшиеся контейнеры VC не используются.
В качестве примера, который не является ограничением настоящего изобретения, рассмотрим в качестве вышеупомянутого контейнера VC контейнер VC4 высшего порядка. Если на шаге имеется набор из четырех контейнеров VC4, то четыре контейнера VC4 обозначаются как VC4#1, VC4#2, VC4#3 и VC4#4, и число контейнеров VC4 может быть выбрано согласно практическому условию, например, число контейнеров VC4 может быть установлено как 4N+4 (N - натуральное число), контейнеры VC4 обозначаются как VС4#1, VC4#2, VC4#3…VC4#(4N+4), при этом VC4#(4N+4) обозначает (4N+4)-й контейнер VC4.
Здесь распределение адресов может использоваться для установки соотношений между по меньшей мере четырьмя контейнерами VC4 и соответственно четырьмя банками SDRAM, например, VC4#1 сохраняется в Банк#1, VC4#2 сохраняется в Банк#2, VC4#3 сохраняется в Банк#3 и VC4#4 сохраняется в Банк#4. Когда число контейнеров VC4 установлено как 4N+4 (N - целое число), VC4#1, VC4#5…VC4#(4N+1) сохраняются в Банк#1, VC4#2, VC4#6…VC4#(4N+2) сохраняются в Банк#2, VC4#3, VC4#7…VC4#(4N+3) сохраняются в Банк#3 и VC4#4, VC4#8…VC4#(4N+4) сохраняются в Банк#4, см. фиг.4, где N - натуральное число.
На этом шаге может использоваться особенность мультиплексирования VC, такая как вставка и мультиплексирование нескольких контейнеров VC4 в структуре кадра STM-N SDH, при этом три контейнера VC3 могут быть вставлены и мультиплексированы в каждый VC4, и 21 контейнер VC12 может быть вставлен и мультиплексирован в каждый VC3 так, чтобы 63 контейнера VC12 было мультиплексировано в VC4. То есть каждый VC4 включает один контейнер С4 или три контейнера VC3, и каждый VC3 может включать 1 контейнер С3 или 21 контейнер VC12.
Здесь каждый буфер контейнера VC4 разделяется на три дочерних буфера, и каждый дочерний буфер сохраняет один VC3, альтернативно, буфер VC3 может быть разделен на 21 дочерний буфер, и каждый дочерний буфер сохраняет один VC12. Как показано на фиг.4, буфер VC4#1 разделяется на три дочерних буфера, и первый дочерний буфер VC4 сохраняет VC3#1, второй дочерний буфер VC4 сохраняет VC3#2, и третий дочерний буфер VC4 сохраняет VC3#3, кроме того, буфер VC3#1 разделяется на 21 дочерний буфер, и первый дочерний буфер VC3 сохраняет VC12#1,…, двадцать первый дочерний буфер VC3 сохраняет VC12#21, конфигурации VC3#2 и VC3#3 те же самые, что и конфигурация VC3#1, поэтому они не описываются во избежание повторения, при этом конфигурация VC4#(4N+4) подобна конфигурации VC4#1.
При этом SDRAM может быть, не ограничиваясь этими примерами, памятью SDRAM с одинарной скоростью передачи данных (SDR) или памятью SDRAM с двойной скоростью передачи данных (DDR).
Шаг 302 - запись запроса чтения/записи SDRAM в регистр FIFO запроса чтения/записи VC, соответственно.
То есть, запросы записи и чтения SDRAM каждого VC соответственно записываются в их соответствующие регистры FIFO запроса, и регистры FIFO запроса включают регистры FIFO запроса записи и регистры FIFO запроса чтения. Вышеупомянутое "соответствие" записи может быть понято следующим образом: запрос записи SDRAM VC4#1 записывается в регистр FIFO запроса записи VC4#1, запрос записи SDRAM VC4#2 записывается в регистр FIFO запроса записи VC4#2, запрос записи SDRAM VC4#3 записывается в регистр FIFO запроса записи VC4#3, и запрос записи SDRAM VC4#4 записывается в регистр FIFO запроса записи VC4#4. Аналогично, запрос чтения SDRAM VC4#1 записывается в регистр FIFO запроса чтения в VC4#1, запрос чтения SDRAM VC4#2 записывается в регистр FIFO запроса чтения в VC4#2, запрос чтения SDRAM VC4#3 записывается в регистр FIFO запроса чтения в VC4#3, и запрос чтения SDRAM VC4#4 записывается в регистр FIFO запроса чтения в VC4#4. В случае, когда число членов VC4 равно 4N+4, запрос записи SDRAM VC4#1 записывается в регистр FIFO запроса записи в VC4#1, запрос записи SDRAM VC4#2 записывается в регистр FIFO запроса записи в VC4#2, запрос записи SDRAM VC4#3 записывается в регистр FIFO запроса записи в VC4#3 и запрос записи SDRAM VC4#4 записывается в регистр FIFO запроса записи в VC4#4, запрос записи SDRAM VC4#5 записывается в регистр FIFO запроса записи в VC4#1, запрос записи SDRAM VC4#6 записывается в регистр FIFO запроса записи в VC4#2,…3 запрос записи SDRAM VC4#(4N+3) записывается в регистр FIFO запроса записи в VC4#3 и запрос записи SDRAM VC4#(4N+4) записывается в регистр FIFO запроса записи в VC4#4.
Шаг 303 - опрос регистра FIFO запроса чтения/записи соответствующего VC.
На этом шаге происходит опрос регистра FIFO запроса записи, а затем регистра FIFO запроса чтения; или наоборот.
На этом шаге, например, происходит опрос регистра FIFO запроса записи VC4#1, а затем регистра FIFO запроса записи VC4#2; в том случае если в VC4#1 имеется три VC3, происходит последовательный опрос регистров FIFO запроса записи VC3#1, VC3#2 и VC3#3, и после опроса регистров запроса записи всех контейнеров VC3 в VC4#1 происходит опрос регистров FIFO запроса записи VC4#2; в том случае, если в VC3#1 в VC4#1 сконфигурирован 21 контейнер VC12, опрос регистров FIFO запроса записи VC4#2 происходит после опроса регистров FIFO запроса записи всех контейнеров VC12, при этом способ обработки в VC4#2 тот же самый, что и в VC4#1 и описываться не будет.
Затем происходит опрос регистров FIFO запроса чтения VC4#1 и затем регистров VC4#2; в том случае, если в VC4#1 имеется три VC3, происходит последовательный опрос регистров FIFO запроса чтения VC3#1, VC3#2 и VC3#3, и после опроса регистров запроса чтения всех контейнеров VC3 в VC4#1 происходит опрос регистров FIFO запроса чтения VC4#2; в том случае если в VC3#1 в VC4#1 сконфигурирован 21 контейнер VC12, опрос регистров FIFO запроса чтения VC4#2 происходит после опроса регистра FIFO запроса чтения всех контейнеров VC12, при этом способ обработки в VC4#2 является тем же самым, что и способ обработки в VC4#1, и во избежание повторения описываться не будет.
Эффективность существующей операции SDRAM низка вследствие увеличения непроизводительных затрат при переключении строки из-за конфликта адреса строки в двух последовательных операциях. Так как SDRAM обычно имеет четыре банка, и эти четыре банка могут работать параллельно, переключение между двумя различными банками нуждается только в очень небольшом дополнительном времени. Следовательно непроизводительные затраты сокращаются благодаря возможности различных банков SDRAM работать параллельно.
Рассмотрим фиг.5, на которой «Пакет» обозначает данные пакета, «ACT» обозначает команду операции DDR на активизацию; «WR/AP» обозначает команду операции DDR на запись с автоматической предварительной зарядкой; «RR/АР» обозначает команду операции DDR на чтение с автоматической предварительной зарядкой; «ROW» обозначает адрес строки DDR, «COL» обозначает адрес столбца DDR, при этом фиг.5 иллюстрирует способ использования фиксированной временной последовательности параллельной работы четырех банков для реализации буфера компенсации задержки виртуальной конкатенации SDH. На фиг.5 изображены четыре законченные операции записи с длиной "пакета" 8, при этом 16 из 22 тактовых циклов фактически используются для операции записи, то есть эффективность операций записи в контроллере SDRAM составляет 16/22·100%=72,7%, и по сравнению с известным уровнем техники эффективность буфера компенсации задержки значительно улучшается.
На основе вышеупомянутой технической схемы благодаря использованию особенности мультиплексирования VC и возможности параллельной работы различных банков SDRAM непроизводительные затраты на операцию SDRAM могут быть уменьшены и эффективность буфера компенсации задержки виртуальной конкатенации SDH может быть улучшена.
Способ обработки для компенсации задержки виртуальной конкатенации согласно настоящему изобретению будет описан ниже для случая с четырьмя контейнерами VC4 STM-4, при этом способ включает следующие шаги:
Шаг 1, сохранение первого VC4, второго VC4, третьего VC4 и четвертого VC4 в первом-четвертом банках DDR SDRAM, соответственно.
Шаг 2, запись запросов записи SDRAM четырех контейнеров VC4 в четыре регистра FIFO запроса записи VC4, и запись запросов чтения SDRAM четырех контейнеров VC4 в четыре регистра FIFO запроса чтения VC4.
Шаг 3, планировщик опрашивает регистры FIFO запроса записи первого VC4, второго VC4, третьего VC4 и четвертого VC4, соответственно, по очереди, и планирует запись данных четырех контейнеров VC4 для контроллера SDRAM для дальнейшей обработки; и затем опрашивает регистры FIFO запроса чтения первого VC4, второго VC4, третьего VC4 и четвертого VC4 по очереди, и после этого планирует считывание данных четырех контейнеров VC4 для контроллера SDRAM для дальнейшей обработки, и так далее.
Так как четыре контейнера VC4 располагаются в четырех различных банках SDRAM, они могут работать параллельно с большой эффективностью, следовательно операции записи и чтения SDRAM контейнеров VC могут быть реализованы с очень небольшими непроизводительными затратами и эффективность буфера компенсации задержки виртуальной конкатенации SDH значительно улучшается.
Для осуществления упомянутого способа в настоящем изобретении предусмотрено также устройство для улучшения эффективности буфера компенсации задержки виртуальной конкатенации SDH. Прежде всего, следует отметить, что это устройство сконфигурировано для осуществления каждого шага упомянутого способа, однако данное изобретение не ограничено этим устройством, и любое устройство, которое может осуществлять упомянутый способ, находится в рамках данного изобретения. Кроме того, часть описания, одинаковая для устройства и способа, при описании устройства опущена.
Фиг.6 представляет собой структурную схему устройства для улучшения эффективности буфера компенсации задержки виртуальной конкатенации SDH, и это устройство включает:
модуль 61 распределения, который сконфигурирован для соответственного распределения по меньшей мере четырех контейнеров VC в четыре банка SDRAM;
модуль 62 записи, который сконфигурирован для записи запросов записи SDRAM в регистры FIFO запроса записи контейнеров VC, соответственно; и записи запросов чтения SDRAM в регистры FIFO запроса чтения контейнеров VC, соответственно; и
модуль 63 опроса, который сконфигурирован для опроса р егистров FIFO запроса записи упомянутых контейнеров VC и регистров FIFO запроса чтения упомянутых контейнеров VC.
В данном изобретении контейнер VC может быть контейнером VC4 в STM-4, при этом VC4 включает один контейнер С4 или три VC3, и когда VC4 включает три VC3, устройство также включает:
первый модуль разделения, который сконфигурирован для разделения каждого буфера VC4 на три первых дочерних буфера, при этом каждый первый дочерний буфер сохраняет один VC3.
При этом VC3 может включать один контейнер С3 или 21 контейнер VC12, при этом устройство также включает:
второй модуль разделения, который сконфигурирован для разделения буфера VC3 по крайней мере на 21 второй дочерний буфер, где каждый упомянутый второй дочерний буфер сохраняет один VC12.
Из вышеупомянутой технической схемы очевидно, что благодаря возможности мультиплексирования VC и параллельной работе различных банков SDRAM непроизводительные затраты на операцию SDRAM могут быть уменьшены так, чтобы эффективность буфера компенсации задержки виртуальной конкатенации SDH могла быть улучшена.
Выше описаны только предпочтительные формы осуществления данного изобретения, и для специалиста в данной области техники очевидно, что данное изобретение может быть изменено или улучшено без отступления от сущности данного изобретения, все виды этих модификаций или видоизменений включены в объем данного изобретения.
Промышленная применимость
Благодаря возможности мультиплексирования виртуальных контейнеров и параллельной работе различных банков SDRAM данное изобретение уменьшает непроизводительные затраты на операцию SDRAM, так что эффективность буфера компенсации задержки виртуальной конкатенации SDH может быть улучшена; поэтому изобретение имеет широкую промышленную применимость.