用于不规则代码的高效LDPC编码器的制作方法

文档序号:11621684研发日期:2016年阅读:376来源:国知局
技术简介:
本专利针对传统LDPC编码中奇偶校验矩阵存储效率低、计算资源消耗大的问题,提出一种高效编码方案。通过分层存储奇偶校验矩阵的循环内容、循环列计数及预计算的密集矩阵,结合指针定位技术,实现信息数据与矩阵的快速乘法运算,显著降低存储占用和计算复杂度,提升编码效率。
关键词:高效LDPC编码器,循环内容存储,密集矩阵预计算

相关申请的交叉引用

本申请要求于2015年10月13日提交的申请号为62/240,964的美国临时专利申请的优先权,其全部公开通过引用并入本文。



背景技术:

非易失性存储器装置诸如固态驱动器(ssd)正在寻找在消费性电子产品中的新应用。例如,它们正在替代通常包括快速旋转的磁盘(圆形磁盘片)的硬盘驱动器(hdd)。非易失性存储器,其有时被称作“闪速存储器”(例如,nand和nor闪存装置),被用在介质存储、摄像机、移动电话、移动计算机、便携式计算机、usb闪存驱动器等中。当断电时,非易失性存储器提供存储数据的相对可靠、小型化、性价比高并且易于访问的方法。

在诸如nand闪速存储器系统的存储器系统中使用错误校正码(ecc)以确保被存储于存储器系统中的数据的数据完整性。ecc对于延伸nand(非-and)闪速存储器系统的生命周期已经变得日益重要。低密度奇偶校验(ldpc)码已经被用于改善nand闪速存储器的可靠性。传统编码器使用的ldpc码是规则的ldpc码而不是不规则的ldpc码。



技术实现要素:

本发明的实施例涉及一种存储器系统。

根据本发明的实施例,一种存储器系统,其包括:存储器位置的阵列;以及编码器,其包括:第一编码器存储器位置,其存储a、c、e和b的循环内容,其中a、c、e和b为奇偶校验矩阵h的部分;第二编码器存储器位置,其存储a、c、e和b的循环列计数;以及第三编码器存储器位置,其存储密集矩阵,其中密集矩阵等于(et-1b+d)-1,其中t为单位矩阵并且d和t也为奇偶校验矩阵h的部分,其中编码器被配置为接收信息数据ut,并且被配置为:通过将信息数据乘以(e*a+c)而生成第一乘积,其中生成第一乘积包括访问第一和第二编码器存储器位置;通过将密集矩阵乘以第一乘积而生成第一奇偶校验信息p1t;并且生成第二奇偶校验信息p2t,其中第二奇偶校验信息等于(a*ut+b*p1t)。

根据本发明的实施例,一种存储器系统的编码器的使用方法,其包括:接收信息数据ut;将信息数据乘以(e*a+c),其中e、a和c是奇偶校验矩阵h的部分,其中将信息数据乘以(e*a+c)包括:访问存储a、c和e的循环内容的第一存储器位置;并且访问存储a、c和e的循环列计数的第二存储器位置;将信息数据乘以(e*a+c)的第一乘积存储在第一缓冲器中;访问存储密集矩阵的第三存储器位置,其中密集矩阵等于(et-1b+d)-1,其中t为单位矩阵并且d和t也为奇偶校验矩阵h的部分;通过将密集矩阵乘以第一乘积生成第一奇偶校验信息p1t;以及生成第二奇偶校验信息p2t,其中第二奇偶校验信息等于(a*ut+b*p1t),生成第二奇偶校验信息包括:访问存储b的循环内容的第一存储器位置,其中b为奇偶校验矩阵h的部分;并且访问存储b的循环列计数的第二存储器位置。

附图说明

将参照附图描述根据本公开的各个实施例,在附图中:

图1示出包括编码器和存储器阵列的存储器系统的示例性顶层框图;

图2示出示例性校验奇偶校验矩阵h;

图3示出可被不规则ldpc编码器访问的三个示例性存储器位置;

图4示出不规则ldpc编码器的编码器结构的示例性顶层框图;

图5示出包括示例性编码器和存储器阵列的示例性存储器系统;并且

图6示出生成由ldpc编码器使用的奇偶信息的过程的示例。

具体实施方式

本发明的实施例涉及用于编码不规则代码的方法、系统和装置。本公开的某些方面和实施例在下文中被提供。如对本领域技术人员而言将会是显而易见的是,这些方面和实施例中的一些可以被独立地应用并且它们中的一些可以被组合应用。在下文的描述中,出于解释的目的,具体的细节被阐述以为了提供对实施例的彻底理解。然而,各个实施例可以在没有这些具体细节的情况下被实施,这将是显而易见的。附图和描述并不旨在限制。

随后的描述提供了示例并且不是为了限定本公开的范围、适用性或配置。相反,随后的示例性实施例的描述将为本领域技术人员提供能够实现示例性实施例的描述。应当理解的是,在不脱离如在权利要求书中提出的本发明的精神和范围的情况下,元件的功能和布置可以被进行各种改变。

在接下来的描述中给出具体细节以提供对实施例的彻底理解。然而,将被本领域普通技术人员所理解的是,实施例可以在没有这些具体细节的情况下被实施。例如,为了不使不必要的细节使实施例难以理解,电路、系统、网络、过程和其它部件可被示出为框图形式的部件。在其它实例中,为了避免使实施例难以理解,公知的电路、过程、算法、结构和技术可以被示出而不带有不必要的细节。

术语“计算机可读介质”包括但不限于,便携式或非便携式存储装置、光存储装置和能够存储、包含或携带指令和/或数据的各种其它介质。计算机可读介质可以包括数据可以被存储于其中的非暂时性介质,其不包括通过无线传播的或有线连接的载波和/或暂时性电子信号。非暂时性介质的实例可以包括但不限于磁盘或磁带、诸如光盘(cd)或数字通用光盘(dvd)的光存储介质、闪速存储器、存储器或存储器装置。计算机可读介质可以具有存储于其上的编码和/或可以表示步骤、功能、子程序、程序、例程、子例程、模块、软件包、类别、或指令、数据结构或程序语句的任何组合的机器执行的指令。代码段可通过传递和/或接收信息、数据、参数、参量或存储器内容可以被联接至另一个代码段或硬件电路。信息、参数、参量、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等任何合适的方法被传递、转递或传输。

而且,实施例可以通过硬件、软件、固件、中间件、微码、硬件描述语言或它们的任何组合被实现。当在软件、固件、中间件或微码中实现时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读的介质中。处理器可以执行必要的任务。

接下来的详细的描述连同附图一起提供对本发明的性质和优点的更好的理解,其中附图中相同的参考数字有时被用在多个附图中以表示相似的或相同结构的结构元件。

存储器系统使用错误校正码(ecc)以确保数据完整性。例如,奇偶校验位可以和信息数据一起被存储在相同的存储器位置中,在该存储器位置中奇偶校验位是二进制字符串的特定位的数据总和为奇数还是偶数值的指令。低密度校验奇偶校验(ldpc)码通常包括具有行和列的奇偶校验矩阵。例如,ldpc可以被应用于(待被编码的)信息数据以生成奇偶校验位。已有的ldpc编码器包括适于规则代码的编码器结构。然而,当已有的ldpc编码器遇到不规则代码时,其在区域和功率方面是低效的。通常,当行重对于每列是恒定的并且列重对于每行是恒定的时,ldpc码是“规则代码”。不“规则的”ldpc被称为“不规则”。对于不规则ldpc编码器,在坦纳图(tannergraph)的每一边上的节点的度数可以很大地变化。关于奇偶校验矩阵h,每行和列的重量对于不规则ldpc码是不统一的。由于规则与不规则ldpc码之间的差异,使用不规则ldpc码的传统规则群组结构(grouparchitecture)可以被更高效的用于编码。除了效率,存储器系统的能量消耗效率也是令人满意的。例如,能量消耗是tlc(三层单元)nand多步编程的驱动因素。本公开提供用于不规则ldpc码的编码器以及操作该编码器的方法的示例。与传统ldpc编码器相比,公开的实施例提供使区域和功率高效的潜在优点。

图1示出包括编码器110和存储器阵列130的存储器系统100的示例性顶层框图。在一个实施例中,存储器系统100是存储器装置的示例,诸如非易失性存储器装置。例如,存储器阵列130可以被实现为nand闪速存储器并且可以包含千兆字节的存储器位置。存储器系统100可以被包括在计算机、移动装置、拇指棒闪存驱动器(thumb-stickflashdrive)或其它装置中。在图1中,编码器110响应于接收数据103生成编码数据113。然后编码数据113被存储在存储器阵列130中。编码数据113包括接收数据103和在编码器110中生成的奇偶校验信息。

图2示出示例性校验奇偶校验矩阵h200。奇偶校验矩阵h包括六部分a205、b210、t215、c220、d225和e230。如本领域内公知的,六个部分格式通过使用richardson-urbanke(“ru”)算法生成。ru算法在例如由作者thomasj.richardson在ieeetransactionsinformationtheory(2001)上发表的“低密度奇偶校验码的高效编码”中被描述。

对于奇偶校验矩阵h200,应用以下方程:

h*ct=[abt](1)

[cde]*[utp1tp2t]=0(2)

在方程(1)中,ct表示码字,h表示奇偶校验矩阵h200,并且a、b和t分别表示a部分205,b部分210以及t部分215。在方程(2)中,c、d和e分别表示c部分220,d部分225以及e部分230。同样地,在方程(2)中,ut表示待被编码的信息数据,p1t表示第一奇偶校验信息,并且p2t表示第二奇偶校验信息。生成第一奇偶校验信息p1t和第二奇偶校验信息p2t在下文中被详细描述。

在图2中,a部分205和c部分220具有为k的宽度250,其中k为待被编码的数据,例如数据103,的信息位的尺寸。而且,在示出的奇偶校验矩阵h200中,t部分215和e部分230具有为k1的宽度260,其中k1为t部分215的尺寸,如下文所述其可以是单位矩阵。b部分210和d部分225具有为n-k-k1的宽度255,其中n为包括信息位和奇偶校验位的总码字ct的尺寸。在图2中,a部分205、b部分210和t部分215具有为k1的高度270。c部分220、d部分225和e部分230具有为n-k-k1的高度275。

由于h200是不规则的奇偶校验矩阵,循环置换可以被执行以使得t部分215为单位矩阵并减少密集矩阵d的尺寸。在不规则奇偶校验矩阵中列重未开始一致的特征中,t部分215与规则奇偶校验矩阵相比可以进一步扩大以减少密集矩阵计算的周期次数。在本公开的实施例中,t部分215是单位矩阵并且t部分215可以被安排为下三角矩阵以减少密集矩阵的尺寸。由于单位矩阵可以很容易生成而不需要被存储在存储器中,因此使部分t215为单位矩阵是潜在的优势。因为部分t215的尺寸影响d部分225的尺寸(d部分225的宽度为n-k-k1),因此最大化k1的尺寸以最小化d部分225,进而最小化密集矩阵计算周期可能是有利的。

而且,在进一步循环置换中,所有的高列重可以被移动至h1240的前部245并保持低列重集中在h1240的后部243。出于本公开的目的,h1240是a部分205和c部分220的组合,或a+c。如图2所示,在h1240的前部245中的高列重由斑点填充示出,同时在h1240的后部243中剩余的低列重保持空白。因为部分a205、c220、b210和e230的循环内容信息可以被合并到单个物理存储位置中,因此奇偶校验矩阵h200的矩阵格式对于减小区域也是令人满意的。在一个实施例中,单个物理存储器位置被配置为sram。而且,因为部分a205、c220、b210和e230的每列的非零循环的位置也可以被合并且存储在单个存储器位置中,其也可以是sram,因此奇偶校验矩阵h200的矩阵格式也是令人满意的。

图3示出三个示例性存储器位置310、360和390。存储器位置310、360和390可被不规则ldpc编码器访问。存储器位置310存储h1312、e314和b316。h1312存储h1240的稀疏循环内容,e314存储e230的稀疏循环内容,并且b316存储b210的稀疏循环内容。在一个实施例中,存储器位置310是sram。存储器位置310的宽度338是循环尺寸乘以w,其中w是存储在sram的行中的非零(nz)循环内容的数目。在一个实施例中,循环尺寸是128。h1312的高度332是h1的总nz循环内容除以w。e314的高度334是e的总nz循环内容除以w。b316的高度336是b的总nz循环内容除以w。

由于h1312、e314和b316被存储在同一存储器位置310中,指针被用于指示边界。high_col_ptr322是指示h1312的高列重和低列重之间的边界的可编程指针。如填充在存储器位置310的顶部处的斑点所指示的,高列重被存储在存储器位置310的顶部。circ_ptr_0324指示h1312和e314之间的边界并且circ_ptr_1326指示e314和b316之间的边界。high_col_ptr322、circ_ptr_0324、和circ_ptr_1326是可编程的并且可以被存储在可访问编码器逻辑的存储器中。

存储器位置360存储h1362、e364和b366。h1362存储h1240的循环列计数(即,每列多少循环),e364存储e230的循环列计数,并且b366存储b210的循环列计数。在一个实施例中,存储器位置360是sram。存储器位置360的宽度338是循环尺寸乘以y,其中y是存储在sram的行中的非零(nz)循环列计数的数量。在一个实施例中,循环尺寸是128。h1362的高度382是k除以y,e364的高度384是k1除以y,并且b366的高度386是n-k-k1除以y。

由于h1362、e364和b366被存储在同一存储器位置360中,指针被用于指示边界。high_col_ptr372是指示h1362的高列计数和低列计数之间的边界的可编程指针。如填充在存储器位置360的顶部处的斑点所指示的,高列计数被存储在存储器位置360顶部中。col_cnt_ptr_0374指示h1362和e364之间的边界并且col_cnt_ptr_1376指示e364和b366之间的边界。high_col_ptr372、col_cnt_ptr_0374和col_cnt_ptr_1376是可编程的并且可以被存储在可访问编码器逻辑的存储器中。在一个实施例中,sram360小于sram310。在一个可能的示例中,sram360具有32位的宽度和40位的高度。

在图3中的存储器位置390存储密集矩阵f396,其由下式得出:

f=(et-1b+d)-1(3)

并且其中t为单位矩阵,密集矩阵f可以被表示为:

f=(e*b+d)-1(4)

密集矩阵f可以被预先计算以减轻诸如编码器110的编码器的处理负担。使部分t215为单位矩阵允许方程(3)被简化为方程(4),这可以减少处理负担。而且,由于单位矩阵可以容易地被生成而不需要被存储在存储器中,因此使部分t215为单位矩阵是潜在的优势。存储器位置390具有为n-k-k1的宽度392和为n-k-k1的高度。在一个实施例中,存储器位置390是sram。

图3示出仅需要三个存储器空间以存储用于奇偶校验矩阵h200的信息,这少于传统使用的存储器空间。使用较少存储器空间的一个潜在优势是减少被分配的存储器逻辑以有助于每一个存储器空间。例如,三个存储器空间示出可以如何使用奇偶校验矩阵h200的稀疏性以获得在三个存储器位置310、360和390中示出的更合适的奇偶校验矩阵格式。

图4示出诸如编码器110的不规则ldpc编码器的编码器结构400的示例性顶层框图。编码器结构400可以使用图3的三个存储器空间格式。编码器结构400除增加其自己的硬件效率之外,还利用奇偶校验矩阵h200的高效存储。奇偶校验矩阵h200的存储的效率和编码器结构400的效率可以减少不规则编码器的区域、成本和功耗。例如,与图2和3的高效存储方案相搭配的编码器结构400适用于不规则奇偶校验矩阵并且可以被用于nand控制器应用。

编码器结构400响应于接收数据103而生成第一奇偶校验信息p1t471和第二奇偶校验信息p2t473。由下列方程计算第一奇偶校验信息p1t471第二奇偶校验信息p2t473:

p1t=(et-1b+d)-1*(et-1a+c)*ut(5)

p2t=t-1*(a*ut+b*p1t)(6)

通过使部分t215为单位矩阵并且预先计算如方程(4)中的密集矩阵f396,方程(5)和(6)可以被进一步简化为:

p1t=f*(e*a+c)*ut(7)

p2t=(a*ut+b*p1t)(8)

预先计算密集矩阵f396并存储在存储器位置390中使得用于编码器结构400的至少一些密集矩阵计算的处理负担减少。

图4中,稀疏计算块405接收数据103。稀疏计算块405访问cmatrix存储器490以执行稀疏循环计算以生成部分c220并且将部分c220乘以数据103。随着h1240成为部分a205和部分c220的组合,cmatrix可以通过分别访问存储器位置310和360的h1312和h1362部分被重建。在图4中,稀疏计算块410也接收数据103。稀疏计算块410访问amatrix存储器492以执行稀疏循环计算以生成部分a205并且将部分a205乘以数据103。amatrix可以通过分别访问存储器位置310和360的h1312和h1362部分被重建。部分a205和数据103的乘积被存储在缓冲器440中。稀疏计算块415访问ematrix存储器494以执行稀疏循环计算从而生成部分e230并且将部分e230乘以缓冲器440的内容(其为a*ut)。在示出的实施例中,将稀疏计算块415的输出与稀疏计算块405的输出求和并存储到缓冲器442中。然后缓冲器442的内容等于(e*a+c)*ut。在一些实施例中,求和逻辑(sumlogic)450包括xor逻辑。在图4中,密集矩阵计算块420访问fmatrix存储器496以执行密集矩阵计算并且将密集矩阵f396乘以缓冲器442的内容。密集矩阵计算块420的输出是p1t471。如方程(7)中给出的,将((e*a+c)*ut)乘以密集矩阵f,生成p1t471。因此,根据方程(7),由密集计算块420和在密集计算块420之前的块生成p1t471。

在图4中,稀疏计算块425从密集计算块420接收p1t471。稀疏计算块425访问bmatrix存储器498以执行稀疏循环计算从而生成部分b210并且将部分b210乘以p1t471。乘积通过稀疏计算块425被输出至求和逻辑块455。求和逻辑块455也接收缓冲器440的内容,其为a*ut。有利地,因为方程(8)也需要将部分a205乘以ut,因此求和逻辑块455能够再次使用缓冲器440的内容来计算p2t473。通过对a*ut(来自缓冲器440)与b*p1t(来自稀疏计算块425)求和,求和逻辑块455生成p2t473。因此,编码器结构400生成第一奇偶校验信息p1t471和第二奇偶校验信息p2t473,但是只有第一奇偶校验信息p1t471的生成与密集矩阵计算有关—一旦生成第一奇偶校验信息p1t471,编码器结构400就可以将其应用于生成第二奇偶校验信息p2t473。因此,生成第二奇偶校验信息p2t473仅需要稀疏矩阵计算而不是同样需要密集矩阵计算。

图5示出包括示例性编码器510和存储器阵列530的示例性存储器系统500。编码器510包括管线(pipeline)560和存储器位置310、360和390。在图5中,存储器位置310、360和390被示出为包括在编码器510中,尽管在一些实施例中,存储器位置310、360和390可以被编码器510访问,但不必须包括在编码器510中。编码器510是编码器110的一个示例,并且存储器阵列530是存储器阵列130的示例。编码器510响应于接收数据503而生成第一奇偶校验信息p1t471和第二奇偶校验信息p2t473。在示出的实施例中,编码数据513包括数据503、第一奇偶校验信息p1t471和第二奇偶校验信息p2t473。更具体地,编码数据513包括数据信息字段551、第一奇偶校验信息字段552和第二奇偶校验信息字段553。数据503填入数据信息字段551、第一奇偶校验信息p1t471填入第一奇偶校验信息字段552,并且第二奇偶校验信息p2t473填入第二奇偶校验信息字段553。然后编码数据513被存储到存储器阵列530的存储器位置。

在图5中,管线560可以包括编码器结构400。存储器位置310、360和390可以被管线560访问,使得根据存储在存储器位置310、360和390中的奇偶校验部分,管线560的逻辑或处理资源可以生成第一奇偶校验信息p1t471和第二奇偶校验信息p2t473。

图6示出生成诸如编码器110/510的不规则ldpc编码器使用的奇偶校验信息的进程600的示例。进程600被示出为逻辑流程图,其每个操作表示可以在硬件、计算机指令或其组合中实现的一系列操作。在计算机指令的语境中,操作表示存储在一个或多个计算机可读取的存储介质上的计算机可执行的指令,即当指令被一个或多个处理器执行时,执行上文所述的操作。通常,计算机可执行的指令包括执行特定功能或实现特定数据类型的例程、程序、对象、部件、数据结构等。其中操作被描述的顺序不旨在被理解为限制,并且任意数量的描述的操作可以被省略或以任何顺序组合和/或并行实现本文中描述的该过程和任何其它过程。

进程600的一些或所有(或本文描述的任何其它过程,或变型和/或其组合)可以在被配置有可执行指令的一个或多个计算机系统的控制下被执行并且可以被实现为代码(例如可执行的指令、一个或多个计算机程序或者一个或多个应用)。代码可以例如以包括可被一个或多个处理器执行的多个指令的计算机程序的形式被存储在计算机可读取的存储介质上。计算机可读取的存储介质可以是非暂时性的。

在进程块602中,信息数据(例如103/503)被接收。例如,信息数据ut可以被编码器110/510接收。在进程块604中,来自第一存储器位置(例如310)的循环信息被访问并且来自第二存储器位置(例如360)的循环列计数信息被访问以将信息数据乘以(e*a+c)。e、a和c是奇偶校验矩阵h(例如200)的部分。在一个实施例中,将信息数据乘以(e*a+c)进一步包括通过将信息数据乘以a而生成乘积并将该乘积(例如稀疏计算块410的输出)存储在缓冲器(例如缓冲器440)中。

访问特定部分的循环内容可以包括通过访问循环指针(例如指针324)而确定奇偶校验矩阵h的给定部分的循环内容的开始,其中循环指针指向标记特定部分(例如部分e314)的循环内容的开始的第一存储器位置的第一地址。相似地,奇偶校验矩阵h的特定部分的循环列计数的开始可以通过访问列计数指针(例如指针374)而被确定,其中列计数指针指向标记特定部分(例如部分e364)的循环列计数的开始的第二存储器位置的第二地址。以这种方法,矩阵或奇偶校验矩阵h的部分可以从存储在第一存储器位置(例如310)中的循环内容和存储在第二存储器位置(例如360)中的循环列计数中重建。

执行进程块604的一个示例包括,例如,通过由访问指向标记部分e314的循环内容的开始的第一存储器位置的第一地址的circ_ptr_0324而确定奇偶校验矩阵h的部分e314的循环内容的开始,将信息数据乘以(e*a+c)。相似地,部分e364的循环列计数的开始可以通过访问指向标记部分e364的循环列计数的开始的第二存储位置的第二地址的col_cnt_ptr_0374而确定。相似地,奇偶校验矩阵h的其它部分可以通过使用公开的指针并访问存储器位置310和360被重建。

在进程块606中,将信息数据乘以(e*a+c)的第一乘积(例如求和逻辑块450的输出)被存储到缓冲器(例如缓冲器442)中。在进程块608中,可以从第三存储器位置(例如390)中接收密集矩阵f。例如,可以通过密集计算块420接收密集矩阵f。密集矩阵f等于(et-1b+d)-1,其中t为单位矩阵并且d和t也是奇偶校验矩阵h(例如200)的部分。密集矩阵f可以被预先计算并被存储到第三存储器位置中。通过将密集矩阵f乘以存储在进程块606中的第一乘积而在进程块610中生成第一奇偶校验信息p1t。在一些实施例中,密集矩阵计算块420可以执行进程块610。密集矩阵计算块420可以包括多个and门和xor门。

在进程块612中,生成第二奇偶校验信息p2t,其中p2t等于(a*ut+b*p1t)。如上所述,生成第二奇偶校验信息p2t包括访问存储部分b的循环内容的第一存储器位置(例如310)并访问存储部分b的循环列计数的第二存储器位置以重建部分b。例如,这允许稀疏计算块425将第一奇偶校验信息p1t乘以部分b210。生成第二奇偶校验信息数据p2t也可以包括将稀疏计算块425的输出与存储信息数据乘以a的乘积的缓冲器440求和。因此,通过访问缓冲器440以访问在生成第二奇偶校验信息数据p2t中的(a*ut)而不需要额外的硬件和/或处理步骤以生成第二奇偶校验信息p2t,来获得处理效率。求和逻辑(例如求和逻辑455)可以将稀疏计算块425的输出与缓冲器440的内容求和。例如,求和逻辑可以包括异-or逻辑。在进程块614中,信息数据、第一奇偶校验信息p1t和第二奇偶校验信息p2t被存储在存储器系统的存储器位置(例如在存储器阵列中的存储器位置)。

因此,说明和附图将被认为是说明性的而不是限制性意义。然而,在没有脱离如在权利要求书中阐述的本公开的最宽的精神和范围的情况下,可对本发明做出各种修改和改变是显而易见的。

各种变化存在于本公开的精神范围内。因此,虽然所公开的技术易于根据各种变型和可选结构变化,其某些被说明的实施例在附图中被示出并且已经在上文中被详细描述。然而,这不是为了将本公开限定为具体形式或所公开的形式,相反,旨在为覆盖在如在权利要求书中所定义的本公开的精神和范围内的所有的变型、可选择的结构和等价物。

本公开的优选实施例在本文中被描述,包括发明人已知的用于执行本公开的最佳方式。基于阅读前述描述,这些优选实施例的变化对于本领域普通技术人员来讲可以变得显而易见。发明人希望技术人员视情况采用这些变化并且发明人希望本公开以除本文所具体描述以外的方式被实施。因此,本公开包括所有的变形和如适用法律所允许的在权利要求书中记载的主题的等价物。而且,除非本文中另外指出或上下文清楚地彼此矛盾,在本公开的所有可能变型中的上述元件的任何组合都被包含在本公开中。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!