УСТРОЙСТВО И СПОСОБ ПЕРЕДАЧИ ДАННЫХ И СЧИТЫВАЕМЫЙ НОСИТЕЛЬ ДАННЫХ
DEVICE AND METHOD FOR DATA TRANSMISSION AND READABLE DATA CARRIER

Область техники, к которой относится изобретение
Варианты осуществления настоящей заявки относятся к области техники обработки больших объемов данных, в частности, к устройству и способу передачи данных и к считываемому носителю данных.
Уровень техники
С развитием Интернета и прогрессом науки и технологий произошел взрывной рост данных во множестве отраслей науки и технологий, которые формируют огромное количество данных. Например, в области техники ультравысокоскоростного получения ультразвуковых изображений система ультравысокоскоростного получения ультразвуковых изображений формирует большой объем данных, данные кэшируются во входной памяти системы и как можно быстрее должны передаваться во внутреннюю память или во внешнюю память для последующей обработки. Это требует передачи большого объема данных.
На предшествующем уровне техники передача большого объема данных не только повышает нагрузку на выходной процессор системы обработки данных и расходует большой объем ресурсов, но также ведет к снижению скорости процесса передачи большого объема данных из-за проблем механизма передачи, и быстрая передача большого объема данных выполняться не может.
Сущность изобретения
Варианты осуществления настоящей заявки представляют устройство и способ передачи данных и носитель хранения данных, которые решают технические проблемы, состоящие в передаче больших объемов данных, возрастании нагрузки на выходной процессор системы обработки данных, большом объеме затрачиваемых ресурсов и замедлении процесса передачи большого объема данных из-за проблем с механизмом передачи, существующих на предшествующем уровне техники.
При первом подходе вариант осуществления настоящей заявки представляет устройство передачи данных, содержащее: буферный процессор, контроллер передачи и выходной процессор;
где буферный процессор через контроллер передачи соединяется с выходной процессором;
буферный процессор содержит контроллер прямого доступа к памяти (DMA), планировщик передачи, контроллер памяти и множество буферов передачи; где контроллер DMA, соответственно, соединяется с контроллером передачи, контроллером памяти, соответствующими буферами передачи и планировщиком передачи и контроллер передачи, и планировщик передачи соответственно соединяются с соответствующими буферами передачи;
контроллер DMA выполнен с возможностью приема запроса передачи данных, посланного выходным процессором; посылки контроллеру памяти в соответствии с запросом передачи данных команды считывания данных; и приема считанных данных и посылки считанных данных в буфер передачи;
контроллер памяти выполнен с возможностью управления памятью в соответствии с командой считывания данных, чтобы считывать данные; и посылки считанных данных контроллеру DMA;
планировщик передачи выполнен с возможностью управления множеством буферов передачи для записи данных, посланных контроллером DMA, и управления множеством буферов передачи для считывания данных и передачи данных через контроллер передачи выходному процессору.
Дополнительно, в устройстве, описанном выше, контроллер DMA, в частности, выполнен с возможностью управления данными, которые должны передаваться в одиночном кадре или во множестве кадров.
Дополнительно, в устройстве, описанном выше, контроллер DMA содержит блок отображения, счетчик сегментов и устройство внутрисегментной адресации;
блок отображения соответственно соединяется со счетчиком сегментов и устройством внутрисегментной адресации, и счетчик сегментов соединяется с устройством внутрисегментной адресации;
блок отображения выполнен с возможностью приема запроса передачи данных в одиночном кадре, посланного выходным процессором, где запрос передачи данных в одиночном кадре содержит адрес начала кадра и информацию о длине кадра; и отображения адреса начала кадра и информации о длине кадра в информации внутрисегментной адресации и в информации подсчета сегментов;
устройство внутрисегментной адресации выполнено с возможностью обновления информации внутрисегментной адресации в соответствии с данными, посланными контроллером DMA; посылки на счетчик сегментов информации обновления подсчета количества сегментов, если внутрисегментная адресация в информации внутрисегментной адресации достигает максимального значения; и установки внутрисегментной адресации в информацию внутрисегментной адресации в качестве начального значения внутрисегментной адресации, чтобы выполнить внутрисегментную адресацию следующего сегмента;
счетчик сегментов выполнен с возможностью осуществления подсчета с вычитанием, при котором, когда принимается информация обновлении подсчета количества сегментов, подсчет происходит до тех пор, пока количество сегментов в информации подсчета количества сегментов не станет равным начальному значению подсчета количества сегментов.
Дополнительно, в устройстве, описанном выше, устройство внутрисегментной адресации, в частности, выполнено с возможностью установки внутрисегментной адресации в информацию внутрисегментной адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента;
счетчик сегментов выполнен с возможностью осуществления подсчета с вычитанием единицы, при котором, когда принимается информация обновлении подсчета количества сегментов, подсчет путем вычитания единицы происходит до тех пор, пока количество сегментов в информации подсчета количества сегментов не станет равным нулю.
Дополнительно, в устройстве, описанном выше, контроллер DMA содержит блок отображения, устройство внутрисегментной адресации, счетчик сегментов и счетчик кадров;
блок отображения соответственно соединяется со счетчиком кадров, счетчиком сегментов и устройством внутрисегментной адресации, а счетчик сегментов соответственно соединяется с устройством внутрисегментной адресации и счетчиком кадров;
блок отображения выполнен с возможностью приема запроса передачи данных во множестве кадров, посылаемого выходным процессором, где запрос передачи данных во множестве кадров содержит количество кадров, адрес начала кадра и информацию о длине кадра; и отображения количества кадров, адреса начала кадра и информации о длине кадра в информации внутрисегментной адресации, информации подсчета сегментов и информации подсчета кадров;
устройство внутрисегментной выполнено с возможностью обновления, в соответствии с данными, посланными контроллером DMA, информации внутрисегментной адресации; посылки счетчику сегментов информации обновления количества сегментов, если внутрисегментная адресация в информации внутрисегментной адресации достигает максимального значения; и установки внутрисегментной адресации в информации внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента;
счетчик сегментов выполнен с возможностью осуществления подсчета с вычитанием, если принимается информация обновления количества сегментов, и посылки счетчику кадров информации обновления подсчета количества кадра, до тех пор, пока результат подсчета количества в информации подсчета сегментов не станет равен начальному значению подсчета сегментов, и установки количества, указанного в информации подсчета количества сегментов, в качестве максимального значения для выполнения подсчета количества сегментов в следующем кадре;
счетчик кадров выполнен с возможностью осуществления подсчета с вычитанием, если принята информация обновления количества кадра, с подсчетом до тех пор, пока результат подсчета количества, указанный в информации подсчета кадров, не станет равен начальному значению подсчета количества кадров.
Дополнительно, в устройстве, описанном выше, устройство внутрисегментной адресации, в частности, выполнено с возможностью установки внутрисегментной адресации в информацию внутрисегментой адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента;
счетчик сегментов, в частности, выполнен с возможностью осуществления подсчета с вычитанием единицы, если принимается информация обновления подсчета количества сегментов, и посылки счетчику кадров информации обновления количества кадра, если результат подсчета количества в информации подсчета сегментов равен нулю;
счетчик кадров, в частности, выполнен с возможностью осуществления подсчета с вычитанием единицы, если принимается информация обновления количества кадров, до тех пор, пока результат подсчета количества в информации подсчета кадров не станет равен нулю.
Дополнительно, в устройстве, описанном выше, планировщик передачи содержит планировщик записи и планировщик вывода;
планировщик записи выполнен с возможностью управления буфером передачи, имеющим право записи, для записи данных в соответствии с состоянием планирования записи и информацией признака записи;
планировщик вывода выполнен с возможностью управления буфером передачи, имеющим право считывания, для считывания данных в соответствии с состоянием планирования вывода и информацией признака считывания.
Дополнительно, в устройстве, описанном выше, состояние планирования записи содержит состояние ожидания и множество состояний записи буферов передачи;
планировщик записи, в частности, выполнен с возможностью управления состоянием ожидания для перехода в состояние записи буфера передачи, соответствующее определенной информации признака записи, если состояние планирования записи является состоянием ожидания и информация признака записи является определенной информацией признака записи; и управления буфером передачи для записи данных.
Дополнительно, в устройстве, описанном выше, планировщик записи дополнительно выполнен с возможностью обновления текущего состояния записи буфера передачи на состояние ожидания, если текущие записанные данные буфера передачи достигают первого заданного значения длины; и обновления текущей информации признака записи на другую информацию признака записи.
Дополнительно, в устройстве, описанном выше, планировщик записи, в частности, выполнен с возможностью определения, в соответствии со временем ожидания записи каждого буфера передачи, буфера передачи с наибольшим временем ожидания записи; и обновления текущей информации признака записи на информацию признака записи буфера передачи с наибольшим временем ожидания записи.
Дополнительно, в устройстве, описанном выше, состояние планирования вывода содержит состояние обнаружения контроллера передачи, состояние обнаружения буфера передачи и множество состояний считывания буферов передачи;
планировщик вывода, если состояние планирования вывода является состоянием обнаружения контроллера передачи и информация признака считывания является определенной информацией признака считывания,, в частности, выполнен с возможностью управления состоянием обнаружения контроллера передачи для перехода в состояние обнаружения буфера передачи после того, как контроллер передачи проводит обнаружение, управления состоянием обнаружения буфера передачи для перехода в состояние считывания буфера передачи, соответствующее определенной информации признака считывания, после того, как буфер передачи проводит обнаружение, и управления буфером передачи для считывания данных.
Дополнительно, в устройстве, описанном выше, планировщик вывода дополнительно выполнен с возможностью, если текущие данные считывания контроллера передачи достигают второго заданного значения длины, обновления текущего состояния считывания буфера передачи на состояние обнаружения контроллера передачи; и обновления текущей информации признака считывания на другую информацию признака считывания.
Дополнительно, в устройстве, описанном выше, планировщик вывода, в частности, выполнен с возможностью определения буфера передачи с наибольшим временем ожидания считывания, в соответствии со временем ожидания считывания каждого буфера передачи; и обновления текущей информации признака считывания на информацию признака считывания буфера передачи с наибольшим временем ожидания считывания.
Дополнительно, в устройстве, описанном выше, контроллер передачи содержит область многочисленных буферов данных, процессор передачи и механизм последовательной связи;
процессор передачи соответственно соединяется с областью множества буферов данных и механизмом последовательной связи;
область множества буферов данных выполнена с возможностью кэширования данных;
процессор передачи выполнен с возможностью посылки данных из области множества буферов данных механизму последовательной связи;
механизм последовательной связи выполнен с возможностью приема данных, посланных процессором передачи, и посылки данных выходному процессору.
Дополнительно, в устройстве, описанном выше, выходной процессор содержит многоядерный центральный процессор (CPU);
многоядерный центральный процессор выполнен с возможностью передачи параллельным способом данных во внутреннюю память.
При втором подходе вариант осуществления настоящей заявки представляет способ передачи данных, содержащий:
принимают, посредством контроллера DMA, запрос передачи данных, посланный выходным процессором; и посылают контроллеру памяти команду считывания данных в соответствии с запросом передачи данных;
управляют памятью для считывания данных, посредством контроллера памяти, в соответствии с командой считывания данных, и посылают считанные данные контроллеру DMA;
принимают, посредством контроллера DMA, данные считывания и посылают данные считывания буферу передачи;
управляют, посредством планировщика передачи, множеством буферов передачи для записи данных, посылаемых контроллером DMA, и управляют множеством буферов передачи для считывания данных и передачи данных через контроллер передачи выходному процессору.
Дополнительно, согласно способу, описанному выше, прием, посредством контроллера DMA, считанных данных и посылка считанных данных буферу передачи, в частности, содержит:
управляют посредством контроллера DMA данными, которые должны передаваться в одиночном кадре или во множестве кадров.
Дополнительно, в соответствии со способом, описанным выше, контроллер DMA содержит блок отображения, счетчик сегментов и устройство внутрисегментной адресации;
прием посредством контроллера DMA запроса передачи данных, посылаемого выходным процессором, в частности, содержит:
прием посредством блока отображения запроса передачи данных в одиночном кадре, посланного выходным процессором, где запрос передачи данных в одиночном кадре содержит адрес начала кадра и информацию о длине кадра;
управление посредством контроллера DMA данными, которые должны передаваться в одиночном кадре, содержит:
отображение посредством блока отображения адреса начала кадра и информации о длине кадра в информации внутрисегментной адресации и информации подсчета сегментов;
обновляют посредством устройства внутрисегментной адресации, в соответствии с данными, посланными контроллером DMA, информацию внутрисегментной адресации; посылают счетчику сегментов, если внутрисегментная адресация в информации внутрисегментной адресации достигла максимального значения, информацию обновления подсчета количества сегментов; и устанавливают внутрисегментную адресацию в информацию внутрисегментой адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента;
посредством счетчика сегментов, если принимается информация обновления количества сегментов, выполняют подсчет с вычитанием до тех пор, пока количество сегментов в информации подсчета сегментов не станет равно начальному значению подсчета сегментов.
Дополнительно, согласно способу, описанному выше, установка посредством устройства внутрисегментной адресации внутрисегментной адресации в информации внутрисегментой адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента, в частности, содержит:
установку, посредством устройства внутрисегментной адресации, внутрисегментной адресации в информацию внутрисегментой адресации в качестве нуля, чтобы выполнить внутрисегментную адресацию следующего сегмента;
выполнение, посредством счетчика сегментов, если получают информацию обновления подсчета количества сегмента, подсчета с вычитанием до тех пор, пока результат подсчета количества в информации подсчета сегментов не станет равен начальному значению подсчета количества сегментов, содержит:
выполняют, посредством счетчика сегментов, если принимается информация обновления количества сегментов, подсчет с вычитанием единицы до тех пор, пока результат подсчета количества в информации подсчета сегментов не станет равен нулю.
Дополнительно, согласно способу, описанному выше, контроллер DMA содержит блок отображения, устройство внутрисегментной адресации, счетчик сегментов и счетчик кадров;
прием, посредством контроллера DMA, запроса передачи данных, посылаемого выходным процессором, в частности, содержит:
прием, посредством блока отображения, запроса передачи данных во множестве кадров, посылаемого выходным процессором, где запрос передачи данных во множестве кадров содержит множество кадров, адрес начала кадра и информацию о длине кадра;
управление, посредством контроллера DMA, данными, которые должны передаваться во множестве кадров, в частности, содержит:
отображение, посредством блока отображения, количества кадров, адреса начала кадра и информации о длине кадра в информации внутрисегментной адресации, в информации подсчета количества сегментов и в информации подсчета кадра;
обновление, посредством устройства внутрисегментной адресации, в соответствии с данными, посланными контроллером DMA, информации внутрисегментной адресации; посылка счетчику сегмента, если внутрисегментная адресация в информации внутрисегментной адресации достигает максимального значения, информации обновления подсчета количества сегмента; и установку внутрисегментной адресации в информации внутрисегментой адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента;
выполнение, посредством счетчика сегментов, если принята информация обновления счетчика количества сегментов, подсчета с вычитанием, посылка счетчику кадров, если подсчет количества в информации подсчета сегментов является начальным значением подсчета количества сегментов, информации об обновлении количества кадров и установка результата подсчета количества в информацию подсчета сегментов в качестве максимального значения для выполнения подсчета количества сегментов в следующем кадре;
выполнение посредством счетчика кадров, если принята информация об обновлении количества кадров, подсчета с вычитанием до тех пор, пока результат подсчета количества кадров в информации подсчета количества кадров не станет равен начальному значению подсчета количества кадров.
Дополнительно, согласно способу, описанному выше, установка посредством устройства внутрисегментной адресации внутрисегментной адресации в информацию внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента, в частности, содержит:
установку посредством устройства внутрисегментной адресации внутрисегментной адресации в информацию внутрисегментной адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента;
выполнение посредством счетчика сегментов, если принята информация об обновлении подсчета количества сегментов, подсчета с вычитанием, посылки счетчику кадров, если подсчет количества в информации подсчета сегментов равен начальному значению подсчета количества сегментов, информации об обновлении подсчета количества кадров, в частности, содержит:
выполнение посредством счетчика сегмента, если счетчик сегментов принимает информацию об обновлении подсчета количества сегментов, подсчета с вычитанием единицы, и, если результат подсчета количества в информации подсчета сегментов становится равен нулю, посылают счетчику кадров информацию об обновлении подсчета количества кадров;
выполнение посредством счетчика кадров, если счетчик кадров принимает информацию об обновлении подсчета количества кадра, подсчета с вычитанием до тех пор, пока результат подсчета количества в информации подсчета кадров, не станет равен начальному значению подсчета количества кадров, в частности, содержит:
выполнение, посредством счетчика кадров, если счетчик кадров принимает информацию об обновлении подсчета количества кадров, подсчета с вычитанием единицы до тех пор, пока результат подсчета количества в информации подсчета кадров не станет равен нулю.
Дополнительно, согласно способу, описанному выше, планировщик передачи содержит планировщик записи и планировщик вывода;
управление посредством планировщика передачи множеством буферов передачи для записи данных, посылаемых контроллером DMA, и управление множеством буферов передачи для считывания данных, в частности, содержит:
управление, посредством планировщика записи в соответствии с состоянием планирования записи и информацией признака записи, буфером передачи, имеющим право записи для записи данных;
управление, посредством планировщика вывода в соответствии с состоянием планирования вывода и информацией признака считывания, буфером передачи, имеющим право считывания для считывания данных.
Дополнительно, согласно способу, описанному выше, состояние планирования записи содержит: состояние ожидания и множество состояний записи буферов передачи;
управление, посредством планировщика записи, в соответствии с состоянием планирования записи и информацией признака записи, буфером передачи, имеющим право записи для записи данных, в частности, содержит:
управление, если состояние планирования записи является состоянием ожидания и информация признака записи, переходом из состояния ожидания в состояние записи буфера передачи, соответствующее определенной информации признака записи; и управление буфером передачи для записи данных.
Дополнительно, способ, описанный выше, после управления буфером передачи для записи данных, дополнительно содержит:
обновляют, если текущие записанные данные буфера передачи достигают первого порогового значения длины, текущее состояние записи буфера передачи на состояние ожидания; и обновляют текущую информацию признака записи на другую информацию признака записи.
Дополнительно, согласно способу, описанному выше, обновление текущей информации признака записи на другую информацию признака записи, в частности, содержит:
определяют посредством планировщика записи, в соответствии со временем ожидания записи каждого буфера передачи, буфер передачи с наибольшим временем ожидания записи; и обновляют текущую информацию признака записи на информацию признака записи буфера передачи с наибольшим временем ожидания записи.
Дополнительно, согласно способу, описанному выше, состояние планирования вывода содержит состояние обнаружения контроллера передачи, состояние обнаружения буфера передачи и множество состояний считывания буферов передачи;
где управление, посредством планировщика вывода в соответствии с состоянием планирования вывода и информацией признака считывания, буфером передачи, имеющим право считывания, чтобы считывать данные, в частности, содержит:
если состояние планирования вывода является состоянием обнаружения контроллера передачи и информация признака считывания является определенной информацией признака считывания, управляют переходом из состояния обнаружения контроллера передачи в состояние обнаружения буфера передачи после того, как контроллер передачи проводит обнаружение, управляют переходом из состояния обнаружения буфера передачи в состояние считывания буфера передачи, соответствующее определенной информации признака считывания, после того, как буфер передачи проводит обнаружение, и управляют буфером передачи для считывания данных.
Дополнительно, согласно способу, описанному выше, после управления буфером передачи для считывания данных, способ дополнительно содержит:
обновляют текущее состояние считывания буфера передачи на состояние обнаружения буфера передачи, если текущие данные считывания контроллера передачи достигают второго заданного значения длины; и обновляют текущую информацию признака считывания на другую информацию признака считывания.
Дополнительно, согласно способу, описанному выше, обновление текущей информации признака считывания на другую информацию признака считывания, в частности, содержит:
определяют, посредством планировщика вывода, в соответствии со временем ожидания считывания каждого буфера передачи, буфер передачи с наибольшим временем ожидания считывания и обновляют текущую информацию признака считывания на информацию признака считывания буфера передачи с наибольшим временем ожидания считывания.
Дополнительно, согласно способу, описанному выше, контроллер передачи содержит область множества буферов данных, процессор передачи и механизм последовательной связи;
способ дополнительно содержит этапы, на которых:
кэшируют, посредством области множества буферов данных, данные;
посылают механизму последовательной связи, посредством процессора передачи, данные в области множества буферов данных;
принимают, посредством механизма последовательной связи, данные, посылаемые процессором передачи, и посылают данных выходному процессору.
Дополнительно, согласно способу, описанному выше, программный процессор, функционирующий на сервере, содержит многоядерный центральный процессор;
способ содержит этапы, на которых:
передают, посредством многоядерного центрального процессора, параллельным способом данные выходному процессору.
При третьем подходе вариант осуществления настоящей заявки представляет считываемый компьютером носитель с хранящейся на нем компьютерной программой, и компьютерная программа исполняется процессором для реализации способа, соответствующего любому из вариантов осуществления при втором подходе.
Варианты осуществления настоящей заявки обеспечивают устройство и способ передачи данных и считываемый носитель, причем устройство содержит буферный процессор, контроллер передачи и выходной процессор. Буферный процессор через контроллер передачи соединяется с выходным процессором. Буферный процессор содержит контроллер DMA, планировщик передачи, контроллер памяти и множество буферов передачи; причем контроллер DMA соответственно соединяется с контроллером передачи, контроллером памяти, соответствующими буферами передачи и планировщиком передачи, контроллер передачи и планировщик передачи соответственно соединяются с соответствующими буферами передачи; контроллер DMA выполнен с возможностью приема запроса передачи данных, посылаемого выходным процессором; посылки контроллеру памяти, согласно запросу передачи данных, команды считывания данных; и приема считанных данных и посылки считанных данных буферу передачи; контроллер памяти выполнен с возможностью управления памятью в соответствии с командой считывания данных и посылки считанных данных на контроллер DMA; планировщик передачи выполнен с возможностью управления множеством буферов передачи, чтобы записывать данные, посланные контроллером DMA, и управления множеством буферов передачи, чтобы считывать данные и передавать данные через контроллер передачи выходному процессору. Поскольку в буферном процессоре передаваемые данные могут планироваться по порядку, большие объемы данных могут передаваться быстро и данные могут передаваться после того, как выходной процессор будет готов принимать данные, таким образом, нагрузка на выходной процессор не увеличивается и можно избежать потребления большого объема ресурсов.
Следует понимать, что то, что описано выше в разделе "Сущность изобретения", не предназначено ни для определения ключевых или важных признаков вариантов осуществления настоящей заявки, ни для ограничения объема защиты настоящей заявки. Другие признаки настоящей заявки станут очевидны при использовании последующего описания.
Краткое описание чертежей
Для более ясного объяснения вариантов осуществления настоящей заявки или технического решения, существующего на предшествующем уровне техники, ниже кратко будут представлены сопроводительные чертежи, требующиеся в вариантах осуществления или при описании предшествующего уровня техники. Очевидно, что сопроводительные чертежи в последующем описании являются некоторыми вариантами осуществления настоящей заявки, и другие сопроводительные чертежи, соответствующие этим чертежам, могут быть получены специалистами в данной области техники без затраты творческих усилий.
Фиг. 1 - схематичная структурная схема устройства передачи данных, представленного в варианте 1 осуществления настоящей заявки;
Фиг. 2 - схематичная структурная схема контроллера DMA устройства передачи данных, представленного в варианте 2 осуществления настоящей заявки;
Фиг. 3 - схематичная структурная схема контроллера DMA устройства передачи данных, представленного в варианте 3 осуществления настоящей заявки;
Фиг. 4 - схематичная структурная схема устройства передачи данных, представленного в варианте 4 осуществления настоящей заявки;
Фиг. 5 - схематичная структурная схема планировщика передачи устройства передачи данных, представленного в варианте 4 осуществления настоящей заявки;
Фиг. 6 - схема перехода из состояния планирования записи планировщика записи устройства передачи данных, представленного в варианте 4 осуществления настоящей заявки;
Фиг. 7 - схема перехода из состояния планирования вывода планировщика вывода устройства передачи данных, представленного в варианте 4 осуществления настоящей заявки;
Фиг. 8 - схематичная структурная схема контроллера передачи устройства передачи данных, представленного в варианте 5 осуществления настоящей заявки;
Фиг. 9 - блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 6 настоящей заявки;
Фиг. 10 - блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 7 настоящей заявки;
Фиг. 11 - блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 8 настоящей заявки;
Фиг. 12 - блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 9 настоящей заявки;
Фиг. 13 - блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 10 настоящей заявки.
Ссылочные позиции:
101 Буферный процессор
1011 Контроллер DMA
1011а Блок отображения
1011b Счетчик сегментов
1011с Устройство внутрисегментной адресации
1011d Счетчик кадров
1012 Планировщик передачи
1012а Планировщик записи
1012b Планировщик вывода
1013 Контроллер памяти
1014 Первый буфер передачи
1015 Второй буфер передачи
1016 Память
102 Контроллер передачи
102а Область множества буферов данных
102b Процессор передачи
102с Механизм последовательной передачи
103 Выходной процессор.
Описание вариантов осуществления
Ниже варианты осуществления настоящей заявки будут описаны более подробно со ссылкой на сопроводительные чертежи. Хотя на сопроводительных чертежах показаны лишь некоторые варианты осуществления настоящей заявки, следует понимать, что настоящая заявка может быть реализована в различных формах и не должно истолковываться, как ограниченное вариантами осуществления, изложенными здесь, и напротив, эти варианты осуществления представляются для более полного и всестороннего понимания настоящей заявки. Следует понимать, что сопроводительные чертежи и варианты осуществления настоящей заявки служат только в качестве примеров и не предназначены ограничивать объем защиты настоящей заявки.
Термины "первый", "второй", "третий", "четвертый" и т.д. (если таковые имеются) в описаниях, формуле изобретения вариантов осуществления настоящей заявки и на вышеупомянутых сопроводительных чертежах используются для различения схожих объектов и не обязательно используются для описания определенного порядка или последовательности. Следует понимать, что данными, используемыми таким образом, при определенных обстоятельствах можно обмениваться, так чтобы варианты осуществления настоящей заявки, описанные здесь, могли быть реализованы в порядке, отличном от показанных или описанных здесь. Кроме того, термины "содержащий" и "имеющий" и любые их вариации предназначены охватывать неисключающие включения. Например, процесс, способ, система, изделие или устройство, содержащие последовательность этапов или блоков, не должны ограничиваться этими этапами или блоками, перечисленными явно, но могут содержать и другие этапы или блоки, не перечисленные явно, но свойственные этим процессам, способам, изделиям или устройствам.
Вариант 1 осуществления
На фиг. 1 схематично представлена структурная схема устройства передачи данных, представленного в варианте 1 осуществления настоящей заявки; как показано на фиг. 1, устройство передачи данных, представленное в этом варианте осуществления, содержит буферный процессор 101, контроллер 102 передачи и выходной процессор 103.
Буферный процессор 101 через контроллер 102 передачи соединяется с выходным процессором 103.
В частности, буферный процессор 101 выполнен с возможностью планирования передачи данных в буферной памяти и посылки данных контроллеру 102 передачи. Используясь в качестве канала передачи для буферного процессора 101 и выходного процессора 103, контроллер 102 передачи посылает данные на выходной процессор 103. Выходной процессор 103 выполнен с возможностью планирования передаваемых данных и затем их передачи внутренней памяти или внешнему запоминающему устройству.
В этом варианте осуществления буферный процессор 101 содержит контроллер 1011 DMA, планировщик 1012 передачи, контроллер 1013 памяти и множество буферов передачи; контроллер DMA 1011 соответственно соединяется с контроллером 102 передачи, контроллер памяти 1013, соответствующие буферы передачи и планировщик 1012 передачи, контроллер 102 передачи и планировщик 1012 передачи соответственно соединяются с соответствующими буферами передачи.
В этом варианте осуществления контроллер 1011 DMA выполнен с возможностью приема запроса передачи данных, посылаемого выходным процессором 103; посылки контроллеру 1013 памяти, в соответствии с запросом передачи данных, команды считывания данных; и приема считанных данных и посылки считанных данных буферу передачи. Контроллер 1013 памяти выполнен с возможностью управления памятью в соответствии с командой считывания данных, чтобы считывать данные и посылать считанные данные на контроллер 1011 DMA. Планировщик 1012 передачи выполнен с возможностью управления множеством буферов передачи, чтобы записывать данные, посланные контроллером 1011 DMA, и управлять множеством буферов передачи для считывания данных и передачи данных через контроллер 102 передачи выходному процессору 103.
В частности, в этом варианте осуществления контроллер 1011 DMA принимает запрос передачи данных, посылаемый выходным процессором 103, где запрос передачи данных содержит информацию о передаче; контроллер 1011 DMA посылает контроллеру памяти 1013 в соответствии с информацией о передаче запроса передачи данных, соответствующей команде считывания данных, соответствующую команду считывания данных; и контроллер 1013 памяти, в соответствии с командой считывания данных, управляет памятью, чтобы считывать данные, причем память может считывать данные из буферной памяти. И данные считывания посылаются контроллеру 1011 DMA. Контроллер 1011 DMA принимает считанные данные и посылает их буферу передачи. Когда контроллер 1011 DMA передает данные буферу передачи, планировщик 1012 передачи в соответствии с правилами управляет соответствующими буферами передачи, чтобы в порядке очередности записывать данные, посланные DMA, чтобы сделать каждый буфер передачи имеющим равные права записи, то есть, чтобы другой буфер передачи продолжал записывать данные после записи данных предыдущим буфером передачи. В то же время планировщик 1012 передачи в соответствии с правилами управляет соответствующими буферами передачи, чтобы последовательно считывать данные и посылать их на выходной процессор 103 через контроллер 102 передачи. Каждый буфер передачи также имеет равные права считывания, то есть, другой буфер передачи продолжает считывать данные после того, как предыдущий буфер передачи перестает считывать данные.
На фиг. 1 присутствуют два буфера передачи, а именно, соответственно, первый буфер 1014 передачи и второй буфер 1015 передачи.
Устройство передачи данных, представленное в этом варианте осуществления, содержит буферный процессор 101, контроллер 102 передачи и выходной процессор 103. Буферный процессор 101 через контроллер 102 передачи соединяется с выходным процессором 103. Буферный процессор 101 содержит контроллер 1011 DMA, планировщик 1012 передачи, контроллер 1013 памяти и множество буферов передачи; контроллер 1011 DMA соответственно соединяется с контроллером 102 передачи, контроллер 1013 памяти, соответствующие буферы передачи и планировщик 1012 передачи, контроллер 102 передачи и планировщик 1012 передачи соответственно соединяются с соответствующими буферами передачи. Контроллер 1011 DMA выполнен с возможностью приема запроса передачи данных, посланного выходным процессором 103; посылки контроллеру 1013 памяти команды считывания данных в соответствии с запросом передачи данных; приема считанных данных и посылки их буферу передачи.
Контроллер 1013 памяти выполнен с возможностью управления памятью в соответствии с командой считывания данных, чтобы считывать данные и посылать считанные данные контроллеру 1011 DMA. Планировщик 1012 передачи выполнен с возможностью управления множеством буферов передачи, чтобы записывать данные, посланные контроллером 1011 DMA, управления множеством буферов передачи для считывания данных, и передачи данных через контроллер 102 передачи выходному процессору 103. Поскольку в буферном процессоре 101 передаваемые данные могут планироваться по порядку, большие объемы данных могут передаваться быстро и данные могут передаваться после того, как выходной процессор 103 готов принимать данные, и, таким образом, нагрузка на выходной процессор 103 не будет увеличиваться и можно избежать потребления большого объема ресурсов.
Дополнительно, в этом варианте осуществления контроллер 1011 DMA, в частности, выполнен с возможностью управления данными, которые должны передаваться в одиночном кадре или во множестве кадров.
В частности, в этом варианте осуществления контроллер 1011 DMA принимает запрос передачи данных, посланный выходным процессором 103, причем запрос передачи данных содержит информацию о передаче и информация о передаче может быть информацией об однокадровой передаче или информацией о многокадровой передаче. Когда контроллер 1011 DMA принимает считанные данные и посылает их буферу передачи, если информацией о передаче является информация об однокадровой передаче, данные посылаются буферу передачи способом одиночного кадра через технологию прямого доступа к памяти; если информацией о передаче является информация о передаче множества кадров, данные посылаются буферу передачи во множестве кадров через технологию прямого доступа к памяти.
Поэтому в устройстве передачи данных, представленном в этом варианте осуществления, контроллер 1911 DMA, в частности, выполнен с возможностью управления данными, которые должны передаваться в одиночном кадре или во множестве кадров, и быть способен к передаче данных через технологию прямого доступа к памяти, дополнительно повышая, таким образом, скорость передачи данных.
Вариант 2 осуществления
На фиг. 2 схематично представлена первая структурная схема контроллера 1011 DMA устройства передачи данных, приведенного в варианте 2 осуществления настоящей заявки; как показано на фиг. 2, устройство передачи данных, представленное в варианте 2 осуществления настоящей заявки, дополнительно совершенствует контроллер 1011 DMA буферного процессора 101, основываясь на устройстве передачи данных, представленном в варианте 1 осуществления настоящей заявки. В этом варианте осуществления контроллер 1011 DMA содержит блок 1011а отображения, счетчик 1011b сегментов и устройство 1011 внутрисегментной адресации.
Блок 1011а отображения соответственно соединяется со счетчиком 1011b сегментов и устройством 1011 с внутрисегментной адресации, и счетчик 1011b сегментов соединяется с устройством 1011 с внутрисегментной адресации.
В этом варианте осуществления блок 1011а отображения выполнен с возможностью приема запроса передачи данных в одиночном кадре, посылаемого выходным процессором 103, где запрос передачи данных в одиночном кадре содержит адрес начала кадра и информацию о длине кадра; и отображения адреса начала кадра и информации о длине кадра в информации внутрисегментной адресации и в информации подсчета сегментов. Устройство 1011 с внутрисегментной адресации выполнено с возможностью обновления информации внутрисегментой адресации согласно данным, посланным контроллером DMA 1011; посылки счетчику 1011b сегментов информации об обновлении подсчета количества сегментов, если внутрисегментная адресация в информации внутрисегментой адресации достигает максимального значения; и установки внутрисегментной адресации в информации внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента. Счетчик 1011b сегментов выполнен с возможностью осуществления подсчета с вычитанием, если принята информация об обновлении подсчета количества сегментов, до тех пор, пока результат подсчета количества в информации подсчета сегментов не станет равен начальному значению подсчета количества сегментов.
Предпочтительно, в этом варианте осуществления устройство 1011с внутрисегментной адресации, в частности, выполнено с возможностью установки внутрисегментной адресации в информацию внутрисегментой адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента. Счетчик 1011b сегментов выполнен с возможностью, если принимается информация об обновлении подсчета количества сегментов, подсчета с вычитанием единицы до тех пор, пока результат подсчета количества в информации подсчета сегментов не станет равен нулю. То есть, предпочтительно, в этом варианте осуществления начальное значение внутрисегментной адресации в устройстве 1011с внутрисегментной адресации равно нулю и подсчет с вычитанием, выполняемый счетчиком 1011b сегментов, производится путем вычитания единицы.
В частности, в этом варианте осуществления, если контроллер 1011 DMA управляет данными, которые должны передаваться в одиночном кадре, контроллер 1011 DMA содержит блок 1011а отображения, счетчик 1011b сегментов и устройство 1011с внутрисегментной адресации.
Сначала блок 1011а отображения принимает запрос передачи данных в одиночном кадре, посылаемый выходным процессором 103, где запрос передачи данных в одиночном кадре содержит адрес начала кадра и информацию о длине кадра. Адрес начала кадра может представлять место хранения данных одиночного кадра и информацией о длине кадра является длина одиночного кадра. Адрес начала кадра и информация о длине кадра отображаются в информации внутрисегментной адресации и в информации подсчета сегментов, то есть данные одиночного кадра с адресом начала кадра делятся на несколько сегментов, соответствующих длине кадра, и каждый сегмент содержит многочисленную внутрисегментную адресацию. Адрес начала кадра и информация о длине кадра отображаются в информации внутрисегментной адресации и в информации подсчета сегментов, причем информация подсчета сегментов является количеством сегментов, на которое разделены данные одиночного кадра. Внутрисегментная адресация в информации внутрисегментной адресации является нулем.
Во-вторых, устройство 1011 с внутрисегментной адресации хранит информацию внутрисегментной адресации; одновременно, данные, посланные контроллером 1011 DMA, контролируются и внутрисегментная адресация выполняется согласно данным, посланным контроллером 1011 DMA, то есть информация внутрисегментной адресации обновляется, и внутрисегментная адресация изменяется с малого на большое. Если внутрисегментная адресация в информации внутрисегментной адресации достигает максимального значения, это указывает, что принятые данные достигают сегмента, затем информация об обновлении подсчета количества сегментов посылается счетчику 1011b сегментов, в то же время, для выполнения внутрисегментной адресации следующего сегмента внутрисегментная адресация в информации внутрисегментной адресации устанавливается в качестве нуля, чтобы продолжить внутрисегментную адресацию следующего сегмента в соответствии с данными, посланными контроллером 1013 памяти.
Информация об обновлении подсчета количества сегмента указывает информацию, что счетчик 1011b сегментов, выполняющий подсчет, вычитает единицу.
Наконец, счетчик 1011b сегментов сохраняет информацию подсчета количества сегментов; если принята информация об обновлении количества сегментов, то это указывает, что внутрисегментная адресация в устройстве 1011с внутрисегментной адресации достигло максимального значения и данные текущего сегмента были приняты, таким образом, необходимо выполнить внутрисегментную адресацию следующего сегмента; затем счетчик сегментов вычитает единицу из количества сегментов в информации подсчета количества сегмента и продолжает подсчитывать следующий сегмент. Если внутрисегментная адресация в устройстве внутрисегментной адресации достигает максимального значения, и результат подсчета количества в информации подсчета счетчика 1011b сегментов равен нулю, это указывает, что были приняты данные одиночного кадра.
В устройстве передачи данных, представленном в этом варианте осуществления, контроллер 1011 DMA содержит блок 1011а отображения, счетчик 1011b сегментов и устройство 1011с внутрисегментной адресации, которые могут точно подсчитывать и передавать данные одиночного кадра от выходного процессора 103 в соответствии с запросом передачи данных в одиночном кадре.
Вариант 3 осуществления
На фиг. 3 схематично представлена структурная схема контроллера DMA 1011 в устройстве передачи данных, обеспечиваемом в варианте 3 осуществления настоящей заявки; как показано на фиг. 3, устройство передачи данных, представленное в варианте 3 осуществления настоящей заявки, дополнительно совершенствует контроллер 1011 DMA буферного процессора 101, основываясь на устройстве передачи данных, представленном в варианте 1 осуществления настоящей заявки. В этом варианте осуществления контроллер 1011 DMA содержит блок 1011а отображения, устройство 1011 внутрисегментной адресации, счетчик 1011b сегментов и счетчик 1011d кадров.
Блок 1011а отображения соответственно соединяется со счетчиком 1011d кадров, счетчиком 1011b сегментов и устройством 1011с внутрисегментной адресации и счетчик 1011b сегментов соответственно соединяется с устройством 1011с внутрисегментной адресации и счетчиком 1011d кадров.
В этом варианте осуществления блок 1011а отображения выполнен с возможностью приема запроса передачи данных во множестве кадров посредством выходного процессора 103, где запрос передачи данных во множестве кадров содержит количество кадров, адрес начала кадра и информацию о длине кадра; и отображения количество кадров, адреса начала кадра и информации о длине кадра в информации внутрисегментой адресации, в информации подсчета сегментов и в информации подсчета кадров. Устройство 1011с внутрисегментной адресации выполнено с возможностью обновления информации внутрисегментной адресации в соответствии с данными, посланными контроллером 1011 DMA; посылки счетчику 1011b информации об обновлении количества сегментов, если внутрисегментная адресация в информации внутрисегментой адресации достигает максимального значения; и установки внутрисегментной адресации в информацию внутрисегментой адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента. Счетчик 1011b сегментов выполнен с возможностью выполнения подсчета с вычитанием, если принята информация об обновлении количества сегментов; и посылки счетчику кадра информации об обновлении количества кадров, если результат подсчет количества в информации подсчета сегментов равен начальному значению подсчета количества сегментов; и установки результата подсчета количества в информацию подсчета количества сегментов в качестве максимального значения для выполнения подсчета количества сегментов следующего кадра. Счетчик 1011d кадров выполнен с возможностью выполнения подсчета с вычитанием до тех пор, пока результат подсчета количества в информации подсчета кадров не станет равен начальному значению подсчета количества кадров, если принята информация об обновлении подсчета количества кадров.
Предпочтительно, в этом варианте осуществления устройство 1011с внутрисегментной адресации, в частности, выполнено с возможностью установки внутрисегментной адресации в информацию внутрисегментной адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента. Счетчик 1011b сегментов, в частности, выполнен с возможностью выполнения подсчета количества с вычитанием единицы, если счетчик сегментов принял информацию об обновлении количества сегментов; и посылки счетчику 1011d кадров информации об обновлении подсчета количества кадров, если результат подсчета в информации обновления подсчета количества сегментов равен нулю; счетчик 1011d кадров, в частности, выполнен с возможностью подсчета с вычитанием единицы до тех пор, пока результат подсчета количества в информации подсчета количества кадров не станет равен нулю, если принята информация обновления подсчета количества кадров. То есть, предпочтительно, в этом варианте осуществления, начальное значение внутрисегментной адресации в устройстве 1011с внутрисегментной адресации равно нулю. Подсчет с вычитанием, выполняемый счетчиком 1011b сегментов, является подсчетом с вычитанием единицы и начальное значение подсчета сегментов равно нулю. Подсчет с вычитанием, выполняемый счетчиком 1011d кадров, является подсчетом с вычитанием единицы и начальное значение подсчета кадров равно нулю.
В частности, в этом варианте осуществления, если контроллер 1011 DMA данных управляет данными, которые должны передаваться во множестве кадров, контроллер 1011 DMA содержит блок 1011а отображения, устройство 1011с внутрисегментной адресации, счетчик 1011b сегментов и счетчик 1011d кадров.
Сначала блок 1011а отображения принимает запрос передачи данных во множестве кадров, посылаемый выходным процессором 103, где запрос передачи данных в нескольких кадрах содержит количество кадров, адрес начала кадра и информацию о длине кадра. Количество кадров является количеством кадров, передаваемых в течение множества кадров передачи данных, положение места хранения данных нескольких кадров может быть определено в соответствии с адресом начала кадра и информация о длине кадра является длиной каждого кадра. Количество кадров, адрес начала кадра и информация о длине кадра отображаются в информации внутрисегментной адресации, в информации подсчета сегментов и в информации подсчета кадров, то есть данные нескольких кадров с адресом начала кадра делятся на несколько кадров в соответствии с количеством кадров и каждый кадр делится на несколько сегментов в соответствии с длиной кадра, каждый сегмент содержит многочисленную внутрисегментную адресацию. В начальном состоянии, после того, как количество кадров, адрес начала кадра и информация о длине кадра отображаются в информации внутрисегментной адресации, в информации подсчета сегментов и в информации подсчета кадров, информация подсчета кадра является количеством кадров, содержащихся в данных нескольких кадров, информация подсчета сегментов является количеством сегментов, содержащихся в данных одиночного кадра, и внутрисегментная адресация в информации внутрисегментной адресации равняется нулю.
Затем, устройство 1011с внутрисегментной адресации сохраняет информацию внутрисегментной адресации, где начальное состояние информации внутрисегментной адресации равно нулю; одновременно контролируются данные, посланные контроллером 1011 DMA, и внутрисегментная адресация выполняется в соответствии с данными, посланными контроллером 1011 DMA, то есть информация внутрисегментной адресации обновляется, и внутрисегментная адресация изменяется от малого к большому. Если внутрисегментная адресация в информации внутрисегментной адресации достигает максимального значения, это указывает, что принятые данные достигли сегмента, затем информация об обновлении подсчета количества сегментов посылается счетчику 1011b сегментов, помимо этого, чтобы выполнить внутрисегментную адресацию следующего сегмента, внутрисегментная адресация в информации внутрисегментной адресации устанавливается равной нулю, чтобы продолжить внутрисегментную адресацию следующего сегмента в соответствии с данными, посланными контроллером 1013 памяти.
Дополнительно, счетчик 1011b сегментов хранит информацию подсчета сегментов, начальное состояние информации подсчета сегментов является количеством сегментов, содержащихся в каждом кадре данных; если принимается информация об обновлении количества сегментов, это указывает, что внутрисегментная адресация в устройстве 1011с внутрисегментной адресации достигла максимального значения и данные текущего сегмента были приняты, поэтому необходимо снова выполнить внутрисегментную адресацию следующего сегмента; затем счетчик сегментов вычитает единицу из результата подсчета количества сегментов в информации подсчета количества сегментов; во время процесса подсчета с вычитанием единицы, если результат подсчета количества в информации подсчета сегментов становится равен нулю, это указывает, что передача данных кадра завершена, затем информация об обновлении количества кадра посылается счетчику 1011d кадров, и подсчет количества в информации подсчета количества сегментов устанавливается на максимальное значение, так чтобы мог выполняться подсчет количества сегментов следующего кадра.
Наконец, счетчик 1011d кадров сохраняет информацию подсчета кадров, начальное состояние информации подсчета кадра является количеством кадров при передаче во множестве кадров; если принимается информация об обновлении количества кадров, это указывает, что данные текущего кадра были приняты и необходимо принять данные следующего кадра, и затем выполнить подсчет количества с вычитанием единицы. Каждый раз, когда принимаются данные одного кадра, информация об обновлении подсчета количества кадров подсчитывается с вычитанием единицы до тех пор, пока подсчет количества в информации подсчета кадров не станет равным нулю.
Следует понимать, что если внутрисегментная адресация в устройстве 1011с внутрисегментной адресации достигает максимального значения, результат подсчета сегментов в счетчике сегментов равняется нулю и результат подсчета количества кадров в счетчике 1011d кадров равняется нулю, что указывает, что передача данных во множестве кадров завершена.
В устройстве передачи данных, представленном в этом варианте осуществления, контроллер 1011 DMA содержит блок 1011а отображения, устройство 1011 с внутрисегментной адресации, счетчик 1011b сегментов и счетчик 1011d кадров, которые могут точно подсчитывать и передавать данные в нескольких кадрах в соответствии с запросом передачи данных во множестве кадров от выходного процессора 103.
Вариант 4 осуществления
На фиг. 4 схематично представлена структурная схема устройства передачи данных, обеспечиваемого в варианте 4 осуществления настоящей заявки. Как показано на фиг. 4, устройство передачи данных, представленное в этом варианте осуществления, основано на устройстве передачи данных, обеспечиваемом в варианте 1 осуществления или в варианте 2 осуществления или в варианте 3 осуществления настоящей заявки, где буферный процессор 101 дополнительно содержит память 1016. Дополнительно совершенствуется планировщик 1012 передачи. На фиг. 5 показана структурная схема планировщика 1012 передачи устройства передачи данных, обеспечиваемого в варианте 4 осуществления настоящей заявки; как показано на фиг. 5, планировщик 1012 передачи, обеспечиваемый в этом варианте осуществления, содержит планировщик 1012а записи и планировщик 1012b вывода.
Планировщик записи 1012а выполнен с возможностью управления, в соответствии с состоянием планирования записи и информацией признака записи, буфером, имеющим право записи, чтобы записывать данные; планировщик 1012b вывода выполнен с возможностью управления, в соответствии с состоянием планирования вывода и информацией признака считывания, буфером передачи, имеющим право считывания, чтобы считывать данные.
Дополнительно, в этом варианте осуществления на фиг. 6 схематично представлена схема перехода состояния планирования записи планировщика записи в устройстве передачи данных, обеспечиваемом в варианте 4 осуществления настоящей заявки; как показано на фиг. 6, в этом варианте осуществления состояние планирования записи содержит состояние ожидания и множество состояний записи буферов передачи. Состояние ожидания является начальным состоянием планировщика записи. Если существуют два буфера передачи, множество состояний записи буферов передачи содержит первое состояние записи буфера передачи и второе состояние записи буфера передачи. Первое состояние записи буфера передачи указывает, что текущее состояние является состоянием записи первого буфера передачи, а второе состояние записи буфера передачи указывает, что текущее состояние является состоянием записи второго буфера передачи.
Информация признака записи содержит идентификацию буфера передачи, и информация признака записи указывает информацию, что определенный буфер передачи имеет право записи данных.
Дополнительно, в этом варианте осуществления планировщик 1012а записи, в частности, выполнен с возможностью управления состоянием ожидания перехода в состояние записи буфера передачи, соответствующее определенной информации признака записи, если состояние планирования записи является состоянием ожидания и информация признака записи является определенной информацией признака записи; и управления буфером передачи для записи данных.
Дополнительно, планировщик 1012а записи, в частности, выполнен с возможностью обновления текущего состояния записи буфера передачи на состояние ожидания, если текущие записанные данные буфера передачи достигают первого заданного значения длины; и обновления текущей информации признака записи на другую информацию признака записи.
Первое заданное значение длины является заданным значением длительности данных, записываемых каждый раз каждым буфером передачи. Например, это могут быть 256 битов или другие значения, что не ограничивается в этом варианте осуществления.
Дополнительно, планировщик 1012а записи, в частности, выполнен с возможностью определения буфера передачи с наибольшим временем ожидания записи, в соответствии с временем ожидания записи каждого буфера передачи; и обновления текущей информации признака записи на информацию признака записи буфера передачи с наибольшим временем ожидания записи.
Время ожидания записи буфера передачи является временным интервалом, начинающимся с момента, когда данные были записаны в последний раз, до момента, когда данные были записаны снова.
В частности, в этом варианте осуществления планировщик 1012а записи определяет буфер передачи с наибольшим временем ожидания записи в соответствии с временем ожидания записи каждого буфера передачи; и обновляет текущую информацию признака записи на информацию признака записи буфера передачи с наибольшим временем ожидания записи, так чтобы множество буферов передачи могло иметь равные права записи. Когда данные первоначально не записаны, время ожидания записи в соответствующих буферах передачи является одинаковым и порядок записи данных во множество буферов передачи может быть задан. В этом варианте осуществления в качестве примера взяты два буфера передачи. То есть состояние планирования записи содержит состояние ожидания и два состояния записи буферов передачи. Затем в планировщике 1012а записи состояние планирования записи сначала находится в начальном состоянии; когда контроллер 1011 DMA имеет данные для записи, информацией признака записи является первая информация признака записи, то есть, первый буфер передачи 1014 имеет право записи данных; когда состояние планирования записи является состоянием ожидания и информацией признака записи является первая информация признака записи, состоянием ожидания управляют для перехода в состояние записи первого буфера передачи, и первым буфером 1014 передачи управляют для записи данных. В процессе записи данных первого буфера 1014 передачи подсчитывается длина записанных данных. Если записанные данные первого буфера 1014 передачи достигают первого заданного значения длины, состояние записи первого буфера передачи обновляется до состояния ожидания и определенная информация признака записи обновляется; если при обновлении определенной информации признака записи определяют, что время ожидания записи второго буфера 1015 передачи больше, чем время ожидания записи первого буфера 1014 передачи, то тогда определенная информация признака записи обновляется до второй информации признака записи, указывая, что второй буфер 1015 передачи имеет право записи данных, и затем управляют состоянием ожидания для перехода в состояние записи второго буфера передачи и управляют вторым буфером 1015 передачи для записи данных. Повторяя этот цикл, эти два буфера передачи имеют равные права записи и одинаково выполняют запись данных.
В устройстве передачи данных, обеспечиваемом в этом варианте осуществления, планировщик передачи содержит планировщик записи и планировщик вывода. Планировщик записи выполнен с возможностью управления буфером передачи, имеющим право записи, для записи данных в соответствии с состоянием планирования записи и информацией признака записи. Состояние планирования записи содержит: состояние ожидания и состояние записи множества буферов передачи; планировщик записи, в частности, выполнен с возможностью управления состоянием ожидания перехода в состояние записи буфера передачи, соответствующее определенной информации признака записи, если состояние планирования записи является состоянием ожидания и информация признака записи является определенной информацией признака записи; и управление буфером передачи для записи данных. Планировщик записи, в частности, выполнен с возможностью определения буфера передачи с наибольшим временем ожидания записи, в соответствии с временем ожидания записи каждого буфера передачи; и обновления текущей информации признака записи на информацию признака записи буфера передачи с наибольшим временем ожидания записи. Устанавливая множество состояний планирования записи и информацию признака записи, множество буферов передачи становятся имеющими равные права записи и поэтому каждый буфер передачи может быстро запланировать для записи данные.
Дополнительно, в этом варианте осуществления на фиг. 7 показана схема перехода состояния планирования вывода планировщика вывода устройства передачи данных, представленного в варианте 4 осуществления настоящей заявки; как показано на фиг. 7, в этом варианте осуществления состояние планирования вывода содержит состояние обнаружения контроллера передачи, состояние обнаружения буфера передачи и множество состояний считывания буферов передачи.
Состояние обнаружения контроллера передачи является состоянием обнаружения контроллера 102 передачи и контроллер передачи может быть USB-контроллером. Состояние обнаружения буфера передачи является состоянием обнаружения буфера передачи. Если существуют два буфера передачи, множество состояний считывания буферов передачи содержат состояние считывания первого буфера передачи и состояние считывания второго буфера передачи. Состояние считывания первого буфера передачи указывает, что текущее состояние является состоянием, в котором первый буфер 1014 передачи считывает данные, а состояние считывания второго буфера передачи указывает, что текущее состояние является состоянием, в котором данные считывает второй буфер 1015 передачи. Состояние обнаружения контроллера передачи является начальным состоянием планировщика вывода.
Дополнительно, в этом варианте осуществления планировщик 1012b вывода, в частности, выполнен с возможностью управления состоянием обнаружения контроллера передачи для перехода в состояние обнаружения буфера передачи после того, как контроллер передачи проводит обнаружение, если состояние планирования вывода является состоянием обнаружения контроллера передачи и информация признака считывания является определенной информацией признака считывания, управления состоянием обнаружения буфера передачи для перехода в состояние считывания буфера передачи, соответствующее определенной информации признака считывания, после того, как буфер передачи проводит обнаружение, и управления считывания данных буфером передачи.
Дополнительно, в этом варианте осуществления, планировщик 1012b вывода также выполнен с возможностью обновления текущего состояния считывания буфера передачи до состояния обнаружения контроллера передачи, если текущие данные считывания контроллера передачи достигают второго заданного значения длины; и обновления текущей информации признака считывания до другой информации признака считывания.
Информация признака считывания содержит идентификацию буфера передачи, и информация признака считывания указывает информацию, что определенный буфер передачи имеет право считывания данных.
Второе заданное значение длины является заданным значением длины данных, считываемых каждый раз каждым буфером передачи. Например, это может быть 256 битов или другие значения, что не ограничивается в этом варианте осуществления.
Дополнительно, в этом варианте осуществления планировщик 1012b вывода, в частности, выполнен с возможностью определения, в соответствии со временем ожидания считывания каждого буфера передачи, буфера передачи с наибольшим временем ожидания считывания; и обновления текущей информации признака считывания на информацию признака считывания буфера передачи с наибольшим временем ожидания считывания.
Время ожидания считывания буфера передачи является временным интервалом с момента, когда данные были считаны в последний раз, до момента, когда данные считываются снова.
В частности, в этом варианте осуществления планировщик 1012b вывода определяет, в соответствии со временем ожидания считывания каждого буфера передачи, буфер передачи с наибольшим временем ожидания считывания; и обновляет текущую информацию признака считывания на информацию признака считывания буфера передачи с наибольшим временем ожидания считывания, так чтобы множество буферов передачи могли иметь равные права считывания. В этом варианте осуществления в качестве примера взяты два буфера передачи. То есть, состояния планирования вывода содержат состояние обнаружения контроллера передачи, состояние обнаружения буфера передачи, состояние считывания первого буфера передачи и состояние считывания второго буфера передачи. В планировщике 1012b вывода состояние планирования вывода сначала находится в начальном состоянии, чтобы считывать данные с определенного буфера передачи и передавать данные контроллеру 102 передачи. Если состояние планирования вывода является состоянием обнаружения контроллера передачи и информацией признака считывания является первая информация признака считывания, это указывает, что первый буфер 1014 передачи имеет права считывания и состоянием планирования вывода является начальное состояние. После обнаружения, что контроллер 102 передачи готов принимать данные, состояние обнаружения контроллера передачи переходит в состояние обнаружения буфера передачи; и после обнаружения, что первый буфер 1014 передачи готов считывать данные, состояние обнаружения буфера передачи переходит в состояние считывания первого буфера передачи и первый буфер 1014 передачи управляется, чтобы считывать данные. При обработке чтения данных первого буфера 1014 передачи считается длина считываемых данных. Если считанные данные первого буфера 1014 передачи достигают второго заданного значения длины, состояние считывания первого буфера передачи обновляется на состояние обнаружения контроллера передачи и первая информация признака считывания обновляется; когда при обновлении первой информации признака считывания определяют, что время ожидания считывания второго буфера 1015 передачи больше, чем время ожидания первого буфера 1014 передачи, первая информация признака считывания обновляется на вторую информацию признака считывания, указывая, что права считывания данных имеет второй буфер 1015 передачи; затем, после того как контроллер 102 передачи готов принимать данные, состояние обнаружения контроллера передачи переходит в состояние обнаружения буфера передачи, после обнаружения, что второй буфер 1015 передачи готов считывать данные, состояние обнаружения буфера передачи переходит в состояние считывания второго буфера передачи, и вторым буфером 1015 передачи управляют для считывания данных. Повторяя этот цикл, эти два буфера передачи имеют равные права считывания и одинаково выполняют считывание данных.
В устройстве передачи данных, представленном в этом варианте осуществления, планировщик 1012 передачи содержит планировщик вывода. Планировщик вывода выполнен с возможностью управления буфером передачи, имеющим право считывания, чтобы считывать данные в соответствии с состоянием планирования вывода и информацией признака считывания. Состояние планирования вывода содержит состояние обнаружения контроллера передачи, состояние обнаружения буфера передачи и множество состояний считывания буферов передачи; планировщик вывода, в частности, выполнен с возможностью управления состоянием обнаружения контроллера передачи для перехода в состояние обнаружения буфера передачи после проведения обнаружения контроллером передачи, и если состояние планирования вывода является состоянием обнаружения контроллера передачи и информация признака считывания является информацией признака считывания, управляют состоянием обнаружения буфера передачи для перехода в состояние считывания буфера передачи, соответствующее определенной информации признака считывания, после проведения обнаружения буфером передачи, и управляют буфером передачи для считывания данных. Планировщик вывода, в частности, выполнен с возможностью определения буфера передачи с наибольшим временем ожидания считывания, в соответствии с временем ожидания считывания каждого буфера передачи; и обновления текущей информации признака считывания на информацию признака считывания буфера передачи с наибольшим временем ожидания считывания. Устанавливая множество состояний планирования вывода и информацию признака считывания, множество буферов передачи становятся имеющими равные права считывания и поэтому каждый буфер передачи может быстро планироваться для считывания данных.
Кроме того, в этом варианте осуществления буферный контроллер дополнительно содержит память 1016.
Память 1016 соединяется с контроллером 1013 памяти и выполнена с возможностью считывания данных из буферной памяти под управлением контроллера 1013 памяти.
Вариант 5 осуществления
Устройство передачи данных, представленное в варианте 5 осуществления настоящей заявки дополнительно усовершенствует контроллер 102 передачи и выходной процессор 103, основываясь на устройстве передачи данных, представленном в варианте 4 осуществления настоящего изобретения.
На фиг. 8 схематично представлена структурная схема контроллера 102 передачи устройства передачи данных, представленного в варианте 5 осуществления настоящего изобретения; как показано на фиг. 8, в этом варианте осуществления контроллер 102 передачи содержит область 102а множества буферов данных, процессор 102b передачи и механизм 102 с последовательной связи.
Процессор 102b передачи соответственно соединяется с областью 102а множества буферов данных и механизмом 102 с последовательной связи.
В частности, область 102а множества буферов данных выполнена с возможностью кэширования данных. Процессор 102b передачи выполнен с возможностью посылки данных, присутствующих в области 102а множества буферов данных, механизму 102 с последовательной связи. Механизм 102 с последовательной связи выполнен с возможностью приема данных, посланных процессором 102b передачи, и посылки данных выходному процессору 103.
В этом варианте осуществления контроллер 102 передачи использует контроллер USB 3.0.
В устройстве передачи данных, представленном в этом варианте осуществления, контроллер 102 передачи содержит область 102 множества буферов данных, процессор 102b передачи и механизм 102 с последовательной связи; где область 102а множества буферов данных выполнена с возможностью кэширования данных; процессор 102b передачи выполнен с возможностью посылки механизму 102 с последовательной связи данных, присутствующих в области 102а множества буферов данных; механизм 102 с последовательной связи выполнен с возможностью приема данных, посылаемых процессором 102b передачи, и посылки данных выходному процессору 103; поскольку область множества буферов данных может эффективно кэшировать данные, она может эффективно препятствовать непосредственной передаче данных выходному процессору, защищать выходной процессор от неспособности хранения данных во времени и препятствовать накоплению данных.
Дополнительно, в этом варианте осуществления выходной процессор 103 содержит многоядерный центральный процессор.
В частности, многоядерный центральный процессор выполнен с возможностью передачи параллельным способом данных внутренней памяти.
В устройстве передачи данных, представленном в этом варианте осуществления, выходной процессор 103 при помощи многоядерного центрального процессора передает данные внутренней памяти параллельным способом, что может дополнительно ускорить передачу данных.
Вариант 6 осуществления
На фиг. 9 представлена блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 6 осуществления настоящей заявки; как показано на фиг. 9, объектом выполнения способа передачи данных, представленного в этом варианте осуществления, является устройство передачи данных и способ передачи данных, представленный в этом варианте осуществления, содержит следующие этапы.
На этапе 901 контроллер DMA принимает запрос передачи данных, посланный выходным процессором, и посылает контроллеру памяти команду считывания данных в соответствии с запросом передачи данных.
На этапе 902 контроллер памяти управляет памятью для считывания данных в соответствии с командой считывания данных; и посылает считанные данные контроллеру DMA.
На этапе 903 контроллер DMA принимает считанные данные и посылает считанные данные буферу передачи.
На этапе 904 планировщик передачи управляет множеством буферов передачи для записи данных, посланных контроллером DMA, и управляет множеством буферов передачи для считывания данных и передачи данных через контроллер передачи выходному процессору.
В этом варианте осуществления устройство передачи данных, представленное в варианте 1 осуществления настоящей заявки, может использоваться для выполнения технического решения способа передачи данных в этом варианте осуществления; их принципы реализации и технические результаты подобны, поэтому они не будут повторяться здесь снова.
Дополнительно, в этом варианте осуществления этап 903, в частности, содержит этап, на котором:
контроллер DMA управляет данными, которые должны передаваться в одиночном кадре или в нескольких кадрах.
В соответствии со способом передачи данных, представленным в этом варианте осуществления, контроллер DMA управляет данными, которые должны передаваться в одиночном кадре или во множестве кадров, и способен передавать данные посредством технологии прямого доступа к памяти, таким образом, дополнительно увеличивая скорость передачи данных.
Вариант 7 осуществления
На фиг. 10 представлена блок-схема способа передачи данных, обеспечиваемого в варианте 7 осуществления настоящей заявки; как показано на фиг. 10, способ передачи данных, обеспечиваемый в этом варианте осуществления, дополнительно совершенствует этап 901 и этап 903, основываясь на способе передачи данных, представленном в варианте 6 осуществления настоящей заявки, где контроллер DMA содержит блок отображения, счетчик сегментов и устройство внутрисегментной адресации. Согласно способу передачи данных в этом варианте осуществления, контроллер DMA управляет данными, которые должны передаваться способом с одиночным кадром и тогда способ передачи данных, представленный в этом варианте осуществления, содержит следующие этапы.
На этапе 1001 блок отображения принимает запрос передачи данных в одиночном кадре, посланный выходным процессором, где запрос передачи данных в одиночном кадре содержит адрес начала кадра и информацию о длине кадра; и посылает контроллеру памяти команду считывания данных в соответствии с запросом передачи данных в одиночном кадре.
На этапе 1002 контроллер памяти управляет памятью, чтобы считывать данные в соответствии с командами считывания данных; и посылает считанные данные на контроллер DMA.
На этапе 1003 контроллер DMA управляет данными, которые должны передаваться способом передачи с одиночным кадром.
Дополнительно, управление контроллером DMA данными, которые должны передаваться способом передачи с одиночным кадром, в частности, содержит этапы, на которых:
На этапе 1003а блок отображения отображает в информации внутрисегментной адресации и в информации подсчета сегментов адрес начала кадра и информацию о длине кадра.
На этапе 1003b устройство внутрисегментной адресации обновляет информацию внутрисегментной адресации, в соответствии с данными, посланными контроллером DMA; если внутрисегментная адресация в информации внутрисегментной адресации достигает максимального значения, посылает счетчику сегментов информацию об обновлении подсчета количества сегментов; и устанавливает внутрисегментную адресацию в информацию внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента.
Предпочтительно, в настоящем варианте осуществления на этапе 1003b установка внутрисегментной адресации устройством внутрисегментной адресации в информацию внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента, в частности, содержит:
устройство внутрисегментной адресации устанавливает внутрисегментную адресацию в информацию внутрисегментной адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента.
То есть, предпочтительно, в этом варианте осуществления начальное значение внутрисегментной адресации в устройстве внутрисегментной адресации равно нулю.
На этапе 1003с, если принимается информация об обновлении подсчета количества сегментов, выполняют подсчет с вычитанием до тех пор, пока результат подсчета количества в информации подсчета сегментов не станет равен начальному значению подсчета сегментов.
Предпочтительно, в этом варианте осуществления этап 1003с, в частности, содержит этап, на котором:
если получена информация об обновлении подсчета количества сегментов, счетчик сегментов выполняет подсчет с вычитанием единицы до тех пор, пока результат подсчета количества сегментов в информации подсчета сегментов не станет равен нулю.
То есть, предпочтительно, в этом варианте осуществления подсчет с вычитанием, выполняемый счетчиком сегментов, ведется с вычитанием единицы и начальное значение для подсчета сегментов равно нулю.
На этапе 1004 планировщик передачи управляет множеством буферов передачи, чтобы записывать данные, посылаемые контроллером DMA, и управляет множеством буферов передачи для считывания данных и передает через контроллер передачи данные выходному процессору.
В этом варианте осуществления устройство передачи данных, представленное в варианте 2 осуществления настоящей заявки, может использоваться для выполнения технического решения способа передачи данных в этом варианте осуществления; его принципы реализации и технические результаты подобны и их описание здесь повторяться не будет.
Вариант 8 осуществления
На фиг. 11 приведена блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 8 осуществления настоящей заявки; как показано на фиг. 11, способ передачи данных, представленный в этом варианте осуществления, дополнительно совершенствует этап 901 и этап 903, основываясь на способе передачи данных, представленном в варианте 6 осуществления настоящей заявки, где контроллер DMA содержит блок отображения, устройство внутрисегментной адресации, счетчик сегментов и счетчик кадров. Согласно способу передачи данных в этом варианте осуществления, контроллер DMA управляет данными, которые должны передаваться способом с множеством кадров, и способ передачи данных, показанный в этом варианте осуществления, содержит следующие этапы.
На этапе 1101 блок отображения принимает запрос передачи данных во множестве кадров, посылаемый выходным процессором, где запрос передачи данных во множестве кадров содержит количество кадров, адрес начала кадра и информацию о длине кадра; и в соответствии с запросом передачи данных во множестве кадров посылает контроллеру памяти команду считывания данных.
На этапе 1102 контроллер памяти в соответствии с командами считывания данных управляет памятью, чтобы считывать данные; и посылает считанные данные на контроллер DMA.
На этапе 1103 контроллер DMA управляет данными, которые должны быть переданы с множеством кадров.
Дополнительно, в этом варианте осуществления этап 1103, в частности, содержит следующие этапы:
На этапе 1103а блок отображения отображает количество кадров, адрес начала кадра и информацию о длине кадра в информации внутрисегментной адресации, в информации подсчета сегментов и в информации подсчета кадров.
На этапе 1103b устройство внутрисегментной адресации обновляет информацию внутрисегментной информации в соответствии с данными, посланными контроллером DMA; если внутрисегментная адресация в информации внутрисегментой адресации достигает максимального значения, обновляет информацию об обновлении подсчета количества сегментов в счетчике сегментов; и устанавливает внутрисегментную адресацию в информацию внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента.
Предпочтительно, в этом варианте осуществления на этапе 1103b устройство внутрисегментной адресации устанавливает внутрисегментную адресацию в информацию внутрисегментной адресации в качестве начального значения внутрисегментной адресации для выполнения внутрисегментной адресации следующего сегмента, в частности, содержит:
устройство внутрисегментной адресации устанавливает внутрисегментную адресацию в информацию внутрисегментой адресации в качестве нуля для выполнения внутрисегментной адресации следующего сегмента.
То есть, предпочтительно, в этом варианте осуществления начальное значение внутрисегментной адресации в устройстве внутрисегментной адресации равно нулю.
На этапе 1103с, если получена информация об обновлении подсчета количества сегмента, счетчик сегментов выполняет подсчет с вычитанием, если количество, указываемое в информации подсчета сегментов, равно начальному значению подсчета количества сегментов, посылает счетчику кадров информацию об обновлении количества кадров и устанавливает результат подсчета количества в информации подсчета сегментов в качестве максимального значения для выполнения подсчета количества сегментов следующего кадра.
Предпочтительно, в этом варианте осуществления, этап 1103с, в частности, содержит:
если принята информация об обновлении количества сегментов, счетчик сегментов выполняет подсчет с вычитанием единицы; и, если результат подсчета количества в информации подсчета сегментов равен нулю, посылает счетчику кадров информацию об обновлении количества кадров.
То есть, предпочтительно, в этом варианте осуществления, подсчет с вычитанием, выполняемый счетчиком сегментов, является подсчетом количества с вычитанием единицы и начальное значение подсчета сегментов равно нулю.
На этапе 1103d, если принимается информация об обновлении подсчета количества кадров, счетчик кадров выполняет подсчет с вычитанием до тех пор, пока результат подсчета количества в информации подсчета кадров не станет равным начальному значению подсчета кадров.
Предпочтительно, в этом варианте осуществления на этапе 1103d, в частности, содержит:
если принята информация об обновлении количества кадров, счетчик кадров выполняет подсчет количества с вычитанием единицы до тех пор, пока результат подсчета количества в информации подсчета кадров не станет равен нулю.
То есть, предпочтительно, в этом варианте осуществления подсчет с вычитанием, выполняемый в счетчике кадра, является подсчетом с вычитанием единицы и начальное значение подсчета кадра равно нулю.
На этапе 1104 планировщик передачи управляет множеством буферов передачи для записи данных, посланных контроллером DMA, и управляет множеством буферов передачи для считывания данных и передачи данных через контроллер передачи выходному процессору.
В этом варианте осуществления устройство передачи данных, представленное в варианте 3 осуществления настоящей заявки, может использоваться для выполнения технического решения способа передачи данных в этом варианте осуществления; его принципы реализации и технические результаты схожи и не будут повторяться здесь снова.
Вариант 9 осуществления
На фиг. 12 показана блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 9 осуществления настоящей заявки; как показано на фиг. 12, способ передачи данных, представленный в этом варианте осуществления дополнительно совершенствует этап 904, этап 1004 или этап 1104, основываясь на способе передачи данных, представленном в варианте 6 осуществления, варианте 7 осуществления или варианте 8 осуществления настоящей заявки, где планировщик передачи содержит планировщик записи и планировщик вывода. Способ передачи данных в этом варианте осуществления основан на варианте 1 осуществления настоящей заявки, где на этапе 904 планировщик передачи управляет множеством буферов передачи для записи данных, посылаемых контроллером DMA, и управляет множеством буферов передачи для считывания данных и передачи данных через контроллер передачи выходному процессору, и, в частности, содержит следующие этапы.
На этапе 904а планировщик записи в соответствии с состоянием планирования записи и информацией признака записи управляет буфером передачи, имеющим право записи, для записи данных.
Дополнительно, планировщик записи в соответствии с состоянием планирования записи и информацией признака записи управляет буфером передачи, имеющим право записи, чтобы записывать данные, в частности, содержит этап, на котором:
если состояние планирования записи является состоянием ожидания и информация признака записи является определенной информацией признака записи, управляют состоянием ожидания для перехода в состояние записи буфера передачи, соответствующее определенной информации признака записи; и управляют буфером передачи для записи данных.
В этом варианте осуществления, после управления буфером передачи для записи данных, способ дополнительно содержит:
обновляют текущее состояние записи буфера передачи на состояние ожидания, если текущие записанные данные буфера передачи достигают первого заданного значения длительности; и обновляют текущую информацию признака записи на другую информацию признака записи.
Дополнительно, в этом варианте осуществления обновление текущей информации признака записи на другую информацию признака записи, в частности, содержит этап, на котором:
планировщик записи в соответствии со временем ожидания записи каждого буфера передачи определяет буфер передачи с наибольшим временем ожидания записи; и обновляет текущую информацию признака записи на информацию признака записи буфера передачи с наибольшим временем ожидания записи.
На этапе 904b планировщик вывода в соответствии с состоянием планирования вывода и информацией признака считывания управляет буфером передачи, имеющим право считывания, для считывания данных.
Дополнительно, состояние планирования вывода содержит состояние обнаружения контроллера передачи, состояние обнаружения буфера передачи и множество состояний считывания буферов передачи;
где планировщик вывода, в соответствии с состоянием планирования вывода и информацией признака считывания, управляет буфером передачи, имеющим право считывания, чтобы считывать данные, в частности:
если состояние планирования вывода является состоянием обнаружения контроллера передачи и информация признака считывания является определенная информация признака считывания, управляет состоянием обнаружения контроллера передачи для перехода в состояние обнаружения буфера передачи после того, как контроллер передачи проводит обнаружение, и управляет состоянием обнаружения буфера передачи для перехода в состояние считывания буфера передачи, соответствующее определенной информации признака считывания, после того, как буфер передачи проводит обнаружение, и управляет буфером передачи для считывания данных.
В этом варианте осуществления после управления буфером передачи, чтобы считывать данных, способ дополнительно содержит:
если текущие данные считывания контроллера передачи достигают второго заданного значения длины, обновляют текущее состояние считывания буфера передачи на состояние обнаружения контроллера передачи; и обновляют текущую информацию признака считывания на другую информацию признака считывания.
Дополнительно, в этом варианте осуществления обновление текущей информации признака считывания на другую информацию признака считывания, в частности, содержит этап, на котором:
планировщик вывода, в соответствии с временем ожидания считывания каждого буфера передачи, определяет буфер передачи с наибольшим временем ожидания считывания и обновляет текущую информацию признака считывания на информацию признака считывания буфера передачи с наибольшим временем ожидания считывания.
В этом варианте осуществления устройство передачи данных, представленное в варианте 4 осуществления настоящей заявки, может использоваться для выполнения технического решения способа для передачи данных согласно этому варианту осуществления; принципы реализации и технические результаты этого схожи и повторно здесь описываться не будут.
Вариант 10 осуществления
На фиг. 13 показана блок-схема последовательности выполнения операций способа передачи данных, представленного в варианте 10 осуществления настоящей заявки; способ передачи данных, представленный в этом варианте осуществления, основан на способе передачи данных, представленном в варианте 6 осуществления настоящей заявки, и после этапа 904 дополнительно содержит следующие этапы.
На этапе 1301 область множества буферов данных кэширует данные.
На этапе 1302 процессор передачи посылает механизму последовательной связи данные, присутствующие в области множества буферов данных;
На этапе 1303 механизм последовательной связи принимает данные, посланные процессором передачи, и посылает данные выходному процессору.
На этапе 1304 многоядерный центральный процессор параллельным способом передает данные во внутреннюю память.
В этом варианте осуществления устройство передачи данных, представленное в варианте 5 осуществления настоящей заявки, может использоваться для исполнения технического решения способа передачи данных в этом варианте осуществления; принципы реализации и технические эффекты схожи, поэтому их описание здесь повторяться не будет.
Вариант 11 осуществления
Вариант 11 осуществления настоящей заявки дополнительно представляет считываемый компьютером носитель, на котором хранится компьютерная программа, исполняемая процессором для реализации способа, соответствующего любому из вариантов 1-5 настоящей заявки.
На основе нескольких вариантов осуществления, представленных в настоящей заявке, следует понимать, что раскрытые устройство и способ могут быть реализованы и другими способами. Например, варианты осуществления устройств, описанные выше, являются только лишь схематичными. Например, деление на модули является делением только по логическим функциям. В процессе фактической реализации возможен другой способ деления; например, несколько модулей или компонентов могут быть объединены или интегрированы в другую систему или некоторые признаки могут игнорироваться или не исполняться. С другой стороны, взаимная связь или прямая связь или связное соединение, показанные или обсуждавшиеся, могут быть косвенной связью или связным соединением через некоторые интерфейсы, устройства или модули или могут иметь электрическую, механическую или другие формы.
Модули, описанные как отдельные компоненты, могут быть или не быть физически разделенными и компоненты, показанные как модули, могут быть или не быть физическими модулями, то есть, они могут быть расположены в одном месте или распределены по нескольким сетевым модулям. Некоторые или все модули могут быть выбраны в соответствии с фактическими потребностями, чтобы достигнуть решения задачи этого варианта осуществления.
Кроме того, соответствующие функциональные модули в каждом варианте осуществления настоящей заявки могут быть интегрированы в один процессорный модуль или соответствующие модули могут физически существовать отдельно или два или более модулей могут быть интегрированы в один модуль. Вышеупомянутые интегрированные модули могут быть реализованы в форме использования аппаратных средств или в форме использования аппаратных средств вместе с функциональными модулями программного обеспечения.
Управляющая программа для реализации способа настоящей заявки может быть написана, используя один из языков программирования или любую комбинацию множества языков программирования. Эти управляющие программы могут быть предоставлены процессору или контроллеру универсального компьютера, специализированного компьютера или другого программируемого устройства обработки данных, так чтобы управляющие программы при их исполнении процессором или контроллером вызывали реализацию функций или операций, определенных в блок-схемах последовательности выполнения операций и/или на блок-схемах. Управляющая программа может исполняться полностью на машине или частично на машине, или частично на машине как независимый пакет программного обеспечения и частично на удаленной машине или, полностью на удаленной машине или на сервере как независимый пакет программного обеспечения.
В контексте настоящей заявки машиночитаемый носитель может быть физическим носителем, который может содержать или хранить программу для использования системой исполнения команд, оборудованием или устройством или в связи с ними.
Машиночитаемый носитель может быть машиночитаемым носителем сигнала или машиночитаемым носителем хранения данных. Машиночитаемый носитель может содержать, но не ограничиваясь только этим, электронные, магнитные, оптические, электромагнитные, инфракрасные или полупроводниковые системы, оборудование или устройства, или любое соответствующее их сочетание. Более конкретные примеры машиночитаемого носителя хранения данных могут содержать многочисленные проводные электрические соединения, портативный компьютерный диск, жесткий диск, оперативную память (random access memory, RAM), постоянную память (read-only memory, ROM), стираемую программируемую постоянную память (erasable programmable read-only memory, EPROM, или флэш-память), оптоволоконную, портативную постоянную память на компакт-дисках (compact disk read-only memory, CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любое соответствующее их сочетание.
Кроме того, хотя соответствующие операции показаны в конкретном порядке, следует понимать, что при необходимости такие операции могут выполняться в конкретном показанном порядке или в последовательном порядке или так, чтобы все показанные операции были выполнены для достижения желаемых результатов. При определенных обстоятельствах могут быть предпочтительны многозадачная обработка и параллельная обработка. Аналогично, хотя в представленном выше обсуждении содержатся некоторые конкретные подробности реализации, они не должны интерпретироваться как ограничения объема защиты настоящего раскрытия. Определенные признаки, описанные в контексте отдельного варианта осуществления, могут также быть реализованы как объединенные в единой реализации. И наоборот, различные признаки, описанные в контексте единой реализации, могут также быть реализованы в нескольких реализациях отдельно или в любом подходящем субсочетании.
Хотя предмет изобретения был описан, используя язык, характерный для структурных признаков и/или логических действий способов, следует понимать, что предмет изобретения, определенный в приложенной формуле изобретения, не обязательно ограничивается конкретными функциями или действиями, описанными выше. И наоборот, конкретные признаки и действиями, описанные выше, являются просто примерными формами реализации формулы изобретения.