一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储装置、主机装置及其操作方法与流程

2022-12-23 20:32:20 来源:中国专利 TAG:

存储装置、主机装置及其操作方法
1.相关申请的交叉引用
2.本技术要求于2021年6月7日提交的申请号为10-2021-0073774的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
3.本公开涉及一种电子装置,并且更特别地,涉及一种存储装置、主机装置及其操作方法。


背景技术:

4.半导体存储器装置可以以存储器单元的串被水平地布置在半导体衬底上的二维结构、或以存储器单元的串被竖直地堆叠在半导体衬底上的三维结构来形成。三维半导体存储器装置是被设计成超越二维半导体存储器装置的集成度的限制的存储器装置,并且可以包括竖直地堆叠在半导体衬底上的多个存储器单元。另一方面,控制器可以根据来自主机装置的请求来控制半导体存储器装置的操作。


技术实现要素:

5.本公开的实施例提供了一种能够有效地执行修整操作(trim operation)的存储装置、主机装置及其操作方法。
6.根据本公开的实施例,一种操作主机装置的方法包括:选择逻辑块地址,逻辑块地址与待删除的数据相对应;将与所选择的逻辑块地址相对应的修整请求传输到存储装置;确定是否满足修整请求的重新传输要求;响应于确定满足修整请求的重新传输要求而将修整请求重新传输到存储装置。
7.根据本公开的另一实施例,一种操作主机装置的方法包括:选择与待删除的数据相对应的逻辑块地址;将与所选择的逻辑块地址相对应的第一修整请求传输到存储装置;确定是否满足第一修整请求的重新传输要求;响应于确定满足第一修整请求的重新传输要求而将与所选择的逻辑块地址相对应的第二修整请求传输到存储装置。
8.根据本公开的又一实施例,一种操作存储装置的方法包括:从主机装置接收修整请求;确定修整请求是否是第一修整请求;根据确定结果来执行与接收到的修整请求相对应的修整操作。
9.本技术可以提供一种能够有效地执行修整操作的存储装置、主机装置及其操作方法。
附图说明
10.图1是示出根据本公开的实施例的存储装置和主机装置的框图。
11.图2是示出根据图1的半导体存储器装置的框图。
12.图3示出了图2的存储器单元阵列的实施例。
13.图4是示出图3的存储块blk1至blkz之中的任意一个存储块blka的电路示图。
14.图5是示出图2的存储器单元阵列110中包括的存储块blk1至blkz之中的任意一个存储块blkb的实施例的电路示图。
15.图6是示出根据本公开的实施例的由主机装置控制的修整操作的框图。
16.图7a和图7b是示出根据修整操作来更新映射数据的示图。
17.图8是示出根据本公开的实施例的操作存储装置的过程的流程图。
18.图9是示出根据本公开的另一实施例的操作存储装置的过程的流程图。
19.图10是示出由图9的操作过程来执行的修整操作的框图。
20.图11是示出根据本公开的实施例的操作主机装置的过程的流程图。
21.图12是示出由图11的操作过程执行的修整操作的框图。
22.图13是示出根据本公开的又一实施例的操作存储装置的过程的流程图。
23.图14是示出根据本公开的另一实施例的操作主机装置的过程的流程图。
24.图15是示出根据本公开的又一实施例的操作存储装置的过程的流程图。
25.图16是示出包括半导体存储器装置和控制器的存储装置的框图。
26.图17是示出图16的存储装置的应用示例的框图。
27.图18是示出包括参照图17描述的存储装置的计算系统的框图。
具体实施方式
28.本公开的优点和特征以及实现这些优点和特征的方法将结合附图通过下面详细描述的实施例来描述。然而,本公开不限于本文描述的实施例,而是可以以其他形式来实现。提供本实施例以向本公开所属领域的技术人员详细描述本公开的技术精神,以使本领域技术人员可以容易地实施本公开的技术精神。
29.图1是示出根据本公开的实施例的存储装置1000和主机装置300的框图。
30.存储装置1000包括半导体存储器装置100和控制器200。存储装置1000与主机装置300通信。控制器200控制半导体存储器装置100的整体操作。控制器200可以基于从主机装置300接收的操作请求来控制半导体存储器装置100的操作。
31.半导体存储器装置100在控制器200的控制下操作。半导体存储器装置100包括具有多个存储块的存储器单元阵列。在实施例中,半导体存储器装置100可以是闪速存储器装置。
32.控制器200可以从主机装置300接收写入请求、读取请求、修整请求等,并且基于接收到的请求来控制半导体存储器装置100。更具体地,控制器200可以生成用于控制半导体存储器装置100的操作的命令并将该命令传输到半导体存储器装置100。
33.半导体存储器装置100被配置成从控制器200接收命令和地址,并且访问存储器单元阵列的由地址选择的区域。即,半导体存储器装置100对由地址选择的区域执行与命令相对应的内部操作。
34.例如,半导体存储器装置100可以执行编程操作、读取操作和擦除操作。在编程操作期间,半导体存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,半导体存储器装置100可以从由地址选择的区域中读取数据。在擦除操作期间,半导体存储器装置100可以擦除由地址选择的区域中存储的数据。
35.主机装置300包括修整控制器310。修整控制器310可以生成修整请求以控制存储装置1000对存储装置1000中存储的数据执行修整操作。主机装置300生成用于修整存储装置1000中存储的数据之中的待删除的数据的修整请求,并将所生成的修整请求传输到存储装置1000的控制器200。控制器200包括用于处理从主机装置300接收的修整请求的修整请求处理器210。修整请求处理器210可以使用例如在控制器200中包括的微处理器或微控制器上运行的固件来实现。控制器200的修整请求处理器210响应于从主机装置300接收的修整请求而使与接收到的修整请求相对应的数据无效。即,存储装置1000可以使与从主机装置300接收的修整请求相对应的数据无效。无效数据可以稍后通过垃圾收集(gc)操作从存储装置1000中移除。
36.更具体地,修整请求处理器210可以更新映射数据以使与修整请求相对应的数据无效。映射数据可以被存储在半导体存储器装置100中。修整请求处理器210可以控制半导体存储器装置100读取半导体存储器装置100中存储的映射数据。为此,修整请求处理器210可以生成用于读取映射数据的读取命令,并且将所生成的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令读取映射数据,并且可以将读取的映射数据传输到控制器200。修整请求处理器210可以基于修整请求来更新所接收的映射数据。修整请求处理器210可以将更新后的映射数据传输到半导体存储器装置100。另外,修整请求处理器210可以将用于编程更新后的映射数据的编程命令传输到半导体存储器装置100。半导体存储器装置可以响应于编程命令而编程更新后的映射数据。稍后参照图6、图7a和图7b描述存储装置1000响应于修整请求而更新映射数据的过程。
37.图2是示出根据图1的半导体存储器装置100的框图。
38.半导体存储器装置100包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150。
39.存储器单元阵列110包括多个存储块blk1至blkz。多个存储块blk1至blkz通过字线wl连接到地址解码器120。多个存储块blk1至blkz通过位线bl1至blm连接到读取和写入电路130。多个存储块blk1至blkz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元,并且可以由具有竖直沟道结构的非易失性存储器单元来配置。在实施例中,存储器单元阵列110可以被配置成具有二维结构的存储器单元阵列。在另一实施例中,存储器单元阵列110可以被配置成三维结构的存储器单元阵列。存储器单元阵列中包括的多个存储器单元中的每一个可以存储至少一位数据。在实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储一位数据的单层单元(slc)。在另一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储两位数据的多层单元(mlc)。在又一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储三位数据的三层单元(tlc)。在又一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储四位数据的四层单元(qlc)。根据实施例,存储器单元阵列110可以包括每个存储器单元存储五位或更多位数据的多个存储器单元。
40.地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150作为驱动存储器单元阵列110的外围电路来操作。地址解码器120通过字线wl连接到存储器单元阵列110。地址解码器120被配置成响应于控制逻辑140的控制而操作。地址解码器120通过半导体存储器装置100内的输入/输出缓冲器(未示出)接收地址。
41.地址解码器120被配置成对所接收地址之中的块地址进行解码。地址解码器120根据经解码的块地址来选择至少一个存储块。另外,在读取操作期间,地址解码器120在读取电压施加操作时将电压生成器150中生成的读取电压vread施加到所选择存储块的所选择字线,并且将通过电压vpass施加到剩余的未选择字线。另外,在编程验证操作期间,地址解码器120将由电压生成器150生成的验证电压施加到所选择存储块的所选择字线,并且将通过电压vpass施加到剩余的未选择字线。
42.地址解码器120被配置成对所接收地址中的列地址进行解码。地址解码器120将经解码的列地址传输到读取和写入电路130。
43.半导体存储器装置100的读取操作和编程操作以一个页面为单位来执行。在请求读取操作和编程操作时接收的地址包括块地址、行地址和列地址。地址解码器120根据块地址和行地址来选择一个存储块和一条字线。列地址由地址解码器120进行解码并被提供到读取和写入电路130。
44.地址解码器120可以包括块解码器、行解码器、列解码器和地址缓冲器等。
45.读取和写入电路130包括多个页面缓冲器pb1至pbm。读取和写入电路130可以在存储器单元阵列110的读取操作期间作为读取电路而操作,并且可以在存储器单元阵列110的写入操作期间作为写入电路而操作。多个页面缓冲器pb1至pbm通过位线bl1至blm连接到存储器单元阵列110。在读取操作和编程验证操作期间,为了感测存储器单元的阈值电压,多个页面缓冲器pb1至pbm在向连接到存储器单元的位线连续供应感测电流的同时,通过感测节点感测根据对应的存储器单元的编程状态流动的电流量的变化,并且将感测到的变化锁存为感测数据。读取和写入电路130响应于从控制逻辑140输出的页面缓冲器控制信号而操作。
46.在读取操作期间,读取和写入电路130感测存储器单元的数据,临时地存储读取数据,并且将数据data输出到半导体存储器装置100的输入/输出缓冲器(未示出)。在示例实施例中,除页面缓冲器(或页面寄存器)之外,读取和写入电路130还可以包括列选择电路等。
47.控制逻辑140连接到地址解码器120、读取和写入电路130以及电压生成器150。控制逻辑140通过半导体存储器装置100的输入/输出缓冲器(未示出)接收命令cmd和控制信号ctrl。控制逻辑140被配置成响应于控制信号ctrl而控制半导体存储器装置100的整体操作。另外,控制逻辑140输出用于调整多个页面缓冲器pb1至pbm的感测节点预充电电位电平的控制信号。控制逻辑140可以控制读取和写入电路130执行存储器单元阵列110的读取操作。
48.电压生成器150响应于从控制逻辑140输出的控制信号而在读取操作期间生成读取电压vread和通过电压vpass。为了生成具有各个电压电平的多个电压,电压生成器150可以包括接收内部电源电压的多个泵浦电容器,并且响应于控制逻辑140的控制,通过选择性地激活多个泵浦电容器来生成多个电压。
49.地址解码器120、读取和写入电路130以及电压生成器150可以用作对存储器单元阵列110执行读取操作、写入操作和擦除操作的外围电路。外围电路在控制逻辑140的控制下对存储器单元阵列110执行读读取操作、写入操作和擦除操作。
50.图3是示出图2的存储器单元阵列110的实施例的示图。
51.存储器单元阵列110包括多个存储块blk1至blkz。每个存储块可以具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。这种多个存储器单元沿 x方向、 y方向和 z方向布置。参照图4更详细地描述每个存储块的结构。
52.图4是示出图3的存储块blk1至blkz之中的任意一个存储块blka的电路示图。存储块blka可以是具有三维结构的存储器单元阵列中的存储块。
53.存储块blka包括多个单元串cs11至cs1m和cs21至cs2m。在存储块blka中,在行方向(即, x方向)上布置m个单元串。在图4中,在列方向(即, y方向)上布置两个单元串。然而,这是为了便于描述,并且可以理解的是可以沿列方向布置三个或更多个单元串。
54.多个单元串cs11至cs1m和cs21至cs2m中的每一个包括至少一个源极选择晶体管sst、第一存储器单元mc1至第n存储器单元mcn和至少一个漏极选择晶体管dst。
55.选择晶体管sst和dst以及存储器单元mc1至mcn中的每一个可以具有类似结构。在实施例中,选择晶体管sst和dst以及存储器单元mc1至mcn中的每一个可以包括沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜中的至少一个的柱。
56.每个单元串的源极选择晶体管sst连接在公共源极线csl与存储器单元mc1至mcn之间。
57.在实施例中,布置在同一行中的单元串的源极选择晶体管连接到沿行方向延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管连接到不同的源极选择线。在图4中,第一行的单元串cs11至cs1m的源极选择晶体管连接到第一源极选择线ssl1。第二行的单元串cs21至cs2m的源极选择晶体管连接到第二源极选择线ssl2。
58.在另一实施例中,单元串cs11至cs1m和cs21至cs2m的源极选择晶体管可以共同连接到一条源极选择线。
59.每个单元串的第一存储器单元mc1至第n存储器单元mcn串联连接在源极选择晶体管sst和漏极选择晶体管dst之间。第一存储器单元mc1至第n存储器单元mcn的栅极分别连接到第一字线wl1至第n字线wln。
60.每个单元串的漏极选择晶体管dst连接在相应的位线与存储器单元mc1至mcn之间。沿行方向布置的单元串的漏极选择晶体管连接到沿行方向延伸的漏极选择线。第一行的单元串cs11至cs1m的漏极选择晶体管连接到第一漏极选择线dsl1。第二行的单元串cs21至cs2m的漏极选择晶体管连接到第二漏极选择线dsl2。
61.沿列方向布置的单元串连接到沿列方向延伸的位线。在图4中,第一列的单元串cs11和cs21连接到第一位线bl1。第m列的单元串cs1m和cs2m连接到第m位线blm。
62.沿行方向布置的单元串中的连接到同一字线的存储器单元配置一个页面。例如,第一行的单元串cs11至cs1m之中连接到第一字线wl1的存储器单元配置一个页面。第二行的单元串cs21至cs2m之中连接到第一字线wl1的存储器单元配置另一页面。可以通过选择漏极选择线dsl1和dsl2中的任意一条漏极选择线来选择沿一个行方向布置的单元串。可以通过选择字线wl1至wln中的任意一条字线来选择所选择的单元串的一个页面。
63.在另一实施例中,可以设置偶数位线和奇数位线来代替第一位线bl1至第m位线blm。另外,沿行方向布置的单元串cs11至cs1m或cs21至cs2m之中的偶数编号的单元串可以
分别连接到偶数位线,并且沿行方向布置的单元串cs11至cs1m或cs21至cs2m之中的奇数编号的单元串可以分别连接到奇数位线。
64.在实施例中,第一存储器单元mc1至第n存储器单元mcn中的至少一个可以用作虚设存储器单元。例如,设置至少一个虚设存储器单元以减小源极选择晶体管sst与存储器单元mc1至mcn之间的电场。可选地,设置至少一个虚设存储器单元以减小漏极选择晶体管dst与存储器单元mc1至mcn之间的电场。随着设置更多的虚设存储器单元,存储块blka的操作可靠性提高,然而,存储块blka的大小增大。随着设置更少的虚设存储器单元,存储块blka的大小可以减小,然而,存储块blka的操作可靠性可能降低。
65.为了有效地控制至少一个虚设存储器单元,虚设存储器单元中的每一个可以具有所需阈值电压。在对存储块blka的擦除操作之前或之后,可以对全部或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元可以通过控制施加到与各个虚设存储器单元连接的虚设字线的电压而具有所需阈值电压。
66.图5是示出图2的存储器单元阵列110中包括的存储块blk1至blkz之中的任意一个存储块blkb的实施例的电路示图。存储块blkb可以是具有二维结构的存储器单元阵列中的存储块。
67.存储块blkb包括多个单元串cs1至csm。多个单元串cs1至csm可以分别连接到多条位线bl1至blm。单元串cs1至csm中的每一个包括至少一个源极选择晶体管sst、第一存储器单元mc1至第n存储器单元mcn和至少一个漏极选择晶体管dst。
68.选择晶体管sst和dst以及存储器单元mc1至mcn中的每一个可以具有类似结构。在实施例中,选择晶体管sst和dst以及存储器单元mc1至mcn中的每一个可以包括沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜。单元串的源极选择晶体管sst连接在公共源极线csl与存储器单元mc1至mcn之间。
69.每个单元串的第一存储器单元mc1至第n存储器单元mcn连接在源极选择晶体管sst与漏极选择晶体管dst之间。
70.每个单元串的漏极选择晶体管dst连接在相应的位线与存储器单元mc1至mcn之间。
71.连接到同一字线的存储器单元配置一个页面。可以通过选择漏极选择线dsl来选择单元串cs1至csm。可以通过选择字线wl1至wln中的任何一条字线来选择所选择的单元串之中的一个页面。
72.在另一实施例中,可以设置偶数位线和奇数位线来代替第一位线bl1至第m位线blm。单元串cs1至csm之中的偶数编号的单元串可以分别连接到偶数位线,并且奇数编号的单元串可以分别连接到奇数位线。
73.图6是示出根据本公开的实施例的由主机装置控制的修整操作的框图。
74.参照图6,为了控制存储装置1000执行数据修整操作,主机装置300可以生成修整请求rq
trm
。修整请求rq
trm
可以包括用于识别作为修整操作的目标的数据的信息。例如,修整请求rq
trm
可以包括识别作为修整操作的目标的数据的一个或多个逻辑地址,诸如一个或多个逻辑块地址(lba)。主机装置300可以将所生成的修整请求rq
trm
传输到存储装置的控制器200(s61)。
75.控制器200的修整请求处理器210可以响应于接收到修整请求rq
trm
而将用于读取
映射数据的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令来读取映射数据map_data,并且将读取的映射数据map_data传输到控制器200(s62)。
76.控制器200的修整请求处理器210可以基于修整请求rq
trm
来更新映射数据map_data。与修整请求rq
trm
相对应的数据可以因映射数据map_data的更新而被无效。控制器200的修整请求处理器210可以将更新后的映射数据map_data'连同用于编程更新后的映射数据map_data'的编程命令一起传输到半导体存储器装置100(s63)。半导体存储器装置100可以响应于编程命令而将更新后的映射数据map_data'编程到存储器单元阵列。通过此过程,可以执行数据的修整操作。
77.图7a和图7b是示出根据修整操作来更新映射数据的示图。
78.参照图7a,示出了在更新之前半导体存储器装置100中存储的映射数据map_data。映射数据map_data可以包括多个逻辑块地址(lba)以及分别与多个逻辑块地址(lba)相对应的物理块地址(pba)。更具体地,映射数据map_data可以包括第一lba lba1至第n lba lban和相对应的pba。
79.更具体地,第一lba lba1与第一pba pba1相对应。这可以表示与第一lba lba1相对应的有效数据被存储在第一pba pba1中。另一方面,第二lba lba2与第二pba pba2相对应。这可以表示与第二lba lba2相对应的有效数据被存储在第二pba pba2中。
80.参照图7a,映射数据map_data不包括与第三lba lba3相对应的pba。这可以表示不存在与第三lba lba3相对应的有效数据。与第三lba lba3相对应的新数据可以被存储在存储装置1000中。类似地,有效数据未被分配到第m lba lbam,因此在映射数据map_data中不包括相对应的pba。
81.在此过程中,映射数据map_data可以包括分别与第一lba lba1至第n lba lban相对应的pba。在第一lba lba1至第n lba lban之中,在不存在有效数据的lba的情况下,相对应的pba不存在。
82.参照图7a,示出了控制器200接收与第i lba lbai相对应的修整请求rq
trm
的情况。因此,与第i lba lbai相对应的数据被修整。
83.第i lba lbai与第i pba pbai相对应。这可以表示与第i lba lbai相对应的有效数据被存储在第i pba pbai中。当接收到与第ilba lbai相对应的修整请求rq
trm
时,修整请求处理器210可以使与第i lba lbai相对应的有效数据无效。为了使有效数据无效,修整请求处理器210从映射数据map_data中移除与第i lba lbai相对应的第i pba pbai。
84.参照图7b,示出了响应于修整请求rq
trm
而更新的映射数据map_data'。从映射数据map_data'中移除与第i lba lbai相对应的第i pba pbai。因此,与第i lba lbai相对应的数据仍然被存储在半导体存储器装置100的第i pba pbai中,但是被重新分类为无效数据。第i pba pbai中存储的无效数据可以稍后通过垃圾收集操作擦除。
85.如上所述,存储装置1000可以通过更新半导体存储器装置100中存储的映射数据map_data来执行与修整请求rq
trm
相对应的修整操作。
86.图8是示出根据本公开的实施例的操作存储装置的过程的流程图。
87.参照图8,根据本公开的实施例的操作存储装置的过程包括:从主机装置接收修整请求(s110);控制半导体存储器装置读取与修整请求相对应的映射数据(s130);更新映射
数据以使与修整请求相对应的lba的数据无效(s150);并且控制半导体存储器装置存储更新后的映射数据(s170)。
88.在步骤s110中,存储装置1000的控制器200从主机装置300接收针对特定数据的修整请求rq
trm

89.在步骤s130中,修整请求处理器210生成用于读取包括与修整请求rq
trm
相对应的lba的映射数据map_data的读取命令,并将所生成的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令而读取包括与修整请求rq
trm
相对应的lba的映射数据map_data,并将读取的映射数据map_data传输到控制器200。
90.在步骤s150中,修整请求处理器210基于修整请求rq
trm
来更新映射数据map_data。如参照图7a和图7b所述,修整请求处理器210可以更新映射数据map_data以使与修整请求rq
trm
相对应的数据无效。
91.在步骤s170中,存储装置1000的控制器200将更新后的映射数据map_data'和用于编程更新后的映射数据map_data'的编程命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的编程命令而编程更新后的映射数据map_data'。
92.根据参照图6至图8描述的过程,每当存储装置1000从主机装置300接收到修整请求时,存储装置1000可以立即执行修整操作。如参照图6至图8所描述的,为了执行修整操作,需要读取半导体存储器装置100中存储的映射数据并将更新后的映射数据存储回半导体存储器装置100中的操作。在此过程中,当主机装置300频繁地生成修整请求并将修整请求传输到存储装置1000时,每当接收到修整请求时,存储装置1000就需要重复执行读取和更新映射数据以及将更新后的映射数据存储在半导体存储器装置中的操作。这可能是降低存储装置1000的操作效率的因素。
93.根据本公开的另一实施例,存储装置1000可以将从主机装置接收到的多个修整请求存储在缓冲器存储器中并且执行与缓冲器存储器中存储的多个修整请求相对应的单个修整操作。在这种情况下,即使主机装置300频繁地生成修整请求并将修整请求传输到存储装置1000,因为存储装置1000可以收集修整请求并且将所收集的修整请求处理为一个修整操作,所以可以减少执行映射数据的读取操作和编程操作的次数。由此,可以提高存储装置1000的操作效率。下文中,参照图9提供这种实施例的描述。
94.图9是示出根据本公开的另一实施例的操作存储装置的过程的流程图。
95.参照图9,根据本公开的另一实施例的操作存储装置的过程包括:从主机装置接收修整请求(s210);将接收到的修整请求存储在缓冲器存储器中(s220);确定是否满足修整请求的处理条件(s230);控制半导体存储器装置读取与所存储的修整请求相对应的映射数据(s240);更新映射数据以使与所存储的修整请求相对应的lba的数据无效(s250);并且控制半导体存储器装置存储更新后的映射数据(s260)。
96.在步骤s210中,存储装置1000的控制器200可以从主机装置300接收针对特定数据的修整请求rq
trm
。在步骤s220中,存储装置1000的控制器200可以将接收到的修整请求rq
trm
存储在缓冲器存储器中,而不是立即处理接收到的修整请求rq
trm
。因此,多个修整请求可以被存储在缓冲器存储器中。
97.在步骤s230中,控制器200确定是否满足处理缓冲器存储器中存储的修整请求的条件。可以根据实施例不同地确定修整请求的处理条件。即,即使存储装置执行修整操作,
也可以确定在不降低或较小地降低存储装置1000的操作效率的情况下允许执行修整操作的处理条件。
98.作为示例,存储装置1000可以每隔预定时段执行修整操作。在这种情况下,修整请求的处理条件可以是例如“从执行先前修整操作的时间起已经过预定阈值时间吗?”。当从执行先前修整操作的时间起已经过预定阈值时间时,可以确定满足修整请求的处理条件。当从执行先前修整操作的时间起尚未经过预定阈值时间时,可以确定不满足修整请求的处理条件。
99.作为另一示例,存储装置1000可以在空闲时间期间执行修整操作。在这种情况下,修整请求的处理条件可以是例如“存储装置1000当前处于空闲状态吗?”。当存储装置1000当前处于空闲状态时,可以确定满足修整请求的处理条件。当存储装置1000当前不处于空闲状态时,可以确定不满足修整请求的处理条件。另外,根据实施例,可以在步骤s230中应用各种处理条件。
100.当不满足修整请求的处理条件(s230:否)时,过程可以进行到步骤s210以从主机装置接收另一修整请求。因此,当不满足修整请求的处理条件时,可以不执行修整操作并且接收到的修整请求被累积并存储在缓冲器存储器中。
101.当满足修整请求的处理条件(s230:是)时,存储装置1000可以执行与缓冲器存储器中存储的修整请求相对应的修整操作。更具体地,在步骤s240中,修整请求处理器210可以生成用于读取包括与缓冲器存储器中存储的修整请求rq
trm
相对应的lba的映射数据map_data的读取命令,并且可以将所生成的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令而读取包括与修整请求rq
trm
相对应的lba的映射数据map_data,并将读取的映射数据map_data传输到控制器200。
102.在步骤s250中,修整请求处理器210可以基于缓冲器存储器中存储的修整请求rq
trm
来更新映射数据map_data。类似于参照图7a和图7b所述,修整请求处理器210可以更新映射数据map_data以使与缓冲器存储器中存储的一个或多个修整请求rq
trm
相对应的数据无效。在与缓冲器存储器中存储的修整请求rq
trm
相对应的数据已经被无效之后,可以从缓冲器存储器中移除修整请求rq
trm

103.在步骤s260中,存储装置1000的控制器200可以将更新后的映射数据map_data'和用于编程更新后的映射数据map_data'的编程命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的编程命令而编程更新后的映射数据map_data'。
104.图10是示出由图9的操作过程来执行的修整操作的框图。下文中,一起参照图9和图10描述根据本公开的实施例的修整操作。
105.参照图10,为了控制存储装置1000执行第一数据的修整操作,主机装置300可以生成第一修整请求rq
trm1
。第一修整请求rq
trm1
可以包括用于识别待作为修整操作的目标的第一数据的信息。主机装置300可以将所生成的第一修整请求rq
trm1
传输到存储装置的控制器200(s11)。
106.存储装置1000从主机装置300接收第一修整请求rq
trm1
(s210)。存储装置1000的控制器200将第一修整请求rq
trm1
存储在缓冲器存储器中(s220)。之后,控制器200的修整请求处理器210确定是否满足修整请求的处理条件(s230)。
107.图10示出了在接收到第一修整请求rq
trm1
的时间点不满足修整请求的处理条件的
情况。因此,修整请求处理器210确定不满足修整请求的处理条件(s230:否)。
108.之后,为了控制存储装置1000执行与第一数据不同的第二数据的修整操作,主机装置300可以生成第二修整请求rq
trm2
。第二修整请求rq
trm2
可以包括用于识别待作为修整操作的目标的第二数据的信息。主机装置300可以将所生成的第二修整请求rq
trm2
传输到存储装置的控制器200(s12)。
109.存储装置1000从主机装置300接收第二修整请求rq
trm2
(s210)。存储装置1000的控制器200将第二修整请求rq
trm2
存储在缓冲器存储器中(s220)。之后,控制器200的修整请求处理器210确定是否满足修整请求的处理条件(s230)。
110.图10示出了在接收到第二修整请求rq
trm2
的时间点不满足修整请求的处理条件的情况。因此,修整请求处理器210确定不满足修整请求的处理条件(s230:否)。
111.之后,为了控制存储装置1000执行与第一数据和第二数据不同的第三数据的修整操作,主机装置300可以生成第三修整请求rq
trm3
。第三修整请求rq
trm3
可以包括用于识别待作为修整操作的目标的第三数据的信息。主机装置300可以将所生成的第三修整请求rq
trm3
传输到存储装置的控制器200(s13)。
112.存储装置1000从主机装置300接收第三修整请求rq
trm3
(s210)。存储装置1000的控制器200将第三修整请求rq
trm3
存储在缓冲器存储器中(s220)。之后,控制器200的修整请求处理器210确定是否满足修整请求的处理条件(s230)。
113.图10示出了在接收到第三修整请求rq
trm3
的时间点满足修整请求的处理条件的情况。因此,修整请求处理器210确定满足修整请求的处理条件(s230:是)。
114.响应于确定满足修整请求的处理条件,存储装置1000可以将用于读取与缓冲器存储器中存储的第一修整请求rq
trm1
、第二修整请求rq
trm2
和第三修整请求rq
trm3
相对应的映射数据的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令读取映射数据map_data,并且将读取的映射数据map_data传输到控制器200(s14)。
115.控制器200的修整请求处理器210可以基于第一修整请求rq
trm1
、第二修整请求rq
trm2
和第三修整请求rq
trm3
来更新映射数据map_data。与第一修整请求rq
trm1
、第二修整请求rq
trm2
和第三修整请求rq
trm3
相对应的数据可以因映射数据map_data的更新而被无效。控制器200的修整请求处理器210可以将更新后的映射数据map_data'连同用于编程更新后的映射数据map_data'的编程命令一起传输到半导体存储器装置100(s15)。半导体存储器装置100可以响应于编程命令将更新后的映射数据map_data'编程到存储器单元阵列。根据此过程,可以执行数据的修整操作。
116.根据图9和图10所示的过程,存储装置1000可以将从主机装置接收到的一个或多个修整请求存储在缓冲器存储器中,并且同时执行与缓冲器存储器中存储的一个或多个修整请求相对应的修整操作。在这种情况下,即使主机装置300频繁地生成修整请求并将修整请求传输到存储装置1000,但是因为存储装置1000可以收集修整请求并且将多个修整请求处理为一个修整操作,所以可以减少执行映射数据的读取操作和编程操作的次数。
117.然而,当在从主机装置300接收的修整请求正被存储在缓冲器存储器中的同时在存储装置中发生突然断电(spo)时,缓冲器存储器中存储的修整请求可能丢失。当主机装置300将修整请求传输到存储装置1000,但存储装置1000在执行修整操作之前丢失修整请求
时,主机装置300和存储装置1000的数据处理可能发生错误。
118.根据本公开的实施例的操作主机装置300的过程,在与特定lba相对应的数据的修整请求被传输到存储装置1000之后,可以根据预定要求将同一数据的修整请求重新传输到存储装置1000。因此,即使发生spo,存储装置1000也可以可靠地执行修整操作。
119.图11是示出根据本公开的实施例的操作主机装置的过程的流程图。
120.参照图11,根据本公开的实施例的操作主机装置的过程包括:确定以删除与所选择的lba相对应的数据(s310);将与所选择的lba相对应的修整请求rq
trm
传输到存储装置1000(s320);确定是否已经从存储装置1000接收到与修整请求rq
trm
相对应的修整操作完成消息(s330);确定是否满足修整请求的重新传输要求(s340);并且在预定等待时间期间等待(s350)。
121.在步骤s310中,主机装置300的修整控制器310可以确定以删除与多个lba之中的所选择的lba相对应的数据。例如,当从主机装置300的文件系统中删除存储装置1000中存储的特定文件时,修整控制器310可以选择与所删除的文件相对应的lba并确定以删除与所选择的lba相对应的数据。
122.在步骤s320中,主机装置300的修整控制器310将与所选择的lba相对应的修整请求传输到存储装置。当待删除文件的大小较小时,所选择的lba可以是一个lba。当待删除文件的大小较大时,所选择的lba可以包括多个lba。
123.在步骤s330中,主机装置300的修整控制器310确定是否已经从存储装置1000接收到与修整请求相对应的修整操作完成消息。响应于在步骤s320中传输的修整请求,存储装置1000可以立即执行修整操作或者可以在满足修整请求的处理条件时执行修整操作。当存储装置1000完成修整操作时,存储装置1000可以将修整操作完成消息传输到主机装置300。即,由主机装置300接收到修整操作完成消息表示已经执行了与在步骤s320中传输到存储装置1000的修整请求相对应的修整操作。在实施例中,修整操作完成消息可以包括指示一个或多个相对应的修整请求已经完成的信息。
124.当已经从存储装置1000接收到与修整请求相对应的修整操作完成消息(s330:是)时,不需要将相对应的修整请求重新传输到存储装置1000。因此,结束与对应于所选择的lba的数据的修整请求相关的操作。
125.在未从存储装置1000接收到与修整请求相对应的修整操作完成消息(s330:否)的情况下,这种情况表示与在步骤s320中传输到存储装置1000的修整请求相对应的修整操作尚未执行。在这种情况下,主机装置300的修整控制器310确定是否满足将修整请求重新传输到存储装置1000的要求(s340)。可以根据实施例不同地确定修整请求的重新传输要求。作为示例,主机装置300可以每隔预定时段将修整请求重新传输到存储装置1000。在这种情况下,修整请求的重新传输要求可以是例如“从与所选择的lba相对应的修整请求被传输到存储装置的最后时间点已经过预定阈值时间吗?”。当从与所选择的lba相对应的修整请求被传输到存储装置1000的时间点已经过预定阈值时间时,可以确定满足修整请求的重新传输要求。当从与所选择的lba相对应的修整请求被传输到存储装置1000的时间点尚未经过预定阈值时间时,可以确定不满足修整请求的重新传输要求。
126.当不满足修整请求的重新传输要求(s340:否)时,在预定等待时间期间等待(s350)之后,再次确定是否已经从存储装置1000接收到与修整请求相对应的修整操作完成
消息(s330)。
127.当满足修整请求的重新传输要求(s340:是)时,过程进行到步骤s320并且再次将与所选择的lba相对应的修整请求传输到存储装置1000(s320),并且主机装置300的修整控制器310确定是否从存储装置1000接收到与修整请求相对应的修整操作完成消息(s330)。在此过程中,在将针对与特定lba相对应的数据的修整请求传输到存储装置1000之后,主机装置300可以根据预定要求将针对同一数据的修整请求重新传输到存储装置1000。因此,即使发生spo,存储装置1000也可以可靠地执行修整操作。
128.图12是示出由图11的操作过程执行的修整操作的框图。
129.主机装置300可以将与第一数据相对应的第一修整请求rq
trm1
传输到存储装置1000(s21)。另一方面,独立于第一修整请求rq
trm1
的传输,主机装置300可以将与第二数据相对应的第二修整请求rq
trm2
传输到存储装置1000(s22)。
130.在未从存储装置1000接收到与第一修整请求rq
trm1
相对应的修整操作完成消息(s330:否)的情况下,当满足修整请求的重新传输要求(s340:是)时,主机装置300可以将与第一数据相对应的第一修整请求rq
trm1
重新传输到存储装置1000(s23)。类似地,在未从存储装置1000接收到与第二修整请求rq
trm2
相对应的修整操作完成消息(s330:否)的情况下,当满足修整请求的重新传输要求(s340:是)时,主机装置300可以将与第二数据相对应的第二修整请求rq
trm2
重新传输到存储装置1000(s24)。
131.之后,当存储装置1000执行与第一修整请求rq
trm1
相对应的修整操作时,存储装置1000可以将与第一修整请求rq
trm1
相对应的第一修整操作完成消息tcf
trm1
传输到主机装置300(s25)。响应于接收到第一修整操作完成消息tcf
trm1
(s330:是),主机装置300可以不再将第一修整请求rq
trm1
重新传输到存储装置1000。
132.另一方面,当主机装置300未从存储装置1000接收到与第二修整请求rq
trm2
相对应的修整操作完成消息(s330:否)时,主机装置300可以将与第二数据相对应的第二修整请求rq
trm2
重新传输到存储装置1000(s26)。之后,当存储装置1000执行与第二修整请求rq
trm2
相对应的修整操作时,存储装置1000可以将与第二修整请求rq
trm2
相对应的第二修整操作完成消息tcf
trm2
传输到主机装置300(s27)。响应于接收到第二修整操作完成消息tcf
trm2
(s330:是),主机装置300可以不将第二修整请求rq
trm2
重新传输到存储装置1000。
133.图13是示出根据本公开的又一实施例的操作存储装置的过程的流程图。具体地,图13示出了与根据图11的操作主机装置的过程相对应的操作存储装置的过程。
134.参照图13,根据本公开的又一实施例的操作存储装置的过程包括:从主机装置接收修整请求(s410);确定对应于与接收到的修整请求相对应的lba的数据是否是有效数据(s413);将与修整请求相对应的修整操作完成消息传输到主机装置(s415);将接收到的修整请求存储在缓冲器存储器中(s420);确定是否满足修整请求的处理条件(s430);控制半导体存储器装置读取与所存储的修整请求相对应的映射数据(s440);更新映射数据以使与所存储的修整请求相对应的lba的数据无效(s450);并且控制半导体存储器装置存储更新后的映射数据(s460)。
135.在步骤s410中,存储装置1000的控制器200可以从主机装置300接收针对特定数据的修整请求rq
trm
。因为在步骤s410中接收到的修整请求可以是重新传输的修整请求而不是最初接收的修整请求,所以存储装置1000确定对应于与接收到的修整请求相对应的lba的
数据是否是有效数据(s413)。在实施例中,通过确定映射数据中是否包括与lba相对应的pba来确定对应于与接收到的修整请求相对应的lba的数据是否是有效数据。当对应于与接收到的修整请求相对应的lba的数据是无效数据(s413:否)时,这表示已经执行与接收到的修整请求相对应的修整操作。因此,与接收到的修整请求相对应的修整操作完成消息被传输到主机装置(s415)。
136.当对应于与接收到的修整请求相对应的lba的数据是有效数据(s413:是)时,存储装置1000的控制器200可以将接收到的修整请求rq
trm
存储在缓冲器存储器中(s420)。因此,多个修整请求可以被存储在缓冲器存储器中。
137.在步骤s430中,控制器200确定是否满足用于处理缓冲器存储器中存储的修整请求的条件。可以根据实施例不同地确定修整请求的处理条件。即,即使存储装置执行修整操作,也可以确定在不降低或较小地降低存储装置1000的操作效率的情况下允许执行修整操作的处理条件。
138.当不满足修整请求的处理条件(s430:否)时,过程可以进行到步骤s410以从主机装置接收另一修整请求。因此,当不满足修整请求的处理条件时,可以不执行修整操作并且接收到的修整请求被累积并存储在缓冲器存储器中。
139.当满足修整请求的处理条件(s430:是)时,存储装置1000可以执行与缓冲器存储器中存储的修整请求相对应的修整操作。更具体地,在步骤s440中,修整请求处理器210可以生成用于读取包括与缓冲器存储器中存储的修整请求rq
trm
相对应的lba的映射数据map_data的读取命令,并且可以将所生成的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令而读取包括与修整请求rq
trm
相对应的lba的映射数据map_data,并将读取的映射数据map_data传输到控制器200。
140.在步骤s450中,修整请求处理器210可以基于缓冲器存储器中存储的修整请求rq
trm
来更新映射数据map_data。类似于参照图7a和图7b所述,修整请求处理器210可以更新映射数据map_data以使与在缓冲器存储器中存储的至少一个修整请求rq
trm
相对应的数据无效。在与缓冲器存储器中存储的至少一个修整请求rq
trm
相对应的数据已经被无效之后,可以从缓冲器存储器中移除至少一个修整请求rq
trm

141.在步骤s460中,存储装置1000的控制器200可以将更新后的映射数据map_data'和用于编程更新后的映射数据map_data'的编程命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的编程命令而编程更新后的映射数据map_data'。
142.图14是示出根据本公开的另一实施例的操作主机装置的过程的流程图。
143.根据上述图11的实施例,当主机装置300未接收到修整操作完成消息时,主机装置300将修整请求重复地重新传输到存储装置。在一些情况下,可能将过多的与一个lba相对应的修整请求传输到存储装置。在图14所示的实施例的情况下,防止了重新传输过多的修整请求的情况。
144.参照图14,根据本公开的另一实施例的操作主机装置的过程包括:确定以删除与所选择的lba相对应的数据(s510);将与所选择的lba相对应的第一修整请求传输到存储装置1000(s520);确定是否已经从存储装置1000接收到与第一修整请求相对应的修整操作完成消息(s525);确定是否满足修整请求的重新传输要求(s530);并且将与所选择的lba相对应的第二修整请求传输到存储装置1000(s540)。
145.在步骤s510中,主机装置300的修整控制器310可以确定以删除与多个lba之中的所选择的lba相对应的数据。例如,当从主机装置300的文件系统中删除存储装置1000中存储的特定文件时,修整控制器310可以选择与所删除的文件相对应的lba并确定以删除与所选择的lba相对应的数据。
146.在步骤s520中,主机装置300的修整控制器310将与所选择的lba相对应的第一修整请求传输到存储装置。当待删除文件的大小较小时,所选择的lba可以是一个lba。当待删除文件的大小较大时,所选择的lba可以包括多个lba。第一修整请求可以是响应于所选择的lba而被最初传输到存储装置1000的修整请求。
147.在步骤s525中,主机装置300的修整控制器310确定是否已经从存储装置1000接收到与第一修整请求相对应的修整操作完成消息。由主机装置300接收到修整操作完成消息表示已经执行了与在步骤s520中传输到存储装置1000的第一修整请求相对应的修整操作。
148.当已经从存储装置1000接收到与第一修整请求相对应的修整操作完成消息(s525:是)时,不需要将第一修整请求重新传输到存储装置1000。因此,结束与对应于所选择的lba的数据的第一修整请求相关的操作。
149.在未从存储装置1000接收到与第一修整请求相对应的修整操作完成消息(s525:否)的情况下,这种情况表示与在步骤s520中传输到存储装置1000的修整请求相对应的修整操作尚未执行,过程进行到s530。
150.之后,在步骤s530中,主机装置300确定是否满足修整请求的重新传输要求。当不满足修整请求的重新传输要求(s530:否)时,主机装置可以每隔预定时间重新确定是否已经接收到与第一修整请求相对应的修整操作完成消息以及是否满足修整请求的重新传输要求。
151.当满足修整请求的重新传输要求(s530:是)时,主机装置300将与所选择的lba相对应的第二修整请求传输到存储装置。在步骤s540中传输到存储装置的第二修整请求可以对应于与在步骤s520中传输到存储装置的第一修整请求相同的lba。然而,第一修整请求和第二修整请求可以是不同类型的修整请求。在实施例中,第一修整请求可以是允许存储装置1000稍后执行相对应的修整操作的修整请求。当存储装置1000接收到第一修整请求时,可以根据存储装置1000的状态立即执行与第一修整请求相对应的修整操作,或者可以通过将第一修整请求存储在缓冲器存储器中稍后执行修整操作。
152.与之不同,第二修整请求可以是强制存储装置1000立即执行相对应的修整操作的修整请求。当存储装置1000接收到第二修整请求时,存储装置1000可以被配置成立即执行相对应的修整操作。
153.图15是示出根据本公开的又一实施例的操作存储装置的过程的流程图。
154.参照图15,根据本公开的又一实施例的操作存储装置的过程包括:从主机装置接收修整请求(s610);确定接收到的修整请求是否是第一修整请求(s620);将接收到的第一修整请求存储在缓冲器存储器中(s630);将接收到的第二修整请求存储在缓冲器存储器中(s640);确定是否满足修整请求的处理条件(s650);控制半导体存储器装置读取与所存储的修整请求相对应的映射数据(s660);更新映射数据以使与所存储的修整请求相对应的lba的数据无效(s670);并且控制半导体存储器装置存储更新后的映射数据(s680)。
155.在步骤s610中,存储装置1000的控制器200可以从主机装置300接收针对特定数据
修整请求rq
trm
。在步骤s620中,确定接收到的修整请求是第一修整请求还是第二修整请求。在实施例中,接收到的修整请求是第一修整请求还是第二修整请求可以由接收到的修整请求中的信息来指示。当接收到的修整请求是第一修整请求(s620:是)时,存储装置1000的控制器200可以将接收到的第一修整请求存储在缓冲器存储器中(s630)。之后,存储装置1000可以确定是否满足修整请求的处理条件(s650)。当不满足修整请求的处理条件(s650:否)时,过程可以进行到步骤s610以从主机装置接收另一修整请求。即,当接收到的修整请求是第一修整请求时,根据是否满足修整请求的处理条件,可以不立即执行相对应的修整操作。
156.当接收到的修整请求是第二修整请求(s620:否)时,存储装置1000的控制器200可以将接收到的第二修整请求存储在缓冲器存储器中(s640)。之后,存储装置1000进行到步骤s660,并且开始与缓冲器存储器中存储的修整请求相对应的修整操作,而不管是否满足修整请求的处理条件。即,在第二修整请求的情况下,无论是否满足修整请求的处理条件都立即执行相对应的修整操作。
157.在步骤s660中,存储装置1000可以执行与缓冲器存储器中存储的修整请求相对应的修整操作。更具体地,在步骤s660中,修整请求处理器210可以生成用于读取包括与缓冲器存储器中存储的修整请求rq
trm
相对应的lba的映射数据map_data的读取命令,并且可以将所生成的读取命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的读取命令而读取包括与修整请求rq
trm
相对应的lba的映射数据map_data,并将读取的映射数据map_data传输到控制器200。
158.在步骤s670中,修整请求处理器210可以基于缓冲器存储器中存储的修整请求rq
trm
来更新映射数据map_data。类似于参照图7a和图7b所述,修整请求处理器210可以更新映射数据map_data以使与缓冲器存储器中存储的至少一个修整请求rq
trm
相对应的数据无效。
159.在步骤s680中,存储装置1000的控制器200可以将更新后的映射数据map_data'和用于编程更新后的映射数据map_data'的编程命令传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的编程命令而编程更新后的映射数据map_data'。
160.图16是示出包括半导体存储器装置和控制器的存储装置1000的框图。
161.图16的半导体存储器装置1300可以与参照图2描述的半导体存储器装置100类似地配置和操作。下文中,省略重复的描述。
162.控制器1200连接到主机装置host和半导体存储器装置1300。控制器1200被配置成响应于来自主机装置host的请求而访问半导体存储器装置1300。例如,控制器1200被配置成控制半导体存储器装置1300的读取操作、编程操作、擦除操作和后台操作。控制器1200被配置成提供半导体存储器装置1300和主机装置host之间的接口。控制器1200被配置成运行用于控制半导体存储器装置1300的固件。
163.控制器1200包括随机存取存储器(ram)1210、处理单元1220、主机接口1230、存储器接口1240和错误校正块1250。
164.ram 1210用作处理单元1220的操作存储器、半导体存储器装置1300与主机装置host之间的高速缓存存储器以及半导体存储器装置1300与主机装置host之间的缓冲器存储器中的任意一个。
165.处理单元1220控制控制器1200的整体操作。处理单元1220被配置成控制半导体存
储器装置1300的读取操作、编程操作、擦除操作和后台操作。处理单元1220被配置成运行用于控制半导体存储器装置1300的固件。处理单元1220可以执行闪存转换层(ftl)的功能。处理单元1220可以通过ftl将由主机装置提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收逻辑块地址(lba)并且使用映射表将lba转换为pba。根据映射单元,存在ftl的多个地址映射处理。代表性的地址映射处理包括页面映射处理、块映射处理和混合映射处理。
166.主机接口1230包括用于在主机装置host与控制器1200之间执行数据交换的协议。在示例实施例中,控制器1200被配置成通过诸如以下的各种接口协议中的至少一种与主机装置host通信:通用串行总线(usb)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机系统接口(scsi)协议、增强型小型磁盘接口(esdi)协议、电子集成驱动器(ide)协议或私有协议。
167.存储器接口1240与半导体存储器装置1300接口连接。例如,存储器接口1240包括nand闪速存储器接口或nor闪速存储器接口。
168.错误校正块1250被配置成使用错误校正码(ecc)来检测并校正从半导体存储器装置1300接收的数据的错误。错误校正块1250可以通过在读取页面数据中使用ecc来校正错误。错误校正块1250可以通过使用诸如以下的编码调制来校正错误:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、涡轮(turbo)码、里德-所罗门(reed-solomon,rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制(bcm)或汉明码。
169.在读取操作期间,错误校正块1250可以校正读取页面数据的错误。当读取页面数据包括超过可校正位数的错误位时,解码可能失败。当页面数据包括等于或小于可校正位数的错误位时,解码可能成功。解码成功指示读取命令通过。解码失败指示读取命令失败。当解码成功时,控制器1200将错误被校正的页面数据输出到主机。
170.控制器1200和半导体存储器装置1300可以被集成到一个半导体装置中。在示例实施例中,控制器1200和半导体存储器装置1300可以被集成一个半导体装置中以配置存储卡。例如,控制器1200和半导体存储器装置1300可以被集成到一个半导体装置中以配置诸如以下的存储卡:pc卡(个人计算机存储卡国际协会(pcmcia))、紧凑型闪存(cf)卡、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc或微型mmc)、sd卡(sd、迷你sd、微型sd或sdhc)或通用闪存(ufs)。
171.控制器1200和半导体存储器装置1300可以被集成到一个半导体装置中以配置半导体驱动器(固态驱动器(ssd))。半导体驱动器(ssd)包括被配置成将数据存储到半导体存储器中的存储装置。当存储装置用作半导体驱动器(ssd)时,连接到存储装置的主机装置host的操作速度显著提高。
172.作为另一示例,存储装置1000被设置为诸如以下的电子装置的各种组件中的一种:计算机、超级移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航装置、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、能够在无线环境下传输和接收信
息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、rfid装置、或配置计算系统的各种组件中的一种。
173.在示例实施例中,半导体存储器装置1300或存储装置可以被安装为各种类型的封装。例如,半导体存储器装置1300或存储装置可以以诸如以下的封装来封装和安装:堆叠封装(pop)、球栅阵列(bga)、芯片级封装(csp)、塑料引线芯片载体(plcc)、塑料双列直插式封装(pdip)、叠片封装的管芯(a die in waffle pack)、晶圆形式的管芯、板上芯片(cob)、陶瓷双列直插式封装(cerdip)、塑料公制四方扁平封装(mqfp)、薄型四方扁平封装(tqfp)、小外形集成电路(soic)封装、收缩型小外形封装(ssop)、薄型小外形封装(tsop)、系统级封装(sip)、多芯片封装(mcp)、晶圆级制造封装(wfp)或晶圆级处理堆叠封装(wsp)。
174.图17是示出图16的存储装置的应用示例2000的框图。
175.参照图17,存储装置2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。多个半导体存储器芯片被划分成多个组。
176.在图17中,多个组分别通过第一通道ch1至第k通道chk与控制器2200通信。每个半导体存储器芯片与参照图16描述的半导体存储器装置1300中的一个类似地配置和操作。
177.每个组被配置成通过一个共用通道与控制器2200通信。控制器2200与参照图16描述的控制器1200类似地配置,并且被配置成通过多个通道ch1至chk控制半导体存储器装置2100的多个存储器芯片。
178.在图17中,多个半导体存储器芯片连接到每个通道。然而,将理解的是可以修改存储装置2000以使一个半导体存储器芯片连接到每个通道。
179.图18是示出包括参照图17描述的存储装置的计算系统的框图。
180.参照图18,计算系统3000包括中央处理装置3100、随机存取存储器(ram)3200、用户接口3300、电源3400、系统总线3500和存储装置2000。
181.存储装置2000通过系统总线3500电连接到中央处理装置3100、ram 3200、用户接口3300和电源3400。通过用户接口3300提供或由中央处理装置3100处理的数据被存储在存储装置2000中。
182.在图18中,半导体存储器芯片2100通过控制器2200连接到系统总线3500。然而,半导体存储器芯片2100可以被配置成直接连接到系统总线3500。在这种配置中,控制器2200的功能由中央处理装置3100和ram 3200执行。
183.在图18中,提供了参照图17描述的存储装置2000。然而,存储装置2000可以利用参照图16描述的存储装置1000来替换。在实施例中,计算系统3000可以被配置成包括参照图16和图17描述的存储装置1000和2000两者。
184.尽管已经参照有限的实施例和附图描述了本公开,但是本公开不限于上述实施例,并且本公开所属领域的技术人员可以根据所公开的描述进行各种改变和修改。
185.因此,本公开的范围不应限于所描述的实施例,并且应由权利要求的等效方案以及所附权利要求确定。
186.在上述实施例中,可以选择性地执行或省略一些步骤。另外,各个实施例中的步骤不需要顺序进行,并且可以颠倒。另一方面,本说明书及附图中公开的本公开的实施例仅是为了便于描述本说明书的技术内容和促进理解本说明书的特定示例,而不限制本说明书的
保护范围。即,对于本公开所属领域的技术人员明显的是,基于本公开的技术精神的其他修改示例是可能的。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献