存储器系统以及操作存储器控制器的方法与流程

文档序号:18940023发布日期:2019-10-23 01:04阅读:133来源:国知局
存储器系统以及操作存储器控制器的方法与流程

本申请要求于2018年4月11日提交的申请号为10-2018-0042291的韩国专利申请的优先权,其全部公开内容通过引用整体并入本文。

本公开的各种实施例总体涉及一种电子装置。具体地,实施例涉及一种存储器系统以及一种操作存储器控制器的方法。



背景技术:

存储器装置可以具有二维(2d)结构,其中串水平地布置在半导体衬底上。可选地,存储器装置可以具有三维(3d)结构,其中串垂直地堆叠在半导体衬底上。由于具有2d结构的存储器装置达到其物理缩放限制(即,集成度的限制),半导体制造商正在生产3d存储器装置,其包括垂直堆叠在半导体衬底上的多个存储器单元以克服2d存储器装置的限制。存储器控制器可以控制存储器装置的操作。



技术实现要素:

本公开的各种实施例涉及一种存储器系统,该存储器系统可以降低固件数据的管理成本。

本公开的各种实施例涉及一种操作存储器控制器的方法,该方法可以降低固件数据的管理成本。

本公开的实施例可以提供一种存储器系统。该存储器系统可以包括存储器装置和存储器控制器。存储器装置可以包括多个存储器单元,并且可以将固件数据存储到存储器单元中。存储器控制器可以控制存储器装置的操作。固件数据可以包括固件代码,并且存储器控制器可以基于主机类型信息运行固件代码。

在实施例中,固件代码可以包括通用代码、第一代码以及第二代码。存储器控制器可以基于主机类型信息选择性地运行第一代码和第二代码中的任何一个。

在实施例中,固件数据可以进一步包括主机类型信息。存储器控制器可以基于固件数据中包括的主机类型信息选择性地运行第一代码和第二代码中的任何一个。

在实施例中,存储器控制器可以从主机接收主机类型信息,并且可以基于从主机接收的主机类型信息选择性地运行第一代码和第二代码中的任何一个。

在实施例中,无论主机类型信息如何,存储器控制器都可以运行通用代码。

本公开的实施例可以提供一种操作存储器控制器的方法,该存储器控制器用于控制存储器装置的操作。该方法可以包括从存储器装置接收固件数据,从包括在固件数据中的主机类型信息识别主机的类型,以及基于所识别的主机类型选择性地运行包括在固件数据中的至少一个代码。

在实施例中,固件数据可以包括通用代码、第一代码以及第二代码。选择性地运行至少一个代码可以包括基于所识别的主机类型选择性地运行第一代码和第二代码中的任何一个。

在实施例中,选择性地运行至少一个代码可以包括运行通用代码而不考虑所识别的主机类型。

本公开的实施例可以提供一种操作存储器控制器的方法,该存储器控制器用于控制存储器装置的操作。该方法可以包括从主机接收主机类型信息,从存储器装置接收固件数据,以及基于主机类型信息选择性地运行包括在固件数据中的至少一个代码。

在实施例中,固件数据可以包括通用代码、第一代码以及第二代码。选择性地运行至少一个代码可以包括基于所识别的主机类型选择性地运行第一代码和第二代码中的任何一个。

在实施例中,选择性地运行至少一个代码可以包括运行通用代码而不考虑主机类型信息。

本公开的实施例可以提供一种存储器系统。该存储器系统可以包括存储器装置和存储器控制器。存储器装置可以被配置为存储固件数据。固件数据可以包括被配置为控制存储器装置以服务于不同类型的主机的通用请求的通用固件代码,以及被分别配置为控制存储器装置以服务主机的专用请求的专用固件代码。控制器可以被配置为通过识别待被服务主机的类型,根据主机之中待被服务主机的类型,驱动通用固件代码和专用固件代码之中与待被服务主机相对应的专用固件代码。待被服务主机的类型可以由主机类型信息表示。无论主机的类型如何,通用固件代码都可以进一步被配置为运行控制器。

在实施例中,固件数据可以进一步包括主机类型信息。

在实施例中,可以从待被服务主机提供主机类型信息。

附图说明

图1是示出存储器系统的实施例的框图。

图2是示出图1的存储器装置的框图。

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

图4是示出图3的存储块blk1至blkz之中的任何一个存储块blka的示例的电路图。

图5是示出图3的存储块blk1至blkz之中的任何一个存储块blkb的示例的电路图。

图6是示出图2的存储器单元阵列110中包括的存储块blk1至blkz之中的任何一个存储块blkc的示例的电路图。

图7是示出图1的存储器系统的详细配置的框图。

图8a和图8b是示出操作典型存储器系统的方法的框图。

图9是示出根据本公开的实施例的应用于存储器系统的固件数据的示例的示图。

图10a和图10b是示出根据本公开的实施例的存储器系统和操作存储器控制器的方法的示图。

图11是示出根据本公开的实施例的应用于存储器系统的固件数据的示例的示图。

图12是描述根据本公开的实施例的操作存储器控制器的方法的流程图。

图13是示出根据本公开的实施例的应用于存储器系统的固件数据的示例的示图。

图14a和图14b是示出根据本公开的实施例的存储器系统和操作存储器控制器的方法的示图。

图15是描述根据本公开的实施例的操作存储器控制器的方法的流程图。

图16是示出包括图7的存储器控制器的存储器系统的实施例的示图。

图17是示出包括图7的存储器装置的存储器系统的实施例的示图。

图18是示出包括图7的存储器装置的存储器系统的实施例的示图。

图19是示出包括图7的存储器装置的存储器系统的实施例的示图。

具体实施方式

参考稍后详细描述的示例性实施例以及附图,本公开的优点和特征以及用于实现该优点和特征的方法将变得更加明显。本公开不限于以下实施例,而是可以以各种其他形式实现。也就是说,提供这些实施例使得本公开将是全面且完整的,并将向本领域技术人员充分传达本公开的技术精神。要注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。

还要注意的是,在本说明书中“连接/联接”不仅是指一个组件直接联接到另一个组件而且还指通过中间组件间接联接到另一个组件。在本说明书中,当元件被称为“包含”或“包括”一组件时,除非上下文另有明确说明,否则其不排除另一组件而是可以进一步包括其他组件。

本文使用的术语仅用于描述特定实施例的目的,并不意图限制本发明。

附图不一定按比例绘制,并且在某些情况下为了清楚地说明实施例的特征,比例可能被夸大。

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

在下文中,将参考附图详细描述本公开的实施例。现在应参考附图,其中贯穿不同附图使用相同的附图标记来表示相同或相似的组件。可以省略众所周知的配置和功能的细节以避免不必要地模糊本公开的主旨。

图1是示出存储器系统1000的示例的框图。

参照图1,存储器系统1000包括存储器装置100和存储控制器1100。

存储器装置100可以在存储器控制器1100的控制下操作。详细地,存储器装置100响应于从存储器控制器1100接收的写入请求将数据写入到存储器单元阵列。当从存储器控制器1100接收写入命令、地址和数据作为写入请求时,存储器装置100将数据写入到由地址指示的存储器单元。

存储器装置100响应于从存储器控制器1100接收的读取请求执行读取操作。当从存储器控制器1100接收到读取命令和地址作为读取请求时,存储器装置100从由地址指示的存储器单元读取数据,并将所读取的数据输出到存储器控制器1100。

存储器装置100可以以诸如以下的各种形式实现:nand闪速存储器、垂直nand闪速存储器(以下称为“vnand”)、nor闪速存储器、电阻随机存取存储器(rram)、相变存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移力矩随机存取存储器(stt-ram)。另外,根据本公开的存储器装置100可以被实施为三维(3d)阵列结构。本公开不仅可以应用于电荷存储层由导电浮栅形成的闪速存储器装置,而且还可以应用于电荷存储层由绝缘层形成的电荷撷取闪速(ctf)存储器装置。

存储器控制器1100联接在存储器装置100和主机2000之间。存储器控制器1100可以将主机2000与存储器装置100接口连接。存储器控制器1100可以在主机2000的控制下向存储器装置100传送写入请求或读取请求。

图2是示出存储器装置,例如图1的存储器装置100的框图。

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

存储器单元阵列110可以包括多个存储块blk1至blkz。存储块blk1至blkz可以通过字线wl联接到地址解码器120。存储块blk1至blkz可以通过位线bl1至blm联接到读取和写入电路130。存储块blk1至blkz中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元,并且可以被实施为具有垂直沟道结构的非易失性存储器单元。存储器单元阵列110可以被实施为具有二维(2d)结构的存储器单元阵列。在实施例中,存储器单元阵列110可以被实施为具有三维(3d)结构的存储器单元阵列。包括在存储器单元阵列中的存储器单元中的每一个可以存储至少一位数据。在实施例中,存储器单元阵列110中包括的存储器单元中的每一个可以是存储一位数据的单层单元(slc)。在实施例中,存储器单元阵列110中包括的存储器单元中的每一个可以是存储两位数据的多层单元(mlc)。在实施例中,存储器单元阵列110中包括的存储器单元中的每一个可以是存储三位数据的三层单元。在实施例中,存储器单元阵列110中包括的存储器单元中的每一个可以是存储四位数据的四层单元。在各种实施例中,存储器单元阵列110可包括多个存储器单元,每个存储器单元存储5位或更多位数据。

地址解码器120、读取和写入电路130、控制逻辑140以及电压发生器150可以用作用于驱动存储器单元阵列110的外围电路。地址解码器120通过字线wl联接到存储器单元阵列110。地址解码器120可以在控制逻辑140的控制下操作。地址解码器120可以通过设置在存储器装置100中的输入/输出缓冲器(未示出)来接收地址。

地址解码器120可以对所接收的地址中的块地址进行解码。地址解码器120基于被解码的块地址选择至少一个存储块。当在读取操作期间执行读取电压施加操作时,地址解码器120可以将由电压发生器150生成的读取电压vread施加到所选择存储块的所选择字线,并且可以将通过电压vpass施加到剩余的未选择字线。在编程验证操作期间,地址解码器120可以将由电压发生器150生成的验证电压施加到所选择存储块的所选择字线,并且可以将通过电压vpass施加到剩余的未选择字线。

地址解码器120可以对所接收的地址之中的列地址进行解码。地址解码器120可以将被解码的列地址传送到读取和写入电路130。

存储器装置100的读取和编程操作每一个均基于页面执行。在读取和编程操作的请求下接收的地址可以包括块地址、行地址以及列地址。地址解码器120可以根据块地址和行地址选择一个存储块和一个字线。列地址可以由地址解码器120解码,并且然后可以被提供给读取和写入电路130。

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

读取和写入电路130包括多个页面缓冲器pb1至pbm。读取和写入电路130可以在存储器单元阵列110的读取操作期间用作“读取电路”,并且在其写入操作期间用作“写入电路”。多个页面缓冲器pb1至pbm通过位线bl1至blm联接到存储器单元阵列110。在读取或编程验证操作期间,为了感测存储器单元的阈值电压,页面缓冲器pb1至pbm可以连续地向联接到存储器单元的位线施加感测电流,同时页面缓冲器pb1至pbm中的每一个依据相应存储器单元的编程状态通过感测节点感测流动电流量的改变并将其锁存为感测数据。读取和写入电路130可以响应于从控制逻辑140输出的页面缓冲器控制信号而操作。

在读取操作期间,读取和写入电路130可以感测存储在存储器单元中的数据data并临时存储读取的数据data,并且然后可以将数据data输出到存储器装置100的输入/输出缓冲器(未示出)。在实施例中,读取和写入电路130可以包括列选择电路等以及页面缓冲器(或页面电阻器)。

控制逻辑140联接到地址解码器120、读取和写入电路130以及电压发生器150。控制逻辑140可以通过存储器装置100的输入/输出缓冲器(未示出)接收命令cmd和控制信号ctrl。控制逻辑140可以响应于控制信号ctrl控制存储器装置100的全部操作。控制逻辑140可以输出用于控制多个页面缓冲器pb1至pbm的感测节点处的预充电电位电平的控制信号。控制逻辑140可以控制读取和写入电路130以执行存储器单元阵列110的读取操作。

电压发生器150可以响应于从控制逻辑140输出的控制信号生成读取操作所需的读取电压vread和通过电压vpass。电压发生器150可以包括用于接收内部供给电压以生成具有各种电压电平的多个电压的多个泵浦电容器(pumpingcapacitors),并且可以通过在控制逻辑140的控制下选择性地启用多个泵浦电容器来生成多个电压。

地址解码器120、读取和写入电路130以及电压发生器150可以用作对存储器单元阵列110执行读取操作、写入操作和擦除操作的外围电路。外围电路可以在控制逻辑140的控制下对存储器单元阵列110执行读取操作、写入操作以及擦除操作。

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

参照图3,存储器单元阵列110包括多个存储块blk1至blkz。每个存储块可以具有二维(2d)或三维(3d)结构。当存储块如图3所示具有3d结构时,每个存储块包括堆叠在衬底上的多个存储器单元。这种存储器单元沿正x(+x)方向、正y(+y)方向和正z(+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中的每一个可以包括沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层。在实施例中,可以为每个单元串设置用于提供沟道层的柱。在实施例中,可以为每个单元串设置用于提供沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层中的至少一个的柱。

每个单元串的源极选择晶体管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。

沿列方向布置的单元串联接到沿列方向延伸的位线。在图4中,第一列中的单元串cs11和cs21联接到第一位线bl1。第m列中的单元串cs1m和cs2m联接到第m位线blm。

沿行方向布置的单元串中联接到相同字线的存储器单元构成单个页面。例如,第一行中的单元串cs11至cs1m之中联接到第一字线wl1的存储器单元构成单个页面。第二行中的单元串cs21至cs2m之中联接到第一字线wl1的存储器单元构成单个附加页面。可以通过选择漏极选择线dsl1和dsl2中的任何一个来选择沿单个行方向布置的单元串。可以通过选择字线wl1至wln中的任何一个来从所选择单元串中选择单个页面。

在实施例中,可以设置偶数位线和奇数位线,而不是第一至第m位线bl1至blm。此外,布置在行方向上的单元串cs11至cs1m或cs21至cs2m之中的偶数编号单元串可以分别联接到偶数位线,并且布置在行方向上的单元串cs11至cs1m或cs21至cs2m之中的奇数编号单元串可以分别联接到奇数位线。

在实施例中,第一至第n存储器单元mc1至mcn中的一个或多个可以用作虚设(dummy)存储器单元。例如,设置一个或多个虚设存储器单元以减小源极选择晶体管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(+z)方向延伸。单元串cs11'至cs1m'和cs21'至cs2m'中的每一个包括至少一个源极选择晶体管sst、第一至第n存储器单元mc1至mcn以及至少一个漏极选择晶体管dst,它们堆叠在存储块blkb下方的衬底(未示出)上。

每个单元串的源极选择晶体管sst连接在公共源极线csl和存储器单元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的电路类似的电路。也就是说,可以从图5的存储块blkb中的每个单元串中去除包括在图4的存储块blka中的管道晶体管pt。

在实施例中,可以设置偶数位线和奇数位线,而不是第一至第m位线bl1至blm。此外,布置在行方向上的单元串cs11'至cs1m'或cs21'至cs2m'之中的偶数编号单元串可以分别联接到偶数位线,并且布置在行方向上的单元串cs11'至cs1m'或cs21'至cs2m'之中的奇数编号单元串可以分别联接到奇数位线。

在实施例中,第一至第n存储器单元mc1至mcn中的一个或多个可以用作虚设存储器单元。例如,设置一个或多个虚设存储器单元以减小源极选择晶体管sst与存储器单元mc1至mcn之间的电场。可选地,设置一个或多个虚设存储器单元以减小漏极选择晶体管dst与存储器单元mc1至mcn之间的电场。随着设置更多的虚设存储器单元,存储块blkb的操作可靠性得到改善,但存储块blkb的大小增加。随着设置更少的存储器单元,存储块blkb的大小减小,但存储块blkb的操作可靠性可能会劣化。

为了有效地控制一个或多个虚设存储器单元,每个虚设存储器单元可以具有所需的阈值电压。在执行存储块blkb的擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。当在已执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到于各个虚设存储器单元联接的虚设字线的电压,因此虚设存储器单元可具有所需的阈值电压。

图6是示出图2的存储器单元阵列110中包括的存储块blk1至blkz之中的任何一个存储块blkc的示例的电路图。

参照图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和存储器单元mc1至mcn之间。

每个单元串中的第一至第n存储器单元mc1至mcn联接在源极选择晶体管sst和漏极选择晶体管dst之间。

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

联接到相同字线的存储器单元可以构成单个页面。可以通过选择漏极选择线dsl来选择单元串cs1至csm。可以通过选择字线wl1至wln中的任何一个来从所选择单元串中选择一个页面。

在其他的实施例中,可以设置偶数位线和奇数位线,而不是第一至第m位线bl1至blm。在单元串cs1至csm之中,偶数编号单元串可以分别联接到偶数位线,并且奇数编号单元串可以分别联接到奇数位线。

如图3至图5中示出的,存储器装置100的存储器单元阵列110可以被实施为具有3d结构的存储器单元阵列。此外,如图6中示出的,存储器装置100的存储器单元阵列110可以被实施为具有2d结构的存储器单元阵列。

图7是示出存储器系统,例如图1的存储器系统1000的详细配置的框图。

参照图7,存储器系统1000包括存储器装置100和存储控制器1100。存储器控制器1100联接到主机(例如,图1中所示的主机2000)和存储器装置100。存储器控制器1100可以响应于来自主机的请求访问存储器装置100。例如,存储器控制器1100可以控制存储器装置100的读取操作、写入操作、擦除操作以及后台操作。存储器控制器1100可以提供存储器装置100和主机之间的接口。

存储器控制器1100包括随机存取存储器(ram)1110、处理器1120、主机接口1130、存储器接口1140以及只读存储器(rom)1150。ram1110可以用作处理器1120的工作存储器、存储器装置100和主机之间的高速缓冲存储器、以及存储器装置100和主机之间的缓冲存储器中的至少一个。处理器1120可以控制存储器控制器1100的全部操作。另外,存储器控制器1100可以在写入操作期间临时存储从主机提供的编程数据。

主机接口1130包括用于执行主机和存储器控制器1100之间的数据交换的协议。通过示例而非限制的方式,存储器控制器1100可以通过诸如下列的各种接口协议中的至少一种与主机通信:通用串行总线(usb)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e或pcie)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机小型接口(scsi)协议、增强型小型磁盘接口(esdi)协议、电子集成驱动器(ide)协议、以及私有协议。

存储器接口1140与存储器装置100接口连接。例如,存储器接口可以包括nand接口或nor接口。

存储器控制器1100可以运行用于控制存储器装置100的固件fw。详细地,当存储器系统1000开启时,存储在rom1150中的rom代码被加载到ram1110中。处理器1120控制存储器装置100,使得通过运行加载到ram1110中的rom代码来读取存储在存储器装置100中的固件数据200(表示为“fw数据”)。

由存储器装置100读取的固件数据200被传输到存储器控制器1100。固件数据200可以包括固件代码。固件代码可以被加载到ram1110中。当固件代码被加载到ram1110中时,处理器1120可以运行被加载的固件代码。当固件代码由处理器1120运行时,存储器系统1000的初始启动完成。

在实施例中,处理器1120可以通过运行rom代码来读取存储在存储器装置100中的引导加载程序(bootloader)代码(未示出)。引导加载程序代码可以与固件数据200分开存储。可以将所读取的引导加载程序代码加载到ram1110中。处理器1120可以控制存储器装置100,使得通过运行被加载的引导加载程序代码来读取存储在存储器装置100中的固件数据200。

根据本公开的实施例,存储器装置100存储包括主机类型信息的固件数据200。同时,存储器控制器1100可以基于主机类型信息运行包括在固件数据中的固件代码。因此,可以降低固件数据的管理成本。

存储器控制器1100和存储器装置100可以集成到单个半导体装置中。在实施例中,存储器控制器1100和存储器装置100可以集成到单个半导体装置中以形成存储卡。通过示例而非限制的方式,存储器控制器1100和存储器装置100可以集成到单个半导体装置中以形成存储卡,诸如个人计算机存储卡国际协会(pcmcia)、紧凑型闪存卡(cf)、智能媒体卡(例如,sm或smc)、记忆棒、多媒体卡(例如mmc、缩小尺寸的多媒体卡(rs-mmc)或微尺寸版mmc(微型mmc))、sd卡(例如sd、迷你sd、微型sd或高容量安全数字(sdhc))、或者通用闪存(ufs)。

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

在其他实施例中,存储器系统1000可以被设置为诸如以下的电子装置的各种元件之一:计算机、超移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、游戏机、导航装置、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境中传送/接收信息的装置、用于形成家庭网络的各种装置之一、用于形成计算机网络的各种电子装置之一、用于形成远程信息处理网络的各种电子装置之一、rfid装置、用于形成计算系统的各种元件之一,等等。

在示例性实施例中,存储器装置100或存储器系统1000可以嵌入在各种类型的封装中。通过示例而非限制的方式,存储器装置100或存储器系统1000可以以诸如下列的类型被封装:堆叠封装(pop)、球栅阵列(bga)、芯片级封装(csp)、塑料引线芯片载体(plcc)、塑料双列直插式封装(pdip)、叠片包装管芯(dieinwafflepack)、晶圆形式管芯(dieinwaferform)、板上芯片(cob)、陶瓷双列直插式封装(cerdip)、塑料公制四方扁平封装(mqfp)、薄型四方扁平封装(tqfp)、小外形集成电路(soic)、收缩型小外形封装(ssop)、薄型小外形封装(tsop)、系统级封装(sip)、多芯片封装(mcp)、晶圆级制造封装(wfp)、晶圆级处理堆叠封装(wsp),等等。

图8a和图8b是示出操作典型存储器系统的方法的框图。

参照图8a,存储器控制器1100与主机a通信。同时,存储器控制器1100必须运行与主机a相对应的固件代码以执行适合于主机a的操作。因此,与主机a相对应的固件数据a210存储在存储器装置100中。固件数据a210可以是与主机a相对应的固件数据。

参照图8b,存储器控制器1100与主机b通信。存储器控制器1100必须运行与主机b相对应的固件代码以执行适合于主机b的操作。因此,与主机b相对应的固件数据b220存储在存储器装置100中。固件数据b220可以是与主机b相对应的固件数据。

如图8a和图8b中示出的,当主机的类型变化时,待由存储器控制器1100运行的固件代码也可以根据变化的主机类型而变化。例如,可以通过固件代码实施根据主机类型具体需要的功能。因此,存储器装置100应存储不同条的固件数据,例如依据与其联接的主机a或主机b,存储固件数据a210和固件数据b220。这意味着必须为各个主机单独准备和管理多条固件数据。此配置增加了固件数据的管理成本。

根据本公开的实施例,无论主机的类型如何,都将通用固件数据存储在存储器装置中,并且基于主机类型信息选择性地运行包括在固件数据中的固件代码。因此,不需要为各个主机单独生成和管理固件数据条,并且可以降低固件数据的管理成本。

图9是示出根据本公开的实施例的应用于存储器系统,例如存储器系统1000的固件数据的示例的示图。

参照图9,固件数据230可以包括通用代码231、第一代码233、第二代码235以及主机类型信息237。通用代码231可以是不管主机类型如何都共同运行的固件代码。第一代码233可以是当存储器控制器1100联接到主机a时运行的固件代码。同时,第二代码235可以是当存储器控制器1100联接到主机b时运行的固件代码。也就是说,通用代码231、第一代码233以及第二代码235可以形成包括在固件数据230中的固件代码。固件数据230可以包括固件代码231至235以及主机类型信息237。

主机类型信息237可以是指示将与存储器控制器1100联接的主机的类型的信息。例如,主机类型信息237可以是预定的。主机的类型可以根据将应用存储器系统1000的数据处理系统而变化。数据处理系统包括各种类型的主机以及存储器系统1000。例如,当存储器系统1000安装在包括主机a的数据处理系统上时,指示主机a的一条信息可以包含在主机类型信息237中。在实施例中,当存储器系统1000安装在包括主机b的数据处理系统上时,指示主机b的一条信息可以包含在主机类型信息237中。对存储器系统1000的需求可以根据数据处理系统而变化,因此由存储器控制器1100运行的固件代码也可以变化。

因此,即使主机改变,存储在存储器系统1000的存储器装置中的固件数据230也包括相同的固件代码231、233和235,但是依据主机的类型固件数据230包括不同条的主机类型信息237。所以,仅主机类型信息237是变化的,并且因此在存储器控制器1100上运行的固件代码也可以是变化的。因此,可以降低固件代码或固件数据的管理成本。

图10a和图10b是示出根据本公开的实施例的存储器系统,例如图1的存储器系统1000和操作存储器控制器,例如图1的存储器控制器1100的方法的示图。

参照图10a和图10b,存储器系统1000包括存储器控制器1100和存储器装置100。存储器装置100存储固件数据230。固件数据230可以是图9中示出的固件数据230。为了便于说明,仅示出了固件数据230的各种组件(例如,通用代码231、第一代码233、第二代码235)之中的主机类型信息237。

参照图10a,存储器系统1000联接到主机a。这意味着存储器系统1000安装在包括主机a的数据处理系统上。因此,固件数据230的主机类型信息237可以指示主机a。

当启动存储器系统1000时,存储控制器1100从存储器装置100接收固件数据230。同时,存储器控制器1100从包括在所接收的固件数据230中的主机类型信息237中识别主机a。因此,存储器控制器1100可以运行在固件数据230中包括的固件代码之中与主机a相对应的固件代码。例如,存储器控制器1100可以运行图9中示出的通用代码231和第一代码233。在这种情况下,第二代码235不由图10a中示出的存储器控制器1100运行,第二代码235是与主机b相对应的固件代码。也就是说,在图9的固件数据230中,通用代码231和第一代码233可以是由联接到主机a的存储器控制器1100运行的固件代码。

同时,参照图10b,存储器系统1000联接到主机b。这意味着存储器系统1000安装在包括主机b的数据处理系统上。因此,固件数据230的主机类型信息237可以指示主机b。

当启动存储器系统1000时,存储控制器1100从存储器装置100接收固件数据230。同时,存储器控制器1100从包括在所接收的固件数据230中的主机类型信息237中识别主机b。因此,存储器控制器1100可以运行在固件数据230中包括的固件代码之中与主机b相对应的固件代码。例如,存储器控制器1100可以运行图9中示出的通用代码231和第二代码235。在这种情况下,第一代码233不由图10b中示出的存储器控制器1100运行,第一代码233是与主机a相对应的固件代码。也就是说,在图9的固件数据230中,通用代码231和第二代码235可以是由联接到主机b的存储器控制器1100运行的固件代码。

图11是示出根据本公开的实施例的应用于存储器系统,例如图1的存储器系统1000的固件数据的示例的示图

参照图11,示出了包括分别对应于n个主机类型的固件代码的固件数据250。也就是说,固件数据250可以包括通用代码251,第一至第n代码253、255、......、257,以及主机类型信息259。通用代码251可以是可由联接到n种类型的主机的存储器控制器共同运行的固件代码。当数据处理系统包括一个或多个存储器控制器、n个不同的主机以及存储器装置时,存储器装置可以存储固件数据250。第一至第n代码253、255、......、257可以是可由存储器控制器针对主机选择性地运行的固件代码。当比较图9和图11中描述的实施例时,可以看出图9的固件数据230包括与两种类型的主机,即主机a和主机b相对应的固件代码,而图11的固件数据250包括与n种类型的主机相对应的固件代码。

图12是描述根据本公开的实施例的操作存储器控制器,例如存储器控制器1100的方法的流程图。

将参照图9、图10a以及图10b描述根据如图12示出的本公开的实施例的操作存储器控制器1100的方法。首先在步骤s110中,存储器控制器1100从存储器装置100接收固件数据230。然后在步骤s130中,存储器控制器1100从包括在固件数据230中的主机类型信息237中识别联接到存储器控制器1100的主机的类型。在步骤s150中,存储器控制器1100基于所识别的主机类型选择性地运行包括在固件数据230中的,例如在第一代码233或第二代码235之间的至少一个代码。

首先,当启动存储器系统1000时,执行图12的步骤s110。如上所述,当启动存储器系统1000时,存储在图7的rom1150中的rom代码由处理器1120运行,因此存储在存储器装置100中的固件数据230被读取并传输到存储器控制器1100。

在步骤s130中,存储器控制器1100从包括在所接收的固件数据230中的主机类型信息237中识别联接到存储器控制器1100的主机的类型。因此,可以确定存储器控制器1100是联接到主机a还是主机b。

在步骤s150中,存储器控制器1100可以基于所识别的主机类型,即主机是主机a还是主机b,选择性地运行图9的第一代码233和第二代码235中的任何一个。同时,无论主机类型信息237如何,存储器控制器1100都可以运行图9的通用代码231。因此,当主机类型信息237指示主机a时,存储器控制器1100在步骤s150中运行通用代码231和第一代码233。相反,当主机类型信息237指示主机b时,存储器控制器1100在步骤s150中运行通用代码231和第二代码235。

图13是示出根据本公开的实施例的应用于存储器系统,例如图1的存储器系统1000的固件数据的示例的示图。

参照图13,示出了包括分别对应于n个主机类型的固件代码的固件数据270。也就是说,固件数据270可以包括通用代码271以及第一至第n代码273、275、......、277。与图9和图11中分别示出的固件数据230和250不同,图13中示出的固件数据270不包括主机类型信息。也就是说,主机类型信息可以从存储器系统1000的外部传输并且可以不存储在存储器装置100中。

图14a和图14b是示出根据本公开的实施例的存储器系统,例如图1的存储器系统1000和操作存储器控制器,例如图1的存储器控制器1100的方法的示图。

参照图14a和图14b,存储器系统1000包括存储器控制器1100和存储器装置100。存储器装置100存储固件数据270。固件数据270可以是图13中示出的固件数据270。如上参照图13所述,固件数据270不包括主机类型信息。

参照图14a,存储器系统1000联接到主机a。同时,当启动存储器系统1000时,存储器系统1000可以与主机a通信。在该步骤中,主机a可以将主机类型信息301传输到存储器控制器1100。主机类型信息301可以包含指示主机a联接到存储器控制器1100的信息。

存储器控制器1100可以从存储器装置100接收固件数据270。同时,存储器控制器1100可以基于从主机a接收的主机类型信息301,运行在固件数据270中包括的固件代码之中与主机a相对应的固件代码。例如,存储器控制器1100可以运行图13中示出的通用代码271和第一代码273。在这种情况下,第二至第n代码275至277不由图14a中示出的存储器控制器1100运行。也就是说,在图13中示出的固件数据270中,通用代码271和第一代码273可以是由联接到主机a的存储器控制器1100运行的固件代码。

参照图14b,存储器系统1000联接到主机b。同时,当启动存储器系统1000时,存储器系统1000可以与主机b通信。在该步骤中,主机b可以将主机类型信息303传输到存储器控制器1100。主机类型信息303可以包含指示主机b联接到存储器控制器1100的信息。

存储器控制器1100可以从存储器装置100接收固件数据270。同时,存储器控制器1100可以基于从主机b接收的主机类型信息303,运行在固件数据270中包括的固件代码之中与主机b相对应的固件代码。例如,存储器控制器1100可以运行图13中示出的通用代码271和第二代码275。在这种情况下,除了第二代码275之外的第一至第n代码273至277不由图14b中示出的存储器控制器1100运行。也就是说,在图13中示出的固件数据270中,通用代码271和第二代码275可以是由联接到主机b的存储器控制器1100运行的固件代码。

图15是描述根据本公开的实施例的操作存储器控制器,例如图1的存储器控制器1100的方法的流程图。

将参照图13、图14a和图14b描述如图15中描述的根据本公开的实施例的操作存储器控制器1100的方法。在步骤s210中,存储器控制器1100从主机接收主机类型信息301或303,并从主机类型信息301或303识别联接到存储器控制器1100的主机的类型。然后在步骤s230中,存储器控制器1100从存储器装置100接收固件数据270。在步骤s250中,存储器控制器1100基于所识别的主机类型选择性地运行包括在固件数据270中的至少一个代码(例如,第一代码273至第n代码277之中的代码中的至少一个)。

首先,当启动存储器系统1000时,执行图15的步骤s210。如上所述,当启动存储器系统1000时,可以从主机接收主机类型信息301或303。所接收的主机类型信息301或303可以临时存储在存储器控制器1100中。因此,存储器控制器1100从主机类型信息301或303识别联接到存储器控制器1100的主机的类型。因此,可以确定存储器控制器1100是联接到主机a还是主机b。

同时,在步骤s230中,可以读取存储在存储器装置100中的固件数据270并将其传输到存储器控制器1100。在步骤s230中接收的固件数据270可以不包括主机类型信息。

在步骤s250中,存储器控制器1100可以基于所识别的主机类型选择性地运行图13的第一至第n代码273至277中的任何一个。同时,存储器控制器1100可以运行图13的通用代码271,而不考虑所接收的主机类型信息301或303。因此,当主机类型信息301指示主机a时,存储器控制器1100在步骤s250中运行通用代码271和第一代码273。相反,当主机类型信息303指示主机b时,存储器控制器1100在步骤s250中运行通用代码271和第二代码275。

如上所述,根据本公开的实施例,存储器装置100可以存储多条固件数据230、250或270,其包括相同的固件代码,而不考虑主机的类型。同时,存储器控制器1100基于主机类型信息237、259、301或303运行固件代码之中与主机类型相对应的代码。同时,不管主机类型信息如何,存储器控制器1100运行固件代码之中的通用代码231、251或271。根据实施例,主机类型信息可以包括在固件数据230或250中,或者可以从主机接收。因此,不需要为各个主机单独生成和管理多条固件数据,并且可以降低固件数据的管理成本。

图16是示出包括图7的存储器控制器的存储器系统的实施例的示图。

参照图16,存储器系统30000可以被实施为蜂窝电话、智能电话、平板pc、个人数字助理(pda)或无线通信装置。

存储器系统30000可以包括存储器装置100和能够控制存储器装置100的操作的存储器控制器1100。存储器控制器1100可以在主机2000的控制下,控制存储器装置100的数据访问操作,例如编程操作、擦除操作或读取操作。

编程到存储器装置100的数据可以在存储器控制器1100的控制下经由显示器3200输出。

无线电收发器3300可以通过天线ant交换无线电信号。例如,无线电收发器3300可以将通过天线ant接收的无线电信号转换为可以由主机2000处理的信号。因此,主机2000可以处理从无线电收发器3300输出的信号,并且可以将经处理的信号传送到存储器控制器1100或显示器3200。存储器控制器1100可以将由主机2000处理的信号传送到存储器装置100。此外,无线电收发器3300可以将从主机2000输出的信号转换为无线电信号,并且通过天线ant将所转换的无线电信号输出到外部装置。输入装置3400可用来输入用于控制主机2000的操作的控制信号或者待由主机2000处理的数据。输入装置3400可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或者键盘。主机2000可以控制显示器3200的操作,使得来自存储器控制器1100的数据、来自无线电收发器3300的数据或来自输入装置3400的数据经由显示器3200输出。

图17是示出包括图7的存储器装置的存储器系统的实施例的示图。

参照图17,存储器系统40000可以实现在个人计算机(pc)、平板pc、上网本、电子阅读器、个人数字助理(pda)、便携式多媒体播放器(pmp)、mp3播放器或mp4播放器中。

存储器系统40000可以包括存储器装置100和能够控制存储器装置100的数据处理操作的存储器控制器1100。

此外,主机2000可以根据通过输入装置4200输入的数据,经由显示器4300输出存储在存储器装置100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或者键盘。

主机2000可以控制存储器系统40000的全部操作,并且可以控制存储器控制器1100的操作。

图18是示出包括图7的存储器装置的存储器系统的实施例的示图。

参照图18,存储器系统50000可以实现在图像处理装置中,例如数码相机、设置有数码相机的移动电话、设置有数码相机的智能电话、或设置有数码相机的平板pc。

存储器系统50000可以包括存储器装置100和存储器控制器1100,存储器控制器1100能够控制存储器装置100的数据处理操作,例如编程操作、擦除操作或读取操作。

存储器系统50000的图像传感器5200可以将光学图像转换为数字信号,并且可以将所转换的数字信号传送到主机2000。在主机2000的控制下,所转换的数字信号可以经由显示器5300输出或者通过存储器控制器1100存储在存储器装置100中。此外,存储在存储器装置100中的数据可以在主机2000的控制下经由显示器5300输出。

图19是示出包括图7的存储器装置的存储器系统的实施例的示图。

参照图19,存储器系统可以包括存储卡70000。

存储卡70000可以被实施为智能卡。存储卡70000可以包括存储器装置100、存储器控制器1100、以及卡接口7100。

存储器控制器1100可以控制存储器装置100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是安全数字(sd)卡接口或多媒体卡(mmc)接口,但不限于此。此外,卡接口7100可以根据主机2000的协议来接口连接主机2000和存储器控制器1100之间的数据交换。在实施例中,卡接口7100可以支持通用串行总线(usb)协议和芯片间(ic)-usb协议。这里,卡接口7100可以指能够支持由主机2000使用的协议的硬件、安装在硬件中的软件、或由硬件执行的信号传送方法。

根据本公开的实施例,可以提供一种能够降低固件数据的管理成本的存储器系统。

根据本公开的实施例,可以提供一种能够降低固件数据的管理成本的操作存储器控制器的方法。

虽然出于说明性目的已经公开了本公开的示例性实施例,但是本领域技术人员将理解各种修改、添加以及替换是可能的。因此,本公开的范围必须由所附权利要求和权利要求的等同方案限定,而不是由前面的描述限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1