存储器控制器及操作该存储器控制器的方法

文档序号:1391155 发布日期:2020-02-28 浏览:17次 >En<

阅读说明:本技术 存储器控制器及操作该存储器控制器的方法 (Memory controller and method of operating the same ) 是由 洪志满 于 2019-06-03 设计创作,主要内容包括:本发明提供一种控制存储器装置的操作的存储器控制器。存储器控制器包括组读取计数储存器和数据分配控制器。组读取计数储存器将与存储在存储器装置中的数据对应的逻辑块地址划分为多个逻辑块地址组,并且根据逻辑块地址组存储与逻辑块地址对应的数据的各个读取计数值。数据分配控制器基于根据逻辑块地址组存储的读取计数值,控制存储器装置将与在多个逻辑块地址组之中选择的目标逻辑块地址组对应的数据分配并存储在多个存储块中。(The present invention provides a memory controller that controls an operation of a memory device. The memory controller includes a bank read count store and a data allocation controller. The group read count storage divides logical block addresses corresponding to data stored in the memory device into a plurality of logical block address groups, and stores respective read count values of the data corresponding to the logical block addresses according to the logical block address groups. The data allocation controller controls the memory device to allocate and store data corresponding to a target logical block address group selected among the plurality of logical block address groups in the plurality of memory blocks based on the read count value stored according to the logical block address group.)

存储器控制器及操作该存储器控制器的方法

相关申请的交叉引用

本申请要求于2018年8月21日提交的申请号为10-2018-0097655的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。

技术领域

本公开的各个实施例总体涉及一种电子装置。特别地,实施例涉及一种存储器控制器、存储装置及操作该存储器控制器的方法。

背景技术

存储器装置可具有二维结构或者三维结构,在二维结构中串在水平方向上布置到半导体衬底,在三维结构中串在垂直方向上布置到半导体衬底。设计了三维半导体装置以克服二维半导体装置中的有限集成度,并且该三维半导体装置可包括垂直堆叠在半导体衬底上的多个存储器单元。

存储器控制器可控制存储器装置的操作。

发明内容

各个实施例涉及一种延长半导体存储器装置的工作寿命的存储器控制器。

本发明的另一实施例提供一种操作延长半导体存储器装置的工作寿命的、改进的存储器控制器的方法。

根据实施例,一种控制存储器装置的操作的存储器控制器可包括:组读取计数储存器,被配置为将与存储在存储器装置中的数据对应的逻辑块地址划分为多个逻辑块地址组,并且根据逻辑块地址组存储与逻辑块地址对应的数据的各个读取计数值;以及数据分配控制器,被配置为基于根据逻辑块地址组存储的读取计数值,控制存储器装置将与在多个逻辑块地址组之中选择的目标逻辑块地址组对应的数据分配并存储在多个存储块中。

根据实施例,一种操作存储器控制器的方法可包括:根据从主机接收到的读取请求,控制存储器装置执行读取操作;更新包括与读取请求对应的逻辑块地址的逻辑块地址组的读取计数值;以及基于更新的读取计数值,控制存储器装置执行数据分配操作。

根据实施例,一种存储装置可包括:存储器装置,具有被配置为存储数据的存储块;以及存储器控制器,被配置为控制存储器装置的操作。存储器控制器可进一步被配置为:与数据的各个读取计数值相关联地存储逻辑块地址组,每个逻辑块地址组包括与存储在存储器装置中的数据对应的多个逻辑块地址,其中数据与各个逻辑块地址组的逻辑块地址对应;在接收到读取请求时更新读取计数值或周期性地更新读取计数值;识别逻辑块地址组之中具有满足特定条件的读取计数值的目标逻辑块地址组;并且当目标逻辑块地址组的读取计数值满足特定条件时,将存储在存储块之中的一个或多个源存储块中的、与目标逻辑块地址组对应的数据移动到存储块之中的一个或多个目的地存储块。

附图说明

图1是示出包括根据实施例的存储器控制器的存储装置的框图;

图2是示出诸如图1所示的半导体存储器装置的框图;

图3是示出图2所示的存储器单元阵列的实施例的示图;

图4是示出存储块BLKa的实施例的电路图,该存储块BLKa代表图3所示的存储块BLK1至BLKz中的任意一个存储块;

图5是示出存储块BLKb的实施例的电路图,该存储块BLKb代表图3所示的存储块BLK1至BLKz中的任意一个存储块;

图6是示出存储块BLKc的实施例的电路图,该存储块BLKc代表图2所示的存储器单元阵列110中的存储块BLK1至BLKz中的任意一个存储块;

图7是示出根据实施例的存储器控制器400的框图;

图8A是示出诸如图7所示的数据分配控制器的实施例的框图;

图8B是示出诸如图7所示的数据分配控制器的实施例的框图;

图9是示出存储在诸如图8A或图8B所示的组读取计数储存器中的读取计数值的表;

图10是示出操作根据实施例的存储器控制器的方法的流程图;

图11是示出图10所示的步骤S150的实施例的流程图;

图12A至图12G是示出根据图10和图11的操作存储器控制器的方法的示图;

图13是示出图11所示的步骤S270的实施例的流程图;

图14是示出图13的步骤S310和步骤S330的框图;

图15是示出图10所示的步骤S150的实施例的流程图;

图16是示出图1所示的存储器控制器的实施例的框图;

图17是示出图1的存储装置的应用示例的框图;以及

图18是示出包括参照图17描述的存储装置的计算系统的框图。

具体实施方式

现在将参照附图更全面地描述各个实施例。然而,本发明或其方面可以不同的形式实施,因此不应被解释为限于本文阐述的实施例。而是,提供这些实施例使得本公开彻底且完全并且向本领域技术人员充分传达实施例的范围。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。

将理解的是,当元件被称为“联接”或“连接”到某个元件时,该元件可直接联接或连接到某个元件,或者该元件可在该元件和某个元件之间具有一个或多个中间元件的情况下,间接联接或连接到某个元件。除非上下文另有说明,否则无论两个元件是直接连接/联接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的。在本说明书中,当元件被称为“包含”或“包括”组件时,除非上下文另有说明,否则该元件不排除一个或多个其它组件,而是可进一步包括其它组件。

将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。

如本文所使用的,除非上下文另有明确说明,否则单数形式也可包括复数形式,反之亦然。

将进一步理解的是,当在本说明书中使用术语“包含”、“包含有”、“包括”和“包括有”时,说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。

在附图中,相同的附图标记始终表示相同的元件。在一些实施例中,未详细描述公知的进程、装置结构以及技术,以避免不必要地模糊本发明的方面和特征。

在下文中,将参照附图详细描述本公开的各个实施例。

图1是示出包括半导体存储器装置100和根据实施例的存储器控制器200的存储装置1000的框图。

参照图1,存储装置1000可与主机300通信。存储器控制器200可控制半导体存储器装置100的一般操作。另外,存储器控制器200可基于从主机300接收到的命令来控制半导体存储器装置100的操作。存储器装置包括半导体存储器装置,本文对半导体存储器装置的描述可适用于存储器装置。

根据本公开的实施例的存储器控制器200可控制半导体存储器装置100以将与存储在半导体存储器装置100中的数据对应的逻辑块地址划分为多个逻辑块地址组,并根据与每个逻辑块地址组对应的读取计数值来执行数据分配操作。因此,可避免读取操作集中在特定存储块上的现象,从而可延长半导体存储器装置100的工作寿命。

图2是示出图1所示的半导体存储器装置100的框图。

参照图2,半导体存储器装置100可包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140以及电压生成器150。

存储器单元阵列110可包括可通过字线WL联接到地址解码器120的多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可通过位线BL1至BLm联接到读取和写入电路130。多个存储块BLK1至BLKz中的每一个可包括多个存储器单元。根据实施例,多个存储器单元可以是具有垂直沟道结构的非易失性存储器单元。存储器单元阵列110可具有二维结构。根据实施例,存储器单元阵列110可具有三维结构。存储器单元阵列110中的多个存储器单元中的每一个可存储至少一位数据。根据实施例,多个存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。根据另一实施例,多个存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。根据另一实施例,多个存储器单元中的每一个可以是存储3位数据的三层单元(TLC)。根据另一实施例,多个存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。根据实施例,多个存储器单元中的每一个可存储5位或更多位数据。

地址解码器120、读取和写入电路130以及电压生成器150可作为驱动存储器单元阵列110的***电路操作。地址解码器120可通过字线WL联接到存储器单元阵列110。地址解码器120可由控制逻辑140控制。地址解码器120可通过半导体存储器装置100中的输入/输出缓冲器(未示出)来接收地址。

地址解码器120可被配置为解码接收到的地址中的块地址。地址解码器120可根据解码的块地址选择至少一个存储块。另外,在读取操作的读取电压施加操作期间,地址解码器120可将由电压生成器150生成的读取电压Vread施加到选择的存储块的选择的字线,并且可将通过电压Vpass施加到未选择的字线。另外,在编程验证操作期间,可将由电压生成器150生成的验证电压施加到选择的存储块的选择的字线,并且可将通过电压Vpass施加到未选择的字线。

地址解码器120可被配置为解码接收到的地址中的列地址。地址解码器120可将解码的列地址传送到读取和写入电路130。

可以页面为单位执行半导体存储器装置100的读取操作和编程操作。在请求读取操作和编程操作时接收到的地址可包括块地址、行地址以及列地址。地址解码器120可响应于块地址和行地址选择一个存储块和一个字线。列地址可通过地址解码器120解码,并提供给读取和写入电路130。

地址解码器120可包括块解码器、行解码器、列解码器以及地址缓冲器。

读取和写入电路130可包括多个页面缓冲器PB1至PBm。读取和写入电路130可在存储器单元阵列110的读取操作期间作为读取电路操作,并且可在存储器单元阵列110的写入操作期间作为写入电路操作。页面缓冲器PB1至PBm可分别通过位线BL1至BLm联接到存储器单元阵列110。在读取操作和编程验证操作期间,页面缓冲器PB1至PBm可连续地向联接到存储器单元的位线提供感测电流以便感测存储器单元的阈值电压,并且可感测由相应存储器单元的编程状态引起的、通过感测节点的电流量的变化以锁存感测数据。读取和写入电路130可响应于从控制逻辑140输出的页面缓冲器控制信号而操作。

读取和写入电路130可在读取操作期间,感测存储器单元的数据,临时存储读取数据,并将数据DATA输出到半导体存储器装置100的输入/输出缓冲器(未示出)。根据实施例,读取和写入电路130除了包括页面缓冲器PB1至PBm(或页面寄存器)之外,还可包括列选择电路。

控制逻辑140可联接到地址解码器120、读取和写入电路130以及电压生成器150。控制逻辑140可通过半导体存储器装置100的输入/输出缓冲器(未示出)接收命令CMD和控制信号CTRL。控制逻辑140可被配置为响应于控制信号CTRL控制半导体存储器装置100的一般操作。另外,控制逻辑140可输出控制信号以控制页面缓冲器PB1至PBm的感测节点预充电电位电平。控制逻辑140可控制读取和写入电路130以执行存储器单元阵列110的读取操作。

电压生成器150可在读取操作期间,响应于从控制逻辑140输出的控制信号而生成读取电压Vread和通过电压Vpass。电压生成器150可包括接收内部电源电压以生成具有各种电压电平的多个电压的多个泵浦电容器(pumping capacitor),并且可响应于控制逻辑140的控制,通过选择性地启动多个泵浦电容器来生成多个电压。如上所述,电压生成器150可包括电荷泵,该电荷泵可包括上述泵浦电容器。包括在电压生成器150中的电荷泵的具体配置可被不同地设计。

地址解码器120、读取和写入电路130以及电压生成器150可用作被配置为对存储器单元阵列110执行读取操作、写入操作和擦除操作的***电路。控制逻辑140可控制***电路以对存储器单元阵列110执行读取操作、写入操作和擦除操作。

图3示出图2所示的存储器单元阵列110的实施例。

参照图3,存储器单元阵列110可包括多个存储块BLK1至BLKz。每个存储块可具有三维结构。每个存储块可包括堆叠在衬底上的多个存储器单元。多个存储器单元可布置在例如图3所示的+X方向、+Y方向和+Z方向的相互正交的方向上。下面将参照图4和图5详细描述每个存储块的结构。

图4是示出图3所示的存储块BLK1至BLKz中的代表性存储块BLKa的电路图。

参照图4,存储块BLKa可包括多个单元串CS11至CS1m和CS21至CS2m。根据实施例,单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,m个单元串可布置在行方向(即,+X方向)上。在图4中,示出了两个单元串布置在列方向(即,+Y方向)上。然而,理解的是,三个或更多个单元串可布置在列方向上。

单元串CS11至CS1m和CS21至CS2m中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。

选择晶体管SST和DST中的每一个以及存储器单元MC1至MCn中的每一个可具有彼此类似的结构。根据实施例,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层以及阻挡绝缘层。根据实施例,用于提供沟道层的柱(pillar)可被设置在每个单元串中。根据实施例,用于提供沟道层、隧穿绝缘层、电荷存储层以及阻挡绝缘层中的至少一个的柱可被设置到每个单元串。

每个单元串的源极选择晶体管SST可联接在共源线CSL和存储器单元MC1至MCp之间。

根据实施例,布置在相同行中的单元串的源极选择晶体管可联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管可联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管可联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管可联接到第二源极选择线SSL2。

根据另一实施例,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同联接到一个源极选择线。

每个单元串的第一至第n存储器单元MC1至MCn可联接在源极选择晶体管SST和漏极选择晶体管DST之间。

第一至第n存储器单元MC1至MCn可被划分为第一至第p存储器单元MC1至MCp以及第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp可顺序地布置在-Z方向上,并且可串联联接在源极选择晶体管SST和管道晶体管PT之间。第p+1至第n存储器单元MCp+1至MCn可顺序布置在+Z方向上,并且可串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn可通过管道晶体管PT联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极可分别联接到第一至第n字线WL1至WLn。

每个单元串的管道晶体管PT的栅极可联接到管道线PL。

每个单元串的漏极选择晶体管DST可联接在相应位线和存储器单元MCp+1至MCn之间。布置在行方向上的单元串可联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管可联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管可联接到第二漏极选择线DSL2。

布置在列方向上的单元串可联接到在列方向上延伸的位线。在图3中,第一列中的单元串CS11和CS21可联接到第一位线BL1。第m列中的单元串CS1m和CS2m可联接到第m位线BLm。

布置在行方向上的单元串中的、联接到相同字线的存储器单元可构成一个页面。例如,第一行中的单元串CS11至CS1m中的、联接到第一字线WL1的存储器单元可构成一个页面。第二行中的单元串CS21至CS2m中的、联接到第一字线WL1的存储器单元可构成另一页面。当漏极选择线DSL1和DSL2中的一个被选择时,布置在一个行方向上的单元串可被选择。当第一至第n字线WL1至WLn中的一个被选择时,选择的单元串的一个页面可被选择。

在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。另外,布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的偶数单元串可分别联接到偶数位线,布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的奇数单元串可分别联接到奇数位线。

根据实施例,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设存储器单元。例如,可设置一个或多个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCp之间的电场。可选地,可设置一个或多个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MCp+1至MCn之间的电场。当设置更多虚设存储器单元时,存储块BLKa的操作可靠性可增加,但存储块BLKa的尺寸可增大。另一方面,当虚设存储器单元的数量减少时,存储块BLKa的尺寸可减小,但存储块BLKa的操作可靠性可降低。

为了有效地控制虚设存储器单元,每个虚设存储器单元可具有所需的阈值电压。在对存储块BLKa的擦除操作之前或之后,可对一部分或全部虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到与虚设存储器单元联接的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。

图5是示出图3所示的存储块BLK1至BLKz之中的代表性存储块BLKb的另一实施例的电路图。

参照图5,存储块BLKb可包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可在+Z方向上延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,其中衬底在存储块BLKb下方。

每个单元串的源极选择晶体管SST可联接在共源线CSL和第一至第n存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管可联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管可联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管可联接到第二源极选择线SSL2。根据另一实施例,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可共同联接到一个源极选择线。

每个单元串的第一至第n存储器单元MC1至MCn可串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极可分别联接到第一至第n字线WL1至WLn。

每个单元串的漏极选择晶体管DST可联接在相应位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管可联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管可联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管可联接到第二漏极选择线DSL2。

因此,图5所示的存储块BLKb可与图4所示的存储块BLKa具有类似或等效的电路。例如,管道晶体管PT可从图5的存储块BLKb的每个单元串移除。

在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'中的偶数单元串可分别联接到偶数位线,并且布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'中的奇数单元串可分别联接到奇数位线。

根据实施例,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设存储器单元。例如,可设置一个或多个虚设存储器单元以减小源极选择晶体管SST和第一至第n存储器单元MC1至MCn之间的电场。可选地,可设置一个或多个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。当设置更多虚设存储器单元时,存储块BLKb的操作可靠性可增加,但存储块BLKb的尺寸可增大。当设置较少的存储器单元时,存储块BLKb的尺寸可减小,但存储块BLKb的操作可靠性可降低。

为了有效地控制虚设存储器单元,每个虚设存储器单元可具有所需的阈值电压。在对存储块BLKb的擦除操作之前或之后,可对一部分或全部虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到与虚设存储器单元联接的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。

图6是示出存储块BLKc的实施例的电路图,该存储块BLKc代表图2所示的存储器单元阵列110中的存储块BLK1至BLKz中的任意一个存储块。

参照图6,存储块BLKc可包括多个单元串CS1至CSm。多个单元串CS1至CSm可分别联接到多个位线BL1至BLm。单元串CS1至CSm中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。

选择晶体管SST和DST中的每一个以及存储器单元MC1至MCn中的每一个可具有彼此类似的结构。根据实施例,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层以及阻挡绝缘层。根据实施例,用于提供沟道层的柱可被设置在每个单元串中。根据实施例,用于提供沟道层、隧穿绝缘层、电荷存储层以及阻挡绝缘层中的至少一个的柱可被设置到每个单元串。

每个单元串的源极选择晶体管SST可联接在共源线CSL和第一至第n存储器单元MC1至MCn之间。

每个单元串的第一至第n存储器单元MC1至MCn可联接在源极选择晶体管SST和漏极选择晶体管DST之间。

每个单元串的漏极选择晶体管DST可联接在相应位线和存储器单元MC1至MCn之间。

联接到相同字线的存储器单元可构成一个页面。当漏极选择线DSL被选择时,单元串CS1至CSm可被选择。当字线WL1至WLn中的一个被选择时,选择的单元串中的一个页面可被选择。

在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。单元串CS1至CSm中的偶数单元串可分别联接到偶数位线,单元串CS1至CSm中的奇数单元串可分别联接到奇数位线。

图7是示出根据实施例的存储器控制器400的框图。

参照图7,可结合图1的半导体存储器装置100操作的存储器控制器400可包括数据分配控制器410和组读取计数储存器430。组读取计数储存器430可将与存储在半导体存储器装置100中的数据对应的逻辑块地址LBA划分为多个逻辑块地址组,并根据各个逻辑块地址组存储与逻辑块地址LBA对应的数据的读取计数值。

数据分配控制器410可基于根据各个逻辑块地址组存储在组读取计数储存器430中的读取计数值,控制半导体存储器装置100将与多个逻辑块地址组之中的选择的目标逻辑块地址组对应的数据分配并存储在多个存储块中。

当具有高读取频率的数据集中并存储在特定存储块中时,可能通常对该存储块执行读取操作。因此,可能频繁地对该存储块执行读取回收操作。

根据实施例,存储器控制器400可基于与多个逻辑块地址组对应的读取计数值来分配并存储与具有高读取频率的逻辑块地址组对应的数据。因此,集中于特定存储块的读取操作可被分配到多个存储块。因此,可延长半导体存储器装置100和包括半导体存储器装置100的存储装置1000的工作寿命。

下面将参照图9详细描述逻辑块地址组和与逻辑块地址组对应的读取计数值。

图8A是示出图7所示的数据分配控制器410的实施例的框图。在该实施例中,数据分配控制器由410a标识。

参照图8A,数据分配控制器410a可包括临界计数储存器411、计数值比较器413和控制命令生成器415。

临界计数储存器411可存储临界计数值CCV。临界计数值CCV可被提供到计数值比较器413。

除了接收临界计数值CCV之外,计数值比较器413还可从组读取计数储存器430接收目标逻辑块地址组的读取计数值RCV。计数值比较器413可将临界计数值CCV与读取计数值RCV进行比较,并确定是否对与目标逻辑块地址组对应的数据执行分配操作。

当计数值比较器413确定对与目标逻辑块地址组对应的数据执行分配操作时,计数值比较器413可将控制信号CTRL传送到控制命令生成器415。基于控制信号CTRL,控制命令生成器415可生成用于控制半导体存储器装置100将与目标逻辑块地址组对应的数据分配到多个目的地存储块的命令CMD,例如,数据分配命令。例如,命令CMD可包括用于读取与目标逻辑块地址组对应的数据的读取命令和用于利用通过读取命令读取的数据对多个目的地存储块进行编程的编程命令。

在图8A的实施例中,每当组读取计数储存器430从主机300接收到读取请求时,组读取计数储存器430可将包括与读取请求对应的逻辑块地址的逻辑块地址组确定为目标逻辑块地址组。另外,组读取计数储存器430可将与确定的目标逻辑块地址组对应的读取计数值RCV提供到计数值比较器413。

下面将参照图10至图14更详细地描述操作图8A所示的存储器控制器400的方法。

图8B是示出图7所示的数据分配控制器410的另一实施例的框图。在该实施例中,数据分配控制器由410b标识。

参照图8B,数据分配控制器410b可包括计时器412、目标组确定器414和控制命令生成器416。计时器412可生成时间信息Tinf并将时间信息Tinf传送到目标组确定器414。目标组确定器414可基于时间信息Tinf来确定是否已经经过读取计数检查周期。另外,当已经经过读取计数检查周期时,目标组确定器414可基于从组读取计数储存器430接收到的读取计数值RCV,确定多个逻辑块地址组之中的目标逻辑块地址组。目标组确定器414可生成用于分配与确定的目标逻辑块地址组对应的数据的控制信号CTRL,并且可将控制信号CTRL传送到控制命令生成器416。基于控制信号CTRL,控制命令生成器416可生成用于控制半导体存储器装置100将与目标逻辑块地址组对应的数据分配到多个目的地存储块的命令CMD,例如,数据分配命令。例如,命令CMD可包括用于读取与目标逻辑块地址组对应的数据的读取命令和用于利用通过读取命令读取的数据对多个目的地存储块进行编程的编程命令。下面将参照图15更详细地描述操作图8B中所示的存储器控制器400的方法。

在图8A的实施例中,包括与来自主机300的读取请求对应的逻辑块地址的逻辑块地址组可被确定为目标逻辑块地址组。另一方面,在图8B的实施例中,多个逻辑块地址组之中具有最大读取计数值的逻辑块地址组可被确定为目标逻辑块地址组。

根据图8A的实施例,每当从主机接收到读取请求时,数据分配控制器410a可将与接收到的读取请求对应的逻辑块地址组的读取计数值与临界计数值进行比较。当读取计数值大于或等于临界计数值时,可将与接收到的读取请求对应的逻辑块地址组的数据分配并存储在多个存储块中。

根据图8B的实施例,数据分配控制器410b可每设定读取计数周期或者预定读取计数周期检查全部逻辑块地址组的读取计数值,并且可将具有最高读取计数值的逻辑块地址组的数据分配并存储在多个存储块中。

根据图8A和图8B的实施例,具有高读取计数值的逻辑块地址组的数据可被分配并存储在多个存储块中。因此,集中于一些存储块的读取操作可分配到多个存储块。因此,可延长半导体存储器装置100和包括半导体存储器装置100的存储装置1000的工作寿命。

图9是示出存储在组读取计数储存器430中的读取计数值的表。如图9所示,读取计数(RC)值分别与其逻辑块地址组对应地存储。

参照图9,可列出与读取操作的单位对应的逻辑块地址LBA。逻辑块地址的范围可以是从Add_1至Add_xk。在图9中,逻辑块地址Add1至Add_xk可按升序排列。

逻辑块地址Add_1至Add_xk之中的第一逻辑块地址Add_1至Add_k可包括在第一逻辑块地址组Group1中。第二逻辑块地址Add_(k+1)至Add_2k可包括在第二逻辑块地址组Group2中。以这种方式,逻辑块地址Add1至Add_xk可被分组为第一逻辑块地址组Group1、第二逻辑块地址组Group2、……、和第x逻辑块地址组Groupx。

对于逻辑块地址组Group1、Group2、……、和Groupx中的每一个,读取计数(RC)值可存储在组读取计数储存器430中。在图9中,读取计数值C1可对应于第一逻辑块地址组Group1。这可意味着对与第一逻辑块地址组Group1中的逻辑块地址对应的数据执行了C1次读取操作。

读取计数值C2可对应于第二逻辑块地址组Group2。这可意味着对与第二逻辑块地址组Group2中的逻辑块地址对应的数据执行了C2次读取操作。

更一般地,逻辑块地址组Group1、Group2、……、和Groupx中的每一个具有可存储在组读取计数储存器430中的相关读取计数(RC)值。每当执行了与来自主机300的读取请求对应的读取操作时,可更新与读取请求对应的逻辑块地址组的读取计数(RC)值。下面将参照图12A至图12G详细描述更新逻辑块地址组的读取计数(RC)值的方法。

图10是示出操作根据实施例的存储器控制器200的方法的流程图。

参照图10,操作根据实施例的存储器控制器的方法可包括:响应于来自主机300的读取请求,控制半导体存储器装置100执行读取操作(S110);更新包括与读取请求对应的逻辑块地址的逻辑块地址组的读取计数值(S130);以及基于更新的读取计数值执行数据分配操作(S150)。

在步骤S110中,可从主机300接收读取请求,并且可控制半导体存储器装置100执行与读取请求对应的读取操作。在步骤S110中,存储器控制器200可从主机300接收读取请求,并将与读取请求对应的逻辑块地址转换为物理块地址。另外,在步骤S110中,存储器控制器200可生成与物理块地址对应的读取命令,并将读取命令传送到半导体存储器装置100。半导体存储器装置100可响应于接收到的读取命令来执行读取操作。作为读取操作的结果而读取的数据可被传送到存储器控制器200并且最终被传送到主机300。

在步骤S130中,可更新包括与读取请求对应的逻辑块地址的逻辑块地址组的读取计数值。下面将参照图12A至图12G描述执行步骤S130的具体方法。

在步骤S150中,可基于更新的读取计数值来执行数据分配操作。下面将参照图11描述步骤S150的实施例。

图11是示出图10所示的步骤S150的实施例的流程图。

参照图11,步骤S150可包括:将具有更新的读取计数值的逻辑块地址组确定为目标逻辑块地址组(S210);将更新的读取计数值RCV与临界计数值CCV进行比较(S230);确定读取计数值RCV是否大于或等于临界计数值CCV(S250);以及基于确定结果对与目标逻辑块地址组对应的数据执行分配操作(S270)。

在图10的步骤S130中,可更新包括与从主机300接收到的读取请求对应的逻辑块地址的逻辑块地址组的读取计数值,并且在图11的步骤S210中,可将具有更新的读取计数值的逻辑块地址组确定为目标逻辑块地址组。也就是说,如上面参照图8A所描述的,可将包括与从主机300接收到的读取请求对应的逻辑块地址的逻辑块地址组确定为目标逻辑块地址组。

在步骤S230中,计数值比较器413可以与上面参照图8A所描述的方式相同的方式将更新的读取计数值RCV与临界计数值CCV进行比较。

在步骤S250中,可确定读取计数值RCV是否大于或等于临界计数值CCV。当读取计数值RCV大于或等于临界计数值CCV(即,步骤S250为“是”)时,进程流程可进行到步骤S270并且可对与目标逻辑块地址组对应的数据执行分配操作。另一方面,当读取计数值RCV小于临界计数值CCV时,可不对数据执行分配操作。当读取计数值RCV小于临界计数值CCV(即,步骤S250为“否”)时,进程可结束。

图12A至图12G是示出根据图10和图11的操作存储器控制器200的方法的示图。

参照图12A,示出了与全部逻辑块地址组对应的读取计数值被初始化为零(0)。因此,如图12A所示,当半导体存储器装置100开始操作时,与全部逻辑块地址组对应的读取计数值中的每一个可具有值零(0)。

参照图12B,示出了从主机300接收到与逻辑块地址Add_2对应的读取请求时的读取计数更新操作。由于逻辑块地址Add_2包括在第一逻辑块地址组Group1中,因此第一逻辑块地址组Group1的读取计数(RC)值可增加1。第一逻辑块地址组Group1可以是目标逻辑块地址组。然而,由于目标逻辑块地址组的读取计数(RC)值小于临界计数值,因此可不执行数据分配操作。

参照图12C,示出了从主机300接收到与逻辑块地址Add_2k对应的读取请求时的读取计数更新操作。由于逻辑块地址Add_2k包括在第二逻辑块地址组Group2中,因此第二逻辑块地址组Group2的读取计数(RC)值可增加1。第二逻辑块地址组Group2可以是目标逻辑块地址组。然而,由于目标逻辑块地址组的读取计数(RC)值小于临界计数值,因此可不执行数据分配操作。

参照图12D,示出了从主机300接收到与逻辑块地址Add_k对应的读取请求时的读取计数更新操作。由于逻辑块地址Add_k包括在第一逻辑块地址组Group1中,因此第一逻辑块地址组Group1的读取计数(RC)值可增加1。第一逻辑块地址组Group1可以是目标逻辑块地址组。然而,由于目标逻辑块地址组的读取计数(RC)值小于临界计数值,因此可不执行数据分配操作。

参照图12E,示出了从主机300接收到与逻辑块地址ADD_(2k+1)对应的读取请求时的读取计数更新操作。由于逻辑块地址ADD_(2k+1)包括在第三逻辑块地址组Group3中,因此第三逻辑块地址组Group3的读取计数(RC)值可增加1。第三逻辑块地址组Group3可以是目标逻辑块地址组。然而,由于目标逻辑块地址组的读取计数(RC)值小于临界计数值,因此可不执行数据分配操作。

参照图12F,示出了从主机300接收到与逻辑块地址Add_2对应的读取请求时的读取计数更新操作。由于逻辑块地址Add_2包括在第一逻辑块地址组Group1中,因此第一逻辑块地址组Group1的读取计数(RC)值可增加1。第一逻辑块地址组Group1可以是目标逻辑块地址组。然而,由于目标逻辑块地址组的读取计数(RC)值小于临界计数值,因此可不执行数据分配操作。

参照图12G,示出了再次从主机300接收到与逻辑块地址Add_2对应的读取请求时的读取计数更新操作。由于逻辑块地址Add_2包括在第一逻辑块地址组Group1中,因此第一逻辑块地址组Group1的读取计数(RC)值可增加1。第一逻辑块地址组Group1可以是目标逻辑块地址组。另外,目标逻辑块地址组的读取计数(RC)值可达到临界计数值CCV。在图12G的示例中,临界计数值CCV可以是4。由于目标逻辑块地址组的读取计数(RC)值达到临界计数值CCV,因此可对与作为目标逻辑块地址组的第一逻辑块地址组对应的数据执行分配操作。换言之,可将与第一逻辑块地址Add_1至Add_k对应的数据分配并存储在多个存储块中。

在执行数据分配操作之后,由于与作为目标逻辑块地址组的第一逻辑块地址组Group1对应的数据可被传送到其它存储块,因此可将第一逻辑块地址组Group1的读取计数值初始化为值零(0)。

图13是示出图11所示的步骤S270的实施例的流程图。图14是示出图13的步骤S310和步骤S330的框图。

参照图13,图11的步骤S270可包括:确定将存储与目标逻辑块地址组对应的数据的目的地存储块(S310);将与目标逻辑块地址组对应的数据移动到目的地存储块(S330);以及初始化目标逻辑块地址组的读取计数值(S350)。

如图14所示,与目标逻辑块地址组对应的数据可存储在半导体存储器装置100中的存储器单元阵列110的第i块BLKi中。在步骤S310中,可确定目的地存储块BLK1至BLKh(520至540)。

可从存储器单元阵列110中的存储块之中的当前正在使用的开放块中选择确定的目的地存储块BLK1至BLKh(520至540)。开放块可指存储了数据并且具有存储额外数据的空闲空间的存储块。在另一实施例中,可从存储器单元阵列110中的存储块的空闲块中选择确定的目的地存储块BLK1至BLKh(520至540)。空闲块可指当前未存储数据的存储块。在另一实施例中,目的地存储块BLK1至BLKh(520至540)可被确定为包括开放块和空闲块。

在步骤S330中,可将第i块BLKi中的数据D1、D2、……、Dh分配并存储在目的地存储块BLK1至BLKh(520至540)中。在步骤S350中,可将目标逻辑块地址组的读取计数值初始化为零(0)。

图14中示出了与目标逻辑块地址组对应的数据存储在一个存储块BLKi(510)中时的数据分配操作的实施例。然而,与目标逻辑块地址组对应的数据可存储在两个或更多个存储块中。如上所述,存储在两个或更多个存储块中的数据可被分配并存储在选择的目的地存储块中。

在执行数据分配操作之后,可初始化目标逻辑块地址组的读取计数值(S350)。因此,目标逻辑块地址组Group1的读取计数(RC)值可被初始化为零(0)。

图15是示出图10的步骤S150的另一实施例的流程图。

参照图15,步骤S150可包括:检查在前一读取计数检查时间和当前时间之间经过的时间(S220);确定是否已经经过读取计数检查周期(S240);将具有最大读取计数值的逻辑块地址组确定为目标逻辑块地址组(S260);以及对与目标逻辑块地址组对应的数据执行分配操作(S280)。因此,与具有最大读取计数值的逻辑块地址组对应的数据可被周期性地分配并存储在多个存储块中。图15的步骤可由图8B所示的数据分配控制器410b执行。因此,参照图15和图8B进行以下描述。

首先,在步骤S220中,可检查在前一读取计数检查时间和当前时间之间经过的时间。可通过每设定周期或者预定周期选择目标逻辑块地址组来执行数据分配操作。数据分配控制器410b的计时器412可重复地生成时间信息Tinf并将时间信息Tinf传送到目标组确定器414。目标组确定器414可基于接收到的时间信息Tinf检查在前一读取计数检查时间和当前时间之间经过的时间。可在前一读取计数检查时间基于读取计数值对与目标逻辑块地址组对应的数据执行分配操作。目标组确定器414可基于时间信息Tinf检查从前一读取计数检查时间起是否已经经过读取计数检查周期。作为步骤S240的确定结果,当还未经过读取计数检查周期时,目标组确定器414可继续检查经过的时间(S220)。

作为步骤S240的确定结果,当已经经过读取计数检查周期时,目标组确定器414可将多个逻辑块地址组Group1至Groupx之中具有最大读取计数值的逻辑块地址组确定为目标逻辑块地址组(S260)。组读取计数储存器430可将与各个逻辑块地址组对应的读取计数值RCV提供到目标组确定器414。目标组确定器414可将与提供的读取计数值RCV之中的最大读取计数值对应的逻辑块地址组确定为目标逻辑块地址组。

在步骤S280中,可对与目标逻辑块地址组对应的数据执行分配操作。目标组确定器414可生成用于对选择的目标逻辑块地址组执行数据分配操作的控制信号CTRL,并将控制信号CTRL传送到控制命令生成器416。基于控制信号CTRL,控制命令生成器416可生成用于控制半导体存储器装置100将与目标逻辑块地址组对应的数据分配到多个目的地存储块的命令CMD。例如,命令CMD可包括用于读取与目标逻辑块地址组对应的数据的读取命令和用于利用通过读取命令读取的数据对多个目的地存储块进行编程的编程命令。

图16是示出图1所示的存储器控制器200的实施例的框图。

参照图16,存储器控制器200可联接在半导体存储器装置100和主机之间。半导体存储器装置100可以是参照图2描述的半导体存储器装置。存储器控制器200可对应于图1的存储器控制器200。因此,此处省略对共同元件的描述。

存储器控制器200可被配置为在主机的请求下访问半导体存储器装置100。例如,存储器控制器200可控制半导体存储器装置100的读取操作、编程操作、擦除操作和/或后台操作。存储器控制器200可被配置为提供半导体存储器装置100和主机之间的接口。存储器控制器200可被配置为驱动固件以控制半导体存储器装置100。

存储器控制器200可包括随机存取存储器(RAM)210、处理器220、主机接口230、存储器接口240和错误校正块250。RAM 210可用作处理器220的操作存储器、半导体存储器装置100和主机之间的高速缓存存储器、以及半导体存储器装置100和主机之间的缓冲存储器中的至少一个。另外,RAM 210可用作临时存储待被传送至半导体存储器装置100的命令的命令队列。

处理器220可控制存储器控制器200的一般操作。

主机接口230可包括用于在主机和存储器控制器200之间交换数据的协议。根据实施例,存储器控制器200可使用诸如以下的各种接口协议中的至少一种与主机通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、***组件互连(PCI)协议、PCI高速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议以及专用协议。

存储器接口240可与半导体存储器装置100接口连接。例如,存储器接口包括NAND接口或NOR接口。

错误校正块250可使用错误校正码(ECC)来检测并校正从半导体存储器装置100接收到的数据中的错误。处理器220可根据错误校正块250的错误检测结果来控制读取电压,并控制半导体存储器装置100执行重新读取。根据实施例,错误校正块250可作为存储器控制器200的组件之一被提供。

存储器控制器200和半导体存储器装置100可被集成到单个半导体装置中。在实施例中,存储器控制器200和半导体存储器装置100可被集成到一个半导体装置中以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)、通用闪存(UFS)等。

存储器控制器200和半导体存储器装置100可被集成到单个半导体装置中以构成固态驱动器(SSD)。固态驱动器(SSD)可包括被配置为将数据存储在半导体存储器中的存储装置。当包括存储器控制器200和半导体存储器装置100的存储装置1000用作固态驱动器(SSD)时,可显著提高联接到存储装置1000的主机的操作速度。

在另一示例中,包括存储器控制器200和半导体存储器装置100的存储装置1000可作为诸如以下的电子装置的各种元件之一被提供:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航装置、黑盒、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片播放器、数字图片记录器、数字视频记录器、能够在无线环境中传送/接收信息的装置、用于形成家庭网络的各种装置之一、用于形成计算机网络的各种电子装置之一、用于形成远程信息处理网络的各种电子装置之一、RFID装置或用于形成计算系统的各种元件之一等。

在实施例中,半导体存储器装置100或包括半导体存储器装置100的存储装置1000可以各种类型的封装中的任意一种来实施。例如,半导体存储器装置100或存储装置1000可以堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、窝伏尔组件式管芯(die in waffle pack)、晶圆形式管芯(die inwafer form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、晶圆级处理堆叠封装(WSP)等实施。

图17是示出图1的存储装置1000的应用示例的框图。

参照图17,存储装置2000可包括半导体存储器装置2100和控制器2200。半导体存储器装置2100可包括可被划分为多个组的多个半导体存储器芯片。

在图17中,示出了第一至第k组分别通过第一至第k通道CH1至CHk与控制器2200通信。每个半导体存储器芯片可以与上面参照图2描述的半导体存储器装置100相同的方式配置和操作。

每个组可被配置为通过单个公共通道与控制器2200通信。控制器2200可以与参照图16描述的存储器控制器200基本相同的方式配置,并且被配置为通过第一至第k通道CH1至CHk控制半导体存储器装置2100的多个存储器芯片。

图18是示出包括参照图17描述的存储装置2000的计算系统3000的框图。

计算系统3000可包括中央处理单元(CPU)3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500和存储装置2000。

存储装置2000可通过系统总线3500电连接到CPU 3100、RAM3200、用户接口3300和电源3400。通过用户接口3300提供的数据或由CPU 3100处理的数据被存储在存储装置2000中。

图18示出了半导体存储器装置2100通过控制器2200联接到系统总线3500。然而,半导体存储器装置2100可直接联接到系统总线3500。控制器2200的功能可由CPU 3100和RAM 3200来执行。

在图18中,示出了参照图17描述的存储装置2000被提供。然而,存储装置2000可由如上面参照图16描述的包括存储器控制器200和半导体存储器装置100的存储装置1000代替。

根据本公开的实施例,提供了一种能够延长半导体存储器装置的工作寿命的存储器控制器。

根据本公开的另一实施例,提供了一种操作能够延长半导体存储器装置的工作寿命的存储器控制器的方法。

本说明书和附图中公开的各个实施例旨在帮助本领域技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。换言之,本公开所属领域的技术人员将能够容易理解的是,基于本公开的技术范围的各种修改是可能的。对于本领域技术人员将显而易见的是,在不脱离本公开的精神或范围的情况下,可对本公开的任何上述实施例进行各种修改。因此,本公开涵盖全部这些修改,只要它们落入所附权利要求及其等同物的范围内。

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于FPGA的PCIe接口设计方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类