快速读写海量数据文件的方法技术

技术编号:6533411 阅读:272 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种快速读写海量数据文件的方法,包括:对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。本发明专利技术无需关注具体的数据类型和具体的数据单位以及具体数据单位的重构,避免了全部数据的逐一重构,提高了读写速度,实现了计算机存储器和硬盘之间快速读写海量集成电路物理版图数据。

【技术实现步骤摘要】

本专利技术涉及电子设计自动化(EDA)领域,特别是一种。
技术介绍
物理版图数据文件是系统集成电路芯片(SOC)设计中数据量最大的文件,目前已有的SOC电路的物理版图数据文件的大小规模在几个GB到几十个GB量级,随着集成电路工艺的不断发展和设计技术的不断进步,SOC电路的物理版图数据规模将达到几百个GB的量级。在SOC设计流程中,对物理版图数据的读写较为频繁物理综合需要写出物理版图数据;物理版图优化需要读取和写出物理版图数据;几何设计规则检查需要读取物理版图数据;寄生参数提取需要读取物理版图数据;电路图和物理版图一致性检查(LVS)需要读取物理版图数据;可制造性设计优化(DFM)需要读取物理版图数据。传统的数据输入输出方式是基于最小基本数据单位进行的,需要在计算机内存中逐一构造每一基本数据单位。以传统的数据输入输出方式读写物理版图数据文件规模的数据,一次就需要几十分钟甚至几十个小时,而在设计流程中,尤其是在设计流程的后端,需要频繁地读取如此规模的数据,这使得海量规模的物理版图数据输入输出成为了集成电路设计过程中的一个重要瓶颈。
技术实现思路
本专利技术的目的之一在于提供一种,用于在集成电路设计过程中,提高海量规模的物理版图数据输入输出的效率。本专利技术的实施例提供了一种,包括对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。本专利技术通过将相同类型的物理版图数据存储到内存中的同一存储页面,而所有物理版图数据存储页面的大小是相同的,能够简化和加速存储页面的创建、导入和导出,并且存储页面的大小为计算机内存页面大小,这样能够减小内存碎片,提高内存使用效率。在将存储页面的内容写到硬盘时,忽略内存中具体存储位置上的数据属于哪一个具体的数据类型和占据多少数据单位,而是将该存储页面的镜像数据写入硬盘的相应文件;在将硬盘中的物理版图数据读入内存时,内存存储页面的数据镜像在硬盘数据文件中得到了保留,重新读回到内存存储页面的数据保留了各自原先在存储页面内的位置。从而无需关注具体的数据类型和具体的数据单位以及具体数据单位的重构,避免了全部数据的逐一重构,提高了读写速度,实现了计算机存储器和硬盘之间快速读写海量集成电路物理版图数据。附图说明图1是本专利技术实施例提供的流程图;图2是本专利技术实施例中物理版图数据存储页面的结构图;图3是本专利技术实施例中为物理版图数据申请存储页面的示意图;图4是本专利技术实施例中将物理版图数据存储页面写入硬盘的示意图;图5是本专利技术实施例中从硬盘数据文件向内存存储页面读入存储页面镜像的示意图。具体实施例方式本专利技术的技术方案可应用于物理综合、物理验证、寄生参数提取等集成电路设计的自动化软件中,在计算机存储器和硬盘之间快速读写集成电路设计中产生的海物理版图数据文件,可有效地回避集成电路设计过程中的海量物理版图数据输入输出所带来的设计瓶颈。为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术作进一步的详细描述。图1是本实施例提供的流程图,包括以下步骤步骤101、对物理版图数据的数据类型进行分类。物理版图数据分类的依据是物理版图数据的内容,同一类型的物理版图数据其存储空间的字节数相同,根据类型分类的目的是将不同存储长度的物理版图数据分开存储。举例说明,数据类型可以分为LibHeaderRecord,CellNameRecord, LibCatalogRecord, ChangeNameRecord, CelIHeaderRecord, PropertySetRecord, DisplayPropRecord, PropertyRecord, RectangleRecord, GdsRectRecord, ValueRectangleRecord, ViaRecord, ViaArrayRecord, OffsetViaArrayRecord, PolyRecord, PathRecord, WireRecord等,但不仅限于这些,根据实际应用可以进一步增加。 下面是对Poly、Path、Wire类型数据的定义struct PolyRecord{ObjectId m_propertyListId ;ObjectId m_netld ;BBoxm_bBox ;LayerNumber m_layerNumber ;DataType m_dataType ;UCharm_flags ;ObjectId m_pointId ;} PolyRecord;struct PathRecord{ObjectId m_propertyListId ;ObjectId m_netld ;BBoxm_bBox ;LayerNumber m_layerNumber ;DataType m_dataType ;UCharm_flags ;intm pathffidth ;ObjectId pointld ;};struct WireRecord{ObjectId m_propertyListId ;ObjectId m_netld ;Pointm一point ;Coordinate m length ;Coordinate m_width ;LayerNumber m_layerNumber ;DataTypem_dataType ;UCharm_flags ;}。步骤102、为不同数据类型的物理版图数据申请存储页面,该存储页面对应计算机系统内存中的存储页面。所有数据类型的物理版图数据的存储页面大小相同,物理版图数据存储页面如图2。物理版图数据存储页面分为页头和页芯两部分,页头存储该页面的序号、页面的数据类型、该类型数据的长度、实际存储类型数据的首地址等页内管理信息;页芯存储若干该类型的数据单位。所有数据类型的物理版图数据存储页面的大小相同,该存储页面分为信息位置固定的页头和信息位置可变的页芯页头部分存储管理信息;页芯部分连续存储数据单位。一个存储页面在页芯部分只存储同一个类型的数据,并记录若干数据单位。在申请实际存储空间之后,需要在页头内的固定位置填写本页面的管理信息,其中包括在固定位置处标定页面属性,并根据实际存储类型数据的首地址和存储一个该类型数据所需的字节数计算每一数据单位的存储空间的地址,因此需要对存储页面内部进行二次划分,如图3。页芯部分相邻数据单位之间的地址偏移量为数据的字节数,页芯首字节相对页面内首字节其地址偏移量是固定的,即页头的大小固定。物理版图数据存储页面的数据结构如下struct Page{Bit32 m_pageID ;/* 页头开始 */UShort m_maxRec0nPage ;UShort m_flags ;/*存储数据类型标志*/CellId m_cellld ;/* 页头结束 */char m_pageData[PAGE_DATA_SIZE] ;/* 页芯部分 */} ;I^age部分存储与数据类型有关。在下述结构中,从m_pageID到111_06111010个字节为页头,而m_pageData以后即从页面内的第11个字节开始的后续8192-10 = 8182个字节为页芯本文档来自技高网...

【技术保护点】
1.一种快速读写海量数据文件的方法,其特征在于,包括:对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。

【技术特征摘要】
1.一种快速读写海量数据文件的方法,其特征在于,包括对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。2.根据权利要求1所述的方法,其特征在于,所述海量数据文件为物理版图数据。3.根据权利要求2所述的方法,其特征在于,该方法进一步包括将一定长度的硬盘中的物理版图数据一次性地读入到内存的存储页面。4.根据权利要求2或3所述的方法,其特征在于,所述数据分类的依据是物理版图数据的内容,同一类型的物理版图数据其占用存储空间的字节数相同,从而将不同存储长度的物理版图数据分开存储。5.根据权利要求4所述的方法,其特征在于,所述申请的存储页面为计算机系统内存中的存储页面,所有数据类型的物理版图数据的存储页面大小相同。6.根据权利要求5所述的方法,...

【专利技术属性】
技术研发人员:吴玉平陈岚叶甜春
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1