在移动通信系统中控制存储器的装置和方法_3

文档序号:9308567阅读:来源:国知局
413,并在步骤413通过使用从ECC本地缓冲区320读取的ECC纠正从存储器中读取并有错误的数据。由于错误被如上所述纠正,所以在步骤415,控制器读取错误已经被纠正的数据。
[0062]图5是图解根据本发明第一示范实施例的写入操作的流程图。
[0063]根据本发明第一示范实施例的写入操作是图4所示读取的相反操作。
[0064]参照图5,控制器在步骤501识别出行地址和列地址被输入,在步骤502解码行地址。同时,当步骤502被执行时,如必要,为了从要写入的数据生成ECC,控制器执行步骤509。当ECC被生成时,控制器在步骤517将所生成的’ C’比特324写入映射保护集,并进行到步骤519以便将ECC本地缓冲区320的数据写入ECCS 310。
[0065]在步骤502后,控制器在步骤503将所解码的行数据通过读出放大器复制到本地缓冲区。接着,在步骤505,控制器解码列地址,并在步骤507将解码所生成的数据写入存储器。
[0066]在执行步骤503的同时,控制器在步骤511将相应的ECCS数据复制到ECCS本地缓冲区。ECCS数据指ECCS 310中所存储的数据,步骤503的行数据与步骤509的行地址是相同的。
[0067]在步骤513,控制器确定ECCS本地缓冲区320中所存储的有效比特‘V’ 326是否被设置为‘I’。如果有效比特‘V’ 326没有被设置为‘I’,那么控制器确定相应行中不存在错误,并进行到步骤519以便将没有错误的ECCS本地缓冲区320的数据写入ECCS 310中。
[0068]然而,在步骤513中有效数据‘V’ 326被设置为‘I’的情况下,控制器确定相应行中存在至少一个错误,并在步骤515,从列解码器输出相应行。接着,控制器识别与具有错误比特的列地址相同的‘ID’比特322是否存在。也就是说,控制器将从列解码器输出的列地址与ECCS的每个保护集的‘ID’比特322比较。‘ID’比特322是ECCS本地缓冲区320中所存储的保护集的‘ID’比特。在相同‘ID’比特322存在的情况下,控制器在步骤517将‘ID’比特322和映射的‘C’比特324写入保护集。
[0069]控制器进行到步骤519,并将ECC本地缓冲区320的数据写入ECCS 310中。
[0070]图6是图解根据本发明第二示范实施例的存储器的配置的图。
[0071]本发明第二示范实施例提供一种控制其中在相同存取单元数据中产生两个错误的存储器的方法。为控制存储器,本发明第二示范实施例额外包含交织器650。而且,本发明第二示范实施例包含用于控制交织器650的‘I’比特628。在图3中示出其中在相同存取单元中产生两个错误的存储器的配置,可以通过I比特ECU来纠正两个错误。为了解决这个问题,本发明示范实施例额外包含交织器650,并且分散错误的位置。由于交织器改变输入信号的顺序并分散错误的位置,所以解码器可有效纠正这些错误。
[0072]交织方案能够以不同方式被执行,它能够通过‘I’比特628在每行上不同地设置。在芯片被制造后,通过在校准过程中识别错误的准确位置并选择合适的交织方案以分散错误的位置来确定‘I’比特628的值。如果‘I’比特628被定义为2个比特,则例如可以采用4个交织方案。本发明示范实施例不限制各个交织方案。
[0073]ECCS 610、ECC 本地缓冲区 622、ID 622、C 624、‘V,比特 626、纠错单元 630、纠错数据640和I比特错误数据670与图3的相应元素基本相似,在此省略对其的详细描述。
[0074]图7是图解根据本发明第二示范实施例的读取操作的流程图。
[0075]现在参照图7,控制器在步骤701识别出输入了行地址和列地址,并在步骤702解码行地址。接着,控制器在步骤703将所解码的行地址通过读出放大器复制到本地缓冲区。而且,控制器在步骤704解码列地址。作为解码结果,通过输入的列地址选择和输出存取单元。例如,假定在“001”比特存在I个错误比特,如图3所示。
[0076]在控制器执行步骤703的同时,它在步骤705将ECCS 610中存储的ECCS数据复制到本地缓冲区620。步骤703的行数据与步骤705的行地址相同。
[0077]控制器在步骤707确定ECCS本地缓冲区中存储的有效比特‘V’626是否被设置为‘I’。如果有效比特‘V’ 626没有被设置为‘I’,那么控制器确定相应行中没有错误,并进行到步骤717以读取没有错误的数据。
[0078]然而,在步骤707中确定有效比特‘V’ 626被设置为‘I’的情况下,控制器确定相应行中有至少一个错误,并同时如下执行两个过程。
[0079]首先,在步骤711,控制器确定与步骤701读取的列地址相同的‘ID’比特622是否存在。‘ID’比特622是ECCS本地缓冲区620中存储的保护集的‘ID’比特。在相同‘ID’622存在的情况下,在步骤713,控制器从其中‘ID’比特622被映射的保护集中读取‘C’比特624。
[0080]其次,在步骤709,控制器使用ECCS本地缓冲区620中设置的‘ I ’比特628控制交织器650,并通过交织器650向本地缓冲区输入经交织的数据。然后,控制器进行到步骤704并解码列地址。
[0081]在执行步骤713和704后,控制器进行到步骤715以便通过使用从ECC本地缓冲区620读取的ECC纠正从存储器读取的有错误的数据670。因此,由于错误被纠正,控制器在步骤717读取错误已经被纠正的数据。
[0082]图8是图解根据本发明第二示范实施例的写入操作的流程图。
[0083]根据本发明第二示范实施例的写入操作是图7所示读取的相反操作。
[0084]参照图8,在步骤801,控制器(未示出)识别出输入了行地址和列地址。所述行地址和列地址被输入以访问存储器。接着,控制器在步骤803解码行地址。在执行步骤803的同时,如必要,在步骤811,控制器从要写入的数据生成ECC。当ECC被生成时,控制器在步骤821将所生成的‘C’比特624写入映射的保护集中,并进行到步骤823以便将ECC本地缓冲区620的数据写入ECCS 610中。
[0085]另一方面,在步骤803后,控制器在步骤805将行数据通过读出放大器复制到本地缓冲区。接着,控制器在步骤807解码列地址,并在步骤809将作为解码结果而生成的数据写入存储器。
[0086]在执行步骤805的同时,控制器在步骤813将相应ECCS数据复制到ECCS本地缓冲区。步骤805的行数据是与步骤813的行地址相同的地址。
[0087]在步骤815,控制器确定ECCS本地缓冲区中存储的有效比特‘V’ 626是否被设置为‘I’。如果有效比特‘V’ 626没有被设置为‘I’,那么控制器确定相应行中不存在错误,并进行到步骤823以便将没有错误的ECCS本地缓冲区数据写入ECCS中。
[0088]然而,如果在步骤707有效比特‘V’ 626被设置为‘I’,那么控制器确定相应行中存在至少一个错误,并如下同时执行两个步骤。
[0089]首先,在步骤817,控制器借助ECCS本地缓冲区620中设置的‘I’比特628控制交织器650,并将借助交织器650交织的数据输入本地缓冲区中。接着,控制器进行到步骤809以便将数据写入存储器。
[0090]其次,在步骤819,控制器确定相应行有至少一个错误,并识别‘ID’比特622是否与从列解码器输出的列地址相同。也就是说,控制器将从列解码器输出的列地址与ECCS中每个保护集的‘ID’比特622相比较。‘ID’比特622是ECCS本地缓冲区320中存储的保护集的‘ID’比特。在相同
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1