Способ для управления отображением кэша и системой кэша

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

 

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ НАСТОЯЩЕЕ ИЗОБРЕТЕНИЕ

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

[0002] Носитель в виде флэш-памяти (флэш-память) является энергонезависимым запоминающим устройством, имеющим долгий срок службы и способным поддерживать сохраненную информацию данных при выключенном питании. В предшествующем уровне техники носитель флэш-памяти часто используется в качестве кэша основного запоминающего носителя, который может быть обычной системой дискового запоминающего устройства, такого как жесткий диск и множество жестких дисков, таким образом, чтобы уменьшить ограничения производительности, вызванные плохой производительностью ввода/вывода основного запоминающего носителя.

[0003] Обычно, когда носитель флэш-памяти используется в качестве кэша, политика отображения, принятая между кэшем и основным запоминающем носителем, является отображением N-входового кэша с множественной ассоциацией. В N-входовом кэше с множественной ассоциацией, в соответствии с размером кэша, служащим в качестве цели отображения, основной запоминающий носитель, служащий в качестве источника отображения, делится на множество наборов, где емкость каждого набора равна размеру кэша. В соответствии с количеством и размером блоков целевых данных, включенных в кэш, каждый набор основного запоминающего носителя делится на одно и то же количество областей (то есть, блоков данных), где размер каждой области согласован с размером одного блока целевых данных в кэше. В одном наборе основного запоминающего носителя различные блоки данных соответствуют различным блокам целевых данных в кэше. В различных наборах основного запоминающего носителя блок данных в соответствующей позиции отображается в один и тот же блок целевых данных в кэше.

[0004] Фиг. 1 показывает пример N-входового отображения с множественной ассоциацией. В этом примере носитель флэш-памяти, служащий в качестве кэша, делится на 4 блока целевых данных от блока целевых данных 0 до блока целевых данных 3, жесткий диск, служащий источником отображения, включает в себя два набора, каждый набор делится на блоки данных, соответствующие 4 блокам целевых данных кэша, и размер каждого блока данных на жестком диске совместим с размером каждого блока целевых данных в носителе флэш-памяти. В этом примере ассоциативное соотношение N-входового отображения с множественной ассоциацией между жестким диском и кэшем является следующим: блок данных 0 в первом наборе (включающем в себя блок данных 0 - блок данных 3), и блок данных 4 во втором наборе (включающем в себя блок данных 4 - блок данных 7) жесткого диска отображаются в блок целевых данных 0 в носителе флэш-памяти, блок данных 1 в первом наборе и блок данных 5 во втором наборе жесткого диска отображаются в блок целевых данных 1 в носителе флэш-памяти, блок данных 2 в первом наборе и блок данных 6 во втором наборе жесткого диска отображаются в блок целевых данных 2 в носителе флэш-памяти, и блок данных 3 в первом наборе и блок данных 7 во втором наборе жесткого диска отображаются в блок целевых данных 3 в носителе флэш-памяти. В соответствии с соотношением отображения, данные в блоке данных 0 и блоке данных 4 кэшируются в блоке целевых данных 0, данные в блоке данных 1 и блоке данных 5 кэшируются в блоке целевых данных 1, данные в блоке данных 2 и блоке данных 6 кэшируются в блоке целевых данных 2, и данные в блоке данных 3 и блоке данных 7 кэшируются в блоке целевых данных 3.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

[0008] Вариант осуществления настоящего изобретения предоставляет способ для управления отображением кэша, где способ включает в себя:

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0012] Задачи, признаки, характеристики и преимущества настоящего изобретения станут очевидны посредством подробного описания, представленного ниже, со ссылками на последующие сопроводительные чертежи.

[0013] Фиг. 1 показывает пример N-входового отображения с множественной ассоциацией;

[0014] Фиг. 2 является схематической блок-схемой способа для управления отображением кэша в соответствии с первым вариантом осуществления настоящего изобретения;

[0015] Фиг. 3 - Фиг. 5 являются схематическими диаграммами соотношения отображения в различные периоды коммутации в примере управления отображением кэша посредством принятия способа в соответствии с первым вариантом осуществления настоящего изобретения;

[0016] Фиг. 6 - Фиг. 11 являются схематическими диаграммами соотношения отображения в различные периоды коммутации в другом примере управления отображением кэша посредством принятия способа в соответствии с первым вариантом осуществления настоящего изобретения;

[0017] Фиг. 12 является схематической блок-схемой способа для управления отображением кэша в соответствии со вторым вариантом осуществления настоящего изобретения;

[0018] Фиг. 13 и фиг. 14 являются схематическими диаграммами отображения соотношений на примере управления отображением кэша посредством принятия способа в соответствии со вторым вариантом осуществления настоящего изобретения; и

[0019] Фиг. 15 показывает систему кэша в соответствии с вариантом осуществления настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

[0021] Каждый вариант осуществления настоящего изобретения описан подробно ниже со ссылками на сопроводительные чертежи.

[0022] Фиг. 2 является схематической блок-схемой способа для управления отображением кэша в соответствии с первым вариантом осуществления настоящего изобретения. В этом варианте осуществления носитель флэш-памяти используется в качестве кэша, основной запоминающий носитель является, например, жестким диском, и один или более блоков данных в основном запоминающем носителе отображаются только в один блок целевых данных в кэше. Носитель флэш-памяти включает в себя твердотельный диск, то есть, диск SSD (твердотельный диск).

[0023] Как показано на фиг. 2, способ для управления отображением кэша, в соответствии с первым вариантом осуществления, включает в себя следующие этапы:

[0024] Этап S201: Инициация, в соответствии с предварительно установленным периодом коммутации T, таймера для начала тактирования.

[0025] Этап S202: В каждом периоде коммутации одного цикла коммутации заменяют блок целевых данных в кэше, в который отображается по меньшей мере один блок данных на жестком диске, таким образом, чтобы после одного цикла коммутации количества стираний блоков целевых данных в кэше были близки друг к другу, где количество периодов коммутирования, включенных в один цикл коммутации, является не меньше, чем количество N блоков целевых данных, включенных в кэш.

[0026] Фиг. 1 и фиг. 3 - фиг. 5 показывают конкретный пример управления отображением кэша посредством принятия способа в соответствии с первым вариантом осуществления настоящего изобретения. В этом примере в каждом периоде коммутации одного цикла коммутации блок целевых данных в кэше, в который отображается каждый блок данных на жестком диске, заменяется таким образом, чтобы каждый блок данных на жестком диске отображался в различные блоки целевых данных в кэше в различные периоды коммутации одного цикла коммутации, где количество периодов коммутации, включенных в один цикл коммутации, равно количеству N блоков целевых данных, включенных в кэш. В этом примере, например, но не ограничиваясь, кэш имеет 4 блока целевых данных, жесткий диск включает в себя два участка памяти, каждый участок памяти делится на 4 блока данных, соответствующие 4 блокам целевых данных кэша, и размер каждого блока данных на жестком диске согласован с размером каждого блока целевых данных в носителе флэш-памяти.

[0027] Как показано на фиг. 1 и фиг. 3 - фиг. 5, этот пример принимает политику динамической коммутации алгоритма периодического циклического обслуживания, и количество периодов коммутации, включенных в один цикл коммутации, равно количеству N блоков целевых данных, включенных в кэш, где N является целым числом, больше, чем 0, ив этом примере N=4. В этом примере после каждого периода коммутации коммутируется цель отображения, соответствующая каждому блоку данных на жестком диске. Каждый блок данных на жестком диске отображается в различные блоки целевых данных в различные периоды коммутации.

[0028] В частности, в этом примере соотношение отображения, показанное на фиг. 1, принимается вначале. Как показано на фиг. 1, в этом примере вначале соотношение отображения между жестким диском и кэшем является следующим: блок данных 0 и блок данных 4 жесткого диска отображаются в блок целевых данных 0 кэша, блок данных 1 и блок данных 5 жесткого диска отображаются в блок целевых данных 1 кэша, блок данных 2 и блок данных 6 жесткого диска отображаются в блок целевых данных 2 кэша, и блок данных 3 и блок данных 7 жесткого диска отображаются в блок целевых данных 3 кэша. Цифры являются номерами блоков данных или целевых блоков данных.

[0029] Когда первый период коммутации (называемый первым периодом для краткости) истекает, кэшированные данные в каждом блоке целевых данных в носителе флэш-памяти перемещаются к другому блоку целевых данных. В этом примере, например, достоверные данные, в настоящее время кэшированные в блоке целевых данных 0 в носителе флэш-памяти, перемещаются к блоку целевых данных 1, достоверные данные, в настоящее время кэшированные в блоке целевых данных 1, перемещаются к блоку целевых данных 2, достоверные данные, в настоящее время кэшированные в блоке целевых данных 2, перемещаются к блоку целевых данных 3, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 3, перемещаются к блоку целевых данных 0. После того, как данные в кэше перемещаются в соответствии с перемещением данных в блоках целевых данных, блок целевых данных, в который отображается каждый блок данных на жестком диске, соответственно заменяется. После этого перемещения соотношение отображения, полученное посредством модификации, показано на фиг. 3.

[0030] Когда второй период истекает, аналогично, достоверные данные, в настоящее время кэшированные в блоке целевых данных 0 в носителе флэш-памяти, перемещаются к блоку целевых данных 1, достоверные данные, в настоящее время кэшированные в блоке целевых данных 1, перемещаются к блоку целевых данных 2, достоверные данные, в настоящее время кэшированные в блоке целевых данных 2, перемещаются к блоку целевых данных 3, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 3, перемещаются к блоку целевых данных 0. После этого перемещения соотношение отображения между кэшем и жестким диском модифицируется в соответствии с этим перемещением, и соотношение отображения после модификации показано на фиг. 4.

[0031] Когда третий период истекает, аналогично, достоверные данные, в настоящее время кэшированные в блоке целевых данных 0 в носителе флэш-памяти, перемещаются к блоку целевых данных 1, достоверные данные, в настоящее время кэшированные в блоке целевых данных 1, перемещаются к блоку целевых данных 2, достоверные данные, в настоящее время кэшированные в блоке целевых данных 2, перемещаются к блоку целевых данных 3, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 3, перемещаются к блоку целевых данных 0. После этого перемещения соотношение отображения между кэшем и жестким диском модифицируется в соответствии с этой модификацией, и соотношение отображения после модификации, то есть, соотношение отображения, полученное посредством модификации, показано на фиг. 5. Когда четвертый период истекает, аналогично, после выполнения перемещения соотношение отображения, соответственно, модифицируется, и соотношение отображения, полученное посредством модификации, показано на фиг. 1, то есть, соотношение отображения, полученное посредством модификации, возвращается назад в первый период. Таким образом, один цикл коммутации заканчивается. Затем, процесс коммутации следующего цикла коммутации может быть продолжен.

[0032] В этом варианте осуществления после перемещения данных, кэшированных в блоках целевых данных, блок целевых данных, в который отображается блок данных, может быть заменен посредством обновления метаданных кэша, хранящихся в носителе флэш-памяти и/или памяти.

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

[0034] В этом варианте осуществления в динамической коммутации соотношения отображения, в соответствии с порядковым номером блоков целевых данных в кэше, данные в каждом блоке целевых данных в кэше перемещаются к блоку целевых данных, имеющему номер, смежный с номером в блоке целевых данных, способом алгоритма циклического обслуживания. Примером является просто примерный пример, и также применимы другие способы алгоритма циклического обслуживания. Например, когда период коммутации истекает в последовательности что: данные, в настоящее время кэшированные в блоке целевых данных 0, перемещаются к блоку целевых данных 3, данные, в настоящее время кэшированные в блоке целевых данных 3, перемещаются к блоку целевых данных 2, данные, в настоящее время кэшированные в блоке целевых данных 2, перемещаются к блоку целевых данных 1, и данные, в настоящее время кэшированные в блоке целевых данных 1, перемещаются к блоку целевых данных 0, данные, кэшированные в каждом целевом блоке данных в кэше, перемещаются, когда период коммутации истекает. Затем блок целевых данных, в который отображается каждый блок данных в основном запоминающем носителе, таком как жесткий диск, соответственно заменяется, и соотношение отображения между жестким диском и кэшем, соответственно, изменяется.

[0035] В частности, дополнительно к способу алгоритма циклического обслуживания, описанному выше, другие способы замены блока целевых данных в кэше, в который отображается по меньшей мере один блок данных в основном запоминающем носителе, также применимы при условии, что после одного цикла коммутации количества стираний блоков целевых данных в кэше являются близкими друг к другу. «Близко друг к другу» может относиться к тому, что количества стираний блоков целевых данных близки к среднему значению, и, в частности, относиться к тому, что разница в количестве стираний между блоками целевых данных меньше, чем заранее установленный порог разности в количестве стираний. Порог разности может быть установлен в соответствии с требованием или определенным сценарием приложения.

[0036] Когда принимается политика динамической коммутации периодического алгоритма циклического обслуживания, пользователь может гибко установить период коммутации в соответствии со сценарием приложения, и цикл коммутации является относительно коротким. Однако, когда цель отображения коммутируется каждый раз, все достоверные данные в кэше перемещаются таким образом, чтобы политика динамической коммутации периодического алгоритма циклического обслуживания больше подходила для кэша, имеющего маленькую емкость.

[0037] Фиг. 6 - фиг. 11 показывают другой пример управления отображением кэша посредством принятия способа в соответствии с первым вариантом осуществления настоящего изобретения. В этом примере политика отображения динамической коммутации с периодической компоновкой принимается для замены блока целевых данных в кэше, в который отображается каждый блок данных на жестком диске, таким образом, чтобы после одного цикла коммутации количества стираний блоков целевых данных в кэше были близки друг к другу. В этом примере количество периодов коммутации, включенных в один цикл коммутации, равно N×(N-1), где N является количеством блоков целевых данных, включенных в кэш, и N является целым числом больше, чем 0. Например, в этом примере N=3. Поэтому один цикл коммутации включает в себя 6 периодов коммутации в этом примере.

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

[0039] В этом примере в каждом периоде коммутации одного цикла коммутации данные, кэшированные в блоке целевых данных, в настоящее время имеющем максимальное количество стираний в кэше, обмениваются с данными, кэшированными в блоке целевых данных в кэше, отличном от блока целевых данных, имеющего максимальное количество стираний, где данные в последнем из этих двух блоков целевых данных обмениваются минимальное количество раз в текущем цикле коммутации, и последний из этих двух блоков целевых данных отличается от блока целевых данных, который обменивается данными с блоком целевых данных, в настоящее время имеющим максимальное количество стираний, в предыдущем периоде коммутации текущего цикла коммутации, то есть, данные взаимно перемещаются, и блок целевых данных, в который отображается соответствующий блок данных на жестком диске, соответственно заменяется в соответствии с перемещением данных, кэшированных в блоке целевых данных. Каждый блок целевых данных в кэше имеет N-1 возможностей, чтобы быть блоком целевых данных, имеющим максимальное количество стираний, то есть в одном цикле коммутации каждый блок целевых данных является блоком целевых данных, имеющим максимальное количество стираний, то есть, соответствует блоку данных, к которому наиболее часто предоставляется доступ в различные N-1 периоды.

[0040] Например, предполагается, что в начале цикла коммутации блок целевых данных 0 в носителе флэш-памяти имеет максимальное количество стираний, это указывает, что к блоку данных 0 и блоку данных 3 на жестком диске, которые отображаются в блок целевых данных 0, наиболее часто предоставляется доступ. В дополнение к блоку целевых данных 0, блоки целевых данных включают в себя блок целевых данных 1 и блок целевых данных 2. Как показано на фиг.6, в этом примере до истечения первого периода, соотношение отображения между жестким диском и кэшем является следующим: блок данных 0 и блок данных 3 жесткого диска отображаются в блок целевых данных 0 кэша, блок данных 1 и блок данных 4 жесткого диска отображаются в блок целевых данных 1 кэша, блок данных 2 и блок данных 5 жесткого диска отображаются в блок целевых данных 2 кэша.

[0041] В этом примере, например, когда первый период истекает, достоверные данные, в настоящее время кэшированные в блоке целевых данных 0 в носителе флэш-памяти, перемещаются к блоку целевых данных 1, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 1, перемещаются к блоку целевых данных 0. После перемещения данных в кэше, в соответствии с перемещением данных в блоках целевых данных, соответственно заменяются блок целевых данных в кэше, в который отображаются блок данных 0 и блок данных 3 на жестком диске, и блок целевых данных в кэше, в который отображаются блок данных 1 и блок данных 4 на жестком диске. После этого перемещения соотношение отображения, полученное посредством модификации, показано на фиг. 7. В это время блок данных 0 и блок данных 3, к которым наиболее часто предоставляется доступ, отображаются в блок целевых данных 1.

[0042] Когда второй период истекает, достоверные данные, кэшированные в блоке целевых данных 1, в настоящее время имеющем максимальное количество стираний в носителе флэш-памяти, перемещаются к блоку целевых данных 2, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 2, перемещаются к блоку целевых данных 1. После перемещения данных в кэше, в соответствии с перемещением данных в блоках целевых данных, соответственно заменяются блок целевых данных в кэше, в который отображаются блок данных 0 и блок данных 3 на жестком диске, и блок целевых данных в кэше, в который отображаются блок данных 2 и блок данных на жестком диске 5. После этого перемещения соотношение отображения, полученное посредством модификации, показано на фиг.8. В это время блок данных 0 и блок данных 3 на жестком диске, к которым наиболее часто предоставляется доступ, отображаются в блок целевых данных 2.

[004 3] Когда третий период истекает, достоверные данные, кэшированные в блоке целевых данных 2, в настоящее время имеющем максимальное количество стираний в носителе флэш-памяти, перемещаются к блоку целевых данных 0, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 0, перемещаются к блоку целевых данных 2. После перемещения данных в кэше, в соответствии с перемещением данных в блоках целевых данных, блок целевых данных в кэше, в который блок данных 0 и блок данных 3 в жестком диске отображены, и блок целевых данных в кэше, в который блок данных 1 и блок данных 4 в жестком диске отображены, соответственно изменяются. После этого перемещения соотношение отображения, полученное посредством модификации, показано на фиг.9. В это время блок данных 0 и блок данных 3 на жестком диске, к которым наиболее часто предоставляется доступ, отображаются в блок целевых данных 0.

[0044] Когда четвертый период истекает, достоверные данные, кэшированные в блоке целевых данных 0, в настоящее время имеющем максимальное количество стираний в носителе флэш-памяти, перемещаются к блоку целевых данных 1, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 1, перемещаются к блоку целевых данных 0. После перемещения данных в кэше, в соответствии с перемещением данных в блоках целевых данных, блок целевых данных в кэше, в который блок данных 0 и блок данных 3 в жестком диске отображены, и блок целевых данных в кэше, в который блок данных 2 и блок данных 5 в жестком диске отображены, соответственно изменяются. После этого перемещения соотношение отображения, полученное посредством модификации, показано на фиг.10. В это время блок данных 0 и блок данных 3 на жестком диске, к которым наиболее часто предоставляется доступ, отображаются в блок целевых данных 1.

[0045] Когда пятый период истекает, достоверные данные, кэшированные в блоке целевых данных 1, в настоящее время имеющем максимальное количество стираний в носителе флэш-памяти, перемещаются к блоку целевых данных 2, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 2, перемещаются к блоку целевых данных 1. После перемещения данных в кэше, в соответствии с перемещением данных в блоке целевых данных, блок целевых данных в кэше, в который блок данных 0 и блок данных 3 в жестком диске отображены, и блок целевых данных в кэше, в который блок данных 1 и блок данных 4 в жестком диске отображены, соответственно изменяются. После этого перемещения соотношение отображений, полученное посредством модификации, показано на фиг. 11. В это время блок данных 0 и блок данных 3 на жестком диске, к которым наиболее часто предоставляется доступ, отображаются в блок целевых данных 2.

[0046] Когда шестой период истекает, достоверные данные, кэшированные в блоке целевых данных 2, в настоящее время имеющем максимальное количество стираний в носителе флэш-памяти, перемещаются к блоку целевых данных 0, и достоверные данные, в настоящее время кэшированные в блоке целевых данных 0, перемещаются к блоку целевых данных 2. После перемещения данных в кэше, в соответствии с перемещением данных в блоках целевых данных, блок целевых данных в кэше, в который блок данных 0 и блок данных 3 в жестком диске отображены, и блок целевых данных в кэше, в который блок данных 2 и блок данных 5 в жестком диске отображены, соответственно изменяются. После этого перемещения соотношение отображения, полученное посредством модификации, возвращается назад, как показано на фиг. 6. В это время, заканчивается цикл коммутации и на фиг. 6, следующий цикл коммутации непрерывно выполняется, в соответствии с последовательностью коммутации, показанной на фиг. 6 - фиг. 11.

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

[0048] В этом варианте осуществления, после перемещения данных, кэшированных в блоках целевых данных, блок целевых данных, в который отображается блок данных, может быть заменен, посредством обновления метаданных кэша, сохраненных в носителе флэш-памяти и/или памяти.

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

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

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

[0052] Фиг. 12 является схематической блок-схемой способа для управления отображением кэша в соответствии со вторым вариантом осуществления настоящего изобретения. В этом варианте осуществления носитель флэш-памяти используется в качестве кэша, и основной запоминающий носитель, например, используется в качестве жесткого диска. Например, но не в качестве ограничения, кэш имеет 4 блока целевых данных, жесткий диск включает в себя два участка памяти, каждый участок памяти делится на 4 блока данных, соответствующие 4 блокам целевых данных кэша, и размер каждого блока данных на жестком диске согласован с размером каждого блока целевых данных на носителе флэш-памяти.

[0053] Как показано на фиг. 12, способ для управления отображением кэша в соответствии с этим вариантом осуществления включает в себя следующие этапы:

[0054] Этап S1201: Контроль и запись количества стираний каждого блока целевых данных в кэше.

[0055] Этап S1202: Когда разница в количестве стираний между блоком целевых данных, имеющим максимальное количество стираний, и блоком целевых данных, имеющим минимальное количество стираний в кэше, достигает предварительно установленного порога стирания, обмен данных, кэшированных в блоке целевых данных, имеющем максимальное количество стираний, с данными, кэшированными в блоке целевых данных, имеющем минимальное количество стираний.

[0056] Этап S1203: В соответствии с обменом блоками целевых данных, соответственно, заменяют блок целевых данных в кэше, в который отображаются все блоки данных, в настоящее время отображаемые в блок целевых данных, имеющий максимальное количество стираний в основном запоминающем носителе, блоком целевых данных в кэше, в который отображаются все блоки данных, в настоящее время отображаемые в блок целевых данных, имеющий минимальное количество стираний. В частности, выполняют замены таким образом, чтобы все блоки данных, в настоящее время отображаемые в блок целевых данных, имеющий максимальное количество стираний в основном запоминающем носителе, отображались в блок целевых данных, в настоящее время имеющий минимальное количество стираний, и все блоки данных, в настоящее время отображаемые в блок целевых данных, имеющий минимальное количество стираний в основном запоминающем носителе, отображались в запоминающем носителе, в настоящее время имеющий максимальное количество стираний. В частности, соотношение отображения между блоками данных на жестком диске и блоками целевых данных в кэше может быть изменено посредством изменения метаданных кэша.

[0057] Этап S1204: Затем отображение между жестким диском и кэшем изменяется, выполняются сбрасывание записанного количества стираний каждого блока целевых данных кэша и возвращение на этап S1201 для непрерывного контроля и записи количества стираний каждого блока целевых данных, которые генерируются после изменения отображения, и выполнение этапа S1203 и этапа S1204, когда условие удовлетворяется. Например, счетчик может быть использован для записи количества стираний каждого блока целевых данных. После изменения отображения каждый раз, сбрасывается счетчик, затем запускается для счета и записывает количество стираний, сгенерированных после изменения отображения.

[0058] Фиг. 1, фиг. 13 и фиг. 14 показывают конкретный пример управления отображением кэша посредством принятия способа в соответствии со вторым вариантом осуществления настоящего изобретения. В этом примере предполагается, что соотношение отображения, показанное на фиг. 1, принимается между жестким диском и кэшем вначале. Как показано на фиг. 1, вначале соотношение отображения между жестким диском и кэшем является следующим: блок данных 0 и блок данных 4 жесткого диска отображаются в блок целевых данных 0 кэша, блок данных 1 и блок данных 5 жесткого диска отображаются в блок целевых данных 1 кэша, блок данных 2 и блок данных 6 жесткого диска отображаются в блок целевых данных 2 кэша, и блок данных 3 и блок данных 7 жесткого диска отображаются в блок целевых данных 3 кэша. Количество стираний каждого блока целевых данных в кэше контролируется.

[0059] Предполагается, что блок целевых данных 0 в настоящее время имеет максимальное количество стираний, и блок целевых данных 1 в настоящее время имеет минимальное количество стираний. В ходе кэширования данных количество стираний каждого блока целевых данных контролируется и записывается. Когда определяется, что разница в количестве стираний между целевым блоком данных 0 и целевым блоком данных 1 достигает порога стирания S, данные, кэшированные в блоке целевых данных 0, имеющем максимальное количество стираний, обмениваются с данными, кэшированиями в блоке целевых данных 1, имеющим минимальное количество стираний, и, соответственно, изменение выполняется таким образом, чтобы все блоки данных (в этом примере, блок данных 0 и блок данных 4), в настоящее время отображаемые в блок целевых данных 0 на жестком диске, отображались в блок целевых данных 1, и все блоки данных (в этом примере блок данных 1 и блок данных 5), в настоящее время отображаемые в блок целевых данных 1, отображались в блок целевых данных 0. Соотношение отображения после изменения показано на фиг. 13. Затем количество стираний каждого блока целевых данных в кэше сбрасывается, и количество стираний каждого блока целевых данных в кэше, которые генерируются после изменения отображения, непрерывно контролируется.

[0060] В этом примере, после предыдущего обмена, в ходе кэширования данных предполагается, что количество стираний блока целевых данных 3 достигает минимума, и количество стираний блока целевых данных 2 достигает максимума. Когда разница в количестве стираний между блоком целевых данных 2 и блоком целевых данных 3 достигает порога стирания S, данные, кэшированные в блоке целевых данных 2, имеющем максимальное количество стираний, обмениваются с данными, кэшированными в блоке целевых данных 3, имеющем минимальное количество стираний, и, соответственно, изменение выполняется таким образом, чтобы все блоки данных (в этом примере, блок данных 2 и блок данных 6), в настоящее время отображаемые в блок целевых данных 2 на жестком диске, отображались в блок целевых данных 3, и все блоки данных (в этом примере, блок данных 3 и блок данных 7), в настоящее время отображаемые в блок целевых данных 3, отображались в блок целевых данных 2. Соотношение отображения после изменения показано на фиг. 14. Затем количество стираний каждого блока целевых данных в кэше сбрасывается, количество стираний каждого блока целевых данных в кэше, которые генерируются после изменения отображения, непрерывно контролируется, и когда разница в количестве стираний между блоком целевых данных, имеющим максимальное количество стираний, и блоком целевых данных, имеющим минимальное количество стираний, достигает предварительно установленного порога стирания S, отображение между жестким диском и кэшем, заменяется способом, аналогичным описанному выше.

[0061] Посредством использования настоящего варианта осуществления обеспечивается, что разница между максимальным количеством стираний и минимальным количеством стираний блоков целевых данных в носителе флэш-памяти и разница между максимальным количеством стираний и минимальным количеством стираний стертых блоков управляется таким образом, чтобы количество стираний каждого блока целевых данных было близким к среднему значению. Вариация количества стираний блока целевых данных в носителе флэш-памяти может управляться посредством установления порога стирания S. Этот вариант осуществления особенно применим к сценарию приложения, в котором услуги не имеют периодического эффекта или имеют неочевидный периодический эффект.

[0062] В реализации вариантов осуществления настоящего изобретения количество стираний может быть заменено количеством замен, и количество замен контролируется и записывается для выполнения динамической коммутации отображения. Как понятно специалистам в данной области техники, в кэше операция замены данных другими записанными данными называется заменой кэша.

[0063] В конкретных приложениях пользователь может выбрать политику динамического отображения из таковых, описанных выше, в соответствии с фактическим сценарием приложения, и принять политику динамического отображения, и закрыть политику динамического отображения, когда она не требуется. Кроме того, после выбора политики динамического отображения пользователь может также установить соответствующие параметры, такие как период коммутации, цикл коммутации и/или порог стираний, с помощью соответствующего модуля интерфейса в соответствии с фактическими потребностями. Без выбора политики динамического отображения, пользователь может использовать политику отображения по умолчанию, например, непосредственное отображение, полностью ассоциативное отображение и N-входовое отображение с множественной ассоциацией.

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

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

[0066] Теперь делается ссылка на фиг. 15, фиг. 15 показывает систему кэша в соответствии с вариантом осуществления настоящего изобретения.

[0067] Как показано на фиг. 15, система 1500 кэша, в соответствии с настоящим вариантом осуществления настоящего изобретения, включает в себя: основной запоминающий носитель 1510; носитель 1520 флэш-памяти, подсоединенный к основному запоминающему носителю и служащий в качестве кэша основного запоминающего носителя, где один или более блоков данных в основном запоминающем носителе отображаются только в один блок целевых данных в кэше; и процессор 1530, сконфигурированный для: замены, в предварительно установленном временном интервале, блока целевых данных в кэше основного запоминающего носителя, где по меньшей мере один блок данных в основном запоминающем носителе отображается в блок целевых данных, и замены блока целевых данных в кэше, который включает в себя блок целевых данных, в настоящее время имеющий максимальное количество стираний в кэше.

[0068] Процессор в системе кэша может быть дополнительно сконфигурирован для: замены, в каждом периоде коммутации одного цикла коммутации, блока целевых данных в кэше, в который отображается по меньшей мере один блок данных в основном запоминающем носителе, таким образом, чтобы после одного цикла коммутации количества стираний блоком целевых данных в кэше были близки друг к другу, где количество периодов коммутации, включенных в один цикл коммутации, не меньше, чем количество N блоков целевых данных, включенных в кэш.

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

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

[0071] Процессор в системе кэша может быть дополнительно сконфигурирован для: обмена, в каждом периоде коммутации одного цикла коммутации, данных, кэшированных в блоке целевых данных, в настоящее время имеющем максимальное количество стираний в кэше, с данными, кэшированиями в блоке целевых данных в кэше, отличном от блока целевых данных, имеющего максимальное количество стираний, где данные в последнем из этих двух блоков целевых данных обмениваются минимальное количество раз в текущем цикле коммутации, и последний из этих двух блоков целевых данных отличается от блока целевых данных, который обменивается данными с блоком целевых данных, в настоящее время имеющим максимальное количество стираний, в предыдущем периоде коммутации текущего цикла коммутации, и, соответственно, замены блока целевых данных, в который отображается соответствующий блок данных в основном запоминающем носителе, где один цикл коммутации включает в себя N×(N-1) периодов коммутации, и в одном цикле коммутации каждый блок целевых данных кэша является блоком целевых данных, имеющим максимальное количество стираний в кэше в различных N-1 периодах коммутации.

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

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

[0074] Специалисты в данной области техники должны понять, что функции процессора в устройстве 1500 могут быть реализованы посредством программного обеспечения, аппаратного обеспечения или комбинации программного и аппаратного обеспечения.

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

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

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

[0078] Этап посылки, описанный выше, может дополнительно включать в себя следующий этап: перемещение, в каждом периоде коммутации одного цикла коммутации, в соответствии с последовательностью номеров блоков целевых данных в кэше, данных каждого блока целевых данных в кэше к блоку целевых данных, имеющему номер, смежный с номером блока целевых данных, способом алгоритма циклического обслуживания, и, соответственно, замену, в соответствии с перемещением данных в блоках целевых данных, блока целевых данных, в который отображается каждый блок данных в основном запоминающем носителе.

[0079] Этап обнаружения, описанный выше, может дополнительно включать в себя следующий этап: обмен, в каждом периоде коммутации одного цикла коммутации, данных, кэшированных в блоке целевых данных, в настоящее время имеющем максимальное количество стираний в кэше, с данными, кэшированными в блоке целевых данных в кэше, отличном от блока целевых данных, имеющего максимальное количество стираний, где данные в последнем из этих двух блоков целевых данных обмениваются минимальное количество раз в текущем цикле коммутации, и последний блок целевых данных отличается от блока целевых данных, который обменивается данными с блоком целевых данных, в настоящее время имеющим максимальное количество стираний, в предыдущий период коммутации текущего цикла коммутации, и, соответственно, замену блока целевых данных, в который отображается соответствующий блок данных в основном запоминающем носителе, где один цикл коммутации включает в себя N×(N-1) периодов коммутации, и в одном цикле коммутации каждый блок целевых данных кэша является блоком целевых данных, имеющим максимальное количество стираний в кэше в различном N-1 периоде коммутации.

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

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

[0082] Специалисты в данной области техники должны понять, что различные вариации и изменения могут быть сделаны к способам и устройствам, описанным в вариантах осуществления настоящего изобретения, не отступая от сущности настоящего изобретения, и эти вариации и изменения должны находиться в объеме охраны настоящего изобретения. Поэтому, объем охраны настоящего изобретения должен быть заявлен в прилагаемой формуле изобретения.

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

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

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

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

5. Способ в соответствии с п. 1, в котором этап замены, с предварительно установленным интервалом времени, блока целевых данных в кэше основного запоминающего носителя, в котором по меньшей мере один блок данных в основном запоминающем носителе отображается в блок целевых данных, содержит:
обмен, в каждом периоде коммутации одного цикла коммутации, данных, кэшированных в блоке целевых данных, в настоящее время имеющем максимальное количество стираний в кэше, с данными, кэшированными в блоке целевых данных в кэше, отличном от блока целевых данных, имеющего максимальное количество стираний, при этом данные в последнем из этих двух блоков целевых данных обмениваются минимальное количество раз в текущем цикле коммутации, и последний блок целевых данных отличен от блока целевых данных, который обменивается данными с блоком целевых данных, в настоящее время имеющим максимальное количество стираний, в предыдущем периоде коммутации текущего цикла коммутации, и, соответственно, замену блока целевых данных, в который отображается соответствующий блок данных в основном запоминающем носителе;
при этом один цикл коммутации содержит N×(N-1) периодов коммутации, и в одном цикле коммутации каждый блок целевых данных кэша является блоком целевых данных, имеющим максимальное количество стираний в кэше в других N-1 периодах коммутации.

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

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

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

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

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

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

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

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

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

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



 

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

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

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

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

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

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

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

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

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

Изобретение относится к области кэш-памяти, и, более конкретно, к системам памяти с кэшем "жертвенных" данных, данных и команд. .

Изобретение относится к способам разрешения конфликта адресации узлов в асинхронных сетях. Технический результат, заключающийся в повышения надежности обнаружения и разрешения конфликта адресации узлов, достигается за счет выполняемых в сетевой системе операций, включающих этапы на которых ведущее устройство, подключенное к сети, инициирует обмен данными и формирует запросы; передает запросы по сети ведомым устройствам. Ведомые устройства принимают ответы из сети, каждое из которых подключено к сети, имеет собственный сетевой адрес и выполнено с возможностью принимать запросы ведущего устройства через сеть. Посылают из ведущего устройства в адрес выбранного ведомого устройства 1-й запрос, без задержки отправляют ответ из ведомых устройств. Посылают из ведущего устройства в адрес выбранного ведомого устройства 2-й запрос, содержащий команду, обеспечивающую случайную задержку ответа. Посылают из ведущего устройства в адрес выбранного ведомого устройства 3-й запрос выбранному ведомому устройству на изменение сетевого адреса. В случае обнаружения в сети ответа на 3-й запрос от другого ведомого устройства ведомое устройство не изменяет свой сетевой адрес, иначе ведомое устройство изменяет свой сетевой адрес и высылает ответ на 3-й запрос ведущему устройству. 6 табл.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении конфигурирования твердотельного запоминающего устройства для конкретного раздела или виртуализированного гостя в условиях, когда управляющая программа изначально не знает о конфигурации твердотельного запоминающего устройства. Способ выполнения команды для выполнения команды конфигурирования твердотельного запоминающего устройства (Configure Storage Class Memory) в вычислительной системе, имеющей доступ к основному запоминающему устройству и твердотельному запоминающему устройству, включает: получение подсистемой ввода-вывода информации о конфигурации твердотельного запоминающего устройства; сообщение подсистемой ввода-вывода управляющей команде по меньшей мере части полученной информации о конфигурации твердотельного запоминающего устройства; получение подсистемой ввода-вывода блока запроса, содержащего командный код, указывающий команду конфигурирования твердотельного запоминающего устройства и значение общего размера для определения запрашиваемого количества приращений твердотельного запоминающего устройства; инициирование процесса конфигурирования для конфигурирования твердотельного запоминающего устройства. 3 н. и 9 з.п. ф-лы, 16 ил.

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

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

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

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

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

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

Изобретение относится к области информатики, а более конкретно - к системе и способу предоставления информации и услуг пользователям. Технический результат заключается в обеспечении изоляции вычислительных процессов. Указанный технический результат достигается за счет системы для предоставления информации, хранимой в виде данных и услуг в виде результатов выполнения операций над данными, пользователям, в которой пользователи и/или приложения изолированы друг от друга, включающей: по меньшей мере одно централизованное хранилище данных, предназначенное для хранения данных, над которыми выполняются операции; по меньшей мере один вычислительный ресурс, предназначенный для выполнения размещенных в системе приложений, которые, в свою очередь, выполняют операции над размещенными в едином централизованном хранилище данными; средства сбора данных по меньшей мере от одного источника данных, которые перемещают данные от источников данных и размещают собранные данные в едином централизованном хранилище данных; средства предоставления виртуализованных ресурсов пользователям системы; средства управления вычислительным ресурсом, которые распределяют вычислительный ресурс между приложениями и пользователями. 2 н. и 4 з.п. ф-лы, 10 табл., 9 ил.

Изобретение относится к средствам динамического выбора уровня хранилища из множества уровней хранилища с целью сохранения объекта. Технический результат заключается в обеспечении наиболее оптимального места (уровня) сохранения объекта. Принимают обобщенный запрос сохранения объекта в операционной системе, исполняющейся на вычислительном устройстве, причем данный обобщенный запрос принимается от приложения, исполняющегося на этом вычислительном устройстве. В ответ на прием упомянутого запроса выбирают при помощи операционной системы из множества уровней хранилища уровень хранилища для сохранения объекта на основе одного или более показателей расположения объекта. Обеспечивают сохранение объекта на выбранном уровне хранилища. 2 н. и 13 з.п. ф-лы, 8 ил.
Наверх