CN1549133A - 快闪存储器的平行双轨使用方法 - Google Patents
快闪存储器的平行双轨使用方法 Download PDFInfo
- Publication number
- CN1549133A CN1549133A CNA03138630XA CN03138630A CN1549133A CN 1549133 A CN1549133 A CN 1549133A CN A03138630X A CNA03138630X A CN A03138630XA CN 03138630 A CN03138630 A CN 03138630A CN 1549133 A CN1549133 A CN 1549133A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- block
- data
- 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.)
- Granted
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的指令,是其一大限制。
发明内容
故,发明人有鉴于上述技术的缺失,搜集相关资料,经由多方评估及考虑,并以从事于此行业累积的多年经验,经由不断试作及修改,始发明出此种提升快闪存储器处理速度,缩短资料搬动的时间的快闪存储器的平行双轨(Paralle1)使用方法的发明专利。
本发明所要解决的技术问题是,针对现有技术的上述不足,提供一种提升快闪存储器处理速度,缩短资料搬动的时间的快闪存储器的平行双轨使用方法。
实现本发明的快闪存储器的平行双轨使用方法的技术方案如下:
一种快闪存储器的平行双轨使用方法,其特征是:以多组各自独立的资料汇流排,对快闪存储器做资料的搬运,当将要读写的资料是多笔区段的情况下,管理者每次会以多个页区块为单位对快闪存储器做读或写的动作,因此,若硬件架构下有多个独立的资料汇流排,则控制端就一次以多个页区块为单位对快闪存储器做读或写的动作。
所述的快闪存储器的平行双轨使用方法,其特征是:其中在平行双轨加上交错执行的架构底下为必需进一步使用两个以上的快闪存储器。
所述的快闪存储器的平行双轨使用方法,其特征是:其中在平行双轨加上交错执行的架构底下,因为利用一个以上的快闪存储器共同来管理,交错执行的使用快闪存储器,以减少等待忙碌状态的时间,而同时拥有各自独立的多组资料汇流排,对资料做搬运,故,在同一时间里,控制端所能搬运的资料会是习用搬运法的好几倍。
所述的快闪存储器的平行双轨使用方法,其特征是:其中在平行双轨加上交错执行的架构底下,再进一步配合上使用母/子的观念,在写入资料时控制端不需要一直重复的对快闪存储器做搬动及抹除的动作,即延长快闪存储器的使用寿命,且提升快闪存储器写入资料的速度。
所述的快闪存储器的平行双轨使用方法,其特征是:其中在平行双轨加上交错执行的架构底下,进一步增加运用Copy Back的指令来将资料暂存于缓冲器,得以降低等待忙碌状态,缩短资料搬动的时间。
所述的快闪存储器的平行双轨使用方法,其特征是:其中该平行双轨使用方法来管理快闪存储器的架构为适用于任何主机端的装置如USB1.1系列的随身碟、读卡机、USB2.0系列的随身碟、读卡机或IDE/PCMCIA。
本发明地优点在于:
1、本发明所提供的一种快闪存储器的平行双轨(Paralle1)使用方法,其主要是使用多组各自独立的资料汇流排来对快闪存储器做资料的搬运,特别指其动作原理是对快闪存储器在读写多笔区段时,管理者会以多个页区块为单位,对其快闪存储器做读或写的动作,另,利用平行双轨使用方法加上交错执行(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)跳出回圈。
为了说明清楚,快闪存储器的实体(Physica1)位置用磁区(Zone),区块(Block),页区块(Page)来表示,而交错执行的管理的实际位置则用I--磁区(Zone),I--区块(Block)及I--页区块(Page)来表示,一个64Mbytes的快闪存储器有四个磁区(Zone),各个磁区有1024个区块(Block),每个区块含有32个页区块(Page),在快闪存储器的管理流程上,由于已储存在快闪存储器里头的资料需要不断的搬动,使得在管理上需要不断的对快闪存储器做读资料(Read Data)及写入资料(Write Data)的动作,如此一来,将会造成管理上一直都进入忙碌状态。为了提升速度,新一代的快闪存储器新增了Copy Back的指令,当对快闪存储器下(Copy Back Read)的指令后快闪存储器不会将资料读出,而是放在快闪存储器里头的暂存器里(Flash MemoryInternal Buffer),接着只要再对快闪存储器下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)0在实体位置是分配到第一个快闪存储器里磁区(Zone)0中区块(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。
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 true CN1549133A (zh) | 2004-11-24 |
CN1311366C 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) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419841A (zh) * | 2008-12-09 | 2009-04-29 | 苏州大学 | 一种flash存储器擦写方法 |
CN102163132A (zh) * | 2010-02-24 | 2011-08-24 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
CN102163131A (zh) * | 2010-02-24 | 2011-08-24 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
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 |
US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
CN102109964B (zh) * | 2009-12-28 | 2012-11-28 | 慧荣科技股份有限公司 | 数据储存装置及闪存的数据写入方法 |
US8468294B2 (en) | 2009-12-18 | 2013-06-18 | Sandisk Technologies Inc. | Non-volatile memory with multi-gear control using on-chip folding of data |
US8681548B2 (en) | 2012-05-03 | 2014-03-25 | Sandisk Technologies Inc. | Column redundancy circuitry for non-volatile memory |
US8711625B2 (en) | 2009-07-06 | 2014-04-29 | Sandisk Technologies Inc. | Bad column management with bit information in non-volatile memory systems |
US8725935B2 (en) | 2009-12-18 | 2014-05-13 | Sandisk Technologies Inc. | Balanced performance for on-chip folding of non-volatile memories |
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 |
US9076506B2 (en) | 2012-09-28 | 2015-07-07 | Sandisk Technologies Inc. | Variable rate parallel to serial shift register |
CN102866861B (zh) * | 2010-01-13 | 2015-11-18 | 群联电子股份有限公司 | 闪存储存系统、闪存控制器与数据写入方法 |
US9224502B1 (en) | 2015-01-14 | 2015-12-29 | Sandisk Technologies Inc. | Techniques for detection and treating memory hole to local interconnect marginality defects |
US9269446B1 (en) | 2015-04-08 | 2016-02-23 | Sandisk Technologies Inc. | Methods to improve programming of slow cells |
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 |
US9490035B2 (en) | 2012-09-28 | 2016-11-08 | SanDisk Technologies, Inc. | Centralized variable rate serializer and deserializer for bad column management |
US9564219B2 (en) | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
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 |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
CN111414315A (zh) * | 2008-11-06 | 2020-07-14 | 慧荣科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5606532A (en) * | 1995-03-17 | 1997-02-25 | Atmel Corporation | EEPROM array with flash-like core |
US6442666B1 (en) * | 1999-01-28 | 2002-08-27 | Infineon Technologies Ag | Techniques for improving memory access in a virtual memory system |
CN1116640C (zh) * | 2000-05-11 | 2003-07-30 | 英业达集团(南京)电子技术有限公司 | 节省资源且同时运行多个下载应用程序的方法 |
CN1319071C (zh) * | 2002-08-07 | 2007-05-30 | 飞虹积体电路股份有限公司 | 以快闪存储器模拟电擦除可编程只读存储器的系统及方法 |
-
2003
- 2003-05-22 CN CNB03138630XA patent/CN1311366C/zh not_active Expired - Lifetime
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12019540B2 (en) | 2008-11-06 | 2024-06-25 | Silicon Motion, Inc. | Method for managing a memory apparatus |
CN111414315B (zh) * | 2008-11-06 | 2023-11-21 | 慧荣科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN111414315A (zh) * | 2008-11-06 | 2020-07-14 | 慧荣科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN101419841B (zh) * | 2008-12-09 | 2011-03-16 | 苏州大学 | 一种flash存储器擦写方法 |
CN101419841A (zh) * | 2008-12-09 | 2009-04-29 | 苏州大学 | 一种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 |
US8228729B2 (en) | 2009-06-05 | 2012-07-24 | Sandisk Technologies Inc. | Structure and method for shuffling data within non-volatile memory devices |
US8711625B2 (en) | 2009-07-06 | 2014-04-29 | Sandisk Technologies Inc. | Bad column management with bit information in non-volatile memory systems |
US9748001B2 (en) | 2009-07-06 | 2017-08-29 | Sandisk Technologies Llc | Bad column management with bit information in non-volatile memory systems |
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 |
US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
CN102109964B (zh) * | 2009-12-28 | 2012-11-28 | 慧荣科技股份有限公司 | 数据储存装置及闪存的数据写入方法 |
CN102866861B (zh) * | 2010-01-13 | 2015-11-18 | 群联电子股份有限公司 | 闪存储存系统、闪存控制器与数据写入方法 |
CN102163132A (zh) * | 2010-02-24 | 2011-08-24 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
CN102163131B (zh) * | 2010-02-24 | 2013-03-06 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
CN102163132B (zh) * | 2010-02-24 | 2013-03-06 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
CN102163131A (zh) * | 2010-02-24 | 2011-08-24 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
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 |
US9490035B2 (en) | 2012-09-28 | 2016-11-08 | SanDisk Technologies, Inc. | Centralized variable rate serializer and deserializer for bad column management |
US9076506B2 (en) | 2012-09-28 | 2015-07-07 | Sandisk Technologies Inc. | Variable rate parallel to serial shift register |
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 |
Also Published As
Publication number | Publication date |
---|---|
CN1311366C (zh) | 2007-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1311366C (zh) | 快闪存储器的平行双轨使用方法 | |
US9817755B2 (en) | Garbage collection management in memories | |
US7409489B2 (en) | Scheduling of reclaim operations in non-volatile memory | |
CN1230829C (zh) | 快速可电擦写可编程只读存储器系统中的数据处理方法 | |
CN1652253A (zh) | 存储卡和半导体器件 | |
CN1991791A (zh) | 使用非易失性存储器作为高速缓存的存储设备及运行方法 | |
Shahidi et al. | Exploring the potentials of parallel garbage collection in ssds for enterprise storage systems | |
CN1201231C (zh) | 数据存储器、数据处理系统和方法 | |
CN1701390A (zh) | 跟踪非易失性存储器系统中最频繁擦除区块 | |
CN1766850A (zh) | 具有存储元件的存储卡及其控制方法 | |
CN1808367A (zh) | 存储系统 | |
CN1637724A (zh) | 用于闪速存储器的数据管理装置和方法 | |
KR20090131146A (ko) | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 | |
CN1702776A (zh) | 存储卡、半导体装置和半导体存储器的控制方法 | |
CN101061466A (zh) | 用于处理闪速存储器的数据的装置和方法 | |
CN1719422A (zh) | 一种存储器文件数据虚拟存取方法 | |
CN1516115A (zh) | 非易失性半导体磁盘装置 | |
CN101908368A (zh) | 电子存储装置及其操作方法 | |
CN1645516A (zh) | 用于闪速存储器的数据恢复设备和方法 | |
WO2007019198A2 (en) | Non-volatile memory with scheduled reclaim operations | |
Gao et al. | Parallel all the time: Plane level parallelism exploration for high performance SSDs | |
CN1538456A (zh) | 闪存存取装置及方法 | |
CN1447242A (zh) | 可适用于快闪存储卡的控制装置及其建构方法 | |
CN1214326C (zh) | 非易失性存储装置及其控制方法 | |
CN101030218A (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 |
Granted publication date: 20070418 |
|
CX01 | Expiry of patent term |