专利名称:具有本地执行功能和存储功能的大容量存储设备的制作方法
技术领域:
本发明涉及一种用于具有本地执行功能和存储功能的移动电话的大 容量存储设备,尤其涉及一种用于具有本地执行功能和存储功能的移动 电话的大容量存储设备,其中NAND闪存被划分为用于执行程序代码的 本地执行(execute-in-place, XIP)区域和用于存储大容量数据的存储区 域,并实现了用于直接仲裁和控制本地执行功能和存储控制功能的控制 器,从而能够在一个NAND闪存中实现NOR闪存和NAND闪存中每一 种功能。
背景技术:
通常,闪存是一种非易失性存储器,例如ROM (Read only memory),
其中在没有供电的情况下也能保存记录一次的内容并提供写入功能。闪 存分为NOR闪存和NAND闪存,其中NOR闪存具有在位线和地线之间 并行布置的基本单元,而NAND闪存具有串行布置的基本单元。
NOR闪存通过与基本单元顺序无关地读写任意地址的随机存取方 式在bite单元中访问。但是,由于每个基本单元需要接触电极,因此与 NAND闪存相比具有基本单元区域很大的缺陷。
在NAND闪存中,选择相应的块,然后,读取相互串联连接的每一 个基本单元。因此,在块单元中可以访问NAND闪存。
这里,在NAND闪存中,"块"表示通过一次删除操作能够删除的 单元,"页"表示能够在读/写操作过程中能够读或写的数据大小。
4同NOR闪存相比,NAND闪存具有快速、低价和大容量的优点,由 此可以作为大容量存储设备广泛应用。但是,其不可能在bite单元中访 问,并且无法提供能够直接执行所记录数据而不用将其移动到主存储器 的本地执行功能。
因此,NAND闪存用作辅助数据存储设备,而将用于系统引导的引 导代码存储在具有本地执行功能的NOR闪存中。
图1是表示用于移动电话的常规大容量存储设备的框图。
在图1中所示,如上所述,NAND闪存200用作辅助数据存储设备, 而将在CPU100 (Central Processing Unit)中用于系统引导的引导代码和 用于控制作为存储设备的NAND闪存的软件存储在NOR闪存中。
DRAM400是用于该程序和系统操作中的主存储器。这里,将用于 控制NAND闪存的程序移到DRAM400中执行。
但是,传统大容量存储设备存在的缺陷为为了存储程序而需要价 格高、容量低的一个单独的NOR闪存。
为了解决该问题,申请号为10 — 2001 — 54988的韩国专利公开了将 例如引导代码等程序代码存入NAND闪存中,然后程序执行过程中将相 应程序代码复制到主存储器中并在bite单元中读出,由此执行该程序。
但是,在上述技术中,由于在系统引导过程中为了执行该引导代码 需要将引导代码移到主存储器中,因此存在执行时间延迟的问题。同时, 由于引导代码被移到主存储器中,减少了主存储器的可使用存储空间。
为了解决该问题,韩国专利号10 — 493884公开了具有预定存储容量 的串行闪存控制器设备,该设备可以访问到串行闪存以读取属于必要数 据的整页,以便将所需数据传输到主控制器或者执行该所需数据以支持 在串行闪存中的本地执行功能。
在该韩国专利中,由于NAND闪存能够用作NOR闪存,因此在降 低成本和提高执行速度方面具有很大优点。但是,仍然存在需要分别制造用于存储程序代码的存储器和用于存储大容量数据的存储器的问题。
因此,急需一种能够在一个存储器中存储程序代码和大容量数据的 大容量存储设备。
发明内容
技术问题
因此本发明用以解决现有技术中存在的上述问题,本发明的目的在 于提供一种用于具有本地执行功能和存储功能的移动电话的大容量存储
设备,其中将NAND闪存划分成用于执行程序代码的本地执行区域和用 于存储大容量数据的存储区域,并实现了用于直接仲裁和控制本地执行 功能和存储控制功能的控制器,由此能够在一个NAND闪存中实现NOR 闪存和NAND闪存的这两种功能。 技术方案
为了实现该目的,本发明提供一种具有本地执行功能和存储功能的 大容量存储设备,其包括
NAND闪存,其划分为存储程序代码的本地执行(execute-in-place, XIP)区域和存储大容量数据的存储区域;和
控制器,其用于控制本地执行区域,使得在来自主机的随机存取请 求下主机可以通过NOR接口端口访问本地执行区域,并执行存储接口功 能,使得在来自主机的块单元存取请求下主机可以通过存储接口访问在 块单元中的存储区域。
优选地,该控制器包括
本地执行存储控制器,其通过NOR接口连接到主驱动器,用于控制 本地执行区域,使得在来自主机的随机存取请求下使主机能够访问本地 执行区域;
高速缓冲存储器,其用于暂时存储从主机和本地执行区域接收的数据;
存储控制器,其通过存储接口连接到主机执行存储接口功能,使得 在来自主机的块单元随机存取请求下主机可以访问块单元中的存储区 域;
磁盘缓冲器,其用于暂时存储从主机和存储区域接收的数据;
系统控制器,其用于根据从主机请求的数据存取方式选择性地驱动 本地执行存储控制器和存储控制器,并控制整个电路操作;以及
NAND控制器,其插在系统控制器和NAND闪存之间,根据NAND 接口方式控制NAND闪存。
优选地,该本地执行存储器控制器包括
NOR主驱动器,其用于支持在NOR闪存接口的请求下的任何操作, 为了实现本地执行更新存储管理器列表;和
本地执行管理器,其用于将主机请求的存取地址转换为物理地址, 并在坏块上执行存储管理操作;
该存储控制器包括
存储主驱动器,其用于管理与存储相关的协议并将与存储相关的信 息转换成适于NAND闪存的任何数据形式,以及
存储管理器,其用于将主机请求的存取地址转换成逻辑单元号 (Logical Unit Number, LUN),并在坏块上执行存储管理操作;
系统控制器,其用于将从本地执行存储控制器接收的物理地址以及 从存储控制器接收的逻辑单元号转换成要发送到NAND控制器的块页地址。
优选地,该NAND控制器包括闪存转换层,其用于将请求的物理 地址和逻辑单元号转换成I/O命令和块地址,并管理和控制NAND闪存 物理状态。
优选地,在NOR接口和存储接口中,地址端口的分线、数据线、输出驱动线和写驱动线可以共用。
优选地,该NOR接口和存储接口进一步包括等待信号线,其用于
解决主机数据读取时间和NAND闪存块单元中数据存取时间之间的差。
有益效果
因此,将NAND闪存划分成用于执行程序代码的本地执行区域和用 于存储大容量数据的存储区域,并实现了用于直接仲裁和控制本地执行 功能和存储控制功能的控制器,由此能够在一个NAND闪存中实现NOR 闪存和NAND闪存中的每一种功能。
通过在下文中结合附图的具体描述,本发明的上述以及其它目的、
特征和优点将更清楚,其中
图1是表示用于移动电话的常规大容量存储设备的框图2是表示根据本发明一实施例的用于移动电话的大容量存储设备
的框图3是表示根据本发明另一实施例的用于移动电话的大容量存储设 备的框图4是表示本发明接口结构的框图5是从CPU的角度表示本发明用于移动电话的大容量存储设备结 构的原理图6是表示根据本发明控制器的示意性结构的分层视图; 图7是表示图6的控制器的具体结构的框图;和 图8是表示根据本发明控制的信号的波形图。
具体实施例方式
下面将参照附图具体介绍本发明的优选实施例。图2是表示根据本发明一实施例的用于移动电话的大容量存储设备 的框图。
如图2所示,本发明一实施例的用于移动电话的大容量存储设备包
括CPUIO、 NAND闪存30、插入CPU 10和NAND闪存30之间的控制 器20,以及作为主存储器直接连到CPU 10的DRAM35(Dynamic Random Access Memory )。
本发明的NAND闪存30划分为用于存储例如引导代码等程序代码 的本地执行区域31和用于存储大容量数据的存储区域33。这里,可以根 据条件或其目的改变本地执行区域31和存储区域33的划分比率。
控制器20用于控制本地执行区域31,使得在来自CPU10的随机存 取请求下使CPU 10访问本地执行区域31。同样,该控制器还以如下方 式执行存储接口功能,使得在来自CPU 10的块单元随机存取请求下使 CPU 10访问存储区域33。其具体结构将在下面图6和图7中说明进行介 绍。
以多片封装形式将控制器20和NAND闪存30安装在一个半导体封 装中。在该大容量存储设备中,由于不需要单独的主驱动器控制NAND 闪存30,因此可以对用户的使用提供便利。
图3是表示根据本发明另一实施例的用于移动电话的大容量存储设 备的框图。
如图3所示,NAND闪存30和DRAM35通过控制器20连接到CPU10 (主机)上。在这种大容量存储设备的结构中,同样以多片封装的形式 将控制器20和NAND闪存30安装在一个半导体封装中。此外,因为不 需要单独的主驱动器控制NAND闪存30,由此可以对用户的使用提供便利。
图4是表示本发明接口结构框图。
如图4所示,根据本发明的控制器20包括用于和CPU IO连接的NOR接口 40、存储接口 50、以及用于和NAND闪存30连接的NAND接口 60。
该NOR接口 40包括作为访问程序代码接口的执行本地执行功能的 片选端口 (CS—XIP),输出控制端口 (OE),用于在NAND闪存30中记 录数据的写控制端口 (WE),用于输入读入或记录地址数据的地址端口 (ADDR),用于输入和输出读出或记录数据的数据端口 (DQ),以及用 于为了解决在CPU 10的数据读取时间和NAND闪存30中块单元的数据 存取时间之间差别而向CPU 10发送等待信号的等待端口 (WAIT)。
该存储接口 50包括用于通过CPU IO执行存储接口控制功能的片选 端口 (CS—IDE),用于执行DMA (Direct Memory Access)功能的DMA 请求端口 (DREQ),以及DMA确认端口 (DACK)等。
在该存储接口 50中,可以使用不同配置的大容量存储接口,例如 IDE/ATA、硬盘方式、SD (Security Digital)卡接口、多媒体卡(MMC) 接口、存储条接口等。
在本发明的实施例中,采用IDE/ATA协议。IDE/ATA协议包括用作 硬件接口标准的IDE (intelligent drive electronics)和用作协议标准的ATA (advanced technology attachment)。
在存储接口50中,输出控制端口 (OE)、等待控制端口 (WE)、地 址端口分线(ADDR)、数据端口 (DQ)和等待端口 (WAIT)在NOR 接口端口中可以共用,由此可以减少连接端口的数量并且能够提高运行 效率。
对于地址端口 ,提供本地执行功能的NOR接口 40具有26条地址线, 而使用IDE/ATA接口的存储接口 50仅将地址线中的3条线(0至2)用 于寻址轨道和扇区。
NAND接口 60包括作为NAND闪存存取接口的片选端口 ( CE), 用于输入和输出地址、数据和命令的输入/输出端口 (1/0 0-7),用于锁定通过输入/输出端口输入的命令的命令锁定驱动端口 (CLE),用于锁定通 过输入/输出端口 (I/O0-7)输入的地址的地址锁定驱动端口 (ALE),用 于将通过输入/输出端口 (I/O 0-7)输入的数据记录到NAND闪存30中 的写驱动端口 (WE),用于传输通过输入/输出端口 (I/O 0-7)输出的数 据的读驱动端口 (RE),以及用于显示当前NADN闪存30的准备状态的 可用和占用端口 (R/B)。
图5是从CPU的角度表示本发明用于移动电话的大容量存储设备结 构的原理图。
如图5所示,其中CPU 10连接到根据本发明的用于移动电话的大 容量存储设备,由于CPU IO是分别通过NOR接口和存储接口连接到本 地执行区域31和存储区域33,所以CUP 10将该大容量存储器识别为两 个设备,即一个用于本地执行的闪存和一个用于硬盘。
换句话说,CPU 10将本地执行区域31和存储区域33识别为相互间 物理上完全独立。因此,本发明的特征在于不同的两个闪存(NOR闪存 和NAND闪存)视为存在于使用一个NAND闪存的存储设备中。
图6是表示根据本发明控制器的示意性结构的分层视图,而图7是 表示图6的控制器的具体结构的框图。
如图所示,根据本发明的控制器20包括内部时钟产生部分21,本 地执行存储控制器22,高速缓冲存储器23,系统控制器24,存储控制器 25,硬盘缓冲器26, NAND控制器27和闪存管理器28。
本地执行存储控制器22,通过NOR接口 40连接到CPU 10上,用 于控制本地执行区域31使得CPU 10在CPU IO的随机存取请求下访问 本地执行区域31。
本地执行存储控制器22由片选信号(nCS一XIP)驱动。同时,本地 执行存储控制器22还用作将通过地址端口 (ADDR)输入的地址数据转 换为物理地址并将其发送到系统控制器24。如图6所示,在本地执行存储控制器22中,本地执行的本地执行主驱动器70和本地执行管理器75 用于控制软件程序或与芯片的硬连接安装。本地执行主驱动器70用于在 NOR闪存接口的请求下支持任一操作(读、写、删除等)。同时,本地 执行(NOR)主驱动器70还是产生和控制用于本地执行的存储管理器列 表的任一程序。本地执行管理器75用于将请求地址转换成物理地址,在 产生坏块时控制本地执行存储控制器22的操作,并根据NAND闪存的 种类执行控制和管理操作。此外,本地执行管理器75用于通过与存储管 理器85的信息交换来执行对优先顺序的确定功能。
在本地执行存储管理器22中,把从NAND闪存30的本地执行区 域31中读出的块单元数据传输到高速缓冲存储器23中并仅将从高速缓 冲存储器23中读出的执行程序代码传输到作为主存储器的DRAM35中。 同时,在本地执行存储管理器22中,将从NAND闪存30的本地执行区 域31中读出的数据以及存储在高速缓冲存储器23中的数据和其存储信 息记录在特定位置,并在相同数据的请求下将存储在高速缓冲存储器23 中的数据传输到DRAM35中,由此縮短了数据存取时间。
存储控制器25通过存储接口 50连接到CPU 10并执行存储接口功 能,使得在来自CPU10的块单元存取请求下使CPU10访问该块单元中 的存储区域33。该存储控制器25由片选信号(ncs—IDE)驱动。同时, 该存储控制器25用于将通过地址线中的三条线输入的地址数据转换成逻 辑单元号并将其传输到系统控制器24。
如图6所示,在存储控制器25中,通过软件或与芯片硬连接安装用 于存储接口的存储主驱动器80和存储管理器85。存储主驱动器80是用 于支持和解释与存储相关的协议并将与中断管理和存储相关的信息转换 成任何适于NAND闪存形式任一数据的任一程序。该存储管理器85用 于将请求地址转换为逻辑单元号并执行在坏块上管理操作,用于电源紧 急中断的数据保护,以及根据NAND闪存的种类控制和管理操作等。此外,该存储管理器85还用于通过与本地执行管理器75的信息交换而执
行对优先顺序的确定功能。
在存储控制器25中,将从NAND闪存30的存储区域33中读出的 块单元数据暂时存储在磁盘缓冲器26中,然后传输给CPU 10。
系统控制器24用于根据来自CPU 10请求的数据存取方式选择性地 驱动本地执行存储控制器22和存储控制器25,并控制整个电路操作。同 时,系统控制器24还用于将从本地执行存储控制器接收的物理地址和从 存储控制器25接收的逻辑单元号转换成将要传输到NAND控制器27的 能够在NAND控制器27中处理的块页地址,由此可以同时在两个接口, 即NOR接口和存储接口中使用该NAND闪存33 。
与此同时,系统控制器24用于将控制信号发送到多路输出选择器以 选择性地输出必要的数据,其中将高速缓冲存储器23和缓冲器26的数 据线输入到该多路输出选择器中。例如,当系统控制器24的控制信号为 "0"时,选择输出高速缓冲存储器23的数据。同样,在系统控制器24 的控制信号为"1"时,选择输出磁盘缓冲器26的数据。
同时,系统控制器24还通过输出等待信号(nWAIT)控制定时。这 将在图8的解释中进行说明。
NAND控制器27插入系统控制器24和NAND闪存30之间,其用 于根据NAND接口方法控制NAND闪存30。 g卩,NAND控制器27在从 系统控制器24接收的块页地址的基础上用于读出和记录来自NAND闪 存30的数据。
如图6所示,在NAND控制器27中,用于管理和控制NAND闪存 30的闪存转换层90 (Flash Translation Layer, FTL)通过软件程序或硬连
接安装。
闪存转换层90用于将所请求的物理地址和逻辑单元号转换成I/O命 令和块地址,并保存和管理坏块上的信息。同时,闪存转换层90还用于在NAND闪存的读取、编程和删除过程中分配其操作,并控制NAND闪 存的物理状态,由此保护用户数据而免受坏块的侵害。 图8是表示根据本发明控制的信号的波形图。
在普通NAND闪存30中,执行块单元的数据读取。其中,由于CPU 10的编码单元很小,因此在它们之间产生时间差。为了解决这种时间差, 提供了等待信号(图8的标号"WAIT")。因此,当在CPU10的命令代 码执行过程中没有等待时间的情况下执行代码读取时,通过从存储设备 产生的等待信号导致CPU 10的代码执行等待。这里,当用于执行该代码 的CPU 10的内存条无法接收该等待信号时,可以将该等待信号用作CPU 10中的特殊处理信号。
正如在上文中可以看到的,在用于具有本地执行功能和存储功能的 移动电话的大容量存储设备中,NAND闪存被划分成用于执行程序代码 的本地执行区域和用于存储大容量数据的存储区域,并且实现了用于直 接仲裁和控制该本地执行功能和存储控制功能的控制器,由此可以在一 个NAND闪存中实现NOR闪存和NAND闪存中每 一 种功能。
尽管己经连同当前被视为最实用和优选的实施例对本发明进行了介 绍,但是应当理解本发明并不限于所述的实施例和附图,恰恰相反,各 种修改和变化希望覆盖在所附权利要求书的精神和范围内。
工业实用性
NAND闪存被划分成用于执行程序代码的本地执行区域和用于存储 大容量数据的存储区域,并且实现了用于直接仲裁和控制该本地执行功 能和存储控制功能的控制器,由此可以在一个NAND闪存中实现NOR 闪存和NAND闪存中每一种功能。
权利要求
1.一种具有本地执行功能和存储功能的大容量存储设备,其特征在于,包括NAND闪存,其分为用于存储程序代码的本地执行区域和用于存储大容量数据的存储区域;和控制器,其用于控制本地执行区域使得在来自主机的随机存取请求下使主机通过NOR接口访问本地执行区域,并执行存储接口功能使得在来自主机的块单元存取请求下使主机通过存储接口访问在块单元中的存储区域。
2. 如权利要求1所述的具有本地执行功能和存储功能的大容量存储 设备,其特征在于,所述控制器包括本地执行存储控制器,其通过NOR接口连接到主机上,用于控制本 地执行区域,使得在来自主机的随机存取请求下使主机访问本地执行区 域;高速缓冲存储器,其用于暂时存储从主机和本地执行区域所接收的 数据;存储控制器,其通过存储接口连接到主机,用于执行存储接口功能, 使得在来自主机的块单元随机存取请求下使主机访问块单元中的存储区 域;磁盘缓冲器,其用于暂时存储从主机和存储区域接收到的数据; 系统控制器,其用于根据主机请求的数据存取方式选择性地驱动本地执行存储控制器和存储控制器,并控制整个电路操作;和NAND控制器,其插入系统控制器和NAND闪存之间,用于根据NAND接口方式控制NAND闪存。
3. 如权利要求2所述的具有本地执行功能和存储功能的大容量存储 设备,其特征在于,所述本地执行存储控制器包括NOR主驱动器,其用于支持在NOR闪存接口的请求下的任何操作, 为本地执行产生、更新存储管理器列表;及本地执行管理器,用于将主机请求的存取地址转换为物理地址,在 坏块上执行存储管理操作;所述存储控制器包括存储主驱动器,用于管理与存储相关的协议并将与存储相关的信息转换成适于NAND闪存的任何数据形式;以及存储管理器,用于将主机请求的存取地址转换为逻辑单元号,并在坏块上执行存储管理操作;系统控制器,用于将从本地执行存储控制器接收的物理地址以及从 存储控制器接收的逻辑单元号转换成要发送到NAND控制器的块页地址。
4. 如权利要求2所述的具有本地执行功能和存储功能的大容量存储 设备,其特征在于,所述NAND控制器包括闪存转换层,用于将请求的 物理地址和逻辑单元号转换成输入输出命令和块地址,并管理和控制 NAND闪存物理状态。
5. 如权利要求2所述的具有本地执行功能和存储功能的大容量存储 设备,其特征在于,在所述NOR接口和存储接口中,地址端口的分线、 数据线、输出驱动线和写驱动线可以共用。
6. 如权利要求2所述的具有本地执行功能和存储功能的大容量存储 设备,其特征在于,所述NOR接口和存储接口进一歩包括等待信号线, 其用于解决主机数据读取时间和NAND闪存块单元中数据存取时间差。
全文摘要
本发明涉及一种用于具有本地执行功能和存储功能的移动电话的大容量存储设备。这种具有本地执行本地执行功能和存储功能的大容量存储设备包括划分为用于存储程序代码的本地执行区域和用于存储大容量数据的存储区域的NAND闪存;和控制器,用于控制本地执行区域,使得在来自主机的随机存取请求下,主机可以通过NOR接口访问本地执行区域,并执行存储接口功能,使得在来自主机的块单元存取请求下,主机可以通过存储接口访问在块单元中的存储区域。
文档编号G06F13/14GK101297276SQ200680039965
公开日2008年10月29日 申请日期2006年8月17日 优先权日2005年10月27日
发明者徐芸植 申请人:爱存株式会社