一种多通道闪存芯片阵列结构及其写入和读出方法

文档序号:6471387阅读:375来源:国知局
专利名称:一种多通道闪存芯片阵列结构及其写入和读出方法
技术领域
本发明涉及一种存储设备及其写入和读出方法,尤其涉及一种多通道闪存阵列结
构及其写入和读出方法。
背景技术
闪存作为一种新的非易失性存储介质,以其存储密度大、携带方便、功耗低、掉电数据保持时间长及抗震性好等诸多优点,已经在消费类电子领域非常普及。在工业及军工领域,也越来越受到重视和欢迎。在一些大容量数据存储应用场合,往往会有多片闪存级联或者组成整列使用,以扩大存储空间和提高数据的吞吐量。但是,由于闪存在写入数据后需要进行较长时间的等待,以确保数据正确写入。典型的, 一次写入需要等待200us,最大等待时间需要700us。如果按照正常的操作思路,向闪存中写入数据后就进行等待,数据的写入速度会很慢,无法满足实际的使用要求。 在闪存使用过程中,最核心的问题就是如何提高数据的读写速度。现有的解决方法中,有的也采用多个通道,但是公用一条数据总线,并不能实现真正意义上的并行处理;有的虽然使用多条总线,而且每条总线上也挂了多个芯片,但是每个通道上多个芯片的管理方法不能并行处理,并且为了取得高的写入速度牺牲每个芯片的写入等待时间,这样会使得数据的不可靠性降低。

发明内容
本发明的目的为解决现有技术中闪存数据读写速度慢的缺陷,提供了一种能够快速读写闪存的多通道闪存阵列结构及其写入和读出方法。 本发明的技术解决方案为 —种多通道闪存芯片阵列结构,包括由闪存芯片,以及与闪存芯片连接的数据总线、控制总线和片选信号线构成的多个通道,每个闪存芯片对应与一条片选信号线,每个芯片的片选信号线独立,其特殊之处是 所述每个通道内的所有闪存芯片公用独立于其他通道的一条数据总线和一条控制总线。 —种多通道闪存芯片阵列结构,包括由闪存芯片,以及与闪存芯片连接的数据总线、控制总线和片选信号线构成的多个通道,其特殊之处是 所述每个通道内的闪存芯片构成闪存芯片组后进行级联,每个通道内的所有芯片组公用独立于其他通道的一条数据总线和一条控制总线,每个芯片组内的芯片共用控制总线和片选信号总线。
—种多通道闪存写入方法,其特殊之处是
包含以下步骤 1]、命令和地址信息通过命令接口传递给命令解析单元; 2]、命令解析单元收到命令后,启动数据接口管理单元和通道仲裁单元;
3]、通道仲裁单元根据地址信息进行通道的预分配,同时,数据接口管理单元从数据接口读取数据,并传递给通道仲裁单元和数据分配单元; 4]、数据分配单元根据已经分配好的通道号,直接把数据写入对应通道的缓存中,然后由通道仲裁单元启动相应的闪存时序产生模块; 5]、相应的闪存时序产生模块将该通道缓存中的数据通过与闪存时序产生模块相应的通道内的公用控制总线和数据总线写入闪存芯片中; 6]、当数据分配单元完成向某通道的数据写入后,仍有数据需要写入时,又可重新
从数据接口读取数据,进行下一周期的数据写入工作。 上述步骤5]中的数据写入闪存芯片时,包含以下步骤 501]、占用相应通道内的第一个闪存芯片的实际写入时间,通过控制总线和数据总线向第一个闪存芯片写入数据; 502]、利用当前闪存芯片的写入等待时间,通过控制总线和数据总线向下一个闪存芯片继续写入数据; 503]、依照步骤502]的方式,利用第一个闪存芯片的写入等待时间,依次向通道
内剩余的闪存芯片写入数据,直至通道内的所有闪存芯片完成一次数据写入工作,而且当
第一个闪存芯片的写入等待时间结束,相应通道内的写入操作一周完毕; 504]、返回步骤501],重新向第一个闪存芯片写入数据,开始新的写入操作,直至
所有数据的写入工作完成,循环写入操作完毕。 —种多通道闪存读出方法,其特殊之处是 包含以下步骤 1]、命令和地址信息通过命令接口传递给命令解析单元; 2]、命令解析单元分析数据和命令后,将转换后的命令和地址传递给通道仲裁和数据分配单元; 3]、通过通道仲裁单元单元启动相应通道的时序产生模块; 4]、通过与闪存时序产生模块相应的通道内的公用控制总线和数据总线从闪存芯片中读取数据,存放在相应的通道缓存中; 5]、通知通道仲裁和数据分配单元,从通道缓存中读取数据,通过数据接口管理单元将数据传给数据接口; 6]、当数据接口管理单元完成向某通道的数据读出后,仍有数据需要读出时,又可
重新从闪存芯片读取数据,进行下一周期的数据读出工作。
本发明具有如下优点 1、闪存读写速度快。速度上可以突破闪存的理论读写速度,使得闪存的读写速度
可以达到100MByte/s以上,以适应高速接口标准如PATA、 SATA、1394和USB等。 2、数据写入可靠性高。可靠性上严格按照闪存操作的时间特性进行等待,确保在
各种条件下数据的可靠性。


图1为本发明闪存芯片阵列结构示意图。 图2为本发明每个通道内的闪存芯片读写流水线管理方法示意图。
图3为本发明闪存芯片数据读写流程图。
具体实施例方式
本发明的一种多通道闪存芯片阵列结构,包括由闪存芯片,以及与闪存芯片连接的数据总线、控制总线和片选信号线构成的多个通道,每个闪存芯片对应与一条片选信号线,每个芯片的片选信号线独立,每个通道内的所有闪存芯片公用独立于其他通道的一条数据总线和一条控制总线。当每个通道内的闪存芯片构成闪存芯片组级联时,芯片组由2个或者4个芯片拼合成16位或者32位宽的数据总线,构建芯片组的目的是为了增加位宽,提高单位时间内数据的写入速度,芯片组内的芯片共用控制总线和片选总线,数据总线不共用。 本发明采用多通道,即多维阵列的方法管理闪存芯片,闪存芯片阵列结构参见图1。由多片芯片组成行列结构。构成一个闪存阵列。例如,每行有16个闪存芯片,每两个闪存芯片为一对,构成16位的数据总线,每一对芯片共用控制总线和片选信号线。8对闪存芯片共享16位数据总线和公用的一条控制总线。每对芯片的片选信号线独立。这8对芯片所共享的一条16位数据总线和一条控制总线,以及每一对芯片对应的片选信号线共同构成一个独立的通道。 每个通道中的闪存芯片通过级联共享一条数据总线和控制总线,各芯片都有自己独立的片选信号。由于一条总线上有多个芯片,例如,可以采用如图l所示的多通道4对芯片级联,本发明的闪存芯片读写方法提高总线利用率,从而提高数据的写入速度。本发明中,每个闪存通道都有自己独立的通道缓存,独立的时序产生模块,有字节独立的数据和控制总线。这样多个通道可以并行工作,互不影响。并且,由硬件逻辑来实现数据到各个通道上的自动分配,大大的提高了数据的传输速度。整个闪存芯片阵列由多个通道构成,每增加一个通道,理论上数据的读写速度增加一倍,突破闪存的极限读写速度限制,在扩大存储容量的同时,也可以成倍的提高数据的吞吐率。阵列的通道个数可根据实际需要而定。理论上,如果控制闪存的MCU或者FPGA的资源够用,且前端没有速度瓶颈,则采用本发明所提供的方法,闪存的读写速度是没有上限的。 本发明的闪存阵列管理方法基于FPGA来实现。图3中的虚线部分描述了多通道
闪存阵列结构的管理单元,其中管理单元包含以下几个部分组成命令解析单元、数据接口
管理单元、通道仲裁和数据分配单元、各个通道缓存和每个通道的闪存时序产生单元。 每个通道都对应自己独立的通道缓存和闪存时序产生单元,每个闪存时序产生单
元对应一条闪存的数据总线和数据总线,即控制着一行的闪存芯片。其中, 命令解析单元负责和外部微控制器进行通信,对外部传入的命令进行解析,并把
这些命令传递到管理单元内部的模块,是整个管理单元的命令通道。 数据接口管理单元负责数据的传递,类似于一个DMA控制器的功能。DMA的中文名称叫做直接内存访问,是一种不经过CPU而直接与内存进行数据交换的计算机工作模式,它的好处在于降低了 CPU的负担,且大大的提高了数据交互的速度
通道仲裁和数据分配单元负责数据到通道的分配。 数据接口负责从外部的数据存储器或者外部数据总线上读取数据或者向外部传输数据,是整个管理单元的数据通道。数据接口可以是外部存储器,也可以是微控制器的数据总线。 命令接口可以是双口 RAM存储器,也可以是微控制器的控制总线。
本发明的一种多通道闪存写入方法,包含有以下步骤 1]、命令和地址信息通过命令接口传递给命令解析单元; 2]、命令解析单元收到命令后,启动数据接口管理单元和通道仲裁单元; 3]、通道仲裁单元根据地址信息进行通道的预分配,同时,数据接口管理单元从数
据接口读取数据,并传递给通道仲裁单元和数据分配单元; 4]、数据分配单元根据已经分配好的通道号,直接把数据写入对应通道的缓存中,然后由通道仲裁单元启动相应的闪存时序产生模块; 5]、相应的闪存时序产生模块将该通道缓存中的数据通过与闪存时序产生模块相应的通道内的公用控制总线和数据总线写入闪存芯片中; 6]、当数据分配单元完成向某通道的数据写入后,仍有数据需要写入时,又可重新从数据接口读取数据,进行下一周期的数据写入工作。 图3中通道缓存左侧的几个单元协同工作,只负责数据接口上数据向空闲通道缓存的搬移;通道缓存右侧的闪存时序产生模块负责数据向本通道内各个闪存芯片的写入。这两部分并行工作,互不影响,极大的提高了数据的吞吐率。 每个通道的时序产生模块在管理该通道的芯片时,例如通道内有4个芯片,采用图2所示的每个通道内的闪存芯片读写流水线管理方法。当写完第一个芯片组后,让当前芯片组的芯片处于写等待状态,立即转入下一个芯片的操作,并不因为第一组芯片处于写等待状态而使得总线空闲。以此类推,当循环操作一周后回到第一个芯片组,刚好第一组芯片的写等待时间完成,又可进行下一轮的操作。这种流水线管理芯片组的方法保证每个通道的数据总线总是处于繁忙状态,从而提高了每个通道的数据传输速度。而且,由于每个芯片的写等待时间得到了保证,也就保证了数据写入的可靠性。 因此,在上述的步骤5]中,每个单通道的数据写入还可以包含以下步骤 501]、占用相应通道内的第一个闪存芯片的实际写入时间,通过控制总线和数据
总线向第一个闪存芯片写入数据; 502]、利用第一个闪存芯片的写入等待时间,通过控制总线和数据总线向下一个闪存芯片继续写入数据; 503]、依照步骤502]的方式,利用当前闪存芯片的写入等待时间,依次向通道内剩余的闪存芯片写入数据,直至通道内的所有闪存芯片完成一次数据写入工作,而且当第一个闪存芯片的写入等待时间结束,相应通道内的写入操作一周完毕; 504]、返回步骤501],重新向第一个闪存芯片写入数据,开始新的写入操作,直至所有数据的写入工作完成,循环写入操作完毕。 所述的步骤504]的含义为,当闪存芯片完成一个周期的写入后仍然有数据需要写入时,再依照步骤501]至503]循环进行数据写入,直至所有数据的写入工作完成。这样保证了每个通道内的数据总线总是处于繁忙状态,不会由于数据的写入等待时间而降低速度,从而提高每个通道的数据传输速度。 本发明的闪存数据读取方法同上述的闪存数据写入方法相反。
本发明的一种多通道闪存读出方法,包含有以下步骤
1]、命令和地址信息通过命令接口传递给命令解析单元; 2]、命令解析单元分析数据和命令后,将转换后的命令和地址传递给通道仲裁和 数据分配单元; 3]、通过通道仲裁单元启动相应通道的时序产生模块; 4]、通过与闪存时序产生模块相应的通道内的公用控制总线和数据总线从闪存芯 片中读取数据,存放在相应的通道缓存中; 5]、通知通道仲裁和数据分配单元,从通道缓存中读取数据,通过数据接口管理单 元将数据传给数据接口; 6]、当数据接口管理单元完成向某通道的数据读出后,仍有数据需要读出时,又可 重新从闪存芯片读取数据,进行下一周期的数据读出工作。 读取数据的时候,通道仲裁和数据分配单元有可以一次启动多个通道进行数据读 操作,每个通道读取数据以后都存放在对应的通道缓存中,由通道仲裁和数据分配单元负 责把数据读出向前传递。当通道缓存数据被读出以后,如果该通道还有等待读取的命令,又 可进行下一次的读操作。所以,当读操作时,通道缓存右侧的单元只负责数据从闪存阵列读 出,并写入到通道缓存中。通道缓存左侧的单元协同工作,负责数据从通道缓存中读出,传 递到数据接口上。两部分仍然是并行工作,互不干扰。 本发明的闪存数据写入方法保证了每个芯片的操作时序正确,并且确保数据的写 入闪存芯片的等待时间严格按照闪存芯片提供的参数最大值来操作,这样就保证了在恶劣 的外部环境中,数据依然能够可靠的写入到闪存芯片中。具体的讲,就是在前一个芯片处于 写等待的状态时,立刻转入到下一个所在位置闪存芯片进行写操作,依此类推,顺序写闪存 芯片,当单通道内的芯片均完成了一次数据写操作后,单通道内的第一个芯片即第一次进 行数据写入操作的闪存芯片正好处于等待完成状态,这样又可以进行下一次的数据写入。 在保证了数据的写入速度的同时,有保证了数据的写入可靠性。而且,由于每个芯片的写等 待时间得到了充足的保证,也就实现了数据写入的可靠性。而在有单通道构成的多通道闪 存中,每增加一个本发明所述的单通道便会使得构成的多通道闪存的读写速度比原先的单
通道读写速度增加一倍,从而大幅提高闪存的读写速度。
权利要求
一种多通道闪存芯片阵列结构,包括由闪存芯片,以及与闪存芯片连接的数据总线、控制总线和片选信号线构成的多个通道,每个闪存芯片对应与一条片选信号线,每个芯片的片选信号线独立,其特征在于所述每个通道内的所有闪存芯片公用独立于其他通道的一条数据总线和一条控制总线。
2. —种多通道闪存芯片阵列结构,包括由闪存芯片,以及与闪存芯片连接的数据总线、 控制总线和片选信号线构成的多个通道,其特征在于所述每个通道内的闪存芯片构成闪存芯片组后进行级联,每个通道内的所有芯片组公 用独立于其他通道的一条数据总线和一条控制总线,每个芯片组内的芯片共用控制总线和 片选信号总线。
3. —种多通道闪存写入方法,其特征在于 包含以下步骤1]、命令和地址信息通过命令接口传递给命令解析单元;2]、命令解析单元收到命令后,启动数据接口管理单元和通道仲裁单元;3]、通道仲裁单元根据地址信息进行通道的预分配,同时,数据接口管理单元从数据接口读取数据,并传递给通道仲裁单元和数据分配单元;4]、数据分配单元根据已经分配好的通道号,直接把数据写入对应通道的缓存中,然后由通道仲裁单元启动相应的闪存时序产生模块;5]、相应的闪存时序产生模块将该通道缓存中的数据通过与闪存时序产生模块相应的通道内的公用控制总线和数据总线写入闪存芯片中;6]、当数据分配单元完成向某通道的数据写入后,仍有数据需要写入时,又可重新从数据接口读取数据,进行下一周期的数据写入工作。
4. 根据权利要求3所述的一种多通道闪存写入方法,其特征在于 所述步骤5]中的数据写入闪存芯片时,包含以下步骤501]、占用相应通道内的第一个闪存芯片的实际写入时间,通过控制总线和数据总线 向第一个闪存芯片写入数据;502]、利用当前闪存芯片的写入等待时间,通过控制总线和数据总线向下一个闪存芯 片继续写入数据;503]、依照步骤502]的方式,利用第一个闪存芯片的写入等待时间,依次向通道内剩 余的闪存芯片写入数据,直至通道内的所有闪存芯片完成一次数据写入工作,而且当第一 个闪存芯片的写入等待时间结束,相应通道内的写入操作一周完毕;504]、返回步骤501],重新向第一个闪存芯片写入数据,开始新的写入操作,直至所有 数据的写入工作完成,循环写入操作完毕。
5. —种多通道闪存读出方法,其特征在于 包含以下步骤1]、命令和地址信息通过命令接口传递给命令解析单元;2]、命令解析单元分析数据和命令后,将转换后的命令和地址传递给通道仲裁和数据 分配单元;3]、通过通道仲裁单元单元启动相应通道的时序产生模块;4]、通过与闪存时序产生模块相应的通道内的公用控制总线和数据总线从闪存芯片中读取数据,存放在相应的通道缓存中;5]、通知通道仲裁和数据分配单元,从通道缓存中读取数据,通过数据接口管理单元将 数据传给数据接口;6]、当数据接口管理单元完成向某通道的数据读出后,仍有数据需要读出时,又可重新 从闪存芯片读取数据,进行下一周期的数据读出工作。
全文摘要
本发明涉及一种多通道闪存芯片阵列结构及其写入和读出方法,解决现有技术中闪存数据读写速度慢的缺陷。包括由闪存芯片,数据总线、控制总线和片选信号线构成的多个通道,每个闪存芯片对应与一条片选信号线,每个芯片的片选信号线独立,每个通道内的所有闪存芯片公用独立于其他通道的一条数据总线和一条控制总线。数据写入时,命令和地址信息通过命令接口传递给命令解析单元;启动数据接口管理单元和通道仲裁单元;通道仲裁单元根据地址信息进行通道的预分配,并传递给通道仲裁单元和数据分配单元;把数据写入对应通道的缓存中,然后由通道仲裁单元启动相应的闪存时序产生模块;最后写入闪存芯片中。闪存读写速度快,数据写入可靠性高。
文档编号G06F13/16GK101740102SQ20081023222
公开日2010年6月16日 申请日期2008年11月11日 优先权日2008年11月11日
发明者崔建杰 申请人:西安奇维测控科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1