ВЫБОРОЧНОЕ ИСПОЛЬЗОВАНИЕ МНОЖЕСТВА РАЗЛИЧАЮЩИХСЯ ЯЧЕЕК ТВЕРДОТЕЛЬНОГО ЗАПОМИНАЮЩЕГО УСТРОЙСТВА
SELECTIVE USE OF SET OF DIFFERENT CELLS OF SOLID-STATE STORAGE

Область техники, к которой относится изобретение
Настоящее изобретение относится к области ячеек запоминающего устройства для компьютерных систем и, более конкретно, к распределению данных среди различных ячеек запоминающего устройства.
Уровень техники
Твердотельные накопители (SSD) являются устройствами хранения данных, которые используют энергонезависимую память, чтобы хранить данные, и не содержат вращающихся жестких дисков, встречающихся в традиционных накопителях на жестких дисках. Так как SSD не имеют движущихся частей и могут выдерживать экстремальные сотрясения, вибрацию и изменения температуры, SSD исключают время позиционирования головки, время ожидания и другие электромеханические задержки и неисправности, ассоциированные с традиционным накопителем на жестком диске. Как результат этих признаков, SSD становятся все более и более популярными на рынках, таких как ноутбуки и субноутбуки для предприятий, сверхмобильные ПК и планшетные ПК для секторов здравоохранения и потребительской электроники.
Однако существует множество ограничений в текущем состоянии технологии относительно использования SSD. Например, соотношение цена/емкость SSD остается значительно выше, чем у накопителей на жестких дисках.
Более того, существует только небольшое число компаний, предлагающих большие SSD, более чем на 64 гигабайт, со скоростями, адекватными для замены традиционных накопителей на жестких дисках. Однако даже эти накопители ограничены в количестве, очень дороги и доступны только по специальному запросу. В результате стоимость накопителей SSD находится вне массового потребительского рынка и они очень ограничены в количестве.
Сущность изобретения
Данная сущность предусмотрена для того, чтобы в упрощенной форме представить набор идей, которые дополнительно описываются ниже в подробном описании. Эта сущность не предназначена для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого предмета изобретения, а также не предназначена для того, чтобы быть использованной в качестве помощи при определении области применения заявляемого предмета изобретения.
Раскрывается способ выборочного использования множества различающихся ячеек твердотельного запоминающего устройства. Технология первоначально принимает тип класса для множества различающихся ячеек твердотельного запоминающего устройства. Определяются характеристики принятых данных. Принятые данные затем назначаются одной из множества различающихся ячеек твердотельного запоминающего устройства на основе определенных характеристик.
Настоящая технология предоставляет возможность объединения различающихся типов ячеек твердотельной памяти, чтобы принимать данные, соответствующие типу ячейки твердотельной памяти, таким образом, в конечном счете, снижая соотношение цена/емкость памяти. Дополнительно, объединение различающихся типов ячеек твердотельного запоминающего устройства позволяет SSD поддерживать операционную систему. Также настоящая технология позволяет существующим файлам на компьютере перегруппировываться таким образом, чтобы предоставлять более низкое соотношение цена/емкость используемого пространства памяти. Следовательно, настоящая технология дает возможность снижения соотношения цена/емкость памяти, так же, как и замены накопителя на жестком диске на накопитель SSD.
Описание чертежей
Сопровождающие чертежи, которые включены в и формируют часть этой спецификации, иллюстрируют варианты осуществления технологии для выборочного использования множества различающихся ячеек твердотельного запоминающего устройства и вместе с описанием служат, чтобы объяснить принципы, обсуждаемые ниже:
Фиг.1 является схемой примерной компьютерной системы, используемой в соответствии с вариантами осуществления настоящей технологии для выборочного использования множества различающихся ячеек твердотельного запоминающего устройства.
Фиг.2A является блок-схемой примерного модуля распределения твердотельной памяти для распределения памяти, ассоциированной с операционной системой, в соответствии с одним вариантом осуществления настоящей технологии.
Фиг.2B является блок-схемой примерного модуля распределения твердотельной памяти для распределения памяти, ассоциированной с операционной системой, в соответствии с одним вариантом осуществления настоящей технологии.
Фиг.3 является блок-схемой последовательности операций примерного способа выборочного использования множества различающихся ячеек твердотельного запоминающего устройства в соответствии с одним вариантом осуществления настоящей технологии.
Фиг.4 является блок-схемой последовательности операций примера выборочного использования множества различающихся ячеек твердотельного запоминающего устройства в соответствии с одним вариантом осуществления настоящей технологии.
Чертежи, на которые ссылаются в этом описании, не должны пониматься как начерченные по масштабу, если это конкретно не упомянуто.
Подробное описание
Теперь будет сделана ссылка в деталях на варианты осуществления настоящей технологии выборочного использования множества различающихся ячеек твердотельного запоминающего устройства, примеры которых иллюстрированы на сопровождающих чертежах. Тогда как технология выборочного использования множества различающихся ячеек твердотельного запоминающего устройства будет описана совместно с различными вариантами осуществления, будет понятно, что они не предназначены, чтобы ограничивать настоящую технологию выборочного использования множества различающихся ячеек твердотельного запоминающего устройства этими вариантами осуществления. Наоборот, настоящая технология выборочного использования множества ячеек твердотельного запоминающего устройства предназначена, чтобы охватывать альтернативы, модификации и эквиваленты, которые могут быть включены в дух и рамки различных вариантов осуществления, которые определены приложенной формулой изобретения.
Кроме того, в последующем подробном описании многочисленные конкретные детали изложены для того, чтобы предоставлять полное понимание настоящей технологии выборочного использования множества различающихся ячеек твердотельного запоминающего устройства. Однако настоящая технология выборочного использования различающихся ячеек твердотельного запоминающего устройства может быть применена на практике без этих конкретных деталей. В других случаях хорошо известные способы, процедуры, компоненты и схемы не были описаны в деталях, чтобы чрезмерно не запутывать аспекты настоящих вариантов осуществления.
Пока прямо не установлено иное, как очевидно из последующих обсуждений, понятно, что повсюду в настоящем подробном описании обсуждения, использующие термины, такие как "прием", "определение", "назначение", "эмулирование", "поддержка", "категоризация", "доступ", "перемещение", "использование", "маршрутизация", "перегруппировка" или т.п., ссылаются на действия и процессы компьютерной системы или похожего электронного вычислительного устройства. Компьютерная система или подобное электронное вычислительное устройство манипулирует и преобразует данные, представленные как физические (электронные) величины в регистрах и запоминающих устройствах компьютерной системы, в другие данные, представленные похожим образом как физические величины в запоминающих устройствах или регистрах компьютерной системы или других устройствах хранения, передачи или отображения такой информации. Настоящая технология выборочного использования множества различающихся ячеек твердотельного запоминающего устройства также хорошо подходит для использования в других компьютерных системах, таких как, например, оптические и механические компьютеры.
Примерное окружение компьютерной системы
Обращаясь теперь к фиг.1, части технологии выборочного использования множества ячеек твердотельного запоминающего устройства состоят из машиночитаемых и машиноисполняемых инструкций, которые находятся, например, на машиноиспользуемых носителях компьютерной системы. Т.е. фиг.1 иллюстрирует один пример типа компьютера, который может быть использован, чтобы реализовать варианты осуществления, которые обсуждаются ниже, настоящей технологии выборочного использования множества ячеек твердотельного запоминающего устройства.
Фиг.1 иллюстрирует примерную компьютерную систему 100, используемую в соответствии с вариантами осуществления настоящей технологии для выборочного использования множества различающихся ячеек твердотельного запоминающего устройства. Понятно, что система 100 на фиг.1 является только примером, и что настоящая технология выборочного использования множества различающихся ячеек твердотельного запоминающего устройства может работать на или в ряде других компьютерных систем, включающих в себя объединенные в сеть компьютерные системы общего назначения, встроенные компьютерные системы, маршрутизаторы, коммутаторы, серверные устройства, бытовые устройства, различные промежуточные устройства/изделия, автономные компьютерные системы и т.п. Как показано на фиг.1, компьютерная система 100 на фиг.1 хорошо приспособлена, чтобы иметь периферийные компьютерные читаемые носители 102, такие как, например, гибкий диск, компакт-диск и т.п., связанные с ней.
Система 100 на фиг.1 включает в себя адресную шину/шину 104 данных для передачи информации и процессор 106A, соединенный с шиной 104 для обработки информации и инструкций. Как изображено на фиг.1, система 100 также хорошо подходит для многопроцессорного окружения, в котором присутствует множество процессоров 106A, 106B и 106C. И наоборот, система 100 также хорошо подходит, чтобы иметь один процессор, такой как, например, процессор 106A. Процессоры 106A, 106B и 106C могут быть любыми различными типами микропроцессоров. Система 100 также включает в себя признаки хранилища данных, такие как используемая компьютером энергозависимая память 108, например, оперативное запоминающее устройство (RAM), соединенное с шиной 104 для хранения информации и инструкций для процессоров 106A, 106B и 106C.
Система 100 также включает в себя используемую компьютером энергонезависимую память 110, например, постоянное запоминающее устройство (ROM), соединенное с шиной 104 для хранения статической информации и инструкций для процессоров 106A, 106B и 106C. Также в системе 100 представлено устройство 112 хранения данных (например, магнитный или оптический диск и накопитель на диске), соединенное с шиной 104 для хранения информации и инструкций. Система 100 также включает в себя необязательное устройство 114 буквенно-цифрового ввода, включающее в себя буквенно-цифровые и функциональные клавиши, соединенное с шиной 104 для передачи информации и выборок команд процессору 106A или процессорам 106A, 106B и 106C. Система 100 также включает в себя необязательное устройство 116 управления курсором, соединенное с шиной 104 для передачи пользовательской входной информации и выборок команд процессору 106A или процессорам 106A, 106B и 106C. Система 100 настоящего варианта осуществления также включает в себя необязательное устройство 118 отображения, соединенное с шиной 104 для отображения информации.
По-прежнему обращаясь к фиг.1, необязательное устройство 118 отображения на фиг.1 может быть жидкокристаллическим устройством, электронно-лучевой трубкой, устройством с плазменным дисплеем или другим устройством отображения, подходящим для создания графических изображений и буквенно-цифровых символов, опознаваемых пользователем. Необязательное устройство 116 управления курсором позволяет пользователю компьютера динамически сигнализировать о перемещении видимого символа (курсора) на экране дисплея устройства 118 отображения. В области техники известно множество реализаций устройства 116 управления курсором, включающие в себя трекбол, мышь, сенсорную панель, джойстик или специальные клавиши на устройстве 114 буквенно-цифрового ввода, способные передавать сигнал движения данного направления или способа перемещения. Альтернативно, следует понимать, что курсор может направляться и/или активироваться через ввод с устройства 114 буквенно-цифрового ввода с помощью специальных клавиш и команд последовательности клавиш.
Система 100 также хорошо подходит, чтобы иметь курсор, управляемый другим средством, таким как, например, голосовые команды. Система 100 также включает в себя устройство 120 ввода/вывода (I/O) для связывания системы 100 с внешними объектами. Например, в одном варианте осуществления I/O-устройство 120 является модемом, чтобы предоставлять возможность проводных или беспроводных связей между системой 100 и внешней сетью, такой как, но не только, Интернет. Более подробное обсуждение настоящей технологии выборочного использования множества различающихся ячеек твердотельного запоминающего устройства находится ниже.
Все еще обращаясь к фиг.1, различные другие компоненты изображены для системы 100. Конкретно, когда присутствуют, операционная система 122, приложения 124, модули 126 и данные 128 показаны как типично находящиеся в одной или в некоторой комбинации используемой компьютером энергозависимой памяти 108, например, оперативного запоминающего устройства (RAM) и устройства 112 хранения данных. Однако, понятно, что в некоторых вариантах осуществления операционная система 122 может храниться в других местоположениях, например, в сети или на флэш-накопителе; и, что дополнительно, доступ к операционной системе 122 может осуществляться из удаленного местоположения, например, через соединение с Интернетом. В одном варианте осуществления настоящая технология выборочного использования множества различающихся ячеек твердотельного запоминающего устройства, например, сохранена как приложение 124 или модуль 126 в ячейках памяти в RAM 108 и областях памяти в устройстве 112 хранения данных.
Система 100 также включает в себя модуль 130 распределения твердотельной памяти, связанный с операционной системой 122. В одном варианте осуществления модуль 130 распределения твердотельной памяти может быть интегрирован в операционную систему 122, в то время как в другом варианте осуществления модуль 130 распределения твердотельной памяти может быть соединен с возможностью связи с и внешне по отношению к операционной системе. В еще одном варианте осуществления модуль 130 распределения твердотельной памяти является устройством флэш-памяти.
Вычислительная система 100 является только одним примером подходящего вычислительного окружения и не имеет намерением накладывать какое-либо ограничение в отношении объема использования или функциональности настоящей технологии. Вычислительное окружение 100 не должно быть интерпретировано в качестве имеющего какую бы то ни было зависимость или требование, относящееся к любому одному или сочетанию компонентов, проиллюстрированных в примерной вычислительной системе 100.
Настоящая технология может также быть описана в общем контексте машиноисполняемых инструкций, таких как программные модули, исполняемые компьютером. Программные модули, в общем, включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют отдельные задачи или реализуют отдельные абстрактные типы данных. Настоящая технология может быть также реализована на практике в распределенных вычислительных окружениях, в которых задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенном вычислительном окружении программные модули могут быть расположены и в локальных, и на удаленных носителях компьютерного хранения, включающих в себя запоминающие устройства хранения.
Обзор
В качестве обзора, в одном варианте осуществления настоящая технология предоставляет способ выборочного использования множества различающихся ячеек твердотельного запоминающего устройства, так что модуль распределения твердотельной памяти реализует низкое соотношение цена/емкость. Например, операционная система должна отправить приемнику типа класса модуля распределения твердотельной памяти тип класса, который описывает, какой вид данных каждая отличающаяся ячейка твердотельного запоминающего устройства предпочтительно сохраняет. Операционная система также должна отправить определителю характеристик принятых данных модуля распределения твердотельной памяти данные, ассоциированные с операциями ввода/вывода.
Определитель характеристик принятых данных затем определяет, какая ячейка твердотельного запоминающего устройства каким принятым данным принадлежит. Определитель характеристик принятых данных затем сообщает это определение распределителю различающихся ячеек твердотельного запоминающего устройства модуля распределения твердотельной памяти. Распределитель различающихся ячеек твердотельной памяти затем распределяет принятые данные по различающимся ячейкам твердотельного запоминающего устройства согласно инструкциям определителя характеристик принятых данных.
В то время как операционная система соединена с возможностью связи с модулем распределения твердотельной памяти в одном варианте осуществления, другой вариант осуществления позволяет модулю распределения твердотельной памяти быть полностью интегрированным в операционную систему. Кроме того, в другом варианте осуществления модуль распределения твердотельной памяти соединен с возможностью связи с различающимися ячейками твердотельного запоминающего устройства, в то же время также являясь интегрированным в одно устройство, такое как съемная смарт-карта. В другом варианте осуществления модуль распределения твердотельной памяти является внешним и соединен с возможностью связи с различающимися ячейками твердотельного запоминающего устройства. Дополнительно, в отсутствие модуля распределения твердотельной памяти, который имеет встроенный распределитель различающихся ячеек твердотельного запоминающего устройства, в одном варианте осуществления операционная система может выполнять похожие функции.
В одном варианте осуществления ячейки твердотельного запоминающего устройства эмулируют накопитель на жестком диске. В другом варианте осуществления ячейки твердотельного запоминающего устройства содержат, по меньшей мере, одну ячейку хранения флэш-памяти.
Одним словом, варианты осуществления настоящей технологии предоставляют машинореализованный способ выборочного использования множества различающихся ячеек твердотельного запоминающего устройства, содержащий этапы, на которых: приемник типа класса принимает типы классов для каждой из множества различающихся ячеек твердотельного запоминающего устройства, определитель характеристик принятых данных определяет характеристики принятых данных, и распределитель различающихся ячеек твердотельного запоминающего устройства распределяет принятые данные в одну из множества различающихся ячеек твердотельного запоминающего устройства на основе характеристик принятых данных.
Используя множество различающихся ячеек твердотельного запоминающего устройства, соединенных с модулем распределения твердотельной памяти, настоящая технология реализует низкое соотношение цены/емкость данных.
Архитектура
Обращаясь теперь к фиг.2A, блок-схема примерного модуля распределения твердотельной памяти для распределения памяти, ассоциированной с операционной системой, показана в соответствии с одним вариантом осуществления настоящей технологии. В целом, модуль распределения твердотельной памяти для распределения памяти, ассоциированной с операционной системой 200, включает в себя приемник 210 типа класса, определитель 220 характеристик принятых данных и распределитель 230 различающихся ячеек твердотельного запоминающего устройства, все они соединены с возможностью связи с ячейкой A 240 твердотельного запоминающего устройства, ячейкой B 245 твердотельного запоминающего устройства, ячейкой C 250 твердотельного запоминающего устройства и ячейкой n… 255 твердотельного запоминающего устройства.
Дополнительно, линия 205 представляет маршрут, которым данные отправляются из операционной системы 200 приемнику 210 типа класса. Линия 225 представляет маршрут информации, описывающей характеристики данных, отправляемых из операционной системы 200 определителю 220 характеристик принятых данных. Линия 235 представляет маршрут данных, отправляемых от распределителя 230 ячеек твердотельного запоминающего устройства различающимся ячейкам A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Кроме того, маршруты 205, 225 и 235 могут соединять разные компоненты многими способами, включающими в себя проводные или беспроводные.
В одном варианте осуществления приемник 210 типа класса выполнен с возможностью принимать типы классов для множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства по маршруту 205. Приемник 210 типа класса принимает данные о типе класса, которые описывают, какой вид данных хранит каждая ячейка A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Ячейка n… 255 твердотельного запоминающего устройства, представляет предварительно определенное число различающихся ячеек твердотельного запоминающего устройства кроме ячеек A 240, B 245 и C 250 твердотельного запоминающего устройства.
Например, ячейка 240 твердотельного запоминающего устройства хранит данные, которые записываются один раз и редко считываются, ячейка B 245 твердотельного запоминающего устройства хранит данные, которые записываются редко, а считываются часто, а ячейка C 250 твердотельного запоминающего устройства хранит данные, которые записываются часто и считываются часто. Дополнительно, ячейка n… 255 твердотельного запоминающего устройства представляет еще два твердотельных запоминающих устройства, D и E. Твердотельное запоминающее устройство D хранит данные, которые записываются редко и считываются редко, а твердотельное запоминающее устройство E хранит данные, которые записываются довольно часто и считываются довольно часто. Тип данных, которые хранят ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства, выражается как тип класса.
В другом примере приемник 210 типа класса выполнен с возможностью принимать тип класса только для двух различающихся ячеек A 240 и B 245 твердотельного запоминающего устройства. Ячейка A 240 твердотельного запоминающего устройства хранит данные, которые записываются один раз и считываются редко, а ячейка B 245 твердотельного запоминающего устройства хранит данные, которые записываются редко и считываются редко. Тип данных, которые хранят ячейки A 240 и B 245 твердотельного запоминающего устройства, выражается как тип класса.
Еще в одном примере приемник 210 типа класса выполнен с возможностью принимать тип класса только для трех различающихся ячеек A 240, B 245 и C 250 твердотельного запоминающего устройства. Ячейка A 240 твердотельного запоминающего устройства хранит данные, которые записываются один раз и редко считываются, ячейка B 245 твердотельного запоминающего устройства хранит данные, которые записываются редко, а считываются часто, а ячейка C 250 твердотельного запоминающего устройства хранит данные, которые записываются часто и считываются часто. Тип данных, которые хранят ячейки A 240, B 245 и C 250 твердотельного запоминающего устройства, выражается как тип класса.
В одном варианте осуществления определитель 220 характеристик принятых данных выполнен с возможностью определять характеристики данных, принятых от операционной системы 200. Данные, принятые определителем 220 характеристик принятых данных из операционной системы 200, ассоциативно связываются с типами операций ввода/вывода. Например, данные могут быть категоризированы в следующие классы на основе типа операции ввода/вывода: (1) запись один раз и считывание только после записи; (2) запись редко и считывание часто; и (3) запись часто и считывание часто.
Примеры данных, которые записываются один раз и считываются только после записи, включают в себя файлы операционной системы и двоичные файлы приложений. Примеры данных, которые записываются редко и считываются часто, включают в себя пользовательские данные, настройки, текстовые файлы, электронные таблицы данных и адресные книги. Примеры данных, которые записываются часто и считываются часто, включают в себя файлы виртуальной памяти операционной системы, файлы операционной системы, реестр, журналы и кэши.
Определитель 220 характеристик принятых данных может принимать изменяющиеся типы комбинаций данных, ассоциированных с операциями ввода/вывода, по маршруту 225. Например, в одном варианте осуществления определитель 220 характеристик принятых данных принимает данные, ассоциированные с операциями ввода/вывода, которые требуют записи один раз и считывание только после записи и записи часто и считывания часто. В другом варианте осуществления определитель 220 характеристик принятых данных принимает данные, ассоциированные с операциями ввода/вывода, которые требуют записи редко, а считывания часто, и записи часто и считывания часто.
Например, после приема типов классов, по меньшей мере, для двух последовательных ячеек A 240, B245, C 250 и n… 255 твердотельного запоминающего устройства и данных, ассоциированных с операциями ввода/вывода, от операционной системы 200 определитель 220 характеристик принятых данных затем определяет, в какую ячейку A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства поместить принятые данные, ассоциированные с операциями ввода/вывода. Это определение основано на принятых данных из операционной системы 200, находящихся в соответствии с типом класса каждой ячейки твердотельного запоминающего устройства. Определитель 220 характеристик принятых данных затем передает это решение распределителю 230 различающихся ячеек твердотельного запоминающего устройства.
В одном варианте осуществления распределитель 230 различающихся ячеек твердотельного запоминающего устройства выполнен с возможностью распределять данные, принятые из операционной системы 200, в одну из множества различающихся ячеек твердотельного запоминающего устройства на основе характеристик принятых данных. Распределитель 230 различающихся ячеек твердотельной памяти отправляет принятые данные по маршруту 225, по меньшей мере, двум следующим ячейкам A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства.
В настоящей технологии возможно наличие приемника 210 типа класса, определителя 220 характеристик принятых данных и распределителя 230 различающихся ячеек твердотельного запоминающего устройства, объединенных в модуль, но соединенных с возможностью связи с отдельным модулем, содержащим ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Дополнительно, другой пример настоящей технологии может иметь приемник 210 типа класса, определитель 220 характеристик принятых данных и распределитель 230 различающихся ячеек твердотельного запоминающего устройства, соединенные с возможностью связи друг с другом, но находящиеся в отдельных модулях, в то же время все еще оставаясь соединенными с возможностью связи с ячейками A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства.
В одном варианте осуществления распределитель 230 различающихся ячеек твердотельного запоминающего устройства распределяет принятые данные в модуль флэш-памяти в дополнение к другим ячейкам A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Еще в одном варианте осуществления распределитель 230 различающихся ячеек твердотельного запоминающего устройства распределяет принятые данные в модуль флэш-памяти, который является эмулятором накопителя на жестком диске.
В примере настоящей технологии модуль 215 распределения твердотельной памяти соединен с возможностью связи с ячейкой A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства таким способом, чтобы объединиться в единую ячейку 260 памяти. Это единая ячейка памяти может быть съемной картой. Компьютерная микросхема интегрирована в съемную карту. Эта компьютерная микросхема содержит комбинацию модуля 215 распределения твердотельной памяти и распределитель 230 различающихся ячеек твердотельного запоминающего устройства. Вставка этой съемной карты позволяет пользователю вставить модуль 215 распределения твердотельной памяти, соединенный с возможностью связи с ячейками A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства, в компьютерное устройство. После того как съемная карта вставлена, модуль 215 распределения твердотельной памяти становится соединенным с возможностью связи с операционной системой 200 компьютерного устройства.
Обращаясь теперь к фиг.2B, блок-схема примерного модуля распределения твердотельной памяти для распределения памяти, ассоциированной с операционной системой 200, показана в соответствии с одним вариантом осуществления настоящей технологии. В целом, модуль распределения твердотельной памяти для распределения памяти, ассоциированной с операционной системой 200, включает в себя приемник 210 типа класса, определитель 220 характеристик принятых данных, распределитель 230 различающихся ячеек твердотельного запоминающего устройства, ячейку A 240 твердотельного запоминающего устройства, ячейку B 245 твердотельного запоминающего устройства, ячейку C 250 твердотельного запоминающего устройства и ячейку n… 255 твердотельного запоминающего устройства.
Дополнительно, линия 235 представляет маршрут данных, передаваемых от распределителя 230 ячеек твердотельного запоминающего устройства в различающиеся ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Кроме того, маршрут 235 может соединять распределитель 230 различающихся ячеек твердотельного запоминающего устройства с ячейками A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства множеством способов, включающих в себя проводные или беспроводные.
В одном варианте осуществления модуль 215 распределения твердотельной памяти интегрирован в операционную систему 200, но является внешним и соединенным с возможностью связи с ячейками A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Дополнительно, распределитель 230 различающихся ячеек твердотельного запоминающего устройства может быть осуществлен и встроен в модуль 220 распределения твердотельной памяти или осуществлен в программном обеспечении как часть операционной системы 200. Дополнительно, ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства внешне соединены с операционной системой 200.
Функционирование
Обращаясь теперь к фиг.3, блок-схема 300 последовательности операций машинореализованного примерного способа выборочного использования множества различающихся ячеек твердотельного запоминающего устройства показана в соответствии с одним вариантом осуществления настоящей технологии.
Обращаясь теперь к блоку 305 на фиг.3 и к фиг.2A, один вариант осуществления принимает тип класса для каждой из множества различающихся ячеек твердотельной памяти. Как описано в данном документе, в другом варианте осуществления настоящей технологии тип класса, который отправлен по маршруту 205, принимается приемником 210 типа класса. В целом, тип класса описывает, какой вид данных хранит каждая ячейка A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Ячейка n… 255 твердотельного запоминающего устройства представляет предварительно определенное число различающихся ячеек твердотельного запоминающего устройства, кроме ячеек A 240, B 245 и C 250 твердотельного запоминающего устройства.
Один вариант осуществления настоящей технологии принимает 305 типы класса для множества различающихся ячеек твердотельного запоминающего устройства, используя операционную систему 200, чтобы определять типы классов. Операционная система 200 может быть соединена с возможностью связи с и быть внешней по отношению к модулю 215 распределения твердотельной памяти, или модуль 215 распределения твердотельной памяти может быть интегрирован в операционную систему 200. Приемник 210 типа класса затем сообщает тип класса каждой из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства определителю 220 характеристик принятых данных.
Обращаясь теперь к блоку 310 на фиг.3 и к фиг.2A, один вариант осуществления определяет 310 характеристики принятых данных. Как описано в данном документе, в другом варианте осуществления настоящей технологии определение 310 характеристик принятых данных включает в себя категоризацию принятых данных, ассоциированных с операциями ввода/вывода, по меньшей мере, в один класс, соответствующий типу класса для каждой из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Эти принятые данные, ассоциированные с операциями ввода/вывода, были отправлены из операционной системы 200 по маршруту 225 определителю 220 характеристик принятых данных. Дополнительно, после того, как определитель 220 характеристик принятых данных определяет распределение принятых данных в ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства, определитель 220 характеристик принятых данных сообщает это определение распределителю 230 различающихся ячеек твердотельного запоминающего устройства.
В другом варианте осуществления настоящей технологии определение 310 характеристик принятых данных включает в себя использование характеристики важности данных. Характеристика важности данных включает в себя аспекты данных, ассоциированных с операциями ввода/вывода, которые служат, чтобы описать, какой тип памяти требуется, чтобы хранить эти данные. Например, операционная система 200 отправит по маршруту 225 данные, ассоциированные с операциями ввода/вывода, определителю 220 характеристик принятых данных. Определитель 220 характеристик принятых данных затем поделит данные на группы согласно следующим характеристикам: (1) данные, которые записываются один раз и считываются только после записи; (2) данные, которые записываются редко, а считываются часто; и (3) данные, которые записываются часто и считываются часто. Определитель 220 характеристик принятых данных затем определит, в какие ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства каждые из сгруппированных принятых данных будут отправлены, на основе типов классов ячеек твердотельного запоминающего устройства, принятых от приемника 210 типа класса.
Например, операционная система 200 отправляет приемнику 210 типа класса информацию о том, что ячейка A 240 твердотельного запоминающего устройства является местом хранения данных, которые записываются редко, а считываются часто. Операционная система 200 отправляет определителю 220 характеристик принятых данных через маршрут 225 данные, ассоциированные с операциями ввода/вывода, которые предназначены для хранения в одной из ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Определитель 220 характеристик принятых данных определяет тип данных, ассоциированных с операциями ввода/вывода. Определитель 220 характеристик принятых данных далее определяет, что определенный процент принятых данных является данными, которые записываются редко, а считываются часто. Определитель 220 характеристик данных затем определяет, что эти записываемые редко и считываемые часто принятые данные должны быть распределены в ячейку A 240 твердотельного запоминающего устройства, так как эта ячейка памяти сконфигурирована, чтобы хранить данные, которые записываются редко, а считываются часто.
Обращаясь теперь к блоку 315 на фиг.3 и к фиг.2A, один вариант осуществления распределяет принятые данные в одну из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства на основе характеристик, определенных определителем 220 характеристик принятых данных. Принятые данные отправляются, по меньшей мере, двум из различающихся ячеек A 240, B 245, C 250 и n…255 твердотельного запоминающего устройства.
Распределение 315 принятых данных в одну из множества различающихся ячеек твердотельного запоминающего устройства на основе характеристик принятых данных включает в себя перемещение файла из одной из множества различающихся ячеек A 240, B 245, C 250 и n…255 твердотельного запоминающего устройства в другую из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства после того, как определитель 220 характеристик принятых данных получил доступ к атрибутам файла, при этом файл сохраняется в одной из множества различающихся ячеек твердотельного запоминающего устройства на основе упомянутых атрибутов файла. Атрибуты файла включают в себя данные,  например, как часто к файлу осуществлялся доступ во время использования компьютера, насколько важен файл для операций текущего дня, размер файла, также как и данные, ассоциированные с операциями ввода/вывода.
В целом, определитель 220 характеристик принятых данных имеет возможность наблюдения за атрибутами данных, сохраненных во множестве различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Если и когда определитель 220 характеристик принятых данных обращается к файлу, сохраненному в одной из ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства и определяет, что атрибуты файла представляют, что файл должен быть перемещен в другую ячейку из ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства, тогда определитель 220 характеристик принятых данных сообщает это решение распределителю 230 различающихся ячеек твердотельного запоминающего устройства.
Кроме того, после того, как распределитель 230 различающихся ячеек твердотельного запоминающего устройства принимает сообщение от определителя 220 характеристик принятых данных о том, что файл необходимо переместить в другую ячейку из ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства, распределитель 230 различающихся ячеек твердотельного запоминающего устройства затем следует этим инструкциям. Распределитель 230 различающихся ячеек твердотельного запоминающего устройства обращается в ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства и повторно размещает файлы согласно инструкциям определителя 220 характеристик принятых данных.
Например, предположим, что файл данных не считывался в течение периода, равного шести месяцам. Определитель 220 характеристик принятых данных также распознает, что этот файл данных не считывался в течение периода, равного шести месяцам. Также оказывается, что файл должен в настоящее время находиться в ячейке твердотельного запоминающего устройства, которая размещает данные, которые записываются редко, а считываются часто. Так как этот файл данных больше не считывается часто в течение определенного периода времени, определитель 220 характеристик принятых данных инструктирует распределителю 230 различающихся ячеек твердотельного запоминающего устройства повторно разместить файл данных, помещая файл данных в ячейку n… 255 твердотельного запоминающего устройства, которая размещает данные, которые записываются редко и считываются редко.
Кроме того, в отсутствие модуля 215 распределения твердотельной памяти, который имеет встроенный определитель, в одном варианте осуществления операционная система 200 может выполнять похожие функции в качестве модуля 215 распределения твердотельной памяти. Например, предположим, что операционная система 200 имеет более чем две присоединенных энергонезависимых ячейки n… 255 твердотельного запоминающего устройства. Операционная система 200 может тогда принять решение, в какой ячейке n… 255 твердотельного запоминающего устройства хранить блоки данных, тем же образом, каким аппаратный распределитель 230 различающихся ячеек твердотельного запоминающего устройства принимает решения.
Обращаясь опять к фиг.3 и к фиг.2A, показан другой вариант осуществления машинореализованного способа выборочного использования множества различающихся ячеек 300 твердотельного запоминающего устройства, множество различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства эмулируют накопитель на жестком диске. В одном варианте осуществления множество различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства эмулируют и, по существу, заменяют накопитель на жестком диске. В другом варианте осуществления множество различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства эмулируют раздел накопителя на жестком диске.
В другом примере настоящей технологии множество различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства поддерживают операционную систему 200. Модуль 215 распределения твердотельной памяти соединен с возможностью связи с операционной системой 200. В другом варианте осуществления модуль 215 распределения твердотельной памяти интегрирован в операционную систему 200. Модуль 215 распределения твердотельной памяти также соединен с возможностью связи с ячейками A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Ячейки A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства действуют как пространства памяти для операционной системы 200.
В другом примере множество различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства, поддерживающих операционную систему 200, содержат, по меньшей мере, одну ячейку хранения флэш-памяти. Например, из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства ячейка A 240 твердотельного запоминающего устройства является ячейкой хранения флэш-памяти, тогда как ячейки B 245, C 250 и n… 255 твердотельного запоминающего устройства являются некоторыми другими типами ячейки твердотельной памяти.
В другом примерном способе все из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельной памяти являются ячейками хранения флэш-памяти. Кроме того, в другом примере, из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства ячейки A 240 и B 245 твердотельного запоминающего устройства являются ячейками хранения флэш-памяти, тогда как ячейки C 250 и n… 255 твердотельного запоминающего устройства являются некоторыми другими типами ячейки твердотельной памяти.
Обращаясь теперь к фиг.4, блок-схема 400 последовательности инструкций на машиноиспользуемом носителе, при этом инструкции, когда выполняются, заставляют компьютерную систему выполнять способ выборочного использования множества различающихся ячеек твердотельного запоминающего устройства, показана в соответствии с одним вариантом осуществления настоящей технологии.
Обращаясь теперь к блоку 405 на фиг.4 и к фиг.2A, один вариант осуществления принимает 405 типы классов для множества различающихся ячеек твердотельной памяти. Прием 405 типов классов для множества различающихся ячеек твердотельного запоминающего устройства похож на прием 305 типов классов для множества различающихся ячеек твердотельного запоминающего устройства. Так как объяснения в данном документе приема 305 типов классов для множества различающихся ячеек твердотельного запоминающего устройства применимы к приему 405 типов классов для множества различающихся ячеек твердотельного запоминающего устройства, в целях ясности и краткости эти объяснения не будут повторяться.
Обращаясь теперь к блоку 410 на фиг.4 и к фиг.2A, один вариант осуществления использует 410 типы классов множества различающихся ячеек твердотельного запоминающего устройства и принятые характеристики операции ввода/вывода, чтобы выбрать ячейку памяти. Использование 410 типов классов множества различающихся ячеек твердотельного запоминающего устройства и принятых характеристик операции ввода/вывода, чтобы выбрать ячейку памяти, похоже на определение 310 характеристик принятых данных. Так как объяснения в данном документе определения 310 характеристик принятых данных применимы к использованию 410 типов классов множества различающихся ячеек твердотельного запоминающего устройства и принятых характеристик операции ввода/вывода, чтобы выбрать ячейку памяти, в целях ясности и краткости эти объяснения не будут повторяться.
Дополнительно, обращаясь к блоку 410 на фиг.4 и к фиг.2A, в одном варианте осуществления использование 410 типов классов множества различающихся ячеек твердотельного запоминающего устройства и принятых характеристик операции ввода/вывода, чтобы выбрать ячейку памяти, дополнительно содержит использование характеристики частоты доступа. Эта характеристика частоты доступа ссылается на данные, описывающие, как часто одна из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства записывается и/или считывается.
В качестве примера, предположим, что отличающаяся ячейка A 240 твердотельного запоминающего устройства содержит пространство памяти, предназначенное для файлов, которые должны записываться редко, а считываться часто. Также предположим, что файл, который сохранен в отличающейся ячейке A 240 твердотельного запоминающего устройства, был считан только один раз за последний год. Определитель 220 характеристик принятых данных может решить, в зависимости от предварительно определенных инструкций, переместить этот файл в отличающуюся ячейку B 245 твердотельного запоминающего устройства, так как отличающаяся ячейка B 245 твердотельного запоминающего устройства содержит пространство памяти, предназначенное для файлов, которые должны записываться редко и считываться редко.
Обращаясь теперь к блоку 415 на фиг.4 и к фиг.2A, один вариант осуществления маршрутизирует 415 данные, ассоциированные с операцией ввода/вывода, в выбранную ячейку памяти. В другом варианте осуществления маршрутизация 415 данных, ассоциированных с операцией ввода/вывода, в выбранную ячейку дополнительно содержит использование единого пространства имен адресного запоминающего устройства, которое представляет совокупность множества различающихся ячеек n… 255 твердотельного запоминающего устройства. Например, распределитель 230 различающихся ячеек твердотельного запоминающего устройства представляет только одно пространство имен запоминающего устройства для множества ячеек n… 255 твердотельного запоминающего устройства. В результате, приложения типа резервного копирования или операционной системы 200 могут видеть только единое пространство имен адресного запоминающего устройства, представляющее все ячейки n… 255 твердотельного запоминающего устройства вместо каждой отдельной ячейки A240, B245, C250 и/или n… 255 твердотельного запоминающего устройства.
Маршрутизация 415 данных, ассоциированных с операцией ввода/вывода, в выбранную ячейку памяти похожа на распределение 315 принятых данных в одну из множества различающихся ячеек твердотельного запоминающего устройства на основе характеристик принятых данных. Так как объяснения в данном документе распределения 315 принятых данных в одну из множества различающихся ячеек твердотельного запоминающего устройства принятых данных применимы к маршрутизации 415 данных, ассоциированных с операцией ввода/вывода, в выбранную ячейку памяти, в целях ясности и краткости эти объяснения не будут повторяться.
Таким образом, настоящая технология предоставляет машинореализованный способ выборочного использования множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства. Более того, разрешение настоящей технологией множества различающихся ячеек твердотельного запоминающего устройства, подходящих для разных данных, ассоциированных с операциями ввода/вывода, позволяет уменьшить соотношение цена/емкость сохраненных данных в пространстве памяти. Дополнительно, настоящая технология позволяет множество различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства или некоторую их комбинацию, чтобы эмулировать накопитель на жестком диске. Кроме того, настоящая технология позволяет использование пространства хранения флэш-памяти, которое должно использоваться, как любое число из множества различающихся ячеек A 240, B 245, C 250 и n… 255 твердотельного запоминающего устройства.
Хотя предмет изобретения описан на языке, характерном для структурных признаков и/или методологических действий, следует понимать, что предмет изобретения, заданный в прилагаемой формуле изобретения, не обязательно ограничен характерными признаками или действиями, описанными выше. Скорее, характерные признаки и действия, описанные выше, раскрываются как примерные формы реализации формулы изобретения.