钱式搜索装置、存储装置以及钱式搜索方法

文档序号:9330190阅读:445来源:国知局
钱式搜索装置、存储装置以及钱式搜索方法
【技术领域】
[0001]本发明的实施方式一般涉及钱式搜索(Chien search)装置、存储装置以及钱式搜索方法。
【背景技术】
[0002]在使用了半导体存储器等的存储装置中,在数据的译码处理中进行纠错处理。在纠错处理中,作为对数据的错误位置进行确定的方法具有钱式搜索。在钱式搜索中,为了进行根的探索以确定错误位置,进行:用于将错误位置多项式(t次以下)的常数项以外的系数分别设为a倍、a 2倍、...、Ctt倍的由a的幂进行的异或运算;和用于在伽罗瓦(galois)体上对这些运算结果取和的异或运算。在钱式搜索电路中,为了在每个循环都判定错误位置,在I个循环以内进行所有异或运算。另一方面,在钱式搜索电路中,能够通过增大伽罗瓦体的位数和/或错误位置多项式的次数而提高纠错能力,但同时异或运算的级数(理論和演算O段数)增多。

【发明内容】

[0003]本发明的实施方式提供能够减少异或运算的级数的钱式搜索装置、存储装置以及钱式搜索方法。
[0004]根据本实施方式,钱式搜索装置基于通过错误位置多项式运算算出的错误位置多项式的项的系数,对n(n为2以上的自然数)位并行进行钱式搜索。具有η个运算部,它们按每个所述系数基于所设定的运算式进行第I异或运算。另外,具有第I寄存器,其保持所述η个运算部中的进行与钱式搜索中的最高次的α的幂的运算相当的所述第I异或运算的高次运算部的运算结果。另外,具有异或运算部,其基于所述高次运算部的运算结果而进行第2异或运算。另外,具有第2寄存器,其保持所述异或运算部的运算结果。所述η个运算部分别输入来自所述第I寄存器的第I寄存器值以及来自所述第2寄存器的第2寄存器值,对于通过使用所述第2寄存器值能够降低所述第I异或运算的运算级数的运算使用所述第2寄存器值。
【附图说明】
[0005]图1是表示第I实施方式所涉及的半导体存储装置(存储装置)的构成例的框图。
[0006]图2是表示第I实施方式所涉及的译码部的构成例的图。
[0007]图3是表示第I实施方式所涉及的钱式搜索部(钱式搜索装置)的构成例的图。
[0008]图4是表示在钱式搜索部(钱式搜索装置)中与错误位置多项式σ (X)的系数σ i相当的部分的运算内容的图。
[0009]图5是表示第I实施方式的钱式搜索方法的流程图。
【具体实施方式】
[0010]以下参照附图,对实施方式所涉及的钱式搜索装置、存储装置以及钱式搜索方法进行详细说明。另外,本发明并不限定于这些实施方式。
[0011](第I实施方式)
[0012]图1是表示第I实施方式所涉及的半导体存储装置(存储装置)I的构成例的框图。本实施方式的半导体存储装置I包含存储器控制器(存储器控制装置)2和半导体存储部(存储部)3。半导体存储装置I经由通信接口而连接于主机4,作为相对于主机4的外部存储介质发挥作用。作为主机4的例子,可列举个人计算机和/或CPU (Central ProcessingUnit,中央处理单元)核心等。
[0013]存储部3包括例如NAND型闪存等非易失性半导体存储器。存储部3具备的存储芯片可以是单个也可以是多个。
[0014]存储器控制器2包含内部总线20、主机Ι/F(接口)21、存储器Ι/F(存储器控制部)22、控制部23和编码/译码处理部24。编码/译码处理部24包含编码部25和译码部(译码器)26。
[0015]主机I/F21将从主机4接收的指令、数据等向内部总线20输出。另外,主机I/F21将经由内部总线20输入的数据、来自控制部23的响应通知(表示指令的执行完成的通知等)等发送到主机4。主机I/F21依照例如SATA (Serial AdvancedTechnology Attachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行 SCSI)、PCI (Peripheral Component Interconnect,周边零件连接界面)、Express 等通信接口标准。
[0016]控制部23为综合地控制半导体存储装置I的各构成要素的控制部,由CPU核心、RAM (Random Access Memory,随机存取存储器)、ROM (Read Only Memory,只读存储器)、DMA (Direct Memory Access,直接内存访问)控制器等构成。控制部23在从主机4经由主机I/F21以及内部总线20接受到指令的情况下,进行根据该指令的控制。例如,控制部23根据来自主机4的指令,向存储器I/F22指示向半导体存储部3写入数据、从半导体存储部3读取数据等。另外,控制部23向编码/译码处理部24指示实施纠错编码处理或者译码处理。
[0017]编码/译码处理部24基于控制部23的指示,对从主机4接收的用户数据进行纠错编码处理,向存储器I/F22输出,对从存储器I/F22输入的代码数据进行译码处理。存储器I/F22基于控制部23的指示而进行对半导体存储部3的读写。
[0018]另外,图1所示的半导体存储装置I的构成为一例,只要具备半导体存储部3与对该半导体存储部3的读写进行控制的控制器、为能够与主机4通信的构成,并不限定于图1所示的构成,可以是任何的构成。另外,也可以代替半导体存储部3而使用半导体存储器以外的存储单元。
[0019]接下来,对向本实施方式的半导体存储部3的写入工作进行说明。首先,控制部23若从主机4接到写入用户数据的指示,则指示编码/译码处理部24实施编码,并且指示存储器I/F22对半导体存储部3进行写入。从主机4发送的写入对象的用户数据被写入半导体存储装置I内的未图示的缓存。编码/译码处理部24的编码部25对从缓存输入的用户数据进行纠错编码,将生成的冗余数据向存储器I/F22输出。存储器I/F22将从缓存输入的用户数据与编码部25生成的冗余数据向半导体存储部3写入。
[0020]作为纠错代码可以使用任何的代码,例如,能够使用BCH代码和/或RS (Reed —Solomon)代码等。以下以BCH代码为例进行说明。
[0021]接下来,对从本实施方式的半导体存储部3的读取工作进行说明。控制部23若从主机4接到读取数据的指示,则指示编码/译码处理部24实施译码,并且指示存储器I/F22从半导体存储部3进行读取。存储器I/F22基于来自控制部23的指示从半导体存储部3读取用户数据和与其相对应的冗余数据,并向编码/译码处理部24输出。编码/译码处理部24的译码部26对读取的用户数据与冗余数据进行译码处理,在判断为读取到的用户数据有误的情况下,实施纠错。主机I/F21将纠错后的用户数据向主机4发送。在没有错误的情况下,将读取的用户数据直接向主机4发送。
[0022]以下,对本实施方式的译码处理进行说明。图2是表示第I实施方式所涉及的译码部26的构成例的图。译码部(译码装置)26具备错误计算部261、错误位置多项式运算部262、钱式搜索部(错误位置计算部)263和译码控制部264。
[0023]控制部23当经由主机I/F21从主机4获取用户数据的读取要求时,指示存储器I/F22对读取对象的用户数据进行读取。存储器I/F22同时读取与读取对象的用户数据相对应的冗余数据,并向译码部26发送。在译码部26,当从存储器I/F22获取到读取对象的用户数据时,开始译码处理。
[0024]当开始译码处理时,译码控制部264对错误计算部261指示实施错误计算,错误计算部261实施错误计算。然后,译码控制部264对错误位置多项式运算部262进行指示,使得其使用计算完毕的错误计算结果进行错误位置多项式运算,错误位置多项式运算部262实施错误位置多项式运算。
[0025]错误位置多项式运算是在将错误位置多项式设为σ (X)时根据错误的值来计算σ (X) = 1+σ Υ+σ 2χ2+...的系数σ 17 σ 2,…的处理。作为具体的方法,具有BM法、欧几里得除法、皮尔逊法(P
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1