RU2735407C2 - Способ и устройство для записи сохраненных данных на носитель данных на основе флэш-памяти - Google Patents

Способ и устройство для записи сохраненных данных на носитель данных на основе флэш-памяти Download PDF

Info

Publication number
RU2735407C2
RU2735407C2 RU2019110993A RU2019110993A RU2735407C2 RU 2735407 C2 RU2735407 C2 RU 2735407C2 RU 2019110993 A RU2019110993 A RU 2019110993A RU 2019110993 A RU2019110993 A RU 2019110993A RU 2735407 C2 RU2735407 C2 RU 2735407C2
Authority
RU
Russia
Prior art keywords
erasures
host
host machine
data
hard
Prior art date
Application number
RU2019110993A
Other languages
English (en)
Other versions
RU2019110993A3 (ru
RU2019110993A (ru
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
Application filed by Алибаба Груп Холдинг Лимитед filed Critical Алибаба Груп Холдинг Лимитед
Publication of RU2019110993A3 publication Critical patent/RU2019110993A3/ru
Publication of RU2019110993A publication Critical patent/RU2019110993A/ru
Application granted granted Critical
Publication of RU2735407C2 publication Critical patent/RU2735407C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

Область техники, к которой относится изобретение
Настоящая заявка относится к области техники компьютерных и сетевых технологий и, в частности, к способу и к устройству для записи данных для хранения на носитель данных на основе флэш-памяти.
Уровень техники
SSD (полупроводниковые накопители), которые используют флэш-память в качестве носителя данных и приспосабливают электронное считывание/запись, имеют превосходную производительность считывания/записи и становятся доминирующими аппаратными средствами хранения для персональных компьютеров и серверов. Носитель хранения данных SSD представляет собой ячейку NAND-флэш-памяти, каждый бит которой имеет такую физическую характеристику, что значение бита может изменяться с 1 на 0 путем заряда транзистора, тогда как его значение может сбрасываться с 0 на 1 только через стирание. Операция стирания выполняется в единицах блоков.
Срок жизни ячейки NAND-флэш-памяти измеряется числом стираний и записей в ячейке. Когда блок достигает этого числа стираний и записей, невозможно использовать блок для сохранения данных, и блок становится плохим блоком. По мере того, как число плохих блоков увеличивается, срок службы SSD резко снижается.
Следовательно, алгоритм сбалансированного стирания и записи на FTL (на уровне флэш-трансляции) или уровень файловой системы, имеющий функции сбалансированного стирания и записи, используется в современных технологиях для того, чтобы достигать, в максимально возможной степени, сбалансированного стирания и записи для всех блоков на одном SSD таким образом, чтобы продлевать срок службы отдельного SSD. Примеры включают в себя стратегию динамической балансировки на FTL-уровне, стратегию статической балансировки на FTL-уровне, JAFF2 (журналируемую файловую флэш-систему версии 2), YAFFS (еще одну файловую флэш-систему) и т.п.
Тем не менее, для системы, имеющей множество доступных SSD, один или более SSD зачастую могут подвергаться слишком большому количеству стираний и записей, которое составляет гораздо больше по сравнению со стираниями на одном или более других SSD. Как результат, чрезмерно используемый SSD преждевременно повреждается. Если решение с высокой готовностью не применяется к данным, сохраненным на SSD, можно в результате получать потери данных; для системы, которая приспосабливает решение по хранению данных с высокой готовностью, стабильность системы должна ослабляться вследствие дополнительной миграции данных.
Сущность изобретения
С учетом этого, настоящая заявка предоставляет способ для записи данных для хранения на носитель данных на основе флэш-памяти, причем способ применяется к центральному функциональному модулю управления для выполнения управления записью для по меньшей мере двух физических единиц хранения данных, и причем способ содержит:
- получение общего кумулятивного количества стираний всех блоков в каждой из физических единиц хранения данных; и
- запись данных для хранения в по меньшей мере одну физическую единицу хранения данных, имеющую наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи.
Настоящая заявка дополнительно предоставляет устройство для записи данных для хранения на носитель данных на основе флэш-памяти, причем устройство применяется к центральному функциональному модулю управления для выполнения управления записью для по меньшей мере двух физических единиц хранения данных, и причем устройство содержит:
- элемент обработки общего кумулятивного количества стираний, выполненный с возможностью получать общее кумулятивное количество стираний всех блоков в каждой из физических единиц хранения данных; и
- элемент обработки физических единиц хранения данных, выполненный с возможностью записывать данные для хранения в по меньшей мере одну физическую единицу хранения данных, имеющую наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи.
Из вышеприведенного технического решения можно видеть, что в вариантах осуществления настоящей заявки, центральный функциональный модуль управления выбирает, на основе общего кумулятивного количества стираний всех блоков в каждой физической единице хранения данных, физическую единицу хранения данных, имеющую наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи для записи данных для хранения, за счет этого достигая сбалансированного стирания и записи между различными физическими единицами хранения данных, недопущения преждевременного повреждения одной физической единицы хранения данных вследствие слишком большого количества стираний и записей в физической единице хранения данных, снижения вероятности потерь данных в сценарии без высокой готовности и повышения стабильности системы, в которой расположена физическая единица хранения данных в сценарии с высокой готовностью.
Краткое описание чертежей
Фиг. 1 является принципиальной структурной схемой составных частей хост-машины в первом примере варианта применения согласно некоторым вариантам осуществления настоящей заявки;
Фиг. 2 является принципиальной структурной схемой составных частей кластера во втором примере варианта применения согласно некоторым вариантам осуществления настоящей заявки;
Фиг. 3 является блок-схемой последовательности операций способа для записи данных для хранения согласно варианту I осуществления настоящей заявки;
Фиг. 4 является блок-схемой последовательности операций способа для записи данных для хранения в кластере согласно варианту II осуществления настоящей заявки;
Фиг. 5 является аппаратной структурной схемой устройства согласно некоторым вариантам осуществления настоящей заявки;
Фиг. 6 является логической структурной схемой устройства для записи данных для хранения согласно некоторым вариантам осуществления настоящей заявки;
Фиг. 7 является логической структурной схемой кластера согласно некоторым вариантам осуществления настоящей заявки.
Подробное описание изобретения
Варианты осуществления настоящей заявки предоставляют новый способ для записи данных для хранения на носитель данных на основе флэш-памяти, при этом способ содержит: выбор, на основе статистических данных по общему кумулятивному количеству стираний всех блоков в каждой физической единице хранения данных, одной или более физических единиц хранения данных, имеющих наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи для записи данных для хранения, за счет этого достигая сбалансированного стирания и записи между различными физическими единицами хранения данных таким образом, что сроки службы различных физических единиц хранения данных составляют ближе друг к другу, что снижает вероятность потерь данных в результате преждевременного повреждения одной физической единицы хранения данных или вероятность влияния на стабильность системы и в силу этого разрешает проблему в современных технологиях.
В вариантах осуществления настоящей заявки, две или более физических единиц хранения данных управляются центральным функциональным модулем управления для управления записью, а именно, центральный функциональный модуль управления определяет то, в какую физическую единица(ы) хранения данных следует записывать данные для хранения. Здесь, физическая единица хранения данных представляет собой объект, который является физически независимым от других физических единиц хранения данных и использует носитель данных на основе флэш-памяти. Она может представлять собой независимый физический компонент хранения данных на основе флэш-памяти (например, флэш-микросхему, жесткий диск и т.п.), хост-машину, содержащую по меньшей мере один независимый физический компонент хранения данных на основе флэш-памяти (например, стойку дискового массива, персональный компьютер, сервер), и т.п.; центральный функциональный модуль управления реализуется программным обеспечением или комбинацией программного обеспечения и аппаратных средств, может выполняться в физической единице хранения данных или может выполняться на другой хост-машине, которая является независимой от всех физических единиц хранения данных, управляемых центральным функциональным модулем управления.
Фиг. 1 иллюстрирует пример сценария применения согласно некоторым вариантам осуществления настоящей заявки, в котором в хост-машину устанавливается определенное число жестких дисков (физических единиц хранения данных в настоящем сценарии применения), и модуль управления хранением данных (центральный функциональный модуль управления в настоящем сценарии применения) выполняется на хост-машине для выполнения управления считыванием/записью на всех жестких дисках, включающего в себя определение того, какие данные следует сохранять на каком жестком диске.
Фиг. 2 иллюстрирует другой пример сценария применения согласно некоторым вариантам осуществления настоящей заявки, в котором одна хост-машина в кластере, сформированном множеством хост-машин (физических единиц хранения данных в настоящем сценарии применения), представляет собой основной управляющий узел, в то время как другие хост-машины представляют собой рабочие узлы. Модуль кластерного управления (центральный функциональный модуль управления в настоящем сценарии применения) кластера выполняется на основном управляющем узле, чтобы выполнять выделение и управление для хранения данных для определенного числа хост-машин. Когда отказ возникает в хост-машине, функционирующей в качестве основного управляющего узла, другая хост-машина может модернизироваться до основного управляющего узла, чтобы продолжать операции кластера.
Центральный функциональный модуль управления в варианте применения согласно некоторым вариантам осуществления настоящей заявки может выполняться на любом устройстве, допускающем вычисление и хранение, например, на планшетном компьютере, PC (персональном компьютере), переносном компьютере и сервере.
В варианте I осуществления настоящей заявки, процесс способа для записи данных для хранения показан на фиг. 3.
Этап 310, получение общего кумулятивного количества стираний всех блоков в каждой физической единице хранения данных.
Блок представляет собой наименьшую единицу выделения пространства для хранения при хранении данных. Когда блок выделяется, операция стирания должна выполняться для блока таким образом, что приложение (или подпроцесс, процесс и т.п.), получающее пространство блока, может использовать блок для записи данных. Следовательно, количество раз, когда блок выделяется, представляет собой кумулятивное количество раз, когда блок стирается.
Для физически независимого компонента хранения данных (например, жесткого диска, флэш-микросхемы и т.п.), разделение на блоки типично выполняется, когда компонент хранения данных инициализируется. Для жесткого диска в качестве примера, в большинстве файловых систем, администратор может указывать размер блока при инициализации жесткого диска. При условии, что модуль управления хранением данных хост-машины, в которой расположен жесткий диск, выполняет управление хранением данных на жестком диске, модуль управления хранением данных может использовать уникальный идентификатор блока для всех блоков на жестком диске для того, чтобы представлять каждый блок на жестком диске, и поддерживать взаимосвязь соответствия между каждым идентификатором блока жесткого диска и кумулятивным количеством стираний. Кумулятивное количество стираний идентификатора блока для блока постепенно увеличивается на 1 каждый раз, когда блок выделяется; когда жесткий диск функционирует в качестве физической единицы хранения данных в сценарии применения, кумулятивные количества стираний всех блоков могут суммироваться, чтобы получать общее кумулятивное количество жесткого диска. Альтернативно, модуль управления хранением данных также может поддерживать общее кумулятивное количество стираний всех блоков в суперблоке жесткого диска. Общее кумулятивное количество стираний постепенно увеличивается на число блоков, выделяемых каждый раз, когда блоки выделяются; другими словами, общее кумулятивное количество стираний постепенно увеличивается на 1 каждый раз, когда блок выделяется. Как описано выше, общее кумулятивное количество стираний всех блоков физически независимого компонента хранения данных может получаться.
В случае если физическая единица хранения данных представляет собой хост-машину, содержащую по меньшей мере один независимый физический компонент хранения данных, модуль управления хранением данных на каждой хост-машине может подсчитывать общее кумулятивное количество стираний физического компонента хранения данных, управляемого модулем управления хранением данных, и сообщать общее кумулятивное количество стираний в центральный функциональный модуль управления. Примерный способ формирования сообщений может определяться согласно реализации сценария применения. Например, при условии, что все хост-машины формируют кластер, модуль кластерного управления для кластера представляет собой центральный функциональный модуль управления в сценарии применения. Каждая хост-машина может превентивно сообщать общее кумулятивное количество стираний всех блоков на хост-машине в модуль кластерного управления в предварительно установленный период; альтернативно, модуль кластерного управления может опрашивать все хост-машины в предварительно установленный период на предмет общего кумулятивного количества стираний всех блоков, и затем модуль кластерного управления может принимать общее кумулятивное количество стираний всех блоков на каждой хост-машине в предварительно установленный период.
Этап 320, запись данных для хранения в по меньшей мере одну физическую единицу хранения данных, имеющую наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи.
При условии, что данные для хранения подлежат записи в N (N является натуральным числом) физических единиц хранения данных, одно или более условий используются в современных технологиях для того, чтобы определять то, в какую физическую единицу(ы) хранения данных следует записывать данные для хранения, когда предусмотрено две или более физических единиц хранения данных, которые могут использоваться для записи данных для хранения. Например, условия, которые должны удовлетворяться, типично включают в себя то, что оставшееся пространство для хранения является достаточным для того, чтобы размещать данные для хранения, которые подлежат записи. В некоторых вариантах осуществления настоящей заявки, предварительно установленное условие записи может формироваться согласно приемлемым диапазонам одного или более вышеуказанных условий, которые описываются ниже с двумя примерами:
В первом примере, из множества жестких дисков, N жестких дисков, имеющих самое большое оставшееся пространство для хранения, используются в качестве жестких дисков для записи данных для хранения. Затем в некоторых вариантах осуществления настоящей заявки, предварительно установленное условие записи может заключаться в том, что оставшееся пространство для хранения не меньше предварительно установленного значения или не ниже предварительно установленного процента емкости жесткого диска.
Во втором примере, из числа хост-машин, выбираются N хост-машин, имеющих оставшееся пространство для хранения, которое является достаточным для того, чтобы размещать данные для хранения, которые подлежат записи, и имеющих наименьшее число доступов к данным, уже сохраненным на хост-машинах. Затем в некоторых вариантах осуществления настоящей заявки, предварительно установленные условия записи могут заключаться в том, что оставшееся пространство для хранения является достаточным для того, чтобы размещать данные для хранения, которые подлежат записи, и в том, что число доступов к данным, уже сохраненным на хост-машине, не превышает пороговое значение.
Данные для хранения, которые подлежат записи в физическую единицу хранения данных, могут представлять собой данные для хранения, которые подлежат записи при сохранении файла, или могут представлять собой данные для хранения, которые подлежат записи при миграции файла. Для центрального функционального модуля управления, данные для хранения, которые подлежат записи при сохранении файла, типично представляют собой новые добавленные данные для хранения, тогда как данные для хранения, которые подлежат записи при миграции файла, означают поддержание данных для хранения, которые уже сохранены. Согласно примерной реализации сценария применения, может быть предусмотрена одна копия данных для хранения, которые подлежат записи при сохранении файла, либо может быть предусмотрено две или более копий данных для хранения, которые подлежат записи при сохранении файла, причем в этом случае типично необходимо записывать каждую копию в различную физическую единицу хранения данных. Миграция файлов включает в себя два случая. В одном случае, физическая единица хранения данных, которая сохраняет файл, заменяется, т.е. сохраненный файл записывается в новую физическую единицу хранения данных и удаляется из физической единицы хранения данных, которая первоначально сохраняет файл; в другом случае, в котором сценарий применения сохраняет более двух копий файлов, когда один из файлов поврежден, или физическая единица хранения данных, в которой расположен один из файлов, разрушается, необходимо выполнять копирование файла в физическую единицу хранения данных, которая функционирует нормально, чтобы удовлетворять требованию высокой готовности всей системы. Во время миграции файлов, предварительно установленное условие записи может использоваться для того, чтобы исключать физические единицы хранения данных, которые уже сохраняют копию файла, и/или физические единицы хранения данных, которые разрушаются.
Следовательно, возможно то, что более одной физической единицы хранения данных требуется для записи данных для хранения либо для хранения файлов, либо для миграции файлов. В силу этого, после получения общего кумулятивного количества стираний всех блоков для каждой физической единицы хранения данных, центральный функциональный модуль управления определяет, согласно предварительно установленному условию записи, число физических единиц хранения данных, доступных для выбора, когда имеется потребность в операции записи для данных для хранения, и выбирает, из физических единиц хранения данных, N (N является натуральным числом) физических единиц хранения данных, имеющих наименьшие общие кумулятивные количества стираний, для записи данных для хранения. В связи с этим, сбалансированное стирание и запись может достигаться между различными физическими единицами хранения данных.
В вариантах осуществления настоящей заявки, в дополнение к выполнению сбалансированного стирания и записи между физическими единицами хранения данных при записи данных для хранения, центральный функциональный модуль управления также может превентивно выполнять миграцию файлов, когда имеется значительная разница в стирании и записи между физическими единицами хранения данных, с тем чтобы балансировать использование физических единиц хранения данных. Например, центральный функциональный модуль управления может отслеживать стирание и запись каждой физической единицы хранения данных. Когда разность между общими кумулятивными количествами стираний двух физических единиц хранения данных превышает предварительно установленный диапазон отклонения, данные для хранения мигрируют из одной из двух физических единиц хранения данных, которая имеет более высокое общее кумулятивное количество стираний, в физическую единицу хранения данных, имеющую более низкое общее кумулятивное количество стираний.
Предварительно установленный диапазон отклонения может определяться согласно таким факторам, как размер файла для хранения и требования для сбалансированного стирания и записи в примерном сценарии применения. В сценарии применения, предварительно установленный диапазон отклонения может определяться на основе среднего значения общих кумулятивных количеств стираний всех физических единиц хранения данных. Например, 20% от среднего могут использоваться в качестве предварительно установленного диапазона отклонения.
Следовательно, в варианте I осуществления настоящей заявки, центральный функциональный модуль управления выбирает, на основе статистических данных по общему кумулятивному количеству стираний всех блоков в каждой физической единице хранения данных, физическую единицу хранения данных, имеющую наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи для записи данных для хранения, за счет этого достигая сбалансированного стирания и записи между различными физическими единицами хранения данных и недопущения преждевременного повреждения одной физической единицы хранения данных вследствие слишком большого количества стираний и записей в физической единице хранения данных, так что сроки службы различных физических единиц хранения данных составляют ближе друг к другу, что позволяет снижать вероятность потерь данных в сценарии без высокой готовности и повышать стабильность системы, в которой расположена физическая единица хранения данных в сценарии с высокой готовностью.
Следует отметить, что, если, по меньшей мере, некоторые хост-машины имеют более двух жестких дисков или других независимых физических компонентов хранения данных в кластере, состоящем из определенного числа хост-машин, варианты осуществления настоящей заявки могут применяться к уровню кластера и уровню хост-машины, соответственно. А именно, сбалансированное стирание и запись между различными хост-машинами достигается на уровне кластера, и сбалансированное стирание и запись между различными жесткими дисками или другими физическими компонентами хранения данных на одной хост-машине достигается на уровне хост-машины. Помимо этого, FTL-алгоритм сбалансированного стирания и записи или уровень файловой системы, имеющий функции сбалансированного стирания и записи в современных технологиях, может использоваться на одной хост-машине или в других физических компонентах хранения данных, чтобы достигать сбалансированного стирания и записи на уровне физических компонентов хранения данных, за счет этого достигая сбалансированного стирания и записи на всех уровнях всей кластерной системы, продления срока службы устройств хранения данных в кластерной системе, а также повышения стабильности кластерной системы.
В варианте II осуществления настоящей заявки, блок-схема последовательности операций способа для записи данных для хранения в кластере показана на фиг. 4. Кластер в этом варианте осуществления содержит по меньшей мере две хост-машины, и хост-машины подвергаются управлению хранением данных модулем кластерного управления; каждая хост-машина содержит по меньшей мере два жестких диска с использованием флэш-памяти в качестве носителя данных, и модуль управления хранением данных на каждой хост-машине выполняет управление хранением данных на жестких дисках хост-машины. Вариант II осуществления предоставляет примерную реализацию одновременного применения варианта I осуществления на двух уровнях (на уровне кластера и на уровне хост-машины), и к описанию в варианте I осуществления можно обращаться на предмет подробного описания всех этапов, которые не повторяются.
Этап 410, модуль кластерного управления получает общее кумулятивное количество стираний всех блоков на каждой хост-машине.
Этап 420, модуль управления хранением данных каждой хост-машины получает общее кумулятивное количество стираний каждого жесткого диска на хост-машине, соответственно.
Этап 430, кластерный контроллер выбирает по меньшей мере одну хост-машину, имеющую наименьшее общее кумулятивное количество стираний для хост-машины, из хост-машин, удовлетворяющих предварительно установленному условию записи для хост-машины, в качестве целевой хост-машины.
Когда кластер имеет данные для хранения, которые подлежат записи, например, данные для хранения, которые подлежат записи во время миграции файлов и/или хранения файлов, при условии, что данные для хранения подлежат записи в N хост-машин, кластерный контроллер выбирает, по меньшей мере, N хост-машин, имеющих наименьшее общее кумулятивное количество стираний для хост-машины, из хост-машин, удовлетворяющих предварительно установленному условию записи для хост-машины, в качестве целевых хост-машин, т.е. хост-машин, в которые подлежат записи данные для хранения, которые подлежат записи.
Этап 440, на каждой целевой хост-машине, контроллер хранения данных хост-машины записывает данные для хранения, по меньшей мере, на один жесткий диск, который удовлетворяет предварительно установленному условию записи для жесткого диска и имеет наименьшее общее кумулятивное количество стираний для жесткого диска.
Когда хост-машина выбирается в качестве целевой хост-машины, при условии, что данные для хранения подлежат записи в M (является натуральным числом M) жестких дисков на хост-машине, контроллер хранения данных хост-машины выбирает M жестких дисков, имеющих наименьшее общее кумулятивное количество стираний для жесткого диска, из жестких дисков, удовлетворяющих предварительно установленному условию записи для жесткого диска, в качестве целевых жестких дисков и записывает данные для хранения на целевые жесткие диски.
Кластерный контроллер может отслеживать разности между общими кумулятивными количествами стираний хост-машин. Когда разность между общими кумулятивными количествами стираний двух хост-машин превышает предварительно установленный диапазон отклонения для хост-машины, кластерный контроллер выполняет миграцию данных для хранения из одной из двух хост-машин, которая имеет более высокое общее кумулятивное количество стираний, в хост-машину, имеющую более низкое общее кумулятивное количество стираний. Относительно хост-машины, в которую подлежат записи мигрировавшие данные для хранения, контроллер хранения данных хост-машины может записывать данные на жесткий диск, который удовлетворяет предварительно установленному условию записи для жесткого диска и имеет наименьшее общее кумулятивное количество стираний для жесткого диска.
Контроллер хранения данных каждой хост-машины может отслеживать разности между общими кумулятивными количествами стираний жестких дисков на хост-машине. Когда разность между общими кумулятивными количествами стираний двух жестких дисков на хост-машине превышает предварительно установленный диапазон отклонения для жесткого диска, контроллер хранения данных хост-машины может выполнять миграцию данных для хранения из одного из двух жестких дисков, который имеет более высокое общее кумулятивное количество стираний, на жесткий диск, имеющий более низкое общее кумулятивное количество стираний.
Следовательно, путем применения способа в варианте I осуществления на уровне кластера (между хост-машинами) и на уровне хост-машины (между жесткими дисками на каждой хост-машине), соответственно, вариант II осуществления настоящей заявки достигает сбалансированного стирания и записи для всех физических компонентов хранения данных во всей кластерной системе, продлевает срок службы устройств хранения данных в кластерной системе, а также повышает стабильность кластерной системы.
В примере варианта применения настоящей заявки, кластерная система с высокой готовностью содержит K (K является натуральным числом, большим 3) хост-машин, причем каждая хост-машина содержит, по меньшей мере, 3 жестких диска с использованием флэш-памяти в качестве носителя данных. Одна копия каждого файла, сохраненного в кластере, должна сохраняться на 3 различных хост-машинах, соответственно. Кластерный контроллер кластера выполняется на основном управляющем узле (на одной из хост-машин) кластера и используется для того, чтобы управлять тем, какие 3 хост-машины должны сохранять файл; контроллер хранения данных выполняется на каждой хост-машине и используется для того, чтобы управлять тем, какой жесткий диск должен сохранять файл.
На каждой хост-машине, контроллер хранения данных поддерживает, в суперблоке каждого жесткого диска, кумулятивное количество block_wear_count стираний для каждого блока жесткого диска и общее кумулятивное количество disk_wear_count стираний для всех блоков жесткого диска. Когда блок на жестком диске выделяется, кумулятивное количество block_wear_count стираний, соответствующее идентификатору block_num блока для блока, постепенно увеличивается на 1, и общее кумулятивное количество disk_wear_count стираний для всех блоков жесткого диска постепенно увеличивается на 1.
Помимо этого, контроллер хранения данных поддерживает общее кумулятивное количество server_wear_count стираний для всех блоков хост-машины, и server_wear_count равно сумме disk_wear_count всех жестких дисков на хост-машине. Каждый рабочий узел в кластере должен периодически отправлять сигнал подтверждения работоспособности в основной управляющий узел, и server_wear_count хост-машины, в которой расположен рабочий узел, может сообщаться в кластерный контроллер в периодическом сигнале подтверждения работоспособности. Контроллер хранения данных на основном управляющем узле также может сообщать server_wear_count хост-машины, в которой расположен основной управляющий узел, в кластерный контроллер в период, который является идентичным периоду сигналов подтверждения работоспособности.
Когда новый файл записывается в кластер, кластерный контроллер определяет число хост-машин, удовлетворяющих предварительно установленному условию записи для хост-машины, из хост-машин K. Предварительно установленное условие записи для хост-машины для записи нового файла в настоящем примере варианта применения заключается в том, что оставшаяся емкость хранения превышает 15% от общей емкости хранения хост-машины, и число доступов к данным для хранения не превышает заданное пороговое значение. Из хост-машин, удовлетворяющих предварительно установленному условию записи для хост-машины для записи нового файла, кластерный контроллер выбирает 3 хост-машины, имеющие наименьшие значения server_wear_count, в качестве хост-машин для записи нового файла.
На выбранных 3 хост-машинах, контроллер хранения данных каждой хост-машины определяет число жестких дисков, удовлетворяющих предварительно установленному условию записи для жесткого диска, из жестких дисков хост-машины. Предварительно установленное условие записи для жесткого диска в настоящем примере варианта применения заключается в том, что оставшаяся емкость хранения превышает 10% от общей емкости хранения жесткого диска. Из жестких дисков, удовлетворяющих условию записи для жесткого диска, контроллер хранения данных выбирает жесткий диск, имеющий наименьшее disk_wear_count, для записи нового файла.
Когда хост-машина или жесткий диск на хост-машине в кластере разрушается, кластерный контроллер считает файлы, сохраненные на хост-машине или жестком диске, более не применимыми. Как результат, сохраненные копии этих файлов в кластере составляют менее 3 копий. При условии, что предварительно установленное условие записи для хост-машины для миграции файла заключается в том, что оставшаяся емкость хранения превышает 15% от общей емкости хранения хост-машины, число доступов к данным для хранения не превышает заданное пороговое значение, и файл, который должен записываться, не сохранен, в таком случае кластерный контроллер выбирает, из хост-машин, удовлетворяющих предварительно установленному условию записи для хост-машины для миграции файла, хост-машины, имеющие наименьшее server_wear_count, в качестве хост-машин для записи мигрировавших файлов. На выбранных хост-машинах, контроллер хранения данных выбирает, из жестких дисков, удовлетворяющих условию записи для жесткого диска, жесткий диск, имеющий наименьшее disk_wear_count, для записи мигрировавшего файла.
Кластерный контроллер отслеживает разность между общими кумулятивными количествами server_wear_count стираний хост-машин в определенный период мониторинга хост-машины. Если разность между максимальным значением и минимальным значением server_wear_count в кластере превышает 20% от среднего всех server_wear_count, файлы на хост-машине, имеющей максимальный server_wear_count, мигрируют на хост-машину, имеющую минимальный server_wear_count, до тех пор, пока разность между максимальным значением и минимальным значением server_wear_count в кластере не составит в пределах 20% от среднего всех server_wear_count. Выбор файлов миграции может реализовываться со ссылкой на современные технологии, которые не повторяются.
На каждой хост-машине, контроллер хранения данных отслеживает разность между общими кумулятивными количествами disk_wear_count стираний жестких дисков на хост-машине в определенный период мониторинга жесткого диска. Если разность между максимальным значением и минимальным значением disk_wear_count на хост-машине превышает 15% от среднего всех disk_wear_count, файлы на жестком диске, имеющем максимальный disk_wear_count, мигрируют на жесткий диск, имеющий минимальный disk_wear_count, до тех пор, пока разность между максимальным значением и минимальным значением disk_wear_count на хост-машине не составит в пределах 15% от среднего всех disk_wear_count. Выбор файлов миграции может аналогично реализовываться со ссылкой на современные технологии.
Согласно вышеприведенным процессам, варианты осуществления настоящей заявки дополнительно предоставляют устройство для записи данных для хранения. Устройство может реализовываться программным обеспечением, аппаратными средствами или комбинацией программного обеспечения и аппаратных средств. Для программной реализации в качестве примера, устройство в смысле логики формируется посредством CPU (центрального процессора) оборудования, в котором находится устройство при считывании соответствующих компьютерных программных инструкций в запоминающее устройство для выполнения. С аппаратной точки зрения, в дополнение к CPU, запоминающему устройству и энергонезависимому запоминающему устройству, показанным на фиг. 5, оборудование, в котором типично находится устройство для записи данных для хранения, дополнительно содержит другие аппаратные средства, такие как микросхема для приема и передачи беспроводных сигналов, и/или другие аппаратные средства, такие как плата для осуществления функций сетевой связи.
Фиг. 6 иллюстрирует устройство для записи данных для хранения согласно некоторым вариантам осуществления настоящей заявки, причем устройство применяется к центральному функциональному модулю управления для выполнения управления записью для по меньшей мере двух физических единиц хранения данных, и причем устройство содержит элемент обработки общего кумулятивного количества стираний и элемент обработки физических единиц хранения данных, при этом элемент обработки общего кумулятивного количества стираний выполнен с возможностью получать общее кумулятивное количество стираний всех блоков в каждой физической единице хранения данных; и элемент обработки физических единиц хранения данных выполнен с возможностью записывать данные для хранения в по меньшей мере одну физическую единицу хранения данных, имеющую наименьшее общее кумулятивное количество стираний, из физических единиц хранения данных, удовлетворяющих предварительно установленному условию записи.
В некоторых примерах, устройство дополнительно содержит элемент миграции на основе отклонения, выполненный с возможностью выполнять миграцию, когда разность между общими кумулятивными количествами стираний двух физических единиц хранения данных, превышает предварительно установленный диапазон отклонения, данных для хранения из одной из двух физических единиц хранения данных, которая имеет более высокое общее кумулятивное количество стираний, в физическую единицу хранения данных, имеющую более низкое общее кумулятивное количество стираний.
В примерах, предварительно установленный диапазон отклонения может определяться на основе среднего значения общих кумулятивных количеств стираний всех физических единиц хранения данных.
Необязательно, данные для хранения содержат: данные для хранения, которые подлежат записи при миграции файла, и/или данные для хранения, которые подлежат записи при сохранении файла.
Необязательно, физическая единица хранения данных содержит хост-машину; центральный функциональный модуль управления содержит модуль кластерного управления для кластера, содержащего все хост-машины; и элемент обработки общего кумулятивного количества стираний выполнен с возможностью принимать общее кумулятивное количество стираний, сообщаемых каждой хост-машиной в предварительно установленный период.
Необязательно, физическая единица хранения данных содержит жесткий диск; центральный функциональный модуль управления содержит модуль управления хранением данных хост-машины; и элемент обработки общего кумулятивного количества стираний выполнен с возможностью считывать общее кумулятивное количество стираний, поддерживаемое в суперблоке каждого жесткого диска, причем общее кумулятивное количество стираний постепенно увеличивается на 1 после того, как выделяется каждый блок жесткого диска.
Фиг. 7 иллюстрирует кластер согласно некоторым вариантам осуществления настоящей заявки. Кластер содержит по меньшей мере две хост-машины, и каждая хост-машина содержит по меньшей мере два жестких диска с использованием флэш-памяти в качестве носителя данных. Кластер дополнительно содержит модуль кластерного управления и модуль управления хранением данных на каждой хост-машине, при этом модуль кластерного управления выполнен с возможностью получать общее кумулятивное количество стираний всех блоков на каждой хост-машине, и когда запись данных для хранения требуется, выбирать по меньшей мере одну хост-машину, имеющую наименьшее общее кумулятивное количество стираний для хост-машины, из хост-машин, удовлетворяющих предварительно установленному условию записи для хост-машины, в качестве целевой хост-машины; модуль управления хранением данных на каждой хост-машине выполнен с возможностью получать общее кумулятивное количество стираний каждого жесткого диска на хост-машине, и когда хост-машина выбирается в качестве целевой хост-машины, записывать данные для хранения, по меньшей мере, на один жесткий диск, который удовлетворяет предварительно установленному условию записи для жесткого диска и имеет наименьшее общее кумулятивное количество стираний для жесткого диска.
Необязательно, модуль кластерного управления дополнительно выполнен с возможностью выполнять миграцию, когда разность между общими кумулятивными количествами стираний двух хост-машин превышает предварительно установленный диапазон отклонения для хост-машины, данных для хранения из одной из двух хост-машин, которая имеет более высокое общее кумулятивное количество стираний, в хост-машину, имеющую более низкое общее кумулятивное количество стираний; модуль управления хранением данных на каждой хост-машине дополнительно выполнен с возможностью выполнять миграцию, когда разность между общими кумулятивными количествами стираний двух жестких дисков на хост-машине превышает предварительно установленный диапазон отклонения для жесткого диска, данных для хранения из одного из двух жестких дисков, который имеет более высокое общее кумулятивное количество стираний, на жесткий диск, имеющий более низкое общее кумулятивное количество стираний
Необязательно, данные для хранения содержат: данные для хранения, которые подлежат записи при миграции файла.
Выше описываются только предпочтительные варианты осуществления настоящей заявки, которые не используются для того, чтобы ограничивать настоящую заявку. Все модификации, эквивалентные замены или улучшения, вносимые в пределах сущности и принципа настоящей заявки, должны охватываться объемом охраны настоящей заявки.
В типичной конфигурации, вычислительное устройство включает в себя один или более процессоров (CPU), интерфейсов ввода-вывода, сетевых интерфейсов и запоминающее устройство.
Запоминающее устройство может включать в себя машиночитаемые носители, такие как энергозависимое запоминающее устройство, оперативное запоминающее устройство (RAM) и/или энергонезависимое запоминающее устройство, например, постоянное запоминающее устройство (ROM) или флэш-RAM. Запоминающее устройство представляет собой пример машиночитаемого носителя.
Машиночитаемые носители включают в себя постоянные, энергозависимые, мобильные и стационарные носители, которые могут реализовывать хранение информации через любой способ или технологию. Информация может представлять собой машиночитаемые инструкции, структуры данных, программные модули или другие данные. Примеры носителей хранения данных компьютеров включают в себя, но не только, RAM на фазовых переходах (PRAM), статические RAM (SRAM), динамические RAM (DRAM), другие типы оперативных запоминающих устройств (RAM), постоянные запоминающие устройства (ROM), электрически стираемые программируемые постоянные запоминающие устройства (EEPROM), флэш-память или другие технологии запоминающих устройств, постоянные запоминающие устройства на компакт-дисках (CD-ROM) или другие оптические запоминающие устройства универсальных цифровых дисков (DVD), кассеты, запоминающие устройства на кассетах и на дисках или другие магнитные запоминающие устройства либо любые другие носители, отличные от среды передачи, которые могут использоваться для сохранения информации, доступной для вычислительного устройства. Согласно определениям в данном документе, машиночитаемые носители не включают в себя энергозависимые среды, такие как модулированные сигналы данных и несущие.
Дополнительно следует отметить, что термины "включающий в себя", "содержащий" или любые другие их разновидности имеют намерение охватывать неисключительное включение, так что процесс, способ, изделие или устройство, содержащее последовательность элементов, не только содержит эти элементы, но и содержит другие элементы, которые конкретно не перечисляются, или дополнительно содержит элементы, которые являются внутренне присущими в процессе, способе, изделии или устройстве. Когда отсутствует дополнительное ограничение, элементы, заданные выражением "содержащий один...", не исключают то, что процесс, способ, изделие или устройство, содержащее вышеуказанные элементы, дополнительно содержит дополнительные идентичные элементы.
Специалисты в данной области техники должны понимать, что варианты осуществления настоящей заявки могут предоставляться в качестве способа, системы или компьютерного программного продукта. Следовательно, настоящая заявка может реализовываться как полностью аппаратный вариант осуществления, полностью программный вариант осуществления либо вариант осуществления, комбинирующий программное обеспечение и аппаратные средства. Кроме того, настоящая заявка может иметь форму компьютерного программного продукта, реализованного на одном или более машиноприменимых носителей хранения данных (включающих в себя, но не только, запоминающее устройство на магнитных дисках, CD-ROM, оптическое запоминающее устройство и т.п.), содержащих машиноприменимые программные коды.

Claims (51)

1. Способ для записи данных в кластер из множества хост-машин, причем каждая хост-машина содержит множество жестких дисков, причем способ содержит:
получение множества количеств стираний для жестких дисков на каждой хост-машине из упомянутых хост-машин, при этом количество стираний для каждого жесткого диска из упомянутых жестких дисков равно общему количеству операций стирания, которые были выполнены на данном жестком диске;
получение общего количества стираний для каждой хост-машины из упомянутых хост-машин, при этом общее количество стираний равно сумме количеств стираний жестких дисков на данной хост-машине;
получение данных, которые подлежат записи в кластер;
в ответ на получение данных, которые подлежат записи в кластер, идентификацию одной или более хост-машин, каждая из которых удовлетворяет одному или более первым условиям, связанным с записью данных, при этом одно или более первых условий содержат то, что:
оставшаяся емкость хранения хост-машины превышает пороговый процент от общей емкости хранения хост-машины,
число доступов к данным, уже сохраненным на хост-машине, не превышает пороговое значение доступов, и
общее количество стираний хост-машины не превышает пороговое значение;
определение хост-машины, которая имеет наименьшее общее количество стираний среди идентифицированной одной или более хост-машин;
идентификацию одного или более жестких дисков на определенной хост-машине, каждый из которых удовлетворяет одному или более вторым условиям, связанным с записью данных;
определение жесткого диска, который имеет наименьшее количество стираний среди идентифицированных одного или более жестких дисков; и
запись данных на определенный жесткий диск.
2. Способ по п. 1, дополнительно содержащий: когда разность между количествами стираний двух жестких дисков превышает предварительно установленный диапазон отклонения, выполнение миграции данных с одного из упомянутых двух жестких дисков, который имеет более высокое количество стираний, на жесткий диск, который имеет более низкое количество стираний.
3. Способ по п. 2, в котором предварительно установленный диапазон отклонения определяется на основе среднего значения количеств стираний всех жестких дисков соответствующей хост-машины.
4. Способ по п. 1, в котором данные, которые подлежат записи в кластер, содержат: данные, которые подлежат записи для миграции файлов, и/или данные, которые подлежат записи для сохранения файлов.
5. Способ по любому из пп. 1-4, в котором получение общего количества стираний для каждой хост-машины из упомянутых хост-машин содержит получение общего количества стираний из каждой хост-машины за предварительно установленный период.
6. Способ по любому из пп. 1-4, в котором получение множества количеств стираний для жестких дисков на каждой хост-машине из упомянутых хост-машин содержит считывание количества стираний, поддерживаемого в суперблоке каждого жесткого диска, причем количество стираний постепенно увеличивается на 1 после того, как выделяется каждый блок жесткого диска.
7. Устройство для записи данных для хранения в кластер из множества хост-машин, причем каждая хост-машина содержит множество жестких дисков, причем устройство содержит: процессор и машиночитаемый носитель информации, сконфигурированный с инструкциями, исполняемыми процессором для побуждения процессора к выполнению операций, содержащих:
получение множества количеств стираний для жестких дисков на каждой хост-машине из упомянутых хост-машин, при этом количество стираний для каждого жесткого диска из упомянутых жестких дисков равно общему количеству операций стирания, которые были выполнены на данном жестком диске;
получение общего количества стираний для каждой хост-машины из упомянутых хост-машин, при этом общее количество стираний равно сумме количеств стираний жестких дисков на данной хост-машине;
получение данных, которые подлежат записи в кластер;
в ответ на получение данных, которые подлежат записи в кластер, идентификацию одной или более хост-машин, каждая из которых удовлетворяет одному или более первым условиям, связанным с записью данных, при этом одно или более первых условий содержат то, что:
оставшаяся емкость хранения хост-машины превышает пороговый процент от общей емкости хранения хост-машины,
число доступов к данным, уже сохраненным на хост-машине, не превышает пороговое значение доступов, и
общее количество стираний хост-машины не превышает пороговое значение;
определение хост-машины, которая имеет наименьшее общее количество стираний среди идентифицированной одной или более хост-машин;
идентификацию одного или более жестких дисков на определенной хост-машине, каждый из которых удовлетворяет одному или более вторым условиям, связанным с записью данных;
определение жесткого диска, который имеет наименьшее количество стираний среди идентифицированных одного или более жестких дисков; и
запись данных на определенный жесткий диск.
8. Устройство по п. 7, при этом операции дополнительно содержат: когда разность между количествами стираний двух жестких дисков превышает предварительно установленный диапазон отклонения, выполнение миграции данных для сохранения с одного из упомянутых двух жестких дисков, который имеет более высокое количество стираний, на жесткий диск, который имеет более низкое количество стираний.
9. Устройство по п. 8, в котором предварительно установленный диапазон отклонения определяется на основе среднего значения количеств стираний всех жестких дисков соответствующей хост-машины.
10. Устройство по п. 7, в котором данные, которые подлежат записи в кластер, содержат: данные, которые подлежат записи для миграции файлов, и/или данные, которые подлежат записи для сохранения файлов.
11. Устройство по любому из пп. 7-10, в котором получение общего количества стираний для каждой хост-машины из упомянутых хост-машин содержит получение общего количества стираний из каждой хост-машины за предварительно установленный период.
12. Устройство по любому из пп. 7-10, в котором получение множества количеств стираний для жестких дисков на каждой хост-машине из упомянутых хост-машин содержит считывание количества стираний, поддерживаемого в суперблоке каждого жесткого диска, причем количество стираний постепенно увеличивается на 1 после того, как выделяется каждый блок жесткого диска.
13. Долговременный машиночитаемый носитель для записи данных в кластер из множества хост-машин, каждая из которых содержит множество жестких дисков, сконфигурированный с инструкциями, исполняемыми одним или более процессорами для побуждения одного или более процессоров к выполнению операций, содержащих:
получение множества количеств стираний для жестких дисков на каждой хост-машине из упомянутых хост-машин, при этом количество стираний для каждого жесткого диска из упомянутых жестких дисков равно общему количеству операций стирания, которые были выполнены на данном жестком диске;
получение общего количества стираний для каждой хост-машины из упомянутых хост-машин, при этом общее количество стираний равно сумме количеств стираний жестких дисков на данной хост-машине;
получение данных, которые подлежат записи в кластер;
в ответ на получение данных, которые подлежат записи в кластер, идентификацию одной или более хост-машин, каждая из которых удовлетворяет одному или более первым условиям, связанным с записью данных, при этом одно или более первых условий содержат то, что:
оставшаяся емкость хранения хост-машины превышает пороговый процент от общей емкости хранения хост-машины,
число доступов к данным, уже сохраненным на хост-машине, не превышает пороговое значение доступов, и
общее количество стираний хост-машины не превышает пороговое значение;
определение хост-машины, которая имеет наименьшее общее количество стираний среди идентифицированной одной или более хост-машин;
идентификацию одного или более жестких дисков на определенной хост-машине, каждый из которых удовлетворяет одному или более вторым условиям, связанным с записью данных;
определение жесткого диска, который имеет наименьшее количество стираний среди идентифицированных одного или более жестких дисков; и
запись данных на определенный жесткий диск.
14. Долговременный машиночитаемый носитель по п. 13, при этом операции дополнительно содержат: когда разность между количествами стираний двух жестких дисков превышает предварительно установленный диапазон отклонения, выполнение миграции данных для сохранения с одного из упомянутых двух жестких дисков, который имеет более высокое количество стираний, на жесткий диск, который имеет более низкое количество стираний.
15. Долговременный машиночитаемый носитель по п. 14, в котором предварительно установленный диапазон отклонения определяется на основе среднего значения количеств стираний всех жестких дисков соответствующей хост-машины.
16. Долговременный машиночитаемый носитель по п. 13, в котором данные, которые подлежат записи в кластер, содержат: данные, которые подлежат записи для миграции файлов, и/или данные, которые подлежат записи для сохранения файлов.
17. Долговременный машиночитаемый носитель по любому из пп. 13-16, в котором получение общего количества стираний для каждой хост-машины из упомянутых хост-машин содержит получение общего количества стираний из каждой хост-машины в предварительно установленном периоде.
18. Долговременный машиночитаемый носитель по любому из пп. 13-16, в котором получение множества количеств стираний для жестких дисков на каждой хост-машине из упомянутых хост-машин содержит считывание количества стираний, поддерживаемого в суперблоке каждого жесткого диска, причем количество стираний постепенно увеличивается на 1 после выделения каждого блока жесткого диска.
RU2019110993A 2016-09-14 2017-09-05 Способ и устройство для записи сохраненных данных на носитель данных на основе флэш-памяти RU2735407C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610827195.6A CN107025066A (zh) 2016-09-14 2016-09-14 在基于闪存的存储介质中写入存储数据的方法和装置
CN201610827195.6 2016-09-14
PCT/CN2017/100570 WO2018050006A1 (zh) 2016-09-14 2017-09-05 在基于闪存的存储介质中写入存储数据的方法和装置

Publications (3)

Publication Number Publication Date
RU2019110993A3 RU2019110993A3 (ru) 2020-10-15
RU2019110993A RU2019110993A (ru) 2020-10-15
RU2735407C2 true RU2735407C2 (ru) 2020-10-30

Family

ID=59524718

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019110993A RU2735407C2 (ru) 2016-09-14 2017-09-05 Способ и устройство для записи сохраненных данных на носитель данных на основе флэш-памяти

Country Status (15)

Country Link
US (2) US11099744B2 (ru)
EP (1) EP3514674B1 (ru)
JP (1) JP2019532413A (ru)
KR (1) KR102275094B1 (ru)
CN (1) CN107025066A (ru)
AU (2) AU2017325886B2 (ru)
BR (1) BR112019004916A2 (ru)
CA (1) CA3036415C (ru)
MX (1) MX2019002948A (ru)
MY (1) MY188873A (ru)
PH (1) PH12019500555A1 (ru)
RU (1) RU2735407C2 (ru)
TW (1) TWI676992B (ru)
WO (1) WO2018050006A1 (ru)
ZA (1) ZA201902298B (ru)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025066A (zh) * 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
KR102611566B1 (ko) * 2018-07-06 2023-12-07 삼성전자주식회사 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법
KR20210039872A (ko) * 2019-10-02 2021-04-12 삼성전자주식회사 프리 블록의 할당을 관리하는 호스트 시스템, 이를 포함하는 데이터 처리 시스템 및 호스트 시스템의 동작방법
CN111143238B (zh) * 2019-12-27 2022-03-15 无锡融卡科技有限公司 基于eFlash存储芯片的数据擦写方法及系统
KR20210101973A (ko) 2020-02-11 2021-08-19 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11561729B2 (en) * 2020-08-19 2023-01-24 Micron Technology, Inc. Write determination counter
CN112162934A (zh) * 2020-09-29 2021-01-01 深圳市时创意电子有限公司 存储块异常磨损处理方法、装置、电子设备及存储介质
TWI808384B (zh) * 2021-02-23 2023-07-11 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
TWI821152B (zh) * 2021-02-23 2023-11-01 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
CN112947862B (zh) * 2021-03-10 2022-09-20 歌尔科技有限公司 设备、Flash存储器及其数据存储方法
CN113452867A (zh) * 2021-06-25 2021-09-28 珠海奔图电子有限公司 数据清除方法、主机、图像形成装置、系统及存储介质
CN115374065B (zh) * 2022-10-25 2023-02-28 山东捷瑞数字科技股份有限公司 一种基于云平台日志记录监控的文件清理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055495A1 (en) * 2003-09-05 2005-03-10 Nokia Corporation Memory wear leveling
CN101441599B (zh) * 2008-11-28 2011-11-02 成都市华为赛门铁克科技有限公司 一种固态硬盘的均衡方法和固态硬盘
CN102880556A (zh) * 2012-09-12 2013-01-16 浙江大学 一种实现Nand Flash磨损均衡的方法及其系统
US20150113203A1 (en) * 2013-10-18 2015-04-23 Sandisk Enterprise Ip Llc Device and Method for Managing Die Groups
RU2014101458A (ru) * 2011-06-22 2015-07-27 Старшип Способ управления техническим ресурсом энергонезависимой памяти

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7096313B1 (en) 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
JP2007517355A (ja) 2003-12-29 2007-06-28 シャーウッド インフォメーション パートナーズ インコーポレイテッド 多重ハードディスク・ドライブ・エンクロージャを使用した大容量ストレージのためのシステム及び方法
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7411757B2 (en) 2006-07-27 2008-08-12 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory having multiple modes of operation
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
CN101364437A (zh) * 2007-08-07 2009-02-11 芯邦科技(深圳)有限公司 一种可使闪存损耗均衡的方法及其应用
US8762620B2 (en) * 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
US8427552B2 (en) 2008-03-03 2013-04-23 Videoiq, Inc. Extending the operational lifetime of a hard-disk drive used in video data storage applications
US8554983B2 (en) 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
US9123422B2 (en) 2012-07-02 2015-09-01 Super Talent Technology, Corp. Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells
US8959280B2 (en) 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8010738B1 (en) 2008-06-27 2011-08-30 Emc Corporation Techniques for obtaining a specified lifetime for a data storage device
JP5242264B2 (ja) 2008-07-07 2013-07-24 株式会社東芝 データ制御装置、ストレージシステムおよびプログラム
US8024442B1 (en) 2008-07-08 2011-09-20 Network Appliance, Inc. Centralized storage management for multiple heterogeneous host-side servers
US8244995B2 (en) * 2008-10-30 2012-08-14 Dell Products L.P. System and method for hierarchical wear leveling in storage devices
CN101419842B (zh) * 2008-11-07 2012-04-04 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
US20100125696A1 (en) * 2008-11-17 2010-05-20 Prasanth Kumar Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor
US9164689B2 (en) * 2009-03-30 2015-10-20 Oracle America, Inc. Data storage system and method of processing a data access request
US8429373B2 (en) 2009-07-15 2013-04-23 International Business Machines Corporation Method for implementing on demand configuration changes
CN102449607B (zh) 2009-07-22 2015-05-27 株式会社日立制作所 具有多个闪存封装的存储系统
US8402242B2 (en) 2009-07-29 2013-03-19 International Business Machines Corporation Write-erase endurance lifetime of memory storage devices
GB2484846A (en) 2009-08-21 2012-04-25 Ibm Data storage system and method for operating a data storage system
US8464106B2 (en) 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
US8234520B2 (en) 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
US8621141B2 (en) * 2010-04-01 2013-12-31 Intel Corporations Method and system for wear leveling in a solid state drive
US8677055B2 (en) 2010-04-12 2014-03-18 Sandisk Enterprises IP LLC Flexible way of specifying storage attributes in a flash memory-based object store
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8904226B2 (en) 2010-08-26 2014-12-02 Cleversafe, Inc. Migrating stored copies of a file to stored encoded data slices
US8775720B1 (en) 2010-08-31 2014-07-08 Western Digital Technologies, Inc. Hybrid drive balancing execution times for non-volatile semiconductor memory and disk
US8825977B1 (en) 2010-09-28 2014-09-02 Western Digital Technologies, Inc. Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life
US9195588B2 (en) 2010-11-02 2015-11-24 Hewlett-Packard Development Company, L.P. Solid-state disk (SSD) management
CN102135942B (zh) * 2010-12-31 2013-04-24 北京握奇数据系统有限公司 一种存储设备中实现损耗均衡的方法及存储设备
KR101938210B1 (ko) * 2012-04-18 2019-01-15 삼성전자주식회사 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법
US9443591B2 (en) 2013-01-23 2016-09-13 Seagate Technology Llc Storage device out-of-space handling
US8601347B1 (en) * 2012-06-21 2013-12-03 Hitachi, Ltd. Flash memory device and storage control method
KR20140006299A (ko) * 2012-07-03 2014-01-16 삼성전자주식회사 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치
US8862810B2 (en) * 2012-09-27 2014-10-14 Arkologic Limited Solid state device write operation management system
CN102981970B (zh) * 2012-11-23 2016-08-03 深圳市江波龙电子有限公司 闪存管理方法和系统
US20150143021A1 (en) 2012-12-26 2015-05-21 Unisys Corporation Equalizing wear on storage devices through file system controls
CN103116549B (zh) * 2013-01-04 2016-03-16 张亚丽 基于最大可擦除次数的闪存存储方法
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
JP6005566B2 (ja) * 2013-03-18 2016-10-12 株式会社東芝 情報処理システム、制御プログラムおよび情報処理装置
JP2015014963A (ja) 2013-07-05 2015-01-22 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法
TWI515736B (zh) 2013-07-25 2016-01-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
US9336129B2 (en) * 2013-10-02 2016-05-10 Sandisk Technologies Inc. System and method for bank logical data remapping
CN104572489B (zh) * 2013-10-23 2019-12-24 深圳市腾讯计算机系统有限公司 磨损均衡方法及装置
CN104731515B (zh) * 2013-12-18 2018-02-23 华为技术有限公司 控制存储设备机群磨损均衡的方法及设备
US9619381B2 (en) 2013-12-24 2017-04-11 International Business Machines Corporation Collaborative health management in a storage system
JP5858081B2 (ja) * 2014-03-27 2016-02-10 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
US10725668B1 (en) * 2014-08-29 2020-07-28 SK Hynix Inc. Data separation during garbage collection and wear leveling
US9292210B1 (en) * 2014-08-29 2016-03-22 International Business Machines Corporation Thermally sensitive wear leveling for a flash memory device that includes a plurality of flash memory modules
US9368218B2 (en) * 2014-10-03 2016-06-14 HGST Netherlands B.V. Fast secure erase in a flash system
CN104360957A (zh) * 2014-11-26 2015-02-18 上海爱信诺航芯电子科技有限公司 一种维持闪存损耗均衡的方法
JP6107802B2 (ja) 2014-12-15 2017-04-05 コニカミノルタ株式会社 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム
US10459639B2 (en) * 2015-04-28 2019-10-29 Hitachi, Ltd. Storage unit and storage system that suppress performance degradation of the storage unit
TWI563509B (en) * 2015-07-07 2016-12-21 Phison Electronics Corp Wear leveling method, memory storage device and memory control circuit unit
CN105159601B (zh) * 2015-08-07 2018-12-07 杭州海兴电力科技股份有限公司 一种提高Flash擦写寿命的方法
TWI601059B (zh) * 2015-11-19 2017-10-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法
US9886324B2 (en) * 2016-01-13 2018-02-06 International Business Machines Corporation Managing asset placement using a set of wear leveling data
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
CN107678906B (zh) * 2016-08-01 2021-01-29 杭州海康威视数字技术股份有限公司 硬盘管理方法和系统
CN107025066A (zh) * 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
KR20200053965A (ko) * 2018-11-09 2020-05-19 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055495A1 (en) * 2003-09-05 2005-03-10 Nokia Corporation Memory wear leveling
CN101441599B (zh) * 2008-11-28 2011-11-02 成都市华为赛门铁克科技有限公司 一种固态硬盘的均衡方法和固态硬盘
RU2014101458A (ru) * 2011-06-22 2015-07-27 Старшип Способ управления техническим ресурсом энергонезависимой памяти
CN102880556A (zh) * 2012-09-12 2013-01-16 浙江大学 一种实现Nand Flash磨损均衡的方法及其系统
US20150113203A1 (en) * 2013-10-18 2015-04-23 Sandisk Enterprise Ip Llc Device and Method for Managing Die Groups

Also Published As

Publication number Publication date
KR20190052083A (ko) 2019-05-15
RU2019110993A3 (ru) 2020-10-15
AU2019101583A4 (en) 2020-01-23
TWI676992B (zh) 2019-11-11
MX2019002948A (es) 2019-07-18
JP2019532413A (ja) 2019-11-07
RU2019110993A (ru) 2020-10-15
AU2017325886A1 (en) 2019-04-04
US20190212922A1 (en) 2019-07-11
PH12019500555A1 (en) 2019-11-18
AU2017325886B2 (en) 2020-11-19
EP3514674A1 (en) 2019-07-24
TW201818401A (zh) 2018-05-16
CN107025066A (zh) 2017-08-08
WO2018050006A1 (zh) 2018-03-22
CA3036415C (en) 2021-07-06
MY188873A (en) 2022-01-12
EP3514674A4 (en) 2020-05-06
KR102275094B1 (ko) 2021-07-08
US20210342073A1 (en) 2021-11-04
BR112019004916A2 (pt) 2019-06-04
ZA201902298B (en) 2021-06-30
CA3036415A1 (en) 2018-03-22
EP3514674B1 (en) 2023-07-19
US11287984B2 (en) 2022-03-29
US11099744B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
RU2735407C2 (ru) Способ и устройство для записи сохраненных данных на носитель данных на основе флэш-памяти
US9612953B1 (en) Data placement based on data properties in a tiered storage device system
US9811457B2 (en) Data placement based on data retention in a tiered storage device system
TWI420303B (zh) 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置
US10592134B1 (en) Open block stability scanning
KR102663661B1 (ko) 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
CN112867984B (zh) 池级存储管理
JP2010009548A (ja) 記憶装置、制御装置、記憶システム、および記憶方法
US10126970B2 (en) Paired metablocks in non-volatile storage device
US20200257621A1 (en) Garbage collection in non-volatile memory that fully programs dependent layers in a target block
CN111727422A (zh) 数据存储装置的服务寿命终止
EP3189439A1 (en) Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
EP4120086A1 (en) Solid-state drive management method and solid-state drive
JP2023500068A (ja) 不揮発性ランダム・アクセス・メモリにおける補正読取り電圧オフセットの計算
US10324648B1 (en) Wear-based access optimization
CN105955672B (zh) 用于灵活控制损耗均衡的固态存储系统及方法
CN113811862A (zh) 存储驱动器的动态性能等级调整
KR20210020161A (ko) 센티넬 셀을 기초로 한 데이터 무결성 결정
US11144453B2 (en) Unmap to initialize sectors
WO2015109128A1 (en) Data replacement based on data properties and data retention in a tiered storage device system
US20230305721A1 (en) Method and apparatus for memory management in memory disaggregation environment
CN113811861A (zh) 存储驱动器的动态性能等级调整

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20210303

PC41 Official registration of the transfer of exclusive right

Effective date: 20210414

PC41 Official registration of the transfer of exclusive right

Effective date: 20211006