RU2626091C1 - Способ и устройство доступа к данным - Google Patents

Способ и устройство доступа к данным Download PDF

Info

Publication number
RU2626091C1
RU2626091C1 RU2016132295A RU2016132295A RU2626091C1 RU 2626091 C1 RU2626091 C1 RU 2626091C1 RU 2016132295 A RU2016132295 A RU 2016132295A RU 2016132295 A RU2016132295 A RU 2016132295A RU 2626091 C1 RU2626091 C1 RU 2626091C1
Authority
RU
Russia
Prior art keywords
state
disks
group
data
strip
Prior art date
Application number
RU2016132295A
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 Хуавэй Текнолоджиз Ко., Лтд.
Application granted granted Critical
Publication of RU2626091C1 publication Critical patent/RU2626091C1/ru

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
    • 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/0653Monitoring storage devices or systems
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/103Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations
    • 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/0638Organizing or formatting or addressing of data
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

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

Description

[0001] Данная заявка испрашивает приоритет заявки на патент Китая номер 201410007103.0, поданной в Патентное Ведомство Китая 7 января 2014 года и озаглавленной "DATA ACCESS METHOD AND APPARATUS", которая полностью содержится в данном документе по ссылке.
Область техники, к которой относится изобретение
[0002] Настоящее изобретение относится к области техники информационных технологий и, в частности, к способу и устройству доступа к данным.
Уровень техники
[0003] В силу быстрого развития информационных технологий способ сохранения данных посредством использования устройств широко применяется. Тем не менее, область хранения устройства подвержена рискам повреждения, которые вызывают потери сохраненных данных и приводят к неудобству и даже к невосстанавливаемым потерям для людей. Требования по надежности данных варьируются в различных областях техники, и для сценариев применения, в которых не требуется исключительная надежность данных, остаточные данные в области хранения также являются ценными. Следовательно, у людей возникает сложная проблема в том, как сокращать потери данных в случае повреждения области хранения для эффективного доступа к данным.
[0004] В предшествующем уровне техники технология на основе RAID (массива независимых дисков с избыточностью информации, массива независимых дисков с избыточностью информации) используется для доступа к данным, причем несколько дисков формируют группу дисков, каждый диск разделяется на несколько полос, и данные сегментированы на несколько блоков данных, которые сохраняются отдельно в различных полосах нескольких дисков, причем каждая полоса сохраняет один блок данных. RAID5 используется в качестве примера. RAID5 включает в себя группу дисков, и группа дисков включает в себя n+1 дисков, причем n дисков используются для того, чтобы сохранять данные для доступа, и один диск используется для того, чтобы сохранять избыточные данные. Когда один диск в группе дисков становится сбойным, неизвестные данные в сбойном диске могут получаться посредством вычисления посредством использования данных на других дисках в группе дисков, и затем ко всем данным может осуществляться доступ. Когда более одного диска в группе дисков становятся сбойными, неизвестные данные в сбойных дисках не могут получаться посредством вычисления посредством использования данных на других дисках в группе дисков. Группа дисков переходит в состояние отказа, и доступ к данным в группе дисков не может осуществляться. В этом случае, встроенный RAID-способ или сторонняя услуга может использоваться для того, чтобы осуществлять доступ к остаточным данным в группе дисков, причем остаточные данные являются данными на других дисках, отличных от сбойных дисков в группе дисков.
[0005] В процессе реализации настоящего изобретения автор изобретения обнаружил, что предшествующий уровень техники имеет, по меньшей мере, следующие недостатки.
[0006] Когда более одного диска становятся сбойными без принятия других мер, все данные в группе дисков теряются, и к данным не может эффективно осуществляться доступ. Помимо этого даже если способ на основе встроенных RAID-услуг или способ на основе сторонних услуг используется для того, чтобы осуществлять доступ к данным, недостаточная производительность в реальном времени RAID-услуги или сторонней услуги приводит к невозможности простого и быстрого считывания данных, а также вызывает долговременное прерывание услуги. Кроме того, когда вовлекается третья сторона, не может обеспечиваться конфиденциальность данных.
Сущность изобретения
[0007] Чтобы разрешать проблему, имеющуюся в предшествующем уровне техники, варианты осуществления настоящего изобретения предоставляют способ и устройство доступа к данным. Технические решения заключаются в следующем.
[0008] Согласно первому аспекту предусмотрен способ доступа к данным, причем способ применяется к массиву независимых дисков с избыточностью информации, массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, каждый диск разделяется заранее, по меньшей мере, на одну полосу, и способ включает в себя:
- получение запроса на считывание данных для группы первых дисков, причем запрос на считывание данных переносит адрес считывания;
- определение диапазона местоположений первой полосы группы первых дисков согласно адресу считывания, причем, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы;
- последовательное считывание данных, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы; и
- если данные успешно не считываются из текущей первой полосы, задание результата считывания данных для текущей первой полосы как предварительно установленных дополняющих данных и продолжение считывания данных из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и возврат результата считывания данных для каждой первой полосы.
[0009] В отношении первого аспекта в первом возможном способе реализации первого аспекта массив независимых дисков с избыточностью информации дополнительно включает в себя группу вторых дисков, и способ дополнительно включает в себя:
- получение запроса на запись данных для группы первых дисков, причем запрос на запись данных переносит адрес записи;
- определение диапазона местоположений второй полосы группы первых дисков согласно адресу записи, причем, по меньшей мере, одна вторая полоса включена в пределы диапазона местоположений второй полосы;
- последовательную запись данных, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы;
- если данные успешно не записываются в текущую вторую полосу, сканирование для того, чтобы распознавать состояние группы первых дисков, причем состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя; и
- если группа первых дисков находится в неперезаписываемом состоянии, продолжение записи данных в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
[0010] В отношении первого возможного способа реализации первого аспекта во втором возможном способе реализации первого аспекта после сканирования для того, чтобы распознавать состояние группы первых дисков, способ дополнительно включает в себя:
- если группа первых дисков находится в состоянии невосстановления после сбоя, отправку сигнала предупреждения в ответ.
[0011] В отношении первого аспекта в первом-втором возможных способах реализации первого аспекта в третьем возможном способе реализации первого аспекта способ дополнительно включает в себя:
- проверку того, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и
- если первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматирование первого диска, разделение отформатированного первого диска на полосы и задание состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния.
[0012] В отношении третьего возможного способа реализации первого аспекта в четвертом возможном способе реализации первого аспекта после задания состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния, способ дополнительно включает в себя:
- в ходе считывания данных из полосы в незаписанном состоянии, задание результата считывания данных для полосы в незаписанном состоянии как предварительно установленных дополняющих данных.
[0013] В отношении первого аспекта в первом-четвертом возможных способах реализации первого аспекта в пятом возможном способе реализации первого аспекта способ дополнительно включает в себя:
- проверку того, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии;
- если группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определение того, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние; и
- если последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задание состояния группы первых дисков как не-неперезаписываемого состояния, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
[0014] В отношении пятого возможного способа реализации первого аспекта в шестом возможном способе реализации первого аспекта после проверки того, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, способ дополнительно включает в себя:
- если группа первых дисков находится в данный момент в неперезаписываемом состоянии, определение того, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние; и
- если последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задание состояния группы первых дисков как неперезаписываемого состояния.
[0015] Согласно второму аспекту предусмотрено устройство доступа к данным, причем устройство применяется к массиву независимых дисков с избыточностью информации, массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, каждый диск разделяется заранее, по меньшей мере, на одну полосу, и устройство включает в себя:
- первый модуль получения, выполненный с возможностью получать запрос на считывание данных для группы первых дисков, причем запрос на считывание данных переносит адрес считывания;
- первый модуль определения, выполненный с возможностью определять диапазон местоположений первой полосы группы первых дисков согласно адресу считывания, причем, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы;
- модуль считывания, выполненный с возможностью последовательно считывать данные, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы;
- первый модуль задания, выполненный с возможностью: когда данные успешно не считываются из текущей первой полосы, задавать результат считывания данных для текущей первой полосы как предварительно установленные дополняющие данные и продолжать считывать данные из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и
- модуль возврата, выполненный с возможностью возвращать результат считывания данных для каждой первой полосы.
[0016] В отношении второго аспекта в первом возможном способе реализации второго аспекта массив независимых дисков с избыточностью информации дополнительно включает в себя группу вторых дисков, и устройство дополнительно включает в себя:
- второй модуль получения, выполненный с возможностью получать запрос на запись данных для группы первых дисков, причем запрос на запись данных переносит адрес записи;
- второй модуль определения, выполненный с возможностью определять диапазон местоположений второй полосы группы первых дисков согласно адресу записи, причем, по меньшей мере, одна вторая полоса включена в пределы диапазона местоположений второй полосы;
- первый модуль записи, выполненный с возможностью последовательно записывать данные, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы;
- модуль сканирования, выполненный с возможностью: когда данные успешно не записываются в текущую вторую полосу, сканировать для того, чтобы распознавать состояние группы первых дисков, причем состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя; и
- второй модуль записи, выполненный с возможностью: когда группа первых дисков находится в неперезаписываемом состоянии, продолжать записывать данные в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
[0017] В отношении первой возможной реализации второго аспекта во второй возможной реализации второго аспекта устройство дополнительно включает в себя:
- модуль ответа, выполненный с возможностью: когда группа первых дисков находится в состоянии невосстановления после сбоя, отправлять сигнал предупреждения в ответ.
[0018] В отношении второго аспекта в первом-втором возможных способах реализации второго аспекта в третьем возможном способе реализации второго аспекта устройство дополнительно включает в себя:
- первый модуль проверки, выполненный с возможностью проверять, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и
- модуль форматирования, выполненный с возможностью: когда первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматировать первый диск;
- модуль разделения, выполненный с возможностью разделять отформатированный первый диск на полосы; и
- второй модуль задания, выполненный с возможностью задавать состояние каждой полосы, которая получается посредством разделения, как незаписанное состояние.
[0019] В отношении третьего возможного способа реализации второго аспекта в четвертом возможном способе реализации второго аспекта первый модуль задания дополнительно выполнен с возможностью: в ходе считывания данных из полосы в незаписанном состоянии, задавать результат считывания данных для полосы в незаписанном состоянии как предварительно установленные дополняющие данные.
[0020] В отношении второго аспекта в первом-четвертом возможных способах реализации второго аспекта в пятом возможном способе реализации второго аспекта устройство дополнительно включает в себя:
- второй модуль проверки, выполненный с возможностью проверять, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии;
- третий модуль определения, выполненный с возможностью: когда группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние; и
- третий модуль задания, выполненный с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задавать состояние группы первых дисков как не-неперезаписываемое состояние, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
[0021] В отношении пятого возможного способа реализации второго аспекта в шестом возможном способе реализации второго аспекта устройство дополнительно включает в себя:
- четвертый модуль определения, выполненный с возможностью: когда группа первых дисков находится в данный момент в неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние; и
- четвертый модуль задания, выполненный с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задавать состояние группы первых дисков как неперезаписываемое состояние.
[0022] Технические решения, предоставляемые посредством вариантов осуществления настоящего изобретения, обеспечивают следующие преимущества.
[0023] Результат считывания данных для первой полосы, данные которой успешно не считываются, задается как предварительно установленные дополняющие данные, считывание данных переходит к следующей первой полосе до тех пор, пока данные не будут считаны из всех первых полос, и результат считывания данных для каждой первой полосы не будет возвращен, что уменьшает потери данных и сокращает время прерывания доступа, когда данные успешно не считываются.
Краткое описание чертежей
[0024] Чтобы более понятно описывать технические решения в вариантах осуществления настоящего изобретения, далее кратко представлены прилагаемые чертежи, требуемые для описания вариантов осуществления. Очевидно, что прилагаемые чертежи в нижеприведенном описании показывают только некоторые варианты осуществления настоящего изобретения и специалисты в данной области техники по-прежнему могут получать другие чертежи из этих прилагаемых чертежей без творческих усилий.
[0025] Фиг. 1 является блок-схемой последовательности операций способа доступа к данным согласно варианту 1 осуществления настоящего изобретения;
[0026] Фиг. 2 является блок-схемой последовательности операций способа доступа к данным согласно варианту 2 осуществления настоящего изобретения;
[0027] Фиг. 3 является принципиальной схемой структуры первого диска согласно варианту 2 осуществления настоящего изобретения;
[0028] Фиг. 4 является принципиальной схемой разделенных полос согласно варианту 2 осуществления настоящего изобретения;
[0029] Фиг. 5 является принципиальной схемой структуры первого типа группы первых дисков согласно варианту 2 осуществления настоящего изобретения;
[0030] Фиг. 6 является принципиальной схемой структуры второго типа группы первых дисков согласно варианту 2 осуществления настоящего изобретения;
[0031] Фиг. 7 является принципиальной схемой структуры программного обеспечения для доступа к данным согласно варианту 2 осуществления настоящего изобретения;
[0032] Фиг. 8 является принципиальной схемой структуры программного RAID согласно варианту 2 осуществления настоящего изобретения;
[0033] Фиг. 9 является принципиальной схемой структуры аппаратных средств для доступа к данным согласно варианту 2 осуществления настоящего изобретения;
[0034] Фиг. 10 является блок-схемой последовательности операций способа доступа к данным согласно варианту 3 осуществления настоящего изобретения;
[0035] Фиг. 11 является принципиальной схемой интерфейса отображения согласно варианту 3 осуществления настоящего изобретения; и
[0036] Фиг. 12 является принципиальной схемой структуры устройства доступа к данным согласно варианту 4 осуществления настоящего изобретения.
Подробное описание вариантов осуществления
[0037] Чтобы осуществлять доступ к данным, устройство для сохранения данных должно определяться. Когда устройство хранения данных определяется, должны учитываться производительность, надежность и затраты устройства хранения данных. Массив независимых дисков с избыточностью информации достигает лучшего баланса между производительностью, надежностью и затратами. Следовательно, для большинства устройств хранения данных гражданского назначения, технология массива независимых дисков с избыточностью информации используется для того, чтобы компоновать окружения хранения данных.
[0038] Способ доступа к данным, предоставленный в вариантах осуществления настоящего изобретения может применяться не только к сценариям хранения потоковых мультимедийных данных, но также и к сценариям, в которых надежность данных строго не требуется, к примеру, к сценариям хранения текста и Интернет-кэширования.
[0039] Чтобы прояснять цели, технические решения и преимущества настоящего изобретения, далее подробно описываются варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
Вариант 1 осуществления
[0040] Вариант осуществления настоящего изобретения предоставляет способ доступа к данным, который применяется к массиву независимых дисков с избыточностью информации. Массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, и каждый диск разделяется заранее, по меньшей мере, на одну полосу. Ссылаясь на фиг. 1, процесс способа, предоставленный в этом варианте осуществления, включает в себя:
[0041] 101: Получение запроса на считывание данных для группы первых дисков, причем запрос на считывание данных переносит адрес считывания.
[0042] 102: Определение диапазона местоположений первой полосы группы первых дисков согласно адресу считывания, причем, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы.
[0043] 103: Последовательное считывание данных, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы.
[0044] 104: Если данные успешно не считываются из текущей первой полосы, задание результата считывания данных для текущей первой полосы как предварительно установленных дополняющих данных и продолжение считывания данных из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и возврат результата считывания данных для каждой первой полосы.
[0045] Предпочтительно массив независимых дисков с избыточностью информации дополнительно включает в себя группу вторых дисков, и способ дополнительно включает в себя:
- получение запроса на запись данных для группы первых дисков, причем запрос на запись данных переносит адрес записи;
- определение диапазона местоположений второй полосы группы первых дисков согласно адресу записи, причем, по меньшей мере, одна вторая полоса включена в пределы диапазона местоположений второй полосы;
- последовательную запись данных, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы;
- если данные успешно не записываются в текущую вторую полосу, сканирование для того, чтобы распознавать состояние группы первых дисков, причем состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя; и
- если группа первых дисков находится в неперезаписываемом состоянии, продолжение записи данных в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
[0046] Предпочтительно после сканирования для того, чтобы распознавать состояние группы первых дисков, способ дополнительно включает в себя:
- если группа первых дисков находится в состоянии невосстановления после сбоя, отправку сигнала предупреждения в ответ.
[0047] Предпочтительно способ дополнительно включает в себя:
- проверку того, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и
- если первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматирование первого диска, разделение отформатированного первого диска на полосы и задание состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния.
[0048] Предпочтительно после задания состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния, способ дополнительно включает в себя:
- в ходе считывания данных из полосы в незаписанном состоянии, задание результата считывания данных для полосы в незаписанном состоянии как предварительно установленных дополняющих данных.
[0049] Предпочтительно способ дополнительно включает в себя:
- проверку того, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии;
- если группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определение того, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние; и
- если последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задание состояния группы первых дисков как не-неперезаписываемого состояния, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
[0050] Предпочтительно после проверки того, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, способ дополнительно включает в себя:
- если группа первых дисков находится в данный момент в неперезаписываемом состоянии, определение того, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние; и
- если последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задание состояния группы первых дисков как неперезаписываемого состояния.
[0051] В способе, предоставленном в этом варианте осуществления, данные последовательно считываются в пределах диапазона местоположений первой полосы группы первых дисков, причем диапазон местоположений первой полосы определяется согласно адресу считывания, который переносится в запросе на считывание полученных данных для группы первых дисков, результат считывания данных для первой полосы, данные которой успешно не считываются, задается как предварительно установленные дополняющие данные, считывание данных переходит к следующей первой полосе до тех пор, пока данные не будут считаны из всех первых полос, и результат считывания данных для каждой первой полосы не будет возвращен, что уменьшает потери данных и сокращает время прерывания доступа, когда данные успешно не считываются, и обеспечивает конфиденциальность данных, поскольку не вовлекается третья сторона.
Вариант 2 осуществления
[0052] Вариант осуществления настоящего изобретения предоставляет способ доступа к данным, который применяется к массиву независимых дисков с избыточностью информации. Массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, и каждый диск разделяется заранее, по меньшей мере, на одну полосу. В отношении контента вышеприведенного варианта 1 осуществления поясняется и подробно описывается способ, предоставленный в этом варианте осуществления настоящего изобретения. Ссылаясь на фиг. 2, процесс способа включает в себя:
[0053] 201: Получение запроса на считывание данных для группы первых дисков, причем запрос на считывание данных переносит адрес считывания.
[0054] Способ получения запроса на считывание данных не ограничен конкретным образом в этом варианте осуществления. В конкретной реализации способ приема сообщения может использоваться для того, чтобы получать запрос на считывание данных. Безусловно, в дополнение к вышеприведенному способу также может использоваться другой способ.
[0055] Дополнительно, для того чтобы определять диапазон считывания, запрос на считывание данных переносит адрес считывания, согласно которому определяется диапазон считывания. В дополнение к переносу адреса считывания запрос на считывание данных дополнительно может переносить другую информацию, что не ограничено конкретным образом в этом варианте осуществления. Например, запрос на считывание данных переносит последовательность считывания.
[0056] 202: Определение диапазона местоположений первой полосы группы первых дисков согласно адресу считывания, причем, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы.
[0057] В частности, определение диапазона местоположений первой полосы группы первых дисков согласно адресу считывания включает в себя, но только: вычисление, согласно адресу считывания, первых дисков в группе первых дисков, которые соответствуют адресу считывания, и вычисление диапазона местоположений первой полосы каждого первого диска, причем диапазон местоположений первой полосы группы первых дисков представляет собой совокупность диапазонов местоположений первой полосы первых дисков. Безусловно, в дополнение к вышеприведенному способу другой способ может использоваться для того, чтобы определять диапазон местоположений первой полосы группы первых дисков согласно адресу считывания, что не ограничено конкретным образом в этом варианте осуществления.
[0058] Следует отметить, что, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы, и данные могут последовательно считываться, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы на следующем этапе.
[0059] Для простоты понимания, что группа первых дисков включает в себя диски D1-D8, используется в качестве примера для описания. Адрес считывания представляет собой от полосы 1 на D1 до полосы 1 на D4, причем полоса 1 D1 представляет собой полосу 1 на диске D1, и полоса 1 D4 представляет собой полосу 1 на диске D4. После вычисления согласно адресу считывания, первые диски в группе первых дисков, которые соответствуют адресу считывания, представляют собой D1-D4. Вычисляется, что диапазон местоположений первой полосы диска D1 представляет собой полосу 1, что диапазон местоположений первой полосы диска D2 представляет собой полосу 1, что диапазон местоположений первой полосы диска D3 представляет собой полосу 1, и что диапазон местоположений первой полосы диска D4 представляет собой полосу 1. Следовательно, диапазон местоположений первой полосы группы первых дисков включает в себя полосу 1 на диске D1, полосу 1 на диске D2, полосу 1 на диске D3 и полосу 1 на диске D4. Иными словами, четыре первых полосы включены в пределы диапазона местоположений первой полосы.
[0060] 203: Последовательное считывание данных, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы.
[0061] Диапазон местоположений первой полосы группы первых дисков определен согласно адресу считывания, и, следовательно, данные могут последовательно считываться, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы непосредственно. Способ считывания данных из полосы не ограничен конкретным образом в этом варианте осуществления. Например, если данные, к которым должен осуществляться доступ, являются последовательными данными, данные, которые не запрашиваются, могут считываться заранее, и считываемые данные сохраняются в запоминающем устройстве. После того как запрос на считывание данных получается, данные непосредственно считываются из запоминающего устройства, за счет этого повышая скорость считывания данных. В качестве другого примера, если данные, к которым должен осуществляться доступ, являются случайными данными, данные непосредственно считываются из соответствующей области хранения после того, как запрос на считывание данных получается.
[0062] 204: В ходе считывания данных из полосы в незаписанном состоянии задание результата считывания данных для полосы в незаписанном состоянии как предварительно установленных дополняющих данных.
[0063] Чтобы иметь возможность определять состояние полосы, способ, предоставленный в этом варианте осуществления, дополнительно включает в себя: проверку того, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; если первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматирование первого диска, разделение отформатированного первого диска на полосы и задание состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния.
[0064] Способ инициирования проверки состояния каждого диска в группе первых дисков не ограничен конкретным образом в этом варианте осуществления. В конкретной реализации проверка состояния диска может быть регулярно инициирована. Безусловно, в дополнение к вышеприведенному способу также может использоваться другой способ, чтобы инициировать проверку состояния диска. Состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния. Диск в состоянии нового диска представляет собой диск, который заново вставлен в группу дисков, диск в нормальном состоянии представляет собой диск, из которого могут считываться данные и в который могут записываться данные в группе дисков, и диск в сбойном состоянии представляет собой диск, который является сбойным или удаляется из группы дисков.
[0065] Если первый диск в первой группе изменяется со сбойного состояния на состояние нового диска, первый диск может быть вручную заменен новым диском. Чтобы нормально использовать новый первый диск, новый первый диск форматируется, отформатированный первый диск разделяется на полосы, и состояние каждой полосы, которая получается посредством разделения, задается как незаписанное состояние. Состояния полосы не ограничены конкретным образом в этом варианте осуществления и состояния полосы включают в себя, но не только, записанное состояние и незаписанное состояние. Следует отметить, что после того, как первый диск форматируется, и отформатированный первый диск разделяется на полосы, данные могут нормально считываться и записываться на первый диск, и первый диск изменяется с состояния нового диска на нормальное состояние.
[0066] Для простоты понимания первый диск, показанный на фиг. 3, используется в качестве примера для описания. Первый диск разделяется на две области для сохранения данных, которые представляют собой соответственно область данных и область метаданных. Область данных разделяется на полосы 1-5, и состояния полос 1-5 заданы как незаписанное состояние, поскольку первый диск изменен со сбойного состояния на состояние нового диска. Область метаданных дополнительно разделена на область глобальных метаданных и область метаданных локальных дисков. В области глобальных метаданных метаданные группы первых дисков сохраняются в форме B+дерева. В области метаданных локальных дисков согласно метаданным группы первых дисков, которые сохраняются в области глобальных метаданных, идентификатор полосы в незаписанном состоянии на первом диске сохраняется в "связном списке бездействующих полос", и идентификатор полосы в записанном состоянии на первом диске сохраняется в "связном списке используемых полос". Метаданные группы первых дисков сохраняются в области глобальных метаданных каждого первого диска в группе первых дисков способом зеркалирования, т.е. идентичные метаданные группы первых дисков записываются в области глобальных метаданных каждого первого диска в группе первых дисков.
[0067] Помимо этого размер разделенной полосы не ограничен конкретным образом в этом варианте осуществления. В конкретной реализации различное разделение может выполняться согласно различным данным. С использованием потоковых мультимедийных данных в качестве примера, в частности, для видео высокой четкости, когда данные в одной или двух полосах теряются, могут быть повреждены только несколько кадров изображений. Со скоростью воспроизведения 25 кадров в секунду, несколько кадров изображений, которые повреждены, не оказывают значительное визуальное влияние. Значительное большинство декодеров и проигрывателей может допускать такую ошибку. По мере того как данные в поврежденных полосах увеличиваются, воспроизведение видео может становиться прерывистым. В сценарии видеонаблюдения такие видеоданные, в общем, имеют большую важность.
[0068] Для простоты понимания полосы, полученные посредством разделения и показанные на фиг. 4(1), используются в качестве примера для описания. Первая строка представляет собой полосы, полученные посредством разделения, размер полосы составляет 1 MB, данные a, b, c, e, f, h, i, j, k, m, n, p, q, r, s, u, v и x в полосах не теряются, а данные в полосах, помеченных 0, теряются. Вторая строка представляет собой типы видеоданных, причем I представляет ключевой кадр (I-кадр), P представляет прямой прогнозный кадр (P-кадр), и I-кадры и P-кадры, соответствующие полосам 0-данных, являются поврежденными кадрами. Когда данные считываются, после этого данные успешно считываются из полос, соответствующих первому I-кадру и первому-третьему P-кадрам, и могут подготавливаться посредством рендеринга на экране; данные успешно не считываются из полос, соответствующих четвертому P-кадру и пятому P-кадру, и если декодер получает искаженные данные, артефакты отображаются на экране в течение короткого времени. Для получения сведений по эффекту отображения последующих кадров следует обратиться к вышеприведенному контенту. Для видеоданных со скоростью передачи битов в 8 Мбит/с видео главным образом воспроизводится плавно со случайным замораживанием кадров и небольшими артефактами.
[0069] В качестве другого примера полосы, полученные посредством разделения и показанные на фиг. 4(2), используются в качестве примера для описания. Первая строка представляет собой полосы, полученные посредством разделения, и размер полосы составляет 256 Кбайт. Вторая строка представляет собой типы видеоданных, причем скорость передачи битов является идентичной скорости передачи битов на фиг. 4(1). Как можно видеть из фиг. 4(2), когда количество полос, которые соответствуют кадру, увеличивается, количество поврежденных полос также увеличивается. Следовательно, надлежащий размер полосы связан со скоростью передачи битов мультимедийных данных. Больший размер полосы может уменьшать вероятность того, что I-кадры непрерывно повреждены, но количество кадров, включенных в одну полосу, также увеличивается, и больше кадров пропускается, когда мультимедийные данные воспроизводятся. Меньший размер полосы повышает вероятность того, что I-кадры непрерывно повреждены, что приводит к плохому эффекту воспроизведения мультимедийных данных. Для видео 1080p на скорости передачи битов в 8 Мбит/с, размер полосы в 1 MB является лучшим выбором. Для видеофайла на другой скорости передачи битов, размер полосы может быть дискреционно уменьшен согласно вышеприведенному пропорциональному соотношению скорости передачи битов с размером полосы.
[0070] Дополнительно, в ходе считывания данных из полосы в незаписанном состоянии результат считывания данных для полосы в незаписанном состоянии задается как предварительно установленные дополняющие данные. Поскольку данные не сохраняются в полосе в незаписанном состоянии, в ходе считывания данных из полосы в незаписанном состоянии данные фактически не считываются, но результат считывания данных для полосы в незаписанном состоянии задается как предварительно установленные дополняющие данные. Числовое значение предварительно установленных дополняющих данных не ограничено конкретным образом в этом варианте осуществления. В конкретной реализации числовое значение предварительно установленных дополняющих данных может быть нулем. Безусловно, в дополнение к вышеприведенному числовому значению другое значение может быть предварительно установлено.
[0071] 205: Если данные успешно не считываются из текущей первой полосы, задание результата считывания данных для текущей первой полосы как предварительно установленных дополняющих данных и продолжение считывания данных из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и возврат результата считывания данных для каждой первой полосы.
[0072] Чтобы обеспечивать, что данные дополнительно могут считываться из другого первого диска в группе дисков, когда более одного первого диска в группе первых дисков находятся в сбойном состоянии, в способе, предоставленном в этом варианте осуществления, когда данные успешно не считываются из текущей первой полосы, результат считывания данных для текущей первой полосы задается как предварительно установленные дополняющие данные и считывание данных переходит к следующей первой полосе. Для получения сведений по предварительно установленным дополняющим данным следует обратиться к контенту вышеприведенного этапа 204, и подробности не описываются повторно в данном документе. После того как данные считываются из всей, по меньшей мере, одной первой полосы в пределах диапазона местоположений первой полосы, результат считывания данных для каждой первой полосы возвращается, за счет этого не допуская такого случая, что данные не могут считываться ни с одного первого диска в первой группе, когда группа первых дисков сбоит.
[0073] Следует отметить, что в RAID5, если один диск находится в сбойном состоянии, данные на диске могут быть восстановлены согласно избыточным данным в группе дисков. Для простоты понимания группа первых дисков, показанная на фиг. 5, используется в качестве примера. Группа первых дисков включает в себя девять дисков, D1-D9. Данные abcdefghijklmnopqrstuvwx сегментированы на блоки a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w и x данных, которые соответственно сохраняются в полосах дисков D1-D9. Данные a, i и q соответственно сохраняются в трех полосах диска D1; данные b, j и r соответственно сохраняются в трех полосах диска D2; данные c, k и s соответственно сохраняются в трех полосах диска D3; данные d, l и t соответственно сохраняются в трех полосах диска D4; данные e, m и u соответственно сохраняются в трех полосах диска D5; данные f, n и v соответственно сохраняются в трех полосах диска D6; данные g, o и w соответственно сохраняются в трех полосах диска D7; и данные h, p и x соответственно сохраняются в трех полосах диска D8. Избыточные данные xor1, xor2 и xor1 соответственно сохраняются в трех полосах диска D9; xor1=a^b^c^d^e^f^g^h, xor2=i^j^k^l^m^n^o^p и xor3=q^r^s^t^u^v^w^x, где ^ представляет исключающее OR. Когда любой диск из D1-D8 находится в сбойном состоянии, данные в любом диске могут быть восстановлены посредством вычисления избыточности.
[0074] Например, когда диск D3 находится в сбойном состоянии, процесс вычисления избыточности для данных c следующий:
xor1^a^b^d^e^f^g^h
=(a^b^c^d^e^f^g^h) ^a^b^d^e^f^g^h
=(a^a)^ (b^b)^c^ (d^d)^ (e^e)^ (f^f)^ (g^g)^ (h^h)
=0^0^c^0^0^0^0^0
=c
[0075] Для получения сведений по процессам вычисления избыточности для данных k и данных s следует обратиться к процессу вычисления избыточности для данных c, и подробности не описываются повторно в данном документе.
[0076] В качестве другого примера диски D4 и D7 находятся в сбойном состоянии. Как показано на фиг. 6, данные на дисках D4 и D7 не могут получаться посредством вычисления избыточности, и, следовательно, данные не могут успешно считываться из дисков D4 и D7. Предварительно установленные дополняющие данные задаются равными 0, и результаты считывания данных для дисков D4 и D7 являются нулями. Если диапазон местоположений первой полосы группы первых дисков, который определяется согласно адресу считывания, представляет собой полосы D1-D8, возвращаемый результат считывания данных представляет собой abc0ef0hijk0mn0pqrs0uv0x.
[0077] Дополнительно, способ доступа к данным, предоставленный в этом варианте осуществления настоящего изобретения, может реализовываться посредством программного обеспечения или реализовываться посредством аппаратных средств. Для простоты понимания структура программного обеспечения для доступа к данным, показанная на фиг. 7, используется в качестве примера для описания. Программный RAID расположен между VFS (виртуальной файловой системой, виртуальной файловой системой) и XFS (X-файловой системой, XX-файловой системой), и WebUI (пользовательский интерфейс, пользовательский интерфейс) и CLI (интерфейс командной строки, интерфейс командной строки) предоставляются для управления программным RAID, причем пользователь RAID может управлять программным RAID посредством использования VFS. Структура программного RAID может быть показана на фиг. 8(1) либо может быть показана на фиг. 8(2). По сравнению с программным RAID на фиг. 8(1) программный RAID на фиг. 8(2) не содержит файловую RAID-систему и кэш считывания/записи, и виртуальное блочное устройство непосредственно соединяется со стандартной файловой системой. Когда группа дисков удовлетворяет состоянию сбоя, потерянные данные могут быть ключевыми данными в стандартном файле, что приводит к повреждению стандартной файловой системы; следовательно, программный RAID, в общем, не применяется к файловой системе.
[0078] Помимо этого в структуре аппаратных средств для доступа к данным, показанной на фиг. 9, RAID-плата может использоваться для того, чтобы реализовывать способ доступа к данным, предоставленный в этом варианте осуществления настоящего изобретения. RAID-плата расположена между операционной системой и диском.
[0079] В способе, предоставленном в этом варианте осуществления, данные последовательно считываются в пределах диапазона местоположений первой полосы группы первых дисков, причем диапазон местоположений первой полосы определяется согласно полученному адресу считывания, который переносится в запросе на считывание данных для группы первых дисков, результат считывания данных для первой полосы, данные которой успешно не считываются, задается как предварительно установленные дополняющие данные, считывание данных переходит к следующей первой полосе до тех пор, пока данные не будут считаны из всех первых полос, и результат считывания данных для каждой первой полосы не будет возвращен, что уменьшает потери данных и сокращает время прерывания доступа, когда данные успешно не считываются, и обеспечивает конфиденциальность данных, поскольку не вовлекается третья сторона.
Вариант 3 осуществления
[0080] Вариант осуществления настоящего изобретения предоставляет способ доступа к данным, который применяется к массиву независимых дисков с избыточностью информации. Массив независимых дисков с избыточностью информации включает в себя группу первых дисков и группу вторых дисков, и группа первых дисков и группа вторых дисков включают в себя, по меньшей мере, один диск, и каждый диск разделяется заранее, по меньшей мере, на одну полосу. Ссылаясь на фиг. 10, процесс способа включает в себя:
[0081] 1001: Получение запроса на запись данных для группы первых дисков, причем запрос на запись данных переносит адрес записи.
[0082] Запрос на запись данных для группы первых дисков получается для осуществления доступа к данным в группе дисков. Способ получения запроса на запись данных не ограничен конкретным образом в этом варианте осуществления. В конкретной реализации способ приема сообщения может использоваться для того, чтобы получать запрос на запись данных. Безусловно, в дополнение к вышеприведенному способу также может использоваться другой способ.
[0083] Дополнительно, для того чтобы определять диапазон записи, запрос на запись данных переносит адрес записи, согласно которому определяется диапазон записи. В дополнение к переносу адреса записи запрос на запись данных дополнительно может переносить другую информацию, что не ограничено конкретным образом в этом варианте осуществления. Например, запрос на запись данных переносит последовательность записи.
[0084] 1002: Определение диапазона местоположений второй полосы группы первых дисков согласно адресу записи, причем, по меньшей мере, одна вторая полоса включена в пределы диапазона местоположений второй полосы.
[0085] В частности, определение диапазона местоположений второй полосы группы первых дисков согласно адресу записи включает в себя, но только: вычисление, согласно адресу записи, первых дисков в группе первых дисков, которые соответствуют адресу записи, и вычисление диапазона местоположений второй полосы каждого первого диска, причем диапазон местоположений второй полосы группы первых дисков представляет собой совокупность диапазонов местоположений второй полосы первых дисков. Безусловно, в дополнение к вышеприведенному способу другой способ может использоваться для того, чтобы определять диапазон местоположений второй полосы группы первых дисков согласно адресу записи, что не ограничено конкретным образом в этом варианте осуществления.
[0086] Следует отметить, что, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы, и данные могут последовательно записываться, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы на следующем этапе.
[0087] Для простоты понимания, что группа первых дисков включает в себя диски D1-D8, используется в качестве примера для описания. Адрес записи представляет собой от полосы 1 на D1 до полосы 1 на D4, причем полоса 1 на D1 представляет собой полосу 1 на диске D1, и полоса 1 D4 представляет собой полосу 1 на диске D4. После вычисления согласно адресу записи, первые диски в группе первых дисков, которые соответствуют адресу записи, представляют собой D1-D4. Вычисляется, что диапазон местоположений второй полосы диска D1 представляет собой полосу 1, что диапазон местоположений второй полосы диска D2 представляет собой полосу 1, что диапазон местоположений второй полосы диска D3 представляет собой полосу 1, и что диапазон местоположений второй полосы диска D4 представляет собой полосу 1. Следовательно, диапазон местоположений второй полосы группы первых дисков включает в себя полосу 1 на диске D1, полосу 1 на диске D2, полосу 1 на диске D3 и полосу 1 на диске D4, т.е. четыре вторых полосы включены в пределы диапазона местоположений второй полосы.
[0088] 1003: Последовательная запись данных, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы.
[0089] Диапазон местоположений второй полосы группы первых дисков определен согласно адресу записи, и, следовательно, данные могут последовательно записываться, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы непосредственно. Способ записи данных в полосу не ограничен конкретным образом в этом варианте осуществления. В конкретной реализации данные, которые должны быть записаны, могут быть сегментированы на несколько блоков данных, и данные записываются параллельно, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы, за счет этого повышая скорость записи данных. Безусловно, в дополнение к вышеприведенному способу также может использоваться другой способ.
[0090] 1004: Если данные успешно не записываются в текущую вторую полосу, сканирование для того, чтобы распознавать состояние группы первых дисков, причем состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя.
[0091] Чтобы успешно записывать данные в массив независимых дисков с избыточностью информации, в способе, предоставленном в этом варианте осуществления, сканирование выполняется для того, чтобы распознавать состояние группы первых дисков, когда данные успешно не записываются в текущую вторую полосу. Следует отметить, что в дополнение к случаю, в котором данные успешно не записываются в текущую вторую полосу, сканирование для того, чтобы распознавать состояние группы первых дисков, также может быть регулярно инициировано. Состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя. В неперезаписываемом состоянии разрешается только операция считывания данных, и операция записи данных не разрешается для всех первых дисков в группе первых дисков. В нормальном состоянии считывания/записи разрешаются как операция считывания данных, так и операция записи данных для всех первых дисков в группе первых дисков. В состоянии невосстановления после сбоя разрешаются как операция считывания данных, так и операция записи данных для всех первых дисков в группе первых дисков, и, по меньшей мере, один первый диск находится в сбойном состоянии. Состояние невосстановления после сбоя находится между неперезаписываемым состоянием и нормальным состоянием считывания/записи. Для различных массивов независимых дисков с избыточностью информации состояния группы первых дисков соответствуют различным состояниям первых дисков.
[0092] Для простоты понимания RAID5 используется в качестве примера для описания. Если более одного первого диска в группе первых дисков находятся в сбойном состоянии, состояние, распознаваемое посредством сканирования, группы первых дисков, представляет собой неперезаписываемое состояние. Если ни один первый диск в группе первых дисков не находится в сбойном состоянии, состояние, распознаваемое посредством сканирования, группы первых дисков представляет собой нормальное состояние считывания/записи. Если один первый диск в группе первых дисков находится в сбойном состоянии, состояние, распознаваемое посредством сканирования, группы первых дисков представляет собой состояние невосстановления после сбоя.
[0093] 1005: Если группа первых дисков находится в неперезаписываемом состоянии, продолжение записи данных в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
[0094] Если группа первых дисков находится в неперезаписываемом состоянии, данные могут только считываться из первой группы дисков, но не могут записываться в полосу группы первых дисков. Чтобы иметь возможность продолжать запись данных в массив независимых дисков с избыточностью информации, запись данных переходит к соответствующей полосе в группе вторых дисков до тех пор, пока все данные не будут записаны.
[0095] Предпочтительно, чтобы восстанавливать нормальное состояние считывания/записи группы первых дисков, способ, предоставленный в этом варианте осуществления, дополнительно включает в себя, но не только: отображение первого диска, который находится в сбойном состоянии в группе первых дисков. Способ отображения первого диска не ограничен конкретным образом в этом варианте осуществления. Для простоты понимания интерфейс отображения, показанный на фиг. 11, используется в качестве примера для описания. Идентификаторы, соответствующие всем первым дискам в группе первых дисков, отображаются согласно местоположениям гнезд, фактически соответствующим первым дискам, и представляют собой D1-D8 соответственно. Местоположения диска D4 и диска D7 отмечаются, что указывает, что диск D4 и диск D7 находятся в сбойном состоянии.
[0096] Местоположение первого диска, который находится в сбойном состоянии, отмечено, что упрощает замену вручную первого диска. Чтобы проверять, заменен или нет первый диск, способ, предоставленный в этом варианте осуществления, включает в себя, но не только: проверку того, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и если первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматирование первого диска, разделение отформатированного первого диска на полосы и задание состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния.
[0097] Дополнительно, после проверки того, изменено или нет состояние каждого диска в группе первых дисков, способ, предоставленный в этом варианте осуществления, дополнительно включает в себя, но не только:
(1) Проверку того, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии; если группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, выполнение (2); и если группа первых дисков находится в данный момент в неперезаписываемом состоянии, выполнение (4);
(2) Определение того, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние;
(3) Если последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задание состояния группы первых дисков как не-неперезаписываемого состояния, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
(4) Определение того, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние;
(5) Если последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задание состояния группы первых дисков как неперезаписываемого состояния.
[0098] Помимо этого, чтобы не допускать состояния сбоя группы дисков в максимально возможной степени, после того, как состояние группы первых дисков распознается посредством сканирования, если состояние группы первых дисков представляет собой состояние невосстановления после сбоя, сигнал предупреждения отправляется в ответ. Когда состояние группы первых дисков представляет собой состояние невосстановления после сбоя, это указывает, что один первый диск в группе первых дисков находится в сбойном состоянии. Сигнал предупреждения, отправленный в ответ, может быть напоминанием по замене дисков вручную. Способ отправки сигнала предупреждения в ответ не ограничен конкретным образом в этом варианте осуществления. В конкретной реализации способ отправки информации сигналов предупреждения может использоваться для того, чтобы отправлять сигнал предупреждения в ответ. Помимо этого информация местоположения диска дополнительно может переноситься в информации сигналов предупреждения, чтобы упрощать замену дисков.
[0099] Следует отметить, что способ доступа к данным, предоставленный в этом варианте осуществления настоящего изобретения, может реализовываться посредством программного обеспечения или реализовываться посредством аппаратных средств. Для получения дополнительной информации следует обратиться к конкретному описанию и контенту программной реализации и аппаратной реализации в вышеприведенном варианте осуществления 2, и подробности не описываются повторно в данном документе.
[00100] В способе, предоставленном в этом варианте осуществления настоящего изобретения, когда данные успешно не записываются в текущую вторую полосу, посредством сканирования распознается, что группа первых дисков находится в неперезаписываемом состоянии, и запись данных переходит к соответствующей полосе группы вторых дисков до тех пор, пока все данные не будут записаны, за счет этого реализуя запись данных без перекомпоновки группы дисков, что сокращает время прерывания доступа и обеспечивает конфиденциальность данных, поскольку не вовлекается третья сторона.
Вариант 4 осуществления
[00101] Ссылаясь на фиг. 12, вариант осуществления настоящего изобретения предоставляет устройство доступа к данным. Устройство применяется к массиву независимых дисков с избыточностью информации, причем массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, и каждый диск разделяется заранее, по меньшей мере, на одну полосу. Устройство включает в себя:
- первый модуль 1201 получения, выполненный с возможностью получать запрос на считывание данных для группы первых дисков, причем запрос на считывание данных переносит адрес считывания;
- первый модуль 1202 определения, выполненный с возможностью определять диапазон местоположений первой полосы группы первых дисков согласно адресу считывания, причем, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы;
- модуль 1203 считывания, выполненный с возможностью последовательно считывать данные, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы;
- первый модуль 1204 задания, выполненный с возможностью: когда данные успешно не считываются из текущей первой полосы, задавать результат считывания данных для текущей первой полосы как предварительно установленные дополняющие данные и продолжать считывать данные из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и
- модуль 1205 возврата, выполненный с возможностью возвращать результат считывания данных для каждой первой полосы.
[00102] Предпочтительно массив независимых дисков с избыточностью информации дополнительно включает в себя группу вторых дисков, и устройство дополнительно включает в себя:
- второй модуль получения, выполненный с возможностью получать запрос на запись данных для группы первых дисков, причем запрос на запись данных переносит адрес записи;
- второй модуль определения, выполненный с возможностью определять диапазон местоположений второй полосы группы первых дисков согласно адресу записи, причем, по меньшей мере, одна вторая полоса включена в пределы диапазона местоположений второй полосы;
- первый модуль записи, выполненный с возможностью последовательно записывать данные, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы;
- модуль сканирования, выполненный с возможностью: когда данные успешно не записываются в текущую вторую полосу, сканировать для того, чтобы распознавать состояние группы первых дисков, причем состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя; и
- второй модуль записи, выполненный с возможностью: когда группа первых дисков находится в неперезаписываемом состоянии, продолжать записывать данные в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
[00103] Предпочтительно устройство дополнительно включает в себя:
- модуль ответа, выполненный с возможностью: когда группа первых дисков находится в состоянии невосстановления после сбоя, отправлять сигнал предупреждения в ответ.
[00104] Предпочтительно устройство дополнительно включает в себя:
- первый модуль проверки, выполненный с возможностью проверять, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и
- модуль форматирования, выполненный с возможностью: когда первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматировать первый диск;
- модуль разделения, выполненный с возможностью разделять отформатированный первый диск на полосы; и
- второй модуль задания, выполненный с возможностью задавать состояние каждой полосы, которая получается посредством разделения, как незаписанное состояние.
[00105] Предпочтительно первый модуль 1204 задания дополнительно выполнен с возможностью: в ходе считывания данных из полосы в незаписанном состоянии, задавать результат считывания данных для полосы в незаписанном состоянии как предварительно установленные дополняющие данные.
[00106] Предпочтительно устройство дополнительно включает в себя:
- второй модуль проверки, выполненный с возможностью проверять, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии;
- третий модуль определения, выполненный с возможностью: когда группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние; и
- третий модуль задания, выполненный с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задавать состояние группы первых дисков как не-неперезаписываемое состояние, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
[00107] Предпочтительно устройство дополнительно включает в себя:
- четвертый модуль определения, выполненный с возможностью: когда группа первых дисков находится в данный момент в неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние; и
- четвертый модуль задания, выполненный с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задавать состояние группы первых дисков как неперезаписываемое состояние.
[00108] Согласно устройству, предоставленному в этом варианте осуществления, данные последовательно считываются в пределах диапазона местоположений первой полосы группы первых дисков, причем диапазон местоположений первой полосы определяется согласно полученному адресу считывания, который переносится в запросе на считывание данных для группы первых дисков, результат считывания данных для первой полосы, данные которой успешно не считываются, задается как предварительно установленные дополняющие данные, считывание данных переходит к следующей первой полосе до тех пор, пока данные не будут считаны из всех первых полос, и результат считывания данных для каждой первой полосы не будет возвращен, что уменьшает потери данных и сокращает время прерывания доступа, когда данные успешно не считываются, и обеспечивает конфиденциальность данных, поскольку не вовлекается третья сторона.
Вариант 5 осуществления
[00109] Вариант осуществления настоящего изобретения предоставляет терминал доступа к данным. Терминал применяется к массиву независимых дисков с избыточностью информации, причем массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, и каждый диск разделяется заранее, по меньшей мере, на одну полосу. Терминал включает в себя процессор, передающее устройство и приемное устройство.
[00110] Приемное устройство выполнено с возможностью получать запрос на считывание данных для группы первых дисков, причем запрос на считывание данных переносит адрес считывания.
[00111] Процессор выполнен с возможностью определять диапазон местоположений первой полосы группы первых дисков согласно адресу считывания, причем, по меньшей мере, одна первая полоса включена в пределы диапазона местоположений первой полосы.
[00112] Процессор дополнительно выполнен с возможностью последовательно считывать данные, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы.
[00113] Процессор дополнительно выполнен с возможностью: когда данные успешно не считываются из текущей первой полосы, задавать результат считывания данных для текущей первой полосы как предварительно установленные дополняющие данные и продолжать считывать данные из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы.
[00114] Передающее устройство выполнено с возможностью возвращать результат считывания данных для каждой первой полосы.
[00115] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью проверять, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния.
[00116] Процессор дополнительно выполнен с возможностью: когда первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматировать первый диск, разделять отформатированный первый диск на полосы и задавать состояние каждой полосы, которая получается посредством разделения, как незаписанное состояние.
[00117] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью: в ходе считывания данных из полосы в незаписанном состоянии, задавать результат считывания данных для полосы в незаписанном состоянии как предварительно установленные дополняющие данные.
[00118] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью проверять, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии.
[00119] Процессор дополнительно выполнен с возможностью: когда группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние.
[00120] Процессор дополнительно выполнен с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задавать состояние группы первых дисков как не-неперезаписываемое состояние, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
[00121] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью: когда группа первых дисков находится в данный момент в неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние.
[00122] Процессор дополнительно выполнен с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задавать состояние группы первых дисков как неперезаписываемое состояние.
[00123] Согласно терминалу, предоставленному в этом варианте осуществления, данные последовательно считываются в пределах диапазона местоположений первой полосы группы первых дисков, причем диапазон местоположений первой полосы определяется согласно полученному адресу считывания, который переносится в запросе на считывание данных для группы первых дисков, результат считывания данных для первой полосы, данные которой успешно не считываются, задается как предварительно установленные дополняющие данные, считывание данных переходит к следующей первой полосе до тех пор, пока данные не будут считаны из всех первых полос, и результат считывания данных для каждой первой полосы не будет возвращен, что уменьшает потери данных и сокращает время прерывания доступа, когда данные успешно не считываются, и обеспечивает конфиденциальность данных, поскольку не вовлекается третья сторона.
Вариант 6 осуществления
[00124] Вариант осуществления настоящего изобретения предоставляет терминал доступа к данным. Терминал применяется к массиву независимых дисков с избыточностью информации, причем массив независимых дисков с избыточностью информации включает в себя, по меньшей мере, группу первых дисков, группа первых дисков включает в себя, по меньшей мере, один диск, и каждый диск разделяется заранее, по меньшей мере, на одну полосу. Терминал включает в себя процессор и приемное устройство.
[00125] Приемное устройство выполнено с возможностью получать запрос на запись данных для группы первых дисков, причем запрос на запись данных переносит адрес записи.
[00126] Процессор выполнен с возможностью определять диапазон местоположений второй полосы группы первых дисков согласно адресу записи, причем, по меньшей мере, одна вторая полоса включена в пределы диапазона местоположений второй полосы.
[00127] Процессор дополнительно выполнен с возможностью последовательно записывать данные, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы.
[00128] Процессор дополнительно выполнен с возможностью: когда данные успешно не записываются в текущую вторую полосу, сканировать для того, чтобы распознавать состояние группы первых дисков, причем состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя.
[00129] Процессор дополнительно выполнен с возможностью: когда группа первых дисков находится в неперезаписываемом состоянии, продолжать записывать данные в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
[00130] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью: когда группа первых дисков находится в состоянии невосстановления после сбоя, отправлять сигнал предупреждения в ответ.
[00131] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью проверять, изменено или нет состояние каждого диска в группе первых дисков, причем состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния.
[00132] Процессор дополнительно выполнен с возможностью: когда первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматировать первый диск, разделять отформатированный первый диск на полосы и задавать состояние каждой полосы, которая получается посредством разделения, как незаписанное состояние.
[00133] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью проверять, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, причем неперезаписываемое состояние указывает, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии.
[00134] Процессор дополнительно выполнен с возможностью: когда группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние.
[00135] Процессор дополнительно выполнен с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задавать состояние группы первых дисков как не-неперезаписываемое состояние, причем не-неперезаписываемое состояние включает в себя состояние невосстановления после сбоя и нормальное состояние считывания/записи.
[00136] В необязательном варианте осуществления процессор дополнительно выполнен с возможностью: когда группа первых дисков находится в данный момент в неперезаписываемом состоянии, определять, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние.
[00137] Процессор дополнительно выполнен с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задавать состояние группы первых дисков как неперезаписываемое состояние.
[00138] Согласно терминалу, предоставленному в этом варианте осуществления настоящего изобретения, когда данные успешно не записываются в текущую вторую полосу, посредством сканирования распознается, что группа первых дисков находится в неперезаписываемом состоянии, и запись данных переходит к соответствующей полосе группы вторых дисков до тех пор, пока все данные не будут записаны, за счет этого реализуя запись данных без перекомпоновки группы дисков, что сокращает время прерывания доступа и обеспечивает конфиденциальность данных, поскольку не вовлекается третья сторона.
[00139] Следует отметить, что когда устройство доступа к данным, предоставленное посредством вышеприведенных вариантов осуществления, используется для доступа к данным, разделение вышеприведенных функциональных модулей используется просто в качестве примера. При фактическом применении вышеприведенные функции могут выделяться различным функциональным модулям и реализовываться требуемым образом, т.е. внутренняя структура устройства разделяется на различные функциональные модули, чтобы реализовывать все или некоторые из функций, описанных выше. Помимо этого устройство доступа к данным, предоставленное в вышеприведенном варианте осуществления принадлежит идее, идентичной идее вариантов осуществления способа доступа к данным. Для получения сведений по конкретному процессу реализации означенного следует обратиться к вариантам осуществления способа, и подробности не описываются повторно в данном документе.
[00140] Порядковые номера вышеприведенных вариантов осуществления настоящего изобретения служат просто в качестве иллюстрации и не имеют намерение указывать приоритеты относительно вариантов осуществления.
[00141] Специалисты в данной области техники могут понимать, что все или некоторые из этапов вариантов осуществления могут быть реализованы посредством аппаратных средств или программы, инструктирующей связанным аппаратным средствам. Программа может сохраняться на машиночитаемом носителе хранения данных. Носитель хранения данных может представлять собой постоянное запоминающее устройство, магнитный диск, оптический диск и т.п.
[00142] Вышеприведенное описание представляет собой просто примерные варианты осуществления настоящего изобретения и не имеет намерение ограничивать настоящее изобретение. Все модификации, эквивалентные замены и улучшения, вносимые без отступления от сущности и принципа настоящего изобретения, должны попадать в объем охраны настоящего изобретения.

Claims (52)

1. Способ доступа к данным, при этом способ применяется к массиву независимых дисков с избыточностью информации, массив независимых дисков с избыточностью информации содержит, по меньшей мере, группу первых дисков, группа первых дисков содержит, по меньшей мере, один диск, каждый диск разделяется заранее, по меньшей мере, на одну полосу, и способ содержит этапы, на которых:
- получают запрос на считывание данных для группы первых дисков, при этом запрос на считывание данных переносит адрес считывания;
- определяют диапазон местоположений первой полосы группы первых дисков согласно адресу считывания, при этом, по меньшей мере, одна первая полоса содержится в пределах диапазона местоположений первой полосы;
- последовательно считывают данные, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы; и
- если данные успешно не считываются из текущей первой полосы, задают результат считывания данных для текущей первой полосы как предварительно установленные дополняющие данные и продолжают считывать данные из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и возвращают результат считывания данных для каждой первой полосы.
2. Способ по п. 1, в котором массив независимых дисков с избыточностью информации дополнительно содержит группу вторых дисков, и способ дополнительно содержит этапы, на которых:
- получают запрос на запись данных для группы первых дисков, при этом запрос на запись данных переносит адрес записи;
- определяют диапазон местоположений второй полосы группы первых дисков согласно адресу записи, при этом, по меньшей мере, одна вторая полоса содержится в пределах диапазона местоположений второй полосы;
- последовательно записывают данные, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы;
- если данные успешно не записываются в текущую вторую полосу, сканируют для того, чтобы распознавать состояние группы первых дисков, при этом состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя; и
- если группа первых дисков находится в неперезаписываемом состоянии, продолжают записывать данные в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
3. Способ по п. 2, после сканирования для того, чтобы распознавать состояние группы первых дисков, дополнительно содержащий этап, на котором:
- если группа первых дисков находится в состоянии невосстановления после сбоя, отправляют сигнал предупреждения в ответ.
4. Способ по любому из пп. 1-3, при этом способ дополнительно содержит этапы, на которых:
- проверяют то, изменено или нет состояние каждого диска в группе первых дисков, при этом состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и
- если первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматируют первый диск, разделяют отформатированный первый диск на полосы и задают состояние каждой полосы, которая получается посредством разделения, как незаписанное состояние.
5. Способ по п. 4, после задания состояния каждой полосы, которая получается посредством разделения, как незаписанного состояния, дополнительно содержащий этап, на котором:
- в ходе считывания данных из полосы в незаписанном состоянии задают результат считывания данных для полосы в незаписанном состоянии как предварительно установленные дополняющие данные.
6. Способ по любому из пп. 1-5, при этом способ дополнительно содержит этапы, на которых:
- проверяют то, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, при этом неперезаписываемое состояние указывает то, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии;
- если группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определяют то, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние; и
- если последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задают состояние группы первых дисков как не-неперезаписываемое состояние, при этом не-неперезаписываемое состояние содержит состояние невосстановления после сбоя и нормальное состояние считывания/записи.
7. Способ по п. 6, после проверки того, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, дополнительно содержащий этапы, на которых:
- если группа первых дисков находится в данный момент в неперезаписываемом состоянии, определяют то, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние; и
- если последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задают состояние группы первых дисков как неперезаписываемое состояние.
8. Устройство доступа к данным, при этом устройство применяется к массиву независимых дисков с избыточностью информации, массив независимых дисков с избыточностью информации содержит, по меньшей мере, группу первых дисков, группа первых дисков содержит, по меньшей мере, один диск, каждый диск разделяется заранее, по меньшей мере, на одну полосу, и устройство содержит:
- первый модуль получения, выполненный с возможностью получать запрос на считывание данных для группы первых дисков, при этом запрос на считывание данных переносит адрес считывания;
- первый модуль определения, выполненный с возможностью определять диапазон местоположений первой полосы группы первых дисков согласно адресу считывания, при этом, по меньшей мере, одна первая полоса содержится в пределах диапазона местоположений первой полосы;
- модуль считывания, выполненный с возможностью последовательно считывать данные, по меньшей мере, из одной первой полосы в пределах диапазона местоположений первой полосы;
- первый модуль задания, выполненный с возможностью: когда данные успешно не считываются из текущей первой полосы, задавать результат считывания данных для текущей первой полосы как предварительно установленные дополняющие данные и продолжать считывать данные из следующей первой полосы до тех пор, пока данные не будут считаны из всей, по меньшей мере, одной первой полосы; и
- модуль возврата, выполненный с возможностью возвращать результат считывания данных для каждой первой полосы.
9. Устройство по п. 8, в котором массив независимых дисков с избыточностью информации дополнительно содержит группу вторых дисков, и устройство дополнительно содержит:
- второй модуль получения, выполненный с возможностью получать запрос на запись данных для группы первых дисков, при этом запрос на запись данных переносит адрес записи;
- второй модуль определения, выполненный с возможностью определять диапазон местоположений второй полосы группы первых дисков согласно адресу записи, при этом, по меньшей мере, одна вторая полоса содержится в пределах диапазона местоположений второй полосы;
- первый модуль записи, выполненный с возможностью последовательно записывать данные, по меньшей мере, в одну вторую полосу в пределах диапазона местоположений второй полосы;
- модуль сканирования, выполненный с возможностью: когда данные успешно не записываются в текущую вторую полосу, сканировать для того, чтобы распознавать состояние группы первых дисков, при этом состояние группы первых дисков представляет собой одно из неперезаписываемого состояния, нормального состояния считывания/записи и состояния невосстановления после сбоя; и
- второй модуль записи, выполненный с возможностью: когда группа первых дисков находится в неперезаписываемом состоянии, продолжать записывать данные в соответствующую полосу в группе вторых дисков до тех пор, пока все данные не будут записаны.
10. Устройство по п. 9, при этом устройство дополнительно содержит:
- модуль ответа, выполненный с возможностью: когда группа первых дисков находится в состоянии невосстановления после сбоя, отправлять сигнал предупреждения в ответ.
11. Устройство по любому из пп. 8-10, при этом устройство дополнительно содержит:
- первый модуль проверки, выполненный с возможностью проверять то, изменено или нет состояние каждого диска в группе первых дисков, при этом состояние диска представляет собой одно из состояния нового диска, нормального состояния и сбойного состояния; и
- модуль форматирования, выполненный с возможностью: когда первый диск в группе первых дисков изменяется со сбойного состояния на состояние нового диска, форматировать первый диск;
- модуль разделения, выполненный с возможностью разделять отформатированный первый диск на полосы; и
- второй модуль задания, выполненный с возможностью задавать состояние каждой полосы, которая получается посредством разделения, как незаписанное состояние.
12. Устройство по п. 11, в котором первый модуль задания дополнительно выполнен с возможностью: в ходе считывания данных из полосы в незаписанном состоянии задавать результат считывания данных для полосы в незаписанном состоянии как предварительно установленные дополняющие данные.
13. Устройство по любому из пп. 8-12, при этом устройство дополнительно содержит:
- второй модуль проверки, выполненный с возможностью проверять то, находится или нет группа первых дисков в данный момент в неперезаписываемом состоянии, при этом неперезаписываемое состояние указывает то, что, по меньшей мере, два диска в группе первых дисков находятся в сбойном состоянии;
- третий модуль определения, выполненный с возможностью: когда группа первых дисков находится в данный момент в не-неперезаписываемом состоянии, определять то, представляет собой или нет последнее обнаруженное состояние группы первых дисков неперезаписываемое состояние; и
- третий модуль задания, выполненный с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой неперезаписываемое состояние, задавать состояние группы первых дисков как не-неперезаписываемое состояние, при этом не-неперезаписываемое состояние содержит состояние невосстановления после сбоя и нормальное состояние считывания/записи.
14. Устройство по п. 13, при этом устройство дополнительно содержит:
- четвертый модуль определения, выполненный с возможностью: когда группа первых дисков находится в данный момент в неперезаписываемом состоянии, определять то, представляет собой или нет последнее обнаруженное состояние группы первых дисков не-неперезаписываемое состояние; и
- четвертый модуль задания, выполненный с возможностью: когда последнее обнаруженное состояние группы первых дисков представляет собой не-неперезаписываемое состояние, задавать состояние группы первых дисков как неперезаписываемое состояние.
RU2016132295A 2014-01-07 2014-12-30 Способ и устройство доступа к данным RU2626091C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410007103.0A CN104007936B (zh) 2014-01-07 2014-01-07 访问数据的方法及装置
CN201410007103.0 2014-01-07
PCT/CN2014/095668 WO2015103933A1 (zh) 2014-01-07 2014-12-30 访问数据的方法及装置

Publications (1)

Publication Number Publication Date
RU2626091C1 true RU2626091C1 (ru) 2017-07-21

Family

ID=51368607

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016132295A RU2626091C1 (ru) 2014-01-07 2014-12-30 Способ и устройство доступа к данным

Country Status (8)

Country Link
US (1) US10585600B2 (ru)
EP (2) EP3385832A1 (ru)
JP (1) JP6229067B2 (ru)
KR (1) KR101743411B1 (ru)
CN (1) CN104007936B (ru)
ES (1) ES2664795T3 (ru)
RU (1) RU2626091C1 (ru)
WO (1) WO2015103933A1 (ru)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007936B (zh) * 2014-01-07 2017-09-29 华为技术有限公司 访问数据的方法及装置
CN107783784A (zh) * 2016-08-24 2018-03-09 衡宇科技股份有限公司 由主机到设备控制器传输命令的方法及使用其的系统
CN110515761B (zh) * 2018-05-22 2022-06-03 杭州海康威视数字技术股份有限公司 一种数据获取方法及装置
CN111427508B (zh) * 2019-01-09 2023-07-21 深圳市茁壮网络股份有限公司 一种文件均衡分布方法及装置
CN111435286B (zh) * 2019-01-14 2023-12-05 深圳市茁壮网络股份有限公司 一种数据存储方法、装置和系统
CN115904255B (zh) * 2023-01-19 2023-05-16 苏州浪潮智能科技有限公司 一种数据请求方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083709A1 (en) * 2004-05-06 2007-04-12 Hajji Amine M Method and system for storing data in an array of storage devices with additional and autonomic protection
RU2303822C2 (ru) * 2002-04-01 2007-07-27 Сони Корпорейшн Способ записи данных на носитель записи
RU2305330C2 (ru) * 2002-04-01 2007-08-27 Сони Корпорейшн Носитель записи и способ записи на носитель записи
EP2180407A2 (en) * 2008-10-24 2010-04-28 Hitachi Ltd. Fast data recovery from HDD failure
CN102023809A (zh) * 2009-09-21 2011-04-20 成都市华为赛门铁克科技有限公司 存储系统、从存储系统读取数据的方法及写入数据的方法
CN102207895A (zh) * 2011-05-27 2011-10-05 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置
CN102226892A (zh) * 2011-05-20 2011-10-26 杭州华三通信技术有限公司 一种磁盘容错处理方法及设备
US8049980B1 (en) * 2008-04-18 2011-11-01 Network Appliance, Inc. Partial disk failures and improved storage resiliency

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
JPH11232048A (ja) * 1998-02-19 1999-08-27 Sony Corp データ処理装置およびデータ処理方法
US7062704B2 (en) * 2001-04-30 2006-06-13 Sun Microsystems, Inc. Storage array employing scrubbing operations using multiple levels of checksums
AU2003201837A1 (en) 2002-04-01 2003-10-23 Sony Corporation Storage medium and storage medium recording method
US6944791B2 (en) * 2002-07-18 2005-09-13 Lsi Logic Corporation Method of handling unreadable blocks during write of a RAID device
JP4426262B2 (ja) * 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
TWI346944B (en) * 2007-12-31 2011-08-11 Qnap Systems Inc Method of raid level migration and system for the same
KR20100004792A (ko) * 2008-07-04 2010-01-13 삼성전자주식회사 손상된 정보를 저장하는 방법, 손상된 정보를 저장할 수있는 정보 처리 장치, 손상된 정보를 저장 가능하게송신하는 정보 저장 장치, 손상된 정보를 저장하기 위한소프트웨어가 기록된, 정보 처리 장치로 읽을 수 있는 매체
US20100125695A1 (en) * 2008-11-15 2010-05-20 Nanostar Corporation Non-volatile memory storage system
US8417987B1 (en) * 2009-12-01 2013-04-09 Netapp, Inc. Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system
US8572342B2 (en) * 2010-06-01 2013-10-29 Hitachi, Ltd. Data transfer device with confirmation of write completion and method of controlling the same
JP5519573B2 (ja) * 2011-05-12 2014-06-11 株式会社日立製作所 映像処理装置、映像処理方法、および、映像処理プログラム
US9021339B2 (en) * 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9277208B2 (en) * 2013-11-12 2016-03-01 Oovoo, Llc System and method for estimating quality of video with frame freezing artifacts
CN104007936B (zh) * 2014-01-07 2017-09-29 华为技术有限公司 访问数据的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2303822C2 (ru) * 2002-04-01 2007-07-27 Сони Корпорейшн Способ записи данных на носитель записи
RU2305330C2 (ru) * 2002-04-01 2007-08-27 Сони Корпорейшн Носитель записи и способ записи на носитель записи
US20070083709A1 (en) * 2004-05-06 2007-04-12 Hajji Amine M Method and system for storing data in an array of storage devices with additional and autonomic protection
US8049980B1 (en) * 2008-04-18 2011-11-01 Network Appliance, Inc. Partial disk failures and improved storage resiliency
EP2180407A2 (en) * 2008-10-24 2010-04-28 Hitachi Ltd. Fast data recovery from HDD failure
CN102023809A (zh) * 2009-09-21 2011-04-20 成都市华为赛门铁克科技有限公司 存储系统、从存储系统读取数据的方法及写入数据的方法
CN102226892A (zh) * 2011-05-20 2011-10-26 杭州华三通信技术有限公司 一种磁盘容错处理方法及设备
CN102207895A (zh) * 2011-05-27 2011-10-05 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置

Also Published As

Publication number Publication date
US10585600B2 (en) 2020-03-10
CN104007936A (zh) 2014-08-27
JP2017502424A (ja) 2017-01-19
EP3079054A4 (en) 2016-11-09
WO2015103933A1 (zh) 2015-07-16
KR101743411B1 (ko) 2017-06-02
KR20160104671A (ko) 2016-09-05
EP3079054B1 (en) 2018-02-21
EP3385832A1 (en) 2018-10-10
ES2664795T3 (es) 2018-04-23
US20160313937A1 (en) 2016-10-27
CN104007936B (zh) 2017-09-29
EP3079054A1 (en) 2016-10-12
JP6229067B2 (ja) 2017-11-08

Similar Documents

Publication Publication Date Title
RU2626091C1 (ru) Способ и устройство доступа к данным
US20070294565A1 (en) Simplified parity disk generation in a redundant array of inexpensive disks
US20130103902A1 (en) Method and apparatus for implementing protection of redundant array of independent disks in file system
US20100306466A1 (en) Method for improving disk availability and disk array controller
CN103929609B (zh) 一种录像回放方法和装置
US20100153347A1 (en) Method and system for preventing corruption of hard disk drive file system
CN106033320B (zh) 高性能廉价磁盘冗余阵列raid机制的处理方法及装置
US8270813B2 (en) Apparatus, method and computer program for processing information
US7251708B1 (en) System and method for maintaining and reporting a log of multi-threaded backups
US9336293B2 (en) Data management apparatus and method for surveillance system
US20160100126A1 (en) Transferring multiple records including video data to/from host
CN107124571B (zh) 录像存储方法及装置
CN102314322B (zh) 一种基于raid阵列的数据处理方法和设备
KR20100051665A (ko) 투명한 웨어 레벨링을 위한 하드디스크 섹터/트랙 리매핑
CN102930875B (zh) 一种实时同步录音录像的方法
US8941936B1 (en) Hybrid surface format hard disk drive
JP2005301641A (ja) 映像撮影装置
CN107229535B (zh) 数据块的多副本存储方法、存储设备、数据读取方法
CN117608500B (zh) 一种存储系统在数据冗余不足时抢救有效数据的方法
CN110515761B (zh) 一种数据获取方法及装置
US7191282B2 (en) Data processing apparatus and method for determining the amount of free storage space in such an apparatus
KR101181445B1 (ko) 네트워크 기반 비디오 레코더의 저장 장치
CN113986151A (zh) 一种高性能视频流连续录制存储方法
KR100601281B1 (ko) 디브이알 시스템의 하드디스크 인식 방법
JP2004234702A (ja) ボリューム・ファイル管理構造および記録及び又は再生装置、並びにプログラム