С ростом производительности процессоров им всё чаще приходится ждать поступления данных с жёстких дисков. Именно поэтому основным тормозящим фактором сегодня является система хранения. Данная проблема решается с помощью SSD. Реальные различия между твёрдотельными накопителями в настольной системе невелики. Самый заметный прирост производительности происходит при замене жёсткого диска на любой SSD.
На данный момент в SSD применяются следующие модели контроллеров:
Indilinx "Barefoot ECO" IDX110MO1;
Indilinx "Barefoot" IDX110M00;
Intel PC29AS21BA0;
JMicron JMF602;
JMicron JMF612;
Marvel 88SS9174-BJP2;
Samsung S3C29RBB01-YK40;
SandForce SF-1200;
SandForce SF-1500.
В SSD, как и в USB Flash используются три типа памяти NAND: SLC (Single Level Cell), MLC (Multi Level Cell) и TLC (Three Level Cell). Отличие только в том, что SLC позволяет хранить в каждой ячейке только один бит информации, MLC – два, а TLC – три ячейки (использование разных уровней электрического заряда на плавающем затворе транзистора), что делает память MLC и TLC более дешёвой относительно ёмкости.
Рисунок 1 – Типы памяти SSD
Однако память MLC/TLC обладает меньшим ресурсом (100 000 циклов стирания у SLC, в среднем 10 000 для MLC, а для TLC до 5 000) и худшим быстродействием. С каждым дополнительным уровнем усложняется задача распознавания уровня сигнала, увеличивается время поиска адреса ячейки, повышается вероятность ошибок. Так как SLC-чипы намного дороже и объем их ниже, то для массовых решений применяют в основном MLC/TLC-чипы. На данный момент MLC/TLC память активно развивается и по скоростным характеристикам приближается к SLC. Так же, низкую скорость MLC/TLC производители SSD накопителей компенсируют алгоритмами чередования блоков данных между микросхемами памяти (одновременная запись/чтение в две микросхемы флэш-памяти, по байту в каждую) по аналогии с RAID 0, а низкий ресурс - перемешиванием и слежением за равномерным использованием ячеек. Плюс к этому в SSD резервируется часть объёма памяти (до 20%). Это недоступная память для стандартных операций записи/чтения. Она необходима как резерв в случае износа ячеек, по аналогии с магнитными накопителями HDD, который имеет резерв для замены bad-блоков. Дополнительный резерв ячеек используется динамически, и по мере физического изнашивания основных ячеек предоставляется резервная ячейка на замену.
Проектирование базы знаний
Была использована иерархическая семантическая сеть, описывающая SSD-накопители, были выделены 4 типа понятий предметной области: сущность (описывает абстрактный объект ПО), экземпляр (конкретный представитель сущности), свойство (характеристика сущности), значение (конкретное значение свойства).
В соответствии с данной классификацией и проведением анализа предметной области, были выделены и разгруппированы следующие понятия, отобранные в первой главе:
сущности: SSD-накопители;
экземпляры SSD-накопителей: Seagate Nytro Blue 480gb, Seagate Nytro Blue 960gb, SAMSUNG MZ-76E250BW 250gb, Western и т.д;
свойства: объем накопителя, фирма-производитель, ценовой диапазон, скорость чтения, интерфейс, тип памяти;
значения: менее 140гб, 140 - 250 гб, 250 - 500 гб, 500 - 1000 гб, 1000 гб и более, Seagate, Western Digital, Samsung, Intel, Silicon Power, A-DATA, менее 4 т.р., 4 - 8 т.р., 8 - 13 т.р, 13 - 25 т.р., 25 т.р. и более, 500 - 1000 мб/c, 1000 - 1500 мб/c, 1500 - 2000 мб/c, 2000 мб/c и более, SATA, PCI-E, SATA-E, USB, TLC, MLC, 3D, V-NAND;-
На рисунке 2 представлена описанная семантическая сеть, графически были отображены только часть экземпляров, их полный перечень представлен выше.
Рисунок 2 – Семантическая сеть
Тестирование экспертной системы
Экспертная система – это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. Экспертные системы выдают советы, проводят анализ, дают консультации, ставят диагноз.
Для разработки экспертной системы был выбрал язык программирования Java, пакет GUI JavaFX, СУБД PosgreSQL.
Для функционирования программы необходим справочник с данными и каждом SSD-накопителе. Для этого в СУБД posgreSQL создана база данных IOOES_DB, в ней добавлена таблица SSD, в которую и добавляются все экземпляры.
Далее была написана программа, подбирающая SSD-накопитель по выбранным критериям.
Для начала работы с экспертной системой необходимо открыть программу. Вид основного окна представлен на рисунке 3.
Рисунок 3 – Окно выбора свойств
Затем пользователь должен выбрать значение каждого свойства, если пользователь нажмет кнопку «Подобрать» до заполнения всех полей программа выдаст соответствующее предупреждающее сообщение (рисунок 4).
Рисунок 4 – Предупреждение о незаполненных полях
После того как пользователь заполнил поля и, если в базе данных есть подходящий экземпляр точность подбора будет равна 100%, пользователь увидит сообщение, представленное на рисунке 5.
Рисунок 5 – Успешный подбор SSD-накопителя
В случае же, если подходящего по всем выбранным свойствам продукта нет, программа поочередно исключает наименее важные критерии: фирма-производитель, тип памяти, интерфейс. В данном случае (рисунок 6) пользователь выбрал свойства, соответствующие одному из накопителей в базе данных за исключением типа памяти. Программа выдаст ту же рекомендацию, но сообщит о 83.6-ти процентном совпадении и о том, какой критерий не был учтен.
Рисунок 6 – Подбор без учета наименее важного по иерархии критерия
В зависимости от количества неучтенных критериев процент точности снижается. Так в случае, если не учтены все 3 наименее важных критерия – точность будет равна 50% (рисунок 7).
Рисунок 7 – Подбор без учета трех наименее важных критериев
Таким образом, в ходе анализа предметной области выделены основные свойства и характеристики SSD-накопителей, сформирована семантическая сеть. На языке программирования написана и протестирована программа для подбора накопителя.
Использованные источники:
SSD диски принцип работы [Электронный ресурс] – URL: https://storelab-rc.ru/ssd-review.htm (дата обращения 15.12.2019);
Семантические сети и концептуальные графы [Электронный ресурс] –URL: https://sites.google.com/site/anisimovkhv/learning/ii (дата обращения 19.12.2019);
Болотова Л.С., Системы поддержки принятия решений в 2 ч. Часть 1: Учебник и практикум для академического бакалавриата/ Л.С. Болотова// Москва: Издательство Юрайт, 2018. – 257 С.;
Введение в экспертные системы. Основные понятия и определения. [Электронный ресурс] – URL: http://www.habarov.spb.ru/new_es/