CN1311366C - 快闪存储器的平行双轨使用方法 - Google Patents

快闪存储器的平行双轨使用方法 Download PDF

Info

Publication number
CN1311366C
CN1311366C CNB03138630XA CN03138630A CN1311366C CN 1311366 C CN1311366 C CN 1311366C CN B03138630X A CNB03138630X A CN B03138630XA CN 03138630 A CN03138630 A CN 03138630A CN 1311366 C CN1311366 C CN 1311366C
Authority
CN
China
Prior art keywords
flash memory
data
block
page
parallel double
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CNB03138630XA
Other languages
English (en)
Other versions
CN1549133A (zh
Inventor
颜駩
黄树群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CNB03138630XA priority Critical patent/CN1311366C/zh
Publication of CN1549133A publication Critical patent/CN1549133A/zh
Application granted granted Critical
Publication of CN1311366C publication Critical patent/CN1311366C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明是一种快闪存储器的平行双轨使用方法,其平行双轨的使用方式是利用多组各自独立的数据总线来对快闪存储器做数据的搬运,其动作原理是在读写多笔区段时,控制器会以多个页区块为单位对快闪存储器做读或写的动作,其主要作用于利用平行双轨使用方法加上交错执行架构底下,使控制器在同一时间里所搬运的数据提升数倍,配合使用母与子的观念,即一个逻辑位置同时由两“实体”所拥有,在写入数据时控制器不需要一直重复的对快闪存储器做搬动及抹除的动作,即可延长快闪存储器的使用寿命,且可提升快闪存储器写入数据的速度,另,配合增如运用Copy Back的指令,用以降低等待忙碌状态及有效缩短数据搬动的时间。

Description

快闪存储器的平行双轨使用方法
技术领域
本发明涉及一种快闪存储器的使用方法,特别是一种快闪存储器的平行双轨使用方法。
背景技术
目前市面上的数据处理装置,其主机端的数据处理搬运速度非常快速,例如USB2.0为480Mbs、IEEE1394为800Mbs、IDE介面为16.66MBs,但因为可塑性快闪存储器元件装置速度有其限制,使得储存端因等待快闪存储器装置处理,而降低速度,因为当快闪存储器作了写入数据的动作后,快闪存储器即会进入忙碌状态,而其等待时间非常久,且下次要使用快闪存储器时,还得等到快闪存储器离开忙碌状态,造成整个装置的速度无法提升;基于快闪存储器的物理特性,除非对快闪存储器做抹除的动作,快闪存储器会将相对的区块的数据全变成“1”,若对快闪存储器做写入的动作时,快闪存储器只能将数据由“1”变成“0”,而无法将数据由“0”变成“1”,由于抹除的动作是以一个区块为单位,因此在管理上也就以一个区块为单位来管理;在数据的拷贝当中,主机端常会不断的更新快闪存储器的档案配置表,若拷贝的数据都是一些小档案的话,快闪存储器一次也不过处理几个页区块的数据,快闪存储器还得不断的找一个新的区块出来,并不断的将旧区块里的数据搬到新的区块去,及不断的对旧的区块做抹除,另,基于快闪存储器的另一个物理特性,对快闪存储器作抹除的动作超过一百万次后会容易造成快闪存储器内部的损毁,所以要延长快闪存储器的寿命,就得减少对快闪存储器做抹除的动作。
为了提升速度,快闪存储器新增了Copy Back的指令。因为储存在快闪存储器里头的数据需要不断的搬动,使得在管理上需要不断的对快闪存储器做读数据(Read Data)及写入数据(Write Data)的动作,造成管理上一直都进入忙碌状态,当对快闪存储器下Copy Back的指令后,快闪存储器不会将数据读出,而是放在快闪存储器里头的暂存器里,接着只要再对快闪存储器下CopyBack Write的指令,快闪存储器就会再将已存放在内部暂存器的数据写入快闪存储器中,而完成这整个动作的时间将比数据读出再写入所花的时间来得短。
请参阅图1A,是现有控制器准备写两笔数据至区块0的页区块3,请参阅图1B,是现有控制器先处理第一笔页区块3的数据,即先将数据所要写入的相对页区块以上的数据,先从旧的区块搬到新的区块去,请参阅图1C,是现有控制器将数据填到页区块3,即将要写入的第一笔数据写到相对的新的区块的页区块去,请参阅图1D,是现有控制器将第二笔数据填到新的区块的页区块4,这时控制器不会立刻将旧区块中其余的页区块搬到新的区块去,而是将第二笔数据继续写到下一个页区块去,请参阅图1E,是现有控制器将页区块4以下的页区块从旧的区块搬到新的区块去,等到所有的数据都写完后,再将其余的页区块完完整整的从旧区块搬到新的区块去,请参阅图1F,是现有控制器将旧的区块抹除(Erase)掉,而由新的区块取代旧的区块,然后再将旧的区块抹除掉,如此,上述方式使用快闪存储器,不断的将旧区块里的数据搬到新的区块去,及不断的对旧的区块做抹除,快闪存储器的破坏故障率会很高,故如何提升可塑性快闪存储器处理速度并减少对快闪存储器做抹除的动作,是现有最大的瓶颈。
另,现有的Copy Back的指令在使用管理上有所限制,因为有支援Copy Back的快闪存储器都会分成四个区块面(Plane),而在相同的区块面里才能接受Copy Back的指令,这些区块面是以区块的顺序来配置,区块面0的区块为所有的磁区的第0,4,8…1020区块,也就是所有“实体”地址为4n+0(0≤n≤255)的区块,区块面1所包括的区块为所有磁区的第1,5,9…1021区块,也就是所有的“实体”地址为4n+1(0≤n≤255)的区块,区块面2所包括的区块为所有磁区的第2,6,10…1022区块。也就是所有“实体”地址为4n+2(0≤n≤255)的区块,区块面3所包括的区块为所有磁区的第3,7,11…1023区块,也就是所有“实体”地址为4n+3(0≤n≤255)的区块,如此一来,对于区块的分配管理已与以往不同,管理上的第0个磁区所含的区块已非快闪存储器实际上的第0个磁区所含的区块,而管理上第0个磁区所包含的区块为快闪存储器实际上磁区0、磁区1、磁区2及磁区3中的所有第4n+0(0,4,8…1020)区块,因此所有支援Copy Back的快闪存储器管理上都需分成四个区块面(Plane),而在相同的区块面里才能接受Copy Back的指令,是其一大限制。
发明内容
本发明所要解决的技术问题是,针对现有技术的上述不足,提供一种提升抉闪存储器处理速度,缩短数据搬动的时间的快闪存储器的平行双轨(Parallel)使用方法。
实现本发明的快闪存储器的平行双轨使用方法的技术方案如下:
一种快闪存储器的平行双轨使用方法,其特征是:以多组各自独立的数据总线,对快闪存储器做数据的搬运,当将要读写的数据是多笔区段的情况下,控制器每次会以多个页区块为单位对快闪存储器做读或写的动作,因此,若硬件架构下有多个独立的数据总线,则控制器就一次以多个页区块为单位对快闪存储器做读或写的动作。
根据该方法,在平行双轨使用方法之下并利用一个以上的快闪存储器并搭配快闪存储器中页区块的奇数页或偶数页来分别管理数据的搬运,以于快闪存储器的平行双轨使用方法下也形成一交错执行的架构。
根据该方法,在平行双轨使用方法下加上利用页区块的奇数页或偶数页来分别管理数据的搬运的交错执行的架构底下,再进一步利用快闪存储器的多个实***置同时指在同一个逻辑位置的母/子的观念,在写入数据时控制器不需要一直重复的对快闪存储器做搬动及抹除的动作,以延长快闪存储器的使用寿命,且提升快闪存储器写入数据的速度。
根据该方法,在平行双轨使用方法下加上利用页区块的奇数页或偶数页来分别管理数据的搬运的交错执行的架构底下,进一步增加运用Copy Back的指令来将数据以不同区块的顺序分别暂存于缓冲器,以降低等待忙碌状态,缩短数据搬动的时间。
根据该方法,所述平行双轨使用方法来管理快闪存储器的架构包括USB1.1系列的随身碟和读卡机、USB2.0系列的随身碟和读卡机、或IDE/PCMCIA在内的主机端装置。
本发明地优点在于:
1、本发明所提供的一种快闪存储器的平行双轨(Parallel)使用方法,其主要是使用多组各自独立的数据总线来对快闪存储器做数据的搬运,特别指其动作原理是对快闪存储器在读写多笔区段时,控制器会以多个页区块为单位,对其快闪存储器做读或写的动作,另,利用平行双轨使用方法加上交错执行(Inter Leave)架构底下,利用一个以上的快闪存储器共同来管理,交错的使用快闪存储器,以减少等待忙碌状态的时间,延长快闪存储器的使用寿命,而且也可以提升快闪存储器写入数据的速度,使得使用快闪存储器的流程更加的顺畅,使控制器在同一时间里所搬运的数据提升数倍,而配合使用母与子的观念,即一个逻辑位置同时由两“实体”拥有,当主机端对某个逻辑地址做写入数据的动作时,控制器将定义此逻辑区块所对应到的“实体”区块为母区块,然后控制器再从备用的逻辑区将和母区块指向的逻辑区块一致,若主机端所要写的页区块是第N个页区块,那控制器先将母区块的第0个区块到第N-1个区块搬到子区块去,再从子区块的第N个区块开始填写数据,当数据都处理完后,控制器不会立刻将母区块剩余的页区块搬到子区块去,而等到下一次主机端要写数据时再去判断是否从刚才的地址继续写入?若是,控制器就不需再找一个新的区块出来,而直接从子区块继续往下写,直到子区块的所有页区块都被写光后,控制器才将母区块给抹除掉,由子区块完全取代原本母区块的地位,如此一来,在写入数据时,控制器就不需要一直重复的对快闪存储器做搬动及抹除的动作了,即可延长快闪存储器的使用寿命,且可提升快闪存储器写入数据的速度,再加上增加运用快闪存储器新的Copy Back的指令以缩短等待忙碌状态时间,当对快闪存储器下Copy Back的指令后,快闪存储器不会将数据读出,而是放在快闪存储器里头的暂存器里,接着只要再对快闪存储器下Copy BackWrite的指令,快闪存储器就会再将已存放在内部暂存器的数据写入快闪存储器中,而完成这整个动作的时间将比将数据读出再写入所花的时间来得短。
2、以本发明快闪存储器的平行双轨使用方法来管理快闪存储器的架构适用于任何主机端的装置,利如USB1.1、USB2.0系列的随身碟、读卡机或IDE/PCMCIA介面卡等装置皆可使用。
3、依据本发明所实施的快闪存储器的平行双轨使用方法,特别是交错执行架构底下以本发明配合运用母与子的观念,再加上增加运用快闪存储器新的Copy Back的指令,来管理快闪存储器,如此将可克服改善现有技术所产生的不便与瓶颈,并可缩短数据读写所需的时间,且增长使用寿命。
为能对于本发明的目的及功效有更进一步的了解,故本发明所采用的技术手段及其构造,兹附图就本发明的较佳实施例详加说明如下,使利完全了解。
附图说明
图1A是现有技术为写两笔数据至区块0的页区块3的步骤图(一)。
图1B是现有技术为写两笔数据至区块0的页区块3的步骤图(二)。
图1C是现有技术为写两笔数据至区块0的页区块3的步骤图(三)。
图1D是现有技术为写两笔数据至区块0的页区块3的步骤图(四)。
图1E是现有技术为写两笔数据至区块0的页区块3的步骤图(五)。
图1F是现有技术为写两笔数据至区块0的页区块3的步骤图(六)。
图2A是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(一)。
图2B是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(二)。
图2C是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(三)。
图2D是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(四)。
图2E是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(五)。
图2F是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(六)。
图2G是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图(七)。
图3是描述只用两个快闪存储器及只考虑交错执行的状况及架构流程图。
图4A是描述利用本发明的平行双轨的使用方式同时对2个快闪存储器做读取的流程图。
图4B是描述利用本发明的平行双轨的使用方式同时对2个快闪存储器做写入的流程图。
图5A是描述快闪存储器经交错执行管理的I--区块(Block)里I--区页(Page)的分配。
图5B是描述快闪存储器经交错执行管理的I--区域(Zone)里I--区块(Block)的分布。
图6A是描述加入Copy Back指令的新的管理方式的“实体“位置分布图(一)。
图6B是描述加入Copy Back指令的新的管理方式的“实体”位置分布图(二)。
图7是本发明的描述主机端至快闪存储器读取数据的处理流程图。
图8是本发明的描述主机端写入数据至快闪存储器的处理流程图。
具体实施方式
请参阅图2A,是描述利用母/子的观念架构写两笔数据至区块0的页区块3的步骤图,当控制器准备写两笔数据至区块0的页区块3,请参阅图2B,是控制器先处理第一笔页区块3的数据,即先将数据所要写入的相对页区块以上的数据,先从母区块搬到子区块去,请参阅图2C,是控制器将数据填到页区块3,即将要写入的第一笔数据写到子区块的页区块去,请参阅图2D,是控制器将第二笔数据填到子的页区块4,请参阅图2E,是控制器此时不会立刻将母区块中其余的页区块搬到子区块去,而是将第二笔数据继续的写到子区块下一个页区块去,然后继续保持等待下一次对快闪存储器的动作,请参阅图2F,是下一次写入动作发生时,控制器将新的一笔数据继续的写到子区块下一个页区块5去,请参阅图2G,是直到子区块的页区块都被写满后,才将母区块抹除(Erase)掉,而完全由子区块取代。
交错执行架构以两个容量为64Mega Byte快闪存储器为例,一个区块有32个页区块,当形成交错执行架构后,其一个区块就变成有64个页区块,其第一个页区块为第一个快闪存储器原本的第一个页区块,第二个页区块为第二个快闪存储器原本的第一个页区块,第三个页区块为第一个快闪存储器原本的第二个页区块,第四个页区块为第二个快闪存储器原本的第二个页区块,也就是说,一个区块中的偶数页区块将分配到第一个快闪存储器,而奇数页区块则分配到第二个快闪存储器。
请参阅图3,是描述只用两个快闪存储器及只考虑交错执行的状况及架构流程图,以写入为例,即当写入两笔或两笔以上区段到快闪存储器时,将第一笔区段写入第一个快闪存储器(见步骤330),而当第一个快闪存储器(见步骤330)进入忙碌状态(Busy Condition)时,程序不必等待其回复到等待(Reday)状态就可以立刻将致能第二个快闪存储器(见步骤340),并将第二笔数据写到第二个快闪存储器(见步骤340),若要处理第三笔区段时,亦使用同样的方法,不需要等待第二个快闪存储器(见步骤340)跳出忙碌状态,就可立刻再致能第一个快闪存储器(见步骤330),并将第三笔区段写到第一个快闪存储器(见步骤330),如此一来,就可以省下不少时间,是以,本流程将依下列步骤执行:
步骤100,主端下读取/写入指令,读取执行步骤210,写入执行步骤220;
步骤210,判断所要读取的页区块是奇数还是偶数,奇数执行步骤320,偶数执行步骤310;
步骤220,判断所要写入的页区块是奇数还是偶数,奇数执行步骤340,偶数执行步骤330;
步骤310,从第一个快闪存储器读取数据,执行步骤410;
步骤320,从第二个快闪存储器读取数据,执行步骤410;
步骤330,写入数据到第一个快闪存储器,执行步骤420;
步骤340,写入数据到第二个快闪存储器,执行步骤420;
(410)判断是否要继续读取数据,“yes”跳回执行(210),“no”执行(500);
(420)判断是否要继续写入数据,“yes”跳回执行(220),“no”执行(500);
(500)结束跳出回圈。
请参阅图4A所示,是描述利用本发明的平行双轨的使用方式同时对2个快闪存储器做读取的流程图,控制器会以两个页区块同时对两个不同的快闪存储器做读写的动作,如此硬件就必须拥有各自独立的两组快闪存储器数据讯号总线,这两个讯号各自连接到两个快闪存储器,而控制器就以这两组数据讯号将数据同时搬到这两个快闪存储器去,若要从快闪存储器读取数据时,控制器同时对这两个快闪存储器下读取数据的指令,再利用这两组独立的数据总线将各别从第一个快闪存储器和第二个快闪存储器中将数据读取回来,其步骤如下:
(100)主机端读取两笔或两笔以上数据至(210)及(220):
(210)控制器利用第一组数据讯号总线从第一个快闪存储器读取数据,执行(310);
(220)控制器利用第二组数据讯号总线从第二个快闪存储器读取数据,执行(320);
(310)第一个快闪存储器将数据传送到控制器的缓冲器,执行(400);
(320)第二个快闪存储器将数据传送到控制器的缓冲器,执行(400):
(400)将2个区段数据从缓冲器传送到主机端,执行(500);
(500)检查是否继续传送数据到主机端,“yes”执行(210)及(220),“no”执行(600);
(600)跳出回圈。
反之,请参阅图4B所示,是描述利用本发明的平行双轨的使用方式同时对2个快闪存储器做写入的流程图,若此时要写入两笔数据到快闪存储器时,控制器同时对这两个快闪存储器下写入数据的指令,再利用这两组独立的数据总线将这两笔数据各别的搬到第一个快闪存储器和第二个快闪存储器去,其步骤如下:
(100)主机端写入两笔或两笔以上数据,执行(200);
(200)由主机端传送两笔数据到缓冲器,执行(310)及(320);
(310)控制器利用第一组数据讯号总线将数据搬到第一个快闪存储器去并写入,执行(410);
(320)控制器利用第二组数据讯号总线将数据搬到第二个快闪存储器去并写入,执行(420);
(410)第一个快闪存储器将数据传送到控制器的缓冲器,执行(500);
(420)第二个快闪存储器将数据传送到控制器的缓冲器,执行(500);
(500)检查是否继续写数据到快闪存储器,“yes”执行(200),“no”执行(600);
(600)跳出回圈。
为了说明清楚,快闪存储器的实体(Physical)位置用磁区(Zone),区块(Block),页区块(Page)来表示,而交错执行的管理的实际位置则用I--磁区(Zone),I--区块(Block)及I--页区块(Page)来表示,一个64Mbytes的快闪存储器有四个磁区(Zone),各个磁区有1024个区块(Block),每个区块含有32个页区块(Page),在快闪存储器的管理流程上,由于已储存在快闪存储器里头的数据需要不断的搬动,使得在管理上需要不断的对快闪存储器做读数据(Read Data)及写入数据(Write Data)的动作,如此一来,将会造成管理上一直都进入忙碌状态。为了提升速度,新一代的快闪存储器新增了CopyBack的指令,当对快闪存储器下(Copy Back Read)的指令后快闪存储器不会将数据读出,而是放在快闪存储器里头的暂存器里(Flash Memory InternalBuffer),接着只要再对快闪存储器下Copy Back Write的指令,那快闪存储器会再将已存放在内部暂存器的数据写入快闪存储器中,而完成这整个动作的时间将比把数据读出再写入所花的时间来得短,由于Copy Back的快闪存储器都会分成四个区块面,所以容量为64Mega(10的6次方)Bytes或以上的快闪存储器才支援Copy BaCk这种指令,以二个64Mbytes的快闪存储器为例。
请参阅图5A所示,是描述快闪存储器经交错执行管理的I--区块(Block)里I--区页(Page)的分配,每一个快闪存储器的磁区(Zone)0组成I--磁区(Zone)0,每一个快闪存储器的磁区1则组成I--磁区(Zone)1,以此类推就可以分成I--磁区(Zone)0,I--磁区(Zone)1,I--磁区(Zone)2,及I--磁区(Zone)3,四个大区块,而一个I--磁区(Zone)依然只有1024个I--区块(Block),而每一个I--区块(Block)也是由二个快闪存储器的同一个区块组合而成,也因为如此,所以每一个I--区块(Block)的I--页区块(Page),就会是区块的二倍,即一个I--区块(Block)有64个I--页区块(Page),也就是说以二个64Mbytes组成的交错执行架构共有四个I--磁区(Zone)每一个I--磁区(Zone)有1024个I--区块(block),每一个I--区块(Block)有64个I--页区块(Page)。
而其总容量则为2×1024×128×512(Bytes)相等于64×2(Mega Bytes),I--页区块(Page)的分配则是由I--区块(Block)中二个区块里的页区块轮流,以I--磁区(Zone)0的I--区块(Block)0为例,I--区块(Block)0的I--页区块(Page)。在实***置是分配到第一个快闪存储器里磁区(Zone)。中区块(Block)0的页区块(Page)0,而I--页区块(Page)1分配到第二个快闪存储器里磁区(Zone)0中区块区块(Block)0的页区块(Page)0,I--页区块(Page)2则再分配回到第一个快闪存储器里磁区(zone)0中区块(Block)0的页区块(Page)1,I--页区块(Page)3分配回到第二个快闪存储器里磁区(Zone)0中区块(Block)0的页区块(Page)1,以此类推。
请参阅图5B所示,是描述快闪存储器经交错执行管理的I--区域(Zone)里I--区块(Block)的分布,若不加入Copy Back的方式来管理,则图5A、图5B中的实***置分布就为最终的实***置,但若加入Copy Back的方式则需再往上做变更。
请参阅图6A、图6B所示,是描述如入Copy Back指令的新的管理方式的“实体”位置分布图,为了说明清楚,交错执行的管理实***置I--磁区(Zone),I--区块(Black)及I--页区块(Page)再如上Copy Back的管理后,其实***置的表示法改成I--C--磁区(Zone),I--C--区块(Black)及I--C--页区块(Page)。快闪存储器新的Copy Back的指令,新的Copy Back的管理方式,其分成四个区块面(Plane),而同一个区块面(Plane)中的I--C--区块(Black)才能接受Copy Back的指令,区块面(Plane)0的I--C--区(Plane)3所包括的I--C--区块(Black)为所有I--磁区块(Black),为所有的I--磁区(Zone)的第4n+0(0≤n≤255)I--区块(Black),区块面(Plane)1的I--C--区块(Black)为所有I--磁区(Zone)的第4n+1(0≤n≤255)I--区块(Black),区块面(Plane)2所包括的I--C--区块(Black)为所有I--磁区(Zone)的第4n+2(0≤n≤255)I--区块(Black),区块面(Zone)的第4n+3(0≤n≤255)I--区块(Black),而区块面(Plane)0就可视为新的I--C--磁区(Zone)0,区块面(Plane)1就是新的I--C--磁区(Zone)1……等等。
快闪存储器的“逻辑”及“实体”位置的初始化里,在快闪存储器的管理上,每一个区块都会拥有一个“逻辑”位置和一个“实体”位置,所谓“逻辑”位置就是主机端要读取数据的位置:而“实体”位置则是管理快闪存储器的位置,若不考虑交错执行及Copy Back,“实体”可看成是快闪存储器实际上的位置,但是由于加上了交错执行和Copy Back的管理,这里提到的“实体”已和快闪存储器实际上的位置不一样了,在还未便用快闪存储器之前,就得先将快闪存储器里每一区块的“实体”的相对“逻辑”位置找出来,这一个逻辑映射到“实体”位置的表称之为链结表格(Link Table)由于管理架构在母/子观念下,所以在一个快闪存储器里可能会出现两个“实体”位置同时指到同一个“逻辑”位置去,此时控制器就得去判断这两个“实体”位置哪一个是母而哪一个为子,并将母和子合并起来,将子剩余的页区块由母的页区块填满,再将母抹除掉,那样链结表格(Link Table)中的“逻辑”和“实体”就会都变成一一对应了,当链结表格(Link Table)都建立好后,那往后主机端对快闪存储器下的逻辑位置,控制器就能很快的把快闪存储器相对的“实体”位置找出来,并对快闪存储器进行处理了,初始化除了建立键结表格以外,另一个功能就是在初始化的过程中,将一些没有逻辑的区块或一些有的前处理不当的区块记录起来当备用的区块,这些备用的区块就是快闪存储器做读写时所需要的“新区块”,而将母和子合并将母抹除掉后,此区块就被记录起来当备用区块。
请参阅图7所示是本发明的描述主机端至快闪存储器读取数据的处理流程图。本发明将依下列步骤执行,
步骤(一)从主机端(700)得到的Head--Number(Byte)中的第6个bit记录为主机端所下的位置,判断是属于CHS的表示法还是LBA表示法(710),“0”为CHS表示法,“1”为LBA演算法,若为LBA则进行(720),CHS则进行(711),将位置由CHS转换成LBA,再进行(720),而LBA及CHS的转换法如下:LBA=(((Track×Head-per-Track)+Head-Num)×Sector-Per-Head)+Sector.-Num)-1:
注解:
a:上述公式中的参数都是CHs表示。
b:磁轨(Track):第几个磁柱(Cylinder)。
C:Head--Per--Track:一个磁轨(Track)为多少个Head。
d:Head--Num:第几个磁头(Head)。
e:Sector--Per--Num:一个磁头(Head)有多少个区段。
f:Sector--Num:第几个区段(Sector)。
g:如此经过公式转换出来的LBA表示法,表示此位置为第几个区段(Sector)。
h:Sector Counter:有多少笔数据要传送给主机端(Host)。
步骤(二)利用此快闪存储器共有多少个磁区(Zone)、一个磁区(Zone)有多少个区块(Block)、一个区块(Block)有多少个页区块(Page)(一个页区块为一个区段)来算出此LBA指出的位置(720)所在,而这个位置就是所谓的逻辑地址,即逻辑位置上,此区段是在第几个磁区里的第几个区块、第几个页区块,再经过链结表格(Link Table)将相对应的“实体”位置指出(730):
步骤(三)由于5A、5B、图6所示的转换方式将“实体”位置真正对应到快闪存储器的实际位置(740)指出;
步骤(四)虽然管理上是以两个页区块(Page)为单位来做读取数据,但主机端(Host)所要的数据不一定是双数的,所以在读取数据时得判断目前所要读取的数据是一笔或大于一笔(750),若是大于一笔,那控制器就可以以两个页区块(Page)为单位的方式去读取数据.进行(751),若目前所要读取的数据只有一笔(750),那麽控制器就得以一个页区块(Page)为单位去对快闪存储器做读取数据的动作,进行(760);
步骤(五)控制器判断这一笔数据是存在第一个快闪存储器或第二个快闪存储器里(760),若在第一个快闪存储器里,那控制器就利用第一组讯号对第一个快闪存储器做读取的动作,并将数据传送到控制器的缓冲器里(761),若是在第二个快闪存储器里,那控制器就利用第二组讯号对第二个快闪存储器做读取的动作,并将第二个快闪存储器的数据传送到控制器的缓冲器里(762),再将缓冲器的数据传送到主机端(763),并执行跳出回圈(771);
步骤(六)当控制器以两个页区块(Page)为单位的方式去读取数据(750),控制器利用第一组讯号和第二组讯号同时对第一个快闪存储器和第二个快闪存储器做读取数据的动作(751),(下指令时第一组和第二组的地址讯号(AddressBus)会相差“1”),并将数据依顺序存放到控制器的缓冲器里,依顺序将数据传送到主机端(752),第一个快闪存储器的数据不见得一定先送给快闪存储器,因为主机端所下的地址可能是从第二个快闪存储器开始的,所以控制器得以主机端的起始地址来判别这两笔数据的顺序(770);
步骤(七)当位置的递增后判断是否还有数据要继续从快闪存储器读取(780),若要,跳回流程的步骤(750)。
请参阅图8所示,是本发明的描述主机端写入数据至快闪存储器的处理流程图,本发明将依下列步骤执行如下:
步骤(一)从主机端(800)取得的Head--Number(Byte)中的第6个bit记录为主机端所下的位置,判断是属于CHS的表示法还是LBA表示法(810),“0”为CHS表示法,“1”为LBA演算法,若为LBA则进行(820),CHS则进行(811),将位置由CHS转换成LBA,再进行(820),而LBA及CHS的转换法如下:
LBA=(((Track×Head--per--Track)+Head--Num)×Sector--Per--Head)+Sector--Num)-1;
注解:
a:上述公式中的参数都是CHS表示。
b:磁轨(Track):第几个磁柱(Cylinder)
C:Head--Per--Track:一个磁轨(Track)为多少个Head。
d:Head--Num:第几个磁头(Head)。
e:Sector--Per--Num:一个磁头(Head)有多少个区段。
f:Sector--Num:第几个区段(Sector)
g:如此经过公式转换出来的LBA表示法,表示此位置为第几个区段(Sector)。
h:Sector Counter:有多少笔数据要传送给主机端(Host)。
步骤(二)利用此快闪存储器共有多少个磁区(Zone)、一个磁区(Zone)有多少个区块(Block)、一个区块(Block)有多少个页区块(Page)(一个页区块(Page)为一个区段(Sector)来算出此LBA指出的位置(820)所在,而这个位置就是所谓的逻辑地址,即逻辑位置上,此区段是在第几个磁区里的第几个区块、第几个页区块,再经过链结表格(Link Table)将相对应的“实体”位置指出(830);
步骤(三)由图5A、5B、6A、6B所示的转换方式为将“实体”位置真正对应到快闪存储器的实际位置(840)指出;
步骤(四)虽然管理上是以两个页区块(Page)为单位来做读取数据,但主机端(Host)所写入的数据不一定是双数的,所以在读取数据时得判断目前所要写入的数据是一笔或大于一笔(850),若是大于一笔,那控制器就可以以两个页区块(Page)为单位的方式去填写数据,进行(851),若目前所要写入的数据只有一笔(850),那麽控制器就得以一个页区块(Page)为单位去对快闪存储器做填写数据的动作,进行(860);
步骤(五)控制器判断这一笔数据是写在第一个快闪存储器或第二个快闪存储器里(860),若在第一个快闪存储器里,那控制器就利用第一组讯号从控制器的缓冲器里搬数据到第一个快闪存储器做写入的动作(861),若是在第二个快闪存储器里,那控制器就利用第二组讯号从控制器的缓冲器里搬数据到第二个快闪存储器并对其做写入的动作(862);
步骤(六)当控制器以两个页区块(Page)为单位的方式去读取数据(850),控制器利用第一组讯号和第二组讯号同时对第一个快闪存储器和第二个快闪存储器做填写数据的动作(851),(下指令时第一组和第二组的地址讯号(AddressBus)会相差“1”),并将数据依顺序的从控制器的缓冲器里搬数据到快闪存储器,第一笔的数据不见得就先填到第一个快闪存储器,因为主机端所下的地址可能是从第二个快闪存储器开始的,所以控制器得以主机端的起始地址来判别这两笔数据的顺序(852);
步骤(七)将区段计数一2再判断其是否为“0”,是“0”进行(853)跳出回圈,否,不为“0”进行(870);
步骤(八)再判断其区段计数是否大于“1”(870),若否,此时所要写的数据数目只剩下一笔,此时控制器就从主机端读取一笔数据(880),若是,控制器就得从主机端读取两笔数据(871);
步骤(九)当位置的递增后判断是否还有数据要继续从快闪存储器读取(890),若要,跳回流程的步骤(850)。
再者,上述的平行双轨使用方法来管理快闪存储器的架构为适用于任何主机端(Host)的装置(如USB1.1系列的随身碟、读卡机、USB2.0系列的随身碟、读卡机或IDE/PCMCIA介面卡。
但是,以上所揭露,仅是本发明的较佳实施例而已,自不能以此而局限本发明的专利范围,因此,举凡运用本发明的专利范围所做的均等变化与修饰,仍应包含于本发明所涵盖的权利要求范围内。
综上所述,本发明上述的快闪存储器的平行双轨使用方法于使用时,为确实能达到其功效及目的,故本发明诚为一实用性优异的创作,为符合发明专利的申请要件,爰依法提出申请,盼早日赐准本案,以保障发明人的辛苦发明,倘若钧局审委有任何稽疑,请不吝来函指示,发明人定当竭力配合,实感公便。

Claims (6)

1、一种快闪存储器的平行双轨使用方法,其特征是:以多组各自独立的数据总线,对快闪存储器做数据的搬运,当将要读取和/或写入的数据是多笔区段的情况下,控制器每次会以多个页区块为单位对快闪存储器做读取或写入的动作。
2、根据权利要求1所述的快闪存储器的平行双轨使用方法,其特征是:在平行双轨使用方法之下并利用一个以上的快闪存储器并搭配快闪存储器中页区块的奇数页或偶数页来分别管理数据的搬运,以于快闪存储器的平行双轨使用方法下也形成一交错执行的架构。
3、根据权利要求2所述的快闪存储器的平行双轨使用方法,其特征是:其中在平行双轨使用方法下加上交错执行的架构底下,利用一个以上的快闪存储器并搭配快闪存储器中页区块的奇数或偶数来分别管理数据的搬运,且该快闪存储器也设有各自独立的多组数据总线。
4、根据权利要求2所述的快闪存储器的平行双轨使用方法,其特征是:在平行双轨使用方法下加上利用页区块的奇数页或偶数页来分别管理数据的搬运的交错执行的架构底下,再进一步利用快闪存储器的多个实***置同时指在同一个逻辑位置的母/子的观念,在写入数据时控制器不需要一直重复的对快闪存储器做搬动及抹除的动作。
5、根据权利要求2所述的快闪存储器的平行双轨使用方法,其特征是:在平行双轨使用方法下加上利用页区块的奇数页或偶数页来分别管理数据的搬运的交错执行的架构底下,进一步增加运用Copy Back的指令来将数据以不同区块的顺序分别暂存于缓冲器,以降低等待忙碌状态,缩短数据搬动的时间。
6、根据权利要求1所述的快闪存储器的平行双轨使用方法,其特征是:所述平行双轨使用方法来管理快闪存储器的架构包括USB1.1系列的随身碟和读卡机、USB2.0系列的随身碟和读卡机、或IDE/PCMCIA在内的主机端装置。
CNB03138630XA 2003-05-22 2003-05-22 快闪存储器的平行双轨使用方法 Expired - Lifetime CN1311366C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB03138630XA CN1311366C (zh) 2003-05-22 2003-05-22 快闪存储器的平行双轨使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB03138630XA CN1311366C (zh) 2003-05-22 2003-05-22 快闪存储器的平行双轨使用方法

Publications (2)

Publication Number Publication Date
CN1549133A CN1549133A (zh) 2004-11-24
CN1311366C true CN1311366C (zh) 2007-04-18

Family

ID=34323777

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03138630XA Expired - Lifetime CN1311366C (zh) 2003-05-22 2003-05-22 快闪存储器的平行双轨使用方法

Country Status (1)

Country Link
CN (1) CN1311366C (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285970B2 (en) 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
CN101419841B (zh) * 2008-12-09 2011-03-16 苏州大学 一种flash存储器擦写方法
US8027195B2 (en) 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
CN102109964B (zh) * 2009-12-28 2012-11-28 慧荣科技股份有限公司 数据储存装置及闪存的数据写入方法
CN102866861B (zh) * 2010-01-13 2015-11-18 群联电子股份有限公司 闪存储存***、闪存控制器与数据写入方法
CN102163132B (zh) * 2010-02-24 2013-03-06 慧荣科技股份有限公司 闪存的数据存取方法以及闪存装置
CN102163131B (zh) * 2010-02-24 2013-03-06 慧荣科技股份有限公司 闪存的数据存取方法以及闪存装置
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145684A (zh) * 1995-03-17 1997-03-19 爱特梅尔股份有限公司 具有快擦写类存储器芯体的电可擦可编程只读存储器阵列
WO2000045267A1 (en) * 1999-01-28 2000-08-03 Infineon Technologies, Ag Techniques for improving memory access in a virtual memory system
CN1324025A (zh) * 2000-05-11 2001-11-28 英业达集团(南京)电子技术有限公司 节省资源且同时运行多个下载应用程序的方法
CN1474415A (zh) * 2002-08-07 2004-02-11 飞虹积体电路股份有限公司 以快闪存储器模拟电子抹除式可编程只读存储器的***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145684A (zh) * 1995-03-17 1997-03-19 爱特梅尔股份有限公司 具有快擦写类存储器芯体的电可擦可编程只读存储器阵列
WO2000045267A1 (en) * 1999-01-28 2000-08-03 Infineon Technologies, Ag Techniques for improving memory access in a virtual memory system
CN1324025A (zh) * 2000-05-11 2001-11-28 英业达集团(南京)电子技术有限公司 节省资源且同时运行多个下载应用程序的方法
CN1474415A (zh) * 2002-08-07 2004-02-11 飞虹积体电路股份有限公司 以快闪存储器模拟电子抹除式可编程只读存储器的***及方法

Also Published As

Publication number Publication date
CN1549133A (zh) 2004-11-24

Similar Documents

Publication Publication Date Title
CN1311366C (zh) 快闪存储器的平行双轨使用方法
US9817755B2 (en) Garbage collection management in memories
TWI409633B (zh) 快閃記憶體儲存裝置、其控制器與資料寫入方法
CN102754088B (zh) 用于在非易失性存储器阵列中的同时后台和前台操作的方法和***
CN1099678C (zh) 非易失性半导体磁盘装置
CN1652253A (zh) 存储卡和半导体器件
CN1761935A (zh) 半导体存储卡、半导体存储器控制装置以及半导体存储器控制方法
CN1637724A (zh) 用于闪速存储器的数据管理装置和方法
CN1201231C (zh) 数据存储器、数据处理***和方法
CN1991791A (zh) 使用非易失性存储器作为高速缓存的存储设备及运行方法
CN1701390A (zh) 跟踪非易失性存储器***中最频繁擦除区块
CN101038532A (zh) 数据存储装置及其方法
CN1918552A (zh) 基于主机使用特性的快闪存储器地址映射的适应性模式切换
CN1499530A (zh) 非易失性存储器***内有效允许失序写处理的方法和装置
CN1698036A (zh) 跟踪非易失性存储器***中最不频繁擦除区块
CN101061466A (zh) 用于处理闪速存储器的数据的装置和方法
CN1702776A (zh) 存储卡、半导体装置和半导体存储器的控制方法
CN1719422A (zh) 一种存储器文件数据虚拟存取方法
CN1700189A (zh) 闪存储存***
CN1645516A (zh) 用于闪速存储器的数据恢复设备和方法
Gao et al. Parallel all the time: Plane level parallelism exploration for high performance SSDs
CN1538456A (zh) 闪存存取装置及方法
CN1236386C (zh) 存储器件及存储控制方法
CN1819544A (zh) 一种基于bitmap表的缓存管理方法
CN1447242A (zh) 可适用于快闪存储卡的控制装置及其建构方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070418