WO2014026572A1 - 一种时序控制方法及nand flash控制器 - Google Patents

一种时序控制方法及nand flash控制器 Download PDF

Info

Publication number
WO2014026572A1
WO2014026572A1 PCT/CN2013/081237 CN2013081237W WO2014026572A1 WO 2014026572 A1 WO2014026572 A1 WO 2014026572A1 CN 2013081237 W CN2013081237 W CN 2013081237W WO 2014026572 A1 WO2014026572 A1 WO 2014026572A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
waiting
nand flash
timing control
flash controller
Prior art date
Application number
PCT/CN2013/081237
Other languages
English (en)
French (fr)
Inventor
阮航
庞成章
赵天亮
唐杰
Original Assignee
炬力集成电路设计有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 炬力集成电路设计有限公司 filed Critical 炬力集成电路设计有限公司
Publication of WO2014026572A1 publication Critical patent/WO2014026572A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Definitions

  • a timing control method and a NAND FLASH controller The present application claims to be Chinese patent application filed on August 13, 2012, the Chinese Patent Application No. 201210287765.9, entitled “A Timing Control Method and a NAND FLASH Controller” Priority is hereby incorporated by reference in its entirety.
  • TECHNICAL FIELD The present invention relates to the field of memory control, and in particular, to a timing control method and a NAND FLASH controller. Background technique
  • NAND-type flash memory (NAND FLASH) has the advantages of large capacity and fast rewriting speed, and is suitable for storage of a large amount of data, and thus has been widely used, such as digital cameras, portable multimedia devices, and embedded devices. U disk and so on.
  • NAKD FLASH writes and reads data through the NAKD FLASH controller.
  • the NAKD FLASH controller sends commands, addresses, and data to and from the NAND FLASH, which needs to be done by the state machine.
  • Step 101 Start sending commands.
  • Step 102 Start sending the address.
  • Step 103 Determine whether to continue sending the address. When the result of the determination is YES, go to step 102, and if the result of the determination is no, go to step 104.
  • Step 104 Determine if you are waiting for free/busy ready. When the result of the determination is YES, the process goes to step 105, and when the result of the determination is no, the process goes to step 106.
  • Step 105 Wait for the free/busy ready.
  • Step 106 Send/receive data.
  • Step 107 End.
  • the timing of mass production of NAND FLASH currently on the market is basically the minimum delay in absolute time (in nanoseconds, ns).
  • the characteristics of these timing requirements are as follows: 1. There may be dozens of minimum timing requirements for each NAND FLASH; 2. These timing requirements are independent of the device operating frequency, and these timings are fixed; 3. For the same timing requirement Different NAND FLASHs vary widely, ranging from tens of nanoseconds to hundreds of nanoseconds.
  • the prior art gives a loose value after referring to all NAND FLASH timing requirements, and converts to a fixed number of cycles fixed inside the controller. For example, using tADL
  • the wait time for the last address to the first data the tADL range of the existing NAND FLASH device is between 45 nanoseconds and 300 nanoseconds.
  • the tADL of the NAKD FLASH controller should be above 300 nanoseconds.
  • the NAND FLASH controller waits for more than 15 cycles after the state machine sends the last address.
  • the prior art is to insert a fixed loose period (such as 16 cycles or 32 cycles) at tADL.
  • the disadvantages of the prior art are: 1. If the operating frequency of the NAND FLASH controller is still 50 MHz, and the tADL of some NAKD FLASH devices is small, the waiting time is too long, affecting the reading and writing speed of the NAKD FLASH device; The new NAKD FLASH device's tADL timing exceeds a fixed waiting period, which can only be compatible with NAND FLASH devices by reducing the operating frequency of the NAND FLASH controller, affecting the read and write speed of the NAND FLASH device; 3, if there is a faster NAKD FLASH Equipment, due to the timing bottleneck, the operating frequency of the NAKD FLASH controller cannot be improved.
  • SUMMARY OF THE INVENTION It is an object of the present invention to solve the problem that the timing control method of the existing NAND FLASH controller cannot simultaneously satisfy the NAKD FLASH compatibility and speed.
  • an embodiment of the present invention provides a timing control method, where the method is applied to a NAND FLASH controller, the NAND FLASH controller includes at least one layer state machine, and the method includes the following steps: The delay time to wait before the operation; wait according to the set delay time; after the end of the wait, trigger the corresponding operation.
  • An embodiment of the present invention further provides a NAND FLASH controller, where the NAND FLASH controller includes at least one layer state machine, and the state machine includes at least one operation module, at least one timing control module, and a start of the sequence control module and the operation module.
  • the terminal or the terminating end is connected, and there is only one timing control module between each adjacent two operating modules; the timing control module is configured to set a delay duration and complete the waiting; the operating module is configured to wait for the end, according to the The corresponding operation command issued by the state machine operates.
  • the timing control method of the existing NAND FLASH controller cannot be adjusted, and the method provided by the embodiment of the present invention greatly improves the compatibility of most NAND FLASH, and reduces the compatibility. Part of the NAND FLASH wait time increases the speed of NAND FLASH.
  • FIG. 1 is a flow chart of an underlying state machine in a conventional NAND FLASH controller
  • FIG. 2 is a flowchart of a timing control method of a NAND FLASH controller according to an embodiment of the present invention
  • FIG. 3 is a detailed flowchart of a timing control method of a NAND FLASH controller according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a conventional NAND FLASH controller
  • FIG. 5 is a schematic structural diagram of a NAND FLASH controller according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a preferred NAND FLASH controller according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a timing control module in a NAND FLASH controller according to an embodiment of the present invention
  • FIG. 8 is a structural diagram of a waiting unit in a timing control module in a NAND FLASH controller according to an embodiment of the present invention.
  • Embodiment 1 of the present invention provides a timing control method for a NAND FLASH controller. As shown in Figure 2, the specific process is as follows:
  • Step S201 Set a delay time that the NAND FLASH controller needs to wait before performing an operation.
  • the operation of the NAND FLASH controller to send commands, addresses, data, and the like is performed by the state machine. After performing an operation, the operation is performed according to the operation command issued by the state machine, and the first embodiment of the present invention performs the corresponding operation. Increase the set delay time before the operation.
  • Step S202 waiting according to the set delay time duration
  • the NAND FLASH controller's state machine After the NAND FLASH controller's state machine sends an operation command, it waits according to the set delay time. During the waiting period, the state machine of the NAND FLASH controller cannot issue a corresponding operation instruction.
  • Step S203 Waiting for the end of the waiting time to reach the set delay time, and after the waiting for the end, triggering the corresponding operation.
  • the waiting time is the set delay time. After the end of the waiting, the bottom state machine of the NAND FLASH controller sends a corresponding operation instruction, and the NAND FLASH device performs corresponding operations according to the corresponding operation instruction issued by the bottom state machine of the NAND FLASH controller.
  • the corresponding operations are one or several of sending a command, sending an address, transmitting/receiving data, and waiting for busy/busy ready.
  • the set delay time is represented by a cycle number.
  • the value of the number of cycles is an index of 0 or 2.
  • the setting delay time can be configured once.
  • Step S301 waiting before entering the send command.
  • Step S302 after waiting for the end, start sending a command.
  • Step S303 waiting to enter between the sending command and the sending address.
  • Step S304 after waiting for the end, start to send the address.
  • Step S305 waiting to enter between sending multiple addresses.
  • Step S306 determining whether it is necessary to continue to send the address. If yes, go to step S304; otherwise, go to step S307. In step S307, it is determined whether it is necessary to wait for the free/busy ready. If yes, go to step S308; otherwise, go to step S309. Step S308, waiting for the free/busy ready.
  • Step S309 waiting before entering the transmission/reception data.
  • Step S310 after the end of the waiting, start to send or receive data.
  • Step S311 waiting after entering the transmission/reception data.
  • Embodiment 2 of the present invention proposes a NAND FLASH controller, which has the following structure:
  • the NAND FLASH controller includes at least one layer state machine, the state machine includes at least one operation module 1, at least one timing control module 2, and the timing control module 2 is connected to the start end or the end end of the operation module 1, each adjacent There is only one timing control module 2 between the two operating modules 1; the timing control module 2 is used to set the delay duration and complete the waiting; the operating module 1 is used to operate according to the corresponding operating instructions issued by the state machine.
  • timing control module 2 when the timing control module 2 is between the two operation modules 1, the timing control module 2 is connected to the termination end of the previous operation module 1, and the other end is connected to the startup end of the latter operation module 1.
  • the operation module 1 includes one or more of a command operation module 11, an address operation module 12, a read/write judgment module 13, and a data operation module 14, and the command operation module 11 is used for Sending a command; the address operation module 12 is configured to send an address; the read/write judgment module 13 is configured to determine to wait for busy/busy ready; and the data operation module 14 is configured to send or receive data.
  • the delay time set by the timing control module 2 is represented by a cycle number.
  • the number of cycles is an index of 0 or 2.
  • the timing control module 2 includes a configuration unit 21 and a waiting unit 22; the configuration unit 21 is configured to set a delay duration for the timing control module 1; and the waiting unit 22 is configured to use the configuration unit 21 according to the configuration unit 21 The set delay time is completed.
  • the waiting unit 22 includes a time adder 221, a flip-flop 222, a comparator 223, and an inverter 224.
  • the adder 221 is configured to receive the value of the trigger input and accumulate the set value, and output the signal to the trigger; the trigger 222 is configured to output the value input by the adder 221 to the
  • the comparator 221 and the comparator 223 are configured to compare the delay time input by the configuration unit 21 with the value input by the flip-flop 222, and input the value of the trigger 222. When the delay time is equal to the delay time, the delay completion signal is output to trigger the operation module 1 to perform corresponding operations, and the trigger 222 is stopped.
  • the inverter 224 is configured to input the received operation module 1 The signal is inverted and output to the flip flop 222.
  • the NAND FLASH controller provided by the embodiment of the present invention will be further described below with reference to FIGS. 4, 5, 6, 7, and 8.
  • a state machine may have multiple operation modules 1, and the plurality of operation modules 1 may be referred to as Operation module 1A, operation module 1B, operation module 1C, and so on.
  • the operation module 1A, the operation module 1B, and the operation module 1C may be the same operation module 1 (for example, all are data operation modules), or may be different operation modules 1 (for example, a data operation module and an address operation module).
  • the apparatus provided by the embodiment of the present invention may include one or more sequence control modules 2 .
  • the plurality of timing control modules 2 may be referred to as a timing control module 2A, a timing control module 2B, a timing control module 2C, and the like.
  • the timing control module 2A sets the delay duration and completes the corresponding waiting. After the waiting for the end, the operating module 11 is triggered to issue a command; the timing control module 2B sets the delay duration, and completes the corresponding waiting, waiting for the end.
  • the post-trigger address operation module 12 performs a send address operation, and the address may be one or a plurality of addresses.
  • the sequence control module 2B may be inserted between the plurality of address operation modules 12; the timing control module 2C sets the delay duration and waits After the end, the trigger read/write judgment module 13 performs read/write judgment for judging waiting for busy and idle; the timing control module 2D sets the delay duration, and triggers the data operation module 14 to read and write data after the end.
  • the configuration of the timing control module 2 can be as follows: For asynchronous NA D FLASH and high speed Toggle NA D FLASH, the delay time configured by the timing control module 2 before the command operation module 11 can be zero;
  • the timing control module 2 between the command operation module 11 and the address operation module 12 can be configured to be zero;
  • the delay time configured by the timing control module 2 between the plurality of address operation modules 12 may be zero;
  • the delay time configured by the timing control module 2 after the data manipulation module 14 can be zero.
  • the configurable delay duration can be 0 to accommodate a lower frequency state machine architecture. Will not affect the timing of the lower frequency NAND FLASH, not because of the state machine Lose time by running empty.
  • the maximum configurable delay duration can be designed according to the worst case of all current NAND FLASH corresponding timings, that is, the maximum delay in the delay time required for all current NA D FLASH. The duration is designed.
  • the operating frequency can be calculated according to the current operating frequency of 200Mhz to ensure a certain margin.
  • the configurable waiting period can be uniformly designed to be an exponential multiple of 2 (1, 2, 4, 8, 16.7), which can be used to refine the circuit structure. It is also convenient in practical applications.
  • the delay time of the timing control module 2 can be configured before the NAND FLASH controller starts working. After that, the NAND FLASH controller can be configured separately without any operation. step.
  • the timing control module 2 includes a configuration unit 21 and a waiting unit 22.
  • the configuration unit 21 can set a delay waiting time, and the waiting unit 22 can set a delay according to the delay. The duration is waiting.
  • Fig. 8 is a structural diagram of the waiting unit 22 in the timing control module 2 in the NAND FLASH controller.
  • the waiting unit 22 includes an adder 221, a flip flop 222, a comparator 223, and an inverter 224.
  • the waiting unit 22 protected by the embodiment of the present invention is not limited to the structure of the specific embodiment, and all circuit structures similar to those of the embodiment of the present invention are also within the protection scope of the present invention.
  • the adder 221 is configured to accept the value output by the flip-flop 222 and accumulate the set value and output it to the flip-flop 222.
  • a clock signal arrives, it may mean that when the rising edge of the clock signal comes, the flip-flop 222 inputs a value to the adder 221, and the value is the value that the adder 221 outputs to the flip-flop 222 when the previous clock signal arrives, the addition.
  • the 221 accumulates the value, and may accumulate a set value.
  • the input terminal of the adder 221 i.e., the A terminal in FIG. 8) is connected to the output terminal of the flip-flop 222 (ie, the Q terminal in FIG.
  • the output terminal ie, the C terminal in FIG. 8
  • the input terminals ie, the D terminal in Figure 8) are connected.
  • the A-side interface of the adder 221 may be a parallel data line, and the value received by the adder 221 is determined according to the number of data lines.
  • the C terminal of the adder 221, the Q terminal and the D terminal of the flip-flop 222 are also It can be a parallel data line, and the number of data lines used at the A terminal, the C terminal, the D terminal, and the Q terminal is equal.
  • the flip-flop 222 is for outputting the value input by the adder 221 to the adder 221 and the comparator 223 in accordance with a clock signal.
  • the incoming clock signal can refer to the rising edge of the clock signal
  • the flip-flop 222 outputs the value of the last received adder 221 to the comparator 223 and the adder 221, and the adder 221 receives This value is incremented by 1 and output to the flip flop 222.
  • the clock signal terminal of the flip-flop 222 i.e., the CLK terminal in FIG. 8) is connected to the clock signal output terminal of the clock signal generating module, and the clock signal is the same clock signal as the clock signal of the state machine.
  • the asynchronous reset terminal of the flip-flop 222 (ie, the RST terminal in FIG. 8) is connected to the output of the inverter 224, the enable terminal of the flip-flop 222 (ie, the ENA terminal in FIG. 8) and the second output of the comparator 223. End (ie in Figure 8 The GE end) is connected.
  • the comparator 223 is configured to compare the delay time input by the configuration unit 21 with the value input by the flip-flop 222, and output a delay completion signal when the value input by the flip-flop 222 is equal to the delay time length.
  • the operation module is triggered to perform a corresponding operation, and the trigger 222 is subjected to a clear operation.
  • the second input of the comparator 223 i.e., the X terminal in Fig. 8) is coupled to the configuration unit 21 for setting the delay duration for the different timing control modules 2. Each time a clock signal arrives, the flip-flop sends the value input by the adder 221 to the comparator 223.
  • the value received by the Y terminal of the comparator 223 is equal to the value configured at the X terminal, so that the comparator 223 outputs a delay completion signal, for example, when the value of the Y terminal is smaller than the value of the X terminal, the comparator The E terminal of 223 can output a low level signal.
  • the GE terminal may output a second control signal, for example, the second control signal is a high-level signal.
  • the GE terminal may output the first control signal.
  • the first control signal is a low level signal.
  • the first output of comparator 223 (i.e., the E terminal of Figure 8) is coupled to the start or end of the respective operational module 1. If the comparator 223 is connected to the start terminal of an operation module 1, when the comparator 223 outputs the delay completion signal, the operation module 1 starts the corresponding operation according to the delay completion signal. If the comparator 223 is connected to the end of the operational module 1, when the comparator 223 outputs a delay completion signal, the state machine ends the entire operation.
  • the comparator 223 When the comparator 223 outputs a delay completion signal, it indicates that the timing control module 2 has completed the operation, and the adder 221, the flip-flop 222, and the comparator 223 remain in the current state. When the timing control module 2 is turned on again, the adder 221, the flip-flop 222, and the comparator 223 can be automatically cleared to start re-accumulation.
  • the inverter 224 is configured to invert the signal input from the received operation module 1 and output the signal to the flip-flop 222.
  • the input of the inverter 224 is connected to the corresponding operational module 1.
  • the operation module 1 can output a pulse to the inverter 224 when the operation is completed, for example, a high-level pulse can be input, and the inverter 224 inverts the high-level pulse to become a low-level pulse, and outputs
  • the flip flop 222 is used as a reset signal to the flip flop 222. That is, when the command operation module 11, the address operation module 12, the data operation module 14 or the read/write judgment module 13 is completed, and the timing delay is required to perform the next operation, a high-level pulse is input to the waiting unit 22 as The reset signal of unit 22 is awaited to activate wait unit 22. Take the delay time of 8 cycles as an example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请公开了一种时序控制方法及NAND FLASH控制器,涉及存储器控制领域,该NAND FLASH控制器包括至少一层状态机,状态机包括至少一个操作模块和至少一个时序控制模块,时序控制模块与操作模块的启动端或终止端相连;时序控制模块用于设置延时时长并完成等待;操作模块根据所述状态机发出的相应指令进行操作。本申请用于满足不同NAND FLASH的时序要求,提高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端才会 复位清零。
以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人员来 说, 在不脱离本发明原理的前提下, 还可以做出若千改进和润饰, 这些改进和润饰也应当 视为本发明的保护范围。

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控制器, 其特征在于, 所述等待单元包括加 法器、 触发器、 比较器和反相器;
所述加法器用于接收所述触发器输入的值并累加设定值, 输出给所述触发器; 所述触发器用于根据反相器输入的信号进行复位 , 复位后根据时钟信号将所述加法器 输入的值输出给所述加法器和所述比较器;
所述比较器, 用于将所述配置单元输入的延时时长与所述触发器输入的值进行比较, 当所述触发器输入的值等于所述延时时长时, 输出延时完成信号以触发所述操作模块, 并 使所述触发器停止工作;
所述反相器, 用于将接收的操作模块输入的信号反相后输出给所述触发器。
PCT/CN2013/081237 2012-08-13 2013-08-09 一种时序控制方法及nand flash控制器 WO2014026572A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210287765.9A CN103593312A (zh) 2012-08-13 2012-08-13 一种时序控制方法及nand flash控制器
CN201210287765.9 2012-08-13

Publications (1)

Publication Number Publication Date
WO2014026572A1 true WO2014026572A1 (zh) 2014-02-20

Family

ID=50083463

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/081237 WO2014026572A1 (zh) 2012-08-13 2013-08-09 一种时序控制方法及nand flash控制器

Country Status (2)

Country Link
CN (1) CN103593312A (zh)
WO (1) WO2014026572A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104656741A (zh) * 2015-03-13 2015-05-27 浪潮集团有限公司 一种基于nios II的服务器***不同分区的时序控制方法
US9836215B2 (en) 2014-11-19 2017-12-05 Western Digital Technologies, Inc. Real time protocol generation
CN109814888A (zh) * 2019-01-25 2019-05-28 深圳忆联信息***有限公司 NandFlash控制器EFUSE代替方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1667956A (zh) * 2003-11-19 2005-09-14 国际商业机器公司 产生多时序的模块化dll结构
CN101694644A (zh) * 2009-09-22 2010-04-14 苏州国芯科技有限公司 一种嵌入式闪存控制器
CN101719098A (zh) * 2009-05-26 2010-06-02 苏州国芯科技有限公司 Nandflash芯片组存储控制器
CN102122271A (zh) * 2011-03-01 2011-07-13 株洲南车时代电气股份有限公司 一种nand闪存控制器及其控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100511193C (zh) * 2007-03-28 2009-07-08 华为技术有限公司 一种外部存储器控制器时序配置的装置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1667956A (zh) * 2003-11-19 2005-09-14 国际商业机器公司 产生多时序的模块化dll结构
CN101719098A (zh) * 2009-05-26 2010-06-02 苏州国芯科技有限公司 Nandflash芯片组存储控制器
CN101694644A (zh) * 2009-09-22 2010-04-14 苏州国芯科技有限公司 一种嵌入式闪存控制器
CN102122271A (zh) * 2011-03-01 2011-07-13 株洲南车时代电气股份有限公司 一种nand闪存控制器及其控制方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836215B2 (en) 2014-11-19 2017-12-05 Western Digital Technologies, Inc. Real time protocol generation
CN104656741A (zh) * 2015-03-13 2015-05-27 浪潮集团有限公司 一种基于nios II的服务器***不同分区的时序控制方法
CN104656741B (zh) * 2015-03-13 2017-05-31 浪潮集团有限公司 一种基于nios II的服务器***不同分区的时序控制方法
CN109814888A (zh) * 2019-01-25 2019-05-28 深圳忆联信息***有限公司 NandFlash控制器EFUSE代替方法及装置
CN109814888B (zh) * 2019-01-25 2022-06-07 深圳忆联信息***有限公司 NandFlash控制器EFUSE代替方法及装置

Also Published As

Publication number Publication date
CN103593312A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
CN106874224B (zh) 自动搬运且适应器件的多线SPI-Flash控制器
TWI486964B (zh) 高效能快閃記憶體資料傳送方法及裝置
CN114490460B (zh) 一种用于asic的flash控制器及其控制方法
KR20140036094A (ko) 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
US8230138B2 (en) Memory control device, data processor, and data read method
US20120324147A1 (en) Read While Write Method for Serial Peripheral Interface Flash Memory
JP6370027B2 (ja) 高クロック速度での連続リードバーストサポート
CN115858431A (zh) 数据传输控制方法、控制器及电子设备
CN110765058A (zh) Gpio实现spi从机功能方法、***、设备及介质
JP2009534785A5 (zh)
EP2207101A1 (en) Method and device for parallel interfacing
CN104834620A (zh) 串行外设接口spi总线电路、实现方法以及电子设备
EP1820110B1 (en) Multimedia card interface method, computer program product and apparatus
WO2014026572A1 (zh) 一种时序控制方法及nand flash控制器
CN101266584A (zh) 通用串行总线主机控制器及其控制方法
JP2008521080A5 (zh)
TW201908984A (zh) 由第三方啟動之加速改良式內部積體電路停止
CN111143898B (zh) 可插拔存储器装置数据保护方法
WO2010115363A1 (zh) 一种数据传输速度的自适应方法及***设备
US9015272B2 (en) Microcomputer
US10409748B2 (en) Bridge device with DMA data transferring to upstream device with reset and clear feature command
TWI564809B (zh) 單一中斷服務常式執行緒中處理關連於多個請求的返回實體的方法以及使用該方法的裝置
US9152583B2 (en) Method for operating flash memories on a bus
JP5449032B2 (ja) メモリシステム
KR20170073266A (ko) 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13829856

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13829856

Country of ref document: EP

Kind code of ref document: A1