• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 12
    • 下载费用:30 金币  

    重庆时时彩计划端: 快速读写海量数据文件的方法.pdf

    关 键 词:
    快速 读写 海量 数据文件 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010118129.4

    申请日:

    2010.03.04

    公开号:

    CN102193873A

    公开日:

    2011.09.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 12/08申请日:20100304|||公开
    IPC分类号: G06F12/08 主分类号: G06F12/08
    申请人: 中国科学院微电子研究所
    发明人: 吴玉平; 陈岚; 叶甜春
    地址: 100029 北京市朝阳区北土城西路3号B-615
    优先权:
    专利代理机构: 北京市德权律师事务所 11302 代理人: 王建国
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010118129.4

    授权公告号:

    102193873B||||||

    法律状态公告日:

    2013.06.05|||2011.11.23|||2011.09.21

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

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

    权利要求书

    1.一种快速读写海量数据文件的方法,其特征在于,包括:对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。2.根据权利要求1所述的方法,其特征在于,所述海量数据文件为物理版图数据。3.根据权利要求2所述的方法,其特征在于,该方法进一步包括:将一定长度的硬盘中的物理版图数据一次性地读入到内存的存储页面。4.根据权利要求2或3所述的方法,其特征在于,所述数据分类的依据是物理版图数据的内容,同一类型的物理版图数据其占用存储空间的字节数相同,从而将不同存储长度的物理版图数据分开存储。5.根据权利要求4所述的方法,其特征在于,所述申请的存储页面为计算机系统内存中的存储页面,所有数据类型的物理版图数据的存储页面大小相同。6.根据权利要求5所述的方法,其特征在于,所述物理版图数据的存储页面包括页头和页芯,所述页头存储该页面的页内管理信息,所述页芯连续存储至少一个该类型的数据单位,并且一个存储页面在页芯部分只存储同一个类型的数据;当申请到实际存储空间之后,在所述页头内的固定位置填写本页面的页内管理信息,并根据实际存储类型数据的首地址和存储一个该类型数据所需的字节数划分每一数据单位的存储空间的地址,在页芯的相应位置写入该类型物理版图数据。7.根据权利要求6所述的方法,其特征在于,所述页内管理信息具体包括:页面的序号、页面的数据类型、该类型数据的长度、实际存储类型数据的首地址。8.根据权利要求3所述的方法,其特征在于,所述将硬盘中的物理版图数据读入到内存的存储页面具体包括:在将物理版图数据从硬盘读入到内存时,在每一个读入操作之前申请固定大小的内存存储页面,将硬盘中的物理版图数据文件内的存储页面镜像读入该内存存储页面。

    说明书

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

    技术领域

    本发明涉及电子设计自动化(EDA)领域,特别是一种快速读写海量数据文件的方法。

    背景技术

    物理版图数据文件是系统集成电路芯片(SOC)设计中数据量最大的文件,目前已有的SOC电路的物理版图数据文件的大小规模在几个GB到几十个GB量级,随着集成电路工艺的不断发展和设计技术的不断进步,SOC电路的物理版图数据规模将达到几百个GB的量级。

    在SOC设计流程中,对物理版图数据的读写较为频繁:物理综合需要写出物理版图数据;物理版图优化需要读取和写出物理版图数据;几何设计规则检查需要读取物理版图数据;寄生参数提取需要读取物理版图数据;电路图和物理版图一致性检查(LVS)需要读取物理版图数据;可制造性设计优化(DFM)需要读取物理版图数据。

    传统的数据输入输出方式是基于最小基本数据单位进行的,需要在计算机内存中逐一构造每一基本数据单位。以传统的数据输入输出方式读写物理版图数据文件规模的数据,一次就需要几十分钟甚至几十个小时,而在设计流程中,尤其是在设计流程的后端,需要频繁地读取如此规模的数据,这使得海量规模的物理版图数据输入输出成为了集成电路设计过程中的一个重要瓶颈。

    发明内容

    本发明的目的之一在于提供一种快速读写海量数据文件的方法,用于在集成电路设计过程中,提高海量规模的物理版图数据输入输出的效率。

    本发明的实施例提供了一种快速读写海量数据文件的方法,包括:

    对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。

    本发明通过将相同类型的物理版图数据存储到内存中的同一存储页面,而所有物理版图数据存储页面的大小是相同的,能够简化和加速存储页面的创建、导入和导出,并且存储页面的大小为计算机内存页面大小,这样能够减小内存碎片,提高内存使用效率。在将存储页面的内容写到硬盘时,忽略内存中具体存储位置上的数据属于哪一个具体的数据类型和占据多少数据单位,而是将该存储页面的镜像数据写入硬盘的相应文件;在将硬盘中的物理版图数据读入内存时,内存存储页面的数据镜像在硬盘数据文件中得到了保留,重新读回到内存存储页面的数据保留了各自原先在存储页面内的位置。从而无需关注具体的数据类型和具体的数据单位以及具体数据单位的重构,避免了全部数据的逐一重构,提高了读写速度,实现了计算机存储器和硬盘之间快速读写海量集成电路物理版图数据。

    附图说明

    图1是本发明实施例提供的快速读写海量数据文件的方法流程图;

    图2是本发明实施例中物理版图数据存储页面的结构图;

    图3是本发明实施例中为物理版图数据申请存储页面的示意图;

    图4是本发明实施例中将物理版图数据存储页面写入硬盘的示意图;

    图5是本发明实施例中从硬盘数据文件向内存存储页面读入存储页面镜像的示意图。

    具体实施方式

    本发明的技术方案可应用于物理综合、物理验证、寄生参数提取等集成电路设计的自动化软件中,在计算机存储器和硬盘之间快速读写集成电路设计中产生的海物理版图数据文件,可有效地回避集成电路设计过程中的海量物理版图数据输入输出所带来的设计瓶颈。

    为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

    图1是本实施例提供的快速读写海量数据文件的方法流程图,包括以下步骤:

    步骤101、对物理版图数据的数据类型进行分类。物理版图数据分类的依据是物理版图数据的内容,同一类型的物理版图数据其存储空间的字节数相同,根据类型分类的目的是将不同存储长度的物理版图数据分开存储。

    举例说明,数据类型可以分为LibHeaderRecord,CellNameRecord,LibCatalogRecord,ChangeNameRecord,CellHeaderRecord,PropertySetRecord,DisplayPropRecord,PropertyRecord,RectangleRecord,GdsRectRecord,ValueRectangleRecord,ViaRecord,ViaArrayRecord,OffsetViaArrayRecord,PolyRecord,PathRecord,WireRecord等,但不仅限于这些,根据实际应用可以进一步增加。下面是对Poly、Path、Wire类型数据的定义:

    struct?PolyRecord{

    ObjectId????m_propertyListId;

    ObjectId????m_netId;

    BBox?????????m_bBox;

    LayerNumber?m_layerNumber;

    DataType????m_dataType;

    UChar????????m_flags;

    ObjectId??m_pointId;

    }PolyRecord;

    struct?PathRecord{

    ObjectId????m_propertyListId;

    ObjectId????m_netId;

    BBox?????????m_bBox;

    LayerNumber?m_layerNumber;

    DataType????m_dataType;

    UChar????????m_flags;

    int?????????m?pathWidth;

    ObjectId?pointId;

    };

    struct?WireRecord{

    ObjectId????m_propertyListId;

    ObjectId????m_netId;

    Point???????m_point;

    Coordinate??m?length;

    Coordinate??m_width;

    LayerNumber??m_layerNumber;

    DataType??????m_dataType;

    UChar?????????m_flags;

    }。

    步骤102、为不同数据类型的物理版图数据申请存储页面,该存储页面对应计算机系统内存中的存储页面。所有数据类型的物理版图数据的存储页面大小相同,物理版图数据存储页面如图2。

    物理版图数据存储页面分为页头和页芯两部分,页头存储该页面的序号、页面的数据类型、该类型数据的长度、实际存储类型数据的首地址等页内管理信息;页芯存储若干该类型的数据单位。所有数据类型的物理版图数据存储页面的大小相同,该存储页面分为信息位置固定的页头和信息位置可变的页芯:页头部分存储管理信息;页芯部分连续存储数据单位。一个存储页面在页芯部分只存储同一个类型的数据,并记录若干数据单位。在申请实际存储空间之后,需要在页头内的固定位置填写本页面的管理信息,其中包括在固定位置处标定页面属性,并根据实际存储类型数据的首地址和存储一个该类型数据所需的字节数计算每一数据单位的存储空间的地址,因此需要对存储页面内部进行二次划分,如图3。页芯部分相邻数据单位之间的地址偏移量为数据的字节数,页芯首字节相对页面内首字节其地址偏移量是固定的,即页头的大小固定。

    物理版图数据存储页面的数据结构如下:

    struct?Page{

    Bit32??m_pageID;/*页头开始*/

    UShort?m_maxRecOnPage;

    UShort?m_flags;/*存储数据类型标志*/

    CellId?m_cellId;/*页头结束*/

    char????m_pageData[PAGE_DATA_SIZE];/*页芯部分*/

    };Page部分存储与数据类型有关。

    在下述结构中,从m_pageID到m_cellID10个字节为页头,而m_pageData以后即从页面内的第11个字节开始的后续8192-10=8182个字节为页芯,页芯首字节相对页面内首字节其地址偏移量是从m_pageID到m_cellID所占存储空间决定,此例中页芯首字节相对页面内首字节其地址偏移量是10,m_flags的位值标定页面属性,存储指定的类型的物理版图数据。需要说明的是这里举例的页头仅仅是用于说明,实际应用和实现时页头的内容根据需要会有所改变。

    所有物理版图存储页面的大小是相同的,以简化和加速存储页面的创建、导入和导出。存储页面的大小与操作系统指定的页面大小一致,如在LINUX上页面的大小为8192字节。

    步骤103、将相同类型的数据存储到内存中的同一存储页面。在计算机内部,需要通过申请来构造页面,因为所有存储页面的大小相同,则其在通过操作系统申请存储空间时,申请到的存储空间大小也相同,其值为计算机内存页面大小,这样能够减小内存碎片,提高内存使用效率。

    在得到相应的内存存储空间之后,针对物理版图数据存储页面,需要将该页面的序号、页面的数据类型、该类型数据的长度、实际存储类型数据的首地址等信息写入页头,并在位置固定的页芯起始位置,根据该页面所存数据的具体类型及其所占空间的大小,将页芯细分成存储若干同类型数据的存储单位,计算出存储数据单位的地址。在前述的物理版图数据存储页面的数据结构中,从m_pageID到m_cellID10个字节为页头,而m_pageData以后即从页面内的第11个字节开始的后续8192-10=8182个字节为页芯,页芯首字节相对页面内首字节其地址偏移量是从m_pageID到m_cellID所占存储空间决定,此例中页芯首字节相对页面内首字节其地址偏移量是10,存储指定的类型的物理版图数据。存储页面内第一个物理数据单元地址为页面首字节地址+10,第二个物理数据单元地址为页面首字节地址+10+SIZEOF(该类型的物理数据单元的大小),第N个物理数据单元地址为页面首字节地址+10+SIZEOF(该类型的物理数据单元的大小)×(N-1)。

    步骤104、利用存储页面到硬盘的快速写入,将存储页面内的全部物理版图数据一次性地写入硬盘。在将存储页面的内容写到硬盘时,忽略内存中具体存储位置上的数据属于哪一个具体的数据类型和占据多少数据单位,而是将该存储页面的镜像数据写入硬盘的相应文件。图4是将物理版图数据存储页面写入硬盘的示意图。以C/C++程序为例,以fwrite(buffer,size,count,fp)函数将整个存储页面上的全部数据一次性的写入硬盘。buffer为页面的首地址;size为1,表示要写入的基本单位为1个字节;count为要写的基本单位数,在本实施例中为存储页面所包含的字节数;fp为输出的物理版图数据文件的指针,是在写文件之前通过fopen函数根据指定文件名打开或创建数据文件时所得到的文件指针,该指针用于向指定文件写数据)。

    步骤105、将一定长度的硬盘数据一次性地读入到内存的存储页面,从而实现原来存储页面内的若干物理版图数据一次性的读入。在将物理版图数据从硬盘读入到内存时,在每一个读入操作之前申请固定大小的内存存储页面,将硬盘中的物理版图数据文件内的存储页面镜像读入该内存存储页面。以C/C++程序为例,以fread(buffer,size,count,fp)函数将存储在若干扇区上固定长度的信息读入到该存储页面,buffer为页面的首地址,size为1个字节,count为页面的字节数,fp为输出的物理版图数据文件的指针。然后,根据存储页面固定位置的数据值(标志字节,由前述页面结构Page中的m_flags的位值决定,具体如何标识所存数据类型取决于实际实现时的定义)自动区分物理版图数据存储页面。因为内存存储页面的数据镜像在硬盘数据文件中得到了保留,重新读回到内存存储页面的数据保留了各自原先在存储页面内的位置,避免了全部数据的逐一重构。最后,根据页头中存储的页面的序号、页面的数据类型、该类型数据的长度、实际存储类型数据的首地址计算每一数据单位的存储空间的地址,以便后续程序对这些数据的访问。

    图5为从硬盘数据文件向内存存储页面读入存储页面镜像,自动构造物理版图数据存储页面。

    特别说明的是,本实施例列出的数据类型、页头的内容等仅是用于说明发明所及方法,根据实际的实现和应用,数据类型、页头等可根据需要进行增加或裁减。

    总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的?;し段?。

    关于本文
    本文标题:快速读写海量数据文件的方法.pdf
    链接地址://www.4mum.com.cn/p-5866081.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 浙江舟山飞鱼开奖结果 河南麻将必备的技巧 棋牌游戏赚钱可以提现 体彩排列五走势图彩吧助手 玄武棋牌二八杠 南京有中彩票大奖的吗 pc蛋蛋预测源码 黑龙江11选5开奖视频 大家发一肖中特平特一肖期期公开 江苏福彩网 大圣捕鱼免费下载 北京快3公交车时间表 黑龙江p62开奖结果今天晚上 易发游戏输钱的进 cs五分彩是什么 五子棋怎么玩