WO2022240318A1 - Способ управления системой хранения данных и система хранения данных - Google Patents

Способ управления системой хранения данных и система хранения данных Download PDF

Info

Publication number
WO2022240318A1
WO2022240318A1 PCT/RU2022/050121 RU2022050121W WO2022240318A1 WO 2022240318 A1 WO2022240318 A1 WO 2022240318A1 RU 2022050121 W RU2022050121 W RU 2022050121W WO 2022240318 A1 WO2022240318 A1 WO 2022240318A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
blocks
group
ssd
request
Prior art date
Application number
PCT/RU2022/050121
Other languages
English (en)
French (fr)
Inventor
Светлана Викторовна ЛАЗАРЕВА
Original Assignee
Общество с ограниченной ответственностью "РЭЙДИКС"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU2021113563A external-priority patent/RU2805012C2/ru
Application filed by Общество с ограниченной ответственностью "РЭЙДИКС" filed Critical Общество с ограниченной ответственностью "РЭЙДИКС"
Publication of WO2022240318A1 publication Critical patent/WO2022240318A1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space

Definitions

  • the invention relates to a data storage system and the management of this system, including operating memory, a parallel SSD cache and a hard disk drive.
  • SSDs solid state drives
  • HDDs disk drives
  • the patent describes a way to replace an SSD block depending on the popularity of the block.
  • the disk system contains an SSD as a cache and hard drive memory as an HDD.
  • the method involves determining the 25 least popular SSD block based on the data residence time and the number of requests per block and excluding it from the SSD queue.
  • EFFECT prevention of contamination of the SSD cache and replacement of an SSD block having a high match rate.
  • SSD write operations are reduced by reducing the frequency of block exchange, thereby extending the life of the SSD. 2
  • the closest analogue is the application US20180032266, publication 02/01/2018, IPC G06F-003/06, which describes a storage system management method.
  • the storage system contains an SSD cache and a hard disk drive, while the SSD cache is divided into memory blocks of the same size and the first group of blocks for writing and the second group of blocks for reading are formed from these blocks. If the I/O request is a read request, storage of the target data from the storage device is performed to the first cache group; if the I/O request is a write request, store the target data in the second 10 cache group.
  • SSDs as cache devices with a limited number of write cycles can significantly accelerate their wear due to the use of traditional caching algorithms.
  • hybrid storage systems using SSD and HDD memory 15 require new caching algorithms to make optimal use of the hybrid storage structure.
  • the technical result of the invention is to increase the performance of the storage system and increase its service line 20 due to the optimal use of the SSD cache.
  • the method for managing a storage system that includes RAM, parallel SSD cache, and a hard disk drive includes the operations shown below.
  • the SSD cache is divided into memory blocks of the same size and 25 form the first group of blocks for writing (RWC) and the second group of blocks for reading (RRC) from these blocks.
  • Random request data is written to the free memory blocks of the first group of blocks to write the SSD cache, and sequential requests are written to the hard disk drive;
  • the type of request is determined - sequential or random.
  • the location of the data is determined and read.
  • a random read request locate the data and read it, and
  • the SSD cache is pre-divided into memory blocks of K megabytes in size.
  • the data is written to the memory blocks of the SSD cache in a sequential write manner.
  • the release of data from the second group of blocks for reading (RRC) of the SSD cache is performed when there are no free memory blocks other than the current one.
  • free memory blocks of the first or second group of SSD cache blocks 5 are transferred to another group of SSD cache blocks.
  • the storage system includes a read and write request detector connected to RAM connected to a 10 parallel SSD cache and hard disk drive.
  • the SSD cache is divided into memory blocks of the same size and includes the first group of blocks for writing (RWC) and the second group of blocks for reading (RRC).
  • the SSD cache is also connected to the hard drive.
  • the system contains an analyzer of the frequency of requests for reading data, connected 15 at the input to the detector of requests for writing and reading data, and at the outputs to the RAM and SSD cache.
  • Block - The logical space of the SSD cache, divided into blocks of the same size K megabytes.
  • the cache hit count is the number of requests for specific data that are in a data block in the SSD cache.
  • FIG. 1 is a block diagram of a data storage system.
  • FIG. Figure 2 shows the structure of the SSD cache containing the first group of 25 blocks for writing (RWC) and the second group of blocks for reading (RRC).
  • FIG. 3 shows the structure of the request.
  • FIG. 4 shows the structure of the first group of blocks for writing (RWC) and the second group of blocks for reading (RRC).
  • FIG. 5 is a flowchart of a process for processing a read request.
  • FIG. 6 is a flowchart of a write request processing process.
  • FIG. 7 is a flowchart of the process of evicting from the second group of blocks for reading (RRC). 5
  • FIG. 8 is a flowchart of the process of evicting from the first block-on-write (RWC) group.
  • SSD caching is a technology that uses solid state drives 5 as a buffer for frequently accessed data. The system determines the degree of frequency of data access and moves them to a fast drive. SSD cache storage complements HDD arrays by improving performance by optimizing random requests. The design of HDDs allows them to successfully handle sequential requests, but has a natural limitation for dealing with random requests.
  • the volume of the SDD cache in this case is usually about 5-10% of the capacity of the main disk subsystem.
  • an SSD cache is implemented, parallel to RAM, the division of incoming requests into categories RRC (Random Read Cache) - a request for reading, and RWC (Random Write Cache) - a request for writing , and the use of a new method of displacement from the group of blocks for reading (RRC).
  • RRC Random Read Cache
  • RWC Random Write Cache
  • the increase in storage system performance and increase in its line of service due to the optimal use of the SSD cache can be further increased by redistributing the ratio of the number of free and used RRC and RWC blocks, depending on the current load on the storage system.
  • the storage system (FIG. 1) includes a main memory 2, a 25 parallel SSD cache 4 based on solid state drives, and hard disk drives (HDDs) 3.
  • RAM 2 is used separately from SSD cache 4.
  • the SSD cache space 4 is divided into blocks of the same size K megabytes. In terms of SSD cache efficiency, the smaller the block size, the better, but the more metadata you need to store 6 in RAM. The optimal block size is 1 GB. Data is written to the memory blocks of the SSD cache in the form of a sequential (log-structured) write.
  • the data storage system (Fig. 1) also contains an analyzer 5 5 of the frequency of accesses to read data and the size of the incoming write request, connected at the input to the detector 1 of requests for writing and reading data, and at the outputs - to RAM 2 and SSD cache 4. With the help of analyzer 5, they make decisions about the need to write new requests to the SSD cache, while only random requests with a size of 10 less than M get into RWC. two.
  • Input RAM 2 is connected to the detector 1 requests for writing and reading data.
  • the SSD cache 4 (FIG. 2) is divided into two functional categories: the blocks 15 of the first group of blocks 7 for writing (RWC) and the second group of blocks 6 for reading (RRC). Each of these groups of blocks has its own rules for hitting and expelling.
  • query 8 has two parts. The first part of the request is occupied by metadata - information about the data block itself and the state of the data that is recorded in it. The rest is the data itself.
  • RWC For the first group of blocks per write (RWC), they are records that store information in the form of a hash table about where on the hard disk drive (HDD) this cached data is located.
  • FIG. 4 shows the block view of the first group of blocks 6 for writing (RWC) and the second group of blocks 7 for reading (RRC).
  • Free basic blocks 7 of the second group for reading RRC can, if necessary, become free blocks of the first group for writing RWC. If necessary, free blocks 6 of the first group of RWC blocks can become free blocks of the second group for RRC reading. it 7 depends on the selected policy - with or without priority for reading and writing. In the absence of priority, free blocks do not move between RRC and RWC. With read or write priority, free RRC/RWC blocks become RWC/RRC blocks if needed. If priority is set for both read and write operations, then free blocks do not initially belong to RWC/RRC, and free blocks are assigned to the first incoming requests.
  • FIG. 5 A flowchart for processing a read request is shown in FIG. 5.
  • data determine the type of request 102 - 10 sequential or random.
  • data 103 is located and read from either SSD 104 or RAM 105 or HDD 106.
  • the location of the data is determined. Check if this random request exists in RAM 107 and read from 15 RAM 108. Check if there is a random request in SSD 109 and read it from SSD 110 or from HDD 112. If the data was read from SSD, the metric is changed in RRC the block that was hit.
  • the data was stored on the HDD, then they are analyzed 113 for the frequency of accesses for reading data using the analyzer 5 (Fig. 1) and, at a frequency of 20 accesses more than two, the data from the hard disk drive 3 is rewritten 114 into the second group of blocks 7 for reading SSD cache. If there are no free blocks 115 in the second group of sides 7 for reading, operations are performed to release blocks 116. In this case, the block with the smallest WE metric is released and the metrics of all occupied blocks are recalculated. 25 Read request processing ends 117.
  • a read request may refer to data that resides in different parts of the database, such as RAM, SSD cache, or HDD.
  • the primary request is divided into parts, depending on which memory they belong to, and each part is considered a separate request.
  • FIG. 6 A flowchart for processing a write request is shown in FIG. 6.
  • the type of request 202 is determined - sequential or random. If the request is sequential, 8 write the request 203 to the HDD 3.
  • check 204 if the given request is already in the SSD cache 4. If it is, update 205 parts of the request in the SSD cache 4.
  • check if the size of the request to write the parameter M does not exceed 206 If the request exceeds this size M, which is 5 set to eg 32 KB - 64 KB, then the request is written 211 to the HDD. If the request is small, then 207 is checked, if free space is in the current block of the first group of RWC blocks in SSD cache 4, then 208 is written to the current block. If there is no space, then check 209 if there is a free block, and if there is 210 a free block, write to it, otherwise, write to HDD 3.
  • the process of evicting from the second group of blocks 7 for reading is shown in FIG. 7.
  • the process of displacement from the second group of blocks begins when there are no free blocks in the group, except for the current one.
  • the two blocks with the least 15 cache hits per block are determined. Determine the intensity of use of each of the selected blocks for a certain period of time. The usage intensity is determined based on the well-known Write Efficiency metric proposed in [1]
  • Number of cache block entries the number of entries in the data block in the SSD cache at the time the WE metric was determined.
  • the WE metric of value 303 is recalculated. For this, the WE metric for all busy blocks is divided by the number N - this is the query aging parameter. In the implemented zone algorithm, it is equal to 2. This completes the preemption process 304. 9
  • the process of evicting from the first group of write blocks (RWC) is disclosed in FIG. 8.
  • Data that has not been used for a long time is evicted from the first group of write blocks (RWC) in accordance with the 401 eviction policy.
  • eviction algorithms based on principle 5 “queues” can be used, for example, FIFO (“first in, first out”) (https://ru.wikipedia.org/wiki/FIFO).
  • FIFO first in, first out”
  • the totality of all operations partitioning the parallel SSD cache into memory blocks of the same size and forming the first group of blocks for writing (RWC) and the second group of blocks for reading (RRC) from these blocks; processing write and read requests and data displacement processes, various for groups of SSD cache blocks for reading and writing) method 15 of managing the storage system (including RAM, parallel SSD cache and hard disk drive) can significantly increase the performance of the storage system and extend the life of SSD drives.
  • the claimed method and device can be used for efficient operation with a fairly wide range of tasks and loads in various areas of data storage. ten

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Изобретение относится к системе хранения данных и управлению этой системой. Система хранения данных включает оперативную память, параллельный SSD-кэш, разделенный на первую группу блоков на запись (RWC) и вторую группу блоков на чтение (RRC), накопитель на жестких дисках, детектор запросов и анализатор частоты обращений на чтение данных. Способ позволяет разделить запросы на случайные и последовательные как при операциях записи, так и при операциях чтения и, в зависимости от вида запроса, направить в различные виды памяти. При заполнении в SSD-кэше всех свободных групп первой группы блоков на запись или второй группы блоков на чтение производят вытеснение данных. Из первой группы блоков на запись (RWC) вытесняют давно не используемые данные. Из второй группы блоков на чтение (RRC) освобождают данные из блока данных, которые имеют наименьшую интенсивность использования с учетом числа пережитых вытеснений данных из блока за определенный период времени.

Description

1
СПОСОБ УПРАВЛЕНИЯ СИСТЕМОЙ ХРАНЕНИЯ ДАННЫХ И СИСТЕМА
ХРАНЕНИЯ ДАННЫХ
ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к системе хранения данных и управлению этой 5 системой, включающей операционную память, параллельный SSD-кэш и накопитель на жестких дисках.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Основные преимущества систем хранения данных с SSD-кэшем и накопителем на жестких дисках - высокая производительность операций 10 ввода-вывода, обеспечиваемая твердотельными накопителями (SSD), и возможность длительной работы, которую гарантируют дисковые накопители (HDD). При этом такие системы требуют особых алгоритмов кэширования, берущих во внимание особенности используемого кэш -устройства - SSD.
Известен патент US9128847, публикация 08.09.2015, МПК G06F-003/04, 15 в котором описано устройство управления кэш-памятью системы, включающей контроллер, SSD-кэш и накопитель на жестких дисках, при этом SSD-кэш разбит на два блока памяти. Способ управления кэш памятью предусматривает, что при превышении определенного порога данные из первого блока SSD-кэша переписываются или во второй блок SSD-кэша или в 20 накопитель на жестких дисках.
Известен патент KR101675694, публикация 23.11.2016, МПК G06F- 003/06. В патенте описан способ замены блока SSD в зависимости от популярности блока. Дисковая система содержит SSD в качестве кэша и память на жестких дисках HDD. Способ предусматривает определение 25 наименее популярного блока SSD на основе времени пребывания данных и количества запросов на блок и исключения его из очереди SSD. Изобретение обеспечивает предотвращение загрязнения SSD-кэша и замены блока SSD, имеющего высокую частоту совпадений. Кроме того, сокращаются операции записи SSD за счет уменьшения частоты обмена блоками, тем самым зо продлевая срок службы SSD. 2
Наиболее близким аналогом является заявка US20180032266, публикация 01.02.2018, МПК G06F-003/06, описывающая способ управления системой хранения. Система хранения содержит SSD-кэш и накопитель на жестких дисках, при этом разделяют SSD-кэш на блоки памяти одинакового 5 размера и формируют из этих блоков первую группу блоков на запись и вторую группу блоков на чтение. Если запрос ввода-вывода является запросом на чтение, сохранение целевых данных из запоминающего устройства осуществляется в первую группу устройств кэш-памяти; если запрос ввода- вывода является запросом на запись, сохранение целевых данных во второй 10 группе устройств кэш-памяти.
Использование твердотельных накопителей в качестве кэш-устройств с ограниченным количеством циклов перезаписи может значительно ускорить их износ из-за использования традиционных алгоритмов кэширования. Таким образом, гибридные системы хранения данных, использующих SSD и память 15 на жестких дисках, требуют новых алгоритмов кэширования, позволяющих оптимально использовать гибридную структуру систем хранения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Техническим результатом изобретения является повышение производительности системы хранения данных и увеличение ее строка 20 службы за счет оптимального использования SSD-кэша.
Способ управления системой хранения данных, которая включает оперативную память, параллельный SSD-кэш и накопитель на жестких дисках, содержит операции, представленные ниже.
Разделяют SSD-кэш на блоки памяти одинакового размера и 25 формируют из этих блоков первую группу блоков на запись (RWC) и вторую группу блоков на чтение (RRC).
Получают запрос записи или чтения данных.
- при запросе на запись данных определяют вид запроса - последовательный или случайный. Данные случайных запросов записывают в зо свободные блоки памяти первой группы блоков на запись SSD-кэша, а последовательные запросы записывают на накопитель на жестких дисках; 3
- при запросе на чтение данных определяют вид запроса - последовательный или случайный. При последовательном запросе на чтение определяют место нахождения данных и считывают их. При случайном запросе на чтение определяют место нахождения данных и считывают их, и
5 если данные хранились в накопителе на жестких дисках, то анализируют их на частоту обращений на чтение данных и, при частоте обращений больше двух, данные из накопителя на жестких дисках переписываются во вторую группу блоков на чтение SSD-кэша.
При заполнении всех свободных групп первой группы блоков на запись 10 или второй группы блоков на чтение SSD-кэша производят вытеснение данных,
- при этом последовательно вытесняют данные в накопитель на жестких дисках из первой группы блоков на запись (RWC),
- а из второй группы блоков на чтение (RRC) вытесняют данные, 15 которые имеют наименьшую интенсивность записи с учетом числа пережитых вытеснений данных из блока за определенный период времени.
В частности, предварительно разделяют SSD-кэш на блоки памяти размером К мегабайт.
Кроме того, запись данных осуществляют в блоки памяти SSD-кэша в 20 виде последовательной записи.
Помимо этого, при осуществлении запроса на запись проверяют, хранятся ли данные запроса в SSD-кэше и, при их наличии, данные обновляют.
При этом, случайные запросы более М килобайт записывают в 25 накопитель на жестких дисках.
Кроме того, при получении запроса на чтение предварительно проверяют, где находится запрос и при наличии частей запроса одновременно в RAM, SSD-кэше, или HDD, разбивают запрос на части и каждую часть считают отдельным запросом. зо Кроме этого, при последовательном запросе на чтение данные считывают или с оперативной памяти или с накопителя на жестких дисках. 4
В частности, освобождение данных из второй группы блоков на чтение (RRC) SSD-кэша производят, когда нет свободных блоков памяти кроме текущего.
Кроме того, свободные блоки памяти первой или второй группы блоков 5 памяти SSD-кэша передают в другую группу блоков памяти SSD-кэша.
Помимо этого, вытеснение данных из SSD-кэша производят целыми блоками.
Система хранения данных включает детектор запросов на запись и чтение данных, подключенный к оперативной памяти, соединенной с 10 параллельным SSD-кэшем и накопителем на жестких дисках. При этом, SSD- кэш разделен на блоки памяти одинакового размера и включает в себя первую группу блоков на запись (RWC) и вторую группу блоков на чтение (RRC). SSD- кэш подключен также к накопителю на жестких дисках. При этом, система содержит анализатор частоты обращений на чтение данных, подключенный 15 по входу к детектору запросов на запись и чтение данных, а по выходам к оперативной памяти и SSD-кэшу.
В данной заявке используются следующие термины.
Блок - Логическое пространство SSD-кэша, разбитое на блоки одинакового размера К мегабайт.
20 Число попаданий в кэш - это число запросов к конкретным данным, которые находятся в блоке данных в SSD-кэше.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 приведена блок-схема системы хранения данных.
На Фиг. 2 приведена структура SSD-кэша, содержащая первую группу 25 блоков на запись (RWC) и вторую группу блоков на чтение (RRC).
На Фиг. 3 приведена структура запроса.
На Фиг. 4 приведена структура первой группы блоков на запись (RWC) и второй группы блоков на чтение (RRC).
На Фиг. 5 приведена блок-схема процесса обработки запроса на чтение зо На Фиг. 6 приведена блок-схема процесса обработки запроса на запись.
На Фиг. 7 приведена блок-схема процесса вытеснения из второй группы блоков на чтение (RRC). 5
На Фиг. 8 приведена блок-схема процесса вытеснения из первой группы блоков на запись (RWC).
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
SSD-кэширование — это технология, при которой твердотельные 5 накопители используются в качестве буфера для часто запрашиваемых данных. Система определяет степень частоты обращения к данным и перемещает их на быстрый накопитель. Система хранения данных с SSD- кэшем дополняет HDD-массивы, повышая производительность за счет оптимизации случайных запросов. Устройство HDD-накопителей позволяет им 10 успешно справляться с последовательными запросами, но имеет естественное ограничение для работы со случайными запросами. Объем SDD-кэша при этом обычно составляет около 5-10% от емкости основной дисковой подсистемы.
В заявленной системе хранения данных и способе ее управления на 15 основе технологии RAIDIX реализован SSD-кэш, параллельный оперативной памяти, разделение входящих запросов на категории RRC (Random Read Cache) - запрос на чтение, и RWC (Random Write Cache) - запрос на запись, и использование нового способа вытеснения из группы блоков на чтение (RRC). Кроме того, повышение производительности системы хранения данных и 20 увеличение ее строка службы за счет оптимального использования SSD-кэша может быть еще увеличено за счет операций перераспределения соотношения количества свободных и используемых RRC и RWC блоков в зависимости от текущей нагрузки на систему хранения данных.
Система хранения данных (Фиг. 1) включает оперативную память 2, 25 параллельный SSD-кэш 4 на основе твердотельных накопителей и накопители 3 на жестких дисках (HDD). В системе с параллельным SSD- кэшем 4 оперативная память 2 используется отдельно от SSD-кэша 4.
На входе системы расположен детектор запросов 1 , который определяет вид запроса - случайный или последовательный зо Пространство SSD-кэша 4 разбито на блоки одинакового размера К мегабайт. С точки зрения эффективности использования SSD- кэша, чем меньше размер блока, тем лучше, но тем больше метаданных нужно хранить 6 в RAM-памяти. Наиболее оптимален размер блока 1 Гбайт. Запись данных осуществляют в блоки памяти SSD-кэша в виде последовательной (логструктурированной) записи.
Система хранения данных (Фиг. 1) также содержит анализатор 5 5 частоты обращений на чтение данных и размера входящего запроса на запись, подключенный по входу к детектору 1 запросов на запись и чтение данных, а по выходам - к оперативной памяти 2 и SSD-кэшу 4. С помощью анализатора 5 принимают решения о необходимости записи новых запросов в SSD- кэш, при этом в RWC попадают только случайные запросы размером 10 меньше М. В RRC попадают запросы, к которым повторно обратились за определенный момент времени, то есть с частотой больше двух.
Вход оперативной памяти RAM 2 подключен к детектору 1 запросов на запись и чтение данных.
SSD-кэш 4 (Фиг. 2) разделен на две функциональные категории: блоки 15 первой группы блоков 7 на запись (RWC) и второй группы блоков 6 на чтение (RRC). Для каждой из этих групп блоков есть свои правила попадания и вытеснения. На Фиг. 3 показано, что запрос 8 состоит из двух частей. Первую часть запроса занимают метаданные - информация о самом блоке данных и состоянии данных, которые записаны в нем. Остальное - это непосредственно 20 сами данные. Для первой группы блоков на запись (RWC) они представляют собой записи, в которых хранится информация в виде хэш-таблицы о том, где на жестком диске (HDD) находятся эти кэшированные данные.
На Фиг. 4 показан вид блоков первой группы блоков 6 на запись (RWC) и второй группы блоков 7 на чтение (RRC).
25 - Занятый блок, который полностью заполнен.
- Текущий блок, в который сейчас записываются запросы.
- Свободный блок, в котором нет данных.
- Вытесняемый, из которого в данный момент происходит процедура вытеснения. зо Свободные основные блоки 7 второй группы на чтение RRC могут при необходимости становится свободными блоками первой группы на запись RWC. При необходимости, свободные блоки 6 первой группы блоков RWC могут становится свободными блоками второй группы на чтение RRC. Это 7 зависит от выбранной политики - с наличием или отсутствием приоритета на чтение и запись. При отсутствии приоритета свободные блоки не перемещаются между RRC и RWC. При наличии приоритета на чтение или запись свободные блоки RRC/RWC становятся блоками RWC/RRC, если в 5 этом существует необходимость. Если приоритет установлен для операций и чтения и записи, то свободные блоки изначально не принадлежат RWC/RRC, а свободные блоки назначаются первым пришедшим запросам.
Блок-схема операций при обработке запроса на чтение приведена на Фиг. 5. При запросе на чтение 101 данных определяют вид запроса 102 - 10 последовательный или случайный. При последовательном запросе на чтение определяют место нахождения данных 103 и считывают их или из SSD 104 или RAM 105 или из HDD 106.
При случайном запросе на чтение определяют место нахождения данных. Проверяют, есть ли этот случайный запрос в RAM 107 и считывают из 15 оперативной памяти RAM 108. Проверяют, есть ли случайный запрос в SSD 109 и считывают его из SSD 110, или из HDD 112. Если данные считывались с SSD, в RRC меняется метрика блока, в который произошло попадание.
Если данные хранились на HDD, то анализируют 113 их на частоту обращений на чтение данных с помощью анализатора 5 (Фиг. 1 ) и, при частоте 20 обращений больше двух, данные из накопителя 3 на жестких дисках переписываются 114 во вторую группу блоков 7 на чтение SSD-кэша. Если во второй группе боков 7 на чтение нет свободных блоков 115, производятся операции освобождения блоков 116. При этом освобождается блок с наименьшей метрикой WE и пересчитываются метрики всех занятых блоков. 25 Обработка запроса на чтение завершается 117.
Следует также отметить, что запрос на чтение может относится к данным, которые находятся в разных частях базы данных, например, в RAM, SSD-кэше, или HDD. В этом случае прежде всех операций разбивают первичный запрос на части, в зависимости от того, к какой памяти они зо относятся и каждую часть считают отдельным запросом.
Блок-схема операций при обработке запроса на запись приведена на Фиг. 6. При запросе 201 на запись данных определяют вид запроса 202 - последовательный или случайный. Если запрос последовательный, 8 записывают запрос 203 на HDD 3. Далее проверяют 204, нет ли уже данного запроса в SSD-кэше 4. Если он есть, обновляют 205 части запроса в SSD- кэше 4. Далее проверяют, не превышает ли 206 размер запроса на запись параметра М. Если запрос превышает этот размер М, который 5 устанавливается, например, в 32 Кб - 64 Кб, то запрос записывается 211 на HDD. Если запрос небольшого размера, то проверяется 207, если свободное место в текущем блоке первой группы блоков RWC в SSD-кэше 4, то записывают 208 в текущий блок. Если места нет, то проверяют 209, есть ли свободный блок, и при наличии 210 свободного блока записывают в него, в 10 противном случае записывают на HDD 3.
Процесс вытеснения из второй группы блоков 7 на чтение (RRC) показан на Фиг. 7. Процесс вытеснения из второй группы блоков начинается, когда в группе нет свободных блоков, кроме текущего.
Первоначально определяют два блока с наименьшим числом 15 попаданий в кэш на блок. Определяют интенсивность использования каждого из выбранных блоков за определенный период времени. Интенсивность использования определяется на основе известной метрики «эффективность записи» Write Efficiency, предложенной в [1]
T l ._ число попаданий в блок кэш
WE = - : — - ; число записей в блок кэш
20 где:
Число попаданий в кэш - число запросов к данным, находящимся в конкретном, выбранном блоке данных в SSD-кэша.
Число записей в блок кэш - число записей в блоке данных в SSD-кэше ко времени определения метрики WE.
25 Все блоки упорядочиваются по метрике WE и выбирается блок 301 с наименьшим значением. Теперь он считается свободным блоком 302.
После этого, для всех занятых блоков пересчитывается метрика WE значения 303. Для этого метрика WE для всех занятых блоков делится на число N - это параметр устаревания запросов. В реализованном алгоритме зо он равен 2. На этом процесс вытеснения заканчивается 304. 9
Процесс вытеснения из первой группы блоков на запись (RWC) раскрыт на Фиг. 8. Из первой группы блоков на запись (RWC) вытесняют давно не используемые данные в соответствии с политикой вытеснения 401. При этом могут использоваться алгоритмы вытеснения, основанные на принципе 5 «очереди», например, FIFO («первым пришёл - первым ушёл») (https://ru.wikipedia.org/wiki/FIFO). При выполнении вытеснения запросы в блоке упорядочивают 402 по возрастанию номера адресации, затем упорядоченные запросы записываются в HDD - 403. После этого 404 освобожденный блок получает статус свободного.
10 Совокупность всех операций (разбивка параллельного SSD-кэша на блоки памяти одинакового размера и формирование из этих блоков первой группы блоков на запись (RWC) и второй группы блоков на чтение (RRC); обработка запросов на запись и чтение и процессы вытеснения данных, различных для групп блоков SSD-кэша на чтение и запись) способа 15 управления системой хранения данных (включающую оперативную память, параллельный SSD-кэш и накопитель на жестких дисках) позволяет значительно увеличить производительность системы хранения данных и продлить срок использования SSD-накопителей.
Проведённые сравнительные эксперименты с известными схемами 20 гибридных систем хранения данных, которые включают оперативную память, параллельный SSD-кэш и накопитель на жестких дисках, показали, что прирост производительности при разных типах запросов составляет от 5 до 46 раз. При этом количество требуемых перезаписей на SSD-накопителях в заявляемом способе будет примерно в 6 раз меньше, чем во многих 25 традиционных системах хранения данных. Соответственно, в данной системе ресурс твердотельных накопителей используется значительно эффективнее, увеличивая срок их жизни.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Заявленные способ и устройство могут быть применены для зо эффективной работы с достаточно широким спектром задач и нагрузок в различных областях хранения данных. 10
Благодаря сортировке запросов и новым способам вытеснения данных, сглаживание пиков случайной нагрузки происходит быстрее и с меньшим влиянием на общую производительность системы.
[1] WEC: Improving Durability of SSD Cache Drives by Caching Write Efficient Data / Yunpeng Chai, Zhihui Du, Xiao Qin, David A Bader //IEEE T ransactions on Computers. — 2015. — Vol. 64, no. 11. — P. 3304- 3316

Claims

11
ФОРМУЛА ИЗОБРЕТЕНИЯ Способ управления системой хранения данных, которая включает оперативную память, параллельный SSD-кзш и накопитель нежестких дисках, при котором:
- разделяют SSD-кзш на блоки памяти одинакового размера и формируют из этих блоков первую группу блоков на запись (RWC) и вторую группу блоков на чтение (RRC);
- получают запрос записи или чтения данных;
- при запросе на запись данных определяют вид запроса - последовательный или случайный, и данные случайных запросов записывают в свободные блоки памяти первой группы блоков на запись SSD-кэша, а последовательные запросы записывают в накопитель на жестких дисках;
- при запросе на чтение данных определяют вид запроса, последовательный или случайный;
- при последовательном запросе на чтение определяют место нахождения данных и считывают их;
- при случайном запросе на чтение определяют место нахождения данных и считывают их, и, если данные хранились в накопителе на жестких дисках, то анализируют их на частоту обращений на чтение данных, и при частоте обращений больше двух, данные из накопителя на жестких дисках переписываются во вторую группу блоков на чтение SSD-кзша;
- при заполнении всех свободных групп первой группы блоков на запись или второй группы блоков на чтение SSD-кзша производят вытеснение данных,
- при этом последовательно вытесняют данные на накопитель на жестких дисках из первой группы блоков на запись (RWC),
- а из второй группы блоков на чтение (RRC) вытесняют данные, которые имеют наименьшую интенсивность записи с учетом числа пережитых вытеснений данных из блока за определенный период времени. 12 . Способ по n. 1 характеризуется тем, что предварительно разделяют SSD-кзш на блоки памяти размером К мегабайт. . Способ по п. 1 характеризуется тем, что запись данных осуществляют в виде последовательной записи в блоки памяти SSD-кзша. . Способ по п. 1 характеризуется тем, что при осуществлении запроса на запись проверяют, хранятся ли данные запроса в SSD-кэше, и при их наличии данные обновляют. . Способ по п. 1 характеризуется тем, что случайные запросы более М килобайт записывают в накопитель на жестких дисках. Способ по п. 1 характеризуется тем, что при получении запроса на чтение предварительно проверяют, где находятся данные запроса и лри наличии частей запроса одновременно в RAM, SSD-кэше, или HDD, разбивают запрос на части и каждую часть считают отдельным запросом. . Способ по п. 1 характеризуется тем, что при последовательном запросе на чтение данные считывают или с оперативной памяти или с накопителя на жестких дисках. . Способ по п. 1 характеризуется тем, что вытеснение данных из второй группы блоков на чтение (RRC) SSD-кзша производят, когда нет свободных блоков памяти, кроме текущего. . Способ по п 1 характеризуется тем, что свободные блоки памяти первой или второй группы блоков памяти SSD-кзша передают в другую группу блоков памяти SSD-кзша. 0. Способ по п. 1 характеризуется тем, что вытеснение данных из SSD- кзша производят целыми блоками. 1. Система хранения данных включает детектор запросов на запись и чтение данных, подключенный к оперативной памяти, соединенной с параллельным SSD-кзшем и накопителем на жестких дисках, при этом SSD-кзш разделен на блоки памяти одинакового размера и включает в себя первую группу блоков на запись (RWC) и вторую группу блоков на чтение (RRC). SSD-кзш подключен также к накопителю на жестких дисках, при этом система содержит анализатор частоты обращений на 13 чтение данных, подключенный по входу к детектору запросов на запись и чтение данных, а по выходам к оперативной памяти и SSD-кзшу.
PCT/RU2022/050121 2021-05-13 2022-04-08 Способ управления системой хранения данных и система хранения данных WO2022240318A1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2021113563 2021-05-13
RU2021113563A RU2805012C2 (ru) 2021-05-13 Способ управления системой хранения данных и система хранения данных

Publications (1)

Publication Number Publication Date
WO2022240318A1 true WO2022240318A1 (ru) 2022-11-17

Family

ID=84029735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2022/050121 WO2022240318A1 (ru) 2021-05-13 2022-04-08 Способ управления системой хранения данных и система хранения данных

Country Status (1)

Country Link
WO (1) WO2022240318A1 (ru)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211731A1 (en) * 2009-02-19 2010-08-19 Adaptec, Inc. Hard Disk Drive with Attached Solid State Drive Cache
US20130024599A1 (en) * 2011-07-20 2013-01-24 Futurewei Technologies, Inc. Method and Apparatus for SSD Storage Access
RU2642349C1 (ru) * 2015-11-27 2018-01-24 Хуавэй Текнолоджиз Ко., Лтд. Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных
RU2661280C2 (ru) * 2015-12-03 2018-07-13 Хуавэй Текнолоджиз Ко., Лтд. Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных
US10101923B2 (en) * 2011-08-19 2018-10-16 Toshiba Memory Corporation Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211731A1 (en) * 2009-02-19 2010-08-19 Adaptec, Inc. Hard Disk Drive with Attached Solid State Drive Cache
US20130024599A1 (en) * 2011-07-20 2013-01-24 Futurewei Technologies, Inc. Method and Apparatus for SSD Storage Access
US10101923B2 (en) * 2011-08-19 2018-10-16 Toshiba Memory Corporation Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
RU2642349C1 (ru) * 2015-11-27 2018-01-24 Хуавэй Текнолоджиз Ко., Лтд. Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных
RU2661280C2 (ru) * 2015-12-03 2018-07-13 Хуавэй Текнолоджиз Ко., Лтд. Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных

Similar Documents

Publication Publication Date Title
EP3210121B1 (en) Cache optimization technique for large working data sets
JP4435831B2 (ja) ストレージエリアネットワークレベルにおける代替キャッシュ方式の提供
US10649890B2 (en) Information processing system, storage control apparatus, storage control method, and storage control program
US6324621B2 (en) Data caching with a partially compressed cache
EP3229142B1 (en) Read cache management method and device based on solid state drive
US9529724B2 (en) Layered architecture for hybrid controller
US10235044B2 (en) System and methods for storage data deduplication
US9594685B2 (en) Criteria for selection of data for a secondary cache
US7330938B2 (en) Hybrid-cache having static and dynamic portions
Nam et al. Assuring demanded read performance of data deduplication storage with backup datasets
US20180307417A1 (en) Method and device for determination of garbage collector thread number and activity management in log-structured file systems
US9298616B2 (en) Systems and methods for tracking working-set estimates with a limited resource budget
US8825959B1 (en) Method and apparatus for using data access time prediction for improving data buffering policies
WO2012116369A2 (en) Apparatus, system, and method for managing contents of a cache
WO2017117734A1 (zh) 一种缓存管理方法、缓存控制器以及计算机系统
JP2018520420A (ja) ハイブリッドオブジェクトストレージデバイスのためのキャッシュアーキテクチャおよびアルゴリズム
JP2003131946A (ja) キャッシュメモリ制御装置及び方法
CN109213695B (zh) 缓存管理方法、存储系统以及计算机程序产品
CN113553476A (zh) 一种利用哈希减少写停顿的键值存储方法
US20170262485A1 (en) Non-transitory computer-readable recording medium, data management device, and data management method
CN112799590B (zh) 一种针对在线主存储重删的差异化缓存方法
RU2672726C1 (ru) Способ выполнения упреждающего чтения в системах хранения данных
KR101105127B1 (ko) 에스에스디 확장버퍼를 사용한 버퍼 캐쉬 관리 방법 및 에스에스디를 확장버퍼로서 사용하는 장치
JP4189342B2 (ja) ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP2014010604A (ja) ストレージ装置とプログラムと方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22807936

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22807936

Country of ref document: EP

Kind code of ref document: A1