СПОСОБ ДЛЯ СОХРАНЕНИЯ ДАННЫХ ПОСРЕДСТВОМ УСТРОЙСТВА ХРАНЕНИЯ ДАННЫХ И УСТРОЙСТВО ХРАНЕНИЯ ДАННЫХ
METHOD FOR STORING DATA USING DATA STORAGE DEVICE AND DATA STORAGE DEVICE

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к области техники информационных технологий и, в частности, к способу для сохранения данных посредством устройства хранения данных и к устройству хранения данных.
Уровень техники
[0002] Полупроводниковый диск (полупроводниковый диск, SSD), как показано на фиг. 1, включает в себя контроллер 101 хранения данных и носитель 102 (например, кристалл флэш-памяти). Контроллер 101 хранения данных включает в себя центральный процессор 1011 (центральный процессор, CPU) и запоминающее устройство 1012. Хранение в SSD организовано посредством использования физического блока (физического блока) и страницы (страницы) в качестве единиц. Страница представляет собой наименьшую единицу считывания/записи в полупроводниковом диске, и размер страницы может составлять 4 Кбайта, 8 Кбайт или 16 Кбайт. Страницы комбинируются в физический блок, и каждый физический блок может иметь 32, 64 или 128 страниц. SSD, в общем, разделяет пространство для хранения на пространство данных и зарезервированное пространство (увеличение резервной области). Пространство данных представляет собой пространство, в котором уже записаны данные, и зарезервированное пространство представляет собой свободное пространство, включает в себя свободные страницы, и данные могут записываться в зарезервированное пространство. Когда данные, уже сохраненные в пространстве данных в SSD, должны перезаписываться посредством новых данных, используется механизм перенаправления при записи (перенаправления при записи, ROW). Иными словами, когда SSD записывает новые данные в адрес логического блока (адрес логического блока, LBA), чтобы модифицировать уже сохраненные данные, SSD записывает новые данные на страницу зарезервированного пространства, устанавливает взаимосвязь преобразования между LBA и адресом страницы зарезервированного пространства и помечает данные в адресе страницы, в который предварительно преобразован LBA, для пространства данных в качестве ненужных данных. Когда зарезервированное пространство меньше порогового значения, SSD выполняет повторное использование пространства для ненужных данных для физического блока страницы, на которой расположены ненужные данные. Процесс повторного использования заключается в следующем: считывание допустимых данных в физическом блоке страницы, на которой расположены ненужные данные, запись считываемых допустимых данных в зарезервированное пространство, стирание данных в физическом блоке страницы, на которой расположены ненужные данные, и использование физического блока в качестве нового зарезервированного пространства. В процессе повторного использования пространства для ненужных данных, процесс, в котором допустимые данные считываются, и допустимые данные записываются в зарезервированное пространство, упоминается в качестве перемещения допустимых данных.
[0003] Повторное использование пространства для ненужных данных приводит к увеличению объема записи, и отношение суммы размера V допустимых данных, перемещенных при повторном использовании пространства для ненужных данных в SSD, и размера W заново записанных данных к размеру W заново записанных данных, т.е. (V+W)/W, упоминается в качестве увеличения объема записи.
Сущность изобретения
[0004] Согласно первому аспекту, вариант осуществления настоящего изобретения предоставляет решение для сохранения данных посредством устройства хранения данных, причем устройство хранения данных включает в себя первую область хранения и вторую область хранения, причем первая область хранения включает в себя пространство данных и зарезервированное пространство, и вторая область хранения включает в себя пространство данных и зарезервированное пространство, устройство хранения данных принимает запрос на запись, причем запрос на запись переносит логический адрес и данные, и устройство хранения данных определяет признак запроса на запись.
[0005] Когда признак запроса на запись удовлетворяет первому условию, устройство хранения данных записывает данные, переносимые в запросе на запись, в первый адрес хранения зарезервированного пространства первой области хранения, и устанавливает взаимосвязь преобразования между логическим адресом и первым адресом хранения, либо когда признак запроса на запись удовлетворяет второму условию, устройство хранения данных записывает данные, переносимые в запросе на запись, во второй адрес хранения зарезервированного пространства второй области хранения, и устанавливает взаимосвязь преобразования между логическим адресом и вторым адресом хранения. В этом варианте осуществления настоящего изобретения, данные, переносимые в запросе на запись, записываются в зарезервированное пространство различных областей хранения согласно признаку запроса на запись, что уменьшает перемещения допустимых данных в процессе повторного использования пространства для ненужных данных и сокращает увеличение объема записи.
[0006] Необязательно, устройство хранения данных может независимо выполнять повторное использование ненужных данных для первой области хранения и второй области хранения. То, что устройство хранения данных может независимо выполнять повторное использование пространства для ненужных данных для первой области хранения, и второй области хранения, означает то, что устройство хранения данных выполняет повторное использование пространства для ненужных данных для одной из первой области хранения и второй области хранения и не затрагивает другую область хранения либо может выполнять повторное использование пространства для ненужных данных как для первой области хранения, так и для второй области хранения. Для запросов на запись, имеющих различные признаки, данные записываются в различные области хранения, и повторное использование пространства для ненужных данных независимо выполняется для областей хранения на основе различного зарезервированного пространства, сконфигурированного в различных областях хранения. Следовательно, могут уменьшаться перемещения допустимых данных в процессе повторного использования пространства для ненужных данных, может сокращаться увеличение объема записи, и также может уменьшаться количество инициирований процесса повторного использования пространства для ненужных данных посредством конфигурирования различного зарезервированного пространства, так что уменьшается количество стираний физического блока в устройстве хранения данных, и увеличивается срок службы устройства хранения данных.
[0007] Необязательно, размер зарезервированного пространства первой области хранения отличается от размера зарезервированного пространства второй области хранения.
[0008] Необязательно, зарезервированное пространство первой области хранения меньше зарезервированного пространства второй области хранения, или отношение зарезервированного пространства первой области хранения к пространству данных первой области хранения меньше отношения зарезервированного пространства второй области хранения к пространству данных второй области хранения. Поскольку вторая область хранения имеет больше зарезервированного пространства, количество повторных использований пространства для ненужных данных во второй области хранения может уменьшаться.
[0009] Необязательно, когда данные записываются в соответствующую область хранения, например, в вышеприведенную первую или вторую область хранения, если зарезервированное пространство соответствующей области хранения является недостаточным, может выполняться динамическое регулирование. Например, в соответствии с таким предварительным условием, что максимальная избыточная квота не используется, может применяться дополнительное зарезервированное пространство, и затем данные в запросе на запись записываются в зарезервированное пространство, которое заново применяется.
[0010] Необязательно, определение, посредством устройства хранения данных, признака запроса на запись включает в себя:
- определение, посредством устройства хранения данных, того, представляет запрос на запись собой запрос на последовательную запись или запрос на произвольную запись, причем:
- первое условие представляет собой запрос на последовательную запись, и второе условие представляет собой запрос на произвольную запись, и соответственно, сохранение запроса на последовательную запись и запроса на произвольную запись в различных областях хранения, что уменьшает перемещения допустимых данных в процессе повторного использования пространства для ненужных данных и сокращает увеличение объема записи. Помимо этого, в случае если существуют как запрос на последовательную запись, так и запрос на произвольную запись, производительность произвольной записи устройства хранения данных повышается без влияния на производительность запроса на последовательную запись. Необязательно, определяется то, записываются или нет данные в опорный логический адрес, причем абсолютное значение адресной разности между опорным логическим адресом и логическим адресом не превышает L, и L может задаваться согласно требованию для запроса на последовательную запись. В одной реализации, когда данные записываются в опорный логический адрес, запрос на запись представляет собой запрос на последовательную запись; иначе, запрос на запись представляет собой запрос на произвольную запись. В другой реализации, когда данные не записываются в опорный логический адрес, запрос на запись представляет собой запрос на произвольную запись. Когда данные записываются в опорный логический адрес, дополнительно, устройство хранения данных определяет то, превышает или нет интервал между временем, в которое запрос на запись, переносящий опорный адрес, принимается в последний раз, и временем, в которое запрос на запись, переносящий логический адрес, принимается в последний раз, пороговое значение T, и если да, запрос на запись по-прежнему представляет собой запрос на произвольную запись; в противном случае, запрос на запись представляет собой запрос на последовательную запись. T может задаваться согласно конкретной реализации.
[0011] Необязательно, определение, посредством устройства хранения данных, признака запроса на запись включает в себя:
- определение, посредством устройства хранения данных, уровня последовательности запроса на запись, причем:
- первое условие представляет собой первый диапазон уровней последовательности, второе условие представляет собой второй диапазон уровней последовательности, и минимальное значение первого диапазона уровней последовательности превышает максимальное значение второго диапазона уровней последовательности. Необязательно, уровень последовательности представляет собой отношение S (уровень последовательности) числа Cs запросов на последовательную запись текущего логического адреса к (сумме числа Cs запросов на последовательную запись текущего логического адреса и числа Cr запросов на произвольную запись текущего логического адреса), т.е. Cs/(Cs+Cr)=S. Согласно уровню последовательности, данные, переносимые в запросах на запись, имеющих различные уровни последовательности, соответственно, могут сохраняться в различных областях хранения, имеющих различное зарезервированное пространство, что уменьшает перемещения допустимых данных в процессе повторного использования пространства для ненужных данных и сокращает увеличение объема записи.
[0012] Необязательно, определение, посредством устройства хранения данных, признака запроса на запись включает в себя:
- определение, посредством устройства хранения данных, уровня случайности запроса на запись, причем:
- первое условие представляет собой первый диапазон уровня случайности, второе условие представляет собой второй диапазон уровня случайности, и максимальное значение первого диапазона уровня случайности меньше минимального значения второго диапазона уровня случайности. Необязательно, уровень случайности представляет собой отношение R числа Cr запросов на произвольную запись текущего логического адреса к (сумме числа Cs запросов на последовательную запись текущего логического адреса и числа Cr запросов на произвольную запись текущего логического адреса), т.е. Cr/(Cr+Cs)=R. Согласно уровню случайности, данные, переносимые в запросах на запись, имеющих различные уровни случайности, могут сохраняться отдельно, что уменьшает перемещения допустимых данных в процессе повторного использования пространства для ненужных данных и сокращает увеличение объема записи.
[0013] Необязательно, определение, посредством устройства хранения данных, признака запроса на запись включает в себя:
- определение, посредством устройства хранения данных, размера данных, переносимых в запросе на запись, причем:
- первое условие представляет собой первый диапазон данных, сохраненный в первой области хранения, второе условие представляет собой второй диапазон данных, сохраненный во второй области хранения, и минимальное значение первого диапазона данных превышает максимальное значение второго диапазона данных. Устройство хранения данных включает в себя различные области хранения, каждая область хранения сохраняет соответствующий диапазон хранения данных, что позволяет уменьшать перемещения допустимых данных в процессе повторного использования ненужных данных и сокращать увеличение объема записи. Необязательно, диапазон данных означает интервал размера данных, переносимых в запросе на запись, сохраненном в области хранения.
[0014] Необязательно, в случае если несколько запросов на запись параллельно отправляются, устройство хранения данных предпочтительно обрабатывает запрос на запись, удовлетворяющий первому условию, чтобы повышать производительность записи устройства хранения данных.
[0015] Необязательно, устройство хранения данных представляет собой SSD или диск по технологии черепичной магнитной записи (технологии черепичной магнитной записи, SMR) либо массив хранения данных, имеющий функцию повторного использования пространства для ненужных данных и основанный на ROW-механизме.
[0016] В соответствии с решением, реализованным в первом аспекте, согласно второму аспекту, вариант осуществления настоящего изобретения дополнительно предоставляет решение для разделения области хранения посредством устройства хранения данных. Устройство хранения данных разделяет пространство для хранения на первую область хранения и вторую область хранения, причем первая область хранения включает в себя пространство данных и зарезервированное пространство, и вторая область хранения включает в себя пространство данных и зарезервированное пространство, причем зарезервированное пространство первой области хранения выполнено с возможностью сохранять данные, переносимые в первом запросе на запись, зарезервированное пространство второй области хранения выполнено с возможностью сохранять данные, переносимые во втором запросе на запись, признак первого запроса на запись удовлетворяет первому условию, и признак второго запроса на запись удовлетворяет второму условию.
[0017] Необязательно, соответствующее количество областей хранения может разделяться согласно номеру класса уровня последовательности или уровня случайности запроса на запись, и соответствующее зарезервированное пространство сконфигурировано согласно значению каждого класса уровня последовательности или уровня случайности. Разделение областей хранения и конфигурирование соответствующего зарезервированного пространства могут выполняться заранее, либо динамическое разделение и конфигурирование может выполняться во время использования.
[0018] Согласно третьему аспекту, в соответствии с первым аспектом и вторым аспектом, вариант осуществления настоящего изобретения дополнительно предоставляет устройство хранения данных, отдельно используемое в качестве устройства хранения данных в вариантах осуществления первого аспекта и второго аспекта, с тем чтобы реализовывать решения вариантов осуществления, предоставленных в первом аспекте и втором аспекте вариантов осуществления настоящего изобретения. Устройство хранения данных включает в себя структурный блок, реализующий решения вариантов осуществления настоящего изобретения в первом аспекте и втором аспекте, или устройство хранения данных включает в себя контроллер хранения данных для того, чтобы реализовывать решения вариантов осуществления в первом аспекте и втором аспекте.
[0019] Соответственно, вариант осуществления настоящего изобретения дополнительно предоставляет энергонезависимый машиночитаемый носитель хранения данных и компьютерный программный продукт. Когда компьютерная инструкция, включенная в энергонезависимый машиночитаемый носитель хранения данных и компьютерный программный продукт, загружается в запоминающее устройство контроллера хранения данных устройства хранения данных, предоставленного в вариантах осуществления настоящего изобретения, и CPU контроллера хранения данных выполняет компьютерную инструкцию, устройство хранения данных выполняет функции устройства хранения данных в вариантах осуществления первого аспекта и второго аспекта, с тем чтобы реализовывать решения, предоставленные в первом аспекте и втором аспекте вариантов осуществления настоящего изобретения.
Краткое описание чертежей
[0020] Фиг. 1 является принципиальной структурной схемой SSD;
[0021] Фиг. 2 является блок-схемой последовательности операций способа согласно варианту осуществления настоящего изобретения;
[0022] Фиг. 3 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0023] Фиг. 4 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0024] Фиг. 5 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0025] Фиг. 6 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0026] Фиг. 7 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0027] Фиг. 8 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0028] Фиг. 9 является принципиальной схемой области хранения согласно варианту осуществления настоящего изобретения;
[0029] Фиг. 10 является принципиальной схемой устройства хранения данных согласно варианту осуществления настоящего изобретения; и
[0030] Фиг. 11 является принципиальной схемой, иллюстрирующей устройство хранения данных согласно варианту осуществления настоящего изобретения.
Описание вариантов осуществления
[0031] SSD используется в качестве примера в варианте осуществления настоящего изобретения. В этом варианте осуществления настоящего изобретения, SSD включает в себя первую область Vd1 хранения и вторую область Vd2 хранения. Vd1 включает в себя пространство данных и зарезервированное пространство, Vd2 включает в себя пространство данных и зарезервированное пространство, и размер зарезервированного пространства Vd1 отличается от размера зарезервированного пространства Vd2. В этом варианте осуществления настоящего изобретения, SSD может независимо выполнять повторное использование пространства для ненужных данных для Vd1 и Vd2. То, что SSD может независимо выполнять повторное использование пространства для ненужных данных для Vd1 и Vd2, означает то, что SSD выполняет повторное использование пространства для ненужных данных для одного из Vd1 и Vd2 и не затрагивает другую область хранения либо может выполнять повторное использование пространства для ненужных данных как для Vd1, так и для Vd2. Для запросов на запись, имеющих различные признаки, данные записываются в различные области хранения, и повторное использование пространства для ненужных данных независимо выполняется для областей хранения на основе различного зарезервированного пространства, сконфигурированного в различных областях хранения. Следовательно, могут уменьшаться перемещения допустимых данных в процессе повторного использования пространства для ненужных данных, может сокращаться увеличение объема записи, и также может уменьшаться количество инициирований процесса повторного использования пространства для ненужных данных посредством конфигурирования различного зарезервированного пространства, так что уменьшается количество стираний физического блока в SSD, и увеличивается срок службы SSD.
[0032] Вышеприведенные характеристики SSD в этом варианте осуществления настоящего изобретения дополнительно могут применяться к другому устройству хранения данных в вариантах осуществления настоящего изобретения, и подробности не описываются повторно в данном документе.
[0033] Как показано на фиг. 2, вариант осуществления настоящего изобретения включает в себя:
[0034] Этап 201. Прием запроса на запись.
[0035] SSD принимает запрос на запись, причем запрос на запись переносит LBA и данные.
[0036] Этап 202. Определение признака запроса на запись.
[0037] Способ реализации определения признака запроса на запись включает в себя:
[0038] В частности, при приеме запроса на запись, SSD определяет то, представляет запрос на запись собой запрос на последовательную запись или запрос на произвольную запись. В этом варианте осуществления настоящего изобретения, SSD записывает время, в которое принимается каждый запрос на запись, и LBA-адрес, переносимый в запросе на запись. В конкретном способе реализации, способ для определения того, представляет запрос на запись собой запрос на последовательную запись (первое условие, показанное на фиг. 2) или запрос на произвольную запись (второе условие, показанное на фиг. 2), заключается в следующем:
[0039] SSD записывает LBA, переносимый в принимаемом запросе на запись, и время, в которое запрос на запись принимается в последний раз. Согласно LBA m, переносимому в запросе на запись, SSD запрашивает то, записываются или нет данные в LBA n (называемом "опорным логическим адресом), причем абсолютное значение разности между LBA m и LBA n не превышает L, и L может задаваться согласно требованию для запроса на последовательную запись. Если данные не записываются в LBA n, запрос на запись, переносящий LBA m, представляет собой запрос на произвольную запись. В одном способе реализации, если данные записываются в LBA n, запрос на запись, переносящий LBA m, представляет собой запрос на последовательную запись. В другом способе реализации, когда данные записываются в LBA n, SSD дополнительно определяет то, превышает или нет интервал между временем, в которое запрос на запись, переносящий LBA n, принимается в последний раз, и временем, в которое запрос на запись, переносящий LBA m, принимается в последний раз, пороговое значение T. Если интервал превышает T, запрос на запись, переносящий LBA m, представляет собой запрос на произвольную запись. Если интервал не превышает T, запрос на запись, переносящий LBA m, представляет собой запрос на последовательную запись. T может задаваться согласно конкретной реализации, что не ограничивается в этом варианте осуществления настоящего изобретения. Запрос на последовательную запись, в общем, представляет собой запрос на запись из идентичного файла или приложения, и запрос на произвольную запись представляет собой запрос на запись из различного файла или приложения.
[0040] В этом варианте осуществления настоящего изобретения, SSD включает в себя первую область (Vd1) хранения, показанную на фиг. 2, и вторую область хранения (Vd2), показанную на фиг. 2, причем Vd1 и Vd2 включают в себя один или более физических блоков. Как показано на фиг. 3, в этом варианте осуществления настоящего изобретения, Vd1 включает в себя Y физических блоков, причем каждый физический блок включает в себя (n+1) страниц, Vd1 выполнен с возможностью сохранять данные, переносимые в запросе на последовательную запись, первый - (Y-2)-й физические блоки формируют пространство данных Vd1, и (Y-1)-й и Y-й физические блоки формируют зарезервированное пространство.
[0041] Как показано на фиг. 4, SSD принимает первый запрос на последовательную запись, причем логический адрес, переносимый в первом запросе на последовательную запись, представляет собой LBA 1. LBA 1 уже преобразуется в (n+1) страниц первого физического блока в Vd1, т.е. LBA 1 преобразуется в страницы 0 - n первого физического блока в Vd1. На основе ROW-механизма SSD, SSD записывает данные, переносимые в первом запросе на последовательную запись, в (Y-1)-й физический блок зарезервированного пространства в Vd1, устанавливает преобразование между LBA 1 и (n+1) страниц (Y-1)-го физического блока в Vd1, т.е. устанавливает преобразование между LBA 1 и страницами 0 - n (Y-1)-го физического блока в Vd1 и идентифицирует данные на страницах 0 - n первого физического блока в Vd1 в качестве ненужных данных (и удаляет преобразование между LBA 1 и (n+1) страниц первого физического блока в Vd1). SSD принимает второй запрос на последовательную запись, причем логический адрес, переносимый во втором запросе на последовательную запись, представляет собой LBA 2. LBA 2 уже преобразуется в (n+1) страниц второго физического блока в Vd1, т.е. LBA 2 преобразуется в страницы 0 - n второго физического блока в Vd1. На основе ROW-механизма SSD, SSD записывает данные, переносимые во втором запросе на последовательную запись, в Y-й физический блок зарезервированного пространства в Vd1, устанавливает преобразование между LBA 2 и (n+1) страниц Y-го физического блока в Vd1, т.е. устанавливает преобразование между LBA 2 и страницами 0 - n Y-го физического блока в Vd1 и идентифицирует данные на страницах 0 - n второго физического блока в Vd1 в качестве ненужных данных (и удаляет преобразование между LBA 2 и (n+1) страниц второго физического блока в Vd1).
[0042] Поскольку зарезервированное пространство в Vd1, показанное на фиг. 4, изменяется на 0, должно начинаться повторное использование пространства для ненужных данных. Повторное использование пространства для ненужных данных выполняется для физического блока, включающего в себя большинство ненужных данных в Vd1. В этом варианте осуществления настоящего изобретения, первый физический блок и второй физический блок, которые показаны на фиг. 4, включают в себя большинство ненужных данных. Следовательно, начинается повторное использование пространства для ненужных данных для первого физического блока и второго физического блока. Как показано на фиг. 5, в процессе повторного использования пространства для ненужных данных, поскольку данные, сохраненные на страницах первого физического блока и второго физического блока в Vd1, полностью являются ненужными данными, и отсутствуют допустимые данные, перемещение допустимых данных не должно выполняться, т.е. отсутствует увеличение объема записи. Следовательно, запрос на последовательную запись сохраняется в Vd1, и в процессе повторного использования пространства для ненужных данных, перемещения допустимых данных и увеличение объема записи уменьшаются в Vd1. Помимо этого, поскольку отсутствуют допустимые данные или имеются небольшие допустимые данные в процессе повторного использования пространства для ненужных данных, небольшой объем зарезервированного пространства может выделяться для Vd1.
[0043] Как показано на фиг. 6, в этом варианте осуществления настоящего изобретения, Vd2 включает в себя X физических блоков, причем каждый физический блок включает в себя (n+1) страниц, Vd2 выполнен с возможностью сохранять данные, переносимые в запросе на произвольную запись, первый - (X-3)-ий физические блоки формируют пространство данных Vd2, и (X-1)-й - X-й физические блоки формируют зарезервированное пространство.
[0044] Как показано на фиг. 7, SSD принимает первый запрос на произвольную запись, причем логический адрес, переносимый в первом запросе на произвольную запись, представляет собой LBA 1'. LBA 1' уже преобразуется в первые m страниц первого физического блока в Vd2, т.е. LBA 1' преобразуется в страницы 0 - m-1 первого физического блока в Vd2. На основе ROW-механизма SSD, SSD записывает данные, переносимые в первом запросе на произвольную запись, в (X-2)-й физический блок зарезервированного пространства в Vd2, устанавливает преобразование между LBA 1' и первыми m страницами (X-2)-го физического блока в Vd2, т.е. устанавливает преобразование между LBA 1' и страницами 0 - m-1 (X-2)-го физического блока в Vd2 и идентифицирует данные на страницах 0 - m-1 первого физического блока в Vd2 в качестве ненужных данных (и удаляет преобразование между LBA 1' и первыми m страницами первого физического блока в Vd2). SSD принимает второй запрос на произвольную запись, причем логический адрес, переносимый во втором запросе на произвольную запись, представляет собой LBA 3'. LBA 3' уже преобразуется в первые (n+1-m) страниц второго физического блока в Vd2, т.е. LBA 3' преобразуется в страницы 0 - n-m второго физического блока в Vd2. На основе ROW-механизма SSD, SSD записывает данные, переносимые во втором запросе на произвольную запись, в (X-2)-й физический блок зарезервированного пространства в Vd2, устанавливает преобразование между LBA 3' и первыми (n+1-m) страниц (X-2)-го физического блока в Vd2, т.е. устанавливает преобразование между LBA 3' и страницами m - n (X-2)-го физического блока в Vd2 и идентифицирует данные на страницах 0 - n-m второго физического блока в Vd2 в качестве ненужных данных (и удаляет преобразование между LBA 3' и первыми (n+1-m) страниц второго физического блока в Vd2).
[0045] Как показано на фиг. 8, когда зарезервированное пространство в Vd2 меньше порогового значения, и начинается повторное использование пространства для ненужных данных, определяется то, что физические блоки, для которых должно выполняться повторное использование, представляют собой первый физический блок и второй физический блок в Vd2. Допустимые данные сохраняются на страницах m - n первого физического блока, и перемещение допустимых данных должно выполняться. В этом варианте осуществления настоящего изобретения, допустимые данные, сохраненные на страницах m - n первого физического блока, перемещаются на страницы 0 - n-m (X-1)-го физического блока в Vd2, и устанавливается преобразование между LBA 4' и страницами 0 - m-1 (X-1)-го физического блока в Vd2. Помимо этого, допустимые данные, сохраненные на страницах m - n второго физического блока в Vd2, перемещаются на страницы m - n (X-1)-го физического блока в Vd2, и устанавливается преобразование между LBA 2' и страницами m - n (X-1)-го физического блока в Vd2. SSD стирает данные в первом физическом блоке и втором физическом блоке в Vd2, и первый физический блок и второй физический блок используются в качестве зарезервированного пространства.
[0046] В этом варианте осуществления настоящего изобретения, Vd1 выполнен с возможностью сохранять данные, переносимые в запросе на последовательную запись, Vd2 выполнен с возможностью сохранять данные, переносимые в запросе на произвольную запись, и данные, переносимые в запросе на последовательную запись, и данные, переносимые в запросе на произвольную запись, соответственно, сохраняются в различных областях хранения согласно признаку запроса на запись, что уменьшает перемещения допустимых данных в процессе повторного использования пространства для ненужных данных и сокращает увеличение объема записи.
[0047] В этом варианте осуществления настоящего изобретения, большее зарезервированное пространство выделено в Vd2, т.е. зарезервированное пространство Vd2 превышает зарезервированное пространство Vd1, что позволяет уменьшать количество повторных использований пространства для ненужных данных, так что уменьшается количество стираний физического блока в Vd2, и увеличивается срок службы SSD. В другой реализации, отношение зарезервированного пространства Vd2 к пространству данных Vd2 превышает отношение зарезервированного пространства Vd1 к пространству данных Vd1, что также позволяет достигать преимущества уменьшения количества повторных использований пространства для ненужных данных в этом варианте осуществления настоящего изобретения.
[0048] В этом варианте осуществления настоящего изобретения, SSD включает в себя Vd1 и Vd2, причем Vd1 выполнен с возможностью сохранять данные, переносимые в запросе на последовательную запись, и Vd2 выполнен с возможностью сохранять данные, переносимые в запросе на произвольную запись. В случае если существуют как запрос на произвольную запись, так и запрос на последовательную запись, не оказывается влияние на производительность запроса на последовательную запись, и повышается производительность произвольной записи SSD.
[0049] Необязательно, когда данные записываются в соответствующую область хранения, например, в вышеприведенную первую или вторую область хранения, если зарезервированное пространство соответствующей области хранения является недостаточным, может выполняться динамическое регулирование. Например, в соответствии с таким предварительным условием, что максимальная избыточная квота не используется, может применяться дополнительное зарезервированное пространство, и затем данные в запросе на запись записываются в зарезервированное пространство, которое заново применяется.
[0050] Необязательно, в случае если несколько запросов на запись параллельно отправляются, когда запросы на запись, принятые посредством SSD, включают в себя как запрос на последовательную запись, так и запрос на произвольную запись, данные, переносимые в запросе на последовательную запись, предпочтительно могут записываться в первую область хранения, чтобы повышать производительность записи.
[0051] Вариант осуществления настоящего изобретения предоставляет другое решение по реализации этапа 2 определения признака запроса на запись: сбор, посредством SSD, статистики относительно числа запросов на последовательную запись и числа запросов на произвольную запись в LBA, переносимых в запросе на запись. В этом варианте осуществления настоящего изобретения, число запросов на последовательную запись в LBA, переносимых в запросе на запись, также упоминается как число запросов на последовательную запись для запроса на запись, и число запросов на произвольную запись в LBA, переносимых в запросе на запись, также упоминается как число запросов на произвольную запись для запроса на запись.
[0052] Например, когда SSD определяет то, что запрос на запись, переносящий LBA m, представляет собой запрос на последовательную запись, число Cs запросов на последовательную запись LBA m увеличивается на 1, либо когда SSD определяет то, что запрос на запись, переносящий LBA m, представляет собой запрос на произвольную запись, число Cr запросов на произвольную запись LBA m увеличивается на 1. Значение S (уровень последовательности) текущего числа Cs запросов на последовательную запись LBA m, деленное на (сумму текущего числа Cs запросов на последовательную запись LBA m и текущего числа Cr запросов на произвольную запись LBA m), вычисляется. Если S удовлетворяет первому условию (первому диапазону уровней последовательности), показанному на фиг. 2, данные, переносимые в запросе на запись, записываются в Vd1, либо когда S удовлетворяет второму условию (второму диапазону уровней последовательности), показанному на фиг. 2, данные, переносимые в запросе на запись, записываются в Vd2. Например, первый диапазон уровней последовательности больше 0,8 и не больше 1, и второй диапазон уровней последовательности не больше 0,8. Уровень последовательности запроса на запись, соответствующего данным, сохраненным в Vd1, превышает уровень последовательности запроса на запись, соответствующего данным, сохраненным в Vd2, и физический блок в Vd1 формирует меньше перемещений допустимых данных по сравнению с физическим блоком в Vd2 в процессе повторного использования пространства для ненужных данных, за счет этого сокращая увеличение объема записи.
[0053] Уровень последовательности запроса на запись, соответствующего данным, сохраненным в Vd1, превышает уровень последовательности запроса на запись, соответствующего данным, сохраненным в Vd2, и зарезервированное пространство, выделенное посредством SSD в Vd1, меньше зарезервированного пространства Vd2, или отношение зарезервированного пространства Vd1 к пространству данных Vd1 меньше отношения зарезервированного пространства Vd2 к пространству данных Vd2. В этом способе реализации, уменьшается количество повторных использований пространства для ненужных данных в Vd2, за счет этого уменьшая количество стираний физического блока в Vd2 и увеличивая срок службы SSD. Дополнительно, запросы на запись, соответственно, записываются в различные области согласно различным уровням последовательности; в силу этого, не оказывается влияние на запрос на запись, имеющий более высокий уровень последовательности, и повышается производительность произвольной записи SSD.
[0054] Необязательно, в случае если несколько запросов на запись параллельно отправляются, когда запросы на запись, принятые посредством SSD, имеют различные уровни последовательности, запрос на запись, имеющий более высокий уровень последовательности, может предпочтительно обрабатываться, либо когда запросы на запись, принятые посредством SSD, имеют различные уровни случайности, запрос на запись, имеющий более низкий уровень случайности, может предпочтительно обрабатываться, чтобы повышать производительность записи.
[0055] Другой способ реализации также может быть основан на уровне R случайности. Когда SSD определяет то, что запрос на запись, переносящий LBA m, представляет собой запрос на последовательную запись, число Cs запросов на последовательную запись LBA m увеличивается на 1, либо когда SSD определяет то, что запрос на запись, переносящий LBA m, представляет собой запрос на произвольную запись, число Cr запросов на произвольную запись LBA m увеличивается на 1. Значение R (уровень случайности) текущего числа Cr запросов на произвольную запись LBA m, деленное на (сумму текущего числа Cs запросов на последовательную запись LBA m и текущего числа Cr запросов на произвольную запись LBA m), вычисляется. Если R удовлетворяет первому условию (первому диапазону уровня случайности), показанному на фиг. 2, данные, переносимые в запросе на запись, записываются в Vd1, либо когда R удовлетворяет второму условию (второму диапазону уровня случайности), показанному на фиг. 2, данные, переносимые в запросе на запись, записываются в Vd2. Например, первый диапазон уровня случайности не больше 0,2, и второй диапазон уровня случайности больше 0,2, но не больше 1. Уровень случайности запроса на запись, соответствующего данным, сохраненным в Vd1, меньше уровня случайности запроса на запись, соответствующего данным, сохраненным в Vd2, и физический блок в Vd1 формирует меньше перемещений допустимых данных по сравнению с физическим блоком в Vd2 в процессе повторного использования пространства для ненужных данных, за счет этого сокращая увеличение объема записи.
[0056] Уровень случайности запроса на запись, соответствующего данным, сохраненным в Vd1, меньше уровня случайности запроса на запись, соответствующего данным, сохраненным в Vd2, и зарезервированное пространство, выделенное посредством SSD в Vd1, меньше зарезервированного пространства Vd2, или отношение зарезервированного пространства Vd1 к пространству данных Vd1 меньше отношения зарезервированного пространства Vd2 к пространству данных Vd2. В этом способе реализации, уменьшается количество повторных использований пространства для ненужных данных в Vd2, за счет этого уменьшая количество стираний физического блока в Vd2 и увеличивая срок службы SSD. Дополнительно, запросы на запись, соответственно, записываются в различные области согласно различным уровням случайности; в силу этого, не оказывается влияние на запрос на запись, имеющий более низкий уровень случайности, и повышается производительность произвольной записи SSD.
[0057] Необязательно, соответствующее количество областей хранения может разделяться согласно номеру класса уровня последовательности или уровня случайности запроса на запись, и соответствующее зарезервированное пространство сконфигурировано согласно значению каждого класса уровня последовательности или уровня случайности. Разделение областей хранения и конфигурирование соответствующего зарезервированного пространства могут выполняться заранее, либо динамическое разделение и конфигурирование может выполняться во время использования.
[0058] Вариант осуществления настоящего изобретения предоставляет другое решение по реализации этапа 2 определения признака запроса на запись: определение размера данных, переносимых в запросе на запись, и определение области хранения согласно размеру данных, переносимых в запросе на запись.
[0059] Как показано на фиг. 9, SSD включает в себя девять областей хранения, помеченных как Vd1, Vd2,..., и Vd9. В этом варианте осуществления настоящего изобретения, в одном способе реализации, каждая область хранения включает в себя R физических блоков, и каждый физический блок включает в себя (n+1) страниц. В другом способе реализации, каждая область хранения может включать в себя различное количество физических блоков, что не ограничивается в этом варианте осуществления настоящего изобретения. SSD выбирает область хранения согласно размеру данных, переносимых в запросе на запись. Vd1 выполнена с возможностью сохранять данные (0-4 Кбайта), Vd2 выполнена с возможностью сохранять данные (4-8 Кбайт), Vd3 выполнена с возможностью сохранять данные (8-16 Кбайт), Vd4 выполнена с возможностью сохранять данные (16-32 Кбайта), Vd5 выполнена с возможностью сохранять данные (32-64 Кбайта), Vd6 выполнена с возможностью сохранять данные (64-128 Кбайт), Vd7 выполнена с возможностью сохранять данные (128-256 Кбайт), Vd8 выполнена с возможностью сохранять данные (256-512 Кбайт), и Vd9 выполнена с возможностью сохранять данные, которые превышают 512 Кбайт. Данные (4 Кбайта 8 Кбайт) также упоминаются как данные диапазона данных. Диапазон данных означает интервал размера данных, переносимых в запросе на запись, сохраненном в области хранения. Диапазон данных Vd1 представляет то, что размер данных, переносимых в запросе на запись, сохраненном в Vd1, не превышает 4 КБ. При приеме запроса на запись, SSD определяет, согласно диапазону данных, сохраненному в каждой области хранения, область хранения, которая используется для того, чтобы сохранять данные, переносимые в запросе на запись. Например, вторая область хранения, показанная на фиг. 2, представляет собой Vd1. Поскольку данные в диапазоне данных Vd1 не превышают 4 Кбайта (второе условие, показанное на фиг. 2), данные, переносимые в нескольких запросах на запись, сохраняются в идентичном физическом блоке. Когда некоторые данные идентифицируются в качестве недопустимых данных вследствие модификации, и повторное использование пространства для ненужных данных выполняется для физического блока, данные, переносимые в другом запросе на запись, сохраненном в физическом блоке, используются в качестве допустимых данных, и перемещение допустимых данных должно выполняться, в силу этого приводя к увеличению объема записи. Например, Vd9 представляет собой первую область хранения, показанную на фиг. 2. Поскольку данные в диапазоне данных Vd9 превышают 512 Кбайт (первое условие, показанное на фиг. 2), данные, переносимые в идентичном запросе на запись или в небольшом количестве запросов на запись, сохраняются в идентичном физическом блоке. Следовательно, когда SSD снова принимает запрос на запись для модификации данных в физическом блоке, данные, сохраненные на страницах всего физического блока, идентифицируются в качестве ненужных данных. Когда повторное использование пространства для ненужных данных выполняется для физического блока, поскольку все или большинство данных во всем физическом блоке представляют собой ненужные данные, перемещение допустимых данных не формируется, либо формируется только небольшое количество перемещений допустимых данных, что не приводит к увеличению объема записи либо приводит к небольшому увеличению объема записи. Следовательно, SSD разделяется на различные области хранения, и каждая область хранения сохраняет соответствующий диапазон хранения данных, что позволяет уменьшать перемещения допустимых данных в процессе повторного использования пространства для ненужных данных и сокращать увеличение объема записи. Необязательно, размер данных, переносимых в запросе на запись, определяет соответствующую область хранения. Большее зарезервированное пространство выделено области хранения, соответствующей диапазону данных, сохраняющему небольшие данные, чем области хранения, соответствующей диапазону данных, сохраняющему большие данные, или отношение зарезервированного пространства области хранения, соответствующей диапазону данных, сохраняющему небольшие данные, к пространству данных области хранения, соответствующей диапазону данных, сохраняющему небольшие данные, превышает отношение зарезервированного пространства области хранения, соответствующей диапазону данных, сохраняющему большие данные, к пространству данных области хранения, соответствующей диапазону данных, сохраняющему большие данные, что позволяет уменьшать количество повторных использований пространства для ненужных данных, уменьшать количество стираний физического блока и увеличивать срок службы SSD.
[0060] Необязательно, в случае если несколько запросов на запись параллельно отправляются, при приеме запросов на запись, переносящих различные размеры данных, SSD предпочтительно может обрабатывать запрос на запись, переносящий относительно большой размер данных для того, чтобы повышать производительность записи.
[0061] В этом варианте осуществления настоящего изобретения, зарезервированное пространство, выделенное посредством SSD в Vd1, меньше зарезервированного пространства Vd2, или отношение зарезервированного пространства Vd1 к пространству данных Vd1 меньше отношения зарезервированного пространства Vd2 к пространству данных Vd2. В конкретной реализации, весовые коэффициенты различных квот зарезервированного пространства могут определяться согласно соответствующим признакам запросов на запись в Vd1 и Vd2. Зарезервированное пространство, выделенное в Vd1, меньше зарезервированного пространства Vd2, или отношение зарезервированного пространства Vd1 к пространству данных Vd1 меньше отношения зарезервированного пространства Vd2 к пространству данных Vd2, что не ограничивается в этом варианте осуществления настоящего изобретения.
[0062] В этом варианте осуществления настоящего изобретения, после того, как данные, переносимые в запросе на запись, записываются на страницу, устанавливается взаимосвязь преобразования между LBA и страницей, и согласно конкретной реализации SSD, сначала может устанавливаться преобразование из LBA в физический блок, в котором расположена страница, на которую записываются данные. На предмет конкретной реализации, следует обратиться к механизму преобразования SSD, что не ограничивается в настоящем изобретении, и подробности не описываются повторно в данном документе.
[0063] Настоящее изобретение дополнительно может применяться к диску по технологии черепичной магнитной записи (технологии черепичной магнитной записи, SMR). Вследствие специальной структуры SMR-диска, когда данные записываются в дорожку A, данные на L дорожках после дорожки A перезаписываются, а данные на дорожке до дорожки A не перезаписываются. Следовательно, M (M>=L) дорожек, в общем, используются для того, чтобы формировать зону (зону) в SMR-диске, данные в физическом пространстве в зоне последовательно записываются, и допустимые данные в зоне сначала перемещаются перед записью. SMR-диск, в общем, использует ROW-механизм, разделяет физическое пространство для хранения на зону данных (зону, в которой данные уже сохранены) и зарезервированную зону (свободную зону), и записывает преобразование из логического адреса в физическое пространство для хранения. Когда данные записываются, данные последовательно записываются в пространство зарезервированной зоны, логический адрес затем преобразуется в физический адрес, в который заново записываются данные, и данные, сохраненные в физическом адресе, в который заранее преобразуется логический адрес, помечаются в качестве ненужных данных. После того, как количество зарезервированных зон меньше порогового значения, начинается повторное использование пространства для ненужных данных, находится зона, имеющая большинство ненужных данных, перемещаются допустимые данные в зоне, и зона становится зарезервированной зоной, в которую данные могут продолжать записываться. Зона в SMR-диске имеет характеристику, аналогичную характеристике физического блока в SSD. Следовательно, решение, в котором перемещения допустимых данных уменьшаются в ненужных данных в SSD в вариантах осуществления настоящего изобретения, также может применяться к SMR-диску. SMR-диск разделяется на различные области хранения, причем каждая область хранения включает в себя несколько зон (включающих в себя зону данных и зарезервированную зону), зарезервированные зоны, имеющие различные размеры, выделяются различным областям хранения, и определяется признак запроса на запись. Например, определяется то, представляет запрос на запись собой запрос на произвольную запись или запрос на последовательную запись, или определяется уровень последовательности запроса на запись, или определяется уровень случайности запроса на запись, или определяется размер данных, переносимых в запросе на запись. Данные, переносимые в запросе на запись, сохраняются в зарезервированной зоне конкретной области хранения, так что уменьшаются перемещения допустимых данных в SMR-диске во время повторного использования пространства для ненужных данных, и сокращается увеличение объема записи. На предмет конкретной реализации, следует обратиться к решению по реализации SSD, и подробности не описываются повторно в данном документе в этом варианте осуществления настоящего изобретения. На предмет способа, которым зарезервированные зоны могут выделяться различным областям хранения в SMR-диске, следует обратиться к способу, описанному выше, в котором зарезервированное пространство выделено различным областям хранения в SSD.
[0064] Помимо этого, в массиве хранения данных, имеющем функцию повторного использования пространства для ненужных данных и основанном на ROW-механизме, например, в массиве хранения данных полностью на SSD и массиве хранения данных на жестких дисках (HDD), контроллер массива хранения данных разделяет адрес логического блока каждого жесткого диска на блоки согласно единице (например, 1 MB). Один блок извлекается из каждого диска из N дисков, с тем чтобы формировать сегмент (сегмент), удовлетворяющий условию (например, сегмент массива независимых дисков с избыточностью информации (массива независимых дисков с избыточностью информации, RAID), например, с тем чтобы формировать RAID 6 (включающий в себя 3 блока данных+2 контрольных блока). Способ последовательной записи используется в сегменте, чтобы повышать производительность записи. Данные в сегменте не могут перезаписываться, и допустимые данные в сегменте сначала должны быть перемещены перед записью. Контроллер массива хранения данных разделяет пространство для хранения на сегмент данных (сегмент, в который данные уже записываются) и зарезервированный сегмент (свободный сегмент), и записывает преобразование из логического адреса в физическое пространство для хранения. Когда данные записываются, контроллер массива хранения данных последовательно записывает данные в зарезервированный сегмент, затем преобразует логический адрес в физический адрес, в который данные заново записываются, и помечает данные, сохраненные в физическом адресе, в который заранее преобразуется логический адрес, в качестве ненужных данных. После того, как количество зарезервированных сегментов меньше порогового значения, начинается повторное использование пространства для ненужных данных, находится сегмент, имеющий большинство ненужных данных, перемещается блок допустимых данных в сегменте, и сегмент становится зарезервированным сегментом, в который данные могут продолжать записываться.
[0065] В вышеприведенном массиве хранения данных, сегмент имеет характеристику, аналогичную характеристике физического блока в SSD. Следовательно, решение, в котором перемещения допустимых данных уменьшаются во время повторного использования ненужных данных в SSD в вариантах осуществления настоящего изобретения, также может применяться к вышеприведенному массиву хранения данных. Массив хранения данных разделяется на различные области хранения, причем каждая область хранения включает в себя несколько сегментов (включающих в себя сегмент данных и зарезервированный сегмент), и определяется признак запроса на запись. Например, определяется то, представляет запрос на запись собой запрос на произвольную запись или запрос на последовательную запись, или определяется уровень последовательности запроса на запись, или определяется уровень случайности запроса на запись, или определяется размер данных, переносимых в запросе на запись. Данные, переносимые в запросе на запись, сохраняются в зарезервированном сегменте конкретной области хранения, так что уменьшаются перемещения допустимых данных в массиве хранения данных во время повторного использования пространства для ненужных данных, и сокращается увеличение объема записи. На предмет конкретной реализации, следует обратиться к решению по реализации SSD, и подробности не описываются повторно в данном документе в этом варианте осуществления настоящего изобретения. На предмет способа, которым зарезервированные сегменты могут выделяться различным областям хранения в массиве хранения данных, следует обратиться к способу, описанному выше, в котором зарезервированное пространство выделено различным областям хранения в SSD.
[0066] Этот вариант осуществления настоящего изобретения дополнительно может применяться к другому продукту, сформированному посредством использования носителя флэш-памяти и носителя хранения данных, имеющего аналогичную характеристику.
[0067] Необязательно, в варианте осуществления настоящего изобретения, с использованием SSD в качестве примера, SSD может включать в себя более двух областей хранения. Дополнительно, SSD может определять признак запроса на запись несколькими способами. Например, SSD включает в себя первую область хранения и вторую область хранения и определяет то, представляет запрос на запись собой запрос на последовательную запись или запрос на произвольную запись. Когда запрос на запись представляет собой запрос на последовательную запись, SSD записывает данные, переносимые в запросе на запись, в первую область хранения, либо когда запрос на запись представляет собой запрос на произвольную запись, SSD записывает данные, переносимые в запросе на запись, во вторую область хранения. SSD дополнительно включает в себя третью область хранения и четвертую область хранения, определяет уровень последовательности или уровень случайности запроса на запись и записывает данные, переносимые в запросе на запись, в третью область хранения или четвертую область хранения согласно уровню последовательности или уровню случайности запроса на запись. Необязательно, SSD дополнительно включает в себя пятую область хранения и шестую область хранения, определяет размер данных, переносимых в запросе на запись, и записывает данные, переносимые в запросе на запись, в пятую область хранения или шестую область хранения согласно размеру данных, переносимых в запросе на запись. Комбинация конкретных способов реализации не ограничена в настоящем изобретении.
[0068] Вариант осуществления настоящего изобретения предоставляет устройство хранения данных, как показано на фиг. 10, включающее в себя: контроллер 1001 хранения данных, первую область 1002 хранения и вторую область 1003 хранения, причем первая область 1002 хранения включает в себя пространство данных и зарезервированное пространство, а вторая область 1003 хранения включает в себя пространство данных и зарезервированное пространство. Контроллер 1001 хранения данных выполнен с возможностью осуществлять вариант осуществления настоящего изобретения, показанный на фиг. 2. В частности, контроллер 1001 хранения данных принимает запрос на запись, причем запрос на запись переносит логический адрес и данные, и определяет признак запроса на запись. Когда признак запроса на запись удовлетворяет первому условию, контроллер 1001 хранения данных записывает данные, переносимые в запросе на запись, в первый адрес хранения зарезервированного пространства первой области 1002 хранения, и устанавливает взаимосвязь преобразования между логическим адресом и первым адресом хранения, либо когда признак запроса на запись удовлетворяет второму условию, контроллер 1001 хранения данных записывает данные, переносимые в запросе на запись, во второй адрес хранения зарезервированного пространства второй области 1003 хранения, и устанавливает взаимосвязь преобразования между логическим адресом и вторым адресом хранения. Необязательно, устройство хранения данных, показанное на фиг. 10, может представлять собой SSD, и контроллер 1001 хранения данных представляет собой контроллер SSD. Необязательно, устройство хранения данных, показанное на фиг. 10, дополнительно может представлять собой SMR-диск, и контроллер 1001 хранения данных представляет собой контроллер SMR-диска. Необязательно, устройство хранения данных, показанное на фиг. 10, дополнительно может представлять собой массив хранения данных, описанный в вариантах осуществления настоящего изобретения, и контроллер 1001 хранения данных представляет собой контроллер массива для массива хранения данных. На предмет конкретных описаний, следует обратиться к описаниям соответствующих частей в вариантах осуществления настоящего изобретения, и подробности не описываются повторно в данном документе. Необязательно, в случае если несколько запросов на запись параллельно отправляются, устройство хранения данных предпочтительно обрабатывает запрос на запись, удовлетворяющий первому условию, чтобы повышать производительность записи устройства хранения данных. Необязательно, когда данные записываются в соответствующую область хранения, например, в вышеприведенную первую или вторую область хранения, если зарезервированное пространство соответствующей области хранения является недостаточным, может выполняться динамическое регулирование. Например, в соответствии с таким предварительным условием, что максимальная избыточная квота не используется, может применяться дополнительное зарезервированное пространство, и затем данные в запросе на запись записываются в зарезервированное пространство, которое заново применяется.
[0069] Устройство хранения данных в этом варианте осуществления настоящего изобретения дополнительно может представлять собой другой продукт, сформированный посредством использования носителя флэш-памяти и носителя хранения данных, имеющего аналогичную характеристику.
[0070] Вариант осуществления настоящего изобретения предоставляет другое устройство хранения данных, как показано на фиг. 11, включающее в себя контроллер хранения данных, первую область 1105 хранения и вторую область 1106 хранения, причем контроллер хранения данных включает в себя приемный модуль 1101, модуль 1102 определения, модуль 1103 записи и модуль 1104 преобразования. Приемный модуль 1101 выполнен с возможностью принимать запрос на запись, причем запрос на запись переносит логический адрес и данные. Модуль 1102 определения выполнен с возможностью определять признак запроса на запись. Модуль 1103 записи выполнен с возможностью записывать, когда признак запроса на запись удовлетворяет первому условию, данные, переносимые в запросе на запись, в первый адрес хранения зарезервированного пространства первой области 1105 хранения. Модуль 1104 преобразования выполнен с возможностью устанавливать взаимосвязь преобразования между логическим адресом и первым адресом хранения. Модуль 1103 записи дополнительно выполнен с возможностью записывать, когда признак запроса на запись удовлетворяет второму условию, данные, переносимые в запросе на запись, во второй адрес хранения зарезервированного пространства второй области 1106 хранения. Модуль 1104 преобразования дополнительно выполнен с возможностью устанавливать взаимосвязь преобразования между логическим адресом и вторым адресом хранения. Необязательно, в устройстве хранения данных, показанном на фиг. 11, контроллер хранения данных может независимо выполнять повторное использование пространства для ненужных данных для первой области 1105 хранения и второй области 1106 хранения. Необязательно, размер зарезервированного пространства первой области 1105 хранения отличается от размера зарезервированного пространства второй области 1106 хранения. Необязательно, зарезервированное пространство первой области 1105 хранения меньше зарезервированного пространства второй области 1106 хранения, и размер зарезервированного пространства первой области 1105 хранения меньше размера зарезервированного пространства второй области 1106 хранения. Необязательно, отношение зарезервированного пространства первой области 1105 хранения к пространству данных первой области 1105 хранения меньше отношения зарезервированного пространства второй области 1106 хранения к пространству данных второй области 1106 хранения. Необязательно, модуль 1102 определения специально выполнен с возможностью определять то, представляет запрос на запись собой запрос на последовательную запись или запрос на произвольную запись, причем первое условие представляет собой запрос на последовательную запись, и второе условие представляет собой запрос на произвольную запись. Необязательно, модуль 1102 определения специально выполнен с возможностью определять уровень последовательности запроса на запись, причем первое условие представляет собой первый диапазон уровней последовательности, второе условие представляет собой второй диапазон уровней последовательности, и минимальное значение первого диапазона уровней последовательности превышает максимальное значение второго диапазона уровней последовательности. На предмет смыслового значения уровня последовательности, следует обратиться к описанию в варианте осуществления, показанном на фиг. 2. Необязательно, модуль 1102 определения специально выполнен с возможностью определять уровень случайности запроса на запись, причем первое условие представляет собой первый диапазон уровня случайности, второе условие представляет собой второй диапазон уровня случайности, и максимальное значение первого диапазона уровня случайности меньше минимального значения второго диапазона уровня случайности. На предмет смыслового значения уровня случайности, следует обратиться к описанию в варианте осуществления, показанном на фиг. 2. Необязательно, модуль 1102 определения специально выполнен с возможностью определять размер данных, переносимых в запросе на запись, причем первое условие представляет собой первый диапазон данных, сохраненный в первой области 1105 хранения, второе условие представляет собой второй диапазон данных, сохраненный во второй области 1106 хранения, и минимальное значение первого диапазона данных превышает максимальное значение второго диапазона данных. На предмет смыслового значения диапазона данных, следует обратиться к описанию в варианте осуществления, показанном на фиг. 2. Необязательно, в случае если несколько запросов на запись параллельно отправляются, устройство хранения данных предпочтительно обрабатывает запрос на запись, удовлетворяющий первому условию, чтобы повышать производительность записи устройства хранения данных. Необязательно, когда данные записываются в соответствующую область хранения, например, в вышеприведенную первую или вторую область хранения, если зарезервированное пространство соответствующей области хранения является недостаточным, может выполняться динамическое регулирование. Например, в соответствии с таким предварительным условием, что максимальная избыточная квота не используется, может применяться дополнительное зарезервированное пространство, и затем данные в запросе на запись записываются в зарезервированное пространство, которое заново применяется.
[0071] Устройство хранения данных, показанное на фиг. 11 может представлять собой SSD, SMR-диск или массив хранения данных в вариантах осуществления настоящего изобретения. Устройство хранения данных, показанное на фиг. 11, дополнительно может представлять собой другой продукт, сформированный посредством использования носителя флэш-памяти и носителя хранения данных, имеющего аналогичную характеристику. На предмет конкретных описаний, следует обратиться к описаниям соответствующих частей в вариантах осуществления настоящего изобретения, и подробности не описываются повторно в данном документе.
[0072] Согласно устройству хранения данных, показанному на фиг. 11, в одном способе реализации, вышеприведенные блоки устанавливаются на устройстве хранения данных, вышеприведенные блоки могут загружаться в запоминающее устройство контроллера хранения данных устройства хранения данных, и CPU контроллера хранения данных выполняет инструкцию в запоминающем устройстве, чтобы реализовывать функцию в соответствующем варианте осуществления настоящего изобретения. В другой реализации, блок, включенный в устройство хранения данных, может реализовываться посредством аппаратных средств либо реализовываться посредством комбинации программного обеспечения и аппаратных средств. Вышеприведенные блоки также могут упоминаться в качестве структурных блоков.
[0073] Вариант осуществления настоящего изобретения дополнительно предоставляет энергонезависимый машиночитаемый носитель хранения данных и компьютерный программный продукт. Когда компьютерная инструкция, включенная в энергонезависимый машиночитаемый носитель хранения данных и компьютерный программный продукт, загружается в запоминающее устройство контроллера хранения данных устройства хранения данных, показанного на фиг. 10 или фиг. 11, CPU выполняет компьютерную инструкцию, загружаемую в запоминающее устройство, чтобы реализовывать соответствующие функции в вариантах осуществления настоящего изобретения.
[0074] Согласно вышеприведенным вариантам осуществления, вариант осуществления настоящего изобретения предоставляет способ для разделения области хранения посредством устройства хранения данных. Устройство хранения данных разделяет пространство для хранения на первую область хранения и вторую область хранения, причем первая область хранения включает в себя пространство данных и зарезервированное пространство, и вторая область хранения включает в себя пространство данных и зарезервированное пространство, причем зарезервированное пространство первой области хранения выполнено с возможностью сохранять данные, переносимые в первом запросе на запись, зарезервированное пространство второй области хранения выполнено с возможностью сохранять данные, переносимые во втором запросе на запись, признак первого запроса на запись удовлетворяет первому условию, и признак второго запроса на запись удовлетворяет второму условию. В частности, на предмет первого условия, второго условия, признака первого запроса на запись и признака второго запроса на запись, следует обратиться к описаниям в варианте осуществления, показанном на фиг. 2, и подробности не описываются повторно в данном документе. На предмет взаимосвязи между зарезервированным пространством первой области хранения и зарезервированным пространством второй области хранения, также следует обратиться к описаниям в варианте осуществления, показанном на фиг. 2. На предмет структуры устройства хранения данных в вариантах осуществления настоящего изобретения, следует обратиться к фиг. 10, и подробности не описываются повторно в данном документе. Необязательно, соответствующее количество областей хранения может разделяться согласно номеру класса уровня последовательности или уровня случайности запроса на запись, и соответствующее зарезервированное пространство сконфигурировано согласно значению каждого класса уровня последовательности или уровня случайности. Разделение областей хранения и конфигурирование соответствующего зарезервированного пространства могут выполняться заранее, либо динамическое разделение и конфигурирование может выполняться во время использования.
[0075] В нескольких вариантах осуществления, предоставленных в настоящем изобретении, следует понимать, что раскрытое устройство и способ могут быть реализованы другими способами. Например, разделение на блоки в описанном варианте осуществления устройства представляет собой просто разделение по логическим функциям и может представлять собой другое разделение в фактической реализации. Например, множество модулей или компонентов могут быть комбинированы или интегрированы в другую систему, либо некоторые признаки могут игнорироваться или не выполняться. Помимо этого, отображаемые или поясненные взаимные связи либо прямые связи, либо подключения связи могут быть реализованы посредством использования некоторых интерфейсов. Косвенные связи или подключения связи между устройствами или блоками могут быть реализованы в электронных, механических или других формах.
[0076] Блоки, описанные в качестве отдельных частей, могут быть или не быть физически отдельными, и части, отображаемые в качестве блоков, могут быть или не быть физическими блоками, могут быть расположены в одной позиции либо могут быть распределены по множеству сетевых блоков. Некоторые или все из модулей могут быть выбраны согласно фактической необходимости для достижения целей решений вариантов осуществления.
[0077] Помимо этого, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в один процессор, либо каждый из модулей может существовать отдельно физически, либо два или более модулей интегрируются в один блок.