Съхранение на компютърни данни
Тази статия се нуждае от подобрение. Необходимо е: вътр препр. Ако желаете да помогнете на Уикипедия, използвайте опцията редактиране в горното меню над статията, за да нанесете нужните корекции. |
Съхранението на компютърни данни е технология, състояща се от компютърни компоненти и носители за запаметяване/запис, които се използват за запазване на цифрови данни в компютрите. Съхранението на компютърни данни е основна функция и основен компонент на компютрите без която тяхната пълноценна работа би била невъзможна.[1]:с. 15 – 16
Централният процесор (CPU) на компютъра е компонентът, който обработва данните чрез извършване на изчисления. Но за неговата пълноценна работа е необходимо компютърът да разполага също така и с хранилище за съхранение на компютърни данни, откъдето данните за обработка да бъдат подавани на централния процесор и където обработените от него данни да бъдат съхранявани.
Без наличието на такова хранилище компютърът би могъл да извършва само прости операции, които незабавно извеждат резултат и трябва да бъде преконфигуриран всеки път, когато е необходимо да промени своето поведение. Това макар и приемливо за „прости“ устройства като настолните калкулатори, цифровите сигнални процесори и други специализирани устройства, не е приемливо за съвременните компютри.
Наличието на хранилище за данни им позволява да съхраняват в него инструкциите и данните си за работа.[1]:с. 20 В резултат тези компютри са по-гъвкави, тъй като не е необходимо хардуерът им да бъде преконфигуриран за всяка нова програма, а могат просто да бъдат препрограмирани чрез залагане на нови инструкции в хранилището им. Освен това те са и по-лесни за проектиране, тъй като един сравнително прост процесор поддържайки състояние между последователни изчисления в хранилището, може да изгради сложни процедурни резултати.
В резултат почти всички съвременни компютри разполагат и използват йерархия от хранилища за съхранение на компютърни данни,[1]:с. 468 – 473 която поставя бързи, но скъпи и малки по вместимост хранилища близо до централния процесор, а по-бавни, но по-евтини и с по-голяма вместимост хранилища по-далеч от него.
Бързите с временно съхранение хранилища (които губят данните при изключване на захранването) е прието да се наричат „памет“, а по-бавните, но с постоянно съхранение хранилища (които запазват данните дори и при изключено захранване) е прието да се наричат „хранилища за данни“.
Йерархия на хранилищата за данни
[редактиране | редактиране на кода]Като цяло, колкото по-надолу е едно хранилище в йерархията, толкова по-малка е неговата пропускателна способност по отношение на канала за трансфер на данни и толкова по-голямо е забавянето в достъпа до данните му от процесора. В резултат се получава и общоприетото разделяне на хранилищата за съхранение на първични, вторични, третични и офлайн.
Бързите с временно съхранение хранилища (първичните хранилища), които е прието да се наричат „компютърна памет“, обикновено са полупроводникови памети за четене и запис с непоследователен достъп (DRAM, динамична RAM) или други форми на бързо, но временно съхранение (които губят данните при изключване на захранването).
А по-бавните, но с постоянно съхранение хранилища (вторични, третични или офлайн хранилища), които е прието да се наричат „хранилища за данни“, се състоят от устройства за съхранение и техните носители и не са пряко достъпни от процесора. Обикновено това са твърди дискове, оптични дискови устройства (CD/DVD), лентови библиотеки и други устройства, по-бавни от RAM, но енергонезависими (запазващи съдържанието си при изключване).[2]
В исторически план е прието паметта да се нарича основна памет, вътрешна памет или основно хранилище, а енергонезависимите устройства за съхранение да се наричат външна памет, вторични хранилища или спомагателни/периферни хранилища.
Първични хранилища
[редактиране | редактиране на кода]Първичните хранилища (известни още като оперативна памет или вътрешна памет), често наричани просто памет, са единствените хранилища, които са пряко достъпни за процесора. Процесорът непрекъснато чете инструкциите, съхранени там, и ги изпълнява според изискванията. Всички данни, с които се работи активно и се обработват от изпълняваните от процесора инструкции, също се съхраняват там по унифициран начин.
В исторически план ранните компютри се използвали линии за забавяне, тръби на Williams или въртящи се магнитни барабани като първични хранилища. До 1954 г. тези ненадеждни методи са заменени с памети с магнитно ядро. Тази памет остава доминираща до 70-те години на миналия век, когато напредъкът в технологията на интегралните схеми позволява на полупроводниковата памет да стане икономически конкурентоспособна.
Това довежда до масовото навлизане на съвременната памет с произволен достъп (RAM) – малка по размер, лека, но в същото време и доста скъпа.
Както е показано на диаграмата обаче, обичайно има още два под-слоя на първична памет, използвани в компютрите, в допълнение на основната RAM с голям капацитет:
- Единият под-слой са регистрите на процесора, които са разположени вътре в него. Всеки регистър обичайно съдържа блок от данни (най-често с размер 32 или 64 бита). Инструкциите на процесора инструктират аритметично-логическия модул да извършва различни изчисления или други операции с данните съдържащи се в тези регистри (или с тяхна помощ). Регистрите са най-бързата от всички форми за съхранение на компютърни данни.
- Вторият под-слой е кешът на процесора, който е междинен елемент между свръх-бързите регистри и много по-бавната основна памет. Той беше въведен единствено за подобряване на производителността на съвременните компютри. Това подобрение се постига като най-често използваната информация от основната памет се дублира в кеш паметта, която е по-бърза, но с много по-малък капацитет от основната памет. В съвременните компютри често се използва и многостепенна йерархична организация на кеша – при нея има две части на кеша: първичният кеш е най-малък, най-бърз и разположен вътре в процесора, а вторичният кеш е малко по-голям и по-бавен и е разположен извън него.
Основната памет е пряко или непряко свързана към централния процесор чрез шина (memory bus). Всъщност това са две шини: адресна шина и шина за данни. Процесорът първо изпраща число през адресната шина, наречено адрес на паметта, което показва желаното местоположение на данните. След това чете или записва данните в клетките на паметта на този адрес използвайки шината за данни. Като посредник тук се включва и модулът за управление на паметта (MMU) – малко устройство между централния процесор и RAM, което изчислява местонахождението на действителния адрес на паметта, например в случаите на използване на виртуална памет или при други задачи.
Тъй като типовете RAM, използвани за първично хранилище, са непостоянни (неинициализирани са при стартиране и губят съхраняваната в тях информация, когато не се захранват), компютър, който има само такова хранилище, няма да има източник, от който да чете инструкции при стартиране. Затова в компютрите в допълнение на основната памет се използва и енергонезависима първична памет, съдържаща малка стартираща програма (BIOS), която се използва за стартиране на компютъра. Това се прави като тази програма се прехвърли при стартиране от тази от енергонезависима първична памет в основната памет и започне нейното изпълнение. Енергонезависимата памет, която се използва в компютрите се нарича ROM (read only memory или памет само за четене), въпреки това име е леко подвеждащо, тъй като повечето типове ROM имат възможност и за произволен достъп.
Освен това повечето видове ROM не са само за четене, тъй като при тях е възможно и извършването на актуализации – това обаче е много бавна операция и паметта трябва да бъде изтрита в по-голямата си част, преди да може да бъде записана отново.
Някои вградени системи (embedded systems) съхраняват не само стартиращите, а и основните си програми директно в ROM (или подобна памет), тъй като при тях програмите рядко се променят. Но стандартните компютри не съхраняват в ROM само стартиращи програми. За съхранение на основните си програми, те използват големия капацитет на вторичните хранилища, които също са енергонезависими, но не са толкова скъпи.
Вторични хранилища
[редактиране | редактиране на кода]Вторичните хранилища (известни също като външна памет или спомагателни хранилища) се различава от първичните хранилища по това, че до тях процесорът няма директен достъп. Компютърът обикновено използва своите входни/изходни канали за достъп до вторичните хранилища и прехвърлянето на нужните данни към първичните хранилища. Вторичните хранилища са енергонезависими (запазват данните, при изключване на захранването). Съвременните компютърни системи обикновено имат в пъти повече вторична памет от първичната памет, тъй като вторичното съхранение е по-евтино.
В съвременните компютри за вторични хранилища обикновено се използват твърди дискове (HDD) или полупроводниковите (статични) дискови устройства (SSD). Времето за достъп на байт за твърдите дискове или SSD обикновено се измерва в милисекунди (една хилядна от секундата), докато времето за достъп на байт за първичните хранилища се измерва в наносекунди (една милиардна от секундата). По този начин вторичните хранилища са значително по-бавни от първичните.
Но се използват и походи за подобряване на това съотношение. След като главата за четене/запис на диска при твърдите дискове достигне правилната позиция за достъп до данните, последващите данни на пистата са много бързи за достъп. Затова, за да се намали времето за търсене и латентността на въртене и така да се увеличи пропускателната способност на канала за трансфер на данни, данните се прехвърлят към и от твърдите дискове в големи последователни блокове. Последователният или блоков достъп до твърдите дискове е с порядъци по-бърз от произволния достъп и са разработени много сложни подходи за проектиране на ефективни алгоритми, базирани на последователен и блоков достъп. Друг начин използван за да се намалят ограниченията в пропускателната способност на входно/изходния канал на твърдите дискове е използването на множество паралелни твърди дискове, като така се увеличава значително пропускателна способност на канала за трансфер на данни между първичното и вторичното хранилище.[3]
Вторичните хранилища обичайно се организират като се използва формат на файлова система, който позволява данните да се организират във файлове и директории/папки, като същевременно предоставя и метаданни, които описват различни параметри на файла, като собственик на файла, време на създаване, време на последна промяна, време на последен достъп, разрешения за достъп и друга информация за файла.
Повечето компютърни операционни системи също така използват и концепцията за виртуална памет, която позволява използването на повече капацитет за първичните хранилища, отколкото е физически наличен в системата чрез използване на ресурсите на вторичните хранилища. Когато основната памет се запълни, операционните системи на съвременните компютри преместват най-малко използваните блокове данни в специален файл (swap file или page file) съхраняван във вторичното хранилище, като ги извличат обратно по-късно, когато това стане необходимо. Обаче понякога този подход води и до негативен ефект, ако поради липса на капацитет много блокове данни бъдат преместени в по-бавното вторично хранилище, то производителността на компютърната система няма да се подобри, а ще се влоши.
Третични хранилища
[редактиране | редактиране на кода]Третичните хранилища или третичната памет[4] се поставя на едно ниво след / под вторичните хранилища. Обикновено се състои от роботизиран механизъм, който поставя (mount) и изважда (dismount) сменяеми носители за съхранение на данни в устройство за съхранение и достъп до данни в съответствие с нуждите на използващата го система, като данните често междинно се копират във вторично хранилище преди употреба.
Тези хранилища се използват предимно за архивиране на рядко използвана информация, тъй като са много по-бавни от вторичните хранилища (напр. 5 – 60 секунди за достъп при тях, срещу 1 – 10 милисекунди при вторичните хранилища). Полезни са преди всичко за съхранение на изключително големи обеми от данни, достъпни без намесата на човешки оператори. Типичните примери за такива хранилища са лентовите библиотеки и оптичните джубокси.
Когато компютър трябва да прочете информация от третично хранилище, той първо се консултира с каталожната база данни на хранилището, за да определи коя лентова касета или диск съдържат нужната му информация. След това компютърът инструктира роботизираната ръка на хранилището да вземе съответния носител за съхранение на данни и да го постави в устройството за съхранение и достъп до данни. Когато компютърът приключи с четенето на информацията, роботизираната ръка връща носителя на мястото му в библиотеката.
Третичните хранилища са известни още като хранилища с почти онлайн съхранение. Формалното разграничение между онлайн, почти онлайн и офлайн съхранение е:[5]
- При онлайн съхранението данните са достъпно незабавно за входно/изходни операции;
- При почти онлайн съхранението те не са достъпни веднага, но могат да бъдат направени достъпни бързо без човешка намеса;
- При офлайн съхранението данните не са достъпни веднага и се изисква известна човешка намеса, за да станат достъпни.
Например, винаги въртящите се твърди дискове са устройства с онлайн съхранение. Подвижните носители, като лентовите касети, които могат да се зареждат автоматично от лентовите библиотеки, са устройства с почти онлайн съхранение, а лентовите касети или CD/DVD, при които носителите трябва да се зареждат ръчно в устройствата за съхранение и достъп са устройства с офлайн съхранение.
Офлайн хранилища
[редактиране | редактиране на кода]Офлайн хранилищата осигуряват съхранение на компютърни данни на носители или устройства, които не са под контрола на процесора.[6] Носителят се записва, обикновено във вторично или третично устройство за съхранение, и след това физически се отстранява или изключва. Той трябва да бъде поставен или свързан обратно с компютъра от човешки оператор, преди компютърът отново да има достъп до него. За разлика от третичните хранилища, данните в офлайн хранилищата не могат да бъде достъпни без човешко взаимодействие.
Офлайн хранилищата се използват основно за прехвърляне на информация, тъй като техните носители могат лесно да бъдат физически транспортирани. Освен това те са полезни и за случаите на бедствие. Например, ако пожар унищожи оригиналните данни, то един носител съхраняващ тяхно копие на отдалечено място не би бил засегнат и това би позволило тяхното възстановяване впоследствие.
Офлайн съхранението също така повишава и информационна сигурност по отношение на съхраняваните данни и като цяло, тъй като когато е отстранен / изключен един носител е физически недостъпен за компютрите и поверителността или целостта на данните му не може да бъде засегната от компютърно базирани техники за атака.
Освен това, ако информацията, съхранявана за архивни цели, е рядко използвана, то офлайн съхранението е по-евтино от третичното съхранение.
Типични примери за офлайн хранилища при съвременните компютри са оптичните дискове (CD / DVD) и устройствата с флаш памет (USB флаш паметите), които са най-популярни, както и в много по-малка степен популярните сменяеми твърди дискове. А в корпоративната употреба преобладават най-много магнитните ленти. По-стари примери за офлайн хранилища са флопи дисковете, Zip дисковете, хартиените ленти и перфокартите.
Вижте още
[редактиране | редактиране на кода]Теми за първични хранилища
[редактиране | редактиране на кода]- Памет с произволен достъп
- Динамична памет с произволен достъп (DRAM)
- Процесорен кеш
- Управление на паметта
Теми за вторични, третични и офлайн хранилища
[редактиране | редактиране на кода]- Твърд диск
- Полупроводниково (статично) дисково устройство
- Компактдиск
- DVD
- Флашпамет
- Облачно съхранение
Източници
[редактиране | редактиране на кода]- ↑ а б в Patterson, David A., Hennessy, John L. Computer Organization and Design: The Hardware/Software Interface. 3rd. Amsterdam, Morgan Kaufmann Publishers, 2005. ISBN 1-55860-604-1. OCLC 56213091.
- ↑ Storage as defined in Microsoft Computing Dictionary, 4th Ed. (c)1999 or in The Authoritative Dictionary of IEEE Standard Terms, 7th Ed., (c) 2000.
- ↑ J. S. Vitter, Algorithms and Data Structures for External Memory Архив на оригинала от 4 януари 2011 в Wayback Machine., Series on Foundations and Trends in Theoretical Computer Science, now Publishers, Hanover, MA, 2008, ISBN 978-1-60198-106-6.
- ↑ A thesis on Tertiary storage Архив на оригинала от 27 септември 2007 в Wayback Machine.. (PDF) . Retrieved 2011-06-18.
- ↑ Pearson, Tony. Correct use of the term Nearline. // IBM Developerworks, Inside System Storage. 2010. Посетен на 2015-08-16.
- ↑ National Communications System. Federal Standard 1037C – Telecommunications: Glossary of Telecommunication Terms // {{{journal}}}. General Services Administration, 1996. FS-1037C. Архивиран от оригинала на 2 March 2009. See also article Federal Standard 1037C.
Допълнителни материали
[редактиране | редактиране на кода]- The History of Storage Systems // Proceedings of the IEEE 100. 2012. DOI:10.1109/JPROC.2012.2189787. с. 1433 – 1440.
- Memory & Storage, Computer History Museum
|
|
Тази страница частично или изцяло представлява превод на страницата Computer data storage в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |