Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TIMING SEQUENCE CONTROL METHOD AND NAND FLASH CONTROLLER
Document Type and Number:
WIPO Patent Application WO/2014/026572
Kind Code:
A1
Abstract:
Disclosed are a timing sequence control method and a NAND FLASH controller, which relate to the field of memory control. The NAND FLASH controller comprises at least one state machine, the state machine including at least one operation module and at least one timing sequence control module, and the timing sequence control module being connected to the startup end or the termination end of the operation module. The timing sequence control module is used for setting a time delay duration and completing waiting; and the operation module operates according to a corresponding instruction transmitted from the state machine. The present application is used for satisfying the timing sequence requirements of different NAND FLASHs, and increases the read/write speed of the NAND FLASHs.

Inventors:
RUAN HANG (CN)
PANG CHENGZHANG (CN)
ZHAO TIANLIANG (CN)
TANG JIE (CN)
Application Number:
PCT/CN2013/081237
Publication Date:
February 20, 2014
Filing Date:
August 09, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ACTIONS SEMICONDUCTOR CO LTD (CN)
International Classes:
G06F13/16
Foreign References:
CN101694644A2010-04-14
CN101719098A2010-06-02
CN102122271A2011-07-13
CN1667956A2005-09-14
Attorney, Agent or Firm:
TDIP & PARTNERS (CN)
北京同达信恒知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种时序控制方法, 其特征在于, 所述方法包括以下步骤:

设置执行操作之前需要等待的延时时长;

根据设置的延时时长进行等待;

在等待结束之后, 触发进行相应的操作。

2、根据权利要求 1所述的方法, 其特征在于, 所述相应的操作为发送命令、发送地址、 发送数据、 接收数据、 等待忙就绪、 等待闲就绪中的一种或几种。

3、 根据权利要求 1、 2任何一项所述的方法, 其特征在于, 设置的所述延时时长以周 期数表示。

4、 根据权利要求 3所述的方法, 其特征在于, 所述周期数的值为 0或 2的指数。

5、 根据权利要求 1所述的方法, 其特征在于, 所述设置延时时长为一次性配置。

6、 一种用于实现权利要求 1所述方法的 NA D FLASH控制器, 所述 N AND FLASH控 制器包括至少一层状态机, 其特征在于, 所述状态机包括至少一个操作模块和至少一个时 序控制模块, 时序控制模块与操作模块的启动端或终止端相连;

所述时序控制模块用于设置延时时长并完成等待;

所述操作模块用于在等待结束时, 根据所述状态机发出的相应操作指令进行操作。

7、 根据权利要求 6所述的 NAND FLASH控制器, 其特征在于, 每相邻两个所述操作模 块之间只有一个时序控制模块; 所述时序控制模块一端与前一个操作模块的终止端相连, 另一端与后一个操作模块的启动端相连。

8、 根据权利要求 6所述的 NAND FLASH控制器, 其特征在于, 所述操作模块包括命令 操作模块、 地址操作模块、 数据操作模块、 读写判断模块中的一种或几种; 其中,

所述命令操作模块用于发送命令;

所述地址操作模块用于发送地址;

所述数据操作模块用于发送或接收数据;

所述读写判断模块用于判断等待忙 /闲就绪。

9、 根据权利要求 6、 7、 8任何一项所述的 NAKD FLASH控制器, 其特征在于, 所述时 序控制模块设置的所述延时时长以周期数表示。

10、 根据权利要求 9所述的 NAND FLASH控制器, 其特征在于, 所述周期数为 0或 2的 指数。

11、 根据权利要求 6所述的 NAND FLASH控制器, 其特征在于, 所述时序控制模块包 括配置单元和等待单元; 所述配置单元用于为所述时序控制模块设置延时时长; 所述等待 单元用于依据所述配置单元设置的延时时长完成等待。 12、 根据权利要求 11所述的 NAND FLASH控制器, 其特征在于, 所述等待单元包括加 法器、 触发器、 比较器和反相器;

所述加法器用于接收所述触发器输入的值并累加设定值, 输出给所述触发器; 所述触发器用于根据反相器输入的信号进行复位 , 复位后根据时钟信号将所述加法器 输入的值输出给所述加法器和所述比较器;

所述比较器, 用于将所述配置单元输入的延时时长与所述触发器输入的值进行比较, 当所述触发器输入的值等于所述延时时长时, 输出延时完成信号以触发所述操作模块, 并 使所述触发器停止工作;

所述反相器, 用于将接收的操作模块输入的信号反相后输出给所述触发器。

Description:
一种时序控制方法及 NAND FLASH控制器 本申请要求在 2012年 8月 13日提交中国专利局、 申请号为 201210287765.9、 发明名称为"一 种时序控制方法及 NAND FLASH控制器"的中国专利申请的优先权, 其全部内容通过引用结合 在本申请中。 技术领域 本发明涉及存储器控制领域, 特别涉及一种时序控制方法及 NAND FLASH控制器。 背景技术

NAND型快闪存储器(NAND FLASH )具有容量较大, 改写速度快等优点, 适用于大 量数据的存储, 因而得到了越来越广泛的应用, 如嵌入式产品中包括数码相机、 便携式多 媒体设备、 U盘等。 NAKD FLASH通过 NAKD FLASH控制器写入、读取数据。 NAKD FLASH 控制器向 NAND FLASH发送命令、 地址以及收发数据等操作, 需要通过状态机来完成。

状态机的工作流程如附图 1所示。 需特别说明的是, 所有状态机流程图中的过程环节 是可选的。 现有的 NAND FLASH控制器中的底层状态机流程如下:

步骤 101 : 开始发送命令。

步骤 102: 开始发送地址。

步骤 103: 判断是否继续发送地址。 当判断结果为是时, 转到步骤 102, 当判断结果为 否时, 转到步骤 104。

步骤 104: 判断是否等待忙 /闲就绪。 当判断结果为是时, 转到步骤 105 , 当判断结果为 否时, 转到步骤 106。

步骤 105: 等待忙 /闲就绪。

步骤 106: 发送 /接收数据。

步骤 107: 结束。

现有技术中, 状态机完成发送命令、 地址和数据等环节的时间间隔是固定的, 一旦设 定则无法调整。现在市面上量产的 NAND FLASH的时序基本都是以绝对时间(单位为纳秒 ns ) 为单位的最小延时。 这些时序需求的特点是: 1、 每款 NAND FLASH的最小时序需求 可能会有几十种之多; 2、 这些时序需求与设备工作频率无关, 这些时序是固定的; 3、 对 于同一个时序需求, 不同的 NAND FLASH之间差异很大, 从几十纳秒到几百纳秒不等。

为解决不同的 NAND FLAH的时序要求, 现有技术是在参考所有 NAND FLASH时序需 求后给出一个宽松的值, 并转化为固定的周期数固定在控制器内部等待 。 比如用 tADL表述 最后一个地址到第一个数据的等待时间, 现有的 NAND FLASH设备的 tADL范围是 45纳秒 到 300纳秒之间。 为了兼容所有的 NAKD FLASH设备, 那么 NAKD FLASH控制器的 tADL 应该在 300纳秒以上。 按照目前 NAKD FLASH控制器的最大工作频率 50MHz计算, NAND FLASH控制器在状态机发送最后一个地址后, 要等待 15个周期以上。 现有技术是在 tADL 处插入一个固定的宽松的周期 (比如 16个周期或者 32个周期)。

现有技术的缺点是: 1、 如果 NAND FLASH控制器的工作频率仍为 50MHz, 而有的 NAKD FLASH设备的 tADL很小, 则等待时间过长, 影响 NAKD FLASH设备读写速度; 2、 如果有新的 NAKD FLASH设备的 tADL时序超过固定的等待周期, 则只能通过降低 NAND FLASH控制器工作频率来兼容 NAND FLASH设备,影响了 NAND FLASH设备的读写速度; 3 , 如果有更快的 NAKD FLASH设备, 由于存在时序瓶颈, NAKD FLASH控制器的工作频 率无法提高。 发明内容 本发明的目的是解决现有的 NAND FLASH控制器的时序控制方法无法同时兼顾 NAKD FLASH兼容性和速度。

为实现本发明的目的, 本发明实施例提供一种时序控制方法, 所述方法应用于 NAND FLASH控制器, 所述 NAND FLASH控制器包括至少一层状态机, 所述方法包括以下步骤: 设置执行操作之前需要等待的延时时长;根据 设置的延时时长进行等待;在等待结束之后, 触发进行相应的操作。

本发明实施例还提供一种 NAND FLASH控制器, 所述 NAND FLASH控制器包括至少 一层状态机, 所述状态机包括至少一个操作模块、 至少一个时序控制模块, 时序控制模块 与操作模块的启动端或终止端相连, 每相邻两个操作模块之间只有一个时序控制模 块; 所 述时序控制模块用于设置延时时长并完成等待 ; 所述操作模块用于在等待结束时, 根据所 述状态机发出的相应操作指令进行操作。

按照本发明实施例提供的方法,解决了现有的 NAND FLASH控制器的时序控制方法无 法调整时序, 本发明实施例提供的方法对大多数 NAND FLASH的兼容性有了很大改善, 也 减少了部分 NAND FLASH等待时间, 提高了 NAND FLASH的速度。

按照本发明实施例提供的装置, 解决了现有的 NAND FLASH控制器无法调整时序, 本 发明实施例提供的装置对大多数 NAND FLASH的兼容性有了很大改善, 也减少了部分 NAKD FLASH等待时间, 提高了 NAND FLASH的速度。 附图说明 图 1为现有的 NAND FLASH控制器中的底层状态机流程图;

图 2为本发明实施例提供的 NAND FLASH控制器的时序控制方法流程图;

图 3为本发明实施例提供的 NAND FLASH控制器的时序控制方法的详细流程图; 图 4为现有的 NAND FLASH控制器结构示意图;

图 5为本发明实施例提供的 NAND FLASH控制器结构示意图;

图 6为本发明实施例提供的优选 NAND FLASH控制器结构示意图;

图 7为本发明实施例提供的 NAND FLASH控制器中时序控制模块结构示意图; 图 8为本发明实施例提供的 NAND FLASH控制器中时序控制模块中等待单元的结构 图。 具体实施方式 下面将结合各个附图对本发明实施例技术方案 的主要实现原理、 具体实施方式及其对 应能够达到的有益效果进行详细地阐述。

实施例一

本发明实施例一这里提出一种 NAND FLASH控制器的时序控制方法。 如图 2所示, 具 体过程如下述:

步骤 S201 , 设置 NAND FLASH控制器执行操作之前需要等待的延时时长

其中, NAND FLASH控制器发送命令、 地址、 数据等操作都是由状态机实现的, 在进 行完一个操作之后, 根据状态机发出的操作指令进入下一个操作, 本发明实施例一在进行 相应的操作之前, 增加设置延时时长。

步骤 S202 , 根据设置的延时时长进行等待;

NAND FLASH控制器的状态机在发完一个操作指令后, 根据设置的延时时长进行等 待。 其中, 等待期间, NAND FLASH控制器的状态机无法发出相应的操作指令

步骤 S203 , 等待的时间达到设置的延时时长时等待结束, 在等待结束之后, 触发进行 相应的操作。

等待的时长为设置的延时时长, 等待结束之后, NAND FLASH控制器的底层状态机发 送相应的操作指令, NAND FLASH设备根据 NAND FLASH控制器的底层状态机发出的相 应操作指令进行相应的操作。

具体的, 所述相应操作为发送命令、 发送地址、 发送 /接收数据、 等待忙 /闲就绪的一 种或几种。

具体的, 所述设置的延时时长以周期数表示。 具体的, 所述周期数的值为 0或 2的指数。

具体的, 所述设置延时时长可以一次性配置

下面结合附图 3 , 对本发明实施例提供的 NAND FLASH控制器的时序控制方法做更进 一步的描述:

步骤 S301 , 进入发送命令前等待。

步骤 S302, 等待结束以后, 开始发送命令。

步骤 S303 , 进入发送命令和发送地址之间等待。

步骤 S304, 等待结束之后, 开始发送地址。

步骤 S305 , 进入发送多地址之间等待。

步骤 S306, 判断是否需继续发送地址。 如果是, 转步骤 S304; 否则转步骤 S307。 步骤 S307, 判断是否需等待忙 /闲就绪。 如果是, 转步骤 S308; 否则转步骤 S309。 步骤 S308 , 等待忙 /闲就绪。

步骤 S309, 进入发送 /接收数据前等待。

步骤 S310, 等待结束后, 开始发送或接收数据。

步骤 S311 , 进入发送 /接收数据后等待。

实施例二

本发明实施例二这里提出一种 NAND FLASH控制器, 其结构如下述:

所述 NAND FLASH控制器包括至少一层状态机,所述状态机 括至少一个操作模块 1、 至少一个时序控制模块 2, 时序控制模块 2与操作模块 1的启动端或终止端相连, 每相邻两 个操作模块 1之间只有一个时序控制模块 2; 时序控制模块 2用于设置延时时长并完成等待; 操作模块 1用于根据状态机发出的相应操作指令进行操 。

具体的, 当时序控制模块 2在两个操作模块 1之间时, 时序控制模块 2—端与前一个操 作模块 1的终止端相连, 另一端与后一个操作模块 1的启动端相连。

具体的, 如图 6所示, 所述操作模块 1包括命令操作模块 11、 地址操作模块 12、 读写判 断模块 13、 数据操作模块 14的一种或几种; 所述命令操作模块 11用于发送命令; 所述地址 操作模块 12用于发送地址; 所述读写判断模块 13用于判断等待忙 /闲就绪; 所述数据操作模 块 14用于发送或接收数据。

具体的, 所述时序控制模块 2设置的延时时长以周期数表示。

具体的, 所述周期数为 0或 2的指数。

具体的, 所述时序控制模块 2包括配置单元 21和等待单元 22; 所述配置单元 21用于为 所述时序控制模块 1设置延时时长; 所述等待单元 22用于依据所述配置单元 21设置的延时 时长完成等待。

具体的, 所述等待单元 22包括时加法器 221、 触发器 222、 比较器 223、 反相器 224; 所 述加法器 221用于接收所述触发器输入的值并累加设定值 , 输出给所述触发器; 所述触发 器 222用于根据时钟信号将所述加法器 221输入的值输出给所述加法器 221和所述比较器 223 ; 所述比较器 223 , 用于将所述配置单元 21输入的延时时长与所述触发器 222输入的值 进行比较, 当所述触发器 222输入的值等于所述延时时长时, 输出延时完成信号以触发所 述操作模块 1进行相应操作, 并使所述触发器 222停止工作; 所述反相器 224, 用于将接收 的操作模块 1输入的信号反相后输出给所述触发器 222。

下面结合附图 4、 5、 6、 7、 8, 对本发明实施例提供的 NAND FLASH控制器做更进一 步的描述:

现有技术中,如图 4所示,状态机发出相应的操作指令都是由相 的操作模块 1完成的, 一个状态机可能有多个操作模块 1 ,所述多个操作模块 1可以称为操作模块 1A、操作模块 1B、 操作模块 1C, 并以此类推。 操作模块 1A、 操作模块 1B、 操作模块 1C可以是相同的操作模 块 1 (比如都是数据操作模块), 也可以是不同的操作模块 1 (比如是数据操作模块和地址 操作模块)。

如图 5、 6所示, 本发明实施例提供的装置包括的时序控制模块 2可以是一个, 也可以 是多个。 当所述装置包括的时序控制模块 2有多个时, 多个时序控制模块 2可以称为时序控 制模块 2A、 时序控制模块 2B、 时序控制模块 2C, 并以此类推。

如图 6所示, 时序控制模块 2A设定延时时长, 并完成相应的等待, 等待结束后触发操 作模块 11发出命令; 时序控制模块 2B设定延时时长, 并完成相应的等待, 等待结束后触发 地址操作模块 12进行发送地址操作, 该地址可以是一个, 也可以是多个地址, 多个地址操 作模块 12之间可以插入时序控制模块 2B; 时序控制模块 2C设定延时时长, 等待结束后触发 读写判断模块 13进行读写判断, 用于判断等待忙闲就绪; 时序控制模块 2D设定延时时长, 等待结束后触发数据操作模块 14进行数据读写。 时序控制模块 2的配置情况可以如下: 对于异步 NA D FLASH和高速 Toggle NA D FLASH时 , 在命令操作模块 11之前的时 序控制模块 2配置的延时时长可以为零;

对于异步 NAND FLASH, 命令操作模块 11和地址操作模块 12之间的时序控制模块 2可 以配置为零;

对于异步 NAKD FLASH和高速 Toggle NAKD FLASH时 , 在多个地址操作模块 12之间 的时序控制模块 2配置的延时时长可以为零;

对于异步 NAKD FLASH和高速 Toggle NAKD FLASH时 , 在数据操作模块 14之后的时 序控制模块 2配置的延时时长可以为零。

因为 NAND FLASH控制器需要适用于各种不同的 NAND FLASH, 因此在设置各种延 时时长时需综合考虑各种 NAKD FLASH的需求。 例如, 可配置的延时时长都可以为 0, 以 兼容频率较低的状态机结构。 不会影响频率较低的 NAND FLASH的时序, 不会因为状态机 空跑而损失时间。针对每种延时时长,可配置 的延时时长最大值可以依据目前所有的 NAND FLASH相应时序的最坏情况来设计,即可以按照 前所有 NA D FLASH所需的延时时长中 的最大延时时长来设计, 比如, 工作频率可以按照目前最快的 200Mhz的工作频率来计算, 以保证能有一定的裕量。可配置的等待周期可 以统一设计成 2的指数倍( 1、 2、 4、 8、 16....... ), 这样可以筒化电路结构。在实际应用中也较为 方便, 可以在 NAND FLASH控制器开始工作 之前配置好所述时序控制模块 2的延时时长, 之后该 NAND FLASH控制器在进行所有的操 作时可以不用再分别配置, 省略操作步骤。

图 7为所述 NAND FLASH控制器中时序控制模块 2的结构示意图, 时序控制模块 2包括 配置单元 21和等待单元 22 , 配置单元 21可以设置延时等待时间, 等待单元 22可以根据设置 的延时时长完成等待。

图 8为所述 NAND FLASH控制器中时序控制模块 2中的等待单元 22的结构图。等待单元 22包括加法器 221、 触发器 222、 比较器 223和反相器 224。 其中, 本发明实施例所保护的等 待单元 22不限于该具体实施例的结构, 所有与本发明实施例的思想相类似的电路结构 也在 本发明的保护范围之内。

加法器 221用于接受所述触发器 222输出的值并累加设定值后输出给所述触发器 222。 当有时钟信号到来时, 可以是指时钟信号的上升沿到来时, 触发器 222向加法器 221输入一 个值, 该值为上一个时钟信号到来时加法器 221输出给触发器 222的值, 加法器 221将该值 进行累加, 可以累加一个设定值, 例如, 该设定值可以是 1 , 即。= +1。 加法器 221的输入 端 (即图 8中的 A端)与触发器 222的输出端 (即图 8中的 Q端)相连, 输出端 (即图 8中的 C 端) 与触发器 222的信号输入端 (即图 8中的 D端)相连。 例如, 加法器 221的 A端接口可以 是并行的数据线, 根据数据线的数目来决定加法器 221接收的值, 同样, 加法器 221的 C端、 触发器 222的 Q端及 D端接口也可以是并行的数据线, A端、 C端、 D端及 Q端所用的数据线 的数目相等。

触发器 222用于根据时钟信号将所述加法器 221输入的值输出给所述加法器 221和所述 比较器 223。

加法器 221将接收的触发器 222输入的值加 1 , ?PC=A+1 , 有时钟信号带来时, C的结果 就会从触发器 222的输出端 Q端输出。 如此, 每到来一个时钟信号, 到来的时钟信号可以是 指时钟信号的上升沿, 触发器 222将上次接收的加法器 221输出的值输出给比较器 223及加 法器 221 , 加法器 221接收到该值后将该值加 1 , 再输出给触发器 222。 触发器 222的时钟信 号端 (即图 8中的 CLK端) 与所述时钟信号产生模块的时钟信号输出端相 连, 该时钟信号 与所述状态机的时钟信号是同一时钟信号。 触发器 222的输出端与比较器 223的第一输入端

(即图 8中的 Y端)相连。 触发器 222的异步复位端 (即图 8中的 RST端) 与反相器 224的输 出端相连, 触发器 222的使能端 (即图 8中的 ENA端)与比较器 223的第二输出端 (即图 8中 的 GE端)相连。

当 RST输入为低电平时, 触发器 222的 Q端输出为 0, RST端输入为高电平时, 触发器 222才会工作。 ENA为高电平, 及 RST端为高电平, 触发器 222正常工作, 当 ENA为低电平, ST端为高电平, 触发器 222停止工作, 其 Q端会保持原来的数据不变, 即, 直到触发器 222重新开始工作时自动复位清零。

比较器 223用于将所述配置单元 21输入的延时时长与所述触发器 222输入的值进行比 较, 当所述触发器 222输入的值等于所述延时时长时, 输出延时完成信号以触发所述操作 模块进行相应的操作, 并使所述触发器 222进行清零操作。 比较器 223的第二输入端 (即图 8中的 X端) 与所述配置单元 21相连, 该配置单元 21用于为不同的时序控制模块 2设置延时 时长。 每到来一个时钟信号, 则触发器将接收的加法器 221输入的值送入比较器 223。 当经 过 N个时钟周期后, 比较器 223的 Y端接收的值与 X端已配置的值相等, 使比较器 223输出延 时完成信号, 例如, 在 Y端的值小于 X端的值时, 比较器 223的 E端可以输出低电平信号, 当 Y端的值等于 X端的值时, 比较器 223的 E端可以输出高电平信号, 即, 该延时完成信号 可以是 E=l的高电平信号。 当 X端数据大于等于 Y端数据时, GE端可以输出第二控制信号, 例如该第二控制信号为高电平信号, 当 X端数据小于 Y端数据时, GE端可以输出第一控制 信号, 例如该第一控制信号为低电平信号。

比较器 223的第一输出端(即图 8中的 E端)与相应操作模块 1启动端或结束端相连。 若 比较器 223与某操作模块 1的启动端相连, 则当比较器 223输出延时完成信号时, 该操作模 块 1根据该延时完成信号开始启动相应操作。 如果比较器 223与操作模块 1的结束端相连, 则当比较器 223输出延时完成信号时, 状态机结束整个操作过程。

当比较器 223输出一个延时完成信号时, 表示时序控制模块 2—次操作完毕, 加法器 221、 触发器 222及比较器 223保持当前状态不变。 当再次打开该时序控制模块 2时, 加法器 221、 触发器 222及比较器 223可以自动清零, 开始重新累加。

反相器 224用于将接收的操作模块 1输入的信号反相后输出给所述触发器 222。 反相器 224的输入端与相应操作模块 1相连。

所述操作模块 1在操作完成时, 可以输出一个脉冲给反相器 224, 例如可以输入高电平 脉冲, 反相器 224将这个高电平脉冲反相后变为一个低电平脉 冲, 输出给触发器 222作为对 触发器 222的复位信号。 即, 当命令操作模块 11 , 地址操作模块 12, 数据操作模块 14或读写 判断模块 13处理完成, 需要进行时序延时进行下一个操作时, 会给等待单元 22输入一个高 电平脉冲, 作为等待单元 22的复位信号, 以启动等待单元 22。 以需 8周期的延时时长为例。 等待单元 22启动时(即操作模块 1向反相器 224输入高电平脉冲信号),触发器 222的 Q端为 0, E=0, GE=1 , 触发器 222的 ENA使能有效, 可正常完成累加输出工作。 当其 Q端累加到 8时, E=l , GE=1 ,比较器 223的 E端向操作模块 1输出延时完成信号; 当 Q端继续累加到 9时, E=0, GE=0,比较器 223输出延时完成信号结束(即延时完成信号结 束保持了一个周期的高电平), 此时触发器 222的 ENA使能无效, 无论再来多少个时钟信号, 触发器 222的 Q端的值会一直 保持为 9。 E=0, GE=0这一状态会一直持续, 直到下一次需要启动等待单元 22时, Q端才会 复位清零。

以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人员来 说, 在不脱离本发明原理的前提下, 还可以做出若千改进和润饰, 这些改进和润饰也应当 视为本发明的保护范围。