RU2502124C1 - Способ восстановления записей в запоминающем устройстве и система для его осуществления - Google Patents

Способ восстановления записей в запоминающем устройстве и система для его осуществления Download PDF

Info

Publication number
RU2502124C1
RU2502124C1 RU2012140679/08A RU2012140679A RU2502124C1 RU 2502124 C1 RU2502124 C1 RU 2502124C1 RU 2012140679/08 A RU2012140679/08 A RU 2012140679/08A RU 2012140679 A RU2012140679 A RU 2012140679A RU 2502124 C1 RU2502124 C1 RU 2502124C1
Authority
RU
Russia
Prior art keywords
storage device
checksums
data
computing unit
information
Prior art date
Application number
RU2012140679/08A
Other languages
English (en)
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 Общество с ограниченной ответственностью "РЭЙДИКС"
Priority to RU2012140679/08A priority Critical patent/RU2502124C1/ru
Priority to PCT/RU2013/000579 priority patent/WO2014051462A1/ru
Application granted granted Critical
Publication of RU2502124C1 publication Critical patent/RU2502124C1/ru
Priority to US14/643,238 priority patent/US20150178162A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

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

Description

Настоящее изобретение относится к системам обнаружения и исправления ошибок данных на носителях информации, в частности при отказе или повреждении части запоминающего устройства или при искажении данных на запоминающем устройстве.
Ключевой технологией для обеспечения надежности хранения данных в запоминающих устройствах является возможность восстановления данных при выходе из строя одной или нескольких зон запоминающего устройства. Так как в настоящее время наиболее часто для хранения больших объемов информации используются запоминающие устройства, представляющие собой дисковые массивы, можно говорить о возможности восстановления данных при выходе из строя одного или нескольких жестких дисков. Для этого используются различные методы коррекции кода - так называемые избыточные дисковые массивы RAID (redundant array of independent disks). Восстановление происходит за счет вычисления и хранения некоторой избыточной информации (контрольных сумм), которая позволяет восстановить потерянные данные, но требует дополнительного дискового пространства. (См., например, Anvin, Н.Р. (последнее обновление 20 декабря 2011). Получено 25 августа 2012 года по адресу http://ftp.kernel.org/pub/linux/kernel/people/ripa/raid6.pdf).
Способы и системы восстановления записей в запоминающих устройствах с использованием массивов RAID описаны в многочисленных патентных документах, например, патенты США №№7392458 (публ. 24.06.2008), 7437658 (публ. 14.10.2008), 7600176 (публ. 06.10.2009); в заявках на патент США №№2009/0132851 (публ. 21.05.2009), 20100229033, (публ. 09.09.2010), 201101145677 (публ. 16.06.2011), 20110167294 (публ. 07.07.2011), 20110264949 (публ. 27.10.2011).
Наиболее близким решение является решение по патенту России 2448361, публикация 24.04.2012. В данном решении описан способ восстановления записей в запоминающем устройстве, в котором при записи данных в информационные зоны запоминающего устройства в его соответствующие контрольные зоны заносят в две эталонных контрольных суммы, вычисленные по заранее установленным формулам, а в процессе использования запоминающего устройства неоднократно вычисляют с помощью вычислительного блока текущие контрольные суммы по тем же формулам для каждого набора кодовых слов с одинаковыми номерами во всех информационных зонах и сравнивают каждую из вычисленных текущих контрольных сумм с соответствующей эталонной контрольной суммой для нахождения синдрома ошибок и замены выявленных ошибок записи правильными значениями. Технический результат изобретения по патенту RU 2448361 заключается в увеличении скорости расчетов при восстановлении дисков.
Однако для больших массивов запоминаемой информации известные способы не могут обеспечить достаточной надежности работы, это связано с параметрами надежности современных запоминающих устройств. Так для жестких дисков, объединенных по технологии RAID-6, на текущем уровне развития техники достаточная надежность достигается на массивах не более 24 ТБ. Когда используется большое количество дисков, возникает реальная опасность выхода из строя одновременно двух и более дисков. На практике данное затруднение преодолевают за счет разбиения больших массивов на маленькие, что влечет дополнительные расходы на использование больших объемов памяти для хранения контрольных сумм. Поэтому существует потребность в новых способах восстановления записей при хранении больших массивов информации в запоминающих устройствах.
Предлагаемое изобретение предлагает расчет и хранение в памяти трех контрольных сумм. Это позволяет восстановить большее число одновременно отказавших частей запоминающего устройства, что увеличивает его производительность и надежность и снижает необходимый объем памяти для хранения контрольных сумм в больших массивах. Кроме того, предлагаемый способ позволяет не только восстанавливать данные при отказе или повреждении запоминающего устройства, но и при искажении данных на запоминающем устройстве.
Для решения поставленной задачи и достижения вышеуказанного технического результата по настоящему изобретению предложен способ восстановления записей в запоминающем устройстве при отказе или повреждении части запоминающего устройства или при искажении данных на запоминающем устройстве.
При реализации способа разделяют область памяти упомянутого запоминающего устройства на информационные зоны одинакового размера, выбранные из разных частей запоминающего устройства, и контрольные зоны, также выбранные из различных частей запоминающего устройства.
Записывают каждую группу подлежащих запоминанию данных в виде набора кодовых слов в соответствующую информационную зону. Находят при каждой записи подлежащих запоминанию данных в запоминающее устройство с помощью соответствующего вычислительного блока три эталонных контрольных суммы S0, S1, S2, каждую по соответствующей заранее установленной формуле:
Figure 00000001
Figure 00000002
Figure 00000003
где Di - i-я информационная зона, в которую записаны кодовые слова di,1, di,2,…, di,s-1
i=0,…, n-1, кодовые слова являются элементами поля Галуа;
n - число информационных зон;
s - число кодовых слов в одной информационной зоне;
a - примитивный элемент поля Галуа.
Далее записывают каждую из найденных эталонных контрольных сумм в виде кодового слова с тем же номером в соответствующую контрольную зону, при этом каждая из трех контрольных сумм хранится в отдельной зоне запоминающего устройства. В процессе использования запоминающего устройства при отказе или повреждении части запоминающего устройства и при выявлении искажений данных вычисляют с помощью вычислительного блока текущие контрольные суммы по формулам для каждого набора кодовых слов с одинаковыми номерами во всех информационных зонах.
Используют значения хранящихся эталонных контрольных сумм и значения текущих контрольных сумм для восстановления утраченных данных, при этом восстановление утраченных данных с использованием эталонных и текущих контрольных сумм производят путем решения систем уравнений, полученных из формул расчета контрольных сумм. Число уравнений в системе зависит от количества отказавших или поврежденных зон запоминающего устройства.
Способ по изобретению дает возможность обойти технические ограничения надежности носителей и создавать массивы записей в запоминающих устройствах значительно большего объема. При этом способ позволяет восстановить данные при возникновении до трех одновременно возникших отказов или повреждений. Отказы могут происходить и в той части запоминающего устройства, где хранятся контрольные суммы. Кроме того, способ позволяет также восстанавливать ошибки чтения и записи, не регистрируемые аппаратными средствами. Эти результаты достигаются всеми признаками способа, в том числе за счет формирования трех контрольных сумм, хранящихся в различных частях запоминающего устройства. При этом важно, что контрольные суммы рассчитаны на основе трех формул, приведенных выше, и восстановление данных с использованием эталонных и текущих контрольных сумм производят путем решения систем уравнений, полученных из формул расчета контрольных сумм.
Система для восстановления записей в запоминающем устройстве при отказе или повреждении части запоминающего устройства или при искажении данных на нем, основанная на способе, содержит:
- запоминающее устройство, включающее в себя n одинакового размера информационных зон, выбранных из разных частей запоминающего устройства и три контрольные зоны, также выбранные из разных частей запоминающего устройства;
- вычислительный блок.
Каждая из n информационных зон запоминающего устройства выполнена с возможностью записи в нее группы подлежащих запоминанию данных в виде набора кодовых слов;
каждая из упомянутых трех контрольных зон запоминающего устройства выполнена с возможностью записи в нее соответствующей контрольной суммы;
упомянутый вычислительный блок выполнен с возможностью:
нахождения эталонных контрольных сумм, каждую по соответствующей заранее установленной формуле, для каждого i-го набора кодовых слов, где i=0,…, n-1, во всех упомянутых n информационных зонах при каждой записи подлежащих запоминанию данных в упомянутое запоминающее устройство.
При этом для расчета контрольных сумм S0, S1, S2 применяются следующие формулы:
Figure 00000004
Figure 00000005
Figure 00000006
где Di - i-я информационная зона, в которую записаны кодовые слова di,1, di,2,…, di,s-1;
i=0,…,n-1, кодовые слова являются элементами поля Галуа;
n - число информационных зон;
s - число кодовых слов в одной информационной зоне;
a - примитивный элемент поля Галуа.
Вычислительный блок в процессе использования запоминающего устройства при отказе или повреждении части запоминающего и при выявлении искажений данных выполнен с возможностью определения текущих контрольных сумм по упомянутым формулам для каждого набора кодовых слов с одинаковыми номерами во всех информационных зонах и использования значений хранящихся эталонных контрольных сумм и значения текущих контрольных сумм для восстановления утраченных данных. Восстановление утраченных данных с использованием эталонных и текущих контрольных сумм производится путем решения систем уравнений, полученных из формул расчета контрольных сумм, число уравнений в системе зависит от количества отказавших или поврежденных зон запоминающего устройства.
Как и в случае способа, система позволяет создавать массивы хранения данных значительно большего объема, восстанавливать до трех одновременно отказавших частей запоминающего устройства, а также восстанавливать искаженные данные, не регистрируемые аппаратными средствами.
В частном случае реализации способа и системы дополнительно используют значения хранящихся эталонных контрольных сумм и значения текущих контрольных сумм для обнаружения и поиска искажения данных. Это необходимо для того, чтобы определить место искажения данных. При этом перед восстановлением утраченных данных определяют факт наличия искажения данных сравнением эталонных и текущих контрольных сумм и определяют место искажения данных с помощью систем уравнений, полученных из формул расчета контрольных сумм.
Применение данных операций способа, в том числе при конструировании системы, позволяет расширить возможности изобретения по поиску искаженных данных в запоминающем массиве.
Еще одна особенность как способа, так и системы по настоящему изобретению состоит в том, что вычислительный блок входит в состав упомянутого запоминающего устройства. В другом варианте выполнения вычислительный блок является внешним по отношению к упомянутому запоминающему устройству.
Настоящее изобретение иллюстрируется рисунками.
На Фиг.1 показано разбиение дисков на блоки, которые составляют страйп.
На Фиг.2 приведено разбиение информационных зон на зоны хранения кодовых слов и кодовые зоны на зоны хранения кодовых слов.
Заявляемый способ реализуется следующим образом. Запоминающее устройство характеризуется общим объемом памяти. Для реализации данного способа общий объем памяти необходимо разбить на информационные зоны одинакового размера, выбранные из разных частей запоминающего устройства, и контрольные зоны, также выбранные из различных частей запоминающего устройства.
В случае применения в качестве запоминающего устройства массива жестких дисков они разбиваются на блоки одинаковой длины. Последовательность блоков с одинаковыми номерами, но находящихся на разных дисках образует страйп (фиг.1). Информационные зоны и контрольные зоны - это блоки одного страйпа, которые хранятся на разных дисках. Разбиение информационных зон производится на зоны хранения кодовых слов и кодовые зоны - на зоны хранения кодовых слов (Фиг.2).
Нижеследующее подробное описание сделано на основе иллюстративного примера, в котором запоминающее устройство представляет собой массив, построенный из нескольких жестких дисков. Настоящее изобретение может быть применено и к запоминающим устройствам иного типа, например, к запоминающим устройствам, построенным на основе флэш-памяти.
Подлежащие записи данные разбиваются на блоки, длина которых равна длине блока жесткого диска. Эти данные записываются в блоки одного страйпа, на разные диски. Для этих блоков страйпа по указанным формулам:
Figure 00000004
Figure 00000005
Figure 00000007
где Di - i-я информационная зона, в которую записаны кодовые слова di,1, di,2,…, di,s-1; i=0,…, n-1, кодовые слова являются элементами поля Галуа;
n - число информационных зон;
s - число кодовых слов в одной информационной зоне;
a - примитивный элемент поля Галуа;
производится расчет синдромов S0, S1, S2 с помощью вычислительного блока. Под умножением информационной зоны Di на примитивный элемент поля а или его степени понимается умножение по модулю неприводимого многочлена всех кодовых слов информационной зоны на примитивный элемент поля или его степени. Сложение понимается как сложение по модулю 2 (логическая операция XOR). Полученные значения синдромов записываются на диски в тот же страйп, что и блоки данных.
При повреждении или отказе части запоминающего устройства, а также при искажении данных восстановление данных и поиск искажений производятся путем решения системы уравнений, получающейся из формул расчета контрольных сумм.
Коэффициенты ai в формулах выбирались, чтобы система уравнений всегда имела решение. Выбор в качестве коэффициентов степеней примитивного элемента обеспечивает выполнение этого условия.
Пусть в процессе использования запоминающего устройства происходит отказ или повреждение части запоминающего устройства. Для массива жестких дисков это означает, что происходит повреждение блоков страйпов, хранящихся на дисках. Восстановление утраченных данных производится по страйпам.
Рассмотрим случай, когда в страйпе поврежден один блок, что соответствует отказу одного диска массива. Если поврежден блок, являющийся контрольной зоной, тогда с помощью формул расчета контрольных сумм вычислительный блок рассчитывает текущую контрольную сумму, соответствующую поврежденной контрольной зоне. Полученное значение контрольной суммы записывается вместо поврежденной.
Если поврежден блок Dj, являющийся информационной зоной, где j - номер поврежденного блока в страйпе, он нам известен, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущей контрольной суммы . При этом при расчете текущей контрольной суммы пропускается значение отказавшего блока страйпа. Для увеличения производительности, при практической реализации, расчет контрольных сумм производится по схеме Хорнера (см. формулы расчета контрольных сумм). Тогда для расчета контрольных сумм используются операции: умножение на примитивный элемент и сложение. При расчете текущей контрольной суммы с пропуском значения отказавшей информационной зоны, для повышения производительности, вместо значения поврежденного блока Dj, который пропускается, можно положить Dj=0 и расчет текущей контрольной суммы также делать по схеме Хорнера.
Figure 00000004
Figure 00000005
Figure 00000006
От этого вид формул для восстановления данных не изменяется. Значение текущей контрольной суммы рассчитывается вычислительным блоком по формуле:
Figure 00000009
Используя значения хранящейся эталонной контрольной суммы S0 и значение текущей контрольной суммы , вычислительный блок по формуле
Figure 00000010
вычисляет значение отказавшей информационной зоны. Полученное значение записывается вместо поврежденного.
В случае повреждения одной информационной зоны данные могут быть восстановлены за счет контрольной суммы S1. Этот вариант восстановления требует больше вычислительных ресурсов, но он необходим, если кроме информационной зоны в страйпе поврежден блок контрольной суммы S0. Также данный способ восстановления может быть применен в режиме упреждающего восстановления. Режим упреждающего восстановления - это режим чтения данных, который позволяет ускорить процесс получение информации, когда падает скорость чтения с какого-либо диска. Система может не дожидаться окончания чтения данных с медленного диска, а восстановить их. Например, если в процессе чтения блоков с дисков непрочитанными остались контрольные суммы S0, S2 и одна информационная зона, то можно, не дожидаясь окончания процесса чтения, восстановить значение информационной зоны, а контрольные суммы S0, S2 посчитать. Использование упреждающего восстановления ускоряет процесс чтения, если какие-то диски начинают медленно работать.
В этом случае, если поврежден блок Dj, являющийся информационной зоной, где j - номер поврежденного блока в страйпе, он нам известен, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущей контрольной суммы
Figure 00000011
. При этом при расчете текущей контрольной суммы пропускается значение отказавшего блока страйпа.
Значение текущей контрольной суммы рассчитывается вычислительным блоком по формуле:
Figure 00000012
Используя значения хранящейся эталонной контрольной суммы S1 и значение текущей контрольной суммы
Figure 00000013
, вычислительный блок по формуле
Figure 00000014
вычисляет значение отказавшей информационной зоны. Полученное значение записывается вместо поврежденного.
Отрицательная степень означает обратный элемент поля Галуа. Умножение на обратный элемент соответствует делению в алгебре. Вычисление обратного элемента поля требует много вычислительных ресурсов. При практической реализации значения обратных элементов удобнее всего брать из заранее рассчитанных таблиц.
В случае повреждения одной информационной зоны данные могут быть восстановлены за счет контрольной суммы S2. Этот вариант восстановления требует больше вычислительных ресурсов, но он необходим, если кроме информационной зоны в страйпе поврежден блок контрольной суммы S0. Также данный способ восстановления может быть применен в режиме упреждающего восстановления. В этом случае, если поврежден блок Dj, являющийся информационной зоной, где j - номер поврежденного блока в страйпе, он нам известен, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущей контрольной суммы S2. При этом при расчете текущей контрольной суммы пропускается значение отказавшего блока страйпа.
Значение текущей контрольной суммы рассчитывается вычислительным блоком по формуле:
Figure 00000015
Используя значения хранящейся эталонной контрольной суммы S2 и значение текущей контрольной суммы
Figure 00000016
, вычислительный блок по формуле
Figure 00000017
вычисляет значение поврежденной информационной зоны. Полученное значение записывается вместо поврежденного.
Рассмотрим случай, когда в страйпе повреждены два блока, что соответствует отказу двух дисков массива. Также этот способ восстановления применяется, если во время реконструкции одного отказавшего диска возникает невосстановимая ошибка (UER) чтения, и, следовательно, поврежденными являются два блока. Если повреждены блоки, являющиеся контрольными зонами, тогда с помощью формул расчета контрольных сумм вычислительный блок рассчитывает текущие контрольные суммы, соответствующие поврежденным контрольным зонам. Полученные значения контрольных сумм записываются вместо поврежденных. Если из двух поврежденных блоков один является блоком информационной зоны, а другой контрольной зоны, в этом случае данные восстанавливаются по схеме, описанной выше, для одного отказавшего блока, а значение поврежденной контрольной зоны рассчитывается по формулам расчета контрольных сумм.
Если повреждены блок Dj и Dk, являющиеся информационными зонами, где j, k - номера поврежденных блоков в страйпе, они нам известны, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущих контрольных сумм
Figure 00000018
,
Figure 00000019
. При этом при расчете текущих контрольных сумм пропускаются значения отказавших блоков страйпа.
Значения текущих контрольных сумм рассчитываются вычислительным блоком по формулам:
Figure 00000020
Figure 00000021
Используя значения хранящихся эталонных контрольных сумм S0, S1 и значения текущих контрольных сумм
Figure 00000022
,
Figure 00000023
, вычислительный блок по формулам
Figure 00000024
Figure 00000025
вычисляет значения поврежденных информационных зон. Полученные значения записываются вместо поврежденных.
Данный способ восстановления также может быть применен в режиме упреждающего восстановления.
В случае повреждения двух информационных зон данные могут быть восстановлены за счет контрольных сумм S0, S2. Этот вариант восстановления требует больше вычислительных ресурсов, но он необходим, если кроме информационных зон в страйпе поврежден блок контрольной суммы S1. Также данный способ восстановления может быть применен в режиме упреждающего восстановления. В этом случае, если повреждены блоки Dj и Dk, являющиеся информационными зонами, где j, k - номера поврежденных блоков в страйпе, они нам известны, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущих контрольных сумм
Figure 00000022
,
Figure 00000026
. При этом при расчете текущих контрольных сумм пропускаются значения отказавших блоков страйпа.
Значения текущих контрольных сумм рассчитываются вычислительным блоком по формулам:
Figure 00000027
Figure 00000028
Используя значения хранящихся эталонных контрольных сумм S0, S2 и значения текущих контрольных сумм
Figure 00000022
,
Figure 00000026
, вычислительный блок по формулам:
Figure 00000029
Figure 00000025
вычисляет значения поврежденных информационных зон. Полученные значения записываются вместо поврежденных.
В случае повреждения двух информационных зон данные могут быть восстановлены за счет контрольных сумм S1, S2. Этот вариант восстановления требует больше вычислительных ресурсов, но он необходим, если кроме информационных зон в страйпе поврежден блок контрольной суммы S0. Также данный способ восстановления может быть применен в режиме упреждающего восстановления. В этом случае, если повреждены блоки Dj и Dk, являющиеся информационными зонами, где j, k - номера поврежденных блоков в страйпе, они нам известны, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущих контрольных сумм
Figure 00000030
,
Figure 00000031
. При этом при расчете текущих контрольных сумм пропускаются значения отказавших блоков страйпа.
Значения текущих контрольных сумм рассчитываются вычислительным блоком по формулам:
Figure 00000032
Figure 00000033
Используя значения хранящихся эталонных контрольных сумм S1, S2 и значения текущих контрольных сумм
Figure 00000030
,
Figure 00000031
, вычислительный блок по формулам:
Figure 00000034
Figure 00000035
вычисляет значения поврежденных информационных зон. Полученные значения записываются вместо поврежденных.
Рассмотрим случай, когда в страйпе повреждены три блока, что соответствует отказу трех дисков массива. Также этот способ восстановления применяется, если во время реконструкции двух отказавших дисков возникает невосстановимая ошибка (UER) чтения, и, следовательно, поврежденными являются три блока. Если повреждены блоки, являющиеся контрольными зонами, тогда с помощью формул расчета контрольных сумм вычислительный блок рассчитывает текущие контрольные суммы, соответствующие поврежденным контрольным зонам. Полученные значения контрольных сумм записываются вместо поврежденных. Если из трех поврежденных блоков один или два являются блоками информационных зон, а остальные контрольные зоны, в этом случае данные восстанавливаются по схемам, описанным выше, для одного или двух отказавших блоков соответственно, а значения поврежденных контрольных зоны рассчитываются по формулам расчета контрольных сумм.
Если повреждены блоки Dj, Dk, Dl, являющиеся информационными зонами, где j, k, l - номера поврежденных блоков в страйпе, они нам известны, так как отказ регистрируется аппаратными средствами. Тогда с помощью вычислительного блока производится расчет текущих контрольных сумм
Figure 00000036
,
Figure 00000030
,
Figure 00000031
. При этом при расчете текущих контрольных сумм пропускаются значения отказавших блоков страйпа.
Значения текущих контрольных сумм рассчитываются вычислительным блоком по формулам:
Figure 00000037
Figure 00000038
Figure 00000039
Для восстановления блоков Dj, Dk, Dl вычислительный блок должен решить систему:
Figure 00000040
Матрица этой системы является матрицей Вандермонда, ее определитель не равен 0, а значит, система уравнений всегда разрешима.
Введя обозначение:
Figure 00000041
. bjkl является определителем матрицы системы.
И используя значения хранящихся эталонных контрольных сумм S0, S1, S2 и значения текущих контрольных сумм
Figure 00000036
,
Figure 00000030
,
Figure 00000031
, вычислительный блок по формулам:
Figure 00000042
Figure 00000043
Figure 00000044
вычисляет значения поврежденных информационных зон. Полученные значения записываются вместо поврежденных.
В процессе использования запоминающего устройства может быть произведен анализ записанных данных на наличие искажений. Искажения данных, в отличие от отказа или повреждения части запоминающего устройства, не регистрируются аппаратными средствами, а значит, неизвестен факт повреждения и неизвестно место повреждения. Для массива жестких дисков обнаружение искажений данных производится по страйпам.
Если отказавших блоков в страйпе нет, тогда для обнаружения факта искажения с помощью вычислительного блока рассчитываются текущие контрольные суммы по формулам:
Figure 00000045
Figure 00000046
Figure 00000047
Вычислительный блок сравнивает друг с другом соответствующие текущие контрольные суммы
Figure 00000036
,
Figure 00000030
,
Figure 00000031
и хранящиеся эталонные контрольные суммы S0, S1, S2.
Если
Figure 00000048
, то есть текущие контрольные суммы равны эталонным контрольным суммам, значит, искажения данных не обнаружены и вычислительное устройство переходит к анализу следующего страйпа. Если это условие не выполнено, тогда с помощью вычислительного блока производится определение номера блока страйпа, в котором произошло искажение данных. Для этого с помощью вычислительного блока проверяются следующие условия:
Если
Figure 00000049
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S0.
Если
Figure 00000050
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S1.
Если
Figure 00000051
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S2.
Если никакое из этих условий не выполнено, то значит, искажение данных произошло в блоке, соответствующем информационной зоне, номер этого блока определяется с помощью вычислительного блока по формуле:
Figure 00000052
Когда определен номер испорченного блока, вычислительный блок восстанавливает значение этого блока, как это описано выше для одного отказавшего блока страйпа.
В процессе использования запоминающего устройства может быть произведен анализ имеющихся данных на наличие искажений даже в случае, когда произошел отказ или повреждение части запоминающего устройства. То есть перед восстановлением отказавшей или поврежденной части запоминающего устройства анализируются неповрежденные данные на наличие искажений. Анализ на наличие искажений и их исправление производится, для того чтобы гарантировать корректность восстановленных данных. Искажения данных в отличие от отказа или повреждения части запоминающего устройства не регистрируются аппаратными средствами, а значит, неизвестен факт повреждения и неизвестно место повреждения. Для массива жестких дисков обнаружение искажений данных при восстановлении производится по страйпам.
Если отказавшим блоком страйпа является блок контрольной суммы S2, тогда для обнаружения факта искажения с помощью вычислительного блока рассчитываются текущие контрольные суммы
Figure 00000036
,
Figure 00000030
по формулам:
Figure 00000045
Figure 00000046
Вычислительный блок сравнивает друг с другом соответствующие текущие контрольные суммы
Figure 00000036
,
Figure 00000030
и хранящиеся эталонные контрольные суммы S0, S1.
Если
Figure 00000053
, то есть текущие контрольные суммы равны эталонным контрольным суммам, значит, искажения данных не обнаружены и вычислительное устройство переходит к восстановлению отказавшего блока, то есть расчету контрольной суммы S2. Если это условие не выполнено, тогда с помощью вычислительного блока производится определение номера блока страйпа, в котором произошло искажение данных. Для этого с помощью вычислительного блока проверяются следующие условия:
Если
Figure 00000054
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S0.
Если
Figure 00000055
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S1.
Если никакое из этих условий не выполнено, то значит, искажение данных произошло в блоке, соответствующем информационной зоне, номер этого блока определяется с помощью вычислительного блока по формуле:
Figure 00000052
Когда определен номер испорченного блока, вычислительный блок восстанавливает значения всех отказавших блоков, как это описано выше для двух отказавших блоков страйпа.
Если отказавшим блоком страйпа является блок контрольной суммы S1, тогда для обнаружения факта искажения с помощью вычислительного блока рассчитываются текущие контрольные суммы
Figure 00000036
,
Figure 00000056
по формулам:
Figure 00000045
Figure 00000057
Вычислительный блок сравнивает друг с другом соответствующие текущие контрольные суммы
Figure 00000036
,
Figure 00000056
и хранящиеся эталонные контрольные суммы S0, S2.
Если
Figure 00000058
, то есть текущие контрольные суммы равны эталонным контрольным суммам, значит, искажения данных не обнаружены и вычислительное устройство переходит к восстановлению отказавшего блока, то есть расчету контрольной суммы S1. Если это условие не выполнено, тогда с помощью вычислительного блока производится определение номера блока страйпа, в котором произошло искажение данных. Для этого с помощью вычислительного блока проверяются следующие условия:
Если
Figure 00000059
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S0.
Если
Figure 00000060
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S1.
Если никакое из этих условий не выполнено, то значит, искажение данных произошло в блоке, соответствующем информационной зоне, номер этого блока определяется с помощью вычислительного блока по формуле:
Figure 00000061
Когда определен номер испорченного блока, вычислительный блок восстанавливает значения всех отказавших блоков, как это описано выше для двух отказавших блоков страйпа.
Если отказавшим блоком страйпа является блок контрольной суммы S0, тогда для обнаружения факта искажения с помощью вычислительного блока рассчитываются текущие контрольные суммы
Figure 00000062
,
Figure 00000056
по формулам:
Figure 00000063
Figure 00000064
Вычислительный блок сравнивает друг с другом соответствующие текущие контрольные суммы
Figure 00000065
,
Figure 00000056
и хранящиеся эталонные контрольные суммы S1, S2.
Если
Figure 00000066
, то есть текущие контрольные суммы равны эталонным контрольным суммам, значит, искажения данных не обнаружены и вычислительное устройство переходит к восстановлению отказавшего блока, то есть расчету контрольной суммы S0. Если это условие не выполнено, тогда с помощью вычислительного блока производится определение номера блока страйпа, в котором произошло искажение данных. Для этого с помощью вычислительного блока проверяются следующие условия:
Если
Figure 00000067
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S1.
Если
Figure 00000068
, то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S2.
Если никакое из этих условий не выполнено, то значит, искажение данных произошло в блоке, соответствующем информационной зоне, номер этого блока определяется с помощью вычислительного блока по формуле:
Figure 00000052
Когда определен номер испорченного блока, вычислительный блок восстанавливает значения всех отказавших блоков, как это описано выше для двух отказавших блоков страйпа.
Если отказавшим блоком страйпа является блок, соответствующий информационной зоне Dj, где j - номер отказавшего блока в страйпе, он известен, так как отказ регистрируется аппаратными средствами. Тогда для обнаружения факта искажения с помощью вычислительного блока рассчитываются текущие контрольные суммы
Figure 00000069
,
Figure 00000062
,
Figure 00000056
по формулам:
Figure 00000070
Figure 00000063
Figure 00000071
Введем вспомогательные обозначения:
Figure 00000072
Figure 00000073
Figure 00000074
Вычислительный блок проверяет следующее условия для обнаружения факта повреждения:
Если (U1=0 и U2=0), то искажения данных не обнаружены, и можно восстанавливать отказавший блок, как это описано выше для одного отказавшего блока страйпа. Если это условие не выполнено, тогда с помощью вычислительного блока производится определение номера блока страйпа, в котором произошло искажение данных. Для этого с помощью вычислительного блока проверяются следующие условия:
Если (U1≠0 и U2≠0 и u3≠0), то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S0.
Если (U1≠0 и U2=0 и u3≠0), то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S1.
Если (U1=0 и U2≠0 и u3≠0), то искажение данных произошло в блоке страйпа, соответствующем контрольной сумме S2.
Если никакое из этих условий не выполнено, то значит, искажение данных произошло в блоке, соответствующем информационной зоне, номер этого блока определяется с помощью вычислительного блока по формуле:
Figure 00000075
Когда определен номер испорченного блока, вычислительный блок восстанавливает значения всех отказавших блоков, как это описано выше для двух отказавших блоков страйпа.
Можно отметить, что вычислительный блок может входить в состав запоминающего устройства, т.е. быть его составной частью, но может быть и внешним средством по отношению к этому запоминающему устройству, например, в случаях, когда запоминающее устройство организовано в процессе работы из нескольких самостоятельных устройств. Так, внешнее средство в данном случае может быть сетевым сервером, управляющим работой нескольких баз данных, соединенных обслуживаемой им сетью.
Еще одним объектом настоящего изобретения является система, содержащая вышеописанное запоминающее устройство, и вычислительный блок, обеспечивающий описанное выше функционирование.

Claims (10)

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

Figure 00000077

Figure 00000078

где Di - i-я информационная зона, в которую записаны кодовые слова di,1, di,2, …, di,s-1 i=0, …, n-1, кодовые слова являются элементами поля Галуа;
n - число информационных зон;
s - число кодовых слов в одной информационной зоне;
a - примитивный элемент поля Галуа;
далее записывают каждую из найденных эталонных контрольных сумм в виде кодового слова с тем же номером в соответствующую контрольную зону, при этом каждая из трех контрольных сумм хранится в отдельной зоне запоминающего устройства, в процессе использования упомянутого запоминающего устройства при отказе или повреждении части запоминающего устройства и при выявлении искажений данных вычисляют с помощью упомянутого вычислительного блока текущие контрольные суммы по упомянутым формулам для каждого набора кодовых слов с одинаковыми номерами во всех информационных зонах;
используют значения хранящихся эталонных контрольных сумм и значения текущих контрольных сумм для восстановления утраченных данных;
при этом восстановление утраченных данных с использованием эталонных и текущих контрольных сумм производят путем решения систем уравнений, полученных из формул расчета контрольных сумм, а число уравнений в системе зависит от количества отказавших или поврежденных зон запоминающего устройства.
2. Способ по п.1, отличающийся тем, что дополнительно используют значения хранящихся эталонных контрольных сумм и значения текущих контрольных сумм для обнаружения и поиска искажения данных.
3. Способ по п.1 или п.2, отличающийся тем, что перед восстановлением утраченных данных определяют факт наличия искажения данных сравнением эталонных и текущих контрольных сумм и определяют место искажения данных с помощью систем уравнений, полученных из формул расчета контрольных сумм.
4. Способ по п.1, отличающийся тем, что упомянутый вычислительный блок входит в состав упомянутого запоминающего устройства.
5. Способ по п.1, отличающийся тем, что упомянутый вычислительный блок является внешним по отношению к упомянутому запоминающему устройству.
6. Система для восстановления записей в запоминающем устройстве при отказе или повреждении части запоминающего устройства или при искажении данных на нем, содержащая упомянутое запоминающее устройство, включающее в себя n одинакового размера информационных зон, выбранных из разных частей запоминающего устройства, и три контрольные зоны, также выбранные из разных частей запоминающего устройства, и вычислительный блок, при этом:
каждая из упомянутых n информационных зон запоминающего устройства выполнена с возможностью записи в нее группы подлежащих запоминанию данных в виде набора кодовых слов;
каждая из упомянутых трех контрольных зон запоминающего устройства выполнена с возможностью записи в нее соответствующей контрольной суммы;
упомянутый вычислительный блок выполнен с возможностью:
нахождения эталонных контрольных сумм, каждую по соответствующей заранее установленной формуле, для каждого i-го набора кодовых слов, где i=0, …, n-1, во всех упомянутых n информационных зонах при каждой записи подлежащих запоминанию данных в упомянутое запоминающее устройство,
при этом для расчета контрольных сумм S0, S1, S2 применяются следующие формулы:
Figure 00000079

Figure 00000080

Figure 00000081

где Di - i-я информационная зона, в которую записаны кодовые слова di,1, di,2, …, di,s-1; i=0, …, n-1, кодовые слова являются элементами поля Галуа;
n - число информационных зон;
s - число кодовых слов в одной информационной зоне;
a - примитивный элемент поля Галуа;
при этом вычислительный блок в процессе использования упомянутого запоминающего устройства при отказе или повреждении части запоминающего устройства и при выявлении искажений данных выполнен с возможностью определения текущих контрольных сумм по упомянутым формулам для каждого набора кодовых слов с одинаковыми номерами во всех информационных зонах и использования значений хранящихся эталонных контрольных сумм и значения текущих контрольных сумм для восстановления утраченных данных, а восстановление утраченных данных с использованием эталонных и текущих контрольных сумм производится путем решения систем уравнений, полученных из формул расчета контрольных сумм, число уравнений в системе зависит от количества отказавших или поврежденных зон запоминающего устройства.
7. Система по п.6, отличающаяся тем, что вычислительный блок выполнен с возможностью использования значений хранящихся эталонных контрольных сумм и значений текущих контрольных сумм для обнаружения и поиска искажения данных.
8. Система по п.6 или 7, отличающаяся тем, что вычислительный блок выполнен с возможностью перед восстановлением утраченных данных определения факта наличия искажения данных путем сравнения эталонных и текущих контрольных сумм и определения места искажения данных с помощью систем уравнений, полученных из формул расчета контрольных сумм.
9. Система по п.6, отличающаяся тем, что упомянутый вычислительный блок входит в состав упомянутого запоминающего устройства.
10. Система по п.6, отличающаяся тем, что упомянутый вычислительный блок является внешним по отношению к упомянутому запоминающему устройству.
RU2012140679/08A 2012-09-12 2012-09-12 Способ восстановления записей в запоминающем устройстве и система для его осуществления RU2502124C1 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2012140679/08A RU2502124C1 (ru) 2012-09-12 2012-09-12 Способ восстановления записей в запоминающем устройстве и система для его осуществления
PCT/RU2013/000579 WO2014051462A1 (ru) 2012-09-12 2013-07-09 Способ восстановления записей в запоминающем устройстве и система для его осуществления
US14/643,238 US20150178162A1 (en) 2012-09-12 2015-03-10 Method for Recovering Recordings in a Storage Device and System for Implementing Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012140679/08A RU2502124C1 (ru) 2012-09-12 2012-09-12 Способ восстановления записей в запоминающем устройстве и система для его осуществления

Publications (1)

Publication Number Publication Date
RU2502124C1 true RU2502124C1 (ru) 2013-12-20

Family

ID=49785253

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012140679/08A RU2502124C1 (ru) 2012-09-12 2012-09-12 Способ восстановления записей в запоминающем устройстве и система для его осуществления

Country Status (3)

Country Link
US (1) US20150178162A1 (ru)
RU (1) RU2502124C1 (ru)
WO (1) WO2014051462A1 (ru)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2680739C1 (ru) * 2017-11-28 2019-02-26 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ контроля и обеспечения целостности данных
RU2696425C1 (ru) * 2018-05-22 2019-08-02 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ двумерного контроля и обеспечения целостности данных
RU2758943C1 (ru) * 2020-12-07 2021-11-03 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ распределенного хранения данных с подтвержденной целостностью
RU2785469C1 (ru) * 2021-11-24 2022-12-08 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ обеспечения целостности и доступности информации в распределенных системах хранения данных

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846540B1 (en) * 2013-08-19 2017-12-19 Amazon Technologies, Inc. Data durability using un-encoded copies and encoded combinations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374264B1 (en) * 1998-09-04 2002-04-16 Lucent Technologies Inc. Method and apparatus for detecting and recovering from data corruption of a database via read prechecking and deferred maintenance of codewords
US6427220B1 (en) * 1999-11-04 2002-07-30 Marvell International, Ltd. Method and apparatus for prml detection incorporating a cyclic code
EP1976180A2 (en) * 1997-01-28 2008-10-01 Matsushita Electric Industrial Co., Ltd. Message recovery signature apparatus
RU2010126825A (ru) * 2010-07-01 2012-01-10 Андрей Рюрикович Федоров (RU) Способ восстановления записей в запоминающем устройстве, система для его осуществления и машиночитаемый носитель
US8219887B2 (en) * 2007-11-21 2012-07-10 Marvell World Trade Ltd. Parallel Reed-Solomon RAID (RS-RAID) architecture, device, and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093182B2 (en) * 1999-08-02 2006-08-15 Inostor Corporation Data redundancy methods and apparatus
US20080229302A1 (en) * 2007-03-16 2008-09-18 Kufeldt Philip A System and method for universal access to and protection of personal digital content
US8751859B2 (en) * 2007-05-10 2014-06-10 International Business Machines Corporation Monitoring lost data in a storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1976180A2 (en) * 1997-01-28 2008-10-01 Matsushita Electric Industrial Co., Ltd. Message recovery signature apparatus
US6374264B1 (en) * 1998-09-04 2002-04-16 Lucent Technologies Inc. Method and apparatus for detecting and recovering from data corruption of a database via read prechecking and deferred maintenance of codewords
US6427220B1 (en) * 1999-11-04 2002-07-30 Marvell International, Ltd. Method and apparatus for prml detection incorporating a cyclic code
US8219887B2 (en) * 2007-11-21 2012-07-10 Marvell World Trade Ltd. Parallel Reed-Solomon RAID (RS-RAID) architecture, device, and method
RU2010126825A (ru) * 2010-07-01 2012-01-10 Андрей Рюрикович Федоров (RU) Способ восстановления записей в запоминающем устройстве, система для его осуществления и машиночитаемый носитель

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2680739C1 (ru) * 2017-11-28 2019-02-26 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ контроля и обеспечения целостности данных
RU2696425C1 (ru) * 2018-05-22 2019-08-02 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ двумерного контроля и обеспечения целостности данных
RU2758943C1 (ru) * 2020-12-07 2021-11-03 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ распределенного хранения данных с подтвержденной целостностью
RU2785469C1 (ru) * 2021-11-24 2022-12-08 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ обеспечения целостности и доступности информации в распределенных системах хранения данных

Also Published As

Publication number Publication date
WO2014051462A1 (ru) 2014-04-03
US20150178162A1 (en) 2015-06-25

Similar Documents

Publication Publication Date Title
US9983959B2 (en) Erasure coding of data within a group of storage units based on connection characteristics
US8700951B1 (en) System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata
US9189311B2 (en) Rebuilding a storage array
US9229810B2 (en) Enabling efficient recovery from multiple failures together with one latent error in a storage array
US9229813B2 (en) Error correction with on-demand parity sectors in magnetic data storage devices
US8930750B2 (en) Systems and methods for preventing data loss
US10466913B2 (en) Method and system for replicating and using grid level metadata in a storage system
EP1828899B1 (en) Method and system for syndrome generation and data recovery
US10025666B2 (en) RAID surveyor
US9058291B2 (en) Multiple erasure correcting codes for storage arrays
US20210081273A1 (en) Method and System for Host-Assisted Data Recovery Assurance for Data Center Storage Device Architectures
US20100037091A1 (en) Logical drive bad block management of redundant array of independent disks
US7823011B2 (en) Intra-disk coding scheme for data-storage systems
KR20140018393A (ko) 데이터 무결성을 제공하기 위한 방법 및 장치
TWI461901B (zh) 資料儲存與重建的方法與系統
KR20140013095A (ko) 데이터 무결성을 제공하기 위한 방법 및 장치
US9740440B2 (en) Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
CN104156174A (zh) 基于条带的固态硬盘raid实现方法及装置
US10558524B2 (en) Computing system with data recovery mechanism and method of operation thereof
RU2502124C1 (ru) Способ восстановления записей в запоминающем устройстве и система для его осуществления
US20060215456A1 (en) Disk array data protective system and method
US9280301B2 (en) Method and device for recovering erroneous data
US20100138603A1 (en) System and method for preventing data corruption after power failure
US8667326B2 (en) Dual hard disk drive system and method for dropped write detection and recovery
KR20170064978A (ko) Raid 메모리의 여러 ecc 블록들 내의 데이터를 정정하기 위한 장치 및 방법