Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в сокращении увеличения объема записи. Способ для сохранения данных посредством устройства хранения данных, содержащего первую область хранения и вторую область хранения, которые содержат пространство данных и зарезервированное пространство, в котором принимают, посредством устройства хранения данных, запрос на запись, при этом запрос на запись переносит логический адрес и данные; определяют, посредством устройства хранения данных, признак запроса на запись; записывают, посредством устройства хранения данных, когда признак запроса на запись удовлетворяет первому условию, данные, переносимые в запросе на запись, в первый адрес хранения зарезервированного пространства первой области хранения; и устанавливают, посредством устройства хранения данных, взаимосвязь преобразования между логическим адресом и первым адресом хранения; записывают, когда признак запроса на запись удовлетворяет второму условию, данные, переносимые в запросе на запись, во второй адрес хранения зарезервированного пространства второй области хранения; и устанавливают, посредством устройства хранения данных, взаимосвязь преобразования между логическим адресом и вторым адресом хранения. 3 н. и 12 з.п. ф-лы, 11 ил.
Реферат
Область техники, к которой относится изобретение
[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 меньше отношения зарезервированного простр