Багатопортовий контролер накопичувача з портами, асоційованими з класами трафіка

 

РІВЕНЬ ТЕХНІКИ

ОБЛАСТЬ ТЕХНІКИ, ДО ЯКОЇ НАЛЕЖИТЬ ВИНАХІД

[0001] Це винахід відноситься до області контролерів запам'ятовуючого пристрою.

ОПИС ПОПЕРЕДНЬОГО РІВНЯ ТЕХНІКИ

[0002] Цифрові системи зазвичай включають в себе запоминающую систему, утворену з напівпровідникових запам'ятовуючих пристроїв, наприклад статичного оперативного запам'ятовуючого пристрою (SRAM), динамічної оперативної пам'яті (DRAM), синхронного DRAM (SDRAM), SDRAM з подвоєною швидкістю передачі даних (DDR, DDR2, DDR3 і т. д.), включаючи малопотужні версії SDRAM (LPDDR, LPDDR2 і т. д. і т. д. Запам'ятовує система є енергозалежною, що зберігає дані у включеному стані, але не в виключеному, однак також забезпечує доступ з малою затримкою в порівнянні з незалежними запам'ятовуючими пристроями, такими як флеш-пам'ять, магнітні запам'ятовуючі пристрої, наприклад накопичувачі на дисках, або оптичні запам'ятовуючі пристрої, наприклад, компакт-диск (CD), універсальний цифровий диск (DVD) і накопичувачі BluRay.

[0003] Запам'ятовуючі пристрої, що утворюють запоминающую систему, мають низькорівневий інтерфейс для зчитування і запису в запам'ятовуючий пристрій у відповідності з залежними бично взаємодіють через інтерфейс більш високого рівня, наприклад шину, інтерфейс двоточкового пакетний передачі і т. п. Джерела можуть бути процесорами, периферійними пристроями, наприклад пристроями введення/виводу (I/O), аудіо - та відеопристроями і т. п. Як правило, операції у запам'ятовуючому пристрої включають в себе операції зчитування накопичувача для передачі даних з пристрою на пристрій і операції запису в запам'ятовуючий пристрій для передачі даних з джерела в запам'ятовуючий пристрій. Операції зчитування накопичувача в цьому документі можуть коротше називатися операціями зчитування або считиваниями, і аналогічним чином операції запису в запам'ятовуючий пристрій у цьому документі можуть коротше називатися операціями запису або записами.

[0004] Відповідно, зазвичай є контролер пристрою для прийому операцій у запам'ятовуючому пристрої від інтерфейсу більш високого рівня і управління запам'ятовуючими пристроями для виконання прийнятих операцій. Контролер пам'яті звичайно також включає в себе черзі для захоплення операцій у запам'ятовуючому пристрої і може включати в себе схеми для підвищення швидкодії. Наприклад, деякі контролери зиями запису в запам'ятовуючий пристрій, які зачіпають різні адреси.

[0005] Контролери пристрою володіють обмеженою видимістю різних типів трафіку, який може видаватися джерелами. Відповідно, контролери пристрою не способи розділяти трафік з меншою крупністю розбиття. Таким чином, підвищення швидкодії в контролерах запам'ятовуючого пристрою обмежені більш грубими механізмами, наприклад плануванням операцій зчитування до операцій запису.

СУТНІСТЬ ВИНАХОДУ

[0006] В одному варіанті здійснення контролер накопичувача може включати в себе кілька портів для прийому запитів до запам'ятовуючого пристрою. Кожен порт може асоціюватися з конкретним типом трафіку, наприклад в реальному масштабі часу (RT), графіки і не в реальному масштабі часу (NRT). Кожен тип трафіку має різні вимоги і характеристику (поведінка). В результаті надання різних портів контролер накопичувача може паралельно піддаватися впливу різних типів запитів і відповідно може приймати інтелектуальні рішення щодо планування на основі суміші трафіку.

[0007] В деяких варіантах здійснення різні порти мЌся для процесорів, графічний інтерфейс може використовуватися для графічних пристроїв і т. п. В деяких варіантах здійснення сторонні виробники можуть розробити один або декілька інтерфейсів і можуть продавати пристрої, які взаємодіють з використанням цих інтерфейсів. Оскільки в контролері пам'яті підтримуються різні порти системи, які містять в собі і контролер пам'яті і сторонні пристрої, можуть відмовитися від проміжних схем для перетворення протоколів між зовнішніми пристроями та контролером пристрою. Системи можуть стати простіше і дешевше, і можна усунути затримку, яка додавалась би проміжними схемами.

[0008] В деяких варіантах здійснення параметри якості обслуговування (QoS) можуть передаватися контролера пристрою разом з операціями в запам'ятовуючому пристрої. Контролер накопичувача може використовувати відносні рівні QoS для планування запитів до запам'ятовуючого пристрою з портів в канали запам'ятовуючого пристрою. Різні типи трафіку можуть мати різні специфікації рівнів QoS, і контролер пам'яті може конфігурі управління спільним використанням смуги частот можуть впливати на планування.

КОРОТКИЙ ОПИС КРЕСЛЕНЬ

[0009] Нижченаведене докладний опис посилається на прикладені креслення, які тепер коротко описуються.

[0010] Фіг. 1 - блок-схема одного варіанта здійснення системи, що включає в себе контролер накопичувача.

[0011] Фіг. 2 - блок-схема одного варіанта здійснення рівнів QoS, які можуть задаватися для класів RT і NRT трафіку.

[0012] Фіг. 3 - блок-схема одного варіанта здійснення контролера пристрою, показаного на фіг. 1.

[0013] Фіг. 4 - блок-схема одного варіанта здійснення блоку інтерфейсу порту, який може включатися в один варіант здійснення блоку інтерфейсу агента, показаний на фіг. 3.

[0014] Фіг. 5 - блок-схема одного варіанта здійснення блоку інтерфейсу каналу запам'ятовуючого пристрою, який може включатися в один варіант здійснення блоку інтерфейсу агента, показаний на фіг. 3.

[0015] Фіг. 6 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення арбітра QoS, показаного на фіг. 5.

[0016] Фіг. 7 - блок-схема одного варіанта здійснення попередньої черги сортування (PSQ), проілюстрованою в блоці каналу запам'ятовуючого пристрою на фіг. 3.

[0017] Фіг. 8 - блок-, �наданого на фіг. 7.

[0018] Фіг. 9 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення планувальника, показаного на фіг. 7, для вибору між считиваниями і записами, які потрібно планувати.

[0019] Фіг. 10 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення планувальника, показаного на фіг. 7, для вибору операції запису, яку потрібно планувати.

[0020] Фіг. 11 - таблиця, що ілюструє роботу одного варіанта здійснення планувальника, показаного на фіг. 7, для вибору зчитування, яке потрібно планувати.

[0021] Фіг. 12 - блок-схема одного варіанта здійснення блоку інтерфейсу пристрою (MIF), показаного на фіг. 3.

[0022] Фіг. 13 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення блоку управління постановкою в чергу MIF, показаного на фіг. 12.

[0023] Фіг. 14 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення планувальника активації, показаного на фіг. 12.

[0024] Фіг. 15 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення планувальника строба адреси стовпця (CAS), показаного на фіг. 12.

[0025] Фіг. 16 - таблиця, що ілюструє роботу одного варіанта здійснюється�організації черзі на високому рівні і відносної важливості параметрів QoS і оптимізації пропускної здатності пристрою при плануванні на різних рівнях.

[0027] Фіг. 18 - блок-схема одного варіанта здійснення можливостей контролера пристрою для підтримки внутриполосного підвищення QoS.

[0028] Фіг. 19 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення внутриполосного підвищення QoS.

[0029] Фіг. 20 - блок-схема одного варіанта здійснення інтерфейсу підвищення QoS бічної смуги.

[0030] Фіг. 21 - блок-схема операцій, що ілюструє один варіант здійснення підвищення QoS внаслідок старіння операцій.

[0031] Фіг. 22 - блок-схема одного варіанта здійснення системи, що включає в себе інтегральну схему, проілюстровану на фіг. 1.

[0032] Хоча винахід допускає різні модифікації та альтернативні види, його характерні варіанти здійснення показані в якості прикладу на кресленнях і будуть детально описані в цьому документі. Проте слід розуміти, що креслення і докладний опис до них не призначені для обмеження винаходу конкретним розкритим виглядом, а навпаки, спрямовані на охоплення всіх модифікацій, еквівалентів і альтернатив, які входять в сутність і обсяг цього винаходу, які задані додається формулою винаходу. Заголовки, що використовуються в цьому документі, служать �ользовании по всій даній заявці слово "може" використовується у дозволяючому сенсі (тобто в значенні "має можливість для..."), а не в обов'язковому сенсі (тобто в значенні "повинен"). Аналогічним чином слова "включають в себе", "включає" і "включає в себе" означають "включає", але не тільки.

[0033] Різні блоки, схеми або інші компоненти можуть описуватися як "сконфігуровані для" виконання завдання чи завдань. В такому контексті "сконфігурований для" є вільним викладом структури, що в цілому означає "має схеми, які" виконують завдання або завдання під час роботи. По суті, блок/схема/компонент може бути налаштований для виконання завдання, навіть коли блок/схема/компонент в даний час не включений. Взагалі, схеми, які утворюють структуру, відповідну "сконфігурований для", можуть включати в себе апаратні схеми. Аналогічним чином для зручності в описі різні блоки/схеми/компоненти можуть описуватися як виконують завдання або завдання. Такі описи слід інтерпретувати як такі, що включають в себе фразу "сконфігурований для". Перерахування блоку/схеми/компонента, який конфігурується для виконання однієї або декількох завдань, у явній формі призначене не для застосування інтерпретації шостого пункту 35 U. S. C. § 112 для того блоку/схеми/компонента.

ПІДР� здійснення системи 5. У варіанті здійснення по фіг. 1 система 5 включає в себе інтегральну схему 10 (IC), з'єднану з зовнішніми запам'ятовуючими пристроями 12A-12B. У проиллюстрированном варіанті здійснення інтегральна схема 10 включає в себе центральний процесор 14 (CPU), який включає в себе один або кілька процесорів 16 і кеш 18 2 рівня (L2). Інші варіанти здійснення можуть не включати кеш 18 L2 та/або можуть включати в себе додаткові рівні кеша. Більше того, розглядаються варіанти здійснення, які включають в себе більш двох процесорів 16 і які включають в себе тільки один процесор 16. Інтегральна схема 10 додатково включає в себе набір з одного або декількох периферійних пристроїв 20, не належать до реального масштабу часу (NRT), і набір з одного або декількох периферійних пристроїв 22 реального масштабу часу (RT). У проиллюстрированном варіанті здійснення периферійні пристрої RT включають в себе процесор 24 зображень, один або кілька каналів 26 відображення і арбітр 28 портів. Інші варіанти здійснення за бажанням можуть включати в себе більше або менше процесорів 24 зображень, більше або менше каналів 26 відображення та/або будь-які додаткові пер�х зображень від однієї або декількох камер в системі 5. Аналогічним чином канали 26 відображення можуть з'єднуватися з одним або кількома контролерами дисплея (не показано), які керують одним або декількома дисплеями в системі. У проиллюстрированном варіанті здійснення CPU 14 з'єднується з контролером 30 мосту/прямого доступу до пам'яті (DMA), який може з'єднуватися з одним або декількома периферійними пристроями 32 та/або одним або кількома контролерами 34 інтерфейсу периферійних пристроїв. Кількість периферійних пристроїв 32 і контролерів 34 інтерфейсу периферійних пристроїв може змінюватися від нуля до будь-якого потрібного числа в різних варіантах здійснення. Система 5, проілюстрована на фіг. 1, додатково включає в себе графічний блок 36, містить один або декілька графічних контролерів, наприклад G0 38A і G1 38B. Кількість графічних контролерів у розрахунку на графічний блок і кількість графічних блоків в інших варіантах здійснення може змінюватися. Як показано на фіг. 1, система 5 включає в себе контролер 40 запам'ятовуючого пристрою, з'єднаний з однією або кількома схемами 42A-42B фізичного інтерфейсу (PHY) запам'ятовуючих пристроїв. PHY 42A-42B запам'ятовуючих пристроїв конфігуруються для вз�стройства також включає в себе набір портів 44A-44E. Порти 44A-44B з'єднуються з графічними контролерами 38A-38B відповідно з допомогою першого типу інтерфейсу (Інтерфейс 1). CPU 14 з'єднується з портом 44C з допомогою другого типу інтерфейсу (Інтерфейс 2). Периферійні пристрої 20 NRT і периферійні пристрої 22 RT з'єднуються з портами 44D-44E відповідно з допомогою другого типу інтерфейсу. Кількість портів, включених в контролер 40 запам'ятовуючого пристрою, може змінюватися в інших варіантах здійснення, як і кількість контролерів запам'ятовуючого пристрою. Кількість PHY 42A-42B запам'ятовуючих пристроїв і відповідних запам'ятовуючих пристроїв 12A-12B в інших варіантах здійснення може бути одно одному або більше двох.

[0035] В одному варіанті здійснення кожний порт 44A-44E може асоціюватися з конкретним типом трафіку. Наприклад, в одному варіанті здійснення типи трафіку можуть включати в себе трафік RT, трафік NRT і графічний трафік. Інші варіанти здійснення можуть включати в себе інші типи трафіку в доповнення або замість підмножини вищезазначених типів трафіку. Кожен тип трафіку може характеризуватися по-різному (наприклад, у показниках вимог та характеристики (поведінки)), і контролер пам'яті мо�теристик. Наприклад, трафік RT вимагає обслуговування кожної операції в запам'ятовуючому пристрої в рамках конкретної кількості часу. Якщо затримка операції перевищує певну кількість часу, то в периферійному пристрої RT може статися помилкова операція. Наприклад, дані зображень можуть загубитися в процесорі 24 зображень, або може візуально спотворитися відображене зображення на дисплеях, з якими з'єднуються канали 26 відображення. Трафік RT можна охарактеризувати, наприклад, як ізохронний. З іншого боку, графічний трафік може мати відносно більшу смугу частот, але не є чутливим до затримки. Трафік NRT, наприклад від процесорів 16, більш чутливий до затримки з причин швидкодії, але витримує велику затримку. Тобто трафік NRT зазвичай може обслуговуватися з будь затримкою, не викликаючи помилкову роботу в пристроях, що формують трафік NRT. Аналогічним чином, менш чутливий до затримки графічний трафік, але з більшою смугою частот зазвичай може обслуговуватися з будь затримкою. Інший трафік NRT може включати в себе трафік аудіо, який має відносно малу смугу частот і зазвичай може обслуговуватися з розумною затримкою. Велика �єр магнітному, оптичному або твердотільний запам'ятовуючого пристрою).

[0036] В результаті надання портів 44A-44E, асоційованих з різними типами трафіку, контролер 40 запам'ятовуючого пристрою може піддаватися впливу різних типів трафіку паралельно, і відповідно може допускати прийняття кращих рішень про те, які операції у запам'ятовуючому пристрої обслуговувати перед іншими, на основі типу трафіку. В деяких варіантах здійснення кожен порт може використовуватися виключно для трафіку RT або трафіку NRT. В інших варіантах здійснення порти можуть асоціюватися з конкретним типом трафіку, але в порту можуть включати інші типи трафіку. У варіанті здійснення графічний трафік може вважатися трафіком NRT, але наявність видимості для графічного трафіку окремо від іншого трафіку NRT може бути корисним для балансування смуги частот між іншими джерелами NRT і джерелом RT. Аналогічним чином, наявність процесорного трафіку окремо від інших джерел NRT може бути корисним при балансуванні смуги частот. У проиллюстрированном варіанті здійснення порт 44E RT може асоціюватися з трафіком RT, а порти, що залишилися 44A-44D можуть асоціюватися взаємодії з одним або кількома джерелами. У деяких випадках порт може призначатися для джерела (наприклад, порти 44A-44B можуть призначатися графічним контролерам 38A-38B відповідно). В інших випадках порт може спільно використовуватися декількома джерелами (наприклад, процесори 16 можуть спільно використовувати порт 44C CPU, периферійні пристрої 20 NRT можуть спільно використовувати порт 44D NRT, і периферійні пристрої RT, наприклад канали 26 відображення і процесор 24 зображень, можуть спільно використовувати порт 44E RT). Порт може з'єднуватися з одним інтерфейсом для взаємодії з одним або кількома джерелами. Таким чином, коли джерела спільно використовують деякий інтерфейс, може бути присутнім арбітр на стороні джерел інтерфейсу для вибору між джерелами. Наприклад, кеш 18 L2 може служити для контролера 40 запам'ятовуючого пристрою в якості арбітра для порту 44C CPU. Арбітр 28 портів може служити в якості арбітра для порту 44E RT, і аналогічний арбітр портів (не показаний) може бути арбітром для порту 44D NRT. Одиночне джерело в порту або поєднання джерел в порту може називатися агентом.

[0038] Кожен порт 44A-44E з'єднується з інтерфейсом для взаємодії з відповідним агентом. Інтерфейс мож�юбою протокол. В деяких варіантах здійснення всі порти 44A-44E можуть реалізувати один і той же інтерфейс і протокол. В інших варіантах здійснення різні порти можуть реалізовувати різні інтерфейси і/або протоколи. Наприклад, проілюстрований на фіг. 1 варіант здійснення включає в себе графічні контролери 38A-38B, використовують один тип інтерфейсу/протоколу, і CPU 14, периферійні пристрої 20 NRT і периферійні пристрої 22 RT, використовують інший тип інтерфейсу/протоколу. Інтерфейс може звертатися до визначень сигналів і електричним властивостям інтерфейсу, а протокол може бути логічним визначенням зв'язку по інтерфейсу (наприклад, включає в себе команди, правила впорядкування, підтримки когерентності, при їх наявності тощо). Підтримка більше одного інтерфейсу в різних портах 44A-44E може усунути потребу в перетворенні з одного інтерфейсу, підтримуваного джерелом/агентом, інтерфейс, підтримуваний контролером 40 запам'ятовуючого пристрою, що може підвищити швидкодію в деяких варіантах здійснення. Додатково деякі варіанти здійснення інтегральної схеми 10 можуть включати в себе схеми, придбані у стороннього виробника у вигляді предвариР). IP може бути "жорсткою" (в цьому випадку вона задається у вигляді таблиці з'єднань схем, які розлучаються і розміщуються на IC у вигляді блоку) або "м'якою" (в цьому випадку вона задається у вигляді синтезованого блоку, який можна синтезувати разом з іншими блоками, які потрібно включити в інтегральну схему 10). Жорстка і м'яка IP включає в себе заданий інтерфейс і протокол, які проектувальнику інтегральної схеми 10 зазвичай не можна змінювати (щонайменше без сплати мита стороннього виробника, який володіє цією IP). Відповідно, підтримка декількох інтерфейсів/протоколів може дати можливість спрощеного включення IP стороннього виробника.

[0039] У варіанті здійснення кожне джерело може призначати параметр якості обслуговування (QoS) кожної операції в запам'ятовуючому пристрої, переданої цим джерелом. Параметр QoS може ідентифікувати запитаний рівень обслуговування для операції в запам'ятовуючому пристрої. Операціями в запам'ятовуючому пристрої зі значеннями параметрів QoS, запрошуваної більш високі рівні обслуговування, може віддаватися перевага перед операціями у запам'ятовуючому пристрої, запрошуваної більш низькі рівні обслуговування. Наприклад, ка�аметр QoS (QoS). Команда може ідентифікувати операцію в запам'ятовуючому пристрої (наприклад, зчитування або запис). Команда/операція зчитування накопичувача викликає передачу даних з пристрою 12A-12B в джерело, тоді як команда/операція запису в запам'ятовуючий пристрій викликає передачу даних з джерела в запам'ятовуючий пристрій 12A-12B. Команди також можуть включати в себе команди для програмування контролера 40 запам'ятовуючого пристрою. Наприклад, те, які діапазони адрес відображаються в які канали запам'ятовуючого пристрою, параметри спільного використання смуги пропускання і т. п. можуть бути програмованими в контролері 40 запам'ятовуючого пристрою. FID може ідентифікувати операцію в запам'ятовуючому пристрої як частина потоку операцій у запам'ятовуючому пристрої. Потік операцій у запам'ятовуючому пристрої зазвичай може бути пов'язаним, тоді як операції у запам'ятовуючому пристрої з різних потоків, навіть від одного і того ж джерела, можуть бути не пов'язані. Частина FID (наприклад, поле джерела) може ідентифікувати джерело, а частина, що залишилася FID може ідентифікувати потік (наприклад, поле потоку). Таким чином, FID може бути аналогічний ID транзакції, і н�акції може бути полем джерела в FID, і порядковий номер (який ідентифікує транзакцію серед транзакцій від одного і того ж джерела) ID транзакції може бути полем потоку в FID. Однак джерела, які групують транзакції у вигляді потоку, можуть по-різному використовувати FID. В якості альтернативи потоки можуть співвідноситися з полем джерела (наприклад, операції від одного і того ж джерела можуть бути частиною одного і того ж потоку, а операції від іншого джерела є частиною іншого потоку). Можливість ідентифікувати транзакції потоку може використовуватися різними способами (наприклад, підвищення QoS, перегрупування тощо).

[0040] Таким чином, заданий джерело може конфігуруватися для використання параметрів QoS, щоб визначити, які операції у запам'ятовуючому пристрої важливіше для джерела (і відповідно повинні обслуговуватися до інших операцій у запам'ятовуючому пристрої від того ж джерела), особливо для джерел, які підтримують невпорядковані передачі даних щодо адресних передач від джерела. Крім того, параметри QoS можуть дозволити джерел запитувати більш високі рівні обслуговування, ніж інші джерела в тому ж порту і/або джерела в�ія параметрів QoS. Тобто різні типи трафіку можуть мати різні набори параметрів QoS. Значимість даного параметра QoS залежить від набору параметрів QoS, з якого він витягується. Наприклад, може бути заданий набір параметрів QoS RT, і може бути заданий набір параметрів QoS NRT. Таким чином, значенню параметра QoS RT надається значимість в рамках набору параметрів QoS RT, а значенню параметра QoS NRT надається значимість в рамках набору параметрів QoS NRT. Інші варіанти здійснення можуть реалізувати однаковий набір параметрів QoS у всіх портах або серед всіх типів трафіку.

[0042] Контролер 40 запам'ятовуючого пристрою може конфігуруватися для обробки параметрів QoS, прийнятих в кожному порту 44A-44E, і може використовувати відносні значення параметрів QoS для планування операцій в запам'ятовуючому пристрої, прийнятих в портах, щодо інших операцій у запам'ятовуючому пристрої з цього порту і щодо інших операцій у запам'ятовуючому пристрої, прийнятих в інших портах. Точніше кажучи, контролер 40 запам'ятовуючого пристрою може конфігуруватися для порівняння параметрів QoS, які витягуються з різних наборів параметрів QoS (наприклад, параметри QoS RT і параметри QoS NRT), і може конфигурироватьст бути значеннями, які передаються разом з операціями в запам'ятовуючому пристрої і які можуть використовуватися в контролері пристрою для ідентифікації запитаних рівнів QoS. Рівні QoS можуть знаходитися відносно інших рівнів і можуть визначати, які операції у запам'ятовуючому пристрої переважно вибирати перед іншими, що мають більш низькі рівні QoS. Таким чином, рівні QoS можуть функціонувати як свого роду пріоритет після інтерпретації контролером 40 пристрою для розгляду рівнів QoS, заданих в різних наборах, хоча пріоритет може бути збалансований іншими факторами.

[0044] В деяких варіантах здійснення контролер 40 запам'ятовуючого пристрою може конфігуруватися для підвищення рівнів QoS для очікуючих операцій у запам'ятовуючому пристрої. Можуть підтримуватися різні механізми підвищення. Наприклад, контролер 40 запам'ятовуючого пристрою може конфігуруватися для підвищення рівня QoS для очікуючих операцій у запам'ятовуючому пристрої з потоку у відповідь на прийом іншої операції у запам'ятовуючому пристрої з того ж потоку, яка має параметр QoS, який визначає більш високий рівень QoS. Цей вид підвищення QoS може називатися внутрип� запам'ятовуючому пристрої, також служать в якості неявного запиту підвищення для операцій у запам'ятовуючому пристрої в тому ж потоці. Контролер 40 запам'ятовуючого пристрою може конфігуруватися для примусової відправки очікують операцій у запам'ятовуючому пристрої з однакового порту або джерела, але не однакового потоку, як знову прийнятої операції в запам'ятовуючому пристрої, задає більш високий рівень QoS. В якості іншого прикладу контролер 40 запам'ятовуючого пристрою може конфігуруватися для з'єднання з інтерфейсом бічної смуги від одного або кількох агентів, та може підвищувати рівні QoS у відповідь на прийом запиту підвищення по інтерфейсу бічної смуги. В іншому прикладі контролер 40 запам'ятовуючого пристрою може конфігуруватися для відстеження відносного терміну очікують операцій у запам'ятовуючому пристрої. Контролер 40 запам'ятовуючого пристрою може конфігуруватися для підвищення рівня QoS старих операцій у запам'ятовуючому пристрої з визначеними термінами. Терміни, при яких відбувається підвищення, можуть залежати від поточного параметра QoS старої операції в запам'ятовуючому пристрої.

[0045] Контролер 40 запам'ятовуючого пристрою може конфігуруватися для определетах, і може конфігуруватися для передачі операцій у запам'ятовуючому пристрої запам'ятовуючого пристрою 12A-12B по відповідному каналу. Кількість каналів і відображення адрес канали може змінюватися в різних варіантах здійснення і може бути програмованим в контролері запам'ятовуючого пристрою. Контролер накопичувача може використовувати параметри QoS у операцій у запам'ятовуючому пристрої, відображених в один і той же канал, для визначення порядку операцій у запам'ятовуючому пристрої, переданих в той канал. Тобто контролер накопичувача може впорядкувати операції в запам'ятовуючому пристрої від їх вихідного порядку прийому в портах. Більше того, під час обробки в каналі операції в запам'ятовуючому пристрої можуть бути знову переупорядочени в одній або декількох точках. На кожному рівні переупорядочения можна зменшити увагу, приділену параметрами QoS, і можна збільшити фактори, які впливають на ефективність пропускної здатності пристрою. Як тільки операції в запам'ятовуючому пристрої сягають кінця конвеєра каналу запам'ятовуючого пристрою, операції можна впорядкувати по поєднанню рівнів QoS і ефективності пропускнЂродействие.

[0046] Процесори 16 можуть реалізовувати будь-яку архітектуру системи команд і можуть конфігуруватися для виконання команд, заданих в цій архітектурі системи команд. Процесори 16 можуть застосовувати будь-яку мікроархітектуру, що включає в себе скалярну, суперскалярную, конвеєрну, суперконвейерную, неупорядковану, упорядковану, спекулятивну, неспекулятивную і т. п., або їх поєднання. Процесори 16 можуть включати в себе схеми і опціонально можуть реалізовувати методики мікропрограмування. Процесори 16 можуть включати в себе один або кілька кешей рівня 1, і відповідно кеш 18 є кешем L2. Інші варіанти здійснення можуть включати в себе кілька рівнів кешей в процесорах 16, і кеш 18 може бути наступним рівнем нижче по ієрархії. Кеш 18 може застосовувати будь-який розмір та будь-яку конфігурацію (набірно-асоціативний кеш, кеш прямого відображення і тощо).

[0047] Графічні контролери 38A-38B можуть бути будь-якими схемами графічної обробки. В цілому, графічні контролери 38A-38B можуть конфігуруватися для подання об'єктів, які потрібно відобразити, в буфері кадру. Графічні контролери 38A-38B можуть включати в себе графічні процесори, які можуть виконувати программноЋх графічних операцій. Величина апаратного прискорення і програмної реалізації може змінюватися від одного варіанта здійснення до іншого.

[0048] Периферійні пристрої 20 NRT можуть включати в себе будь-які периферійні пристрої, які не відносяться до реального масштабу часу, яким з причин швидкодії та/або смуги пропускання надається незалежний доступ до запам'ятовуючого пристрою 12A-12B. Тобто доступ периферійних пристроїв 20 NRT не залежить від CPU 14 і може проходити паралельно операціями CPU в запам'ятовуючому пристрої. Інші периферійні пристрої, наприклад периферійний пристрій 32 та/або периферійні пристрої, з'єднані з інтерфейсом периферійних пристроїв, керованим контролером 34 інтерфейсу периферійних пристроїв, також можуть бути периферійними пристроями, що не належать до реального масштабу часу, але можуть не вимагати незалежного доступу до запам'ятовуючого пристрою. Різні варіанти здійснення периферійних пристроїв 20 NRT можуть включати в себе видеокодери і декодери, схеми перетворювача масштабу/обертача, схеми стиснення/відновлення зображень і т. п.

[0049] Як згадувалося вище, периферійні пристрої 22 RT можуть включати в себе процесор 24 зображень і ка� і для змішування кадрів, щоб створити зображення на дисплеї. Канали 26 відображення можуть додатково включати в себе один або кілька видеоконвейеров. Результатом каналів 26 відображення може бути потік пікселів, які потрібно відобразити на екрані дисплея. Значення пікселів можуть передаватися контролеру дисплея для відображення на екрані дисплея. Процесор 26 зображень може приймати дані з камери і переробляти ці дані в зображення для збереження в запам'ятовуючому пристрої.

[0050] Контролер 30 мосту/DMA може містити схеми для сполучення периферійного пристрою (пристроїв) 32 і контролера (контролерів) 34 інтерфейсу периферійних пристроїв з областю пам'яті. У проиллюстрированном варіанті здійснення контролер 30 мосту/DMA може переносити операції в запам'ятовуючому пристрої від периферійних пристроїв/контролерів інтерфейсу периферійних пристроїв через CPU 14 в контролер 40 запам'ятовуючого пристрою. CPU 14 також може підтримувати когерентність між перенесеними операціями у запам'ятовуючому пристрої та операціями у запам'ятовуючому пристрої від процесорів 16/кешу 18 L2. Кеш 18 L2 також може вирішувати конфлікти перенесених операцій у запам'ятовуючому пристрої з операціями в запам'ятовуючому �може надавати операцію DMA від особи периферійних пристроїв 32 і контролерів 34 інтерфейсу периферійних пристроїв для передачі блоків даних на пристрій та з нього. Конкретніше, контролер DMA може конфігуруватися для виконання передач в запам'ятовуючий пристрій 12A-12B і з нього за допомогою контролера 40 запам'ятовуючого пристрою від особи периферійних пристроїв 32 і контролерів 34 інтерфейсу периферійних пристроїв. Контролер DMA може бути програмованим з допомогою процесорів 16 для виконання операцій DMA. Наприклад, контролер DMA може бути програмованим допомогою дескрипторів. Дескриптори можуть бути структурами даних, що зберігаються в запам'ятовуючому пристрої 12A-12B, які описують передачі DMA (наприклад, адреси джерела і призначення, розмір тощо). В якості альтернативи контролер DMA може бути програмованим допомогою регістрів контролера DMA (не показано).

[0051] Периферійні пристрої 32 можуть включати в себе будь-які необхідні пристрої введення/виводу або інші апаратні засоби, які включаються в інтегральну схему 10. Наприклад, периферійні пристрої 32 можуть включати в себе мережні периферійні пристрої, наприклад один або кілька контролерів керування доступом до середовища передачі (MAC), таких як MAC Ethernet або контролер Wireless Fidelity (WiFi). У периферійні пристрої 32 може включатися звуковий блок, що включає в себе різні�фрових процесорів сигналів. Периферійні пристрої 32 можуть включати в себе будь-який інший необхідний функціонал, наприклад, таймери, вбудоване в кристал запам'ятовуючий пристрій секретних значень, механізм шифрування і т. п., або будь-яке їх поєднання.

[0052] Контролери 34 інтерфейсу периферійних пристроїв можуть включати в себе будь-які контролери для будь-якого типу інтерфейсу периферійних пристроїв. Наприклад, контролери інтерфейсу периферійних пристроїв можуть включати в себе різні контролери інтерфейсу, наприклад контролер універсальної послідовної шини (USB), контролер межсоединения периферійних компонентів (PCIe), інтерфейс флеш-пам'яті, висновки універсального введення/виводу (I/O) і т. п.

[0053] Запам'ятовуючі пристрої 12A-12B можуть бути будь-яким типом пристрою, наприклад динамічним оперативним запам'ятовуючим пристроєм (DRAM), синхронним DRAM (SDRAM), SDRAM з подвоєною швидкістю передачі даних (DDR, DDR2, DDR3 тощо) (включаючи мобільні версії SDRAM, наприклад mDDR3 тощо, та/або малопотужні версії SDRAM, наприклад LPDDR2 і т. п.), RAMBUS DRAM (RDRAM), статичне ОЗП (SRAM) і т. п. Одне або кілька пристроїв можуть з'єднуватися на монтажній платі для утворення модулів запам'ятовуючого пристрою, наприклад модулів пам'яті устѼ висновків (DIMM) і т. п. В якості альтернативи пристрої можуть бути розміщені в корпусі інтегральної схеми 10 в конфігурації "кристал на кристалі", конфігурації "корпус на корпусі" або многокристальной модульної конфігурації.

[0054] PHY 42A-42B запам'ятовуючих пристроїв можуть керувати низькорівневим фізичним інтерфейсом до запам'ятовуючого пристрою 12A-12B. Наприклад, PHY 42A-42B запам'ятовуючих пристроїв можуть відповідати за синхронізацію сигналів, за належне тактування в синхронному DRAM і т. п. В одному варіанті здійснення PHY 42A-42B запам'ятовуючих пристроїв можуть конфігуруватися для синхронізації з тактовими імпульсами, що поставляються в інтегральній схемі 10, і можуть конфігуруватися для формування тактових імпульсів, що використовуються запам'ятовуючим пристроєм 12.

[0055] Зазначимо, що інші варіанти здійснення можуть включати в себе інші поєднання компонентів, включаючи підмножини або надмножества компонентів, показаних на фіг. 1, та/або інші компоненти. Хоча один примірник заданого компонента може бути показано на фіг. 1, інші варіанти здійснення можуть включати в себе один або кілька примірників заданого компонента. Аналогічним чином, з усього цього докладного опису може включатися один або н�и здійснення, які включають в себе лише один примірник, навіть якщо показано кілька примірників.

[0056] Зазначимо, що інші варіанти здійснення контролера 40 запам'ятовуючого пристрою можуть не реалізовувати кілька портів, але все ж можуть реалізовувати параметри QoS, різні параметри/рівні QoS для різних типів або класів трафіку, наприклад NRT і RT, і підвищення якості обслуговування.

[0057] Звертаючись далі до фіг. 2, показана пара таблиць 50 і 52, ілюструють визначення набору рівнів QoS RT і набору рівнів QoS NRT відповідно, для одного варіанта здійснення. Інші варіанти здійснення можуть включати в себе додаткові або замінюють рівні, і інші варіанти здійснення можуть включати в себе додаткові рівні спільно з підмножиною проілюстрованих рівнів. Як проілюстровано вказують вниз стрілками поряд з таблицями 50 і 52 на фіг. 2, таблиці ілюструють рівні QoS в деякому наборі з більшою пріоритетом. Тобто зелений рівень QoS реального масштабу часу (RTG) є рівнем QoS RT найменшого пріоритету; жовтий рівень QoS реального масштабу часу (RTY) є рівнем QoS RT середнього пріоритету; і червоний рівень QoS реального масштабу часу (RTR) є рівнем QoS RT�ьшего пріоритету, а рівень QoS з малою затримкою (LLT) є рівнем QoS NRT найвищого пріоритету. Ілюстрація рівнів QoS RT і рівнів QoS NRT поруч один з одним на фіг. 2 не призначена для визначення відносного пріоритету рівнів QoS RT щодо рівнів QoS NRT. Замість цього контролер 40 запам'ятовуючого пристрою може визначати такі відносні пріоритети частково на основі інших факторів, що вказують трафік, що поступає на контролер 40 запам'ятовуючого пристрою по різним типам і портів.

[0058] Рівні QoS RTG, RTY і RTR можуть відображати відносні рівні терміновості від джерела RT. Тобто, коли зменшується кількість часу перед тим, як дані потрібні джерела RT, щоб запобігти помилкову операцію, збільшується рівень QoS, призначений кожної операції в запам'ятовуючому пристрої, щоб вказати більшу терміновість. Розглядаючи операції, що мають велику терміновість, як операції з більш високим пріоритетом, контролер 40 запам'ятовуючого пристрою може швидше повертати дані джерела RT і відповідно може сприяти правильній роботі джерела RT.

[0059] Наприклад, канал 26 відображення може ініціювати зчитування даних кадру з запам'ятовуючого пристрою 12A-12B для следующеется до закінчення кадрового інтервалу гасіння, і відповідно канал 26 відображення може використовувати рівень RTG протягом цього періоду часу. Коли кадр починає відображатися (тобто контролер дисплея починає зчитування пікселів кадру з виходу каналу відображення 26), канал 26 відображення може підвищити рівень QoS у операцій зчитування даних кадру в запам'ятовуючий пристрій до рівня RTY. Наприклад, якщо обсяг даних кадру, який зчитується перед інструкції поточним пікселем, зменшується нижче першої порогової величини, то рівень можна підвищити до RTY. На другий порогової величини (менше першої порогової величини) канал 26 відображення може підвищити рівень QoS у операцій у запам'ятовуючому пристрої до RTR.

[0060] Рівень QoS NRT BEF може бути запитом на повернення даних так швидко, як може контролер 40 запам'ятовуючого пристрою, як тільки задовольняються потреби інших потоків даних. З іншого боку, рівень QoS NRT LLT може бути запитом даних з малою затримкою. NRT-операції у запам'ятовуючому пристрої, що мають рівень QoS LLT, в показниках пріоритету перед іншими транзакціями запам'ятовуючого пристрою можуть розглядатися ретельніше, ніж мають рівень QoS BEF (принаймні в деяких випадках). В інших випадках рівні QoS B� до фіг. 3, показана блок-схема одного варіанта здійснення контролера 40 запам'ятовуючого пристрою. У варіанті здійснення з фіг. 3 контролер 40 запам'ятовуючого пристрою включає в себе блок 54 інтерфейсу агента (AIU) і один або кілька блоків 56A-56B каналів запам'ятовуючого пристрою. Може бути присутній один блок 56A-56B каналу пристрою для кожного каналу запам'ятовуючого пристрою, включеного в даний варіант здійснення, а інші варіанти здійснення можуть включати в себе один канал або більше двох каналів. Як показано на фіг. 3, AIU 54 може включати в себе кілька блоків 58A-58E інтерфейсу портів. Конкретніше, в контролері 40 запам'ятовуючого пристрою може бути блок 58A-58E інтерфейсу порту для кожного порту 44A-44E. AIU 54 може додатково включати в себе блоки 60A-60B інтерфейсів каналів запам'ятовуючого пристрою (MCIU) (один для кожного блоку 56A-56B каналу запам'ятовуючого пристрою). AIU 54 може додатково включати в себе один або кілька регістрів 62 спільного використання смуги пропускання, які можуть бути програмованими для вказівки, як повинна спільного використання смуга пропускання портами. Блоки 58A-58E інтерфейсів портів можуть з'єднуватися д�само можуть з'єднуватися з MCIU 60A-60B. MCIU 60A-60B можуть додатково з'єднуватися з регістрами 62 спільного використання смуги пропускання і з відповідними MCU 56A-56B. Як показано на фіг. 3, MCU 56A-56B можуть включати в себе чергу 64 попереднього сортування (PSQ) і схему 66 інтерфейсу пристрою (MIF). PSQ 64 з'єднуються з відповідними MCIU 60A-60B і з MIF 66 в тому ж MCU 56A-56B. MIF 66 в кожному MCU 56A-56B з'єднується з відповідною PHY 42A-42B запам'ятовуючого пристрою.

[0062] AIU 54 може конфігуруватися для прийому операцій у запам'ятовуючому пристрої в портах 44A-44E і перемикання операцій у запам'ятовуючому пристрої на канали, призначені цими операціями у запам'ятовуючому пристрої, використовуючи параметри QoS у операцій у запам'ятовуючому пристрої в якості фактора при прийнятті рішення, які операції у запам'ятовуючому пристрої передавати одному з MCU 56A-56B перед іншими операціями в запам'ятовуючому пристрої до того ж MCU 56A-56B. Інші фактори можуть включати в себе засоби управління спільним використанням смуги пропускання для спільного використання смуги пропускання в каналах запам'ятовуючого пристрою між портами.

[0063] Конкретніше, кожен блок 58A-58E інтерфейсу порту може конфігуруватися для прийому операцій в запоми�ного пристрою, на який спрямована ця операція в запам'ятовуючому пристрої. Блок 58A-58E інтерфейсу порту може передавати операцію в запам'ятовуючому пристрої відповідного MCIU 60A-60B і може передавати зчитування окремо від записів в проиллюстрированном варіанті здійснення. Таким чином, наприклад, блок 58A інтерфейсу порту може мати з'єднання Rd0 і з'єднання Wr0 з MCIU 60A для операцій зчитування і операцій запису відповідно. Аналогічним чином блок 58A інтерфейсу порту може мати з'єднання Rd1 і Wr1 з MCIU 60B. Інші блоки 58B-58E інтерфейсів портів можуть мати аналогічні з'єднання з MCIU 60A-60B. Також може бути присутнім інтерфейс даних для передачі лічених даних з блоків 58A-58B інтерфейсу портів в MCIU 60A-60B, проілюстрований в цілому у вигляді пунктирного інтерфейсу "D" для MCIU 60A на фіг. 3.

[0064] MCIU 60A-60B можуть конфігуруватися для постановки в чергу операцій у запам'ятовуючому пристрої, наданих блоками 58A-58E інтерфейсу портів, і для вирішення конфліктів між операціями в запам'ятовуючому пристрої, щоб вибирати операції для передачі відповідним MCU 56A-56B. Дозвіл конфліктів (арбітраж) між операціями, визначеними в даному каналі запам'ятовуючого пристрою, може не залежати від арбЌся з регістрами 62 спільного використання смуги пропускання, які можуть бути запрограмовані для вказівки, як пропускна здатність пристрою в каналі повинна розподілятися операціями у запам'ятовуючому пристрої в даному каналі. Наприклад, в одному варіанті здійснення MCIU 60A-60B можуть використовувати алгоритм зваженого циклічного обслуговування з дефіцитом для вибору серед портів, коли відсутній трафік з високим пріоритетом (наприклад, рівні RTR або RTY QoS в трафіку RT). Коли присутній трафік RTR або RTY, механізм циклічного обслуговування може використовуватися для вибору серед портів, які мають трафік RTR/RTY. Ваги в механізмі зваженого циклічного обслуговування з дефіцитом можуть бути програмованими для розподілу щодо більшої смуги пропускання одному порту порівняно з іншим портом. Ваги можуть вибиратися для підтримки, наприклад, процесорного трафіку в порівнянні з графічними і NRT-портами, або для підтримки графічних портів порівняно з іншими портами. У різних варіантах здійснення може використовуватися будь-який набір ваг. Інші варіанти здійснення можуть вимірювати розподіл смуги пропускання іншими способами. Наприклад, можуть використовуватися процентні відношення загальної смуг�будівельним кількістю операцій від кожного порту, які вибираються. Проте в різних варіантах здійснення операції зазвичай можуть вибиратися на основі параметрів QoS і вимог до спільного використання смуги пропускання.

[0066] MCU 56A-56B конфігуруються для планування операцій в запам'ятовуючому пристрої з черг, які потрібно передати по каналу запам'ятовуючого пристрою. MCU можуть конфігуруватися для постановки в чергу окремо зчитувань і записів в PSQ 64 і можуть конфігуруватися для вирішення конфліктів між считиваниями і записами з використанням, наприклад, системи на основі кредитів. У системі на основі кредитів зчитування і запису розподіляються деякій кількості кредитів. Кількість кредитів запису і кредитів зчитування не повинні бути рівними. Кожна запланована операція в запам'ятовуючому пристрої може споживати кредит. Як тільки кредити запису і кредити зчитування зменшуються до нуля або менше, і є ця транзакція, яку потрібно планувати, обидва кредиту можна збільшити на відповідну виділене кількість кредитів. Інші варіанти здійснення можуть використовувати інші механізми для вибору між считиваниями і записами. В одному варіанті здійснення кредитна ѵнности черзі запису). Тобто, коли черга запису стає повніше, пріоритет записів в арбітражному механізмі можна збільшити. Додаткові відомості наведено нижче.

[0067] В одному варіанті здійснення параметри QoS у операцій запису можуть анулюватися при вступі в PSQ 64. Операції зчитування можуть зберігати параметри QoS, і параметри QoS можуть впливати на планування зчитування з PSQ 64.

[0068] У варіанті здійснення MCU 56A-56B можуть планувати операції в запам'ятовуючому пристрої в пакетах операцій (причому кожна операція в пакеті споживає кредит). Якщо пакет зменшує лічильник кредитів до нуля, то можна дозволити завершити пакет, і можна зменшити лічильник кредитів до від'ємного числа. Коли лічильники кредитів пізніше збільшуються, можна врахувати негативні кредити, і відповідно загальна кількість кредитів після збільшення може бути менше виділеного кількості кредитів.

[0069] Щоб створити пакети операцій у запам'ятовуючому пристрої для планування, MCU 56A-56B можуть групувати операції в запам'ятовуючому пристрої в родинні групи. Можна сказати, що операція в запам'ятовуючому пристрої виявляє спорідненість з іншого операцією в запам'ятовуючому пристрої (або можна сказати, ч�ктивно в інтерфейсі запам'ятовуючого пристрою при виконанні в безпосередній близькості в часі. Ефективність може вимірюватися в показниках збільшеного використання смуги пропускання. Наприклад, SDRAM характеризуються сторінкою, яку можна відкрити за допомогою команди активації (разом з адресою сторінки). Розмір сторінки може змінюватися від одного варіанта здійснення до іншого, і в цілому може ставитися до кількості суміжних бітів, які можуть бути доступні, як тільки передана команда активації. Асинхронні DRAM аналогічним чином можуть мати сторінку, яка може відкриватися шляхом встановлення керуючого стробуючого сигналу адреси рядка і надання адреси рядка. Дві або більше операції в запам'ятовуючому пристрої, які звертаються до даних на одній і тій же сторінці, можуть бути спорідненими, тому що тільки одна активація/RAS може знадобитися в інтерфейсі для операцій в запам'ятовуючому пристрої. SDRAM також мають незалежні банки і ранги. Банк може бути сукупністю запам'ятовуючих елементів у мікросхемі SDRAM, які можуть мати відкриту рядок (в якій можна виявити потрапляння на сторінку). Ранг може вибиратися за допомогою вибору мікросхеми від контролера сховища і може включати в себе одну або декілька мікросхем SDRAM.тому що вони не конфліктують і відповідно не вимагають закриття сторінки і відкриття нової сторінки. Операції в запам'ятовуючому пристрої можна розглядати як родинні операції, тільки якщо вони передають дані в однаковому напрямі (тобто операції зчитування можуть бути спорідненими з іншими операціями зчитування, і аналогічним чином операції запису можуть бути спорідненими з іншими операціями запису). Операції в запам'ятовуючому пристрої для однаковою сторінки (або відкритої сторінки) можуть називатися влученнями на сторінку, а операції в запам'ятовуючому пристрої для різних банків/рангів можуть називатися попаданнями в банк і попаданнями в ранг відповідно.

[0070] MCU 56A-56B також можуть конфігуруватися для планування команд в інтерфейсі пристрою для запам'ятовуючих пристроїв 12A-12B (за допомогою PHY 42A-42B запам'ятовуючих пристроїв), щоб виконувати заплановані операції в запам'ятовуючому пристрої. Конкретніше, у варіанті здійснення MCU 56A-56B можуть конфігуруватися для попереднього синтезу команд для кожної операції в запам'ятовуючому пристрої і постановки у чергу команд. MCU 56A-56B можуть конфігуруватися для планування команд, щоб забезпечити ефективне використання пропускної здатності пам'яті устройствание команд.

[0071] Звертаючись тепер до фіг. 4, показана блок-схема одного варіанта здійснення блоку 58C інтерфейсу порту. Інші схеми 58A-58B і 58D-58E інтерфейсів портів можуть бути аналогічними, хоча і можуть бути відмінності в реалізації схем інтерфейсів портів, які з'єднуються з різними інтерфейсами. У проиллюстрированном варіанті здійснення блок 58C інтерфейсу порту включає в себе буфери 70A-70B, сполучені з інтерфейсами зчитування (AR) і запису (AW) для прийому операцій зчитування і запису на пристрій, відповідно, як показано на фіг. 4. Буфери 70A-70B з'єднуються з генератором 72 ініціювання зчитування і генератором 74 ініціювання запису відповідно, які з'єднуються з інтерфейсами Rd0/Rd1 і інтерфейсами Wr0/Wr1 відповідно. Генератор 72 ініціювання зчитування з'єднується з таблицею 76 невиконаних транзакцій зчитування (ROTT), а генератор 74 ініціювання запису з'єднується з таблицею 78 невиконаних транзакцій запису (WOTT). ROTT 76 з'єднується з генератором 80 відповіді зчитування, який конфігурується для формування відповіді зчитування по інтерфейсу. ROTT також з'єднується з буфером 84 зчитування, який з'єднується для прийому даних від будь-якого MCU 56A-56B через мультиплЀий конфігурується для формування відповіді записи по інтерфейсу. WOTT 78 також з'єднується з буфером 88 перенаправлення даних запису, який з'єднується для надання даних MCU 56A-56B і з'єднується для прийому даних з буфера 70C, який з'єднується для прийому даних запису із інтерфейсу.

[0072] Для операції зчитування буфер 70A може конфігуруватися для прийому операції від інтерфейсу. Буфер 70A може надаватися для захоплення операції зчитування і утримання її для обробки генератором 72 ініціювання зчитування. У варіанті здійснення буфер 70A може бути "ковзним" буфером з двома входами, який дозволяє захопити другу операцію в разі затримки на період, поки недоступний ресурс стане доступним, відповідно спрощуючи синхронізацію поширення зворотних запитів до джерела (джерел) по інтерфейсу. Буфери 70B-70C аналогічним чином можуть бути ковзаючими буферами з двома входами. Інші варіанти здійснення за бажанням можуть включати в себе додаткові входи в ковзні буфери.

[0073] Генератор 72 ініціювання зчитування може конфігуруватися для декодування адреси операції зчитування, щоб визначити, який канал пристрою адресується операцією зчитування. Генератор 72 ініціювання счити� по інтерфейсу Rd0 або Rd1. В деяких варіантах здійснення операція зчитування може поєднувати канали запам'ятовуючого пристрою. Кожна операція зчитування може задавати розмір (тобто кількість байтів для зчитування, починаючи з адреси операції). Якщо комбінація розміру і адреси вказує, що байти зчитуються з більш ніж одного каналу, то генератор 72 ініціювання зчитування може конфігуруватися для формування декількох операцій зчитування для адресуються каналів. Лічені дані від декількох операцій зчитування можуть накопичуватися в буфері 84 зчитування для повернення джерела.

[0074] Генератор 72 ініціювання зчитування також може конфігуруватися для оновлення ROTT 76, призначаючи запис у ROTT 76 для відстеження ходу зчитування. Як тільки дані прийняті в буфері 84 зчитування, ROTT 76 може конфігуруватися для сигналізації генератора 80 відповіді зчитування, щоб той формував відповідь зчитування для передачі даних до джерела. Якщо лічені дані потрібно повертати по порядку в інтерфейсі (наприклад, у відповідності з протоколом інтерфейсу), то дані можуть залишитися буферизованними в буфері 84 зчитування, поки не повернуто попередні зчитування, а потім ROTT 76 може сигналізувати генеростояния від MCU 56A-56B для оновлення стану очікують операцій зчитування (не показано на фіг. 4).

[0075] Буфер 70B, генератор 74 ініціювання запису і WOTT 78 можуть працювати аналогічним чином для операцій запису. Однак дані по інтерфейсу приймаються, а не передаються. Дані записи можна прийняти в буфері 88 перенаправлення даних запису і можна перенаправити в поточне розташування відповідної операції запису. WOTT 78 може сигналізувати відповідь запису, як тільки гарантовано завершення запису, припиняючи запису в інтерфейсі з відповіддю запису раніше, ніж це могло б стати можливим іншим способом.

[0076] Зазначимо, що хоча варіант здійснення, проілюстрований на фіг. 4, включає в себе інтерфейс, який роздільно передає операції зчитування і запису в запам'ятовуючий пристрій (AR і AW відповідно), інші варіанти здійснення можуть включати в себе одну передавальну середовище для операцій зчитування і запису. У такому варіанті здійснення один буфер 70 може приймати операції, і генератор 72 ініціювання зчитування і генератор 74 ініціювання записи можуть декодувати команду від користувача, щоб розрізняти операції зчитування і запису. В якості альтернативи може бути один генератор, який формує операції зчитування і запису і відповідно оновлює ROTT 74 і�. CIU 60B може бути аналогічним за винятком того, що він з'єднується для прийому вхідних даних Rd1 і Wr1 з кожного порту і з'єднується з MCU 56B. У проиллюстрированном варіанті здійснення MCIU включає в себе набір черг зчитування, наприклад черг 90A-90B зчитування, показаний на фіг. 5, і набір черг запису, наприклад черг 92A-92B запису. Може бути одна черга зчитування і одна черга запису для кожного порту. Кожна чергу зчитування з'єднується з виходом Rd0 одного з блоків 58A-58E інтерфейсів портів і з'єднується з арбітром 94A QoS. Кожна чергу запису з'єднується з виходами Wr0 відповідного одного з блоків 58A-58E інтерфейсів портів і з арбітром 94B QoS. Виходи арбітрів 94A-94B QoS надаються в MCU 56A в якості входів зчитування і запису відповідно. Арбітри 94A-94B QoS з'єднуються для прийому даних з регістрів 62 спільного використання смуги пропускання.

[0078] Два входи черзі зчитування показані в черзі 90A зчитування, та інші черги зчитування можуть бути аналогічними. Чергу 90A зчитування включає в себе FID операції в запам'ятовуючому пристрої, параметр QoS операції, біт примусового завдання (P) та інше поле (Oth). FID і параметр QoS можуть бути тими ж значеннями, коустройства. В якості альтернативи одне або обидва значення для зручності можуть перекодовуватися контролером 40 запам'ятовуючого пристрою всередині себе. Біт примусового завдання може використовуватися для примусового завдання більш високого пріоритету у операції в запам'ятовуючому пристрої, якщо друга операція в запам'ятовуючому пристрої розташовується за цією операцією в запам'ятовуючому пристрої і є більш високим рівнем QoS, ніж ця операція в запам'ятовуючому пристрої. Наприклад, друга операція в запам'ятовуючому пристрої може прийматися в тому ж порту, що і операція в запам'ятовуючому пристрої, і інтерфейс в цьому порту може вимагати, щоб дані поверталися в такому ж порядку, як передаються операції в запам'ятовуючому пристрої. Шляхом примусового завдання більш високого пріоритету операція в запам'ятовуючому пристрої може виконуватися швидше і відповідно може дати можливість швидкого обслуговування другої операції в запам'ятовуючому пристрої з більш високим рівнем QoS. Інше поле може включати в себе різну інформацію для операції в запам'ятовуючому пристрої (наприклад, інформацію про адресу, розмір і т. п.). Аналогічним чином, два входи черзі запису показані в черзі 92�нитка іншу інформацію для записів у порівнянні з считиваниями.

[0079] Арбітри 94A-94B QoS можуть вирішувати конфлікти між чергами 90A-90B зчитування і чергами 92A-92B запису відповідно. Арбітри QoS можуть враховувати як рівні QoS (які вказані параметрами QoS у чергах), так і параметри спільного використання смуги пропускання з регістрів спільного використання смуги пропускання. Обрана операція зчитування і запису (при наявності) передається в MCU 56A.

[0080] Зазначимо, що в деяких варіантах здійснення може бути один або кілька обхідних шляхів з блоку інтерфейсу порту в арбітри 94A та/або 94B QoS (не показано на фіг. 5). Наприклад, зчитування від блоку 58C інтерфейсу порту CPU можуть по обхідному шляху йти в арбітр 94A QoS, щоб дозволити зчитування з меншою затримкою до процесорів. В деяких варіантах здійснення одна або кілька операцій у запам'ятовуючому пристрої в чергах 90A-90B та/або 92A-92B можуть ховатися від арбітрів 94A-94B QoS. Наприклад, операції запису, для яких відповідні дані ще не досягли контролера 40 запам'ятовуючого пристрою, можуть ховатися від арбітрів 92A-92B QoS, щоб уникнути операції блокуючої записи з інших портів, для яких відповідні дані досягли контролера 40 запам'ятовуючого пристрою.

B QoS. Хоча для спрощення розуміння етапи показано в конкретному порядку, можуть використовуватися інші порядки. Етапи можуть виконуватись паралельно в комбінаторної логіки в арбітрів 94A-94B QoS. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Арбітри 94A-94B QoS можуть конфігуруватися для реалізації роботи, проілюстрованою на фіг. 6.

[0082] Якщо принаймні одна операція в запам'ятовуючому пристрої в одній з черг, з якою з'єднується арбітр QoS, має рівень QoS RT у вигляді RTY або RTR, або біт примусового завдання встановлюється щонайменше для однієї операції в запам'ятовуючому пристрої (етап 100 розгалуження, вітка "так"), то арбітр QoS може вирішувати конфлікти між чергами, мають рівні RTY або RTR QoS та/або встановлені біти примусового завдання (етап 102). Оскільки в цьому варіанті здійснення кожна чергу відповідає порту, арбітр QoS може ефективно вирішувати конфлікти між портами, що мають рівні RTY або RTR QoS та/або встановлені біти примусового завдання. Таким чином, в цьому варіанті здійснення AIU 54 може вважати рівними рівні QoS у вигляді RTG, BEF і LLT. AIU 54 в цьому варіанті здійснення може вважати рівні RTR і RTYнежели інші рівні. Інші варіанти здійснення можуть мати додаткову крупність розбиття (наприклад, RTR може вважатися більш високим пріоритетом, ніж RTY, RTG і LLT можуть вважатися більш високим пріоритетом, ніж BEF, тощо). Більше того, інші варіанти здійснення можуть реалізовувати іншу схему, ніж кругове обслуговування.

[0083] З іншого боку, якщо відсутні операції в запам'ятовуючому пристрої, що мають рівні RTY або RTR QoS, і відсутні операції в запам'ятовуючому пристрої, що мають встановлені біти примусового завдання (етап 100 розгалуження, вітка "ні"), то арбітр QoS може вирішувати конфлікти між всіма чергами (усіма портами) (етап 104). Наприклад, арбітр QoS може реалізувати схему зваженого циклічного обслуговування з дефіцитом між портами, де ваги можуть ґрунтуватися на параметрах спільного використання смуги пропускання (або параметри спільного використання смуги пропускання можуть бути вагами). Інші варіанти здійснення можуть реалізовувати інші арбітражні схеми між всіма портами.

[0084] Звертаючись тепер до фіг. 7, показана блок-схема одного варіанта здійснення PSQ 64. У проиллюстрированном варіанті здійснення PSQ 64 включає в себе блок 110 управління постановкою�вкой в чергу з'єднується для прийому операцій зчитування і запису від відповідного MCIU 60A або 60B і з'єднується з чергами 112 транзакцій. Черги 112 транзакцій додатково з'єднуються з планувальником 114, вихід якого з'єднується з обхідним мультиплексором 116. Обхідний мультиплексор 116 також з'єднується для прийому операції зчитування і конфігурується для вибору між операцією в запам'ятовуючому пристрої, запланованої планувальником 114 і операцією зчитування. Наприклад, операція зчитування може обходити черзі 112 транзакцій, якщо відсутні зчитування в чергах 112 транзакцій і кількість записів нижче деякого порогового рівня. Інші варіанти здійснення можуть не реалізовувати обхід, і обхідний мультиплексор 116 можна виключити.

[0085] Як показано на фіг. 7, черги 112 транзакцій можуть включати в себе набір споріднених черг зчитування, наприклад черг 118A-118B, і набір споріднених черг запису, наприклад черг 120A-120B. Кількість споріднених черг зчитування та споріднених черг запису може змінюватися від одного варіанта здійснення до іншого, і кількість споріднених черг зчитування не повинно бути рівним кількості споріднених черг запису. Кожна родинна чергу може зберігати одну або кілька операцій у запам'ятовуючому пристрої, які визначені блоком 110 у�запам'ятовуючому пристрої приймається блоком 110 управління постановкою в чергу, блок 110 управління постановкою в чергу може конфігуруватися для порівняння операції в запам'ятовуючому пристрої з родинними чергами 118A-118B (для операції зчитування) або з родинними чергами 120A-120B (для операції запису). Якщо операція у запам'ятовуючому пристрої є спорідненою, то її можна поставити в відповідну споріднену чергу. Якщо це не так, то операцію в запам'ятовуючому пристрої можна поставити в іншу споріднену чергу. У варіанті здійснення споріднену чергу зчитування можна зарезервувати для зчитувань, які не є спорідненими, і аналогічним чином споріднену чергу запису можна зарезервувати для записів, які не є спорідненими.

[0086] Планувальник 114 може конфігуруватися для планування операцій в запам'ятовуючому пристрої, які потрібно передати в MIF 66. Для операцій зчитування планувальник 114 може конфігуруватися для обліку рівнів QoS у родинних чергах 118A-118B зчитування та кількості споріднених операцій у запам'ятовуючому пристрої в кожної спорідненої черзі 118A-118B зчитування. Один варіант здійснення більш докладно описано нижче. Проте в цілому планувальник 114 може конфігуруватися для поддержкЉем пристрої. Для операцій запису рівні QoS можуть анулюватися в PSQ 64. Тобто рівні QoS у операцій запису можуть відкидатися, коли операції запису записуються в черги 112 транзакцій. Як проілюстровано в типових входах в кожну з черг 118A і 120A, операції зчитування можуть зберігати QoS, тоді як операції запису не можуть. Планувальник 114 може конфігуруватися для планування між операціями зчитування та операцією запису, наприклад, на основі заповнювання черг запису і рівнів QoS в чергах зчитування. Додаткові подробиці будуть надані нижче.

[0087] Зазначимо, що в деяких варіантах здійснення родинні черзі 118A-118B зчитування та споріднені черзі 120A-120B запису можна конкретизувати фізично (наприклад, у вигляді окремих структур даних або у вигляді однієї або декількох структур даних, які поділяються логічними схемами в PSQ 64 та/або відокремлюються програмно). В інших варіантах здійснення родинні черги можуть бути віртуальними. Тобто може бути присутнім, наприклад, черга зчитування чергу запису, і може використовуватися маркування для ідентифікації споріднених операцій.

[0088] Фіг. 8 - блок-схема операцій, що ілюструє роботу одного вариаЂве. Хоча для спрощення розуміння етапи показано в конкретному порядку, можуть використовуватися інші порядки. Етапи можуть виконуватись паралельно в комбінаторної логіки в блоці 110 управління постановкою в чергу. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Блок 110 управління постановкою в чергу може конфігуруватися для реалізації роботи, проілюстрованою на фіг. 8. Блок 110 управління постановкою в чергу може конфігуруватися для реалізації роботи, проілюстрованою на фіг. 8, паралельно для операції зчитування і операції запису, прийнятих одночасно.

[0089] Блок 110 управління постановкою в чергу може порівняти прийняту операцію з відповідними спорідненими чергами 118A-118B або 120A-120B, щоб визначити, проявляє прийнята операція спорідненість з операціями в черзі (етап 130 розгалуження). У відповідь на виявлення спорідненості (і якщо для операції є місце у родинному черги) блок 110 управління постановкою в чергу може поставити операцію в родинну чергу (етап 132). У відповідь на необнаружение спорідненості блок 110 управління постановкою в чергу може поставити операцію в порожню родств�ного варіанту здійснення. Операція може бути спорідненою, якщо це попадання на сторінку з іншими операціями в спорідненою черги (етап 136 розгалуження, вітка "так") або промах банку або рангу з іншими операціями (етапи 138 і 140 розгалуження відповідно, гілки "так"). Якщо це не так (етапи 136, 138 і 140 розгалуження, гілки "ні"), то операція не є спорідненою з операціями в черзі. Виявлення, проілюстрований етапами 136, 138 і 140 розгалуження, може виконуватися паралельно для кожної спорідненої черги.

[0091] Фіг. 9 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення планувальника 114 для планування між операціями зчитування та операціями запису в чергах 112 транзакцій. Хоча для спрощення розуміння етапи показано в конкретному порядку, можуть використовуватися інші порядки. Етапи можуть виконуватись паралельно в комбінаторної логіки в планувальнику 114. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Планувальник 114 може конфігуруватися для реалізації роботи, проілюстрованою на фіг. 9.

[0092] У варіанті здійснення з фіг. 9 є три граничні величини для заповнювання черзі запису (тобто для кількості операцій за�чередях 112 транзакцій, чим вказує середній рівень, а середній рівень вказує більше операцій запису в чергах 112 транзакцій, ніж вказує нижній рівень. Порогові величини в різних варіантах здійснення можуть бути незмінними або програмованими.

[0093] Планувальник 114 може конфігуруватися для виявлення блокуючої запису (етап 150 розгалуження, вітка "так") і може конфігуруватися для планування блокуючої запису (етап 152). Блокує запис може бути операцією запису, яка має встановлений біт примусового завдання (вказує, що операція в запам'ятовуючому пристрої, що має більш високий рівень QoS, розташовується за цією операцією запису). Операція блокуючої запису також може бути операцією запису, яка блокує операцію зчитування по такому ж адресою (або операція запису оновлює щонайменше один байт, зчитаний операцією зчитування).

[0094] Якщо блокуючі записи відсутні, то планування операції зчитування залежно від операцій запису може ґрунтуватися на кредитній системі. Тобто операціях зчитування та операціях запису може призначатися певну кількість кредитів. Запланована операція в запам'ятовуючому пристрої може потреблятьо витрачені кредити зчитування і планується операція зчитування, кредити для зчитувань і записів можна перезавантажити шляхом додавання початкових значень кредиту до поточних лічильників. Оскільки родинні операції можна планувати в пакеті, то лічильники кредитів можуть зменшитися нижче нуля, коли планується операція зчитування або запису. Тобто планувальник 114 може не переривати пакет споріднених операцій, якщо лічильник кредитів для операцій зменшується до нуля. Для стислості обговорення щодо фіг. 9 нижче може посилатися на операції зчитування в черзі операції зчитування і запису в черзі запису. Чергу зчитування може включати в себе поєднання споріднених черг 118A-118B зчитування, а чергу запису може включати в себе поєднання споріднених черг 120A-120B запису.

[0095] В відповідь на виявлення, що чергу запису досягла верхньої порогової величини і є щонайменше один доступний кредит запису (етап 154 розгалуження, вітка "так"), планувальник 114 може конфігуруватися для планування з черги запису (етап 156). Якщо чергу запису не досягла верхньої граничної величини або немає доступних кредитів запису (етап 154 розгалуження, вітка "ні"), але планувальник 114 визначає, що є щонайменше одна операція зчитування очереЄигурироваться для планування з черги зчитування (етап 160). Якщо в черзі зчитування немає операцій зчитування або відсутні доступні кредити зчитування (етап 158 розгалуження, вітка "ні"), але планувальник 114 визначає, що черга запису досягла середньої порогової величини і є доступний кредит запису (етап 162 розгалуження, вітка "так"), то планувальник може конфігуруватися для планування з черги запису (етап 156). Якщо чергу запису не досягла середньої порогової величини або немає доступних кредитів запису (етап 162 розгалуження, вітка "ні"), але планувальник 114 визначає, що є щонайменше одна операція зчитування в черзі зчитування і немає доступного кредиту зчитування (етап 164 розгалуження, вітка "так"), то планувальник 114 може конфігуруватися для планування з черги зчитування (етап 160). Як згадувалося раніше, планувальник 114 в цьому випадку також може конфігуруватися для перезавантаження кредитів зчитування і запису. Якщо немає операції зчитування в черзі зчитування (етап 164 розгалуження, вітка "ні") і планувальник 114 визначає, що черга запису досягла нижньої порогової величини (етап 166 розгалуження, вітка "так"), то планувальник 114 може конфігуруватися для планування з черги запису (етап 156).

[0096] Хоча блок-схема операцій з фіг. 9 еличини, деякі варіанти здійснення можуть планувати з черги запису, якщо планувальник 114 простоює протягом деякого періоду часу. Період часу може бути фіксованим або програмованим.

[0097] Фіг. 10 - блок-схема, що ілюструє роботу одного варіанта здійснення планувальника 114 для реалізації планування з черги запису (етап 156). Як показано на фіг. 10, планувальник 114 може конфігуруватися для планування спорідненої черзі 120A-120B запису, що має найбільшу кількість операцій запису (етап 168).

[0098] Фіг. 11 - таблиця, яка ілюструє різні стани, в яких може перебувати планувальник 114 для планування операцій зчитування з черги зчитування (етап 160). Стану ілюструються в зростаючому порядку пріоритету. Таким чином, якщо б більше одного запису в таблиці з фіг. 11 відповідало вмісту черги зчитування, запис з найвищим пріоритетом може бути станом планувальника 114. Планувальник 114 може конфігуруватися для планування операцій, як проілюстровано у стовпці "Планувати" з фіг. 11 для відповідного стану.

[0099] Таблиця з фіг. 11 може ставитися до кількості зчитувань в черзі зчитування рівнів RTG і RTY QoS і можуть бути аналогічні розглянутим вище пороговим величинам черзі запису. Зелені і жовті порогові величини можуть бути незмінними або програмованими. Більш того, споріднена група може відноситися до запланованої. Споріднена група може бути групою операцій в одній з родинних черг 118A-118B зчитування.

[0100] Стан зчитування планувальника може бути зеленим, якщо кількість зчитувань в черзі зчитування нижче жовтої порогової величини (і не перевищувало жовту порогову величину з моменту входу в зелене стан), і якщо в черзі немає зчитувань RTY або RTR. В зеленому стані планувальник 114 може конфігуруватися для планування операції зчитування LLT, при її наявності. Також можуть плануватися операції у спорідненій черзі зчитування з операцією зчитування LLT, при їх наявності. Якщо немає операцій зчитування LLT, то може плануватися споріднена група, яка має найстарішу операцію зчитування.

[0101] Стан зчитування планувальника може бути жовтим LLT, якщо кількість зчитувань вище зеленої порогової величини (або не опускалося нижче зеленої порогової величини з моменту входу в жовте стан LLT), і в черзі зчитування немає операцій зчитування RTR або RTY. У жовтому стані LLT планувальник 114 може конфігуруватися для планироироваться для планування найбільшою спорідненої групи в черзі зчитування. У варіанті здійснення планувальник 114 може бути програмованим для планування спорідненої групи, що містить саму стару операцію зчитування, якщо немає операцій зчитування LLT в жовтому стані LLT, аналогічно зеленому станом.

[0102] Стан зчитування планувальника може бути жовтим, якщо є щонайменше одна операція зчитування RTY, але немає операцій RTR. У жовтому стані планувальник 114 може конфігуруватися для планування спорідненої групи, яка включає в себе саму стару операцію зчитування RTY, або найбільшою спорідненої групи.

[0103] Стан зчитування планувальника може бути червоним спорідненим, якщо є щонайменше одна операція зчитування RTR в черзі, і планувальник 114 програмується для асоціювання споріднених операцій з операціями RTR. В червоному родинному стані планувальник 114 може конфігуруватися для планування спорідненої групи, яка включає в себе саму стару операцію RTR. В іншому випадку може плануватися найбільша споріднена група.

[0104] Стан зчитування планувальника може бути червоним, якщо є щонайменше одна операція зчитування RTR в черзі, і планувальник 114 програмується для п�игурироваться для планування найстарішої операції зчитування RTR, або найбільшою спорідненої групи.

[0105] Вищенаведене обговорення зверталася до считиваниям в черзі зчитування як до "найстарішим". В деяких варіантах здійснення операції зчитування можуть розглядатися як найстаріші на основі часу, проведеного в черзі зчитування. В інших варіантах здійснення термін може вимірюватися іншими способами. Наприклад, найстаріша операція зчитування може вимірюватися у вигляді кількості разів, що операція зчитування не запланована на користь іншої операції зчитування.

[0106] Коли планується споріднена група, кількість операцій у запам'ятовуючому пристрої, запланованих з спорідненої групи, може бути кількістю операцій в групі аж до незмінного або програмованого розміру пакета. У варіанті здійснення, якщо планована в даний час споріднена група має менше операцій, ніж розмір пакета, то можуть плануватися інші операції в запам'ятовуючому пристрої. Планувальник 114 може, наприклад, планувати "відсталих" (наприклад, операції у запам'ятовуючому пристрої, які були частиною спорідненої групи, яка раніше планувалася, але припинила розміру пакета), які можуть бути спорідненими �тися для вибору наступної найбільшою спорідненої групи.

[0107] Звертаючись тепер до фіг. 12, показана блок-схема одного варіанта здійснення MIF 66. У варіанті здійснення з фіг. 12 MIF 66 включає в себе блок 170 управління постановкою в чергу MIF, черги 172 транзакцій MIF, таблицю 174 відкритих сторінок, планувальник 176 передзарядження, планувальник 178 регістра режиму (reg), планувальник 180 регенерації, планувальник 182 активації, планувальник 184 строба адреси стовпця (CAS) і кінцевий планувальник 186. Блок 170 управління постановкою в чергу MIF з'єднується для прийому операції в запам'ятовуючому пристрої від PSQ 64 і з'єднується з таблицею 174 відкритих сторінок і чергами 172 транзакцій MIF. Таблиця 174 відкритих сторінок з'єднується з планувальником 176 передзарядження. Черги 172 транзакцій MIF включають в себе чергу 188 активації і черга 190 CAS, які з'єднуються з планувальником 182 активації та планувальником 184 CAS відповідно. Планувальники 176, 178, 180, 182 184 з'єднуються з кінцевим планувальником 186, який з'єднується для передачі команди до однієї з PHY 42A або 42B запам'ятовуючих пристроїв в залежності від того, реалізується MIF 66 в MCU 56A або 56B.

[0108] Блок 170 управління постановкою в чергу MIF може конфігуруватися для порівняння прийнятої операції в запам'ятовуючому пристрої з таблицею 174 відкритих для виконання операцій в запам'ятовуючому пристрої. Зокрема, якщо сторінка, що відповідає прийнятої операції в запам'ятовуючому пристрої, буде відкрита командою активації в черзі, то прийнята операція в запам'ятовуючому пристрої може бути поставлена в чергу в якості операції CAS. Якщо сторінка, що відповідає прийнятої операції в запам'ятовуючому пристрої, вже відкрита і немає конфліктуючих активацій сторінки в черзі, то прийнята операція в запам'ятовуючому пристрої може бути поставлена в чергу в якості операції CAS. Якщо сторінка, що відповідає прийнятої операції в запам'ятовуючому пристрої, не відкрито, то операція в запам'ятовуючому пристрої може бути поставлена в чергу в якості активації команди та команди CAS. Кожній команді можна призначити лічильник терміну (поле терміну в черзі 188 активації і черги 190 CAS). Значення лічильника строку може ґрунтуватися на параметрі QoS у операції зчитування накопичувача і може бути коротше для більш високих рівнів QoS, ніж для більш низьких рівнів QoS. Для операцій запису в запам'ятовуючий пристрій лічильник строку може бути таким же, як найменший рівень QoS для операцій зчитування накопичувача, або може бути довшим найменшого рівня QoS. Термін у різних варіантах які�тів. Як тільки лічильник терміну зменшується до нуля, відповідна операція може плануватися як найвищого пріоритету в MIF 66.

[0109] Планувальник 182 активації і планувальник 184 CAS може конфігуруватися для планування команд активації і команд CAS з відповідних черг 188 і 190. Команда активації може відкривати сторінку в запам'ятовуючому пристрої, а команда CAS може викликати зчитування або запис даних на сторінці.

[0110] Планувальник 176 передзарядження може конфігуруватися для планування команди передзарядження для банку, коли таймер закінчується простою сторінки в таблиці 174 відкритих сторінок. Таймер простою може перезавантажуватися кожен раз, коли прийнята операція в запам'ятовуючому пристрої потрапляє у відкриту сторінку і може зменшуватися з кожним тактом або для кожної операції в запам'ятовуючому пристрої, яка не потрапляє у відкриту сторінку. Якщо конфлікт сторінки з новоприйнятої операцією в запам'ятовуючому пристрої викликає закриття сторінки, то остання команда CAS на попередній сторінці може використовуватися для передзарядження банку.

[0111] Планувальник 178 регістра режиму може конфігуруватися для формування команд зчитування регістра запам'ятовуючого пристрою точного кондицію�вет на запити таймера запам'ятовуючого пристрою. Планувальник 180 регенерації може формувати команди регенерації, коли потрібна регенерація.

[0112] Кінцевий планувальник 186 може вибирати між планувальниками 176, 178, 180, 182 184 для планування команди для схеми PHY запам'ятовуючого пристрою. Цей планувальник 186 також може забезпечувати дотримання деяких протоколів, наприклад циклу оборотності між операціями зчитування і запису, і т. п.

[0113] Зазначимо, що черги 188 і 190 активації і CAS можуть бути віртуальними. Тобто один і той же вхід в черзі 172 транзакцій MIF може використовуватися для активації команди та команди CAS для заданої операції в запам'ятовуючому пристрої. Якщо активація потрібна для заданої операції в запам'ятовуючому пристрої, то вхід можна ініціалізувати у вигляді активації команди і можна перетворити в команду CAS, як тільки видається активація. Якщо активація не потрібна для заданої операції в запам'ятовуючому пристрої, то вхід можна ініціалізувати у вигляді команди CAS.

[0114] Додатково зазначимо, що на додаток до схем, проиллюстрированним на фіг. 7 та 12, може бути присутнім інформаційний канал (не показаний) в MCU 56A-56B для перенесення даних запису із AIU 54 в запам'ятовуючий пристрій і перенесення лічених даних з запоминающ�я блоку 170 управління постановкою в чергу MIF у відповідь на операцію в запам'ятовуючому пристрої від PSQ 64. Хоча для спрощення розуміння етапи показано в конкретному порядку, можуть використовуватися інші порядки. Етапи можуть виконуватись паралельно в комбінаторної логіки в блоці 170 управління постановкою в чергу MIF. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Блок 170 управління постановкою в чергу MIF може конфігуруватися для реалізації роботи, проілюстрованою на фіг. 13.

[0116] Блок 170 управління постановкою в чергу MIF може конфігуруватися для визначення, чи потрібна команда активації для прийнятої операції в запам'ятовуючому пристрої (наприклад, операція в запам'ятовуючому пристрої не потрапляє у відкриту сторінку або сторінку, яка буде відкрита командою активації, раніше поставленого в чергу) (етап 196 розгалуження). Якщо це так (етап 196 розгалуження, вітка "так"), то блок 170 управління постановкою в чергу MIF може конфігуруватися для синтезування команди активації та постановки команди активації в чергу 188 активації (етап 192). Блок 170 управління постановкою в чергу MIF також може конфігуруватися для синтезування команди CAS і постановки команди CAS в чергу 190 CAS (етап 194). У кожному випадку може инициализироватработу одного варіанта здійснення планувальника 182 активації. Планувальник 182 активації може конфігуруватися для сканування команд активації в черзі 188 активації на предмет активації команди, яка застаріла (наприклад, лічильник терміну дорівнює нулю). Якщо виявляється така команда активації, то активація може вибрати застарілу команду активації (етап 200). В іншому випадку планувальник 182 активації може вибрати команду активації в головному кластері, який знаходиться в банку, має найбільше очікують операцій. Головний кластер може бути групою активацій одного типу зчитування/запису, які є найстарішими командами активації в черзі 188 активації. Якщо вимогам відповідає більше однієї команди активації, то може вибиратися найстаріша команда активації, що задовольняє вимогам.

[0118] Фіг. 15 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення планувальника 184 CAS. Хоча для спрощення розуміння етапи показано в конкретному порядку, можуть використовуватися інші порядки. Етапи можуть виконуватись паралельно в комбінаторної логіки в планувальнику 184 CAS. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Планувальник 184 CAS може конфі�нировщик 184 CAS може конфігуруватися для виявлення застарілих команд CAS і вибору їх першими для передачі (етап 202 розгалуження, гілка "так" і етап 204). Якщо немає застарілих команд CAS (етап 202 розгалуження, вітка "ні"), і остання команда CAS була зчитуванням (етап 206 розгалуження, вітка "так"), то планувальник 184 CAS може конфігуруватися для вибору наступної команди CAS зчитування для того ж рангу, що і остання команда CAS, або вибору команди CAS зчитування з самими конфліктуючими операціями, які чекають команду CAS для завершення, щоб сторінку можна було закрити (етап 208). Аналогічним чином, якщо остання команда CAS була записом (етап 206 розгалуження, гілка "ні", і етап 210 розгалуження, вітка "так"), то планувальник 184 CAS може конфігуруватися для вибору наступної команди CAS запису для того ж рангу, що і остання команда CAS, або вибору команди CAS запису з самими конфліктуючими операціями, які чекають команду CAS для завершення, щоб сторінку можна було закрити (етап 212). Якщо нічого з вищезгаданого не застосовується, то планувальник 184 CAS може конфігуруватися для вибору самої старої команди CAS у черзі 190 CAS (етап 214). Зазначимо, що на етапах 204, 208, 212 та 214, якщо вимогам відповідає більше однієї команди CAS, то може вибиратися найстаріша команда CAS.

[0120] Фіг. 16 - таблиця, що ілюструє роботу одного варіанта здійснення кінцевого планувальника 18�вкі пакета (BST) або команду CAS переривання, цим командам можна поставити найвищий пріоритет. Наступною може бути команда від планувальника 178 регістра режиму, з наступною командою автоматичної регенерації від планувальника 180 регенерації. Команда CAS від планувальника 184 CAS може бути наступною за пріоритетом для команди автоматичної регенерації, ніж команда активації від планувальника 182 активації. Команда передзарядження від планувальника 176 передзарядження може йти за командою активації пріоритетом, і найменшою з пріоритету на фіг. 16 може бути команда автономної регенерації, використовувана для входу в енергозберігаючий режим.

[0121] Як коротко обговорювалося вище, операція в запам'ятовуючому пристрої може надходити в контролер 40 запам'ятовуючого пристрою від джерела з високою важливістю, призначеної рівнем QoS у операції в запам'ятовуючому пристрої. Коли операція в запам'ятовуючому пристрої обробляється в контролері 40 запам'ятовуючого пристрою і підходить до передачі в запам'ятовуючий пристрій, важливість рівня QoS може зменшитися, а важливість ефективності запам'ятовуючого пристрою (SDRAM) може збільшитися. Фіг. 17 схематично ілюструє цю операцію. MCIU 60 (наприклад, 60A або 60B), PSQ 64 і MIF 66 ілюструються разом з етапами, ілюструю�е з параметрами спільного використання смуги пропускання можуть управляти вибором операцій зчитування і запису для передачі в PSQ 64. Ефективність пристрою на цьому рівні може не розглядатися (етап 222). У PSQ 64 відкидається QoS для записів. Спорідненість керує вибором записів, і поєднання QoS і спорідненості може в першу чергу управляти вибором зчитувань (етап 224). Відповідно, питання QoS і ефективності запам'ятовуючого пристрою можуть краще врівноважуватися в цій PSQ 64. У MIF 66 QoS відкидається для всіх операцій у запам'ятовуючому пристрої (хоча QoS може бути відображено в параметрах старіння), і питання ефективності SDRAM можуть в першу чергу управляти вибором команд (етап 226).

[0122] Також, як коротко обговорювалося вище, контролер 40 запам'ятовуючого пристрою може підтримувати підвищення рівня QoS у чекаючих операцій у запам'ятовуючому пристрої. Різні варіанти здійснення можуть підтримувати один або кілька механізмів сигналізації підвищення рівня QoS: внутріполосное контексті, бічної смуги і старіння.

[0123] Фіг. 18 - блок-схема, що ілюструє один варіант здійснення механізму внутриполосного підвищення QoS. У цьому механізмі прийом операції в запам'ятовуючому пристрої в тому ж потоці, що і попередня операція в запам'ятовуючому пристрої, і знову прийнята операція в запам'ятовуючому пристрої, иЀ 40 запам'ятовуючого пристрою підвищити рівень QoS у попередньої операції в запам'ятовуючому пристрої. Частина MCIU 60A ілюструється разом з частиною PSQ 64 в MCU 56A. MCIU 60B і PSQ 64 в MCU 64B можуть бути аналогічними.

[0124] MCIU 60A може приймати операції в запам'ятовуючому пристрої з кожного порту, як обговорювалося раніше, і може поставити знову прийняті операції в запам'ятовуючому пристрої в одну з черг 90A-90B або 92A-92B для зчитувань і записів відповідно. Більш того, як показано на фіг. 18, MCIU 60A може порівняти FID і параметри QoS у новоприйнятій операції в запам'ятовуючому пристрої з відповідними значеннями у поставлених у чергу операцій у запам'ятовуючому пристрої з того ж порту (наприклад, RdQ0 90A може порівняти FID і параметри QoS у новоприйнятій операції в запам'ятовуючому пристрої в порту 0, або порту 44A G0, а RdQ4 90B може порівняти FID і параметри QoS для новоприйнятої операції в запам'ятовуючому пристрої в порту 4, або порту 44E RT). У відповідь на прийняту операцію в запам'ятовуючому пристрої, що має більш високий рівень QoS, з того ж порту і потоку, як і операція в запам'ятовуючому пристрої в черзі, MCIU 60A може підвищити рівень QoS у операції в запам'ятовуючому пристрої в черзі до більш високого рівня QoS. В деяких варіантах здійснення підвищення QoS може обмежуватися певними портами. Наогут обмежити підвищення QoS портами, у яких може бути прийнятий трафік RT. У таких варіантах здійснення можуть порівнюватися тільки знов прийняті операції в запам'ятовуючому пристрої з портів, для яких підтримується підвищення.

[0125] Аналогічним чином FID і параметри QoS можуть прийматися спорідненими чергами 118A-118B зчитування PSQ 64. PSQ 64 може підвищити рівень QoS у операції зчитування в черзі у відповідь на прийняту операцію в запам'ятовуючому пристрої з того ж порту і потоку, яка має більш високий рівень QoS. В деяких варіантах здійснення FID і параметри QoS, прийняті PSQ 64, можуть бути тими ж знову прийнятими FID і параметрами QoS, що прийняті MCIU 60A. Тобто PSQ 64 і MCIU 60A можуть підвищувати рівні QoS паралельно для кожної знову прийнятої операції в запам'ятовуючому пристрої. В інших варіантах здійснення MCIU 60A може виконувати підвищення QoS у відповідь на прийняту операцію в запам'ятовуючому пристрої, а PSQ 64 може виконувати підвищення QoS у відповідь на операцію в запам'ятовуючому пристрої, передану від MCIU 60A до PSQ 64.

[0126] Хоча фіг. 18 ілюструє порівняння FID і параметрів QoS з чергами 90A-90B зчитування, порівняння також може виконуватися з чергами 92A-92B запису для підвищення параметрів QoS. Однак, як обговорювалося раніше, па�може бути відсутнім порівняння з родинними чергами 120A-120B запису.

[0127] Фіг. 19 - блок-схема операцій, що ілюструє роботу одного варіанта здійснення контролера 40 пристрою для підвищення рівнів QoS для механізму внутриполосного підвищення. Хоча для спрощення розуміння етапи на фіг. 19 показані в конкретному порядку, можуть використовуватися інші порядки. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Контролер 40 запам'ятовуючого пристрою може конфігуруватися для реалізації роботи на фіг. 19. Конкретніше, кожне з PSQ 64 і MCIU 60A-60B можуть включати в себе схеми підвищення, сконфігуровані для реалізації роботи, показаної на фіг. 19.

[0128] Якщо знову прийнята операція в запам'ятовуючому пристрої йде з того ж порту, що і операція в запам'ятовуючому пристрої в черзі (етап 230 розгалуження, вітка "так"), з того ж потоку, що вказаний з допомогою FID (етап 232 розгалуження, вітка "так"), і операція в запам'ятовуючому пристрої в черзі є RT-операцією в запам'ятовуючому пристрої (етап 234 розгалуження, вітка "так"), то контролер 40 запам'ятовуючого пристрою може підвищити рівень QoS у операції в черзі до більш високого рівня QoS у новоприйнятій операції в запам'ятовуючому пристрої (етап 236). В одному минающие пристрої для виконання порівняння, і збіг може дозволити запис знову прийнятого параметри QoS у відповідний вхід черги.

[0129] Якщо знову прийнята операція в запам'ятовуючому пристрої йде з того ж порту і потоку, що і операція в запам'ятовуючому пристрої в черзі (етапи 230 і 232 розгалуження, гілки "так"), але операція в запам'ятовуючому пристрої в черзі не є RT-операцією в запам'ятовуючому пристрої (етап 234 розгалуження, вітка "ні"), то контролер 40 запам'ятовуючого пристрою може конфігуруватися для установки біта P для операції в запам'ятовуючому пристрої в черзі (етап 238). Аналогічним чином, якщо знову прийнята операція в запам'ятовуючому пристрої йде з того ж порту, що і операція в запам'ятовуючому пристрої в черзі, але з іншого потоку (етап 230 розгалуження, гілка "так", і етап 232 розгалуження, вітка "ні"), то контролер 40 запам'ятовуючого пристрою може конфігуруватися для установки біта P для операції в запам'ятовуючому пристрої в черзі (етап 238).

[0130] Фіг. 20 - блок-схема, що ілюструє додавання інтерфейсу бічної смуги для запиту підвищення QoS. У варіанті здійснення з фіг. 20 інтерфейс бічної смуги включається для порту 44E RT. Інші варіанти здійснення можуть реалізовувати один або кілька дополЂ йти на додаток до "звичайного" інтерфейсу для передачі операцій у запам'ятовуючому пристрої в контролер 40 запам'ятовуючого пристрою. Звичайний інтерфейс (що включає в себе Cmd, FID і параметр QoS, як показано на фіг. 1) ілюструється стрілка 240. Інтерфейс бічної смуги може включати в себе сигнал запиту підвищення QoS бокової смуги (SbQoSUpgd), параметр QoS бокової смуги (SbQoS), FID бокової смуги (SbFID), маску бокової смуги (SbMask) і вказівка зчитування бокової смуги (SbRd) від периферійних пристроїв 22 RT в порт 44E RT, і підтвердження бокової смуги (SbAck) з порту 44E RT до периферійним пристроям 22 RT.

[0131] Периферійні пристрої 22 RT можуть встановлювати сигнал SbQoSUpgd для запиту підвищення бічної смуги і можуть передавати параметр QoS, що представляє підвищений рівень QoS, в SbQoS. SbFID може ідентифікувати потік, а SbMask може забезпечувати універсальність шляхом дозволу приховування частини SbFID і FID в черзі при порівнянні. Індикатор SbRd може вказувати, потрібно порівнювати зчитування або запису для підвищення. Порт 44E RT може підтверджувати запит підвищення з використанням SbAck. В одному варіанті здійснення апаратні засоби в контролері 40 пристрою для виконання підвищення бічної смуги можуть бути аналогічні показаним на фіг. 18, і процес може бути аналогічний показаному на фіг. 19. Знову прийняту операцію в запам'ятовуючому устроема операцій, ілюструє узагальнену роботу контролера 40 пристрою для реалізації підвищення QoS на основі старіння (даних). Як згадувалося раніше, черги 172 транзакцій MIF можуть реалізовувати підвищення пріоритету на основі старіння. Інші варіанти здійснення аналогічним чином можуть реалізовувати підвищення QoS на основі старіння. Хоча для спрощення розуміння етапи на фіг. 21 показані в конкретному порядку, можуть використовуватися інші порядки. Етапи можуть виконуватись паралельно в комбінаторної логіки в контролері 40 запам'ятовуючого пристрою. Етапи, поєднання етапів та/або блок-схема операцій в цілому можуть конвеєрно оброблятися за декілька тактів. Оновлення лічильників терміну та підвищення кваліфікації відповідних операцій в запам'ятовуючому пристрої може виконуватися паралельно для кожної операції.

[0133] Контролер 40 запам'ятовуючого пристрою може призначити лічильник терміну кожної операції в запам'ятовуючому пристрої при вступі операції в чергу (наприклад, черги 90 або 92 MCIU, черги 112 транзакцій PSQ та/або черги 172 транзакцій MIF) (етап 250). Лічильники старіння можуть відрізнятися в кожній черзі і не повинні переноситися з черги в чергу. В якості альтернативи лічильник стасновиваться на параметрі QoS кожної операції в запам'ятовуючому пристрої (наприклад, більш короткі значення для більш високих значень QoS). Початкові значення можуть бути незмінними або програмованими.

[0134] Контролер 40 запам'ятовуючого пристрою може виявити подію оновлення, яке оновлює заданий лічильник старіння (етап 252 розгалуження). Подія оновлення може змінюватися в залежності від того, як вимірюється лічильник старіння. Наприклад, деякі варіанти здійснення можуть вимірювати термін у вигляді кількості разів, що операція в запам'ятовуючому пристрої обходиться молодшої операцією в запам'ятовуючому пристрої. У таких варіантах здійснення подія оновлення може бути обходом операції в запам'ятовуючому пристрої. Інші варіанти здійснення можуть вважати такти як термін, і подія оновлення може бути переднім фронтом або заднім фронтом синхроімпульса. Ще одні варіанти здійснення можуть задавати строк іншими способами, і подія оновлення можна виявити виходячи з цього. У відповідь на виявлення події оновлення (етап 252 розгалуження, вітка "так") контролер 40 запам'ятовуючого пристрою може зменшити лічильник терміну (етап 254).

[0135] Контролер 40 запам'ятовуючого пристрою може конфігуруватися для виявлення, закінчився даний лічильник сржет конфігуруватися для підвищення рівня QoS до наступного більш високого рівня в тому ж наборі рівнів QoS (етап 258). Якщо підвищений рівень QoS не є найвищим рівнем (наприклад, RTR, етап 260 розгалуження, вітка "ні"), то контролер 40 запам'ятовуючого пристрою може призначити нове значення лічильника строку на основі нового рівня QoS для подальшого підвищення на основі старіння (етап 262). Відповідно, у цьому варіанті здійснення рівень QoS у операції в запам'ятовуючому пристрої можна підвищувати через кожен проміжний рівень QoS до найвищого рівня QoS, коли старіє операція в запам'ятовуючому пристрої.

[0136] Звертаючись далі до фіг. 22, показана блок-схема одного варіанта здійснення системи 350. У проиллюстрированном варіанті здійснення система 350 включає в себе щонайменше один примірник інтегральної схеми 10, з'єднаної з зовнішнім запам'ятовуючим пристроєм 12 (наприклад, запам'ятовуючим пристроєм 12A-12B на фіг. 1). Інтегральна схема 10 з'єднується з одним або декількома периферійними пристроями 354 і зовнішнім запам'ятовуючим пристроєм 12. Також надається джерело 356 харчування, який подає живлення на інтегральну схему 10, а також одне або декілька напруг живлення на запам'ятовуючий пристрій 12 і/або периферійні пристрої 354. В деяких варіантах здійснення може включно�ного пристрою 12).

[0137] Периферійні пристрої 354 можуть включати в себе будь-які необхідні схеми в залежності від типу системи 350. Наприклад, в одному варіанті здійснення система 350 може бути мобільним пристроєм (наприклад, персональним цифровим помічником (PDA), смартфоном і т. п.), а периферійні пристрої 354 можуть включати в себе пристрої для різних типів бездротового зв'язку, наприклад WiFi, Bluetooth, стільниковий зв'язок, система глобального позиціонування і т. п. Периферійні пристрої 354 також можуть включати в себе додаткове запам'ятовуючий пристрій, включаючи RAM, твердотільне запам'ятовуючий пристрій або дисковий накопичувач. Периферійні пристрої 354 можуть включати в себе пристрої інтерфейсу користувача, такі як екран дисплея, включає в себе сенсорні екрани або мультисенсорні екрани, клавіатура або інші пристрої введення, мікрофони, динаміки і т. п. В інших варіантах здійснення система 350 може бути будь-яким типом обчислювальної системи (наприклад, настільним персональним комп'ютером, переносним комп'ютером, робочою станцією і тощо).

[0138] Численні зміни і модифікації стануть очевидними фахівцям в даній області техніки, якщо вищенаведене розкриття изоак охоплює всі такі зміни та модифікації.

1. Контролер запам'ятовуючого пристрою, що містить безліч портів, в якому кожен порт з'єднується для прийому операцій у запам'ятовуючому пристрої з одного або кількох джерел, і в якому кожен порт призначається для трафіку операції в запам'ятовуючому пристрої конкретного типу, причому контролер накопичувача містить блок інтерфейсу агента, сконфігурований для перемикання трафіку операції в запам'ятовуючому пристрої з безлічі портів на безліч блоків каналів пристрою відповідь на відносні параметри якості обслуговування (QoS) для операцій у запам'ятовуючому пристрої, і причому у відповідь на прийом першої операції у запам'ятовуючому пристрої з першого джерела, який передав одну або більше попередніх операцій у запам'ятовуючому пристрої, і додатково у відповідь на перший параметр QoS, відповідний першої операції у запам'ятовуючому пристрої, що вказує більш високий рівень обслуговування, ніж попередні параметри QoS, відповідні попередніми операціями у запам'ятовуючому пристрої, контролер накопичувача конфігурується для підвищення попередніх параметрів QoS до рівня обслуговування, зазначеного першим параметром q o� типів трафіку і в якому блок інтерфейсу агента конфігурується для порівняння параметрів QoS з різними визначеннями для перемикання трафіку операції в запам'ятовуючому пристрої.

3. Контролер накопичувача по п. 2, в якому щонайменше один з портів призначається для трафіку реального масштабу часу, в якому параметри QoS для трафіку реального масштабу часу відображають різні рівні терміновості в джерелі.

4. Контролер накопичувача по п. 3, в якому щонайменше інший з портів призначається для трафіку від процесора, причому процесорний трафік не відноситься до реального масштабу часу, і причому параметри QoS вказують обслуговування або найкраще з можливого, або з малою затримкою.

5. Контролер накопичувача по п. 4, в якому щонайменше інший з портів призначається для трафіку від графічного блоку, причому графічний трафік не відноситься до реального масштабу часу.

6. Контролер накопичувача по п. 1, додатково містить безліч блоків каналів запам'ятовуючого пристрою, причому безліч блоків каналів запам'ятовуючого пристрою конфігурується для зберігання параметрів QoS для операцій зчитування та анулювання параметрів QoS для операцій запису і причому безліч блоків каналів запам'ятовуючого пристрою конфігурується для підвищення параметрів QoS для операція�ія, чим параметри QoS для операцій зчитування.

7. Контролер накопичувача по п. 1, додатково містить безліч блоків каналів запам'ятовуючого пристрою, сполучених з блоком інтерфейсу агента, в якому блоки каналів запам'ятовуючого пристрою кожен містять чергу попереднього сортування і блок інтерфейсу пристрою для з'єднання з запам'ятовуючим пристроєм, і в якому блок інтерфейсу агента конфігурується для планування операцій в запам'ятовуючому пристрої з портів на заданий блок каналу пристрою відповідь на параметри QoS операцій у запам'ятовуючому пристрої, і в якому блок інтерфейсу агента конфігурується для переупорядочения операцій у запам'ятовуючому пристрої в заданий блок каналу запам'ятовуючого пристрою на основі параметрів QoS, і в якому блоки каналів запам'ятовуючого пристрою конфігуруються для групування операцій у запам'ятовуючому пристрої в черзі попереднього сортування у відповідності з тим, які операції в запам'ятовуючому пристрої передбачається ефективно виконувати разом із запам'ятовуючого пристрою, і в якому блоки каналів запам'ятовуючого пристрою конфігуруються для планування груп нонфигурируются для попереднього синтезу операцій у запам'ятовуючому пристрої в команди для пристрою, і в якому блок інтерфейсу пристрою конфігурується для переупорядочения команд на основі ефективного доступу до запам'ятовуючого пристрою.

8. Контролер накопичувача по п. 7, в якому операції в запам'ятовуючому пристрої містять операції зчитування і операції запису, і в якому черзі попереднього сортування конфігуруються для постановки в чергу окремо операцій зчитування і операцій запису, і в якому черзі попереднього сортування конфігуруються для анулювання параметрів QoS для операцій запису і планування між операціями зчитування та операціями запису у відповідь на заповненість черг запису.

9. Контролер накопичувача по п. 7, в якому передбачається, що операції в запам'ятовуючому пристрої ефективно виконувати разом, якщо вірно щонайменше одне з наступного: (i) операції у запам'ятовуючому пристрої відносяться до одній і тій же сторінці в запам'ятовуючому пристрої; (ii) вони належать до різних рангах запам'ятовуючого пристрою; або (iii) вони належать до різних банкам запам'ятовуючого пристрою.

10. Контролер накопичувача по п. 1, при цьому контролер інтегрований в інтегральну схему, причому інт� (RT);
щонайменше один процесор;
одне або більше периферійних пристроїв, що не відносяться до реального масштабу часу (NRT);
причому одне або більше периферійних пристроїв RT з'єднуються з портом RT з безлічі портів, згаданий щонайменше один процесор з'єднується з першим портом NRT з безлічі портів, і причому згадані одне або більше периферійних пристроїв NRT з'єднуються з другим портом NRT з безлічі портів, і причому контролер накопичувача конфігурується для захоплення операцій у запам'ятовуючому пристрої з безлічі портів і планування операцій в запам'ятовуючому пристрої в одному або декількох каналах запам'ятовуючого пристрою, причому визначення планування між операціями в запам'ятовуючому пристрої, прийнятими в різних портах, частково залежать від конкретних портів, в яких приймалися операції в запам'ятовуючому пристрої.

11. Спосіб для управління запам'ятовує системою, що містить етапи, на яких:
приймають операції в запам'ятовуючому пристрої в безлічі портів контролера пристрою, в якому кожен порт з'єднується для прийому операцій у запам'ятовуючому пристрої з одного або кількох джерел, і в якому кожен поперации у запам'ятовуючому пристрої з безлічі портів на безліч блоків каналів пристрою контролері запам'ятовуючого пристрою у відповідь на відносні параметри якості обслуговування (QoS) для операцій у запам'ятовуючому пристрої;
приймають першу операцію в запам'ятовуючому пристрої з першого джерела, який передав одну або більше попередніх операцій у запам'ятовуючому пристрої;
у відповідь на перший параметр QoS, відповідний першої операції у запам'ятовуючому пристрої, що вказує більш високий рівень обслуговування, ніж попередні параметри QoS, відповідні попередніми операціями у запам'ятовуючому пристрої, контролер накопичувача підвищує попередні параметри QoS до рівня обслуговування, зазначеного першим параметром QoS.

12. Спосіб за п. 11, в якому етап, на якому приймають операції в запам'ятовуючому пристрої, містить етапи, на яких:
приймають першу операцію в запам'ятовуючому пристрої в порту реального масштабу часу (RT) з безлічі портів, причому перша операція в запам'ятовуючому пристрої має перший параметр якості обслуговування (QoS), заданий у відповідності з набором рівнів QoS RT;
приймають другу операцію в запам'ятовуючому пристрої в порту, не відноситься до реального масштабу часу (NRT), з безлічі портів паралельно з першою операцією в запам'ятовуючому пристрої, причому друга операція в запам'ятовуючому пристрої має другий параметр QoS, заданий відповідно до наержит етап, на якому:
контролер накопичувача планує першу операцію в запам'ятовуючому пристрої і другу операцію в запам'ятовуючому пристрої для доступу до запам'ятовуючого пристрою щонайменше частково у відповідь на перший параметр QoS і другий параметр QoS.

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

14. Спосіб за п. 11, в якому блоки каналів запам'ятовуючого пристрою кожен містять чергу попереднього сортування і блок інтерфейсу пристрою для з'єднання з запам'ятовуючим пристроєм і в якому етап, на якому перемикають трафік операції в запам'ятовуючому пристрої, містить етапи, на яких:
планують операції в запам'ятовуючому пристрої з портів на заданий блок каналу запам'ятовуючого устрЉем пристрої в заданий блок каналу запам'ятовуючого пристрою на основі параметрів QoS.

15. Спосіб за п. 14, додатково містить етапи, на яких:
безліч блоків каналів запам'ятовуючого пристрою групує операції в запам'ятовуючому пристрої в черзі попереднього сортування у відповідності з тим, які операції в запам'ятовуючому пристрої передбачається ефективно виконувати разом із запам'ятовуючого пристрою;
безліч блоків каналів запам'ятовуючого пристрою планує групи на основі параметра QoS найвищого рівня в кожній групі;
безліч блоків каналів запам'ятовуючого пристрою попередньо синтезує операції в запам'ятовуючому пристрої у вигляді команд для запам'ятовуючого пристрою;
блок інтерфейсу пристрою змінювати порядок команди на основі ефективного доступу до запам'ятовуючого пристрою.

16. Спосіб за п. 15, в якому операції в запам'ятовуючому пристрої містять операції зчитування і операції запису, і спосіб додатково містить етапи, на яких:
черги попереднього сортування ставлять у чергу окремо операції зчитування і операції запису;
черги попереднього сортування анулюють параметри QoS для операцій запису;
черги попереднього сортування планують між операціями считива�ся, що операції у запам'ятовуючому пристрої ефективно виконувати разом, якщо вірно щонайменше одне з наступного: (i) операції у запам'ятовуючому пристрої відносяться до одній і тій же сторінці в запам'ятовуючому пристрої; (ii) вони належать до різних рангах запам'ятовуючого пристрою; або (iii) вони належать до різних банкам запам'ятовуючого пристрою.



 

Схожі патенти:

Спосіб, сервер, комп'ютерна програма і комп'ютерний програмний продукт для кешування

Винахід відноситься до технології кешування. Технічним результатом є підвищення точності кешування за рахунок врахування взаємозв'язків між користувачами. Спосіб кешування містить етап, на якому визначають кэширующем сервері телекомунікаційної мережі користувальницький профіль для аналізу. Далі, згідно способу, отримують в кэширующем сервері групу користувацьких профілів. А також отримують кореляційні вимірювання, які характеризують взаємозв'язки між користувачами, для кожного користувача профілю в групі користувацьких профілів по відношенню до призначеного для користувача профілю для аналізу. Крім того, обчислюють пріоритет кешування контенту для частини вмісту бази даних користувача історії контенту групи профілів, беручи до уваги кореляційне вимір. 3 м. і 16 з.п. ф-ли, 9 іл.

Багатоканальне пристрій пріоритету

Винахід відноситься до обчислювальної техніки і може бути використаний для управління доступом декількох об'єктів до колективно використовуваного ресурсу

Пристрій пріоритетного обслуговування заявок з обмеженням перебування заявки та можливістю блокування заявок певного пріоритету

Винахід відноситься до галузі обчислювальної техніки, зокрема до пристроїв пріоритетного обслуговування запитів

Система і спосіб антиблокування доступу до диска

Винахід відноситься до планування доступу до пристрою зберігання та більш конкретно до запобігання роботи програми, яка виконується, від монополізації доступу до запам'ятовуючого пристрою

Мультивещание, обмежена часовим вікном для майбутньої доставки мультивещания

Винахід відноситься до систем розповсюдження інформації

Пристрій пріоритетного доступу з обмеженням перебування заявки

Винахід відноситься до галузі обчислювальної техніки, зокрема до пристроїв пріоритетного обслуговування запитів

Шинна система для передачі повідомлень

Винахід відноситься до шинним систем

Система і спосіб ефективного використання кеш-пам'яті у розподіленої файлової системи

Винахід відноситься до систем обробки інформації для управління даними

Пристрій для синхронізації роботи двох процесорів з загальним блоком пам'яті

Винахід відноситься до автоматики та обчислювальної техніки і може бути використане при побудові багатопроцесорних систем для реалізації межпроцессорной зв'язку
Up!