CN1077305C - 把计数键数据记录映射到固定块结构的方法及装置 - Google Patents
把计数键数据记录映射到固定块结构的方法及装置 Download PDFInfo
- Publication number
- CN1077305C CN1077305C CN94119802A CN94119802A CN1077305C CN 1077305 C CN1077305 C CN 1077305C CN 94119802 A CN94119802 A CN 94119802A CN 94119802 A CN94119802 A CN 94119802A CN 1077305 C CN1077305 C CN 1077305C
- Authority
- CN
- China
- Prior art keywords
- key
- record
- current
- sector
- count
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1262—Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种模糊压缩方法把计数—键—数据记录映射到某个固定块结构存储设备上。根据计数—键—数据记录的大小、扇区的大小以及把数据写在当前扇区中的下一可用字节的位置来决定对某些CKD记录压缩,而把其他的CKD记录写在下一个可用扇区的开端(非压缩)。如果从当前扇区的下一可用字节位置开始写入记录,而写入该记录所需扇区个数又大于写同一记录的最少扇区数,如果该记录从下一可用扇区开头被写入,则非压缩写入该记录,否则该记录将被压缩。
Description
本发明一般涉及数据存储系统,特别涉及一种把计数-键-数据(CKD)记录映射到具有固定块结构(FBA)特征的数据介质的数据存储系统和方法。
具有对大量数据(或记录)存储、快速存储、修改和重新存储的能力,对于大型、中型甚至小型的计算系统,通常都是一种必须做到的要求。例如,这些计算系统采用主处理机的形式,如用于计算和操作数据的IBM系统/360或IBM系统/370处理机,连接IBM3990存储控制器,而存储控制器又进一步连接一组直接访问存储设备(DASD),如IBM3380或3390DASD。主处理机提供实质上的计算能力,而存储控制器则提供有效地传送、登台/离台、转换以及通常访问大型数据库所需的功能。这些数据库(如存在DASD中的数据库)可以轻易地超出几千兆的数据。
DASD存储器(例如磁盘或光盘)是以微米为单位来存储数据位的,按盘面上的磁或光变更点来测定大小,用来表示构成这些数据位的“1”和“0”。磁性的DASD包括一个或多个用剩余的磁性材料涂覆的磁盘,磁盘被可旋转地安装在一个被保护起来的环境之中。每个磁盘被分为许多同轴磁道或接近的被隔开的圆圈。数据沿着每个磁道一位接一位顺序地存储。在每个DASD中有一个称为头盘组合件(HDA)的存取机制(通常包括一个或多个读/写磁头),移动经过磁道,当磁盘被转动经过读/写磁头时,把数据传送到磁盘表面上或从磁盘表面上把数据传送出来。
存储在DASD中的数据或记录通常采用计数-键-数据(CKD)格式或固定块结构(FBA)格式。
CKD记录存储格式之所以有用是因为记录能得到有效的存储,即浪费的磁盘空间达到最小。采用CKD格式存储的记录包括一个计数区、一个关键码区和一个数据区。计数区通常是一个几字节的字段,通过描述物理地址(磁道号)、标识符(包括柱面号、磁头号和记录号)、记录格式、记录长度(该记录是由多少字节组成的)以及关键码长度(下面的关键码区由多少个字节组成)等来识别该记录。关键码区可以具有多个字节的长度(例如,从1至256个字节),用于唯一地标识该记录。关键码可以是零件号,雇员标识号、帐号或其他有用的标识符。数据区是实际的数据,其长度可以从几个字节到几百万字节。CKD记录,除了有效存储之外,还能方便地提供基于关键码找出一个记录的能力。另外,因为CKD记录的长度被定义是已知的,因此CKD记录可以被连续地写入,另一个记录写在前一个记录的尾端,不会浪费记录之间的磁盘空间。CKD记录格式的缺点是,为了访问某个记录而找出其关键码时,必须对整个磁道进行检索。
采用FBA格式存储数据要求使用专门为这种存储方式格式化的一种DASD,FBA记录存储的优点在于能以降低存储效率的代价换取较简单的处理过程和较快的访问速度。此外,FBA类型的DASD成本也比较低。具有FBA记录存储能力的DASD把磁道分为许多扇区,每扇区都有预定的字节数,例如,每个磁道可以分成72扇区,每扇区能存储512字节的数据,每扇区都有地址标识和数据存储。在当前的例子中,若一个记录小于512字节,则该扇区中数据后面的区域不被使用,而通常采用填充的方法(用“零”填充该区域)。
FBA类型设备通常比CKD类型设备提供了较好的性能。此外,FBA类型设备广泛地用于提供小格式因子来包装超出1千兆的存储量。由于FBA设备的激增,并不令人感到意外的是,用户希望把以前写入CKD记录用FBA格式存储。把CKD记录写到FBA设备要求变换CKD记录,并且有时还需要转换CKD记录的格式。已知有几种不同的转换技术用来修改这样的CKD记录格式。
把CKD记录转换为FBA记录的一种方法包括把CKD记录的每个区域放入不同的扇区中,于是,计数字段被写到第一扇区,关键码字段被写到第二扇区,而数据字段则被写到一个或多个另外的扇区中。这种转换格式的有效性取决于记录的大小和扇区的大小。最坏的情况是小记录和大扇区,在这种情况下,计数和关键码字段以及数据字段的那些扇区中未被用到的区域中大量的磁盘空间都被浪费了。另一方面,在小扇区和大数据字段的情况下,由于计数和关键码字段所用扇区的额外开销达到最小,种转换方法可能相当有效。用这种方法把CKD记录写到FBA设备是很快的,因为其他的变换计算量是最小的。
提供CKD记录到FBA记录转换的另一种方法是压缩CKD记录。在这种转换方法中,第一个CKD记录被连续地写到FBA设备上(计数、关键码和数据区没有用扇区边界分开),第二个CKD记录从第一个CKD记录结束的位置开始写入,该位置可能位于一个扇区的中间。用这种方法写CKD记录提供了相当好的压缩密度,但是,较大的扇区将会降低系统的性能,因为数据必须从一个扇区的开头开始读,而这些数据中有许多可能属于该记录的前一记录的。
解决CKD记录变换问题的另一种方法是用非压缩的格式存储CKD记录。在非压缩格式中,系统性能很好,但压缩密度受到影响。每个CKD记录从一个扇区的边界开始写入,根据需要可连续使用许多扇区。因此,能够很快找到记录,而不用读出不想要的数据,从每个记录的末端到最后扇区的末端之间的空间被填充,也即放弃。在小记录的情况下被浪费的空间可能是太大了,而且在扇区的大小较大时,这种情况还会更加更重。
还有另一种把CKD记录转换为FBA记录的方法,该方法把CKD记录的计数和关键码区存放在FBA设备的一个区域或表中(并把该表拷贝到电子内存中用以改进读响应时间),而把数据字段连续地存储在该设备的其余扇区中。内存中的表能用来更快地决定数据字段的位置。此外,数据字段能得到有效的存储,因为它们是被连续存储的。这种转换方法的缺点是:在记录数目很大时,需要越来越多的内存来存放这些表。
已知数据记录的大小通常对于一种计算机应用和另一种计算机应用可能不同(例如雇员记录可能相当小,而图象记录则可能相当大),一种FBA设备的扇区大小和另一种FBA设备的扇区大小也可能不一样(例如从512字节到2048字节或更多),而且存放在一个数据库中的记录数也有相当大的区别,不考虑记录或扇区的大小,用单一的格式对所有类型的记录进行变换不可能为不同的环境提供最佳的转换。因此希望能提供一种方法和存储系统,用来把CKD记录模糊地映射到一种FBA结构,使存储空间能得到有效的利用并且存储这些记录的系统响应时间能得到改进。
本发明的目的是提供一种设备和方法,改进计数-键-数据(CKD)记录到固定块结构(FBA)存储设备的变换。
根据本发明的第一个实施例,提供了一种模糊压缩CKD记录到FBA存储设备的方法,该方法对某些CKD记录压缩,而另一些CKD记录则是非压缩的。这种模糊压缩方法包括以下的步骤:(a)若当前的CKD记录能完全装在当前扇区的剩余可用区域中,则把当前记录压缩在从第一个可用字节开始的当前扇区中;(b)若当前CKD记录的大小将跨越预定的若干扇区,则从当前扇区的第一个可用字节开始压缩当前的记录,并使之跨越一个或多个其他的扇区;(c)若当前的CKD记录将跨越多于预定的若干扇区,则从下一个可用的扇区首开始写当前的CKD记录。
在本发明的另一个实施例中,提供了一个用于接收并模糊压缩计数-键-数据(CKD)记录到固定块结构(FBA)格式的数据存储系统。该数据存储系统包括一个直接访问存储设备(DASD),该存储设备逻辑上分为若干扇区,用于在柱面可寻址位置上存储记录,DASD连接一个控制器,其中控制器接收CKD记录并响应变换CKD记录的主机命令。若当前CKD记录能被存储,控制存储器保存用于指示控制器按照某种压缩的格式把当前CKD记录映射到DASD的指令,从当前的一个可寻址位置开始,这比如果按非压缩格式存储当前CKD记录使用较少的扇区,否则,从下一个可用的扇区开始以非压缩的格式映射当前的CKD记录。
根据本发明的方法和存储系统,可以使存储空间得到有效利用,并使存储这些计数-键-数据记录的系统的响应时间得到改进。也就是说,本发明得到了一种最佳系统响应时间与压缩密度之间的折衷方案。
结合附图的说明参考下面对本发明一个最佳实施例的更加具体的描述,就能更好地理解本发明上述和其他的目的、特征和优点。
图1是一个映射图,根据本发明的一个最佳实施例,对全部压缩、全部不压缩以及模糊压缩在FBA设备上的CKD记录进行了比较。
图2是根据本发明的一个最佳实施例,把CKD记录模糊压缩到FBA设备的一种方法的流程图。
图3是一个存储系统的框图,根据本发明的一个最佳实施例把CKD记录模糊压缩到FBA DASD。
现在参考图1,这是映射图,说明了计数-键-数据(CKD)到固定块结构(FBA)的压缩、非压缩和模糊压缩变换。FBA设备的每个盘(图中没有绘出),例如在磁盘驱动器中那样,不仅把每个磁盘分为若干同轴磁道,而且还进一步分成若干扇区。在一个磁盘的单个面上可能有几百或几千个扇区,每个扇区能存储预定的若干数目的字节,通常为512字节,但每个扇区的字节数可能不同。为了便于说明,图1中给出了扇区1至扇区5。
全压缩CKD记录R1~R4,其结果是每个记录都从前一记录结束的位置开始写入,所以看到,全压缩CKD记录能最有效地利用FBA设备上的空间,但是,当试图读记录123时,执行效果将会受到影响,因为为了找到记录123的开端必须读出扇区S3的大部分内容,即使记录123只有一小部分存在扇区S3中。从当前512字节的扇区大小越来越增加的倾向的存在,使得浪费在读出扇区中不需要部分的系统时间也在增加。因此,对于具有较大尺寸的扇区来说,全压缩CKD记录到FBA设备的方法是不合适的。
全非压缩存储记录将导致低效的记录压缩,但提供了改进的登台效率。继续看图1的当前例子,扇区S1~S5只能写入记录R1~R3,因为每个记录都必须从一个扇区的开头开始写入(注意在本例中记录R3用了两个扇区,而全压缩记录R3则需用3个扇区)。因此,系统的时间被浪费在读出扇区不包含所要记录的部分。存放一个记录的一个扇区中没用的部分都采用填充的方法(把“零”写到该扇区的末尾)。当给定较小的记录和较大的扇区时,全非压缩记录的低效性更加突出。
模糊记录压缩考虑记录的大小、扇区的大小以及在一个当前扇区中可用空间的数量,并据此在压缩密度和系统响应时间之间找到一个最佳的折衷方案,以决定是否对该记录压缩或非压缩存储。在图1中,采用模糊压缩,记录R1~R4使用相同数目的扇区做为压缩格式(虽然并不是整个盘都是这样),4个记录中的2个从扇区的边界开始。为了得到最好的系统响应时间和压缩密度之间的折衷方案,如果为了检索某个记录而必须读出前一个扇区的大部分(例如对记录R3),则该记录应该从一个新扇区的边界开始。反之,如果前一记录的大部分都被填充或浪费,或者用别的东西表示,该扇区只有一小部分将包含前一个记录(如对记录R2),则应该对该CKD记录进行压缩。记录的放置(在格式操作时被决定)应该是很快的,以便处理大量的记录而不用增加不适当的额外处理开销。
图2给出了在FBA设备上模糊压缩CKD记录所需的步骤。模糊压缩从第20步开始,当一个CKD记录被识别映射到FBA设备时。在第22步中,作出变换决定所需的信息被检索,包括找出构成该CKD记录的字节数(RecSize),找出构成FBA设备的每一个扇区的字节数(SectSize)以及当前扇区的下一条可用位置(最好一个记录的结尾),如果压缩,CKD记录将被写在这里(FirstByte)。
第24步决定:如果当前的CKD记录采用非压缩的格式写入,写入该记录需要多少个扇区(当前CKD记录被物理导入的最少扇区数MinSect),MinSect由下式计算:
MinSect=Integer(RecSize/SectSize) (1)例如,给定RecSize为600字节,SectSize为512字节,则MinSect等于Integer(600/512)或2,“Integer”命令可被执行,例如对括号中返回的值截尾并增加1(即上舍入到一下个整数值)。
在第26步中,决定是否把当前的CKD记录填入当前扇区的剩余部分或把当前CKD记录溢出到邻近的一个扇区中。溢出量OvrFlw被定为:
OvrFlw=RecSize-(SectSize-FirstByte) (2)等式2有两部分,第一部分是当前扇区的剩余区或填充区,被简单地定为SectSize-FirstByte。如果当前CKD记录小于填充区,OvrFlw将返回一个负值(不溢出),CKD记录能完整地写入当前扇区的剩余区域中。另一方面,若填充区小于当前CKD记录,OvrFlw将返回一个正值,当前CKD记录将不能完整地填入当前扇区中。
第26步中决定的OvrFlw值在第28步中检测,决定是否压缩当前的CKD记录。若OvrFlw为负数(或小于零)则在第30步上,从当前扇区的FirstByte开始对当前CKD进行压缩,对模糊压缩的目的来说不需要对当前CKD记录作进一步的处理,可以再访问下一个CKD记录(又从第20步开始)。若OvrFlw是正的(或大于零),处理过程将继续到第32步。
第32步决定如果从当前扇区的第一个可用字节开始写入,当前CKD记录将跨越的扇区数SectSpan。SectSpan由下式决定:
SectSpan=Integer(OvrFlw/SectSize)+1 (3)SectSpan将返回扇区数,其中包括把当前扇区的剩余部分也做为一个扇区,以及用来存储当前CKD记录的最后一个扇区的部分。例如,给定512字节的扇区和700的OvrFlw,则需要3个扇区来存储压缩格式的当前CKD记录(当前扇区的剩余部分(即等式3中的增量部分),下一个512字节的扇区以及最后一个扇区的188字节(上舍入到下一个整数))。
第34步把SectSpan的量同MinSect的量进行比较,若SectSpan等于MinSect,则当前CKD记录从FirstByte开始压缩是一种更有效的存储方式,并在第36步压缩当前的CKD记录。当SectSpan大于MinSect,更有效地做法是采用非压缩的格式变换当前的CKD记录,因此执行第38填充以当前扇区,并把当前CKD记录写在下一扇区的开头。
下面的例子说明模糊压缩方法。假定SectSize=1024字节,FirstByte=777。
给定RecSize等于100字节:
MinSect=Integer(100/1024)=1;
OvrFlw=(1000-(1024-777)=负数。
结果:把当前CKD记录压缩到当前扇区的剩余部分中。
给定RecSize等于500字节:
MinSect=Integer(500/1024)=1;
SectSpan=Integer((500-(1024-777))/1024)+1=2。
结果:SectSpan>MinSect,非压缩映射。
给定:RecSize=1000字节:
MinSect=Integer(1000/1024)=1;
SectSpan=Integer((1000-(1024-777))/1024)+1=2。
结果:SectSpan>MinSect,非压缩映射。
给定:RecSize=1100字节:
MinSect=Integer(1100/1024)=2;
SectSpan=Integer((1100-(1024-777))/1024)+1=2。
结果:SectSpan=MinSect,压缩。
给定:RecSize=2000字节:
MinSect=Integer(2000/1024)=2;
SectSpan=Integer((2000-(1024-777))/1024)+1=3。
结果:SectSpan>MinSect,非压缩变换。
现在参考图3,该框图描述了执行本发明一个实施例的存储系统。主处理机或中,处理机(CPU)200(例如一台IBM System/360或System/370,使用IBM多虚拟存储器(MVS)操作系统)提供总的数据处理(如众所周知的那样)。CPU200通过通道202把主机命令或通道命令字(CCW)送给某个直接访问存储设备(DASD)的存储控制器204,以便在这里进行解释。一组DASD209,通过DASD存储控制器204连接到CPU200上,提供记录存储并可由CPU200访问所需的大量存储空间。虽然图中所示的DASD存储控制器204和DASD组209是分开的,但已知DASD存储控制器204可作为DASD组209的一个组成部分,就象一个DASD抽屉的形式。另外,DASD组209可有许多不同的配置,包括廉价设备的冗余组(RAID)配置(在该技术中已知的)。RAID的几种不同配置都能用在本发明中,并没有脱离这里所叙述的原理。
通过发出一个START输入/输出指令,连接一个被定址的DASD设备并启动该设备中的一个通道程序,CPU200就能同DASD组209建立起通讯联系。此后,就在经通道202传送的CCWs的控制下工作,其中CCWs由控制器203解释,通过控制器203、目录219、高速缓存205、访问电路218和223以及地址和控制路径211和215来选择和访问DASD组209。被存在或将被存在DASD组209的数据通过控制器203、高速缓存205和数据路径217(或控制器203和数据路径212)被送到CPU200或从CPU200中送出来。
每个通道程序包括一个驻留在CPU200主存(图中没有给出)中的操作顺序表,仅在CPU200和DASD存储控制器204之间发生初始连接之后,在DASD存储控制器204中才能传送和执行CCW。对于通道程序中的每个操作,要求一个或多个在超过现行连接的DASD存储器204或DASD组209的设备级上副本操作。CCW序列不要求是连续的,可以分段。某些CCW(例如SEEK和SET SECTOR),当与CPU200断开而DASD访问机制定位在一个磁道上方且磁盘把所需的扇区转到该访问机制上的时候,允许DASD存储控制器204进行操作。通道命令字(CCW)READ要求在DASD存储控制器204和CPU200之间存在一条用来在这两个设备之间传送数据的路径连接。
控制器203执行许多数据或记录操作功能,例如,可以经过通道从CPU200中以字节为单位读数据,然后由控制器209把这些数据串行化为数据位流,以便传送到DASD组209中,也可以反向传送。当控制器203接收到一个CKD记录时,就在控制器203中对该CKD记录进行分析,以便把它变换到DASD组209上。包括用来指导CKD记录模糊压缩的指令的微代码最初可存放在DASD组209中,并在初始微代码加载(IML)时把它们装入位于控制器203中的控制存储器206中。另外,模糊变换微代码也可以从另外的来源中被装入,驻留在控制器203中或采用固件的形式。
微代码,一旦装入控制器203中,就能根据本发明,为把在控制器203中接收到的CKD记录存储到DASD组209上的变换提供所需的指导。控制器203决定被接收CKD记录的RecSize,并从DASD组209(以及/或目录219)中取得FirstByte和SectSize。被变换的CKD记录可直接通过数据总线212或高速缓存205这样的电子内存(或非易失存储器)送到DASD组209或送出DASD组209。
虽然,根据RecSize、FirstByte、SectSize和MinSect的关系进行变换是应该遵循的一般形式,但对CKD记录的变换在几个方面可以不同。例如,整个CKD记录可以被考虑并用来决定RecSize,然后连续写到DASD组209上。此外,CKD记录的计数和(或)关键码部分也可以同数据部分分开考虑,并且可以被写入DASD组209中相对于数据部分的独立部分。这种计数和关键码字段可写到电子内存中,以便更快地访问数据。
另外,根据记录大小对扇区大小的关系,执行步骤的次序也可以不同。例如,若已知记录相对于扇区的尺寸来说是很小的,则在决定MinSect之前就可以执行溢出判定,因为许多记录将被压缩。另外,通过统计跟踪最近被压缩和非压缩记录的比例,记录变换的计算次序也可以不断进行调整。
总之,存储系统经一个通道与主处理机连接,使得存储系统能从主处理机中接收到命令和CKD记录,以便把CKD记录变换为固定块结构(FBA)格式,在这里,对当前CKD记录进行评估,以决定是把当前CKD记录映射为压缩的还是非压缩的记录。该存储系统包括一个直接访问存储设备(DASD),逻辑上划分为若干在柱面可寻址位置上存储记录的扇区。一个控制器接收CKD记录并响应主机命令存储该CKD记录。一个高速缓存连接在DASD和控制器之间,用于在它们之间的传送记录。一个控制存储器在初始微码加载(IML)时接收CKD记录变换微码指令,其中微码指令指示控制器:(a)决定把当前CKD记录变换到DASD的下一个可用开始位置;(b)决定当前CKD记录的记录大小;(c)决定用于压缩当前CKD记录的最小扇区数;(d)如果是非压缩映射,决定当前CKD记录将跨越的扇区数;(e)若压缩当前记录时跨越的扇区数比对当前记录压缩时跨越的扇区数少,则对当前CKD记录进行压缩变换,否则填充当前扇区的剩余区域,并对当前CKD记录进行非压缩映射。
虽然本发明是引用一个最佳实施例来描述的,但熟悉这一技术的人将能理解,其中的形式和细节都可以有各种变化而不会脱离本发明的原理和范围。这里只给出了CKD记录到FBA设备模糊映射的单个实施例,但也能用不脱离本发明的情况下进行各种改变。可以选择和使用特定的CPU或控制器而不脱离本发明。同样,CKD记录或FBA设备的具体形式也可以改变,例如,每扇区的字节数可以不同,不会脱离这里所介绍的内容。
Claims (14)
1.一种把计数-键-数据记录映射到固定块结构DASD的方法,在该方法中,DASD包括一个具有预定扇区数的存储介质,每个扇区能存储预定数目的字节SectSize,该方法的特征在于包括步骤:
(a)决定将被写到DASD的当前计数-键-数据记录的记录大小RecSize;
(b)决定用于把数据写入当前扇区的下一可用开始位置FirstByte;
(c)决定写当前计数-键-数据所需的最小扇区数MinSect;
(d)若当前计数-键-数据记录从FirstByte位置开始被写,决定当前计数-键-数据记录将跨越的扇区数SectSpan;
(e)若SectSpan的数量等于MinSect的数量,则从FirstByte开始写当前的计数-键-数据记录,否则从下一个可用扇区开始写当前记录。
2.根据权利要求1的方法,其特征在于包括步骤(f)决定当前扇区的填充区大小,这里的填充区大小由SectSize减去FirstByte得到。
3.根据权利要求2的方法,其特征在于若从下一个可用扇区开始写入当前计数-键-数据记录,则对当前扇区填充。
4.根据权利要求3的方法,其特征在于如果RecSize的量小于或等于填充区的大小,则当前计数-键-数据记录被写到当前扇区上,不执行步骤(d)和(e)。
5.根据权利要求3的方法,其特征在于,决定MinSect的步骤(c)是通过把RecSize除以SectSize并把其结果上舍入到下一整数值的方法来完成的。
6.根据权利要求5的方法,其特征在于,决定SectSpan的步骤(d)是通过RecSize减去填充区的大小并把该结果除以SectSize再增1实现的。
7.根据权利要求6的方法,其特征在于计数-键-数据记录的计数、关键码和数据部分是连续写入的。
8.一种用来接收处理机命令并把计数-键-数据记录模糊压缩为FBA格式的数据存储系统,该数据存储系统的特征包括:
一个直接访问存储设备DASD,逻辑上分成在柱面可寻址位置上存储记录的若干扇区;
一个控制器,接收计数-键-数据记录并响应主机命令以变换计数-键-数据记录;
一个控制存储器,存储指导控制器把当前计数-键-数据记录用压缩格式变换到DASD的指令,若当前记录能从当前一个可寻址位置开始存储,使用一个相同的扇区号,那么对当前计数-键-数据记录按照非压缩的格式存储,否则,从下一个可用的扇区开始,以非压缩格式变换当前的计数-键-数据记录。
9.根据权利要求8的存储系统,其特征在于,指令被存储在DASD中。
10.根据权利要求9的存储系统,其特征在于,这些指令是在指令微码加载(IML)时被装入控制存储器中的。
11.根据权利要求8的存储系统,其特征在于,包括被连接在控制器和DASD之间的一个高速缓存。
12.根据权利要求8的存储系统,其特征在于,DASD包括一组磁盘驱动器。
13.根据权利要求12的存储系统,其特征在于,这组磁盘驱动器是按照某种廉价设备冗余数组(RAID)配置连接的。
14.一种经过通道连接主处理机的存储系统,所述存储系统从所述主处理机中接收主机命令和计数-键-数据记录,用某种固定块结构(FBA)格式映射计数-键-数据记录,在这里,对当前计数-键-数据记录进行评估,决定是按压缩还是非压缩的记录格式变换当前的计数-键-数据记录,所述存储系统的特征包括:
一个直接访问存储设备(DASD),逻辑上被分为若干扇区,用于在柱面可寻址的位置上存储记录;
一个接收计数-键-数据记录并响应主机命令登台计数-键-数据记录的控制器;
一个连接在所述DASD和所述控制器之间,用于在它们之间登台记录的高速缓存;
一个控制存储器,用于存储计数-键-数据记录映射微码指令,所述微码指令指导所述控制器:
(a)决定映射当前计数-键-数据记录到所述DASD的下一个可用的开始位置;
(b)决定当前计数-键-数据记录的大小;
(c)决定压缩当前计数-键-数据记录所需的最小扇区数;
(d)若非压缩映射,决定当前计数-键-数据记录将跨越的扇区数;
(e)若对当前计数-键-数据记录非压缩映射所需跨越的扇区数比压缩映射当前记录所需跨越的扇区数少,则压缩映射当前计数-键-数据记录,否则填充当前的扇区剩余区域并非压缩映射当前的计数-键-数据记录。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17303993A | 1993-12-27 | 1993-12-27 | |
| US173,039 | 1993-12-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1122926A CN1122926A (zh) | 1996-05-22 |
| CN1077305C true CN1077305C (zh) | 2002-01-02 |
Family
ID=22630273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN94119802A Expired - Lifetime CN1077305C (zh) | 1993-12-27 | 1994-11-25 | 把计数键数据记录映射到固定块结构的方法及装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5581743A (zh) |
| EP (1) | EP0660323B1 (zh) |
| JP (1) | JP2557203B2 (zh) |
| CN (1) | CN1077305C (zh) |
| DE (1) | DE69421370T2 (zh) |
| SG (1) | SG43740A1 (zh) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5778411A (en) * | 1995-05-16 | 1998-07-07 | Symbios, Inc. | Method for virtual to physical mapping in a mapped compressed virtual storage subsystem |
| EP0785500B1 (en) | 1996-01-19 | 2004-03-03 | Hitachi, Ltd. | Storage device and method for data sharing |
| US5802557A (en) * | 1996-03-18 | 1998-09-01 | Emc Corp | System and method for caching information in a digital data storage subsystem |
| JP3781212B2 (ja) * | 1996-06-04 | 2006-05-31 | 株式会社日立製作所 | サブシステム |
| US6735676B1 (en) | 1996-09-02 | 2004-05-11 | Hitachi, Ltd. | Method and system for sharing storing device via mutually different interfaces |
| JP3245364B2 (ja) * | 1996-09-02 | 2002-01-15 | 株式会社日立製作所 | 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム |
| US6304940B1 (en) * | 1997-08-14 | 2001-10-16 | International Business Machines Corporation | Shared direct access storage system for MVS and FBA processors |
| US6112277A (en) * | 1997-09-25 | 2000-08-29 | International Business Machines Corporation | Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format |
| US5893159A (en) * | 1997-10-22 | 1999-04-06 | International Business Machines Corporation | Methods and apparatus for managing scratchpad memory in a multiprocessor data processing system |
| US6173360B1 (en) * | 1998-01-09 | 2001-01-09 | International Business Machines Corporation | Apparatus and method for allowing existing ECKD MVS DASD using an ESCON interface to be used by an open storage using SCSI-type interface |
| US6041386A (en) * | 1998-02-10 | 2000-03-21 | International Business Machines Corporation | Data sharing between system using different data storage formats |
| US6324604B1 (en) | 1998-07-07 | 2001-11-27 | Emc Corporation | Magnetic disk storage for storing data in disk block size from fixed length of host block in non-integer multiple of the disk block size |
| GB2339368A (en) * | 1998-07-08 | 2000-01-19 | Ibm | Data communications protocol with efficient packing of datagrams |
| JP2000047972A (ja) * | 1998-07-29 | 2000-02-18 | Hitachi Ltd | 入出力制御方式 |
| US6496901B1 (en) | 1999-09-22 | 2002-12-17 | Storage Technology Corporation | Mapping variable size data blocks into a fixed block structure |
| US6636942B2 (en) | 2001-10-05 | 2003-10-21 | International Business Machines Corporation | Storage structure for storing formatted data on a random access medium |
| US7000083B2 (en) * | 2003-06-06 | 2006-02-14 | International Business Machines Corp. | Resynchronization of count key data with its corresponding meta data |
| US7136974B2 (en) | 2003-06-19 | 2006-11-14 | Pillar Data Systems, Inc. | Systems and methods of data migration in snapshot operations |
| WO2007040428A1 (en) * | 2005-10-04 | 2007-04-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for providing messaging using appropriate communication protocol |
| US9032154B2 (en) * | 2007-12-13 | 2015-05-12 | Sandisk Technologies Inc. | Integration of secure data transfer applications for generic IO devices |
| US8910031B1 (en) * | 2011-03-29 | 2014-12-09 | Emc Corporation | DIF-CRC based fast hashing |
| US10509707B1 (en) * | 2016-12-15 | 2019-12-17 | EMC IP Holding Company LLC | Selective data mirroring |
| US10734016B2 (en) | 2018-08-21 | 2020-08-04 | Marvell Asia Pte, Ltd. | Pulse-based writing for magnetic storage media |
| US12197738B2 (en) | 2019-01-31 | 2025-01-14 | Marvell Asia Pte, Ltd. | Health management for magnetic storage media |
| US11450348B2 (en) | 2019-01-31 | 2022-09-20 | Marvell Asia Pte, Ltd. | Health management for magnetic storage media |
| CN113474838B (zh) * | 2019-02-26 | 2023-04-21 | 马维尔亚洲私人有限公司 | 用于改善磁存储介质数据可靠性的方法、装置和片上系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5206939A (en) * | 1990-09-24 | 1993-04-27 | Emc Corporation | System and method for disk mapping and data retrieval |
| EP0559142A2 (en) * | 1992-03-06 | 1993-09-08 | Mitsubishi Denki Kabushiki Kaisha | Data storage format conversion method and system, data access method and access control apparatus |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4223390A (en) * | 1976-02-02 | 1980-09-16 | International Business Machines Corporation | System and method for attaching magnetic storage devices having dissimilar track capacities and recording formats |
| DE3228359A1 (de) * | 1982-07-29 | 1984-02-09 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zum adressieren eines plattenspeichers in einer datensignale verarbeitenden anlage, insbesondere fernschreib- und datenvermittlungsanlage |
| US5455926A (en) * | 1988-04-05 | 1995-10-03 | Data/Ware Development, Inc. | Virtual addressing of optical storage media as magnetic tape equivalents |
| US5301304A (en) * | 1988-05-20 | 1994-04-05 | International Business Machines Corporation | Emulating records in one record format in another record format |
| US5200864A (en) * | 1989-06-28 | 1993-04-06 | International Business Machines Corporation | Combining small records into a single record block for recording on a record media |
| US5274772A (en) * | 1989-06-28 | 1993-12-28 | International Business Machines Corporation | Data processing systems having means for selectively combining records into signal blocks for recording in a record medium |
| US5210660A (en) * | 1990-01-17 | 1993-05-11 | International Business Machines Corporation | Sectored servo independent of data architecture |
| US5247638A (en) * | 1990-06-18 | 1993-09-21 | Storage Technology Corporation | Apparatus for compressing data in a dynamically mapped virtual data storage subsystem |
| US5157770A (en) * | 1990-08-31 | 1992-10-20 | International Business Machines Corporation | Nonsynchronous dasd control |
| US5202799A (en) * | 1991-06-24 | 1993-04-13 | Ibm Corporation | Logical data tracks extending among a plurality of zones of physical tracks of one or more disk devices |
| JP2851982B2 (ja) * | 1992-04-17 | 1999-01-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 情報処理装置 |
| US5394534A (en) * | 1992-09-11 | 1995-02-28 | International Business Machines Corporation | Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium |
| US5459853A (en) * | 1992-11-23 | 1995-10-17 | International Business Machines Corporation | Efficient variable-block data storage system employing a staggered fixed-block-architecture array |
-
1994
- 1994-10-18 JP JP6251985A patent/JP2557203B2/ja not_active Expired - Fee Related
- 1994-11-25 CN CN94119802A patent/CN1077305C/zh not_active Expired - Lifetime
- 1994-12-02 SG SG1996000402A patent/SG43740A1/en unknown
- 1994-12-02 DE DE69421370T patent/DE69421370T2/de not_active Expired - Fee Related
- 1994-12-02 EP EP94308953A patent/EP0660323B1/en not_active Expired - Lifetime
-
1995
- 1995-03-27 US US08/411,068 patent/US5581743A/en not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5206939A (en) * | 1990-09-24 | 1993-04-27 | Emc Corporation | System and method for disk mapping and data retrieval |
| EP0559142A2 (en) * | 1992-03-06 | 1993-09-08 | Mitsubishi Denki Kabushiki Kaisha | Data storage format conversion method and system, data access method and access control apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1122926A (zh) | 1996-05-22 |
| EP0660323A2 (en) | 1995-06-28 |
| EP0660323B1 (en) | 1999-10-27 |
| JPH07210322A (ja) | 1995-08-11 |
| US5581743A (en) | 1996-12-03 |
| JP2557203B2 (ja) | 1996-11-27 |
| EP0660323A3 (en) | 1997-08-06 |
| SG43740A1 (en) | 1997-11-14 |
| DE69421370T2 (de) | 2000-05-11 |
| DE69421370D1 (de) | 1999-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1077305C (zh) | 把计数键数据记录映射到固定块结构的方法及装置 | |
| US6278566B1 (en) | Method and apparatus for increasing disc drive performance | |
| US8095577B1 (en) | Managing metadata | |
| US6049848A (en) | System and method for performing high-speed tape positioning operations | |
| US6449689B1 (en) | System and method for efficiently storing compressed data on a hard disk drive | |
| US8145843B2 (en) | Deduplication of data on disk devices using low-latency random read memory | |
| US6028725A (en) | Method and apparatus for increasing disc drive performance | |
| US7155569B2 (en) | Method for raid striped I/O request generation using a shared scatter gather list | |
| US8620640B2 (en) | Emulated storage system | |
| US9584312B2 (en) | Methods and systems for storing and retrieving data | |
| US7085895B2 (en) | Apparatus, system, and method flushing data from a cache to secondary storage | |
| US6671772B1 (en) | Hierarchical file system structure for enhancing disk transfer efficiency | |
| US5237675A (en) | Apparatus and method for efficient organization of compressed data on a hard disk utilizing an estimated compression factor | |
| US9875033B2 (en) | Apparatus and method for minimizing data storage media fragmentation | |
| US6748486B2 (en) | Method, system, and data structures for superimposing data records in a first data format to memory in a second data format | |
| US5802344A (en) | Method and apparatus for dynamic segment allocation in log structured arrays | |
| CN1934530A (zh) | 虚拟带服务器中虚拟卷数据的动态载入 | |
| US6904508B2 (en) | Recovery of dynamic maps and data managed thereby | |
| CN1684049A (zh) | 信息存储装置,信息存储方法以及信息存储处理程序产品 | |
| US20090006740A1 (en) | Data structure for highly efficient data queries | |
| JPH06175894A (ja) | データ処理システムの非特殊データ検索方法とそのシステム | |
| CN1118758C (zh) | 即插即用的超大容量虚拟光盘存储系统的实现方法 | |
| WO2000013180A1 (en) | Improved method for providing variable sector-format operation to a computer system | |
| Hagmann | Low latency logging | |
| US7146485B1 (en) | Rebuilding of dynamic maps and data managed thereby |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C06 | Publication | ||
| PB01 | Publication | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C17 | Cessation of patent right | ||
| CX01 | Expiry of patent term |
Expiration termination date: 20141125 Granted publication date: 20020102 |