CN100583293C - 存储装置及其读写方法 - Google Patents

存储装置及其读写方法 Download PDF

Info

Publication number
CN100583293C
CN100583293C CN200610109740A CN200610109740A CN100583293C CN 100583293 C CN100583293 C CN 100583293C CN 200610109740 A CN200610109740 A CN 200610109740A CN 200610109740 A CN200610109740 A CN 200610109740A CN 100583293 C CN100583293 C CN 100583293C
Authority
CN
China
Prior art keywords
address
memory
data
management area
page
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.)
Active
Application number
CN200610109740A
Other languages
English (en)
Other versions
CN101123116A (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.)
ANGUO INTERNATIONAL SCI-TECH Co Ltd
Alcor Micro Corp
Original Assignee
ANGUO INTERNATIONAL SCI-TECH Co Ltd
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 ANGUO INTERNATIONAL SCI-TECH Co Ltd filed Critical ANGUO INTERNATIONAL SCI-TECH Co Ltd
Priority to CN200610109740A priority Critical patent/CN100583293C/zh
Publication of CN101123116A publication Critical patent/CN101123116A/zh
Application granted granted Critical
Publication of CN100583293C publication Critical patent/CN100583293C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

一种存储装置及其读写方法,先将闪存所对应的逻辑区块定义为至少一特殊数据管理区域和至少一一般数据管理区域,并针对与外部系统间所传输的数据分别来处理特殊数据内容和一般数据内容,特殊数据管理区域采用动态偏差值的写入方式,而一般数据管理区域则采用相同偏移值的写入方式。由此,特殊数据管理区域可以避免因外部系统时常进行更新而导致必须频繁地搬移数据,进而达到提高闪存读写效能的目的。

Description

存储装置及其读写方法
技术领域
本发明涉及一种存储装置及其读写方法,特别涉及一种用以提高读写效能的利用存储器作为存储介质的存储装置及其方法。
背景技术
近年来由于电脑(Computer)、通信(Communication)及消费性电子(Consumer Electronics)等3C产业的快速发展,在各项产品中,通过内置的闪存或是读取外部存储卡来作为存储数据的介质,似乎已是必备的功能之一。然而随着使用者存取数据次数的频繁及存取数据量的日益增加,使得装置在读写存储介质的速度也就成为使用者选购产品时参考的重点。
虽然闪存具有体积小、容量大、省电、非易失性且耐震等多项优点,但却有两个硬件电气上的限制,那就是不能直接覆写和擦除(Erase)次数的限制。而不能直接覆写指在新数据存储之前,原位置的数据区段必须先被擦除后,才能让新数据重新写入,而擦除运算和重新设定所有存储单元所需要的时间比读取或写入运算的时间长,以Toshiba TH58NVG1S3AFT05 2Gbit为例,其读取的速度为50ns、写入的速度为200us而擦除时间为2ms。并且新的可用空闲空间(Available free space,可立即使用的空间)必须建立在已预先擦除后的区块。
请参考图1,为公知技术闪存存取结构示意图,如图所示当代表主机端(Host)的外部系统10送出逻辑区块地址(Logical Block Address,LBA)给控制单元20后,而控制单元20在与闪存30进行通信时,会通过一个逻辑/物理地址映射表21来记录该逻辑区块地址及其映射于闪存30中的物理地址(Physical Block Address,PBA)以避免每次在数据存取时都必须为了取得相对应的逻辑地址而从头到尾查找一次。请同时参考图2,为公知技术闪存中物理地址与逻辑地址的关系示意图及利用该关系所建立的逻辑/物理地址映射表,逻辑/物理地址映射表21的产生在系统开机时就建立完成,并可例如设计一SRAM来存储记录该逻辑/物理地址映射表21,而之后在存取数据时,利用软件查找在SRAM中的逻辑/物理地址映射表21,进而快速得到相对于该逻辑地址的物理地址。就闪存30的读写而言,写入数据所需的时间比读取数据的时间来得长,且当数据要写入闪存30的同时又必须考虑其所写的地址内是否已经有数据存在,如果该地址已有数据存在时必须将此由外部系统10写入的数据先行写到一个新的可用空闲空间内,并将原本要写入的区块地址中的数据搬移到新的区块中并变更逻辑/物理地址映射表21以让下个来自外部系统10的逻辑地址能够映射到物理地址。
然而,在闪存机制中,由于外部系统10存取数据所需的物理地址和逻辑地址为非线性的对应关系,无法直接由物理地址推知逻辑地址的所在。因此,当要搬移闪存30中的数据前,必须先进行搜集的操作以搜集原本要写入的区块地址中的数据,而在搬移之后才在逻辑/物理地址映射表21进行更新以指定到新的物理地址。但在闪存存取装置中,上述搜集、搬移及指定地址的过程如果运行过于频繁,便会增加擦除和移动写入的次数,也就相对地影响到整体写入数据的效能,而其中又例如在微软Windows
Figure C20061010974000081
操作系统下所进行上述的过程会最为频繁,因此写入效能的差异也最大。
因此,如何在原有闪存的硬件存取结构下,通过软件程序的改进来减少在各种操作系统下读写闪存效能的差异,甚至提高整体效能,这都是目前值得进一步改善的地方。
发明内容
有鉴于此,本发明所要解决的技术问题,针对与外部系统间所传输的数据分为特殊数据内容和一般数据内容来处理,并且采用不同的存取方式来进行,由此特殊数据管理区域可以避免因外部系统时常更新而导致必须频繁地搬移数据,进而达到提高闪存读写效能的目的。
为解决上述问题,根据本发明所提出的一种方案是提供一种存储装置,适用于与外部系统间进行数据的读取与写入,包括:一闪存及一控制单元。闪存用来存储读写数据,并且进一步包含有多个存储区块,每一存储区块包括多个存储页,而存储区块在逻辑地址上可区分为至少一特殊数据管理区域和至少一一般数据管理区域。而控制单元更进一步包括一区域映射表以映射所述存储区块的逻辑地址与物理地址,以及多个页映射表,为分别依据每一存储区块而产生,用以作为所述存储页的逻辑地址与物理地址的关联。其中,控制单元是依据区域映射表与相对应的页映射表并以动态偏差值方式写入数据至属于该特殊数据管理区域的存储区块中的存储页,以及更新相对应的该区域映射表与页映射表以提供之后读写时的映射使用。
为了解决上述问题,根据本发明所提出的另一种方案,提供一种存储装置的写入方法,其中该存储装置包含一闪存,该闪存包含多个存储区块,每一所述存储区块具有多个存储页,该写入方法包括:首先逻辑定义该闪存为至少一特殊数据管理区域和至少一一般数据管理区域,并进行接收一待写入新数据的逻辑地址(Logical Address),进而通过区域判断机制来判断该逻辑地址位于特殊数据管理区域还是一般数据管理区域,当逻辑地址位于特殊数据管理区域时,判断该逻辑地址是否接续先前写入数据所处的最后累积地址,并且当该逻辑地址为接续该先前写入数据所处的最后累积地址时,则再进一步判断所属的堆叠区块是否已填满,如果该堆叠区块已填满,便进行整理和提取该堆叠区块中的数据至另一新的堆叠区块中,并且取得该新的堆叠区块的最新累积地址,以将该待写入新数据依据区域映射表与相对应的页映射表以动态偏差值方式接着写入在该最新累积地址之后所映射的物理地址;反之如果该堆叠区块未填满,则直接将该待写入新数据依据该区域映射表与相对应的该页映射表以该动态偏差值方式直接接着写入在该最后累积地址之后所映射的物理地址。
为了解决上述问题,根据本发明所提出的再一种方案,提供一种存储装置的读取方法,其中该存储装置包含一闪存,该闪存包含多个存储区块,每一所述存储区块具有多个存储页,该闪存定义为至少一特殊数据管理区域和至少一一般数据管理区域,而所述读取方法包括:首先接收一读取数据的逻辑地址(Logical Address),并再通过区域判断机制来判断该逻辑地址位于特殊数据管理区域还是一般数据管理区域,当逻辑地址位于特殊数据管理区域时,则判断该逻辑地址是否符合先前写入数据的最后存储页的地址,如果符合该先前写入数据的最后存储页地址,则再判断该逻辑地址在该最后存储页地址中是否超过最后区段地址,然而如果该逻辑地址超过该最后区段地址,则表示该读取数据位于该逻辑地址所属的堆叠区块中的一旧的存储页,而依据区域映射表与相映射的页映射表以取得该旧的存储页的物理页地址,并将所述旧的存储页的物理页地址所属的物理区块中的读取数据读出;反之如果该逻辑地址并未超过该最后区段地址,则表示该读取数据已被整理至一新的存储页,而依据该区域映射表与相对应的该页映射表以取得在该新的存储页的物理页地址,并将该新的存储页的物理页地址所属的物理区块中的读取数据读出。
以上的概述与接下来的详细说明及附图,都是为了能进一步说明本发明为达到预定目的所采取的方式、手段和功效。而有关本发明的其他目的和优点,将在后续的说明和图示中加以阐述。
附图说明
图1为公知技术闪存存取结构示意图;
图2为公知技术闪存中物理地址与逻辑地址的关系示意图及利用所述关系所建立的逻辑/物理地址映射表;
图3A为本发明的存储装置的一较佳实施例方框图;
图3B为本发明应用的闪存的结构示意图;
图4A为本发明所使用的页映射表;
图4B为本发明利用页映射表所对应的逻辑页地址与物理页地址的关系示意图;
图5为本发明存储装置的写入方法的一实施例流程图;
图6为本发明存储装置的写入方法的另一实施例流程图;
图7为本发明存储装置的读取方法的一实施例流程图;及
图8为本发明存储装置的读取方法的另一实施例流程图。
其中,附图标记说明如下:
现有技术:
10:外部系统
20:控制单元
21:逻辑/物理地址映射表
30:闪存
本发明:
1:存储装置
31:存储区块
301:存储页
40:控制单元
41:区域映射表
42:页映射表
43:微处理器
44:系统接口
45:存储器接口
具体实施方式
请同时参考图3A和图3B,为本发明的存储装置的一较佳实施例方框图和本发明应用的闪存的结构示意图,如图3A所示,本发明提供一种存储装置1,适用于与外部系统10间进行数据的读取与写入,其包括:一闪存30和一控制单元40。闪存30是作为读写数据的存储,并且闪存30中包含多个存储区块31,而每一个存储区块31具有多个存储页301,此外,所述存储区块31在逻辑地址上可区分为至少一特殊数据管理区域和至少一一般数据管理区域(如图3B所示),但实际在闪存30的物理地址上,特殊数据管理区域与一般数据管理区域中的存储区块31为混合共用,并且两种数据管理区域并非按照一定的排列使用顺序。而特殊数据管理区域可例如用来处理较常被读取或搬移的数据;一般数据管理区域则用来处理较不需常被读取或搬移的数据。
而控制单元40可进一步包括:一区域映射表41、多个页映射表42及一微处理器43,其中区域映射表41用以对应存储区块31的逻辑地址与物理地址,而每一个存储区块31都会对应有各自的页映射表42,作为存储页301的逻辑地址与物理地址的关联。并且控制单元40通过其中的系统接口44来与外部系统10进行数据的传输,而通过其中的存储器接口45来作为与闪存30之间的数据传输通道,进而微处理器43根据区域映射表41和页映射表42来执行读取、写入和擦除等相关操作,尤其是在处理特殊数据管理区域时除了使用区域映射表41之外,还会利用页映射表42来作为存储区块31在进行存储页301动态偏差值写入时的地址对应,而在特殊数据管理区域中的存储区块31通过页映射表42所进行的动态偏差值写入,会减少特殊数据管理区域中的存储区块31受外部系统10的更新频繁而需时常整理的次数。
由此可知,控制单元40会依据区域映射表41与相对应的页映射表42且以动态偏差值方式写入数据到属于该特殊数据管理区域的存储区块31中的存储页301,随后便更新相对应的区域映射表41与页映射表42的地址连结关系以提供之后读写时的对应使用;而在一般数据管理区域部分,则仅依据区域映射表41且以相同偏移值方式来进行数据写入,并且随后进行更新区域映射表41的地址连结关系。
请再参考图4A和图4B,为本发明所使用的页映射表和利用页映射表所映射的逻辑页地址与物理页地址的关系示意图,如图所示,特殊数据管理区域中,可以至少一存储区块31为单位来对应一个逻辑区块,而本发明以两个存储区块31为例来说明。在页映射表42中主要分为逻辑页地址的栏位和物理页地址的栏位,并且所述二栏位中的连结关系会随着外部系统10所输出的逻辑地址的不同而进行更新。而在图4B中的物理地址以例如两个存储区块31为说明,分别为第一存储区块和第二存储区块,并再依据动态偏差值方式进行数据写入,先从第一存储区块写入,待写满之后再写入第二存储区块中,而在两个存储区块31都写满之后便进行整理到另一新的第一存储区块,并且再定义一个新的第二存储区块来搭配使用。由于外部系统10所输出逻辑地址中的逻辑页地址可能会有重复的情形,因此在存储区块31中会有相同的数据页数据,此时的逻辑页地址会指定在较新的数据页数据上,并且页映射表42会进行更新关联以映射,而在存储区块31整理时便会依据页映射表42的关联而仅留下较新的数据页数据。
另外,页映射表42中单一逻辑页地址并非仅限制于映射存储区块31的单一物理页地址,亦可映射多个物理页地址以避免因使用较多页映射表42时,占用控制单元40中用以存储页映射表42的空间。
请参考图5,为本发明存储装置的写入方法的一实施例流程图,如图所示,本发明提供一种存储装置1的写入方法,其中存储装置1包含一闪存30,而闪存30包含多个存储区块31,并且每一存储区块31具有多个存储页301,该写入方法包括:首先,逻辑定义闪存30为至少一特殊数据管理区域和至少一一般数据管理区域(S501),进而接收一待写入新数据的逻辑地址(S503),其中该逻辑地址包含有存储区块地址、存储页地址及存储区段地址等。接着通过区域判断机制来判断该逻辑地址位于特殊数据管理区域还是一般数据管理区域(S505),其中该区域判断机制为比对事先已定义特殊数据管理区域和一般数据管理区域的逻辑分割地址,以在接收该待写入新数据的逻辑地址便进行判断所属管理区域。进而当判断结果是该逻辑地址位于特殊数据管理区域时,便判断该逻辑地址是否接续先前写入数据所处的最后累积地址(S507),而如果该逻辑地址为接续该先前写入数据所处的最后累积地址时,则再进一步判断该逻辑地址所属的堆叠区块是否已填满(S509),其中堆叠区块可以包含至少一存储区块31,而当该堆叠区块已填满时,则进行整理及提取该堆叠区块中的数据至另一新的堆叠区块中(S511),并且再依据区域映射表41与相对应的页映射表42来取得该新的堆叠区块的最新累积地址(S512),进而将所述待写入新数据以动态偏差值方式接着写入在该最新累积地址之后所对应的物理地址,并更新该区域映射表41和该页映射表42(S515)。反之,如果该堆叠区块未填满,则直接依据区域映射表41与相对应的页映射表42取得最后累积地址(S513),并将该待写入新数据以动态偏差值方式直接接着写入在该最后累积地址之后所对应的物理地址,并更新该区域映射表41和该页映射表42(S515)。
另外,如果在步骤(S507)判断该逻辑地址是否系接续先前写入数据所处最后累积地址的判断结果为否时,则表示该逻辑地址指向一新的堆叠区块,而该先前写入数据则相对位于一旧的堆叠区块中,进而在旧的堆叠区块最后使用存储页301所对应的物理页中,以该逻辑地址的存储区段地址为相对地址,将所述相对地址之后的数据以区段(Sector)为单位复制至该逻辑地址所指向的新的堆叠区块的存储页301所对应物理页的相对地址中(S517),并且取得新的堆叠区块的最新累积地址(S519)。此时再进一步判断该逻辑地址所指示的存储页301是否从该存储页301的第一区段写入(S521),如果判断结果为是,则将该待写入新数据再依据该区域映射表41与相对应的该页映射表42以该动态偏差值方式写入该对应的物理地址中,并更新该区域映射表41和该页映射表42(S515);相反的如果判断结果为否,则在旧的堆叠区块最后使用存储页301所对应的物理页中,以该逻辑地址的存储区段地址为相对地址,将该相对地址之前的数据以区段为单位复制至该逻辑地址所指向的新的堆叠区块的存储页301所对应物理页的相对地址中(S523),并再将该待写入新数据依据该区域映射表41与相对应的该页映射表42以该动态偏差值方式接续写入该映射的物理地址中,并更新该区域映射表41和该页映射表42(S515)。
而如果在步骤(S505)判断管理区域的结果为位于一般数据管理区域时,则以相同偏移值方式写入数据至闪存30(S525)中。而一般数据管理区域的部分请再参考图6,为本发明存储装置的写入方法的另一实施例流程图,如图所示主要是本发明针对一般数据管理区域的数据写入方法作进一步的说明,其中在步骤(S601)至(S605)的部分与图5中的步骤(S501)至(S505)相同,而在步骤(S605)判断管理区域的结果为一般数据管理区域时,则进行判断该逻辑地址是否接续先前写入数据所处的最后地址(S607),如果该逻辑地址是接续先前写入数据所处的最后地址时,则依据区域映射表41取得该最后地址映射的物理区块地址(S609),并以相同偏移值方式将待写入新数据写入该映射的物理区块地址,并更新该区域映射表41(S611)。
此时如果步骤(S607)的判断结果为否,即表示所接收的逻辑地址并非接续所述先前写入数据所处的最后地址,则表示该逻辑地址指向一新的存储区块,而该先前写入数据则相对位于一旧的存储区块中,进而在旧的存储区块最后使用存储页301所对应的物理页中,以该逻辑地址的存储区段地址为相对地址,将该相对地址之后的数据以区段为单位复制至该逻辑地址所指向的新的存储区块的存储页301所映射物理页的相对地址中(S613),并且对应区域映射表41以取得该新的存储区块地址映射的新的物理区块地址(S615),随后再进一步判断逻辑地址所要写入新的区块地址是否从该新的存储区块地址的第一存储页301开始写入(S617),如果判断结果为是,则直接将该待写入新数据以相同偏移值方式写入该新的物理区块地址,并更新该区域映射表41(S611);相反的如果判断结果为否,则在旧的存储区块最后使用存储页301所映射的物理页中,以该逻辑地址的存储区段地址为相对地址,将该相对地址之前的数据以区段为单位复制至该逻辑地址所指向的新的存储区块的存储页301所映射物理页的相对地址中(S619),之后再将该待写入新数据以该相同偏移值方式写入该新的物理区块地址,并更新该区域映射表41(S611)。
相同的,如果步骤(S605)判断管理区域的结果为特殊数据管理区域,则参考图5所示以动态偏差值方式进行数据写入至闪存30中(S621)。
请参考图7,为本发明存储装置的读取方法的一实施例流程图,如图所示,本发明提供一种存储装置1的读取方法,其中存储装置1包含一闪存30,该闪存30包含多个存储区块31,每一存储区块31具有多个存储页301,并且该闪存30被逻辑定义为至少一特殊数据管理区域和至少一一般数据管理区域,而该读取方法包括:首先接收一读取数据的逻辑地址(S701),其中该逻辑地址包含有存储区块地址、存储页地址和存储区段地址。进而通过区域判断机制来判断该逻辑地址位于特殊数据管理区域还是一般数据管理区域(S703),而该区域判断机制用以定义特殊数据管理区域和一般数据管理区域的逻辑分割地址,以在接收所述待读取数据的逻辑地址时便进行判断所属管理区域。当该逻辑地址位于特殊数据管理区域时,则判断该逻辑地址是否符合先前写入数据的最后存储页的地址(S705),如果该逻辑地址符合先前写入数据的最后存储页地址时,则再进一步判断该逻辑地址在该最后存储页地址中是否超过一最后区段地址(S707),当该逻辑地址超过该最后区段地址,则表示该读取数据位于该逻辑地址所属的堆叠区块的一旧的存储页中,而依据区域映射表41与相对应的页映射表42以取得该旧的存储页的物理页地址(S709),并将该旧的存储页的物理页地址所属的物理区块中的读取数据读出(S711);反之如果该逻辑地址并未超过该最后区段地址,则表示该读取数据已被整理至一新存储页中,而依据该区域映射表41与相对应的该页映射表42以取得在该新的存储页的物理页地址(S713),并将该新的存储页的物理页地址所属的物理区块中的读取数据读出(S711),其中,该堆叠区块可例如包含至少一存储区块31。
而在步骤(S705)的判断结果,该逻辑地址不符合先前写入数据的最后存储页地址时,则直接依据该区域映射表41和该页映射表42以取得该逻辑地址所映射的堆叠区块的物理地址(S715),并将该堆叠区块映射的物理区块中的读取数据读出(S711)。
另外,如果根据步骤(S703)的判断结果,该逻辑地址位于一般数据管理区域时,则可依据区域映射表41读取该读取数据(S717),而关于一般数据管理区域的部分请再参考图8,为本发明存储装置的读取方法的另一实施例流程图,其中在步骤(S801)至(S803)的部分与图7中的步骤(S701)至(S703)相同,而如果在步骤(S803)判断管理区域的结果为一般数据管理区域时,则判断该读取数据的逻辑地址是否符合先前写入数据的最后存储区块地址(S805),如果该逻辑地址符合该先前写入数据的最后存储区块地址时,则再进一步判断该逻辑地址在该最后存储区块地址中是否超过最后存储页地址(S807),如果该逻辑地址超过该最后存储页地址,则表示该读取数据系位于一旧的存储区块中,而依据区域映射表41以取得映射该旧的存储区块的物理区块地址(S809),以将该物理区块地址中的读取数据读出(S811);反之如果该逻辑地址并未超过该最后存储页地址,则表示该读取数据系已在新的存储区块中,因此依据该区域映射表41以取得映射该新的存储区块的物理区块地址(S813),以将该物理区块地址中的读取数据读出(S811)。
此外,如果步骤(S805)的判断结果为否,即表示该逻辑地址不符合该先前写入数据的最后逻辑区块地址,便直接依据该区域映射表41以取得该逻辑地址所映射的物理区块地址(S815),并将该物理区块地址中的读取数据读出(S811)。相同的,如果步骤(S803)判断管理区域的结果为特殊数据管理区域,则参考图5所示依据该区域41和相映射的页映射表42读取该读取数据(S817)。
附带一提的是,上述的区域映射表41和页映射表42主要用于映射逻辑地址与物理地址的关联,如果在任何情形下需取得物理地址时,便会使用到这两个映射表。
以上所述,仅为本发明的具体实施例的详细说明和图示,并非用以限制本发明,本发明的所有范围应以权利要求书为准,任何本领域普通技术人员在本发明领域内,作出各种等效、修饰和变化,其均属于本发明的权利要求书的保护范围之内。

Claims (11)

1.一种存储装置,适用于与一外部系统间进行数据的读取与写入,其特征在于,包括:
一闪存,用以存储读写数据,所述闪存包含多个存储区块,每一所述存储区块具有多个存储页,并且所述存储区块在逻辑地址上可区分为至少一特殊数据管理区域和至少一一般数据管理区域;及
一控制单元,进一步包括:
一区域映射表,用以映射所述存储区块的逻辑地址与物理地址;及
多个页映射表,分别依据每一所述存储区块而产生,用以作为所述存储页的逻辑地址与物理地址的关联;
其中,所述特殊数据管理区域和所述一般数据管理区域可依据数据被读取或搬移的频繁度来作为所述两种数据管理区域的处理分配;
其中,所述控制单元为依据所述区域映射表与相对应的页映射表以动态偏差值方式写入数据至属于所述特殊数据管理区域的存储区块中的存储页,以及更新相对应的所述区域映射表与页映射表以提供之后读写时的映射使用;并且所述控制单元为依据所述区域映射表以相同偏移值方式写入数据至属于所述一般数据管理区域的存储区块中,以及更新相对应的所述区域映射表以提供之后读写时的映射使用。
2.根据权利要求1所述的存储装置,其特征在于,所述的控制单元进一步包含:
一系统接口,为所述控制单元与所述外部系统间数据的传输通道;
一微处理器,为依据所述区域映射表和所述页映射表以执行读取、写入和擦除的相关操作;及
一存储器接口,为所述控制单元与所述闪存之间的数据传输通道。
3.根据权利要求1所述的存储装置,其特征在于所述的页映射表中每一所述存储页的逻辑地址可映射至少一物理地址。
4.一种存储装置的写入方法,其中所述存储装置包含一闪存,所述闪存包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述写入方法包括:
逻辑定义所述闪存为至少一特殊数据管理区域和至少一一般数据管理区域;
接收一待写入新数据的逻辑地址;
通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还是所述一般数据管理区域;
当所述逻辑地址位于所述特殊数据管理区域时,判断所述逻辑地址是否为接续先前写入数据所处最后累积地址;
当所述逻辑地址是接续所述先前写入数据所处最后累积地址时,则再进一步判断所属的堆叠区块是否已填满;
如果所述堆叠区块已填满,便进行整理和提取所述堆叠区块中的数据至另一新的堆叠区块中,并且依据区域映射表与相对应的页映射表取得所述新的堆叠区块的最新累积地址,进而将所述待写入新数据以动态偏差值方式接着写入所述最新累积地址之后所映射的物理地址中,并更新所述区域映射表和所述页映射表;及
如果所述堆叠区块未填满,则直接依据所述区域映射表与相对应的所述页映射表取得最后累积地址,并将所述待写入新数据以所述动态偏差值方式直接接着写入到所述最后累积地址之后所映射的物理地址中,并更新所述区域映射表和所述页映射表;
如果所述逻辑地址并非接续所述先前写入数据所处最后累积地址时,则将所述先前写入数据所处最后累积地址的存储页中之后的数据以区段为单位复制至所述逻辑地址所指示的相对存储页中,并且取得所属堆叠区块的最新累积地址;
判断所述逻辑地址所指示的存储页是否从第一区段写入,如果判断结果为是,则将所述待写入新数据依据所述区域映射表与相对应的所述页映射表以所述动态偏差值方式写入所述映射的物理地址中,并更新所述区域映射表及所述页映射表;如果判断结果为否,则以区段为单位复制所述先前写入数据所处最后累积地址的存储页中之前的数据至所述逻辑地址所指示存储页的相对地址中,进而再将所述待写入新数据依据所述区域映射表与相对应的所述页映射表以所述动态偏差值方式写入所述对应的物理地址中,并更新所述区域映射表和所述页映射表;及
如果所述逻辑地址位于所述一般数据管理区域时,则将所述待写入新数据依据所述区域映射表以相同偏移值方式写入所述闪存的物理地址中。
5.根据权利要求4所述的存储装置的写入方法,其特征在于所述的区域判断机制为比对事先已定义所述特殊数据管理区域和所述一般数据管理区域的逻辑分割地址。
6.一种存储装置的写入方法,其中所述存储装置包含一闪存,所述闪存包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述写入方法包括:
逻辑定义所述闪存为至少一特殊数据管理区域和至少一一般数据管理区域;
接收一待写入新数据的逻辑地址;
通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还是所述一般数据管理区域;
当所述逻辑地址位于所述一般数据管理区域时,则判断所述逻辑地址是否接续先前写入数据所处最后地址;及
当所述逻辑地址为接续所述先前写入数据所处最后地址时,则依据区域映射表取得所述最后地址映射的物理区块地址,并以相同偏移值方式将所述待写入新数据写入所述最后地址映射的物理区块地址并更新所述区域映射表;
如果所述逻辑地址并非接续所述先前写入数据所处的最后地址时,则以区段为复制单位复制所述先前写入数据所处最后区块的存储页中之后的数据至所述逻辑地址所指示的新的区块中相对的存储页地址,并且对应所述区域映射表以取得所述新的物理区块地址;
判断所述逻辑地址所指示的新的区块地址是否从第一存储页开始写入,如果判断结果为是,则直接将所述待写入新数据以所述相同偏移值方式写入所述新的物理区块地址并更新所述区域映射表;如果判断结果为否,则进行复制所述先前写入数据所处最后区块的存储页中之前的数据至所述新的物理区块地址中相对的存储页地址,并进而再将所述待写入新数据以所述相同偏移值方式写入所述新的物理区块地址以及更新所述区域映射表;及
如果所述逻辑地址位于所述特殊数据管理区域时,则将所述待写入新数据依据所述区域映射表和相对应的页映射表以动态偏差值方式写入堆叠区块的最后累积地址映射的物理地址。
7.根据权利要求6所述的存储装置的写入方法,其特征在于所述的区域判断机制是比对事先已定义的所述特殊数据管理区域和所述一般数据管理区域的逻辑分割地址。
8.一种存储装置的读取方法,其中所述存储装置包含一闪存,所述闪存包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述闪存被逻辑定义为至少一特殊数据管理区域和至少一一般数据管理区域,所述读取方法包括:
接收一读取数据的逻辑地址;
通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还是所述一般数据管理区域;
当所述逻辑地址位于所述特殊数据管理区域时,则判断所述逻辑地址是否符合先前写入数据的最后存储页的地址;
如果所述逻辑地址符合所述先前写入数据的最后存储页地址,则再判断所述逻辑地址在所述最后存储页地址中是否超过最后区段地址;
如果所述逻辑地址超过所述最后区段地址,则表示所述读取数据位于所述逻辑地址所属的堆叠区块中的一旧的存储页,而依据区域映射表与相对应的页映射表以取得所述旧的存储页的物理页地址,并将所述旧的存储页所属的物理区块中的读取数据读出;
如果所述逻辑地址并未超过所述最后区段地址,则表示所述读取数据已被整理到一新的存储页,而依据所述区域映射表与相对应的所述页映射表以取得在所述新的存储页的物理页地址,并将所述新的存储页的物理页地址所属的物理区块中的读取数据读出;
如果所述逻辑地址不符合所述先前写入数据的最后存储页地址,则直接依据所述区域映射表和所述页映射表以取得所述逻辑地址所映射的堆叠区块的物理地址,并将所述堆叠区块对应的物理区块中的读取数据读出;及
如果所述逻辑地址为位于所述一般数据管理区域时,则依据所述区域映射表读取所述读取数据。
9.根据权利要求8所述的存储装置的读取方法,其特征在于所述的区域判断机制为比对事先已定义所述特殊数据管理区域和所述一般数据管理区域的逻辑分割地址。
10.一种存储装置的读取方法,其中所述存储装置包含一闪存,所述闪存包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述闪存被逻辑定义为至少一特殊数据管理区域和至少一一般数据管理区域,所述读取方法包括:
接收一读取数据的逻辑地址;
通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还是所述一般数据管理区域;
当所述逻辑地址位于所述一般数据管理区域时,则判断所述逻辑地址是否符合先前写入数据的最后存储区块地址;
如果所述逻辑地址符合所述先前写入数据的最后存储区块地址,则再判断所述逻辑地址在所述最后存储区块地址中是否超过最后存储页地址;
如果所述逻辑地址超过所述最后存储页地址,则表示所述读取数据位于一旧的存储区块中,而依据区域映射表以取得映射于所述旧的存储区块的物理区块地址,以将所述物理区块地址中的读取数据读出;及
如果所述逻辑地址并未超过所述最后存储页地址,则表示所述读取数据已在一新的存储区块中,而依据所述区域映射表以取得映射于所述新的存储区块的物理区块地址,以将所述物理区块地址中的读取数据读出;
如果所述逻辑地址不符合所述先前写入数据的最后逻辑区块地址,则直接依据所述区域映射表以取得所述逻辑地址所映射的物理区块地址,并将所述物理区块地址中的读取数据读出;及
如果所述逻辑地址位于所述特殊数据管理区域时,则依据所述区域映射表和相对应的页映射表读取所述读取数据。
11.根据权利要求10所述的存储装置的读取方法,其特征在于所述的区域判断机制为比对事先已定义所述特殊数据管理区域和所述一般数据管理区域的逻辑分割地址。
CN200610109740A 2006-08-09 2006-08-09 存储装置及其读写方法 Active CN100583293C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610109740A CN100583293C (zh) 2006-08-09 2006-08-09 存储装置及其读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610109740A CN100583293C (zh) 2006-08-09 2006-08-09 存储装置及其读写方法

Publications (2)

Publication Number Publication Date
CN101123116A CN101123116A (zh) 2008-02-13
CN100583293C true CN100583293C (zh) 2010-01-20

Family

ID=39085405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610109740A Active CN100583293C (zh) 2006-08-09 2006-08-09 存储装置及其读写方法

Country Status (1)

Country Link
CN (1) CN100583293C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219781B2 (en) 2008-11-06 2012-07-10 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
CN101859605B (zh) * 2009-04-10 2013-05-01 国民技术股份有限公司 一种使用瑕疵闪存的方法
TWI417720B (zh) * 2009-05-06 2013-12-01 Via Telecom Co Ltd 快閃記憶體管理方法與計算機系統
CN101539887B (zh) * 2009-05-06 2011-08-17 美商威睿电通公司 快闪存储器管理方法与计算机系统
CN101556556B (zh) * 2009-05-22 2012-02-22 炬力集成电路设计有限公司 一种数据存储方法及装置
CN102033810B (zh) * 2009-09-24 2013-03-27 慧荣科技股份有限公司 用于管理闪存多个区块的方法和相关记忆装置及其控制器
CN102033812B (zh) * 2009-09-24 2013-04-10 慧荣科技股份有限公司 用于管理闪存多个区块的方法和相关记忆装置及其控制器
CN102214481A (zh) * 2010-04-06 2011-10-12 深圳市江波龙电子有限公司 一种多层单元闪存读写方法、装置及存储设备
CN102662849B (zh) * 2012-03-07 2015-12-16 忆正科技(武汉)有限公司 多通道闪存的区块管理方法
US9645894B2 (en) * 2013-12-26 2017-05-09 Silicon Motion, Inc. Data storage device and flash memory control method
CN111124940B (zh) * 2018-10-31 2022-03-22 深信服科技股份有限公司 一种基于全闪存阵列的空间回收方法及系统
CN111897744B (zh) * 2019-05-05 2024-06-14 兆易创新科技集团股份有限公司 一种数据写入方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101123116A (zh) 2008-02-13

Similar Documents

Publication Publication Date Title
CN100583293C (zh) 存储装置及其读写方法
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US8626987B2 (en) Flash memory system and defragmentation method
CN107273058B (zh) 逻辑地址偏移
CN108121503B (zh) 一种NandFlash地址映射及块管理方法
CN101872326B (zh) 一种嵌入式环境下otp闪存的数据存储管理方法
US7356641B2 (en) Data management in flash memory
CN103246609B (zh) 一种闪存存储设备中冷热数据区分管理的方法及装置
CN101477492A (zh) 一种用于固态硬盘的循环重写闪存均衡方法
CN104346290A (zh) 存储装置、计算机系统及其操作方法
CN101739352A (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
CN102819494B (zh) 一种闪存顺序写入时的优化方法
CN103106143A (zh) 固态储存装置及其逻辑至实体对应表建立方法
CN101458662A (zh) 改进闪存存取效率的存储系统与方法
CN109671458A (zh) 管理闪存模块的方法及相关的闪存控制器
US20200073591A1 (en) Flash memory controller and associated accessing method and electronic device
CN110442529A (zh) 可配置的存储器系统及配置和使用该存储器系统的方法
CN102200946B (zh) 资料存取方法、记忆体控制器与储存系统
CN105607862A (zh) 一种dram与mram结合具有备份电源的固态硬盘
CN101324899B (zh) 一种快速写nand型flash的方法
CN101739348B (zh) 内存系统及其控制方法
CN102541753B (zh) 一种嵌入式存储器的读写优化方法
CN102004697B (zh) 一种Flash的回收方法和装置
CN101833519B (zh) 一种减少存储技术设备中地址映射表常驻内存的方法
US8209464B2 (en) Management method, management apparatus, and controller for memory data access

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