информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медSpanning Tree Protocol: недокументированное применениеПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hardware
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Обратная связь 21.08.06 17:34  Число просмотров: 2574
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> полюсом ПМ, другая половина над другим. Датчиков положения
> нет, кроме как самой головкой что-нибудь с диска читануть.

Вот именно. Как минимум одна поверхность всегда служебная. Либо оптически либо все тем же намагничеванием туда нанесена информация о "разметке" диска. Сколько себя помню, количество поверхностей в винтах всегда нечетное, хотя каждый блин имеет две стороны.

ОС необходима даже не столько непосредственно из-за небольших размеров самих дорожек (в принципе рассчитать все без обратной связи можно), сколько из-за тепловых эффектов. А вот тепловое расширение учесть без ОС практически нереально. И даже если и можно, то решение все равно будет более сложным (а следовательно дорогим), чем выделение одной поверхности под служебную инфу
<hardware>
Система позиционирования головок в винчестерах. 21.08.06 16:01  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Добывал тут ка-то магнитики из старых винтов и задумался - а как эта система работает? Постоянный магнит двухполюсной, полюса разделяются посередине, на блоке головок токовая рамка, двигается так, что половина ее всегда над одним полюсом ПМ, другая половина над другим. Датчиков положения нет, кроме как самой головкой что-нибудь с диска читануть. Пропустим ток через рамку и "улетит" она в одну из сторон. В предположении того, что на пластину много гигабит пишется, получается, что ширина дорожки значительно меньше милиметра. Современные винты (особенно ноутбучные) нехилое количество "Ж" выдерживают даже в рабочем состоянии. Отсюда вопрос - как умудляются головы с такой точностью позиционировать и удерживать их в таком состоянии? Что за токи в катушке протекают? К стати, от головки идут всего два провода, так что я не думаю, что по ним еще можно информацию передать в какую из сторон отклонена головка от дорожки.
Винты — это круто, не спорю, но там как-то всё предопределено, скучно... 23.08.06 07:12  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Вот сидюки читать, всяких глючных форматов, залапанных, поцарапанных, двуслойных, с эксцентриситетом на шпинделе — вот это да, магия! :-))))
Ну не такой уж это и страшный офтоп. 23.08.06 14:31  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Ну не такой уж это и страшный офтоп.
> Вот сидюки читать, всяких глючных форматов, залапанных,
> поцарапанных, двуслойных, с эксцентриситетом на шпинделе —

Насколько знаю - там движок, как в дисководе. Шаговый или нет, это не столь важно. Все равно лазер подвешен на подпружиненой подвеске и отклоняется в процессе чтения, следя за треком и несоосностью, при помощи электромагнита.

> вот это да, магия! :-))))
Оффтопите, батенька :) Там довольно просто: данные пишутся с большой избыточностью 23.08.06 09:45  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
На винтах тоже избыточность немалая... посмотрите статистику smart на винтах 2-3 годичной давности "ecc recovered", без неё никуда... 23.08.06 11:52  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Обратная связь 21.08.06 17:34  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> полюсом ПМ, другая половина над другим. Датчиков положения
> нет, кроме как самой головкой что-нибудь с диска читануть.

Вот именно. Как минимум одна поверхность всегда служебная. Либо оптически либо все тем же намагничеванием туда нанесена информация о "разметке" диска. Сколько себя помню, количество поверхностей в винтах всегда нечетное, хотя каждый блин имеет две стороны.

ОС необходима даже не столько непосредственно из-за небольших размеров самих дорожек (в принципе рассчитать все без обратной связи можно), сколько из-за тепловых эффектов. А вот тепловое расширение учесть без ОС практически нереально. И даже если и можно, то решение все равно будет более сложным (а следовательно дорогим), чем выделение одной поверхности под служебную инфу
Идея хорошая. Я когда-то думал, что на одну из поверхностей... 22.08.06 11:26  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Вот именно. Как минимум одна поверхность всегда служебная.

Идея хорошая. Я когда-то думал, что на одну из поверхностей записывают специальные синхросигналы-стробы, чтоб тактировать считывание данных с других головок. То есть именно при приходе сигнала/строба с "синхроголовки" данные ("0 или "1") передаются в чип сдвига/хранения. Сейчас думаю, что это расточительство. Скорее они используют широтную модуляцию, почти как в СиДиРоме - длительность отрицательного сигнала в периоде превышает длительность положительного, то "0", меньше, то "1". Или что-нибудь в этом роде. просто, плотно, удобно, легко, надежно.

> Либо оптически либо все тем же намагничеванием туда

Только не оптически. Зачем. Все легко делается магнитно. Зачем в девайс несколько технологий внедрять, хотя хватает и одной.

> нанесена информация о "разметке" диска. Сколько себя помню,
> количество поверхностей в винтах всегда нечетное, хотя
> каждый блин имеет две стороны.

Эээ, те параметры CHS, которыми оперируют БИОСы и драйвера, совсем не соответствуют реальному положению вещей. Более трех блиновые винты редкость, а программно головок у всех винтов по ~255, количество секторов на дорожке не так уж и велико и постоянно, а реально винт разбит на зоны с разным количеством секторов на трек, убывающим к центру в связИ с уменьшающейся линейной длиной трека.

> ОС необходима даже не столько непосредственно из-за

ОС на каком уровне? Это понятно, что проверить "а на той ли дорожке сейчас находятся головки" перед чтением необходимо. ОС применяется однозначно во всех системах, там где это возможно, потому что лишь она может обеспечить абсолютно точное регулирование, учтя все воздействия.

> небольших размеров самих дорожек (в принципе рассчитать все
> без обратной связи можно), сколько из-за тепловых эффектов.
> А вот тепловое расширение учесть без ОС практически
> нереально. И даже если и можно, то решение все равно будет
> более сложным (а следовательно дорогим), чем выделение
> одной поверхности под служебную инфу

Не буду вычислять насколько изменяется радиус при нагревании диска во время работы и как это соотносится с размером дорожки. Вполне вероятно, что эти параметры могут быть соизмеримы, но только при современных "тонких" технологиях. Других негативных факторов все равно вполне предостаточно.
Если бы на блок головок в обратном направлении действовала бы пружина, то позиционировать головки можно было бы величиной тока. Величина магнитного поля была бы пропорциональна току, сила взаимодействия тоже, головки бы заняли такое положение, при котором сила магнитного взаимодействия компенсировалась бы возвратной силой пружины, но пружины нет.

Терзают сомнения, что отводят целую поверхность, хотя это действительно все объясняет. В любом случае сигнал импульсный и какой-нибудь широтно-частотно модулированый. Только интересно, полаются ли импульсы при нахождении головки уже там, где надо или нет. Если подаются, то они должны быть одинаковые разнополярные.
Ну вообще не моя. Нам так в универе рассказывали 22.08.06 15:03  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Почитал - инфа устаревшая

> Идея хорошая. Я когда-то думал, что на одну из поверхностей
> записывают специальные синхросигналы-стробы, чтоб
> тактировать считывание данных с других головок. То есть

Тактировать ничего не надо. Там самосинхронизирующийся код. FM/MFM/RLL
Суть в том, чтобы не дать последовательности из одинаковых битов иметь длину больше определенной (исходя из возможностей электроники поддерживать синхронность), ну а когда приходит фронт (срез) нового бита, то уже "плывущая" синхронизация подправляется. Ну и понятно, что начало сектора отмечается специальной синхропоследовательность.
http://en.wikipedia.org/wiki/Run_length_limited

> именно при приходе сигнала/строба с "синхроголовки" данные
> ("0 или "1") передаются в чип сдвига/хранения. Сейчас

Тактируется внутренним генератором, который подстраивается по фронтам/срезам переходов 0-1, 1-0

> Только не оптически. Зачем. Все легко делается магнитно.
> Зачем в девайс несколько технологий внедрять, хотя хватает
> и одной.

Тоже правда.

> Эээ, те параметры CHS, которыми оперируют БИОСы и драйвера,
> совсем не соответствуют реальному положению вещей. Более
> трех блиновые винты редкость, а программно головок у всех
> винтов по ~255, количество секторов на дорожке не так уж и
> велико и постоянно, а реально винт разбит на зоны с разным
> количеством секторов на трек, убывающим к центру в связИ с
> уменьшающейся линейной длиной трека.

Это то понятно, но вот почему то я считал, что у старых винтов нечетное количество поверхностей. О CHS/LBA знаю, но тем не менее откуда то такая уверенность была. На чем основана - не знаю :-)

> ОС на каком уровне? Это понятно, что проверить "а на той ли
> дорожке сейчас находятся головки" перед чтением необходимо.
> ОС применяется однозначно во всех системах, там где это
> возможно, потому что лишь она может обеспечить абсолютно
> точное регулирование, учтя все воздействия.

Именно для этого.

> Если бы на блок головок в обратном направлении действовала
> бы пружина, то позиционировать головки можно было бы

А она разве не действует? Вроде одна из технологий парковки головок именно на механике и основана (есть еще и такие, которые используют вращающийся шпиндель как генератор).

> Терзают сомнения, что отводят целую поверхность, хотя это
> действительно все объясняет. В любом случае сигнал

Да я прогнал. Еще на спектруме, когда ковырял формат дискеты, там были индексные метки и метки данных. Вот в индексных то как раз и содержалась инфа о том, какой номер цилиндра, головки, сектора и еще чего то. Индексная метка всегда шла непосредственно перед меткой данных. Скорее всего в винтах чего то подобное.
http://en.wikipedia.org/wiki/Embedded_servo

> импульсный и какой-нибудь широтно-частотно модулированый.

Да в общем нет. Насколько я помню, магнито-резистивный эффект позволяет создать головку, сила тока в которой пропорциональна магнитному потоку (а не его изменению как в индукционных головках). Биты записываются просто областями с разнонаправленной намагниченностью. Вопросы синхронизации решаются кодированием записываемой информации таким образом, чтобы количество одинаковых битов подряд было не в состоянии снести синхронизацию.

> Только интересно, полаются ли импульсы при нахождении
> головки уже там, где надо или нет. Если подаются, то они
> должны быть одинаковые разнополярные.
Что-то мы от позиционирования головок отклонились в сторону... 22.08.06 19:06  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 22.08.06 19:11  Количество правок: 2
<"чистая" ссылка>
> Суть в том, чтобы не дать последовательности из одинаковых
> битов иметь длину больше определенной (исходя из
> возможностей электроники поддерживать синхронность), ну а
> когда приходит фронт (срез) нового бита, то уже "плывущая"
> синхронизация подправляется. Ну и понятно, что начало
> сектора отмечается специальной синхропоследовательность.
> http://en.wikipedia.org/wiki/Run_length_limited
>
> Тактируется внутренним генератором, который подстраивается
> по фронтам/срезам переходов 0-1, 1-0

Что-то мы от позиционирования головок отклонились в сторону способов кодировки.

> > Если бы на блок головок в обратном направлении
> действовала
> > бы пружина, то позиционировать головки можно было бы
>
> А она разве не действует? Вроде одна из технологий парковки
> головок именно на механике и основана (есть еще и такие,
> которые используют вращающийся шпиндель как генератор).

Не, нет там пружинки. Принцип парковки во всех винтах, что я разбирал сводится к тому, что головки при вырубании питания остаточным зарядом кондюков или остатками воздушного потока блинов отводятся вне зоны хранения данных, где закрепляются одним из методов - либо примагничиванием к маленькому магнитику, либо механически пластмассовым затвором.

> Да я прогнал. Еще на спектруме, когда ковырял формат
> дискеты, там были индексные метки и метки данных. Вот в
> индексных то как раз и содержалась инфа о том, какой номер
> цилиндра, головки, сектора и еще чего то. Индексная метка
> всегда шла непосредственно перед меткой данных. Скорее
> всего в винтах чего то подобное.
> http://en.wikipedia.org/wiki/Embedded_servo

"Индексные" метки там есть. По ним логика определяет пойдут сейчас "нужные" данные или нет. В том чиле проверяет на нужной ли дорожке находятся головки. Вопрос в том как подвинуть головки на несколько микрон при необходимости и там их хотя бы не на долго удержать.

> Да в общем нет. Насколько я помню, магнито-резистивный
> эффект позволяет создать головку, сила тока в которой
> пропорциональна магнитному потоку (а не его изменению как в
> индукционных головках). Биты записываются просто областями
> с разнонаправленной намагниченностью. Вопросы синхронизации
> решаются кодированием записываемой информации таким
> образом, чтобы количество одинаковых битов подряд было не в
> состоянии снести синхронизацию.

Это уже "интимные" подробности определенного этапа развития винтов.
Собственно даже не столь важно где записана "сервоинформация" - на целой поверхности или между секторами? Она там числовая или типа меандра? Пусть винт может восстановить прямоугольный импульс либо по направлению импульса тока и интервалу в магнитной головки, либо по продолжительности постоянного сопротивления в магниторезистивной. Тогда получается что можно по опорному меандру, который задаст нужную дорожку, задать позицию головки и удерживать ее там, так? Если головка будет на другой дорожке или отклонится на нее, то в следствие возникшей дифференциальной разницы сигналов на карушку привода поступит импульс нужного направления и длительности, чтобы переместить ее туда, куда надо или не дать ей отклониться, или вернуться на место. Получается примерно такая картинка.
Насколько я помню там не поверхность, а трек служебный. Так и называется сервотрек. 21.08.06 20:01  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
Если всего один трек, то позиционировать головку на какой нибудь другой трек нереально 21.08.06 20:45  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
В частности тепловое расширение даст смещение трека на сотню номеров туда/сюда
Ну, вобщем... Ни вашим, ни нашим. 22.08.06 11:46  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>


Сюда ходить
Ну, собственно статейка кое-что прояснила. По крайней мере... 22.08.06 19:32  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Ну, собственно статейка кое-что прояснила. По крайней мере то, что на блинах достаточное количество информации для определения позиции головок и размещена она там на новых моделях между данными, в отличии от старых, где под нее отводилась целая поверхность.
К сожалению нет ссылок на источники информации. Все равно остается куча вопросов: если головка в определенный момент находится между дорожками, если в ней сигнала нет, если расстояние между дорожками мало и в головке смешиваются два слабых сигнала с двух соседних дорожек, как определить какой сигнал надо подать на катушку? Что будет, если головка медленно двигается так, что индексная метка считана правильно (она все-таки короткая), а данные начнут писаться на нужной дорожке, а закончатся на соседней? Какие токи все-таки подаются на катушку, когда, как определяется их величина и продолжительность? Как определяется что головка уже не перемещается? Как она удерживается?
В статье написано: "В современных накопителях используются раздельные головки чтения и записи, скомпонованные в единую сборку." 19 абзац (5 снизу). "Вскрытие" показывало, что к каждой головке/сборке идет пара проводов. Ежу понятно, что две принципиально разных головки можно посадить как минимум на три провода. Статья 2002 года, то есть 4 летней древности. Не знаю насколько "современные" винты я вскрывал (загигобайтники), но очень современные еще работают - жалко, ну попробую на днях 80 вскрыть, тогда такие винты только могли появится в продаже.
Точно. Я протупил, это еще даже в Спектруме было, не то что в современных винтах 22.08.06 15:04  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Бывает. Я тоже протупил: на сервотреках немного другое пишется. 22.08.06 21:17  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach