Прошли времена, когда герои кибертриллеров охотились за пачкой трехдюймовых дискет, а герой культового рассказа Уильяма Гибсона «Джонни-мнемоник» перевозил в собственной голове «бездонные» 80 (в пределе – 160) гигабайт информации. Пройдет пара десятков лет, и сегодняшние терабайты тоже вызовут ностальгическую улыбку: «И как же мы обходились такими крохами? Да еще и на винчестерах?»
Да-да, именно жесткие диски, эти творения инженерного гения, стали «бутылочным горлышком», существенно ограничивающим производительность компьютеров. Взять хотя бы загрузку операционной системы. Только в кино от нажатия кнопки питания до появления рабочего стола проходит несколько секунд. А в жизни – все иначе.
Электронно-механические устройства хранения информации близки к своим физическим пределам. Можно, конечно, раскручивать диски до 50 тысяч оборотов, на место 10 дорожек втиснуть 11–12, увеличить количество головок записи-считывания и заставить их работать по замысловатым алгоритмам, но все это – лишь попытки вновь разжечь уже прогоревшие дрова. Сам принцип работы жесткого диска не способен дать многократный прирост производительности, столь необходимый в нашей суматошной компьютеризированной жизни.
Между тем, в принципе работы современных «винтов» уже давным-давно посеяны зерна будущего. Речь идет о кэше (англ. caсhe – тайник, запас) – буфере, в который заранее считываются самые востребованные данные. Физически кэш совсем не относится к жесткому диску, это отдельная микросхема (SSD – solid-stade drive, твердотельный накопитель) быстрой памяти. И хотя объем кэш-памяти достигает 32 Мб (в массовых и дешевых моделях – поменьше, хватает и 16 Мб), очень многое зависит от характера данных и от параметров работы компьютера.
Если запущено немного задач, то кэш покажет себя во всей красе и мощи. Но в случае интенсивной и насыщенной многозадачности (читай – Windows с кучей запущенных программ) влияние кэша менее заметно. Разгадка проста: предсказать, какие файлы потребуются в следующем рабочем цикле, в таких условиях невозможно. В итоге в кэше, быстродействие которого на несколько порядков превосходит скорость любого винчестера, сплошь и рядом оказываются совсем не те данные, которые нужны! Что же делать?
Компромиссное решение – виртуальный RAM-диск (от англ. random access memory – оперативная память), то есть «винчестер», организованный в оперативной памяти (сюда же можно отнести и кэши, организуемые операционной системой). Однако здесь возникает дилемма: что важнее – иметь как можно больше «оперативки», которой, как известно, много не бывает, или пожертвовать ее частью ради ускорения операций с жестким диском? К тому же, как мы отметили ранее, ускорение это бывает далеко не таким ощутимым.
Но гордиев узел можно и не развязывать! Что если отказаться от моторов, пластин, дорожек и головок? Если забыть про Seagate и Western Digital? Оказывается, в такую «забывчивость» разработчики впали давным-давно, еще в те времена, когда «персоналки» казались атрибутом далекого будущего. В 1978 году инженеры компании StorageTek в пластиковой коробке смонтировали несколько микросхем памяти и простенький контроллер, управлявший адресацией, записью и считыванием данных на манер жесткого диска. Устройство получилось фантастически дорогим, а каждый байт информации становился поистине «бриллиантовым».
Быстрая «игрушка» не имела бы шансов на выживание, если бы через пять лет к подобному решению не пришли производители суперкомпьютеров Cray, которых вопросы себестоимости массового производства никогда не волновали. Еще бы: штучная стратегическая продукция с неограниченным финансированием, эдакий электронный аналог единственного советского космического «челнока» или фильма Джеймса Кэмерона.
Флагманская модель Cray X-MP располагала полупроводниковой матрицей-накопителем, позволявшим «прокачивать» данные с фантастической скоростью 320 Мбит/с, что и сегодня, 30 лет спустя, весьма впечатляет. Но если скорость устраивала всех, то с объемом дела обстояли куда хуже. Технологические особенности микросхем памяти не позволяли перепрыгнуть барьер в 32 миллиона 64-разрядных слов (256 Мб), а контроллеры памяти для таких уровней обмена представляли собой весьма сложные электронно-программные узлы с низким уровнем надежности.
Главный недостаток, впрочем, состоял совсем в другом: такой «накопитель», как и оперативная память, абсолютно энергозависим. Выключаете компьютер – и ваших данных нет! В этом отношении авангардный носитель вел себя хуже, чем обычная пятидюймовая дискета. Казалось бы, в чем проблема? Прикрути аккумулятор к такому «псевдодиску» – и проблема решена. Оказалось, что этого недостаточно. Понадобились и средства резервного и/или оперативного копирования данных. Угадайте, куда? На обычные винчестеры. Ясно, что все эти дополнения отнюдь не удешевляют RAM-накопители, стоимость которых доходит до нескольких тысяч долларов в пересчете на гигабайт.
Так что речь о массовом выпуске «электронных дисков», использующих обычные микросхемы RAM, не идет. Это удел решений единичных задач, требующих сверхвысокой производительности, с огромным числом обращений к данным: поисковых машин, серверов баз данных, графических станций уровня hi-end и т.п.
А что же для нас, массовых пользователей, в поте лица добывающих трудовую копейку? Оказывается, первый «убийца винчестеров» появился еще в 1995 году (бог мой, как давно все было!). В пору, когда USB-порт был еще дорогой экзотикой, а компьютеры в обязательном порядке оснащались дисководами для 3-дюймовых дискет, компания M-Systems решилась на знаковый эксперимент, сделав накопитель на flash-памяти. (Правда, емкость его по современным меркам была смехотворной – всего 128 Мб). Сектора, кластеры, цилиндры – все «железные» атрибуты настоящего винчестера – успешно эмулировались контроллером, то есть операционная система считала его настоящим диском с мотором. Но электронный «диск» M-Systems, конечно, не стал рыночным хитом. Было еще слишком рано…
Да и сегодня, по прошествии полутора десятилетий, еще не удается одолеть две принципиальные особенности флешек – сравнительно низкую скорость записи и ограниченное число рабочих циклов. И если для переносных устройств проблема решается строгим соблюдением некоторых правил (например, не следует редактировать документы прямо на флешке), то для основной памяти компьютера она фатальна. Дело в том, что на винчестере есть области, используемые операционными системами крайне интенсивно. В первую очередь это относится к так называемой таблице размещения файлов (англ. file allocation table – FAT). Так или иначе организованная, подобная таблица присутствует в составе любых «операционок».
Алюминиевая рессора – если ездить редко и аккуратно – может протянуть достаточно долго, но в обычном режиме да по нашим дорогам лопнет намного быстрее, чем традиционная стальная. Так и флешка: ячейки, которым крупно не повезет (на них придется FAT или файл обмена), «сгорят» очень быстро. Радикального средства предотвращения такой напасти нет и в принципе быть не может. В новых версиях накопителей контроллеры стали гораздо «сообразительней» и изощренней: теперь они «помнят» всю статистику перезаписи блоков и периодически меняют их местами. Но, как часто это бывает, усложнение микропрограмм ведет к большому числу сбоев и ошибок, и теперь и для контроллеров накопителей становится актуальной проблема своевременного обновления прошивки, по аналогии с материнскими платами.
А ведь как заманчиво начиналось! Никаких тебе сбойных секторов, «шараханий» магнитных головок по диску и фатальных падений на бетонный пол: внутри – микросхемы, способные выдержать космические перегрузки, кипячение, отбеливание и тушение в экзотическом остром соусе. Вместо «марафонских забегов» в поисках нужного (или нужных в современных многозадачных операционных системах) файла – простое вычисление адреса блока и – вуаля! – мгновенный к нему доступ. Скорость обращения фактически определяется только быстродействием контроллера и параметрами шин передачи данных, а не кучей сугубо механических свойств винчестера.
К тому же полупроводниковый накопитель не надо крутить. В битве за энергосбережение и длительность автономной работы многочисленных носимых гаджетов – фактор важный со всех точек зрения. В периоды «сна» или пониженной нагрузки традиционные винчестеры либо уменьшают скорость вращения, либо останавливаются вовсе, сберегая драгоценные миллиампер-часы. Но по законам природы, если где-то прибыло, значит, где-то убыло. Возобновление работы означает для диска ускоренную раскрутку с повышенным энергопотреблением, сводящим экономию на нет (плюс прелести «переходного состояния», столь вредного для любой электроники). А пользователь будет ждать, «когда же этот чертов нетбук окончательно проснется». В твердотельных дисках такого нет. Его запоминающие элементы построены из полевых транзисторов с изолированным затвором, сохраняющих (до 10 лет!) свое состояние независимо от внешнего питания. Проводя грубую, но доходчивую аналогию, можно сказать, что затвор представляет собой конденсатор. Если он заряжен, тока в цепи нет (то есть в этой ячейке записан «ноль»), и наоборот.
Но никто не обещал, что будет легко: при том, что доступ к блокам практически мгновенен, сам процесс чтения и передачи данных по современным меркам нетороплив. Массовые модели винчестеров уже перешагнули рубеж в 100 Мб/с, а самые быстрые флешки пока не достигают и трети этого значения. С записью дело обстоит еще печальней.
Отчего же так м-е-е-е-дл-е-е-енно-о-о? Почему полуторагиговый рип фильма пишется на флешку несколько минут, а на винчестер – за считанные секунды?
Дело в том, что идеальные условия обмена информацией создаются при использовании микросхем с ячейками типа SLC (аббревиатура от англ. single level cell – один транзистор хранит 1 бит информации). Но это сколько же их надо для хранения 16 Гб? Поэтому производители разработали ячейки MLC (multi level cell, двух- или трехуровневый «бутерброд», хранящий соответственно два или три бита). Не вдаваясь в головоломную физику, отметим, что за такой прирост пришлось изрядно заплатить: медленной работой и стократным снижением ресурса (вообще за выход ячеек из строя отвечает так называемая деградация переходов, то есть процесс «вымывания» примесных атомов из зон перехода под действием тока). Отсюда мораль: не стоит гнаться за максимально возможными объемами таких носителей: есть большой риск получить неповоротливые и малонадежные решения.
К тому же работа с памятью организована большими блоками в тысячи ячеек. Следовательно, если требуется изменить один-единственный бит, придется считать целый блок, изменить нужное и… перезаписать эти тысячи ячеек обратно! Теперь ясно, почему нежелательно редактировать документы прямо на флешке? И почему скорость записи даже при самых благоприятных условиях не превышает 12–15 Мб/с?
Инженеры стараются всеми путями повысить скорость обмена информацией. На уровне отдельно взятой MLC-ячейки сделать что-то революционное не удается, а вот в больших массивах за счет «распараллеливания» доступа к многочисленным микросхемам получается достичь уже и приличных скоростей, по крайней мере не так сильно уступающих «винчестерным». Сравнительно недавно многим экспертам казалось, что эта мера, пусть и компромиссная, в комплексе с интеллектуализацией контроллеров, способна сильно изменить ситуацию на рынке. Особенный оптимизм выказывали инженеры Intel, считавшие, что уже в этом году доля продаж традиционных винчестеров должна снизиться втрое, а освободившийся кусок «проглотят» SSD и так называемые гибриды – симбиоз старого доброго жесткого диска и флеш-памяти.
Пока этот прогноз далек от реальности, и предпосылок к тому, что во второй половине года (аккурат перед концом света) все бросятся менять винчестеры на дорогие и не настолько же быстрые твердотельные накопители, пока незаметно. Есть мнение, что такой прогноз появился совсем не случайно. Ходят упорные слухи, что великий и ужасный Intel хочет выйти из бизнеса флеш-памяти (делайте выводы о перспективах), продав завод по ее производству компании Seagate. А как проще поднять цену? Прежде всего, напугав потенциального покупателя! Но это только слухи…
Это новость от журнала ММ «Машины и механизмы». Не знаете такого? Приглашаем прямо сейчас познакомиться с этим удивительным журналом.