存储器系统及其操作方法
文献发布时间:2024-04-18 20:02:40
相关申请的交叉引用
本申请要求于2022年10月11日提交的申请号为10-2022-0129285的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开的多种实施例涉及一种存储器系统及其操作方法。
背景技术
半导体存储器可以分类为诸如SRAM或DRAM的易失性存储器装置,以及诸如PRAM、MRAM、RRAM或FRAM的非易失性存储器装置。当电力供应受阻时,易失性存储器装置可能会丢失存储在其中的数据。非易失性存储器装置即使在电力供应受阻时也可以保留存储在其中的数据。
存储器控制器和存储器装置通过数据信号相互通信。可以执行训练以通过存储器控制器和存储器装置之间的数据信号来提高数据传输的可靠性。训练包括对齐(aligning)通过数据信号并行传输的数据的传输或到达定时。
发明内容
本公开的实施例提供一种具有改进的可靠性和稳定性的存储器系统及其操作方法。
根据本公开的一方面,提供一种存储器系统,包括:存储器装置,被配置为存储表示不同训练模式的第一训练信息和第二训练信息;以及存储器控制器,被配置为基于第一训练信息对存储器装置执行第一训练操作,并且当第一训练操作的结果超出预定范围时,基于第二训练信息对存储器装置执行多次第二训练操作。
根据本公开的另一方面,提供一种存储器系统,包括:存储器装置,被配置为存储表示不同训练模式的第一训练信息和第二训练信息;以及存储器控制器,被配置为基于第一训练信息对存储器装置执行第一训练操作,在第一训练操作的结果超出预定范围时执行验证第一训练操作的结果的验证操作,并且根据验证操作的结果,基于第一训练信息或第二训练信息对存储器装置执行第二训练操作。
根据本公开的又一方面,提供一种操作存储器系统的方法,该方法包括:基于存储器装置中存储的第一训练信息对存储器装置执行第一训练操作;在第一训练操作的结果超出预定范围时,执行多次第二训练操作;并且根据多次执行的第二训练操作计算最终训练值。
根据本公开的又一方面,提供一种操作控制器的方法,该方法包括:利用为存储器装置预先确定的无噪声等级的第一训练数据条对存储器装置执行第一训练操作;并且在第一训练操作的结果超出预定范围时,利用相应的第二训练数据条对存储器装置执行预定次数的第二训练操作,第二训练数据条中的每一条是为存储器装置预先确定的并且具有不同噪声等级中相应的一个,其中执行预定次数的第二训练操作的结果是单独次数的第二训练操作的结果的代表性统计值。第二训练数据条可以包括第一训练数据条。
附图说明
现在将在下文中参照附图更充分地描述本公开的各个实施例;然而,实施例可以以不同的形式体现并且不应被解释为限于本文中阐述的实施例。相反,提供这些实施例以便本公开将是彻底和完整的,并且将把实施例的范围充分传达给本领域技术人员。
在附图中,为了清楚地说明,可以放大尺寸。将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。自始至终,相同的附图标记指代相同的元件。
图1是示出根据本公开的实施例的存储器系统的示图。
图2是根据本公开的实施例的图1所示的存储器控制器的详细示图。
图3是根据本公开的实施例的图1所示的存储器装置的详细示图。
图4是根据本公开的实施例的图3所示的存储器单元阵列中包括的存储块的详细示图。
图5是根据本公开的实施例的图3所示的装置信息区域的详细示图。
图6是根据本公开的实施例的用于描述图5中所示的训练参考数据的示例的示图。
图7是根据本公开的实施例的用于描述存储器系统的操作方法的流程图。
图8是根据本公开的实施例的用于描述在确定图7中不存在噪声时执行的操作的流程图。
图9是根据本公开的实施例的用于描述在确定图7中存在噪声时执行的操作的流程图。
图10是根据本公开的实施例的用于描述获得图7中的最终训练结果的过程的流程图。
图11是根据本公开的另一实施例的用于描述存储器系统的操作方法的流程图。
图12是示出根据本公开的另一实施例的存储器控制器的示图。
图13是示出应用了根据本公开的实施例的存储器系统的存储卡系统的框图。
图14是示出应用了根据本公开的实施例的存储器系统的固态驱动器(SSD)系统的框图。
图15是示出应用了根据本公开的实施例的存储器系统的用户系统的框图。
具体实施方式
为了描述根据本公开的构思的实施例,本文中所公开的特定结构或功能描述仅是说明性的。根据本公开的构思的实施例可以以各种形式来实施,并且不能被解释为限于本文中阐述的实施例。
图1是示出根据本公开的实施例的存储器系统50的示图。
参照图1,存储器系统50可以包括存储器装置100和存储器控制器200。存储器系统50可以是在诸如以下的主机的控制下存储数据的装置:移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。可替代地,存储器系统50可以是在主机的控制下存储数据的装置,用于将高容量数据存储在一个地方,诸如服务器或数据中心。
存储器系统50可以根据主机接口被制造为各种类型的存储器系统中的任意一种,该主机接口为与主机的通信方案。例如,存储器系统50可以被配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储器模块,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储器模块,外围组件互连(PCI)卡型存储器模块,高速PCI(PCI-E)卡型存储器模块,紧凑型闪存(CF)卡,智能媒体卡(SMC)和记忆棒。
存储器系统50可以被制造为各种封装类型中的任意一种。例如,存储器系统50可以被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)和存储四个数据位的四层单元(QLC)中的任意一个。
存储器单元阵列(未示出)可以包括多个存储块。每个存储块可以包括多个存储器单元。每个存储块可以包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或者读取存储器装置100中存储的数据的单位。存储块可以是用于擦除数据的单位。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了方便描述,描述存储器装置100是NAND闪速存储器的情况。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问存储器单元阵列中由该地址选择的区域。存储器装置100可以对由地址选择的区域执行由命令指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作中,存储器装置100可以将数据编程在由地址选择的区域中。在读取操作中,存储器装置100可以从由地址选择的区域读取数据。在擦除操作中,存储器装置100可以擦除由地址选择的区域中存储的数据。在实施例中,训练信息可以存储在存储器装置100中。
存储器控制器200可以控制存储器系统50的全部操作。
当将电力施加到存储器系统50时,存储器控制器200可以运行固件(FW)。当存储器装置100为闪速存储器装置时,存储器控制器200可以运行诸如闪存转换层(FTL)的FW,用于控制主机与存储器装置100之间的通信。
在实施例中,存储器控制器200可以从主机接收逻辑地址(LA),并且将LA转换为物理地址(PA),物理地址(PA)表示存储器装置100中待存储数据或待从其读取数据的存储器单元的地址。
存储器控制器200可以响应于来自主机的请求而控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可以向存储器装置100提供编程命令、PA和数据。在读取操作中,存储器控制器200可以向存储器装置100提供读取命令和PA。在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和PA。
在实施例中,存储器控制器200可以自主地生成命令、地址和数据而不管来自主机的任意请求,并且将命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据,这些命令、地址和数据用于执行在执行损耗均衡、读取回收、垃圾收集等时伴随的读取操作和编程操作。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。存储器控制器200可以根据交错方案来控制存储器装置100以提高操作性能。交错方案可以是控制对至少两个存储器装置100的操作相互重叠的方案。
在实施例中,存储器控制器200可以包括控制训练操作的训练管理器210。训练管理器210可以执行训练操作,使得数据在存储器控制器200和存储器装置100之间正常移动,而不管根据过程、电压和温度的任何变量。训练操作可以是优化在存储器装置100和存储器控制器200之间交换的信号的相位、振幅等使得存储器装置100和存储器控制器200彼此交换准确数据的操作。例如,训练操作可以是占空比校正(duty cycle correction,DCC)训练操作、读取训练操作或写入训练操作。训练管理器210可以生成训练数据,并且通过使用生成的训练数据来执行训练操作。
图2是示出根据本公开的实施例的图1所示的存储器控制器200的详细示图。
参照图2,存储器控制器200可以包括训练管理器210。
在实施例中,训练管理器210可以包括训练执行单元211、训练结果比较器212和训练结果计算单元213。
训练执行单元211可以基于存储器装置100中存储的训练信息来执行训练操作。在实施例中,训练执行单元211可以基于存储器装置100中存储的第一训练信息来执行第一训练操作。第一训练信息可以包括在没有噪声的环境中针对存储器系统50优化的训练模式。在本文中,噪声可以是导致训练结果中的错误的任何种类的条件。在另一实施例中,训练执行单元211可以基于存储在存储器装置100中的第一训练信息或第二训练信息来执行第二训练操作。第一训练信息可以包括在无噪声环境中针对存储器系统50优化的训练模式,第二训练信息可以包括在噪声环境中针对存储器系统50优化的训练模式。第一训练信息中包括的训练模式和第二训练信息中包括的训练模式可以彼此不同。在实施例中,第二训练信息可以是关于多个训练模式的信息。例如,第二训练信息可以包括根据噪声等级而变化的多个训练模式。在实施例中,训练执行单元211可以在改变训练模式的同时执行第二训练操作。训练执行单元211可以通过自主地判定训练结果来改变训练模式,或者基于从训练结果比较器212接收的关于噪声环境的信息来改变训练模式。可以改变训练模式以根据噪声等级不同地应用训练模式。在实施例中,当训练结果比较器212判定存储器系统50暴露于噪声环境时,训练执行单元211可以执行第二训练操作。训练执行单元211可以基于训练结果比较器212的关于噪声环境是否持续的判定来确定待执行第二训练操作的训练信息。例如,当训练结果比较器212判定噪声环境持续时,训练执行单元211可以基于第一训练信息执行第二训练操作。可选地,当训练结果比较器21判定存储器系统50只是暂时暴露于噪声环境时,训练执行单元211可以基于第二训练信息执行第二训练操作。在实施例中,训练执行单元211可以执行多次第二训练操作。训练执行单元211待将执行训练操作的次数可以是预先确定的。
训练结果比较器212可以将训练执行单元211执行的训练的结果与存储器装置100中存储的训练参考数据进行比较。在实施例中,训练结果比较器212可以基于对训练结果的比较来判定存储器系统50是否暴露于噪声环境。例如,当基于训练参考数据,训练结果超出预定范围时,训练结果比较器212可以判定存储器系统50暴露于噪声环境。此外,训练结果比较器212可以基于对训练结果的比较来判定存储器系统50是否持续暴露于噪声环境或者存储器系统50是否暂时暴露于噪声环境。训练结果比较器212可以在从训练结果比较器212判定存储器系统50暴露于噪声环境的时间起的特定时间之后再次将训练结果与训练参考数据进行比较。当训练结果超出预定范围时,基于训练参考数据,训练结果比较器212可以判定存储器系统50持续暴露于噪声环境。另一方面,当训练结果比较器212在从训练结果比较器212判定存储器系统50暴露于噪声环境的时间起的特定时间之后再次将训练结果与训练参考数据进行比较时,训练结果比较器212可以基于训练参考数据判定,当训练结果没有超出预定范围时,存储器系统50只是暂时暴露于噪声环境。训练结果比较器212可以向训练执行单元211和训练结果计算单元213提供关于存储器系统50是否暴露于噪声环境以及噪声环境是否持续的信息。
训练结果计算单元213可以基于训练执行单元211执行的训练操作的结果来计算最终训练结果。在实施例中,当训练结果计算单元213从训练结果比较器212接收到表示存储器系统50未暴露于噪声环境的信息时,训练结果计算单元213可以计算训练执行单元211执行的第一训练操作的结果作为最终训练结果。在实施例中,当训练结果计算单元212从训练结果比较器212接收到表示存储器系统50暴露于噪声环境的信息时,或者当训练结果计算单元212接收到关于训练执行单元211在存储器系统50暴露于噪声环境时而执行的第二训练操作的信息时,训练结果计算单元213可以通过考虑训练执行单元211执行的第二训练操作的结果来计算最终训练结果。可以执行多次第二训练操作,并且训练结果计算单元213可以通过累积执行多次的第二训练操作的结果来计算最终训练结果。例如,训练结果计算单元212可以通过累积对第二训练操作的结果进行累积并计算平均值来计算最终训练结果。可选地,训练结果计算单元212可以通过将各种过滤算法应用于第二训练操作的结果来计算最终训练结果。也就是说,训练结果计算单元213考虑了可以执行多次的训练操作的所有结果,从而获得进一步保证了一致性的训练结果。
图3是根据本公开的实施例的图1所示的存储器装置100的详细示图。
参照图3,存储器装置100可以包括存储器单元阵列110、电压生成器120、地址解码器130、输入/输出(I/O)电路140和控制逻辑150。
存储器单元阵列110可以包括多个存储块。多个存储块可以通过行线RL连接到地址解码器130。多个存储块可以通过列线CL连接到输入/输出电路140。在实施例中,行线RL可以包括字线、源极选择线和漏极选择线。在实施例中,列线CL可以包括位线。
多个存储块中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中连接到同一字线的存储器单元可以被定义为一个物理页面。也就是说,存储器单元阵列110可以包括多个物理页面。存储器装置100的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
在实施例中,数据区域111可以存在于存储器单元阵列110中的一个区域中,而装置信息区域112可以存在于存储器单元阵列110中的另一个区域中。数据区域111是存储从主机接收的数据的区域,并且可以是主机可以访问的区域。装置信息区域112是存储存储器系统50的操作所需的数据、存储器装置100的内部配置设置数据等的区域,并且可以是主机不能访问的区域。
在实施例中,训练信息可以存储在装置信息区域112中。下面将参照图5更详细地描述训练信息。
在实施例中,电压生成器120、地址解码器130和输入/输出电路140可以共同被命名为外围电路。外围电路可以在控制逻辑150的控制下驱动存储器单元阵列110。外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
电压生成器120可以通过使用向存储器装置100供应的外部电源电压来生成多个操作电压。电压生成器120可以在控制逻辑150的控制下操作。
在实施例中,电压生成器120可以通过调节外部电源电压来生成内部电源电压。电压生成器120生成的内部电源电压可以用作存储器装置100的操作电压。
在实施例中,电压生成器120可以通过使用外部电源电压或内部电源电压来生成多个操作电压。电压生成器120可以生成存储器装置100中所需的各种电压。例如,电压生成器120可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
为了生成具有不同电压电平的多个操作电压,电压生成器120可以包括接收内部电源电压的多个泵浦电容器。电压生成器120可以通过在控制逻辑150的控制下选择性地激活多个泵浦电容器来生成多个操作电压。
由电压生成器120生成的多个操作电压可以通过地址解码器130供应到存储器单元阵列110。
地址解码器130可以通过行线RL连接到存储器单元阵列110。地址解码器130可以在控制逻辑150的控制下操作。地址解码器130可以从控制逻辑150接收地址ADDR。地址解码器130可以对接收到的地址ADDR中的块地址进行解码。地址解码器130根据经解码的块地址来在存储块之中选择至少一个存储块。地址解码器130可以对接收到的地址ADDR中的行地址进行解码。地址解码器130可以根据经解码的行地址在所选择的存储块的字线之中选择至少一条字线。在实施例中,地址解码器130可以对接收到的地址ADDR中的列地址进行解码。地址解码器130可以根据经解码的列地址将输入/输出电路140和存储器单元阵列110相互连接。
例如,地址解码器130可以包括诸如行解码器、列解码器和地址解码器的组件。
输入/输出电路140可以包括多个页面缓冲器。多个页面缓冲器可以通过位线连接到存储器单元阵列110。在编程操作中,数据可以根据存储在多个页面缓冲器中的数据而存储在所选择的存储器单元中。
在读取操作中,可以通过位线来感测所选择的存储器单元中存储的数据,并且感测到的数据可以存储在页面缓冲器中。
控制逻辑150可以控制地址解码器130、电压生成器120以及输入/输出电路140。控制逻辑150可以响应于从外部装置传送的命令CMD而操作。控制逻辑150可以通过响应于命令CMD和地址ADDR生成控制信号来控制外围电路。
图4是根据本公开的实施例的图3所示的存储器单元阵列中包括的存储块BLKi的详细示图。
存储块BLKi表示图3所示的存储器单元阵列中包括的多个存储块之中的存储块BLKi。
参照图4,在存储块BLKi中,相互平行布置的多条字线可以连接在第一选择线与第二选择线之间。第一选择线可以是源极选择线SSL,而第二选择线可以是漏极选择线DSL。更具体地,存储块BLKi可以包括连接在位线BL1至BLn与源极线SL之间的多个串ST。位线BL1至BLn可以分别连接到串ST,并且源极线SL可以共同地连接到串ST。串ST可以被配置为彼此相同,因此,作为示例详细描述连接到第一位线BL1的串。
串ST可以包括彼此串联连接在源极线SL与第一位线BL1之间的源极选择晶体管SST、多个存储器单元MC1至MC16以及漏极选择晶体管DST。一个串ST中可以包括至少一个漏极选择晶体管DST,并且一个串ST中包括的源极选择晶体管和存储器单元的数量可以大于附图中所示的源极选择晶体管SST和附图中所示的存储器单元MC1至MC16的数量。
源极选择晶体管SST的源极可以连接到源极线SL,而漏极选择晶体管DST的漏极可以连接到第一位线BL1。存储器单元MC1至MC16可以串联连接在源极选择晶体管SST与漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以连接到源极选择线SSL,并且不同串ST中包括的漏极选择晶体管DST的栅极可以连接到漏极选择线DSL。存储器单元MC1至MC16的栅极可以连接到多条字线WL1至WL16。不同串ST中包括的存储器单元之中连接到同一字线的一组存储器单元可以被称为物理页面PG。因此,存储块BLKi中可以包括与字线WL1至WL16的数量相对应的物理页面PG。
一个存储器单元可以存储一位数据。一个存储器单元通常被称为单层单元(SLC)。一个物理页面PG可以存储一个逻辑页面(LPG)数据。一个LPG数据可以包括与一个物理页面PG中包括的单元的数量相对应的数据位。
一个存储器单元可以存储两位或更多位数据。一个物理页面PG可以存储两个或多个LPG数据。
图5是根据本公开的实施例的图3所示的装置信息区域的详细示图。
参照图1、图3和图5,训练信息可以存储在装置信息区域112中。训练信息可以包括第一训练信息、第二训练信息和训练参考数据。
第一训练信息可以包括在未暴露于噪声的环境中优化的训练模式。第一训练信息可以用于优先执行以确定存储器系统50是否处于暴露于噪声的环境中的第一训练操作。此外,第一训练信息可以用于判定存储器系统50是否持续暴露于噪声的操作。此外,当确定存储器系统50暂时暴露于噪声时,第一训练信息可以用于在第一训练操作之后执行的第二训练操作。
第二训练信息可以包括在暴露于噪声的环境中优化的训练模式。当确定存储器系统50持续暴露于噪声时,第二训练信息可以用于在第一训练操作之后执行的第二训练操作。第二训练信息可以包括根据噪声等级而变化的多个模式。例如,第二训练信息可以包括根据基于训练参考数据,训练结果超出预定范围的程度而变化的多个模式。该预定范围可以表示已经获得了正常的训练结果。当训练结果超出预定范围时,这可能表示得到了异常的训练结果。
参考数据信息可以是用作判定存储器系统50持续暴露于噪声的参考的数据。参考数据信息可以包括关于表示已经获得正常的训练结果的预定范围的信息。在实施例中,可以基于第一训练信息获得参考数据信息。例如,参考数据信息可以是基于第一训练信息,在没有噪声的环境中重复执行测试操作而获得的数据。测试操作可以是在改变存储器系统50的诸如温度、电压或湿度之类的操作环境的同时基于第一训练信息重复执行训练操作的操作。
图6是根据本公开的实施例的用于描述图5中所示的训练参考数据的示例的示图。
参照图5和图6,训练参考数据可以是基于第一训练信息,通过累积在无噪声环境中重复测试操作获得的数据而获得的标准分布数据。在实施例中,可以通过累积通过重复执行训练操作获得的数据,基于第一训练信息以及根据测试操作的训练结果值的平均值、标准偏差、分布等相关的数据,在存储器系统50的操作范围内改变操作条件的同时重复执行训练操作。在实施例中,可以如图6所示获取累积的训练结果值的标准分布数据,并且可以基于获取的标准分布数据预先确定特定范围内的值代表正常的训练结果。例如,可以预先确定标准分布数据中±3σ以内的值为正常的训练结果。可以将在后续训练操作中获得的训练结果与图6所示的训练参考数据进行比较,从而判定存储器系统50是否已经暴露于噪声环境。当根据训练操作的训练结果属于预定范围内时,训练管理器210可以将获得的训练结果识别为正常的训练结果。当训练结果超出预定范围时,获得的训练结果为异常的训练结果,相应地,训练管理器210可以确定存储器系统50已经暴露于噪声环境。
图7是用于描述根据本公开的实施例的存储器系统的操作方法的流程图。
参照图1和图7,在操作S701中,存储器系统50可以对存储器装置100执行第一训练操作。因此,在操作S703中,存储器系统50可以获得第一训练结果。可以执行第一训练操作以确定存储器系统50是否暴露于噪声环境。可以基于存储器装置100中存储的第一训练信息来执行第一训练操作。
在操作S705中,存储器系统50可以将获得的第一训练结果与存储器装置100中存储的训练参考数据进行比较。因此,在操作S707中,存储器系统50可以判定是否存在噪声。当在操作S707中确定不存在噪声时,在操作S711中,存储器系统50可以立即获得最终训练结果。当在操作S707中确定存在噪声时,在操作S709中,存储器系统50可以判定噪声是否持续。在操作S711中,存储器系统50可以基于操作S709的判定结果获得最终训练结果。下面将参照图8至图10更详细地描述获得最终训练结果的过程。
图8是根据本公开的实施例的用于描述在确定图7中不存在噪声时的操作的流程图。
图8示出图7中所示的操作S707和S711。
当在操作S801中确定不存在噪声时,在操作S803中,存储器系统50可以将在图7所示的操作S703中获得的第一训练结果确定为最终训练结果。也就是说,作为通过在图7所示的操作S705中将第一训练结果与训练参考数据进行比较而获得的结果,已经检查到第一训练结果属于预定正常范围内,因此,第一训练结果可以立即用作最终训练结果。
图9是根据本公开的实施例的用于描述在确定图7中存在噪声时的操作的流程图。
图9示出图7中所示的操作S709。
当在操作S901中确定存在噪声时,在操作S903中,存储器系统50可以基于存储器装置100中存储的第一训练信息重新执行第一训练操作。因此,在操作S905中,可以再次将通过重新执行第一训练操作获得的训练结果与训练参考数据进行比较。
当在操作S907中通过重新执行第一训练操作而获得的训练结果属于训练参考数据的预定范围,即,表示训练结果正常的范围时,在操作S909中,存储器系统50可以确定噪声不持续。因此,在操作S911中,存储器系统50可以基于存储器装置100中存储的第一训练信息执行第二训练操作。
当在操作S907中通过重新执行第一训练操作而获的训练结果超出训练参考数据的预定范围,即,表示训练结果异常时,在操作S913中,存储器系统50可以确定噪声持续。因此,在操作S915中,存储器系统50可以基于存储器装置100中存储的第二训练信息执行第二训练操作。
图10是根据本公开的实施例的用于描述获得图7中的最终训练结果的过程的流程图。
图10示出图7所示的操作S709之后执行的操作S711。也就是说,图10示出当图7中所示的因操作S705中针对第一训练结果的比较结果而确定存在噪声时获得最终训练结果的过程。
在图9中所示的操作S911或S915中执行的第二训练操作可以重复预定次数。因此,在操作S1001中,存储器系统50可以确定当前第二训练操作的重复次数N是否超过预定的第二训练操作重复次数Retry Number。
在当前第二训练操作的重复次数N等于或小于预定的第二训练操作重复次数Retry Number时,在操作S1003中,存储器系统50将第二训练操作的重复次数N增加1。在操作S1005中,存储器系统50可以执行第二训练操作。因此,在操作S1007中,存储器系统50可以获得第二训练结果T_Result(N)。当如图9所示的操作S911所示确定噪声不持续时,可以基于存储器装置100中存储的第一训练信息执行第二训练操作。当如图9所示的操作S915所示确定噪声持续时,可以基于存储器装置100中存储的第二训练信息执行第二训练操作。
在操作S1009中,存储器系统50可以计算累积的训练数据CT_DATA(N)。累积的训练数据CT_DATA(N)可以是通过累积重复的第二训练结果T_Result(1)至T_Result(N)而获得的值。在实施例中,可以基于当前第二训练结果T_Result(N)和先前累积的训练数据CT_DATA(N-1)得到累积的训练数据CT_DATA(N)。例如,累积的训练数据CT_DATA(N)可以是当前第二训练结果T_Result(N)与先前累积的训练数据CT_DATA(N-1)的平均值。可选地,可以将当前第二训练结果T_Result(N)和先前累积的训练数据CT_DATA(N-1)应用于各种过滤算法,从而获得累积的训练数据CT_DATA(N)。
之后,返回到操作S1001,存储器系统50可以确定当前第二训练操作的重复次数N是否超过预定的第二训练操作重复次数Retry Number。可以重复操作S1001至S1009,直到当前第二训练操作的重复次数N超过预定的第二训练操作重复次数Retry Number。在实施例中,当重复第二训练操作时,可以在存储器控制器200的控制下改变用于第二训练操作的训练模式。
在当前第二训练操作的重复次数N超过预定的第二训练操作重复次数RetryNumber时,在操作S1011中,存储器系统50可以将最后累积的训练数据CT_DATA(N)确定为最终训练结果。最后累积的训练数据CT_DATA(N)可以是通过反映重复执行的第二次训练操作的所有结果值而获得的值。因此,可以预期关于训练操作的更多改进的一致性。
图11是根据本公开的另一实施例的用于描述存储器系统50的操作方法的流程图。
参照图1和图11,在操作S1101中,存储器系统50可以对存储器装置100执行第一训练操作。因此,在操作S1103中,存储器系统50可以将根据第一训练操作获得的第一训练结果与存储器装置100中存储的训练参考数据进行比较。可以执行第一训练操作以确定存储器系统50是否暴露于噪声环境。可以基于存储器装置100中存储的第一训练信息来执行第一训练操作。
在操作S1105中,存储器系统50可以确定是否存在噪声。当确定存在噪声时,在操作S1107中,存储器系统50可以执行第二训练操作。第二训练操作可以如图10中所描述的那样重复执行多次。在实施例中,可以基于存储器装置100中存储的第二训练信息来执行初始的第二训练操作。
当执行第二训练操作时,在操作S1109中,存储器系统50可以确定噪声是否持续。在实施例中,可以基于存储在存储器装置100中的第一训练信息和训练参考数据,通过重复操作S1101、S1103和S1105来执行噪声是否持续的确定。
在操作S1111中,存储器系统50可以基于在操作S1109中确定的噪声是否持续,通过改变训练模式来执行第二训练操作。在实施例中,当根据操作S1109确定噪声不持续时,可以基于第一训练信息而不是第二训练信息中包括的训练模式来执行随后重复的第二训练操作。在另一实施例中,当与第一训练操作相比噪声变大或变小时,可以将训练模式改变为第二训练信息中包括的、与噪声变大或变小的程度相对应的多个训练模式中的一个,并且可以基于改变后的训练模式继续执行第二训练操作。
当第二训练操作重复预定次数时,在操作S1113中,存储器系统50可以获得最终训练结果。可以按照与图10相同的方法来执行操作S1113。
图12是示出根据本公开的另一实施例的存储器控制器1000的示图。
参照图12,存储器控制器1000可以包括处理器1010、内部存储器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲存储器接口1050和存储器接口1060。
处理器1010可以执行用于控制存储器装置100的各种计算或者生成各种命令。当处理器1010从主机400接收到请求时,处理器1010可以根据接收到的请求生成命令,并将生成的命令发送到队列控制器(未示出)。
内部存储器1020可以存储存储器控制器1000的操作所需的各种信息。例如,内部存储器1020可以包括逻辑和物理地址映射表。内部存储器1020可以利用随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)、高速缓存和紧密联接存储器(tightly coupledmemory,TCM)中的至少一种来配置。
ECC电路1030被配置为通过使用错误校正码(ECC)来检测和校正从存储器装置100接收的数据中的错误。处理器1010可以根据ECC电路1030的错误检测结果调整读取电压,并控制存储器装置100执行重新读取。在实施例中,错误校正块可以被设置为存储器控制器1000的组件。
主机接口1040可以在存储器控制器1000和主机400之间交换命令、地址和数据。例如,主机接口1040可以从主机400接收请求、地址、数据等,并且将从存储器装置读取的数据输出到主机400。主机接口1040可以通过使用各种协议与主机400通信。
缓冲存储器接口1050可以在处理器1010和缓冲存储器之间传送数据。缓冲存储器可以用作存储器控制器1000的工作存储器或高速缓存存储器,并且存储用于存储器系统50的数据。缓冲存储器接口1050可以在处理器1010的控制下将缓冲存储器用作读取缓冲器、写入缓冲器、映射缓冲器等。在一些实施例中,缓冲存储器可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、DDR4 SRAM、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)或Rambus动态随机存取存储器(RDRAM)。
存储器接口1060可以在存储器控制器1000和存储器装置100之间交换命令、地址、数据等。例如,存储器接口1060可以通过通道将命令、地址、数据等传送到存储器装置100,并从存储器装置100接收数据等。存储器接口1060可以根据处理器1010的指令,基于存储器装置100中存储的训练信息对存储器装置100执行训练操作。
图13是示出应用了根据本公开的实施例的存储器系统的存储卡系统2000的框图。
参照图13,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、编程操作、擦除操作和后台操作。存储器控制器2100提供存储器装置2200与主机之间的接口。存储器控制器2100驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同地实施。存储器装置2200可以与参照图1描述的存储器装置100相同地实施。
存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信协议与外部装置(例如,主机)通信。存储器控制器2100被配置为通过各种通信协议中的至少一种与外部装置通信。连接器2300可以由上述各种通信协议中的至少一个来限定。
存储器装置2200可以利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。在实施例中,用于训练操作的训练信息可以存储在存储器装置2200中。为了训练操作的目的,可以向存储器控制器2100提供训练信息。
存储器控制器2100和存储器装置2200可以集成到单个半导体装置里面以构成存储卡。例如,存储器控制器2100和存储器装置2200可以构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(SD、迷你SD、微型SD和SDHC)与通用闪存(UFS)。
图14是示出应用了根据本公开的实施例的存储器系统的固态驱动器(SSD)系统3000的框图。
参照图14,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号,并且通过电源连接器3002接收电力。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以用作参照图1描述的存储器控制器200。
SSD控制器3210可以响应于从主机3100接收的信号而控制多个闪速存储器3221至322n。信号可以是基于主机3100和SSD 3200之间的接口的信号。可以以各种命令的形式发送/接收信号。该信号可以是请求SSD控制器3210访问位于多个闪速存储器3221至322n中的一些中的安全存储区域的信号,或者可以是作为对这种请求的响应的信号。在实施例中,SSD控制器3210可以基于多个闪速存储器3221至322n中的一些中存储的训练信息对多个闪速存储器3221至322n执行训练操作。
辅助电源3230通过电源连接器3002连接到主机3100。辅助电源3230可以接收从主机3100输入的电力PWR并且用该电力PWR充电。当来自主机3100的电力供应不平稳时,辅助电源3230可以向SSD 3200提供电力。辅助电源3230可以位于SSD 3200中,或位于SSD 3200外部。例如,辅助电源3230可以位于主板上并且向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器进行操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图15是示出应用了根据本公开的实施例的存储器系统的用户系统4000的框图。
参照图15,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。应用处理器4100可以包括用于控制用户系统4000中包括的组件、接口、图形引擎等的控制器。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器进行操作。存储器模块4200可以包括易失性随机存取存储器(DRAM)或非易失性随机存取存储器。应用处理器4100和存储器模块4200可以基于堆叠封装(PoP)进行封装以被设置为一个半导体封装。
网络模块4300可以与外部装置通信。网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi。网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储在其中的数据传输到应用处理器4100。存储模块4400可以利用诸如以下的非易失性半导体存储器装置来实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。存储模块4400可以被设置为诸如用户系统4000的存储卡或外部驱动器的可移动驱动器。
存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1描述的存储器装置100相同地操作。因此,包括与若干条件相对应的各种训练模式信息的训练数据可以存储在存储模块4400中。
用户接口4500可以包括将数据或命令输入到应用处理器4100或者将数据输出到外部装置的接口。用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
根据本公开,可以提供一种提供改进的可靠性和稳定性的存储器系统及其操作方法。
尽管已经参照本公开的某些实施例示出和描述了本公开,但是本领域技术人员将理解的是,在不脱离由所附权利要求书及其等效内容限定的本公开的构思和范围的情况下,可以在本公开中进行形式和细节上的各种改变。因此,本公开的范围不应限于上述实施例,而应不仅由所附权利要求书而且还应由其等效内容确定。
在上述实施例中,可以选择性地执行所有操作或者可以省略部分操作。在每个实施例中,不一定按照所描述的顺序执行操作并且可以重新排列操作。在本说明书和附图中公开的实施例仅是为了促进对本公开的理解的示例,并且本公开不限于此。即,对于本领域技术人员应该显而易见的是,可以基于本公开的技术范围进行各种修改。
在附图和说明书中已经描述本公开的实施例。尽管这里使用了特定术语,但是这些仅是为了描述本公开的实施例。因此,本公开不限于上述实施例并且在本公开的构思和范围内可能有许多变型。对于本领域技术人员应该显而易见的是,除了本文中本公开的实施例和下列权利要求书之外,还可以基于本公开的技术范围进行各种修改。此外,可以组合实施例以形成额外的实施例。
- 存储器系统以及存储器系统的操作方法
- 存储器系统以及存储器系统的操作方法
- 存储器系统、存储器控制器及其操作方法
- 存储器器件和存储器器件的操作方法
- 存储器系统及其操作方法
- 存储器、存储器的操作方法和存储器系统的操作方法
- 存储器、存储器系统、存储器的操作方法和存储器系统的操作