想必用過大機(jī)的人都接觸過Block, Track, Cylinder的概念。Mainframe的存儲管理一般就是基于這幾個單位。
那么,Mainframe上1個Cylinder是多少個Track?1個Track是多少個KB?1個Track包含多少個Block?
對于第一個問題,多數(shù)人都知道答案是15,基于一般的磁盤設(shè)備,15這個答案沒有錯,但是對于磁帶,應(yīng)該是沒有柱面這個概念的。(這個有待探討,畢竟大家真用過磁帶的不多,而做備份是不需要手動分配存儲的)
第二個問題,1個Track是多少個KB?
經(jīng)過查閱相關(guān)IBM官方文檔,可以得知,不同類型的設(shè)備,1個Track包含的KB數(shù)不等。
對于最常見的3390設(shè)備,1 Track = 56,664 Bytes;對于3380設(shè)備,1 Track = 47,476Bytes。
(參考文獻(xiàn):IBM System Storage DS8000 Information Center,章節(jié)LUN calculation)
第三個問題,1個Track包含多少個Block?
首先,Block的大小是自定義的,能夠定義的最大的Block Size是32760(bytes)。如果定義一個Block為32760 bytes,那么無論對于3390還是3380,一個Track只能包含1個block。無疑這是很大的浪費(fèi),因?yàn)檫@個track上剩下的Bytes是無法取用的。(1個Track只能隸屬于1個文件,而且block不可以span track)
所以,空間最優(yōu)化的block size方案是1個track放2個block。因?yàn)閎lock之間有inter block gap,1個track上剩下的可用byte數(shù)為55,996個,所以,最優(yōu)的block size數(shù)值為最接近但不超過27,998的那個record size的整數(shù)倍的數(shù)值。