闪速存储器控制电路及其存储系统与数据传输方法转让专利

申请号 : CN200910148452.3

文献号 : CN101930407B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 叶志刚

申请人 : 群联电子股份有限公司

摘要 :

本发明提供一种闪速存储器控制电路及其存储系统与数据传输方法,其中闪速存储器控制电路包括微处理器单元、第一与第二接口单元、缓冲存储器、存储器管理单元以及数据读写单元。存储器管理单元管理多个闪速存储器单元,其中每一闪速存储器单元具有至少一闪速存储器且每一闪速存储器分别地具有至少包括一上页与一下页的多个存储单元阵列。存储器管理单元将对应的每一闪速存储器的其中一个存储单元阵列进行分群多个数据传输单位组,并且数据读写单元依据数据传输单位组将主机系统欲写入的数据交错地传输至闪速存储器单元中。因此,闪速存储器控制电路可稳定地传输数据而降低缓冲存储器的使用。

权利要求 :

1.一种闪速存储器控制电路,用于将来自于一主机系统的数据传输至多个闪速存储器单元,其中所述多个闪速存储器单元分别地具有多个闪速存储器,且所述多个闪速存储器具有多个存储单元阵列,且所述多个存储单元阵列的每一存储单元阵列至少具有一下页与一上页,其中多个所述下页的写入速度大于多个所述上页的写入速度,所述闪速存储器控制电路包括:一微处理器单元;

一第一接口单元,电性连接至所述微处理器单元,用以电性连接所述多个闪速存储器单元;

一第二接口单元,电性连接至所述微处理器单元,用以电性连接所述主机系统;

一缓冲存储器,电性连接至所述微处理器单元,用以暂存所述数据;

一存储器管理单元,电性连接至所述微处理器单元,以所述多个闪速存储器单元的每一闪速存储器单元为单位将所述多个闪速存储器的所述多个存储单元阵列的其中一个存储单元阵列分群为一数据传输单位组;以及一数据读写单元,电性连接至所述微处理器单元,以所述多个数据传输单位组的每一数据传输单位组为单位通过所述第一接口单元在所述多个闪速存储器单元之间交错地将所述数据传输至所述多个闪速存储器单元中并且在每一闪速存储器单元的闪速存储器之间交错地将所述数据传输至所述多个闪速存储器。

2.一种闪速存储器存储系统,包括:

一连接器,用以连接一主机系统;

多个闪速存储器单元,分别地具有多个闪速存储器,且所述多个闪速存储器具有多个存储单元阵列,且所述多个存储单元阵列的每一存储单元阵列至少具有一下页与一上页,其中多个所述下页的写入速度大于多个所述上页的写入速度;以及一闪速存储器控制器,电性连接至所述连接器与所述多个闪速存储器单元,用以从所述主机系统中接收一数据,其中所述闪速存储器控制器以所述多个闪速存储器单元的每一闪速存储器单元为单位将所述多个闪速存储器的所述多个存储单元阵列的其中一个存储单元阵列分群为一数据传输单位组,其中所述闪速存储器控制器以所述多个数据传输单位组的每一数据传输单位组为单位在所述多个闪速存储器单元之间交错地将所述数据传输至所述多个闪速存储器单元中并且在每一闪速存储器单元的闪速存储器之间交错地将所述数据传输至所述多个闪速存储器。

3.根据权利要求2所述的闪速存储器存储系统,其中所述多个存储单元阵列的每一存储单元阵列还包括至少一中页,其中所述至少一中页的写入速度小于多个所述下页的写入速度并且大于多个所述上页的写入速度。

4.一种数据传输方法,包括:

提供多个闪速存储器单元,所述多个闪速存储器单元分别地具有多个闪速存储器,且所述多个闪速存储器具有多个存储单元阵列,且所述多个存储单元阵列的每一存储单元阵列至少具有一下页与一上页,其中多个所述下页的写入速度大于多个所述上页的写入速度;

从一主机系统接收一数据;

以所述多个闪速存储器单元的每一闪速存储器单元为单位将所述多个闪速存储器的所述多个存储单元阵列的其中一个存储单元阵列分群为一数据传输单位组;以及以所述多个数据传输单位组的每一数据传输单位组为单位在所述多个闪速存储器单元之间交错地将所述数据传输至所述多个闪速存储器单元中并且在每一闪速存储器单元的闪速存储器之间交错地将所述数据传输至所述多个闪速存储器。

5.根据权利要求4所述的数据传输方法,其中所述多个存储单元阵列的每一存储单元阵列还包括至少一中页,其中所述至少一中页的写入速度小于多个所述下页的写入速度并且大于多个所述上页的写入速度。

6.根据权利要求4所述的数据传输方法,还包括在所述数据传输单位组的所述多个存储单元阵列中以交错方式传输所述数据。

7.根据权利要求4所述的数据传输方法,其中所述数据包括连续的多个页数据。

8.一种数据传输方法,包括:

提供一第一闪速存储器单元与一第二闪速存储器单元,所述第一闪速存储器单元与所述第二闪速存储器单元分别地具有一第一闪速存储器与一第二闪速存储器,且多个所述第一闪速存储器与多个所述第二闪速存储器分别地具有多个存储单元阵列,且所述多个存储单元阵列的每一存储单元阵列至少具有一下页与一上页,其中多个所述下页的写入速度大于多个所述上页的写入速度;

从一主机系统接收一数据,其中所述数据包括连续的多个页数据;

在所述第一闪速存储器单元与所述第二闪速存储器单元中分别地将所述多个存储单元阵列分群为多个数据传输单位组,其中所述第一闪速存储器单元的所述多个数据传输单位组的每一数据传输单位组包括所述第一闪速存储器单元的第一闪速存储器中的所述多个存储单元阵列的其中一个存储单元阵列和所述第一闪速存储器单元的第二闪速存储器中的所述多个存储单元阵列的其中一个存储单元阵列,并且所述第二闪速存储器单元的所述多个数据传输单位组的每一数据传输单位组包括所述第二闪速存储器单元的第一闪速存储器中的所述多个存储单元阵列的其中一个存储单元阵列和所述第二闪速存储器单元的第二闪速存储器中的所述多个存储单元阵列的其中一个存储单元阵列;以及以所述多个数据传输单位组的每一数据传输单位组为单位将所述数据交错地传输至所述第一闪速存储器单元与所述第二闪速存储器单元中,其中以所述多个数据传输单位组的每一数据传输单位组为单位将所述多个页数据交错地传输至所述第一闪速存储器单元与所述第二闪速存储器单元中的步骤包括:(a)以所述多个数据传输单位组的每一数据传输单位组为单位将所述多个页数据的部分页数据传输至所述第一闪速存储器单元的所述第一闪速存储器与所述第二闪速存储器中并且执行步骤(b);以及(b)以所述多个数据传输单位组的每一数据传输单位组为单位将所述多个页数据的另一部分页数据传输至所述第二闪速存储器单元的所述第一闪速存储器与所述第二闪速存储器中,其中将所述多个页数据的部分页数据传输至所述第一闪速存储器单元的所述第一闪速存储器与所述第二闪速存储器中的步骤包括:将所述多个页数据交错地传输至所述第一闪速存储器单元的所述第一闪速存储器与所述第二闪速存储器中的多个所述上页与多个所述下页中,其中将所述多个页数据的部分页数据传输至所述第二闪速存储器单元的所述第一闪速存储器与所述第二闪速存储器中的步骤包括:将所述多个页数据交错地传输至所述第二闪速存储器单元的所述第一闪速存储器与所述第二闪速存储器中的多个所述上页与多个所述下页中。

9.根据权利要求8所述的数据传输方法,其中所述多个存储单元阵列的每一存储单元阵列还包括至少一中页,其中所述至少一中页的写入速度小于多个所述下页的写入速度并且大于多个所述上页的写入速度。

说明书 :

闪速存储器控制电路及其存储系统与数据传输方法

技术领域

[0001] 本发明涉及一种闪速存储器控制电路、闪速存储器存储系统及其数据传输方法,其能够有效地降低缓冲存储器的使用并缩短将数据写入至闪速存储器的时间。

背景技术

[0002] 数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于闪速存储器(Flash Memory)具有数据非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类便携式由电池供电的产品上。固态硬盘就是一种以与非门(NAND)闪速存储器作为存储媒体的存储装置。
[0003] 闪速存储器存储装置中的闪速存储器会具有多个物理区块(physicalblock),且每一物理区块具有多个页面(page),其中在物理区块中写入数据时必须依据页面的顺序依序地写入数据。
[0004] 一般来说,写入数据至页面的程序可区分为数据传输(transfer)以及数据程序化(program)两个部分。具体来说,当欲在闪速存储器的页面中存储数据时,闪速存储器存储装置的控制电路会将数据传输至闪速存储器内的缓冲区中,之后闪速存储器会将缓冲区内的数据程序化至页面中,其中在闪速存储器将数据程序化至页面的期间闪速存储器是处于一忙碌(busy)状态,且当闪速存储器处于忙碌状态下控制电路无法对其下达任何指令或传输任何数据。
[0005] 此外,闪速存储器依据每一存储单元可存储的比特数可区分为单层存储单元(Single Level Cell,以下简称SLC)NAND闪速存储器与多层存储单元(Multi Level Cell,以下简称MLC)NAND闪速存储器。MLC NAND闪速存储器的物理区块的程序化可分为多阶段。例如,以2层存储单元为例,物理区块的程序化可分为2阶段。第一阶段是下页(lower page)的写入部分,其物理特性类似于SLC NAND闪速存储器,在完成第一阶段之后才程序化上页(upper page),其中下页的程序化速度会快于上页。类似地,在8层存储单元或16层存储单元的案例中,存储单元包括更多个页并且会以更多阶段来写入。
[0006] 基于上述闪速存储器的特性,传统上为了提升闪速存储器存储装置的写入速度,闪速存储器存储装置会配置多个闪速存储器并且以交错方式来写入数据。以主机系统在配置第一与第二闪速存储器的闪速存储器存储装置中存储数据为例,当主机系统欲在闪速存储器存储装置中存储多个页数据(即,数据长度为大于1个页面的数据)时,控制电路可将其中一个页数据传输至第一闪速存储器。之后,在第一闪速存储器处于忙碌期间,控制电路可将另一个页数据传输至第二闪速存储器。接着,在第二闪速存储器处于忙碌时,控制电路可将另一个页数据传输至第一闪速存储器,由此交错地将欲写入的页数据传输至第一闪速存储器与第二闪速存储器,以缩短写入数据的时间。在MLC NAND闪速存储器的例子中,当第一与第二闪速存储器处于程序化页数据至其上页的忙碌状态时,控制电路必须等待一段较长的时间(即,等候第一与第二闪速存储器的其中一个完成程序化)后才能继续传输数据至第一或第二闪速存储器中。特别是,在此段时间中,主机系统仍会持续传送数据至闪速存储器存储装置,因此必须在闪速存储器存储装置中配置缓冲存储器来暂时地存放主机系统持续传送的数据,并且随着MLC NAND闪速存储器的物理区块可以更多阶段来执行程序化而使某些页面的程序化时间更为增长时,将需配置更大容量的缓冲存储器。

发明内容

[0007] 本发明提供一种闪速存储器控制电路,其能够稳定地传输数据至多个闪速存储器以降低缓冲存储器的使用。
[0008] 本发明提供一种闪速存储器存储系统,其能够稳定地传输数据至多个闪速存储器以降低缓冲存储器的使用。
[0009] 本发明提供一种数据传输方法,其能够稳定地传输数据至多个闪速存储器以降低缓冲存储器的使用。
[0010] 本发明一实施例提出一种闪速存储器控制电路,用于将来自于一主机系统的数据传输至多个闪速存储器单元,其中多个闪速存储器单元分别地具有至少一闪速存储器,且闪速存储器具有多个存储单元阵列,且每一存储单元阵列至少具有一下页与一上页,其中下页的写入速度大于上页的写入速度。本闪速存储器控制电路包括微处理器单元、第一接口单元、第二接口单元、缓冲存储器、存储器管理单元以及数据读写单元。第一接口单元电性连接至微处理器单元,并且用以电性连接闪速存储器单元。第二接口单元电性连接至微处理器单元,并且用以电性连接主机系统。缓冲存储器电性连接至所述微处理器单元,并且用以暂存数据。存储器管理单元电性连接至微处理器单元,并且以每一闪速存储器单元为单位将每一闪速存储器的其中一个存储单元阵列分群为一数据传输单位组。此外,数据读写单元电性连接微处理器单元且以每一数据传输单位组为单位将数据交错地传输至闪速存储器单元中。
[0011] 本发明一实施例提出一种闪速存储器存储系统,其包括用以连接一主机系统的连接器、多个闪速存储器单元与闪速存储器控制器。每一闪速存储器单元具有至少一闪速存储器,且每一闪速存储器具有多个存储单元阵列,且每一存储单元阵列至少具有一下页与一上页,其中下页的写入速度大于上页的写入速度。闪速存储器控制器电性连接至连接器与闪速存储器单元,并且用以从主机系统中接收数据,其中闪速存储器控制器以每一闪速存储器单元为单位将每一闪速存储器的其中一个存储单元阵列分群为数据传输单位组。此外,闪速存储器控制器以每一数据传输单位组为单位将数据交错地传输至闪速存储器单元中。
[0012] 本发明一实施例提出一种数据传输方法,本方法包括提供多个闪速存储器单元,其中闪速存储器单元分别地具有至少一闪速存储器,且每一闪速存储器具有多个存储单元阵列,且每一存储单元阵列至少具有一下页与一上页,其中下页的写入速度大于上页的写入速度。本方法也包括从一主机系统接收数据,并且以每一闪速存储器单元为单位将每一闪速存储器的其中一个存储单元阵列分群为一数据传输单位组。本方法还包括以每一数据传输单位组为单位将数据交错地传输至闪速存储器单元中。
[0013] 本发明一实施例提出一种数据传输方法,本方法包括提供一第一闪速存储器单元与一第二闪速存储器单元,其中第一闪速存储器单元与第二闪速存储器单元分别地具有一第一闪速存储器与一第二闪速存储器,且第一闪速存储器与第二闪速存储器分别地具有多个存储单元阵列,且每一存储单元阵列至少具有一下页与一上页,其中下页的写入速度大于上页的写入速度。本方法也包括从一主机系统接收数据。此外,本方法也包括在第一闪速存储器单元与第二闪速存储器单元中分别地将存储单元阵列分群为多个数据传输单位组,其中第一闪速存储器单元的每一数据传输单位组包括第一闪速存储器单元的第一闪速存储器中的其中一个存储单元阵列和第一闪速存储器单元的第二闪速存储器中的其中一个存储单元阵列,并且第二闪速存储器单元的每一数据传输单位组包括第二闪速存储器单元的第一闪速存储器中的其中一个存储单元阵列和第二闪速存储器单元的第二闪速存储器中的其中一个存储单元阵列。再者,本方法还包括以每一数据传输单位组为单位将数据交错地传输至第一闪速存储器单元与第二闪速存储器单元中。
[0014] 本发明一实施例提出一种数据传输方法,本方法包括提供一第一闪速存储器与一第二闪速存储器,其中第一闪速存储器与第二闪速存储器分别地具有多个存储单元阵列,且每一存储单元阵列至少具有一下页、一中页与一上页,其中下页的写入速度大于中页的写入速度并且中页的写入速度大于上页的写入速度。本方法也包括从一主机系统接收一数据,并且以每一存储单元阵列为单位将下页、中页与上页分群为多个第一子数据传输单位组与多个第二子数据传输单位组,其中每一第一子数据传输单位组包括其中一个存储单元阵列的下页与中页且每一第二子数据传输单位组包括其中一个存储单元阵列的上页。本方法还包括以每一第一子数据传输单位组为单位将部分的数据传输至第一闪速存储器与第二闪速存储器中,并且之后以每一第二子数据传输单位组为单位将另一部分的数据传输至第一闪速存储器与第二闪速存储器中。
[0015] 基于上述,本发明可以较稳定地传输数据至闪速存储器,由此减少缓冲存储器的使用并提升写入数据的速度。
[0016] 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。

附图说明

[0017] 图1是根据本发明第一实施例所绘示的闪速存储器存储系统的概要方块图;
[0018] 图2是根据本发明第一实施例所绘示的页面的排列示意图;
[0019] 图3A是根据本发明第一实施例所绘示的第一分组实施例;
[0020] 图3B是根据本发明第一实施例所绘示的第二分组实施例;
[0021] 图4是根据本发明第一实施例所绘示的以交错方式传输与程序化页数据的实施例;
[0022] 图5是根据本发明另一实施例所绘示的闪速存储器控制器的方块图;
[0023] 图6是根据本发明第一实施例所绘示的数据传输的流程图;
[0024] 图7是根据本发明第二实施例所绘示的闪速存储器存储系统的概要方块图;
[0025] 图8是根据本发明第二实施例所绘示的以交错方式传输与程序化页数据的实施例;
[0026] 图9是根据本发明第三实施例所绘示的数据传输的流程图;
[0027] 图10是根据本发明第三实施例所绘示的以交错方式传输与程序化页数据的实施例。
[0028] 主要元件符号说明:
[0029] 100、700:闪速存储器存储系统; 110:连接器;
[0030] 120、720:闪速存储器晶片; 120a、120c:第一闪速存储器单元;
[0031] 120b、120d:第二闪速存储器单元; 122:第一闪速存储器;
[0032] 124:第二闪速存储器; 126:第三闪速存储器;
[0033] 128:第四闪速存储器; 130、130′、730:闪速存储器控制器;
[0034] 152:微处理器单元; 154:第一接口单元;
[0035] 154a:第一接口控制器单元; 154b:第一接口物理层单元;
[0036] 156:第二接口单元; 156a:第二接口控制器单元;
[0037] 156b:第二接口物理层单元; 158:缓冲存储器;
[0038] 160、160’:存储器管理单元; 162、162’:数据读写单元;
[0039] 200:主机系统; 300:总线;
[0040] 400:I/O数据总线; 402:光罩式只读存储器;
[0041] 404:程序随机存取存储器; 406:安全引擎单元;
[0042] 422:复用器; 424、426:仲裁器;
[0043] 408:错误校正单元; T1~T18、T21~T29:传输;
[0044] S601、S603、S605:数据传输步骤; S901、S903、S905:数据传输步骤;
[0045] 122-0、122-1、122-N、124-0、124-1、124-N、126-0、126-1、126-N、128-0、[0046] 128-1、128-N:物理区块。

具体实施方式

[0047] 图1是根据本发明第一实施例所绘示的闪速存储器存储系统的概要方块图。
[0048] 请参照图1,通常闪速存储器存储系统100会与主机系统200一起使用,以使主机系统200可将数据写入至闪速存储器存储系统100或从闪速存储器存储系统100中读取数据。在本实施例中,闪速存储器存储系统100为固态硬盘(Solid State Drive,以下简称SSD)。但必须了解的是,在本发明另一实施例中闪速存储器存储系统100亦可以是存储卡或随身盘。
[0049] 闪速存储器存储系统100包括连接器110、闪速存储器晶片120、与闪速存储器控制器(亦可称为闪速存储器控制电路)130。
[0050] 连接器110是电性连接至闪速存储器控制器130并且用以通过总线300连接主机系统200。在本实施例中,连接器110为串行高级技术附件(SerialAdvanced Technology Attachment,以下简称SATA)连接器。然而,必须了解的是本发明不限于此,连接器110也可以是通用串行总线(Universal SerialBUS,以下简称USB)连接器、IEEE 1394连接器、外设组件互连标准(PeripheralComponent Interconnec,以下简称PCI)高速(Express)连接器、记忆棒(Memory Stick,以下简称MS)连接器、多媒体卡(MultiMedia Card,以下简称MMC)连接器、安全数字(Secure Digital,以下简称SD)连接器、紧凑式闪存(Compact Flash,以下简称CF)连接器、电子集成驱动器(IntegratedDrive Electronics,以下简称IDE)连接器或其他适合的连接器。
[0051] 闪速存储器晶片120是电性连接至闪速存储器控制器130,并且用以在闪速存储器控制器130的操作下存储数据。闪速存储器晶片120具有第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128,并且第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128分别地具有多个物理区块。
[0052] 在本实施例中,物理区块(例如,物理区块122-0)为抹除的最小单位。即,每一物理区块含有最小数目的一并被抹除的存储单元。此外,每一物理区块会被划分为数个页面(page),例如,1个物理区块具有192个页面。在本实施例中,页面为程序化(program)的最小单元(即,页面为写入数据的最小单元),在本实施例中,1个页面为2048比特组(byte)。
[0053] 值得一提的是,在本实施例中,第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128为3层存储单元NAND闪速存储器。也就是说,第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128的每一存储单元可进行三阶段的程序化,因此每一存储单元可存储3个比特(3bit/cell)的数据。因此,在本实施例中,每16384个存储单元可提供3个页面的存储空间来存储数据。此外,如上所述,由于MLC NAND闪速存储器在程序化数据时是以多阶段来执行,而不同阶段的程序化速度会有所不同。在本实施例中,每16384个存储单元所提供的3个页面会依据其程序化速度被区分为下页、中页与上页,并且提供此下页、中页与上页的16384个存储单元会被参考为1个存储单元阵列。
[0054] 图2是根据本发明第一实施例所绘示的页面的排列示意图。必须了解的是,第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128中每一物理区块的页面配置皆为相同,因此图2所示的结构是适用于本实施例中所有的物理区块。
[0055] 请参照图2,存储每一行页面(例如,页面0、页面1与页面2)的存储单元为1个存储单元阵列,其中程序化下页(例如,页面0)的速度快于程序化中页(例如,页面1)的速度并且程序化中页的速度快于程序化上页(例如,页面2)的速度。例如,程序化下页的速度约为0.3毫秒(millisecond),程序化中页的速度约为1.5毫秒并且程序化上页的速度约为4毫秒。特别是,依据闪速存储器的物理特性,在物理区块写入数据时必须依据页面的排列顺序依序地将页数据程序化至页面中。
[0056] 另外,如上所述,在程序化闪速存储器(即,第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128)时需先将数据传输(transfer)至闪速存储器的缓冲区(未绘示)中,其中在本实施例中此数据传输时间约为0.4毫秒。
[0057] 在本发明另一实施例中,闪速存储器晶片120中的物理区块也可被分组为数个区域(zone),以每一独立的区域来管理物理区块可增加操作执行的平行程度且简化管理的复杂度。
[0058] 请再参照图1,闪速存储器控制器130会执行以硬件形式或固件形式实现的多个逻辑门或机械指令以配合连接器110与闪速存储器晶片120来进行数据的写入、读取与抹除等运作。特别是,在本实施例中,闪速存储器控制器130是通过1个输入/输出(I/O)数据总线400来将页数据传递给第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128,因此根据本实施例的闪速存储器控制器130会以一交错(interleave)方式将页数据传输至第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128,以将页数据程序化在第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128中。
[0059] 闪速存储器控制器130包括微处理器单元152、第一接口单元154、第二接口单元156、缓冲存储器158、存储器管理单元160与数据读写单元162。
[0060] 微处理器单元152用以控制闪速存储器控制器130的整体运作。也就是说,闪速存储器控制器130内的组件的运作可由微处理器单元152直接或间接来控制。
[0061] 第一接口单元154是电性连接至微处理器单元152且包括第一接口控制器单元154a以及电性连接至第一接口控制器单元154a的第一接口物理层单元154b,其中第一接口物理层单元154b是用以电性连接至闪速存储器晶片120,而第一接口控制器单元154a用以处理传送至闪速存储器晶片120的数据或识别从闪速存储器晶片120所接收的数据。也就是说,欲写入至闪速存储器晶片120的数据会经由第一接口单元154转换为闪速存储器晶片120所能接受的格式。
[0062] 第二接口单元156是电性连接至微处理器单元152且包括第二接口控制器单元156a以及电性连接至第二接口控制器单元156a的第二接口物理层单元156b,其中第二接口物理层单元156b是用以电性连接至连接器110以连接主机系统200,而第二接口控制器单元156a用以处理传送至主机系统200或从主机系统200所接收的数据。也就是说,主机系统200所传送的指令与数据会通过第二接口单元156来传送至微处理器单元152。在本实施例中,第二接口单元156是符合为SATA接口标准,以对应连接器110。然而,必须了解的是本发明不限于此,第二接口单元156亦可配合连接器110而以USB接口标准、IEEE 1394接口标准、PCI Express接口标准、MS接口标准、MMC接口标准、SD接口标准、CF接口标准、IDE接口标准或其他适合的数据传输接口标准来实现。
[0063] 缓冲存储器158是电性连接至微处理器单元152并且用以暂存主机系统200欲写入至闪速存储器晶片120的数据或主机系统200欲从读取闪速存储器晶片120中读取的数据。缓冲存储器158为静态随机存取存储器(StaticRandom Access memory,以下简称SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(Dynamic Random Access memory,以下简称DRAM)、磁随机存储器(Magnetoresistive Random Access Memory,以下简称MRAM)、相变随机存储器(Phase Change Random Access Memory,以下简称PCRAM)、单层存储单元(Single Level Cell,以下简称SLC)NAND闪速存储器或其他适合的存储器亦可应用于本发明。
[0064] 存储器管理单元160是电性连接至微处理器单元152且用以操作与管理闪速存储器晶片120,例如,存储器管理单元160会维护用于闪速存储器晶片120的逻辑地址-物理地址对映表(logical address-physical address mappingtable),并且依据逻辑地址-物理地址对映表将主机系统200欲存取的逻辑地址(例如,逻辑区块)转换为物理地址(例如,物理区块)以利数据读写单元162进行数据的写入与读取。
[0065] 值得一提的是,在本实施例中,存储器管理单元160将第一闪速存储器122与第二闪速存储器124分组为第一闪速存储器单元120a并且将第三闪速存储器126与第四闪速存储器128分组为第二闪速存储器单元120b来进行管理。
[0066] 此外,存储器管理单元160会在每一闪速存储器单元中将每一闪速存储器中对应的存储单元阵列分组为多个数据传输单位组(data transfer unit set,以下简称DTUS)。例如,存储器管理单元160将第一闪速存储器122的物理区块122-0中的第0存储单元阵列(即,物理区块122-0的第0页面、第1页面与第2页面)和第二闪速存储器124的物理区块124-0中的第0存储单元阵列(即,物理区块124-0的第0页面、第1页面与第2页面)分组为1个数据传输单位组。此外,存储器管理单元160会将数据传输单位组的分组信息传递给数据读写单元162。
[0067] 数据读写单元162是电性连接至微处理器单元152并且用以将主机系统200欲存取的数据传输至闪速存储器晶片120,以及通过第一接口单元154从闪速存储器晶片120中读取数据。
[0068] 值得一提的是,当主机系统200欲写入连续的多个页数据至闪速存储器存储系统100时,数据读写单元162会依据存储器管理单元160所传递的分组信息以数据传输单位组为单位将主机系统200欲写入的页数据交错地传输至第一闪速存储器单元120a与第二闪速存储器单元120b中。
[0069] 图3A是根据本发明第一实施例所绘示的第一分组实施例,图3B是根据本发明第一实施例所绘示的第二分组实施例,并且图4是根据本发明第一实施例所绘示的以交错方式传输与程序化页数据的实施例。
[0070] 在图3A、3B与4的实施例中,假设主机系统200欲写入页数据PD1~页数据PD18至闪速存储器存储系统100,并且存储器管理单元160使用第一闪速存储器122的物理区块122-0、第二闪速存储器124的物理区块124-0、第三闪速存储器126的物理区块126-0以及第四闪速存储器128的物理区块128-0来写入页数据PD1~页数据PD18以提升数据的写入速度。
[0071] 请参照图3A与图3B,如上所述,每一存储单元阵列具有3个页面的存储容量,因此存储器管理单元160会需使用6个存储单元阵列来存储页数据PD1~页数据PD18。此外,在物理区块中必须根据页面的顺序依序地写入数据,因此存储器管理单元160会依序地使用物理区块122-0的第0存储单元阵列(即,物理区块122-0的第0页面、第1页面与第2页面)、物理区块124-0的第0存储单元阵列(即,物理区块124-0的第0页面、第1页面与第2页面)、物理区块126-0的第0存储单元阵列(即,物理区块126-0的第0页面、第1页面与第2页面)、物理区块128-0的第0存储单元阵列(即,物理区块128-0的第0页面、第1页面与第2页面)、物理区块122-0的第1存储单元阵列(即,物理区块122-0的第3页面、第4页面与第5页面)和物理区块124-0的第1存储单元阵列(即,物理区块124-0的第3页面、第4页面与第5页面)来存储页数据PD1~页数据PD18。
[0072] 特别是,在本实施例中,存储器管理单元160会将物理区块122-0的第0存储单元阵列与物理区块124-0的第0存储单元阵列分组为此次数据写入程序的第1数据传输单位组,将物理区块126-0的第0存储单元阵列和物理区块128-0的第0存储单元阵列分组为此次数据写入程序的第2数据传输单位组,并且将物理区块122-0的第1存储单元阵列和物理区块124-0的第1存储单元阵列分组为此次数据写入程序的第3个数据传输单位组。
[0073] 当数据读写单元162从存储器管理单元160中接收到此次数据写入程序的分组信息(即,上述第1数据传输单位组、第2数据传输单位组与第3数据传输单位组)时,数据读写单元162会交错地将预计写入至每一数据传输单位组的页数据传输至对应的闪速存储器单元。请参照图4,数据读写单元162会先将预计写入至第1数据传输单位组的页数据传输至第一闪速存储器单元120a(即,第一闪速存储器122与第二闪速存储器124),之后,将预计写入至第2数据传输单位组的页数据传输至第二闪速存储器单元120b(即,第三闪速存储器126与第四闪速存储器128),最后,将预计写入至第3数据传输单位组的页数据传输至第一闪速存储器单元120a。
[0074] 具体来说,数据读写单元162会先将预计写入至物理区块122-0的第0页面、第1页面与第2页面以及预计写入至物理区块124-0的第0页面、第1页面与第2页面的页数据传输(即,传输T1、T2、T3、T4、T5与T6)至第一闪速存储器122与第二闪速存储器124。然后,数据读写单元162会将预计写入至物理区块126-0的第0页面、第1页面与第2页面以及预计写入至物理区块128-0的第0页面、第1页面与第2页面的页数据传输(即,传输T7、T8、T9、T10、T11与T12)至第三闪速存储器126与第四闪速存储器128。最后,数据读写单元162会将预计写入至物理区块122-0的第3页面、第4页面与第5页面以及预计写入至物理区块124-0的第3页面、第4页面与第5页面的页数据传输(即,传输T13、T14、T15、T16、T17与T18)至第一闪速存储器122与第二闪速存储器124。
[0075] 另外,在本实施例中,数据读写单元162会以交错方式将数据传输至每一闪速存储器单元的闪速存储器。如图4所示,将预计写入至物理区块122-0的第0页面、第1页面与第2页面以及预计写入至物理区块124-0的第0页面、第1页面与第2页面的页数据传输至第一闪速存储器122与第二闪速存储器124的过程中,数据读写单元162会依序地将预计写入至物理区块122-0的第0页面的页数据传输(即,传输T1)至第一闪速存储器122、将预计写入至物理区块124-0的第0页面的页数据传输(即,传输T2)至第二闪速存储器124、将预计写入至物理区块122-0的第1页面的页数据传输(即,传输T3)至第一闪速存储器122、将预计写入至物理区块124-0的第1页面的页数据传输(即,传输T4)至第二闪速存储器124、将预计写入至物理区块122-0的第2页面的页数据传输(即,传输T5)至第一闪速存储器122以及将预计写入至与物理区块124-0的第2页面的页数据传输(即,传输T6)至第二闪速存储器124。传输T7~T12以及传输T13~T18亦是相同于上述以交错方式来执行,在此不再详细描述。
[0076] 如图4所示,传输T1~T18可以较稳定的方式被执行,不会因为所有闪速存储器皆处于忙碌状态而长时间的中断传输。因此,根据本实施例的闪速存储器存储系统100能够使主机系统200所传送的欲写入数据以较稳定的方式传输至闪速存储器晶片120,而有效地减少缓冲存储器158的使用。
[0077] 值得一提的是,如上所述,尽管存储器管理单元160与数据读写单元162是以一硬件形式实现在闪速存储器控制器130中,然而本发明不限于此。在另一实施例中,存储器管理单元160与数据读写单元162可以是以一固件形式实现在控制器130中。例如,将完成存储器管理单元160与数据读写单元162的功能的多个程序刻录至一程序存储器(例如,只读存储器(Read OnlyMemory,以下简称ROM))中并且将此程序存储器嵌入在闪速存储器控制器130中,当闪速存储器存储系统100运作时,此些程序会由微处理器单元152来执行以完成根据本发明实施例的数据传输机制。
[0078] 在本发明另一实施例中,完成存储器管理单元160与数据读写单元162的功能的多个程序也可以软件形式存储于闪速存储器晶片120的特定区域(例如,闪速存储器中专用于存放系统数据的系统区)中。同样的,当闪速存储器存储系统100运作时,此些程序会由微处理器单元152来执行。
[0079] 此外,在本发明另一实施例中,闪速存储器控制器亦可包括其他电路单元。图5是根据本发明另一实施例所绘示的闪速存储器控制器的方块图。请参照图5,除了上述微处理器单元152、第一接口单元154、第二接口单元156、缓冲存储器158、存储器管理单元160与数据读写单元162之外,闪速存储器控制器130’还包括光罩式只读存储器(Mask ROM)402、程序随机存取存储器(Program Random Access Memory)404与安全引擎(Security Engine)单元406。并且闪速存储器控制器130’配置仲裁器(Arbiter)424与426来将缓冲存储器158、存储器管理单元160与数据读写单元162电性连接至微处理器单元152。
[0080] 光罩式只读存储器402与程序随机存取存储器404是通过复用器(MUX)422电性连接至微处理器单元152。光罩式只读存储器402是用以存储用于闪速存储器控制器130’的信息或程序码,特别是,此些信息或程序码是不允许被更动的。程序随机存取存储器404是用以暂时地存放微处理器单元152所正执行的固件码。具体来说,由于随机存取存储器的运作速度较快,因此将微处理器单元152所正在执行的固件码先载入至程序随机存取存储器可提升闪速存储器控制器130’的运作效率。例如,在以固件或软件形式实现存储器管理单元160与数据读写单元162的例子中,在闪速存储器存储系统100初始化时,完成此些单元的功能的程序会被载入至程序随机存取存储器后,再由微处理器单元152来执行。
[0081] 安全引擎单元406是电性连接至微处理器单元152并且用以加解密写入至闪速存储器晶片120中的数据,以确保数据的可靠性。在本实施例中,安全引擎单元406所使用的加解密技术为高阶加密标准(Advanced EncryptionStandard,以下简称AES),然而本发明不限于此,国家标准局数据加密标准(data encryption standard,以下简称DES)或其他加密技术亦可应用于本发明。
[0082] 错误校正单元408是电性连接至微处理器单元152并且用以依据主机系统200欲写入至闪速存储器晶片120的数据产生错误校正码(Error CorrectingCode),并且于主机系统200欲从闪速存储器晶片120中读取数据时依据所产生的错误校正码执行一错误校正程序以确保数据的正确性。
[0083] 图6是根据本发明第一实施例所绘示的数据传输的流程图。
[0084] 请参照图6,当主机系统200欲写入大量页数据至闪速存储器存储系统100时,在步骤S601中存储器管理单元160会依据逻辑地址-物理地址对映表及相关闪速存储器的配置信息从第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128中选择可使用的物理区块。
[0085] 之后,在步骤S603中存储器管理单元160会将所选择的物理区块中的存储单元阵列分组为数个数据传输单位组。将存储单元阵列分组为数个数据传输单位组的方法已配合图3A与图3B描述如前,在此不重复描述。
[0086] 接着,在步骤S605中数据读写单元162会依据存储器管理单元160所产生的分组信息以数据传输单位组为单位将主机系统200欲写入的页数据交错地传输至第一闪速存储器单元120a与第二闪速存储器单元120b中。
[0087] 值得一提的是,图3A、图3B与图4的实施例中是使用第一闪速存储器122、第二闪速存储器124、第三闪速存储器126与第四闪速存储器128等4个闪速存储器的彼此交错方式来传输与程序化主机系统200欲写入的数据。然而,本发明不限于此,例如,当主机系统200欲写入的数据量较少时,存储器管理单元160与数据读写单元162可仅使用2个闪速存储器的彼此交错方式来传输与程序化主机系统200欲写入的数据。或者,当闪速存储器存储系统配置更多数目的闪速存储器时,存储器管理单元160与数据读写单元162可使用更多数目闪速存储器来以交错方式来传输与程序化主机系统200欲写入的数据。
[0088] 图7是根据本发明第二实施例所绘示的闪速存储器存储系统的概要方块图。
[0089] 请参照图7,闪速存储器存储系统700包括连接器110、闪速存储器晶片720、与闪速存储器控制器730。闪速存储器存储系统700与闪速存储器存储系统100的差异在于闪速存储器存储系统700的闪速存储器晶片720仅包括2个闪速存储器,因此,闪速存储器控制器730的存储器管理单元160’与数据读写单元162’仅会对2个闪速存储器进行上述分组与数据传输,除此之外,闪速存储器存储系统700的结构与第一实施例中功能本质上是相同于第一实施例中的闪速存储器存储系统100,在此不再重复描述。
[0090] 在闪速存储器存储系统700中,闪速存储器晶片720包括第一闪速存储器122与第二闪速存储器124,因此存储器管理单元160’会将第一闪速存储器122分组为第一闪速存储器单元120c并且将第二闪速存储器124分组为第二闪速存储器单元120d。也就是说,在闪速存储器存储系统700中每一闪速存储器单元仅包括1个闪速存储器。
[0091] 图8是根据本发明第二实施例所绘示的以交错方式传输与程序化页数据的实施例。在此实施例中,假设主机系统200欲写入闪速存储器存储系统700的数据为页数据PD1~PD9且存储器管理单元160’使用第一闪速存储器122的物理区块122-1中的第0存储单元阵列与第1存储单元阵列与第二闪速存储器124的物理区块124-1中的第0存储单元阵列来写入页数据PD1~页数据PD9。
[0092] 类似于图3A与图3B所示的方式,存储器管理单元160’会将物理区块122-1的第0存储单元阵列(即,物理区块122-1的第0页面、第1页面与第2页面)与第1存储单元阵列(即,物理区块122-1的第3页面、第4页面与第5页面)以及物理区块124-1的第0存储单元阵列(即,物理区块124-1的第0页面、第1页面与第2页面)进行分组。具体来说,在此实施例中,物理区块122-1的第0页面、第1页面与第2页面会被分组为此次写入程序的第1数据传输单位组,物理区块124-1的第0页面、第1页面与第2页面会被分组为此次写入程序的第2数据传输单位组,并且物理区块122-1的第3页面、第4页面与第5页面会被分组为此次写入程序的第3数据传输单位组。
[0093] 之后,数据读写单元162’会依据存储器管理单元160’所产生的分组信息,以数据传输单位组为单位使用交错方式将页数据PD1~页数据PD9传输至第一闪速存储器单元120c与第二闪速存储器单元120d中。
[0094] 请参照图8,数据读写单元162’会先将预计写入至物理区块122-1的第0页面、第1页面与第2页面的页数据传输(即,传输T21、T22与T23)至第一闪速存储器122。然后,数据读写单元162’会将预计写入至物理区块124-1的第0页面、第1页面与第2页面的页数据传输(即,传输T24、T25与T26)至第二闪速存储器124。最后,数据读写单元162’会将预计写入至物理区块122-1的第3页面、第4页面与第5页面的页数据传输(即,传输T27、T28与T29)至第一闪速存储器122。
[0095] 值得一提的是,在第二实施例中,在每一存储单元阵列中,下页、中页与上页会分组为一数据传输单位组。然而,本发明另一实施例中,闪速存储器存储系统700亦可在每一存储单元阵列中将下页与中页分组为一第一子数据传输单位组且将上页分组为一第二子数据传输单位组,且数据读写单元162’会以第一子数据传输单位组与第二子数据传输单位组来交错地在第一闪速存储器122与第二闪速存储器124之间传输数据。
[0096] 图9是根据本发明第三实施例所绘示的数据传输的流程图,且图10是根据本发明第三实施例所绘示的以交错方式传输与程序化页数据的实施例。
[0097] 请参照图9与图10,当主机系统200欲写入大量页数据至闪速存储器存储系统700时,在步骤S901中存储器管理单元160’会依据逻辑地址-物理地址对映表及相关闪速存储器的配置信息从第一闪速存储器122与第二闪速存储器124中选择可使用的物理区块。
[0098] 之后,在步骤S903中存储器管理单元160’会将所选择的物理区块中每一存储单元阵列中的页面分组为数个第一子数据传输单位组与第二子数据传输单位组。具体来说,在每一存储单元阵列中,下页与中页会被视为第一子数据传输单位组而上页会被视为第二子数据传输单位组。例如,以第一闪速存储器122的物理区块122-1为例,第0页面与第1页面、第3页面与第4页面、第6页面与第7页面...会分别地被视为第一子数据传输单位组以及第2页面、第5页面、第8页面...会分别地被视为第二子数据传输单位组。
[0099] 接着,在步骤S905中数据读写单元162’会依据存储器管理单元160’所产生的分组信息以第一与第二子数据传输单位组为单位将主机系统200欲写入的页数据交错地传输至第一闪速存储器122与第二闪速存储器124中。
[0100] 例如,数据读写单元162’先将预计写入至物理区块122-1的第0页面与第1页面的页数据传输至第一闪速存储器122(即,传输T21与T22)。之后,数据读写单元162’会将预计写入至物理区块124-1的第0页面与第1页面的页数据传输至第二闪速存储器124(即,传输T24与T25)。然后,数据读写单元162’会将预计写入至第2页面的页数据传输至第一闪速存储器122(即,传输T23)。之后,数据读写单元162’会将预计写入至物理区块124-1的第2页面的页数据传输至第二闪速存储器124(即,传输T26)。之后,数据读写单元162’会将预计写入至物理区块122-1的第3页面与第4页面的页数据传输至第一闪速存储器122(即,传输T27与T28)。最后,数据读写单元162’会将预计写入至物理区块
122-1的第5页面的页数据传输至第一闪速存储器122(即,传输T29)。
[0101] 综上所述,本发明实施例所提出的数据传输方法是将多个闪速存储器中预计写入的数据依据不同程序化速度的页面分组为多个数据传输单位组,并且依据所分组的数据传输单位组来进行数据传输,由此可避免所有闪速存储器皆处于忙碌状态而长时间的中断传输。因此,根据本实施例的闪速存储器存储系统能够以较稳定地方式传输主机系统欲写入的数据至闪速存储器晶片,而有效地减少缓冲存储器的使用。
[0102] 最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。