CN105094709A - 一种固态盘存储系统的动态数据压缩方法 - Google Patents

一种固态盘存储系统的动态数据压缩方法 Download PDF

Info

Publication number
CN105094709A
CN105094709A CN201510534936.7A CN201510534936A CN105094709A CN 105094709 A CN105094709 A CN 105094709A CN 201510534936 A CN201510534936 A CN 201510534936A CN 105094709 A CN105094709 A CN 105094709A
Authority
CN
China
Prior art keywords
data
compression
solid
read
write
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.)
Pending
Application number
CN201510534936.7A
Other languages
English (en)
Inventor
毛波
吴素贞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen University
Inspur Electronic Information Industry Co Ltd
Original Assignee
Xiamen University
Langchao Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen University, Langchao Electronic Information Industry Co Ltd filed Critical Xiamen University
Priority to CN201510534936.7A priority Critical patent/CN105094709A/zh
Publication of CN105094709A publication Critical patent/CN105094709A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种固态盘存储系统的动态数据压缩方法,涉及计算机存储领域。充分利用存储系统中数据的冗余特性,通过动态的数据压缩技术减少这些冗余信息,减少写入的数据量,以此来缓解固态盘读写性能不对称的问题,同时提升固态盘的空间利用率和可靠性。在固态盘存储系统上设置压缩位图表和三个功能模块:负载监测模块、数据压缩模块和数据解压缩模块,由请求类型判断步骤、数据的压缩写入步骤和数据的解压缩读取步骤组成。根据系统的当前负载状态,动态地对写入的数据进行压缩,既不影响系统的服务能力,又能对写入数据进行充分的压缩,更多地减少写入数据,提升固态盘存储设备的性能和可靠性。

Description

一种固态盘存储系统的动态数据压缩方法
技术领域
本发明涉及计算机存储领域,尤其是涉及一种固态盘存储系统的动态数据压缩方法。
背景技术
作为一种主流的存储介质,磁盘已经广泛应用于个人电脑和企业级数据存储等领域,但是其机械特性限制了其读写性能的快速提升,基于磁盘的存储设备渐渐成为存储系统的性能“墙”。目前,基于闪存的固态盘已成为磁盘的有力替代品,并且得到了学术界和工业界的广泛关注。和磁盘相比,基于闪存的固态盘是一种半导体存储介质,没有机械部件,具有经久耐用、防震抗摔、无噪音、功耗低、工作温度范围大、随机小读性能高等优点;但是固态盘的容量价格比低,而且存在随机小写性能低、写前必须擦除和介质擦除次数有限等缺点。
基于闪存的固态盘包含3种基本操作:读、写和擦除。读和写都以页为单位进行操作;擦除以块为单位进行操作。一个块(块大小通常是128~256KB)一般包含64个页(页大小通常是2~4KB)。擦除操作的处理时间比读写操作处理时间大若干个数量级。如果某个页已经存储有效数据就无法对该页进行覆盖写操作,而是将原数据页的数据置为无效,将新数据写入到其他空闲页中。随着系统的运行,固态盘中的空闲块越来越少,无效数据页越来越多,因此需要擦除这些包含无效数据页的非空闲块以获得新的空闲块,该操作称为“垃圾回收”。固态盘的垃圾回收过程是:首先选取待回收的块,将该块的有效数据页复制到空闲块中,更新地址映射信息,然后擦除待回收块并将其加入空闲块列表中。这个垃圾回收的过程会消耗较多的时间。而且,当固态盘中的某个芯片正在处理垃圾回收操作时无法同时处理来自用户的读写请求,此时该芯片接收到的读写请求都将被挂起,直到垃圾回收操作完成才能被处理。因此,垃圾回收操作的效率直接影响了固态盘存储系统的性能,这个问题已成为存储研究的热点之一。
数据压缩技术是指缩减数据量,用比源数据少的数据位表示信息的过程。该技术按照一定算法或规则对源数据进行重新组织,减少冗余数据和所需要的存储空间,提高数据的传输、存储和处理效率。在数字信息化高速发展的今天,数据压缩技术已经成为一项关键的通用技术。
不同的压缩算法对同一种数据源有不同的压缩比和压缩速率,一般来说,压缩比越高,消耗的系统资源(比如CPU、内存)越多、压缩速率越慢;不同的数据源对于同一种压缩算法也有不同的压缩比和压缩速率。
相比于传统的机械磁盘,固态盘具有性能优势,在商业应用中得到越来越广泛的应用。为了满足海量数据应用和各种层次的可靠性需求,基于固态盘的存储系统也被越来越多广泛的应用。但是,基于固态盘的存储系统所固有的写放大问题、有限的擦除次数、读写速度不对称等特性对固态盘存储系统的性能带来的负面影响显得越来越不容忽视。C.Li,P.Shilan,F.Douglis,H.Shim,andS.Smaldone.Nitro:Acapacity-optimizedSSDcacheforprimarystorage.Proceedingsof2014USENIXAnnualTechnicalConference.Philadelphia,PA,USA,2014.
发明内容
本发明的目的是针对现有的固态盘存储系统存在的上述不足,提供一种固态盘存储系统的动态数据压缩方法,用于在不影响存储系统对外服务性能的前提下,提升固态盘存储系统的空间利用率和可靠性。
本发明包括以下步骤:
(1)请求类型判断步骤,具体过程如下:
从上层获得请求,判断该请求是否是写请求,若是,则转步骤(2),否则转步骤(3);
(2)数据的压缩写入步骤,具体过程如下:
(2.1)负载监测模块从系统提供的接口获取系统当前的负载情况(即系统每秒处理的读写请求的个数);按照一定的权重比,运算得到一个衡量系统当前负载情况的数值,并将该数值保存在负载状态变量中;转过程(2.2);
在步骤(2)第(2.1)过程中,所述获取当前系统资源的使用情况,主要包括系统的内存资源和CPU资源的使用率、网络端口的延时情况等参数;
(2.2)负载监测模块判断负载状态变量的值是否高于系统设定的高阈值,若是,则转过程(2.3),否则判断负载状态变量的值是否低于系统设定的低阈值,若是,则转过程(2.4),否则转过程(2.5);
(2.3)数据压缩模块采用低压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为低压缩,转过程(2.6);
(2.4)数据压缩模块采用高压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为高压缩,转过程(2.6);
(2.5)数据压缩模块采用中压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为中压缩,转过程(2.6);
(2.6)数据压缩模块将压缩后的数据写入固态盘设备,写请求完成,转步骤(1);
(3)数据的解压缩读取步骤,具体过程如下:
(3.1)数据解压缩模块从固态盘设备读取数据,从压缩位图表读取读请求地址对应的压缩标记值,判断压缩标记值是否为高压缩,若是,则转过程(3.2),否则判断压缩标记值是否为低压缩,若是,则转过程(3.3),否则转过程(3.4);
(3.2)采用高压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.3)采用低压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.4)采用中压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.5)返回解压缩后的数据,读请求完成,转步骤(1)。
本发明的固态盘阵列上设置负载监测模块、数据压缩模块和数据解压缩模块,包括请求类型判断步骤、数据的压缩写入步骤和数据的解压缩读取步骤。
在本发明中,动态数据压缩方法通过实时监测系统的负载变化和资源使用率,根据系统当前的负载情况动态地选择合适的压缩算法对数据进行压缩,在不影响系统对外服务质量的前提下,获得最大的数据压缩比,从而提高固态盘存储系统的性能和可靠性。
本发明根据系统当前的负载情况动态地选择不同压缩率的数据压缩算法,充分利用系统资源,在不影响系统对外服务质量的前提下,尽可能最大化地压缩写入的数据,减少数据对固态盘存储系统的写入操作,从而缓解固态盘读写性能不对称的问题,同时提升固态盘的空间利用率和可靠性。
附图说明
图1为本发明的示意图;
图2为本发明数据的压缩写入步骤的示意图;
图3为本发明数据的解压缩读取步骤的示意图。
具体实施方式
以下实施例将结合附图对本发明作进一步说明。
本发明实施例包括以下步骤:
(1)请求类型判断步骤,具体过程如下:
从上层获得请求,判断该请求是否是写请求,若是,则转步骤(2),否则转步骤(3);
(2)数据的压缩写入步骤,具体过程如下:
(2.1)负载监测模块从系统提供的接口获取系统当前的负载情况(即系统每秒处理的读写请求的个数);所述获取当前系统资源的使用情况,主要包括系统的内存资源和CPU资源的使用率、网络端口的延时情况等参数;按照一定的权重比,运算得到一个衡量系统当前负载情况的数值,并将该数值保存在负载状态变量中;转过程(2.2);
(2.2)负载监测模块判断负载状态变量的值是否高于系统设定的高阈值,若是,则转过程(2.3),否则判断负载状态变量的值是否低于系统设定的低阈值,若是,则转过程(2.4),否则转过程(2.5);
(2.3)数据压缩模块采用低压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为低压缩,转过程(2.6);
(2.4)数据压缩模块采用高压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为高压缩,转过程(2.6);
(2.5)数据压缩模块采用中压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为中压缩,转过程(2.6);
(2.6)数据压缩模块将压缩后的数据写入固态盘设备,写请求完成,转步骤(1);
(3)数据的解压缩读取步骤,进行下列过程:
(3.1)数据解压缩模块从固态盘设备读取数据,从压缩位图表读取读请求地址对应的压缩标记值,判断压缩标记值是否为高压缩,若是,则转过程(3.2),否则判断压缩标记值是否为低压缩,若是,则转过程(3.3),否则转过程(3.4);
(3.2)采用高压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.3)采用低压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.4)采用中压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.5)返回解压缩后的数据,读请求完成,转步骤(1)。
图1为本发明的示意图:请求类型判断步骤中判断从上层获得的请求是否是写请求,若是则进入数据的压缩写入步骤,否则进入数据的解压缩读取步骤。
图2为本发明数据的压缩写入步骤的示意图:负载监测模块从系统提供的接口获取系统当前的负载情况(即系统每秒处理的读写请求的个数);获取当前系统资源的使用情况,主要包括系统的内存资源和CPU资源的使用率、网络端口的延时情况等参数;按照一定的权重比,运算得到一个衡量系统当前负载情况的数值,并将该数值保存在负载状态变量中;负载监测模块判断负载状态变量的值是否高于系统设定的高阈值,若是,则数据压缩模块采用低压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为低压缩;否则负载监测判断负载状态变量的值是否低于系统设定的低阈值,若是,则数据压缩模块采用高压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为高压缩;否则数据压缩模块采用中压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为中压缩。数据压缩模块将压缩后的数据写入固态盘设备,写请求完成。
图3为本发明数据的解压缩读取步骤的示意图:数据解压缩模块从固态盘设备读取数据,从压缩位图表读取读请求地址对应的压缩标记值,判断压缩标记值是否为高压缩,若是则数据解压缩模块采用高压缩率的解压缩算法对读取的数据进行解压缩;否则判断压缩标记值是否为低压缩,若是则数据解压缩模块采用低压缩率的解压缩算法对读取的数据进行解压缩;否则数据解压缩模块采用中压缩率的解压缩算法对读取的数据进行解压缩。数据解压缩模块返回解压后的数据,读请求完成。

Claims (5)

1.一种固态盘存储系统的动态数据压缩方法,其特征在于包括以下步骤:
(1)请求类型判断步骤;
(2)数据的压缩写入步骤;
(3)数据的解压缩读取步骤,读请求完成,转步骤(1)。
2.如权利要求1所述一种固态盘存储系统的动态数据压缩方法,其特征在于在步骤(1)中,所述请求类型判断步骤的具体过程如下:
从上层获得请求,判断该请求是否是写请求,若是,则转步骤(2),否则转步骤(3)。
3.如权利要求1所述一种固态盘存储系统的动态数据压缩方法,其特征在于在步骤(2)中,所述数据的压缩写入步骤的具体过程如下:
(2.1)负载监测模块从系统提供的接口获取系统当前的负载情况(即系统每秒处理的读写请求的个数);按照一定的权重比,运算得到一个衡量系统当前负载情况的数值,并将该数值保存在负载状态变量中;转过程(2.2);
(2.2)负载监测模块判断负载状态变量的值是否高于系统设定的高阈值,若是,则转过程(2.3),否则判断负载状态变量的值是否低于系统设定的低阈值,若是,则转过程(2.4),否则转过程(2.5);
(2.3)数据压缩模块采用低压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为低压缩,转过程(2.6);
(2.4)数据压缩模块采用高压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为高压缩,转过程(2.6);
(2.5)数据压缩模块采用中压缩率的压缩算法对写入数据进行压缩,在压缩位图表中将压缩标记值设置为中压缩,转过程(2.6);
(2.6)数据压缩模块将压缩后的数据写入固态盘设备,写请求完成,转步骤(1)。
4.如权利要求3所述一种固态盘存储系统的动态数据压缩方法,其特征在于在第(2.1)过程中,所述获取当前系统资源的使用情况,包括但不限于系统的内存资源和CPU资源的使用率、网络端口的延时情况。
5.如权利要求1所述一种固态盘存储系统的动态数据压缩方法,其特征在于在步骤(3)中,所述数据的解压缩读取步骤的具体过程如下:
(3.1)数据解压缩模块从固态盘设备读取数据,从压缩位图表读取读请求地址对应的压缩标记值,判断压缩标记值是否为高压缩,若是,则转过程(3.2),否则判断压缩标记值是否为低压缩,若是,则转过程(3.3),否则转过程(3.4);
(3.2)采用高压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.3)采用低压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.4)采用中压缩率的解压缩算法对读取的数据进行解压缩,转过程(3.5);
(3.5)返回解压缩后的数据,读请求完成,转步骤(1)。
CN201510534936.7A 2015-08-27 2015-08-27 一种固态盘存储系统的动态数据压缩方法 Pending CN105094709A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510534936.7A CN105094709A (zh) 2015-08-27 2015-08-27 一种固态盘存储系统的动态数据压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510534936.7A CN105094709A (zh) 2015-08-27 2015-08-27 一种固态盘存储系统的动态数据压缩方法

Publications (1)

Publication Number Publication Date
CN105094709A true CN105094709A (zh) 2015-11-25

Family

ID=54575269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510534936.7A Pending CN105094709A (zh) 2015-08-27 2015-08-27 一种固态盘存储系统的动态数据压缩方法

Country Status (1)

Country Link
CN (1) CN105094709A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622781A (zh) * 2017-10-12 2018-01-23 华中科技大学 一种提升三层忆阻器写性能的编解码方法
CN108427538A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN108984103A (zh) * 2017-06-02 2018-12-11 伊姆西Ip控股有限责任公司 用于去重的方法和设备
CN108984111A (zh) * 2017-05-30 2018-12-11 希捷科技有限公司 具有可重写原地存储器的数据存储设备
CN109697025A (zh) * 2017-10-20 2019-04-30 株式会社日立制作所 存储装置、数据管理方法和数据管理程序的存储介质
CN110099092A (zh) * 2018-01-31 2019-08-06 慧与发展有限责任合伙企业 动态数据压缩
CN112286450A (zh) * 2020-10-19 2021-01-29 苏州浪潮智能科技有限公司 一种数据远程复制方法及系统
CN112525450A (zh) * 2020-10-26 2021-03-19 中国人民解放军92942部队 一种降低可靠性测试中振动数据存储空间占用率的方法
CN113590021A (zh) * 2020-04-30 2021-11-02 株式会社日立制作所 存储系统
CN114564457A (zh) * 2022-02-24 2022-05-31 滨州东方地毯有限公司 一种针对数据库文件的存储空间优化方法及系统
CN117666968A (zh) * 2023-12-20 2024-03-08 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002190798A (ja) * 2000-12-20 2002-07-05 Nec Corp 暗号化装置および復号化装置
CN1503504A (zh) * 2002-10-31 2004-06-09 ���µ�����ҵ��ʽ���� 通信装置、通信系统和算法选择方法
CN101184109A (zh) * 2007-12-14 2008-05-21 西安三茗科技有限责任公司 计算机硬盘数据网络传输加速层
CN102012794A (zh) * 2010-11-19 2011-04-13 北京兆易创新科技有限公司 一种固态硬盘及其访问控制方法、一种固态硬盘控制器
CN102662856A (zh) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 一种固态硬盘及其存取方法
CN102981857A (zh) * 2012-12-04 2013-03-20 天津神舟通用数据技术有限公司 数据库集群的并行压缩海量数据装载方法
CN103516369A (zh) * 2013-06-20 2014-01-15 易乐天 一种自适应数据压缩和解压缩的方法和系统及存储装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002190798A (ja) * 2000-12-20 2002-07-05 Nec Corp 暗号化装置および復号化装置
CN1503504A (zh) * 2002-10-31 2004-06-09 ���µ�����ҵ��ʽ���� 通信装置、通信系统和算法选择方法
CN101184109A (zh) * 2007-12-14 2008-05-21 西安三茗科技有限责任公司 计算机硬盘数据网络传输加速层
CN102012794A (zh) * 2010-11-19 2011-04-13 北京兆易创新科技有限公司 一种固态硬盘及其访问控制方法、一种固态硬盘控制器
CN102662856A (zh) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 一种固态硬盘及其存取方法
CN102981857A (zh) * 2012-12-04 2013-03-20 天津神舟通用数据技术有限公司 数据库集群的并行压缩海量数据装载方法
CN103516369A (zh) * 2013-06-20 2014-01-15 易乐天 一种自适应数据压缩和解压缩的方法和系统及存储装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984111B (zh) * 2017-05-30 2021-09-14 希捷科技有限公司 具有可重写原地存储器的数据存储设备
CN108984111A (zh) * 2017-05-30 2018-12-11 希捷科技有限公司 具有可重写原地存储器的数据存储设备
CN108984103A (zh) * 2017-06-02 2018-12-11 伊姆西Ip控股有限责任公司 用于去重的方法和设备
US11461276B2 (en) 2017-06-02 2022-10-04 EMC IP Holding Company LLC Method and device for deduplication
CN107622781B (zh) * 2017-10-12 2020-05-19 华中科技大学 一种提升三层忆阻器写性能的编解码方法
CN107622781A (zh) * 2017-10-12 2018-01-23 华中科技大学 一种提升三层忆阻器写性能的编解码方法
CN109697025A (zh) * 2017-10-20 2019-04-30 株式会社日立制作所 存储装置、数据管理方法和数据管理程序的存储介质
CN109697025B (zh) * 2017-10-20 2022-04-29 株式会社日立制作所 存储装置、数据管理方法和存储介质
CN110099092A (zh) * 2018-01-31 2019-08-06 慧与发展有限责任合伙企业 动态数据压缩
CN108427538A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN113590021A (zh) * 2020-04-30 2021-11-02 株式会社日立制作所 存储系统
CN113590021B (zh) * 2020-04-30 2024-06-11 株式会社日立制作所 存储系统
CN112286450A (zh) * 2020-10-19 2021-01-29 苏州浪潮智能科技有限公司 一种数据远程复制方法及系统
CN112525450A (zh) * 2020-10-26 2021-03-19 中国人民解放军92942部队 一种降低可靠性测试中振动数据存储空间占用率的方法
CN114564457A (zh) * 2022-02-24 2022-05-31 滨州东方地毯有限公司 一种针对数据库文件的存储空间优化方法及系统
CN117666968A (zh) * 2023-12-20 2024-03-08 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置
CN117666968B (zh) * 2023-12-20 2024-06-28 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置

Similar Documents

Publication Publication Date Title
CN105094709A (zh) 一种固态盘存储系统的动态数据压缩方法
US20130073798A1 (en) Flash memory device and data management method
US8909895B2 (en) Memory apparatus
CN110968253B (zh) 一种数据存储方法、装置及系统
CN103608782A (zh) Lsb页面和msb页面中的选择性数据存储
US9436267B2 (en) Data storage device
US20210021280A1 (en) Memory system and information processing system
CN103838676B (zh) 数据存储系统、数据存储方法及pcm桥
US20160274819A1 (en) Memory system including host and a plurality of storage devices and data migration method thereof
US20220100406A1 (en) Hard disk control method and related device
KR20110124044A (ko) 데이터 저장 장치, 그것의 동작 방법, 그리고 그것을 포함한 스토리지 서버
US11176033B2 (en) Data storage devices and data processing methods
CN115756312A (zh) 数据访问系统、数据访问方法和存储介质
KR20220134769A (ko) 온도 기반 데이터 저장 처리
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
US20240070120A1 (en) Data processing method and apparatus
CN117075810B (zh) 一种基于zns固态硬盘的数据管理方法
CN117472285A (zh) 固态硬盘用智能运行加速方法、计算机设备及存储介质
CN105138277A (zh) 一种固态盘阵列的缓存管理方法
KR101363422B1 (ko) 비휘발성 메모리 시스템
US11307797B2 (en) Storage device and information processing system
CN106055488B (zh) 数据储存设备及其操作方法
CN110096452B (zh) 非易失随机访问存储器及其提供方法
CN105589912A (zh) 一种利用mram处理频写文件的方法及存储结构
CN113467699B (zh) 一种提升可用存储容量方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151125

RJ01 Rejection of invention patent application after publication