非显而易见性评估仅供参考,不构成法律建议。
| 编号 | 名称 |
|---|
一种通过处理器查找存储在存储器中的表的条目的方法,所述方法包括:接收指定索引的第一子集的第一单指令多数据SIMD指令,其中索引的所述第一子集中的每一者对应于属于所述表条目的第一子集的表条目; 在由所述处理器实施的交叉开关中通过索引的所述第一子集查找表条目的所述第一子集,其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目; 及 基于所述交叉开关的输出生成所述第一SIMD指令的第一向量输出。
你好!很高兴与你探讨这件涉及SIMD指令表查找的专利。在当前的司法实践中,最高法越来越强调高质量发展与“精细化”的知识产权保护,坚决打击仅仅是现有技术的简单拼凑或权利要求撰写宽泛而无实质创新的专利。对于这类涉及底层指令架构的专利,我们需要紧扣权利要求的字面含义,精准地将其拆解并与对比文件进行无缝对应。
以下是我针对目标专利(CN107924306B)权利要求1以及五篇对比文件的深度无效分析策略。
目标专利的核心发明点在于降低交叉开关(Crossbar)的硬件复杂度与成本。
在传统的SIMD表查找中(如16个索引查找16个条目的表),需要一个16×16的交叉开关(即16个输入)。随着向量长度增加,这种全尺寸交叉开关无法扩展(说明书[0004]段)。
目标专利提出了一种部分表查找方法:一条SIMD指令只指定索引的“第一子集”(例如只指定4个偶数索引),去查找表条目的“第一子集”(如表的下半部)。这样,交叉开关的规模就可以缩小(例如缩小为4×4交叉开关)。
权利要求1中最核心、也是最具争议的限制条件是技术特征D:“其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目”。
结合说明书[0034]段(“使用在第一SIMD指令106中指定的4个索引的用于查找表102的4×4交叉开关”),该特征的本质是:交叉开关的输入端数量 $\le$ 当前指令发起的索引数量。
在5篇对比文件中,D1(US06202141B1)涉及向量奇偶元素的乘法操作,D4(US20130185538A1)涉及跨处理路径通信,均未涉及通过交叉开关进行SIMD表查找的核心机制,相关度较低。
真正具有杀伤力的是D2、D3和D5。
| 技术特征 | 目标专利 | D2 (US20040054879A1) | D3 (US07000099B2) | D5 (US08700884B2) |
| A: 接收指定索引第一子集的SIMD指令 | 包含 | 公开 (PSHUFB指令接收Mask操作数) | 公开 (Permute指令接收Index向量) | 公开 (VPERM2指令接收索引) |
| B: 索引对应于表条目第一子集的条目 | 包含 | 公开 (大表分割,Mask对应特定表部分) | 公开 (大表被分割为多个子表) | 公开 (分段查找扩展表) |
| C: 在处理器实施的交叉开关中查找 | 包含 | 公开 (Multiplexing structure / 多路复用器结构) | 公开 (Permute执行单元隐含交叉开关) | 公开 (执行单元) |
| D: 交叉开关输入数目 $\le$ 索引数目 | 包含 | 公开 (16个输入 $\le$ 16个索引) | 未公开 (32个输入 > 16个索引) | 未公开 (32个输入 > 16个索引) |
| E: 基于交叉开关输出生成向量输出 | 包含 | 公开 (生成Resultant) | 公开 | 公开 |
D2是极其强效的对比文件,其实质公开了权利要求1的全部特征。特别是针对大表(超出一个寄存器容量的表)的并行查找算法(图10A-10H),其操作逻辑与目标专利高度一致。
技术特征A & B(接收SIMD指令,查找第一子集):
D2原文出处:段落 [0110] - [0111]。
分析:D2在此处解决大表查找问题。表被分为 LOW TABLE DATA 1021(第一子集)和 HIGH TABLE DATA 1051(第二子集)。D2执行第一条 PSHUFB(即第一SIMD指令),使用 MASK 1001(指定索引的第一子集)去查找 LOW TABLE DATA 1021。
技术特征C(交叉开关):
D2原文出处:段落 [0091] "FIG. 6 is a block diagram of one embodiment of a circuit 600... The circuit of this embodiment comprises a multiplexing structure to select the correct result byte..."
分析:D2明确公开了使用多路复用器结构(Multiplexing structure,即硬件上的交叉开关)来根据解码的掩码(索引)选择结果字节。
技术特征D(输入数目 $\le$ 索引数目):
D2原文出处:段落 [0092] - [0094]。
分析:在D2的第一条 PSHUFB 指令执行时,源数据(LOW TABLE DATA)是16个字节,掩码(MASK)也是16个字节。因此,进入该多路复用器(交叉开关)的输入数目为16,而索引数目也为16。在数学逻辑上,$16 \le 16$ 成立,毫无异议地落入了“不大于”的字面保护范围。
技术特征E(生成向量输出):
D2原文出处:段落 [0111] "A shuffle operation of MASK 1001 and LOW TABLE DATA 1021 yields a resultant TEMP RESULTANT A 1041."
分析:生成了临时结果A(第一向量输出)。
在无效请求的创造性评价中,D2 (US20040054879A1) 是绝对的、唯一的最接近的对比文件。
理由(基于技术问题与技术效果):
解决的客观技术问题完全一致:两者都在解决“当查找表的大小超出单个寄存器/单次SIMD指令处理能力时,如何高效进行表查找”的问题。
技术路径高度重合:D2和目标专利都采用了“将表切分为多个子集(Sub-tables / subsets),用相同的索引子集分别对表的各部分进行部分查找,最后组合结果”的逻辑。
D3和D5不适合作为CPA的核心原因:D3和D5中的 Permute 指令(如D5的 VPERM2),其硬件设计是同时接收两个源数据寄存器(例如16字节+16字节=32字节)作为表,并使用一个索引寄存器(16字节)进行查找。这就导致它们进入交叉开关的输入数目(32) 严格大于 索引数目(16)。如果以D3或D5为CPA,专利权人可以轻易通过“输入数目不大于索引数目(从而节省硬件开销)”这一特征来确立创造性。而D2的 PSHUFB 指令仅使用一个源数据寄存器(16字节输入 对 16字节索引),直接破坏了该特征的新颖性/创造性。
在当前的精细化知识产权保护趋势下,司法审查对权利要求的边界要求极为严苛。目标专利最大的败笔,或者说若提出无效请求最薄弱的技术特征,正是技术特征D(输入数目不大于索引数目)。
深度剖析:
专利权人的**本意(说明书实质)**是想保护一种“缩水版”的交叉开关。例如,在一条包含16个通道的SIMD指令中,只取4个通道的索引,去查找4个表输入,从而在硬件上只实现一个4×4的交叉开关(4输入 = 4索引,满足 $\le$ 关系),以区别于传统全尺寸的16×16交叉开关(16输入,16索引)。
然而,在撰写权利要求时,他们使用了“不大于(Not greater than, $\le$)”这一过于宽泛的数学界定。
这导致了一个致命漏洞:D2中传统且全尺寸的16×16交叉开关(16个输入,16个索引),由于 $16 \le 16$,完美契合了“输入数目(16)不大于索引数目(16)”的字面界定。
无效实战策略:
没有任何特征未被D2公开。D2在评价权利要求1时,可以直接用于攻击其新颖性(如果认为D2的大表切分完全等同于目标专利的子集查找),或极其轻易地破坏其创造性。
在口审中,专利权人极大概率会辩称:“我的第一子集指的是16个通道中的4个(局部索引),D2是全通道(16个),所以D2没有公开‘子集’”。
我们可以予以精准反击:“子集(Subset)”在权利要求中未被限定为“真子集(Proper subset)”。即便退一步,在D2图10A-10H的实施例中,完整的表是32字节或更大,D2每次取16字节作为“表的第一子集”,取16个掩码作为“索引的第一子集”,这完全符合“子集”的定义。专利权人试图将说明书中“4×4交叉开关”的具体实施方式强行读入权利要求中,这违反了权利要求最宽合理解释原则。
综上,凭借D2对权利要求1字面范围的精准覆盖,权利要求1几乎没有站得住脚的防线。我们可以将核心火力集中在D2的图10A实施例与特征D的逻辑碰撞上,一击毙命。
你好。作为一名拥有丰富实务经验的专利代理师,我已详细剖析了目标专利(CN107924306B)的权利要求1,并与你提供的对比文件进行了深度比对。
为了论述清晰,以下将你提供的对比文件 US20040054879A1 简称为 D1。
从分析来看,D1不仅公开了使用SIMD进行表查找的基础操作,更在处理“超大表(Oversized tables)”时,实质上完全公开了权利要求1中关于“子集”的核心操作逻辑。
| 权利要求1技术特征 | D1 (US2004054879A1) 对应的公开内容出处与分析 | 公开情况 |
| A: 一种通过处理器查找存储在存储器中的表的条目的方法,所述方法包括:接收指定索引的第一子集的第一单指令多数据SIMD指令, | [0109], [0111], FIG. 10A:D1公开了使用SIMD指令进行表查找(parallel table lookup using SIMD instructions)。当表太大时,将其分为多个部分(sections)。[0111]及FIG. 10A中,MASK 1001作为索引,配合第一SIMD指令(packed shuffle instruction)对表的第一部分(LOW TABLE DATA 1021,即表条目的第一子集)进行操作。 |
实质公开 |
| B: 其中索引的所述第一子集中的每一者对应于属于所述表条目的第一子集的表条目; | [0074], [0075], [0087]:D1明确记载了掩码(mask)中的选择位(selection bits)用于指定源数据操作数中的数据元素来源。在拆分大表的场景中,MASK 1001中的每个索引值都精准对应并映射到第一子集(LOW TABLE DATA)中的具体字节/表条目。 |
毫无异议公开 |
| C: 在由所述处理器实施的交叉开关中通过索引的所述第一子集查找表条目的所述第一子集, | [0091]-[0094], FIG. 6:D1公开了用于执行数据洗牌/查找的电路600,包含多路复用器结构(multiplexing structure,如8:1和3:1 muxes)。在数字电路实现中,这种全连接的多路复用器网络实质上就是交叉开关(Crossbar)的等效物理实现,用于根据索引(SELECT A/B信号)在硬件层面查找并路由数据。 | 实质公开 |
| D: 其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目; | [0093], [0111]:这是目标专利强调的“小尺寸交叉开关”特征。但在D1中,当处理如FIG. 10A的子集时,输入到多路复用器结构(交叉开关)的数据是16字节的LOW TABLE DATA(输入数目为16),而MASK 1001同样包含16个字节的索引(索引数目为16)。16并不大于16,完美落入“不大于”的文义范围。 |
实质公开 |
| E: 及 基于所述交叉开关的输出生成所述第一SIMD指令的第一向量输出。 | [0095], [0111]:D1记载了电路600基于多路复用器(交叉开关)的输出(outputs 630A-D)组合成结果(resultant 632)。在图10A的实施例中,该输出即为第一SIMD指令的第一向量输出(TEMP RESULTANT A 1041)。 |
毫无异议公开 |
适合作为最接近的对比文件:D1 (US2004054879A1)
整体解决的技术问题: 目标专利试图解决的问题是,当需要查找的表较大时,传统的全尺寸交叉开关硬件成本过高且难以扩展,因此需要一种高效的SIMD表查找方法。D1在 [0109] 段落中明确指出了完全相同的痛点:“如果表可以放入单个寄存器,则用一条指令即可……但如果表的内存空间需求超过了单个寄存器的大小……”。
技术效果: 目标专利通过多次SIMD指令和较小的交叉开关分批处理子集。D1通过将大表切割为寄存器大小的区块(如 LOW TABLE DATA 和 HIGH TABLE DATA),复用现有的16字节多路复用器电路(即小尺寸交叉开关),通过掩码过滤和逻辑或(OR)操作合并结果,达成了完全相同的扩展大表查找的技术效果。
结论: D1在技术领域、解决的技术问题、采用的技术手段以及最终达成的技术效果上与目标专利高度重合,是论证其缺乏新颖性或创造性最完美的“最接近的对比文件”。在仅有一篇D1的情况下,权利要求1的所有特征均已被D1覆盖,无需引入其他对比文件(D2/D3)进行拼合。
若提起无效宣告请求,权利要求1中最薄弱的技术特征是特征D:“其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目”。
攻防剖析与无效策略:
目标专利试图通过特征D来包装一个“硬件减负”的创新点,主张其并非使用完整的N×N交叉开关去硬抗大表,而是用子集对应的小交叉开关。然而,拆穿其技术本质后会发现,这仅仅是标准SIMD架构在面临数据量超出寄存器位宽时的“被动选择”。任何标准SIMD指令(如D1中的PSHUFB)天然受限于其操作数寄存器的宽度(例如128位/16字节),当其被用于分批处理大表时,其硬件数据通路(多路复用器/交叉开关输入)必然只能与单次指令处理的索引数目(如16)相匹配。
在当前的专利确权与司法审查趋势下,政策正强力导向对核心高价值技术的“精准保护”。对于这种仅仅将现有硬件固有的操作限制(寄存器位宽导致的输入数与索引数对应)重新包装为“独特硬件削减架构”的做法,属于典型的拼凑型或累加型(组合型)创新。在无效口审中,应当紧抓这一主线:特征D并未带来任何超出本领域技术人员预期的非显而易见的技术效果,它只是D1在解决“超大表”问题时,将数据分块载入标准SIMD硬件数据通路必然产生的客观物理现象。以此为突破口,可以极大地削弱审查员对该专利所谓“架构创新”的认同感,从而一举摧毁其创造性甚至新颖性基础。
你好。作为一名拥有丰富实务经验的专利代理师,我已详细剖析了目标专利(CN107924306B)的权利要求1,并与你提供的对比文件进行了深度比对。
为了论述清晰,以下将你提供的对比文件 US20040054879A1 简称为 D1。
从分析来看,D1不仅公开了使用SIMD进行表查找的基础操作,更在处理“超大表(Oversized tables)”时,实质上完全公开了权利要求1中关于“子集”的核心操作逻辑。
| 权利要求1技术特征 | D1 (US2004054879A1) 对应的公开内容出处与分析 | 公开情况 |
| A: 一种通过处理器查找存储在存储器中的表的条目的方法,所述方法包括:接收指定索引的第一子集的第一单指令多数据SIMD指令, | [0109], [0111], FIG. 10A:D1公开了使用SIMD指令进行表查找(parallel table lookup using SIMD instructions)。当表太大时,将其分为多个部分(sections)。[0111]及FIG. 10A中,MASK 1001作为索引,配合第一SIMD指令(packed shuffle instruction)对表的第一部分(LOW TABLE DATA 1021,即表条目的第一子集)进行操作。 |
实质公开 |
| B: 其中索引的所述第一子集中的每一者对应于属于所述表条目的第一子集的表条目; | [0074], [0075], [0087]:D1明确记载了掩码(mask)中的选择位(selection bits)用于指定源数据操作数中的数据元素来源。在拆分大表的场景中,MASK 1001中的每个索引值都精准对应并映射到第一子集(LOW TABLE DATA)中的具体字节/表条目。 |
毫无异议公开 |
| C: 在由所述处理器实施的交叉开关中通过索引的所述第一子集查找表条目的所述第一子集, | [0091]-[0094], FIG. 6:D1公开了用于执行数据洗牌/查找的电路600,包含多路复用器结构(multiplexing structure,如8:1和3:1 muxes)。在数字电路实现中,这种全连接的多路复用器网络实质上就是交叉开关(Crossbar)的等效物理实现,用于根据索引(SELECT A/B信号)在硬件层面查找并路由数据。 | 实质公开 |
| D: 其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目; | [0093], [0111]:这是目标专利强调的“小尺寸交叉开关”特征。但在D1中,当处理如FIG. 10A的子集时,输入到多路复用器结构(交叉开关)的数据是16字节的LOW TABLE DATA(输入数目为16),而MASK 1001同样包含16个字节的索引(索引数目为16)。16并不大于16,完美落入“不大于”的文义范围。 |
实质公开 |
| E: 及 基于所述交叉开关的输出生成所述第一SIMD指令的第一向量输出。 | [0095], [0111]:D1记载了电路600基于多路复用器(交叉开关)的输出(outputs 630A-D)组合成结果(resultant 632)。在图10A的实施例中,该输出即为第一SIMD指令的第一向量输出(TEMP RESULTANT A 1041)。 |
毫无异议公开 |
适合作为最接近的对比文件:D1 (US2004054879A1)
整体解决的技术问题: 目标专利试图解决的问题是,当需要查找的表较大时,传统的全尺寸交叉开关硬件成本过高且难以扩展,因此需要一种高效的SIMD表查找方法。D1在 [0109] 段落中明确指出了完全相同的痛点:“如果表可以放入单个寄存器,则用一条指令即可……但如果表的内存空间需求超过了单个寄存器的大小……”。
技术效果: 目标专利通过多次SIMD指令和较小的交叉开关分批处理子集。D1通过将大表切割为寄存器大小的区块(如 LOW TABLE DATA 和 HIGH TABLE DATA),复用现有的16字节多路复用器电路(即小尺寸交叉开关),通过掩码过滤和逻辑或(OR)操作合并结果,达成了完全相同的扩展大表查找的技术效果。
结论: D1在技术领域、解决的技术问题、采用的技术手段以及最终达成的技术效果上与目标专利高度重合,是论证其缺乏新颖性或创造性最完美的“最接近的对比文件”。在仅有一篇D1的情况下,权利要求1的所有特征均已被D1覆盖,无需引入其他对比文件(D2/D3)进行拼合。
若提起无效宣告请求,权利要求1中最薄弱的技术特征是特征D:“其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目”。
攻防剖析与无效策略:
目标专利试图通过特征D来包装一个“硬件减负”的创新点,主张其并非使用完整的N×N交叉开关去硬抗大表,而是用子集对应的小交叉开关。然而,拆穿其技术本质后会发现,这仅仅是标准SIMD架构在面临数据量超出寄存器位宽时的“被动选择”。任何标准SIMD指令(如D1中的PSHUFB)天然受限于其操作数寄存器的宽度(例如128位/16字节),当其被用于分批处理大表时,其硬件数据通路(多路复用器/交叉开关输入)必然只能与单次指令处理的索引数目(如16)相匹配。
在当前的专利确权与司法审查趋势下,政策正强力导向对核心高价值技术的“精准保护”。对于这种仅仅将现有硬件固有的操作限制(寄存器位宽导致的输入数与索引数对应)重新包装为“独特硬件削减架构”的做法,属于典型的拼凑型或累加型(组合型)创新。在无效口审中,应当紧抓这一主线:特征D并未带来任何超出本领域技术人员预期的非显而易见的技术效果,它只是D1在解决“超大表”问题时,将数据分块载入标准SIMD硬件数据通路必然产生的客观物理现象。以此为突破口,可以极大地削弱审查员对该专利所谓“架构创新”的认同感,从而一举摧毁其创造性甚至新颖性基础。
这是一份为您起草的针对目标专利(CN107924306B)权利要求1的《专利权无效宣告请求书》正文部分。鉴于您目前仅提供了一篇对比文件(D1),本请求书将以 “D1破坏新颖性” 作为主干理据,同时严格遵照您的指示,在第四部分为您构建 “结合启示及其他对比文件(D2)的补强作用” 的标准法律论述框架,以便您在后续补充证据时直接填入。
目标专利号: CN107924306B
发明名称: 使用SIMD指令的表查找
无效宣告请求范围: 宣告权利要求1全部无效
目标专利权利要求1相对于对比文件1(D1)不具备《中华人民共和国专利法》第二十二条第二款规定的新颖性。
目标专利权利要求1相对于对比文件1(D1)结合本领域的公知常识(或对比文件2),不具备《中华人民共和国专利法》第二十二条第三款规定的创造性。
证据1(D1): 授权公告号为 US20040054879A1 的美国发明专利申请公开说明书。
公开日: 2004年03月18日(早于目标专利申请日,构成现有技术)。
证明目的: 证明D1已经完整公开了目标专利权利要求1的所有技术特征,权利要求1不具备新颖性;或证明D1作为最接近的现有技术,使得权利要求1不具备创造性。
目标专利权利要求1保护一种通过处理器查找存储在存储器中的表的条目的方法。D1同样公开了一种使用单指令多数据(SIMD)指令进行并行表查找的方法和装置。D1不仅在技术领域和解决的技术问题上与目标专利高度一致,且已经毫无异议地公开了权利要求1的全部技术特征。
具体特征比对与原文出处如下表所示:
| 权利要求1技术特征 | 对比文件1(D1)的公开内容原文引述及分析 | 比对结论 |
| A. 一种通过处理器查找存储在存储器中的表的条目的方法,所述方法包括:接收指定索引的第一子集的第一单指令多数据SIMD指令, |
原文引述: 1. [0003] "...a method and apparatus for parallel table lookup using simd instructions is disclosed." 2. [0111] "MASK 1001 and LOW TABLE DATA 1021 are each comprised of sixteen elements in this example. A shuffle operation of MASK 1001 and LOW TABLE DATA 1021 yields a resultant TEMP RESULTANT A 1041." 分析: D1明确公开了使用SIMD指令进行表查找的方法。当表尺寸过大时,D1将其分为多个部分,其中对第一部分(LOW TABLE DATA,即表条目的第一子集)的操作,正是接收包含了索引的第一子集(MASK 1001)的第一SIMD指令(shuffle operation)。 |
毫无异议公开 |
| B. 其中索引的所述第一子集中的每一者对应于属于所述表条目的第一子集的表条目; |
原文引述: 1. [0074] "The mask in each of the data elements... is to designate the contents in the corresponding data element position of the resultant." 2. [0075] "Based on the value indicated by the selection bits of the mask, the appropriate data element from the source data operand is placed in the corresponding data element position..." 分析: D1公开了掩码(MASK)中的每一个数据元素(即索引)都用于指定源数据操作数(如LOW TABLE DATA这一第一子集)中相应表条目的位置,实现了索引与子集表条目的一一对应。 |
毫无异议公开 |
| C. 在由所述处理器实施的交叉开关中通过索引的所述第一子集查找表条目的所述第一子集, |
原文引述: 1. [0091] "The circuit of this embodiment comprises a multiplexing structure to select the correct result byte from the first source operand based on decoding shuffle mask..." 2. [0093] "...each of the eight data elements are sent to the first set of sixteen individual 8:1 muxes... output one of the eight lower data elements..." 分析: D1记载的由8:1和3:1多路复用器构成的硬件复用结构(multiplexing structure),在数字逻辑电路中实质上就是用于数据路由的“交叉开关(Crossbar)”。处理器基于索引子集(解码出的SELECT信号)在该电路中完成了对数据子集的查找。 |
实质公开 |
| D. 其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目; |
原文引述: 结合 [0111] 段落:"MASK 1001 and LOW TABLE DATA 1021 are each comprised of sixteen elements..." 分析: 在D1图10A的实施例中,输入到复用电路(交叉开关)的数据源 |
毫无异议公开 |
|
E. 及 基于所述交叉开关的输出生成所述第一SIMD指令的第一向量输出。 |
原文引述: 1. [0095] "The resultant 632 of the shuffle operation is composed of the outputs 630A-D from the sixteen 3:1 muxes 628A-D..." 2. [0111] "...yields a resultant TEMP RESULTANT A 1041." 分析: D1明确记载了将复用器(交叉开关)的输出(outputs 630A-D)组合生成为洗牌操作的结果(Resultant 632 / TEMP RESULTANT A 1041),这与权利要求中的“生成第一SIMD指令的第一向量输出”完全一致。 |
毫无异议公开 |
新颖性结论: 综上所述,对比文件1已经完整、详细地公开了目标专利权利要求1的全部技术特征。权利要求1所要求保护的技术方案实质上已被D1所涵盖,不具备《专利法》第二十二条第二款规定的新颖性。
退一步言之,若合议组认为权利要求1中的特征D(即“输入数目不大于索引数目”)在文字表述上与D1存在极其微小的差异,该权利要求1亦不具备《专利法》第二十二条第三款规定的创造性。
如前所述,D1是与目标专利技术领域相同、解决的技术问题相同、且公开技术特征最多的最接近的现有技术。
假定特征D属于区别技术特征,即目标专利刻意强调通过缩小交叉开关的输入规模来减小硬件成本。
基于该假定的区别技术特征,目标专利实际解决的技术问题仅仅是:如何避免在SIMD指令处理超大表时使用全尺寸交叉开关,以控制处理器的硬件资源开销。
(1)D1自身已给出明确的教导与结合启示
D1在 [0109] 段指出:“由于使用了查找表,一些具有数据并行性的应用无法用SIMD指令实现……如果表的大小超过了单个寄存器,本发明的实施例可以通过将表划分为多个部分(sections,每个部分的容量等于寄存器容量)来处理”。
这充分说明,在面临“表过大”导致硬件无法一次性处理时,将“大表切分为小表的子集(与寄存器位宽和掩码索引数量相匹配)”是D1明示的解决路径。本领域技术人员在D1的明确启示下,必然会采用与索引数量(16个)相匹配的数据输入规模(16个),从而得出“输入数目不大于索引数目”的技术方案,此过程无需付出任何创造性劳动。
(2)其他对比文件(如D2或公知常识)的强力补强
(注:此处为您预留引入D2的论述框架)
此外,对比文件2(D2,公开号:XXX,此处指代通用处理器架构/数字电路设计手册)进一步补强了这一无效理由。D2公开了在集成电路设计中,交叉开关或多路复用器的端口数量必须与数据通路的位宽相匹配以节约硅片面积这一公知常识。
结合启示在于: 当本领域技术人员面对D1中提出的大表查找问题时,为了实现D1中将表“切分处理”的构想,必然会受D2或本领域公知常识的驱使,采用与SIMD指令掩码寄存器宽度(即索引数目)相匹配的较小尺寸交叉开关。这并非目标专利的独创,而是半导体硬件设计中为了权衡成本与性能的常规工程选择(Routine Engineering Choice)。目标专利仅仅是将这一常规数字电路设计规律包装为方法特征,没有产生任何预料不到的技术效果。
综上所述,目标专利权利要求1的保护范围已完全落入对比文件1的公开范围,丧失了新颖性;退一步讲,其方案也是本领域技术人员在对比文件1与本领域公知常识/对比文件2的结合启示下容易想到的,不具备显着的进步。恳请国家知识产权局专利局复审和无效审理部依法宣告目标专利(CN107924306B)的权利要求1无效,以维护公众利益与专利制度的严肃性。
这是一份为您起草的针对目标专利(CN107924306B)权利要求1的《专利权无效宣告请求书》正文部分。鉴于您目前仅提供了一篇对比文件(D1),本请求书将以 “D1破坏新颖性” 作为主干理据,同时严格遵照您的指示,在第四部分为您构建 “结合启示及其他对比文件(D2)的补强作用” 的标准法律论述框架,以便您在后续补充证据时直接填入。
目标专利号: CN107924306B
发明名称: 使用SIMD指令的表查找
无效宣告请求范围: 宣告权利要求1全部无效
目标专利权利要求1相对于对比文件1(D1)不具备《中华人民共和国专利法》第二十二条第二款规定的新颖性。
目标专利权利要求1相对于对比文件1(D1)结合本领域的公知常识(或对比文件2),不具备《中华人民共和国专利法》第二十二条第三款规定的创造性。
证据1(D1): 授权公告号为 US20040054879A1 的美国发明专利申请公开说明书。
公开日: 2004年03月18日(早于目标专利申请日,构成现有技术)。
证明目的: 证明D1已经完整公开了目标专利权利要求1的所有技术特征,权利要求1不具备新颖性;或证明D1作为最接近的现有技术,使得权利要求1不具备创造性。
目标专利权利要求1保护一种通过处理器查找存储在存储器中的表的条目的方法。D1同样公开了一种使用单指令多数据(SIMD)指令进行并行表查找的方法和装置。D1不仅在技术领域和解决的技术问题上与目标专利高度一致,且已经毫无异议地公开了权利要求1的全部技术特征。
具体特征比对与原文出处如下表所示:
| 权利要求1技术特征 | 对比文件1(D1)的公开内容原文引述及分析 | 比对结论 |
| A. 一种通过处理器查找存储在存储器中的表的条目的方法,所述方法包括:接收指定索引的第一子集的第一单指令多数据SIMD指令, |
原文引述: 1. [0003] "...a method and apparatus for parallel table lookup using simd instructions is disclosed." 2. [0111] "MASK 1001 and LOW TABLE DATA 1021 are each comprised of sixteen elements in this example. A shuffle operation of MASK 1001 and LOW TABLE DATA 1021 yields a resultant TEMP RESULTANT A 1041." 分析: D1明确公开了使用SIMD指令进行表查找的方法。当表尺寸过大时,D1将其分为多个部分,其中对第一部分(LOW TABLE DATA,即表条目的第一子集)的操作,正是接收包含了索引的第一子集(MASK 1001)的第一SIMD指令(shuffle operation)。 |
毫无异议公开 |
| B. 其中索引的所述第一子集中的每一者对应于属于所述表条目的第一子集的表条目; |
原文引述: 1. [0074] "The mask in each of the data elements... is to designate the contents in the corresponding data element position of the resultant." 2. [0075] "Based on the value indicated by the selection bits of the mask, the appropriate data element from the source data operand is placed in the corresponding data element position..." 分析: D1公开了掩码(MASK)中的每一个数据元素(即索引)都用于指定源数据操作数(如LOW TABLE DATA这一第一子集)中相应表条目的位置,实现了索引与子集表条目的一一对应。 |
毫无异议公开 |
| C. 在由所述处理器实施的交叉开关中通过索引的所述第一子集查找表条目的所述第一子集, |
原文引述: 1. [0091] "The circuit of this embodiment comprises a multiplexing structure to select the correct result byte from the first source operand based on decoding shuffle mask..." 2. [0093] "...each of the eight data elements are sent to the first set of sixteen individual 8:1 muxes... output one of the eight lower data elements..." 分析: D1记载的由8:1和3:1多路复用器构成的硬件复用结构(multiplexing structure),在数字逻辑电路中实质上就是用于数据路由的“交叉开关(Crossbar)”。处理器基于索引子集(解码出的SELECT信号)在该电路中完成了对数据子集的查找。 |
实质公开 |
| D. 其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目; |
原文引述: 结合 [0111] 段落:"MASK 1001 and LOW TABLE DATA 1021 are each comprised of sixteen elements..." 分析: 在D1图10A的实施例中,输入到复用电路(交叉开关)的数据源 |
毫无异议公开 |
|
E. 及 基于所述交叉开关的输出生成所述第一SIMD指令的第一向量输出。 |
原文引述: 1. [0095] "The resultant 632 of the shuffle operation is composed of the outputs 630A-D from the sixteen 3:1 muxes 628A-D..." 2. [0111] "...yields a resultant TEMP RESULTANT A 1041." 分析: D1明确记载了将复用器(交叉开关)的输出(outputs 630A-D)组合生成为洗牌操作的结果(Resultant 632 / TEMP RESULTANT A 1041),这与权利要求中的“生成第一SIMD指令的第一向量输出”完全一致。 |
毫无异议公开 |
新颖性结论: 综上所述,对比文件1已经完整、详细地公开了目标专利权利要求1的全部技术特征。权利要求1所要求保护的技术方案实质上已被D1所涵盖,不具备《专利法》第二十二条第二款规定的新颖性。
退一步言之,若合议组认为权利要求1中的特征D(即“输入数目不大于索引数目”)在文字表述上与D1存在极其微小的差异,该权利要求1亦不具备《专利法》第二十二条第三款规定的创造性。
如前所述,D1是与目标专利技术领域相同、解决的技术问题相同、且公开技术特征最多的最接近的现有技术。
假定特征D属于区别技术特征,即目标专利刻意强调通过缩小交叉开关的输入规模来减小硬件成本。
基于该假定的区别技术特征,目标专利实际解决的技术问题仅仅是:如何避免在SIMD指令处理超大表时使用全尺寸交叉开关,以控制处理器的硬件资源开销。
(1)D1自身已给出明确的教导与结合启示
D1在 [0109] 段指出:“由于使用了查找表,一些具有数据并行性的应用无法用SIMD指令实现……如果表的大小超过了单个寄存器,本发明的实施例可以通过将表划分为多个部分(sections,每个部分的容量等于寄存器容量)来处理”。
这充分说明,在面临“表过大”导致硬件无法一次性处理时,将“大表切分为小表的子集(与寄存器位宽和掩码索引数量相匹配)”是D1明示的解决路径。本领域技术人员在D1的明确启示下,必然会采用与索引数量(16个)相匹配的数据输入规模(16个),从而得出“输入数目不大于索引数目”的技术方案,此过程无需付出任何创造性劳动。
(2)其他对比文件(如D2或公知常识)的强力补强
(注:此处为您预留引入D2的论述框架)
此外,对比文件2(D2,公开号:XXX,此处指代通用处理器架构/数字电路设计手册)进一步补强了这一无效理由。D2公开了在集成电路设计中,交叉开关或多路复用器的端口数量必须与数据通路的位宽相匹配以节约硅片面积这一公知常识。
结合启示在于: 当本领域技术人员面对D1中提出的大表查找问题时,为了实现D1中将表“切分处理”的构想,必然会受D2或本领域公知常识的驱使,采用与SIMD指令掩码寄存器宽度(即索引数目)相匹配的较小尺寸交叉开关。这并非目标专利的独创,而是半导体硬件设计中为了权衡成本与性能的常规工程选择(Routine Engineering Choice)。目标专利仅仅是将这一常规数字电路设计规律包装为方法特征,没有产生任何预料不到的技术效果。
综上所述,目标专利权利要求1的保护范围已完全落入对比文件1的公开范围,丧失了新颖性;退一步讲,其方案也是本领域技术人员在对比文件1与本领域公知常识/对比文件2的结合启示下容易想到的,不具备显着的进步。恳请国家知识产权局专利局复审和无效审理部依法宣告目标专利(CN107924306B)的权利要求1无效,以维护公众利益与专利制度的严肃性。
这是一份站在专利权人立场,针对前述无效宣告请求书的详细反驳意见陈述书。
作为专利权人的代理师,我们将敏锐地抓住无效请求方在事实认定上的致命硬伤:请求人错误地将对比文件D1中的全局掩码(MASK 1001)等同于本专利权利要求1中的“索引的第一子集”,并刻意混淆了“软件算法拼接”与“底层硬件交叉开关架构精简”的技术本质。
目标专利号: CN107924306B
发明名称: 使用SIMD指令的表查找
专利权人代理师陈述要点: 目标专利权利要求1不仅具备新颖性,且相较于对比文件1(D1)及公知常识具有突出的实质性特点和显著的进步。请求人的无效理由建立在对D1技术方案的严重误读以及对本专利权利要求特征的割裂理解之上,其无效请求应予全部驳回。
请求人主张D1(US20040054879A1)图10A-10H的实施例破坏了权利要求1的新颖性,其核心逻辑是将D1中的 MASK 1001 认定为权利要求1中的“索引的第一子集”。这一事实认定是完全错误的,严重违背了D1的客观记载。
本专利权利要求1明确限定了特征B:“其中索引的所述第一子集中的每一者对应于属于所述表条目的第一子集的表条目”。这意味着,第一SIMD指令中所包含的所有索引,必须且只能指向表的第一子集。
我们来看D1的真实教导:
D1在处理超大表时,使用的是全局复用掩码。根据D1第[0111]-[0113]段及图10A、10C的记载,MASK 1001 包含16个字节的索引,但这16个索引是混合的。例如,部分索引(其第5位为0)指向 LOW TABLE DATA 1021(第一子集),而另一部分索引(其第5位为1)实质上指向的是 HIGH TABLE DATA 1051(第二子集)。
在D1的图10A中,SIMD指令使用包含了指向第二子集索引的 MASK 1001 去强行查找 LOW TABLE DATA,产生了无用甚至错误的中间结果(TEMP RESULTANT A 1041),随后必须在图10D和10F中通过 LOW TABLE SELECT MASK 1046 进行逻辑与(AND)操作,才能将那些不属于第一子集的错误结果过滤掉(即清零)。
反驳结论: 既然D1的 MASK 1001 中包含了指向第二表子集(High Table)的索引,它就绝对不可能满足本专利权利要求1中“第一子集中的每一者对应于属于所述表条目的第一子集的表条目”的严苛限定。请求人将 MASK 1001 强行生搬硬套为“索引的第一子集”,属于典型的断章取义。因此,D1并未公开特征A和特征B,权利要求1具备新颖性。
请求人试图用“16不大于16”的数学文字游戏来论证特征D(“到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目”)被公开。然而,基于上述第一点的反驳,这一逻辑不攻自破。
本专利的核心创新在于硬件级别的交叉开关减负。正如本专利说明书[0032]-[0034]段及图2所述,第一SIMD指令(如指令106)仅包含指向偶数条目的4个索引(索引的子集),因此硬件底层的交叉开关(如4×4交叉开关216)仅接收4个输入。这就实现了避免使用庞大、昂贵的16×16甚至32×32交叉开关的技术目的。
相反,D1图6公开的交叉开关(由16个8:1 mux和16个3:1 mux构成)是一个标准、全尺寸的16字节硬件通路。在执行图10A的操作时,D1的交叉开关依然死板地接收了整整16个字节的 LOW TABLE DATA 作为输入,并处理了16个掩码索引。D1的交叉开关硬件根本无法感知、也没有根据所谓的“子集”去缩减输入数目。请求人用一个固定尺寸的16×16硬件去强行比对本专利动态缩减的小型交叉开关,属于对硬件底层架构的曲解。
请求人退一步主张,即使存在区别技术特征,将“交叉开关尺寸与索引数量匹配”是本领域的公知常识,或者可以结合D2得出。这一主张犯了典型的“事后诸葛亮”(Hindsight)的错误,且完全无视了D1的技术教导方向。
分析创造性时,必须考察现有技术给出的整体启示。
D1所要解决的问题是:在不改变现有标准16字节SIMD硬件架构的前提下,如何通过纯软件/指令组合算法(Software/Instruction sequencing workaround)来处理大于16字节的表。
D1给出的解决方案是:无论表多大,硬件底层始终用那个固定的16字节交叉开关。它通过多次盲目的全量查找(图10A、10B),然后外加复杂的逻辑掩码运算(图10C-10H中的AND、OR操作)在软件层面剔除不需要的数据。
换言之,D1的技术路线是“用复杂的软件逻辑来弥补死板的硬件尺寸限制”。
而本专利的技术路线截然相反,本专利是**“通过重构SIMD指令语义(仅指定真正需要的索引子集),直接在硬件底层缩减交叉开关的物理规模或激活通路(例如采用4×4代替16×16)”**。
本领域技术人员在阅读D1后,得到的启示只能是“如何写出更复杂的掩码过滤算法”,而绝对不会产生“去修改SIMD指令结构并阉割底层交叉开关硬件”的动机。D1不仅没有提供结合启示,反而将技术人员引向了与本专利完全相反的研发方向。
请求人声称“减小交叉开关尺寸以节约面积”是公知常识。不可否认,芯片设计追求小面积是常识;但是,“如何”在SIMD表查找这一特定场景下实现减小面积,并非公知常识。
本专利并非简单地说“我要把交叉开关做小”,而是提供了一套完整的机制:通过重新定义第一SIMD指令,使其仅携带“每一者均对应第一子集的索引子集”(特征A、B),从而在逻辑上和物理上使得“交叉开关的输入数目不大于该索引子集的数目”(特征C、D)成为可能。这套软硬协同(指令集与微架构协同设计)的方案,在D1中毫无踪影,也绝非简单的“公知常识”所能拼凑。
综上所述,无效宣告请求人对对比文件D1的解读存在严重的事实偏差。D1的全局混合掩码根本不是本专利所限定的“每一者对应于第一子集”的索引子集。D1展示的是一种依赖标准大交叉开关辅以软件过滤的算法,而本专利提供的是一种软硬件协同缩小交叉开关规模的底层创新。
本专利权利要求1不仅具备《专利法》第二十二条第二款规定的新颖性,同时,相比于D1及其与公知常识的拼凑,本专利从根本上改变了SIMD指令的设计维度与硬件实现路径,取得了降低硬件成本、提高处理能效的显著进步,具备《专利法》第二十二条第三款规定的创造性。
请求人的无效理由均不成立,恳请国家知识产权局专利局复审和无效审理部依法维持CN107924306B号专利全部权利要求有效。
根据权利要求1所述的方法,其进一步包括如果所述交叉开关的所述输出属于表条目的所需子集,那么将所述第一向量输出生成为等于所述交叉开关的所述输出。
根据权利要求1所述的方法,其进一步包括如果所述交叉开关的所述输出不属于表条目的所需子集,那么将所述第一向量输出生成为等于零值。
根据权利要求1所述的方法,其中索引的所述第一子集是不连续的。
根据权利要求1所述的方法,其进一步包括接收指定索引的第二子集的第二SIMD指令,及在所述交叉开关中通过索引的所述第二子集查找表条目的所述第一子集。
根据权利要求5所述的方法,其中索引的所述第一子集及索引的所述第二子集是不重叠的。
根据权利要求5所述的方法,其中索引的所述第一子集包括偶数索引,并且索引的所述第二子集包括奇数索引。
根据权利要求1所述的方法,其进一步包括接收指定索引的第三子集的第三SIMD指令,及在所述交叉开关中查找表条目的第二子集,其中表条目的所述第一子集及表条目的所述第二子集是不重叠的。
根据权利要求8所述的方法,其进一步包括接收指定索引的第四子集的第四SIMD指令;及在所述交叉开关中查找表条目的所述第二子集。
根据权利要求9所述的方法,其中索引的所述第三子集及索引的所述第四子集是不重叠的。
根据权利要求9所述的方法,其中索引的所述第三子集包括偶数索引,并且索引的所述第四子集包括奇数索引。
根据权利要求1所述的方法,其中所述表的所述第一子集中包括连续的表条目。
一种用于查找表的条目的设备,其包括: 存储器,其包括所述表;及 处理器,其经配置以执行第一单指令多数据SIMD指令,其中所述处理器包括:交叉开关,其经配置以通过由所述第一SIMD指令指定的索引的第一子集查找所述表的表条目的第一子集,其中索引的所述第一子集中的每一者对应于属于所述表条目的所述第一子集的表条目,并且其中到所述交叉开关的输入的数目不大于在索引的所述第一子集中的索引的数目;及逻辑,其用于基于所述交叉开关的输出生成所述第一SIMD指令的第一向量输出。
一种用于查找表的条目的设备,其包括用于执行根据权利要求1到12中任一项所述的方法的装置。
一种计算机可读媒体,所述计算机可读媒体包括用于致使计算机或处理器执行根据权利要求1到12中任一项所述的方法的至少一个指令。