CN108108309A - 涉及多nand闪存的并行访问方法、固态硬盘和计算机 - Google Patents
涉及多nand闪存的并行访问方法、固态硬盘和计算机 Download PDFInfo
- Publication number
- CN108108309A CN108108309A CN201711483137.7A CN201711483137A CN108108309A CN 108108309 A CN108108309 A CN 108108309A CN 201711483137 A CN201711483137 A CN 201711483137A CN 108108309 A CN108108309 A CN 108108309A
- Authority
- CN
- China
- Prior art keywords
- nand flash
- flash memory
- request
- storage system
- access method
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种多NAND闪存组成的存储***中的并行访问方法,所述NAND闪存的数量为N,通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,一次连续的请求的逻辑地址为0到M*N‑1,其中,M和N都是正整数,M≥2,N≥2,包括:所述连续的请求通过队列管理器,对于第i通道的第j次请求,分配的逻辑地址为M*N‑1‑i*N‑j;依次经过闪存转译层地址映射、请求分配管理器和NAND闪存控制器后写入到多NAND闪存组成的存储***中。***I/O性能提高,减少了基于NAND Flash SSD的垃圾回收时脏块的擦除次数及有效页复制次数。发明还涉及一种多NAND闪存组成的存储***中的访问方法、固态硬盘和计算机。
Description
技术领域
本发明涉及NAND闪存,特别是涉及多NAND闪存组成的存储***中的访问方法、多NAND闪存组成的存储***中的并行访问方法、固态硬盘和计算机。
背景技术
NAND Flash作为一种非易失性存储器件,具有体积小、访问速度快、功率小及抗震等优良特性,因此,多NAND闪存组成的存储***(固态硬盘(SSD)就是一个典型的例子)已经应用于军用及民用存储领域。需要注意的是,下面在背景技术中,为了描述方便,多NAND闪存组成的存储***用固态硬盘代替。或者说两者在某种意义上来说就是等价的。
但是,NAND Flash器件具有一些固有的限制导致SSD管理具有一定的难度,其主要限制因素主要有:
(1)非即时更新。在重新写入某一页前必须对这一页所在的块进行擦除操作,而不能直接写入,而擦除操作以块(block),而不是以页(page)为单位;
(2)Nand Flash每一块在其失效前擦除/写入次数有限。对于单层NAND Flash(SLCNAND Flash)一般具有数万次的擦除/写入次数,而多层NAND Flash(MLC NAND Flash)则只有几千次的擦除/写入次数。一旦作用中超过极限写入/擦除次数,则NAND Flash就会失效,无法继续使用。
目前,基于NAND Flash的SSD典型存储***主要使用轮循(Round-Robin)并行访问方法,如图1所示。
为了充分利用SSD多个通道的并行性,轮循并行访问方法将所有访问请求分布到所有到并行单元,如多芯片或者层(die)上,让这些请求可以在不需要等待或者挂起的情况下,同时被服务,从而达到较高的I/O速率。图1中表示的是就是一个简化的SSD,其拥有四个通道,每个通道有一个NAND Flash芯片,分别为NAND Flash0~4。在文件***写入逻辑地址LPN(Logical Page Number)0~15时,轮循并行访问方法将这16次请求按图1方式进行存储。
传统技术存在以下技术问题:
SSD中主要采用轮循并行访问方法,将本来顺序的逻辑地址页离散地分布到整个存储介质中,从而造成物理存储介质中数据分布与文件***数据组织形式不一致。这对于磁盘等可以立即更新的存储介质不会带来任何不良影响,但是NAND Flash必须在擦除后才能写入,是一种非立即更新器件,文件***与物理介质之间数据组织形式不一致会造成大量的垃圾回收,从而对SSD的I/O性能造成不良影响。
发明内容
基于此,有必要针对上述技术问题,提供一种多NAND闪存组成的存储***中的访问方法。
一种多NAND闪存组成的存储***中的并行访问方法,所述NAND闪存的数量为N,通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,一次连续的请求的逻辑地址为0到M*N-1,其中,M和N都是正整数,M≥2,N≥2,包括:
所述连续的请求通过队列管理器,对于第i通道的第j次请求,分配的逻辑地址为M*N-1-i*N-j;
依次经过闪存转译层地址映射、请求分配管理器和NAND闪存控制器后写入到多NAND闪存组成的存储***中。
上述多NAND闪存组成的存储***中的并行访问方法,***I/O性能提高,减少了多NAND闪存组成的存储***的垃圾回收时脏块的擦除次数及有效页复制次数,且利用有效的队列管理方法充分利用了多NAND闪存组成的存储***中所有通道的并行性,因此,多NAND闪存组成的存储***的I/O性能得到了提高;一定程度上延长了多NAND闪存组成的存储***使用寿命,在多NAND闪存组成的存储***相同的使用时间中,本发明的方法相对于其它并行访问方法减少了垃圾回收时脏块的擦除次数,由于NAND Flash的极限擦除次数是一定的,因此,使用本发明的方法的多NAND闪存组成的存储***可以使用更长时间。
在另外的一个实施例中,所述请求分配管理器针对N通道采用的并行传输的方法为轮循。
一种多NAND闪存组成的存储***中的访问方法,所述NAND闪存的数量为N,通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,其中,M和N都是正整数,M≥2,N≥2,包括:
判断请求是不是连续的请求;
若所述请求是连续的请求,判断所述请求的长度L是否大于M*N;
若所述请求的长度L大于M*N,则执行[L,M*N]次上述的多NAND闪存组成的存储***中的并行访问方法写入所述请求;
当MOD(L,M*N)≠0,利用轮循并行访问方法写入所述请求执行上一步骤后剩下的部分。
在另外的一个实施例中,当所述请求不是连续的请求时,采用轮循并行访问方法写入所述请求。
在另外的一个实施例中,当所述请求的长度L小于M*N时,采用轮循并行访问方法写入所述请求。
一种固态硬盘,应用上述的多NAND闪存组成的存储***中的并行访问方法或者上述的多NAND闪存组成的存储***中的访问方法。
一种计算机,包含上述的固态硬盘。
附图说明
图1为背景技术中的一种轮循并行访问方法的请求在物理空间的分布的示意图。
图2为本申请实施例提供的一种多NAND闪存组成的存储***中的并行访问方法的***结构图。
图3为本申请实施例提供的一种多NAND闪存组成的存储***中的并行访问方法的一个应用场景的请求写入顺序的示意图。
图4为本申请实施例提供的一种多NAND闪存组成的存储***中的并行访问方法的一个应用场景的请求在物理空间的分布的示意图。
图5为本申请实施例提供的一种多NAND闪存组成的存储***中的访问方法的的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参阅图2,一种多NAND闪存组成的存储***中的并行访问方法,所述NAND闪存的数量为N,通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,一次连续的请求的逻辑地址为0到M*N-1,其中,M和N都是正整数,M≥2,N≥2,包括:
所述连续的请求通过队列管理器,对于第i通道的第j次请求,分配的逻辑地址为M*N-1-i*N-j;
依次经过闪存转译层地址映射、请求分配管理器和NAND闪存控制器后写入到多NAND闪存组成的存储***中。
上述多NAND闪存组成的存储***中的并行访问方法,***I/O性能提高,减少了多NAND闪存组成的存储***的垃圾回收时脏块的擦除次数及有效页复制次数,且利用有效的队列管理方法充分利用了多NAND闪存组成的存储***中所有通道的并行性,因此,多NAND闪存组成的存储***的I/O性能得到了提高;一定程度上延长了多NAND闪存组成的存储***使用寿命,在多NAND闪存组成的存储***相同的使用时间中,本发明的方法相对于其它并行访问方法减少了垃圾回收时脏块的擦除次数,由于NAND Flash的极限擦除次数是一定的,因此,使用本发明的方法的多NAND闪存组成的存储***可以使用更长时间。
在另外的一个实施例中,所述请求分配管理器针对N通道采用的并行传输的方法为轮循。可以理解,也可以采用除轮循以外的方法。
下面介绍一个具体的应用场景:
参阅图3和图4,M=N=4,若有写入请求LPN0~15,则在本发明的方法下下,队列管理器将请求数据写入顺序如图3所示,这些请求在物理空间的分布如图4所示。本发明的方法仍然采用轮循的方法,即将请求依次在所有的并行通道之间进行写入,因此,充分利用了所有通道的并行性,对多NAND闪存组成的存储***I/O性能没有影响,但由于所有请求已经经过队列管理器将写入顺序按照逻辑空间进行重新排列,因此,最终写入数据在物理空间的分布与逻辑空间分布是一致的。
对于图4,可以看到在本发明的方法的作用下,一个物理块中的逻辑页是连续的,因此,当出现连续更新操作时,擦除次数及有效页复制次数会显著减少。例如,同样更新LPN0~3,则在本发明的方法的下即图4的分布,只需要擦除一个物理页,且不需要进行任何有效物理页的复制,因此,相对于仅仅采用了轮循并行访问方法(即背景技术中介绍的方法),多NAND闪存组成的存储***I/O性能大大提高。
一种多NAND闪存组成的存储***中的访问方法,所述NAND闪存的数量为N,通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,其中,M和N都是正整数,M≥2,N≥2,包括:
S110、判断请求是不是连续的请求,若所述请求是连续的请求,执行S120,否则执行S150。
S120、判断所述请求的长度L是否大于M*N,若所述请求的长度L大于M*N,则执行S130,否则执行S150。
S130、执行[L,M*N](两个数相除取整函数)次上述的多NAND闪存组成的存储***中的并行访问方法写入所述请求。
S140、当MOD(L,M*N)≠0(两个数相除取余数函数),利用轮循并行访问方法写入所述请求执行上一步骤后剩下的部分,结束执行。
S150、采用轮循并行访问方法写入所述请求。
一种固态硬盘,应用上述的多NAND闪存组成的存储***中的并行访问方法或者上述的多NAND闪存组成的存储***中的访问方法。
一种计算机,包含上述的固态硬盘。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种多NAND闪存组成的存储***中的并行访问方法,所述NAND闪存的数量为N,所述通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,一次连续的请求的逻辑地址为0到M*N-1,其中,M和N都是正整数,M≥2,N≥2,其特征在于,包括:
所述连续的请求通过队列管理器,对于第i通道的第j次请求,分配的逻辑地址为M*N-1-i*N-j;
依次经过闪存转译层地址映射、请求分配管理器和NAND闪存控制器后写入到多NAND闪存组成的存储***中。
2.根据权利要求1所述的多NAND闪存组成的存储***中的并行访问方法,其特征在于,所述请求分配管理器针对N通道采用的并行传输的方法为轮循。
3.一种多NAND闪存组成的存储***中的访问方法,所述NAND闪存的数量为N,通道的数量等于NAND闪存的数量,所述NAND闪存的物理页的数量为M,其中,M和N都是正整数,M≥2,N≥2,其特征在于,包括:
判断请求是不是连续的请求;
若所述请求是连续的请求,判断所述请求的长度L是否大于M*N;
若所述请求的长度L大于M*N,则执行[L,M*N]次权利要求1或2所述的多NAND闪存组成的存储***中的并行访问方法写入所述请求;
当MOD(L,M*N)≠0,利用轮循并行访问方法写入所述请求执行上一步骤后剩下的部分。
4.根据权利要求3所述的多NAND闪存组成的存储***中的访问方法,其特征在于,当所述请求不是连续的请求时,采用轮循并行访问方法写入所述请求。
5.根据权利要求3所述的多NAND闪存组成的存储***中的访问方法,其特征在于,当所述请求的长度L小于M*N时,采用轮循并行访问方法写入所述请求。
6.一种固态硬盘,其特征在于,应用权利要求1所述的多NAND闪存组成的存储***中的并行访问方法或者权利要求2所述的多NAND闪存组成的存储***中的并行访问方法或者权利要求3所述的多NAND闪存组成的存储***中的访问方法或者权利要求4所述的多NAND闪存组成的存储***中的访问方法或者权利要求5所述的多NAND闪存组成的存储***中的访问方法。
7.一种计算机,其特征在于,包含权利要求6所述的固态硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483137.7A CN108108309A (zh) | 2017-12-29 | 2017-12-29 | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483137.7A CN108108309A (zh) | 2017-12-29 | 2017-12-29 | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108108309A true CN108108309A (zh) | 2018-06-01 |
Family
ID=62214805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711483137.7A Pending CN108108309A (zh) | 2017-12-29 | 2017-12-29 | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108309A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109817271A (zh) * | 2018-11-21 | 2019-05-28 | 中国航空工业集团公司洛阳电光设备研究所 | 一种固态硬盘坏块的检测方法 |
CN110007876A (zh) * | 2019-04-15 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种固态硬盘数据存储方法、装置、设备及介质 |
CN111897766A (zh) * | 2020-06-19 | 2020-11-06 | 西安微电子技术研究所 | 一种星载固态存储器及边记边擦的数据处理方法 |
CN112130762A (zh) * | 2020-09-07 | 2020-12-25 | 上海威固信息技术股份有限公司 | 一种固态硬盘数据存储与操作方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
CN102609218A (zh) * | 2012-01-18 | 2012-07-25 | 清华大学 | 并行闪存转换层方法与*** |
CN103049216A (zh) * | 2012-12-07 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘及其数据处理方法、*** |
CN103744614A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘访问的方法及其固态硬盘 |
CN103902475A (zh) * | 2014-04-23 | 2014-07-02 | 哈尔滨工业大学 | 一种基于队列管理机制的固态硬盘并行访问方法及装置 |
CN107515728A (zh) * | 2016-06-17 | 2017-12-26 | 清华大学 | 发挥闪存设备内部并发特性的数据管理方法和装置 |
-
2017
- 2017-12-29 CN CN201711483137.7A patent/CN108108309A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
CN102609218A (zh) * | 2012-01-18 | 2012-07-25 | 清华大学 | 并行闪存转换层方法与*** |
CN103049216A (zh) * | 2012-12-07 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘及其数据处理方法、*** |
CN103744614A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘访问的方法及其固态硬盘 |
CN103902475A (zh) * | 2014-04-23 | 2014-07-02 | 哈尔滨工业大学 | 一种基于队列管理机制的固态硬盘并行访问方法及装置 |
CN107515728A (zh) * | 2016-06-17 | 2017-12-26 | 清华大学 | 发挥闪存设备内部并发特性的数据管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
黄敏: "提高MLC NAND Flash存储***可靠性的方法研究", 《中国优秀博士学位论文全文数据库(电子期刊) 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109817271A (zh) * | 2018-11-21 | 2019-05-28 | 中国航空工业集团公司洛阳电光设备研究所 | 一种固态硬盘坏块的检测方法 |
CN110007876A (zh) * | 2019-04-15 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种固态硬盘数据存储方法、装置、设备及介质 |
CN111897766A (zh) * | 2020-06-19 | 2020-11-06 | 西安微电子技术研究所 | 一种星载固态存储器及边记边擦的数据处理方法 |
CN111897766B (zh) * | 2020-06-19 | 2023-05-30 | 西安微电子技术研究所 | 一种星载固态存储器及边记边擦的数据处理方法 |
CN112130762A (zh) * | 2020-09-07 | 2020-12-25 | 上海威固信息技术股份有限公司 | 一种固态硬盘数据存储与操作方法 |
CN112130762B (zh) * | 2020-09-07 | 2024-01-26 | 上海威固信息技术股份有限公司 | 一种固态硬盘数据存储与操作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108309A (zh) | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 | |
WO2017000658A1 (zh) | 存储***、存储管理装置、存储器、混合存储装置及存储管理方法 | |
US9183136B2 (en) | Storage control apparatus and storage control method | |
TWI399644B (zh) | 非揮發記憶體區塊管理方法 | |
US9542119B2 (en) | Solid-state mass storage media having data volumes with different service levels for different data types | |
KR100974215B1 (ko) | 반도체 스토리지 시스템 및 그 제어 방법 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN109240938A (zh) | 存储***以及控制非易失性存储器的控制方法 | |
Ha et al. | An integrated approach for managing read disturbs in high-density NAND flash memory | |
CN103902475B (zh) | 一种基于队列管理机制的固态硬盘并行访问方法及装置 | |
KR20080073499A (ko) | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 | |
US10929286B2 (en) | Arbitrated management of a shared non-volatile memory resource | |
CN107066498A (zh) | 键值kv存储方法和装置 | |
US9372804B2 (en) | Cache memory for hybrid disk drives | |
US20140223072A1 (en) | Tiered Caching Using Single Level Cell and Multi-Level Cell Flash Technology | |
CN109582219A (zh) | 存储***、计算***及其方法 | |
CN108829346A (zh) | 一种适应闪存页差异的固态硬盘的用户写请求处理方法 | |
Kim et al. | Improving performance and lifetime of large-page NAND storages using erase-free subpage programming | |
CN109324979B (zh) | 3d闪存固态盘***的数据缓存划分方法及数据分配方法 | |
CN113590505B (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
CN116364148A (zh) | 一种面向分布式全闪存储***的磨损均衡方法及*** | |
US20100023677A1 (en) | Solid state storage system that evenly allocates data writing/erasing operations among blocks and method of controlling the same | |
US20170052899A1 (en) | Buffer cache device method for managing the same and applying system thereof | |
CN108170380B (zh) | 一种固态硬盘提升顺序读性能的方法及固态硬盘 | |
US20160306569A1 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180601 |
|
RJ01 | Rejection of invention patent application after publication |