CN114489488A - 数据读写方法、nand控制器及计算机可读存储介质 - Google Patents
数据读写方法、nand控制器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114489488A CN114489488A CN202111641708.1A CN202111641708A CN114489488A CN 114489488 A CN114489488 A CN 114489488A CN 202111641708 A CN202111641708 A CN 202111641708A CN 114489488 A CN114489488 A CN 114489488A
- Authority
- CN
- China
- Prior art keywords
- logic unit
- page write
- write command
- command
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004148 unit process Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种数据读写方法、NAND控制器及介质,方法应用于NAND控制器,包括:接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将页面写命令发送至目标逻辑单元,以使目标逻辑单元处理页面写命令;页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;判断目标逻辑单元是否进入繁忙状态;当判定目标逻辑单元进入繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将读命令发送至对应的逻辑单元,以使读命令对应的逻辑单元处理读命令;可对读写命令进行有效调度,确保在目标芯片中的逻辑单元处理页面写命令时,其他芯片中的逻辑单元可并行处理读命令,进而可有效提升TLC NAND闪存的读写速度。
Description
技术领域
本发明涉及闪存领域,特别涉及一种数据读写方法、NAND控制器及计算机可读存储介质。
背景技术
TLC NAND闪存(Triple-Level Cell,三层单元)是一种较为廉价的NAND闪存。相关技术中,由于数据写入到TLC中需要八种不同电压状态,而施加不同的电压状态、尤其是相对较高的电压,需要更长的时间才能得以实现,因此在TLC NAND中访问数据所需时间较长,传输速度较慢。
因此,如何提升TLC NAND闪存的读写速度,是本领域技术人员所需面对的技术问题。
发明内容
本发明的目的是提供一种数据读写方法、NAND控制器及计算机可读存储介质,可对读写命令进行有效调度,确保TLC NAND闪存可同时处理页面写命令和读命令,进而可有效提升TLC NAND闪存的读写速度。
为解决上述技术问题,本发明提供一种数据读写方法,应用于NAND控制器,所述方法包括:
接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令;所述页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;
判断所述目标逻辑单元是否进入繁忙状态;
当判定所述目标逻辑单元进入所述繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将所述读命令发送至对应的逻辑单元,以使所述读命令对应的逻辑单元处理所述读命令。
可选地,当所述页面写命令为所述MSB页面写命令时,在接收需由其他芯片中的逻辑单元处理的读命令之前,还包括:
判断是否可接收到需由所述其他芯片中的逻辑单元处理的其他页面写命令;
若是,则将所述其他页面写命令发送至对应的逻辑单元,以使所述其他页面写命令对应的逻辑单元处理所述其他页面写命令;
若否,则进入所述接收需由其他芯片中的逻辑单元处理的读命令的步骤。
可选地,所述接收需由目标芯片中的目标逻辑单元处理的页面写命令,包括:
按预设处理顺序接收需由所述目标芯片中的目标逻辑单元处理的页面写命令;
相应的,在将所述读命令发送至对应的逻辑单元之后,还包括:
判断所述目标逻辑单元是否退出所述繁忙状态;
若是,则按所述预设处理顺序接收需由所述目标逻辑单元处理的下一页面写命令,并进入所述将所述页面写命令发送至所述目标逻辑单元的步骤。
可选地,所述目标逻辑单元按所述预设处理顺序依次处理所述LSB页面写命令、所述CSB页面写命令和所述MSB页面写命令。
可选地,所述接收需由其他芯片中的逻辑单元处理的读命令,包括:
接收需由所述其他芯片中的逻辑单元处理的多个读命令。
可选地,所述接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令,包括:
接收所述页面写命令及对应的数据,并将所述页面写命令及所述写入数据发送至所述目标逻辑单元,以使所述目标逻辑单元根据所述页面写命令写入所述数据。
本发明还提供一种NAND控制器,包括:
第一调度模块,用于接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令;所述页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;
繁忙进入判断模块,用于判断所述目标逻辑单元是否进入繁忙状态;
第二调度模块,用于当判定所述目标逻辑单元进入所述繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将所述读命令发送至对应的逻辑单元,以使所述读命令对应的逻辑单元处理所述读命令。
可选地,所述第二调度模块,还包括:
判断子模块,用于判断是否可接收到需由所述其他芯片中的逻辑单元处理的其他页面写命令;
命令发送子模块,用于若是,则将所述其他页面写命令发送至对应的逻辑单元,以使所述其他页面写命令对应的逻辑单元处理所述其他页面写命令;
命令接收子模块,用于若否,则进入所述接收需由其他芯片中的逻辑单元处理的读命令的步骤。
可选地,所述第一调度模块,包括:
接收子模块,用于按预设处理顺序接收需由所述目标芯片中的目标逻辑单元处理的页面写命令;
相应的,还包括:
繁忙退出判断模块,用于判断所述目标逻辑单元是否退出所述繁忙状态;
命令接收模块,用于若是,则按所述预设处理顺序接收需由所述目标逻辑单元处理的下一页面写命令,并进入所述将所述页面写命令发送至所述目标逻辑单元的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的数据读写方法。
本发明提供一种数据读写方法,应用于NAND控制器,所述方法包括:接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令;所述页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;判断所述目标逻辑单元是否进入繁忙状态;当判定所述目标逻辑单元进入所述繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将所述读命令发送至对应的逻辑单元,以使所述读命令对应的逻辑单元处理所述读命令。
可见,在本发明中,NAND控制器在将页面写命令发送至目标逻辑单元后,会主动监测该逻辑单元是否处于繁忙状态,若处于该状态则会进一步接收需由其他芯片中的逻辑单元处理的读命令,这是由于繁忙状态代表着目标逻辑单元已在处理其接收到的页面写命令,需要等待一段时间后才能处理其他命令,而此时闪存中的其他芯片处于空闲状态,因此NAND控制器可额外为其他芯片中的逻辑单元获取读命令,以确保目标逻辑单元在处理页面写命令时,其他芯片中的逻辑单元可并行处理读命令。换而言之,本发明可对读写命令进行有效调度,确保在目标芯片中的目标逻辑单元处理页面写命令的同时,其他芯片中的逻辑单元能够并行处理读命令,进而可有效提升TLC NAND闪存的读写速度。本发明还提供一种NAND控制器及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种数据读写方法的流程图;
图2为本发明实施例所提供的一种在TLC写操作过程中插入读写命令的示意图;
图3为本发明实施例所提供的一种NAND控制器的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
TLC NAND闪存(Triple-Level Cell,三层单元)是一种较为廉价的NAND闪存。相关技术中,由于数据写入到TLC中需要八种不同电压状态,而施加不同的电压状态、尤其是相对较高的电压,需要更长的时间才能得以实现,因此在TLC NAND中访问数据所需时间较长,传输速度较慢。有鉴于此,本发明提供一种数据读写方法,可对读写命令进行有效调度,确保TLC NAND闪存可同时处理页面写命令和读命令,进而可有效提升TLC NAND闪存的读写速度。请参考图1,图1为本发明实施例所提供的一种数据读写方法的流程图,该方法应用于NAND控制器,可以包括:
S101、接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将页面写命令发送至目标逻辑单元,以使目标逻辑单元处理页面写命令;页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;
首先介绍NAND控制器为芯片(Chip)中的逻辑单元(LUN,Logical Unit Number)分配页面(Page)写命令的过程。在TLC NAND闪存中,页面写命令包括LSB页面写命令、CSB页面写命令或MSB页面写命令,其中LSB(Least Significant Bit)表示最低有效位,CSB(Central Significant Bit)中央有效位,而MSB(Most Significant Bit)则表示最高有效位,逻辑单元需按顺序完成对LSB页面写命令、CSB页面写命令和MSB页面写命令的写入后才算完成一次完整写入。由于命令的处理具有先后顺序,因此NAND控制器也需按照处理顺序接收该页面写命令。
在一种可能的情况中,接收需由目标芯片中的目标逻辑单元处理的页面写命令,可以包括:
步骤11:按预设处理顺序接收需由目标芯片中的目标逻辑单元处理的页面写命令。
需要说明的是,本发明实施例并不限定具体的预设处理顺序,可参考TLC NAND闪存的相关技术。具体的,该预设处理顺序可以为先处理LSB页面写命令,再处理CSB页面写命令,最后处理MSB页面写命令。
在一种可能的情况中,目标逻辑单元按预设处理顺序依次处理LSB页面写命令、CSB页面写命令和MSB页面写命令。
进一步,需要说明的是,本发明实施例并不限定页面写命令的具体形式及内容,可参考TLC NAND闪存的相关技术。可以理解的是,页面写命令通常具有对应的数据,因此在接收页面写命令的同时,NAND控制器也可以进一步接收该命令对应的数据,并将命令及数据转发至对应的逻辑单元,以便逻辑单元根据页面写命令对该数据进行写入。
在一种可能的情况中,接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将页面写命令发送至目标逻辑单元,以使目标逻辑单元处理页面写命令,可以包括:
步骤21:接收页面写命令及对应的数据,并将页面写命令及写入数据发送至目标逻辑单元,以使目标逻辑单元根据页面写命令写入数据。
S102、判断目标逻辑单元是否进入繁忙状态;若是,则进入步骤S103;若否,则进入步骤S102。
在将页面写命令发送至目标逻辑单元后,NAND控制器会进一步检测该单元是否进入繁忙状态。进入该状态意味着目标逻辑单元正在执行页面写命令对应的程序逻辑,处于被占用的状态,而其所属的目标芯片此时也无法处理其他命令。然而TLC NAND闪存中的其他芯片此时可能处于空闲状态,能够被用于执行读写操作,因此本发明实施例中的NAND控制器在确定目标逻辑单元进入繁忙状态后,会进一步分配TLC NAND闪存中的其他空闲的芯片执行读操作。需要说明的是,本发明实施例并不限定NAND控制器如何检测目标逻辑单元是否进入繁忙状态,可参考TLC NAND闪存的相关技术。
S103、当判定目标逻辑单元进入繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将读命令发送至对应的逻辑单元,以使读命令对应的逻辑单元处理读命令。
在确定目标逻辑单元进入繁忙状态后,NAND控制器便可进一步接收由其他芯片中的逻辑单元处理的读命令,并将读命令发送至对应逻辑单元进行处理。选择读命令的原因在于,相较于页面写命令,逻辑单元可在更短的时间内完成对读命令的处理,对TLC NAND闪存的资源占用少,进而将页面写命令与读命令并行处理,能够大大提升TLC NAND闪存内部读写资源的利用率,进而可有效提升闪存的读写性能。需要说明的是,本发明实施例并不限定读命令的数量,在等待时间较长的情况下,NAND控制器可获取多个读命令并下发至对应逻辑单元进行处理,以便进一步提升内部读写资源的利用率,具体的读命令获取量可根据实际应用需求进行设定。
在一种可能的情况中,接收需由其他芯片中的逻辑单元处理的读命令,可以包括:
步骤31:接收需由其他芯片中的逻辑单元处理的多个读命令。
当然,在一些特殊情况中,例如当页面写命令为MSB页面写命令时,NAND控制器也可以接收需由其他芯片中的逻辑单元处理的其他页面写命令,这是由于MSB页面写命令是目标逻辑单元所需处理的最后一个写命令,此外处理MSB页面写命令所耗费的时间也较长,会对目标芯片造成长时间的占用,因此NAND控制器此时便可拥有更充足的时间去处理需由其他芯片处理的页面写命令。当然,若NAND控制器无法获取到合适的页面写命令,则也可继续为其他芯片的逻辑单元分配读命令。
在一种可能的情况中,当页面写命令为MSB页面写命令时,在接收需由其他芯片中的逻辑单元处理的读命令之前,还包括:
步骤41:判断是否可接收到需由其他芯片中的逻辑单元处理的其他页面写命令;若是,则进入步骤42;若否,则进入步骤43。
步骤42:将其他页面写命令发送至对应的逻辑单元,以使其他页面写命令对应的逻辑单元处理其他页面写命令。
步骤43:进入接收需由其他芯片中的逻辑单元处理的读命令的步骤。
进一步,由于目标逻辑单元需要按顺序处理各类型的页面写命令,因此在完成读命令或其他页面写命令的分发后,NAND控制器需确定目标逻辑单元是否退出了繁忙状态,即是否能够继续处理下一条页面写命令,进而好为其分配下一个页面写命令。
在一种可能的情况中,在将读命令发送至对应的逻辑单元之后,还可以包括:
步骤51:判断目标逻辑单元是否退出繁忙状态;若是,则进入步骤52;若否,则进入步骤51。
步骤52:按预设处理顺序接收需由目标逻辑单元处理的下一页面写命令,并进入将页面写命令发送至目标逻辑单元的步骤。
基于上述实施例,在本发明中,NAND控制器在将页面写命令发送至目标逻辑单元后,会主动监测该逻辑单元是否处于繁忙状态,若处于该状态则会进一步接收需由其他芯片中的逻辑单元处理的读命令,这是由于繁忙状态代表着目标逻辑单元已在处理其接收到的页面写命令,需要等待一段时间后才能处理其他命令,而此时闪存中的其他芯片处于空闲状态,因此NAND控制器可额外为其他芯片中的逻辑单元获取读命令,以确保目标逻辑单元在处理页面写命令时,其他芯片中的逻辑单元可并行处理读命令。换而言之,本发明可对读写命令进行有效调度,确保在目标芯片中的目标逻辑单元处理页面写命令的同时,其他芯片中的逻辑单元能够并行处理读命令,进而可有效提升TLC NAND闪存的读写速度。
下面基于实际的例子介绍上述数据读写方法,请参考图2,图2为本发明实施例所提供的一种在TLC写操作过程中插入读写命令的示意图,其中WC(Write Command)表示执行写入命令,WD(Write Data)表示根据页面写命令写入数据,RC(Read Command)表示执行读命令。具体过程如下:
(1)首先,NAND的Chip0(芯片0)中LUN0(逻辑单元0)在接收到LSB Page(LSB页面)写命令和数据之后,会进入较短时间的忙状态;
(2)在Chip0处理LSB Page后的短繁忙(Busy)时间内,NAND可以插入其他芯片中逻辑单元的读命令,记为Chip1-LUN1;
(3)在Chip0处理LSB Page对应的繁忙时间结束后,Chip0-LUN0在接收到CSB Page(CSB页面)写命令和数据之后,会再次进入较短时间的忙状态;
(4)在Chip0处理CSB Page后的短繁忙时间内,NAND可以再插入其他芯片中逻辑单元的读命令,记为Chip2-LUN2;
(5)在Chip0处理CSB Page对应的繁忙时间结束后,Chip0-LUN0在接收到MSB Page(MSB页面)写命令和数据之后,会进入较长时间的忙状态;
(6)在Chip0处理MSB Page后的长繁忙时间内,NAND可以插入其他芯片中逻辑单元的写命令,记为Chip3-LUN3。
下面对本发明实施例提供的NAND控制器及计算机可读存储介质进行介绍,下文描述的NAND控制器及计算机可读存储介质与上文描述的数据读写方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的一种NAND控制器的结构框图,该控制器可以包括:
第一调度模块301,用于接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将页面写命令发送至目标逻辑单元,以使目标逻辑单元处理页面写命令;页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;
繁忙进入判断模块302,用于判断目标逻辑单元是否进入繁忙状态;
第二调度模块303,用于当判定目标逻辑单元进入繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将读命令发送至对应的逻辑单元,以使读命令对应的逻辑单元处理读命令。
可选地,第二调度模块303,还可以包括:
判断子模块,用于判断是否可接收到需由其他芯片中的逻辑单元处理的其他页面写命令;
命令发送子模块,用于若是,则将其他页面写命令发送至对应的逻辑单元,以使其他页面写命令对应的逻辑单元处理其他页面写命令。
命令接收子模块,用于若否,则进入接收需由其他芯片中的逻辑单元处理的读命令的步骤。
可选地,第一调度模块301,可以包括:
接收子模块,用于按预设处理顺序接收需由目标芯片中的目标逻辑单元处理的页面写命令;
相应的,还可以包括:
繁忙退出判断模块,用于判断目标逻辑单元是否退出繁忙状态;
命令接收模块,用于若是,则按预设处理顺序接收需由目标逻辑单元处理的下一页面写命令,并进入将页面写命令发送至目标逻辑单元的步骤。
可选地,目标逻辑单元按预设处理顺序依次处理LSB页面写命令、CSB页面写命令和MSB页面写命令。
可选地,第二调度模块303,可以包括:
读命令接收子模块,用于接收需由其他芯片中的逻辑单元处理的多个读命令。
可选地,第一调度模块301,可以包括:
第一调度子模块,用于接收页面写命令及对应的数据,并将页面写命令及写入数据发送至目标逻辑单元,以使目标逻辑单元根据页面写命令写入数据。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的数据读写方法的步骤。
由于计算机可读存储介质部分的实施例与数据读写方法部分的实施例相互对应,因此存储介质部分的实施例请参见数据读写方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的数据读写方法、NAND控制器及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种数据读写方法,其特征在于,应用于NAND控制器,所述方法包括:
接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令;所述页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;
判断所述目标逻辑单元是否进入繁忙状态;
当判定所述目标逻辑单元进入所述繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将所述读命令发送至对应的逻辑单元,以使所述读命令对应的逻辑单元处理所述读命令。
2.根据权利要求1所述的数据读写方法,其特征在于,当所述页面写命令为所述MSB页面写命令时,在接收需由其他芯片中的逻辑单元处理的读命令之前,还包括:
判断是否可接收到需由所述其他芯片中的逻辑单元处理的其他页面写命令;
若是,则将所述其他页面写命令发送至对应的逻辑单元,以使所述其他页面写命令对应的逻辑单元处理所述其他页面写命令;
若否,则进入所述接收需由其他芯片中的逻辑单元处理的读命令的步骤。
3.根据权利要求1所述的数据读写方法,其特征在于,所述接收需由目标芯片中的目标逻辑单元处理的页面写命令,包括:
按预设处理顺序接收需由所述目标芯片中的目标逻辑单元处理的页面写命令;
相应的,在将所述读命令发送至对应的逻辑单元之后,还包括:
判断所述目标逻辑单元是否退出所述繁忙状态;
若是,则按所述预设处理顺序接收需由所述目标逻辑单元处理的下一页面写命令,并进入所述将所述页面写命令发送至所述目标逻辑单元的步骤。
4.根据权利要求3所述的数据读写方法,其特征在于,所述目标逻辑单元按所述预设处理顺序依次处理所述LSB页面写命令、所述CSB页面写命令和所述MSB页面写命令。
5.根据权利要求1所述的数据读写方法,其特征在于,所述接收需由其他芯片中的逻辑单元处理的读命令,包括:
接收需由所述其他芯片中的逻辑单元处理的多个读命令。
6.根据权利要求1所述的数据读写方法,其特征在于,所述接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令,包括:
接收所述页面写命令及对应的数据,并将所述页面写命令及所述写入数据发送至所述目标逻辑单元,以使所述目标逻辑单元根据所述页面写命令写入所述数据。
7.一种NAND控制器,其特征在于,包括:
第一调度模块,用于接收需由目标芯片中的目标逻辑单元处理的页面写命令,并将所述页面写命令发送至所述目标逻辑单元,以使所述目标逻辑单元处理所述页面写命令;所述页面写命令为LSB页面写命令、CSB页面写命令或MSB页面写命令;
繁忙进入判断模块,用于判断所述目标逻辑单元是否进入繁忙状态;
第二调度模块,用于当判定所述目标逻辑单元进入所述繁忙状态时,接收需由其他芯片中的逻辑单元处理的读命令,并将所述读命令发送至对应的逻辑单元,以使所述读命令对应的逻辑单元处理所述读命令。
8.根据权利要求7所述的NAND控制器,其特征在于,所述第二调度模块,还包括:
判断子模块,用于判断是否可接收到需由所述其他芯片中的逻辑单元处理的其他页面写命令;
命令发送子模块,用于若是,则将所述其他页面写命令发送至对应的逻辑单元,以使所述其他页面写命令对应的逻辑单元处理所述其他页面写命令;
命令接收子模块,用于若否,则进入所述接收需由其他芯片中的逻辑单元处理的读命令的步骤。
9.根据权利要求7所述的NAND控制器,其特征在于,所述第一调度模块,包括:
接收子模块,用于按预设处理顺序接收需由所述目标芯片中的目标逻辑单元处理的页面写命令;
相应的,还包括:
繁忙退出判断模块,用于判断所述目标逻辑单元是否退出所述繁忙状态;
命令接收模块,用于若是,则按所述预设处理顺序接收需由所述目标逻辑单元处理的下一页面写命令,并进入所述将所述页面写命令发送至所述目标逻辑单元的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至6任一项所述的数据读写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111641708.1A CN114489488A (zh) | 2021-12-29 | 2021-12-29 | 数据读写方法、nand控制器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111641708.1A CN114489488A (zh) | 2021-12-29 | 2021-12-29 | 数据读写方法、nand控制器及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489488A true CN114489488A (zh) | 2022-05-13 |
Family
ID=81507977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111641708.1A Pending CN114489488A (zh) | 2021-12-29 | 2021-12-29 | 数据读写方法、nand控制器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489488A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078365A1 (en) * | 2009-09-29 | 2011-03-31 | Silicon Motion, Inc. | Data access method of a memory device |
US20130073795A1 (en) * | 2011-09-21 | 2013-03-21 | Misao HASEGAWA | Memory device and method of controlling the same |
WO2013143273A1 (zh) * | 2012-03-30 | 2013-10-03 | 华为技术有限公司 | 一种降低读延时的方法及装置 |
US20160170671A1 (en) * | 2014-12-10 | 2016-06-16 | Silicon Motion, Inc. | Data storage device and data writing method thereof |
US9851905B1 (en) * | 2016-09-29 | 2017-12-26 | Intel Corporation | Concurrent memory operations for read operation preemption |
CN107885456A (zh) * | 2016-09-29 | 2018-04-06 | 北京忆恒创源科技有限公司 | 减少io命令访问nvm的冲突 |
CN109213423A (zh) * | 2017-06-30 | 2019-01-15 | 北京忆恒创源科技有限公司 | 基于地址屏障无锁处理并发io命令 |
CN109614049A (zh) * | 2018-12-11 | 2019-04-12 | 湖南国科微电子股份有限公司 | 闪存控制方法、闪存控制器及闪存系统 |
US20190227749A1 (en) * | 2019-03-28 | 2019-07-25 | Intel Corporation | Independent nand memory operations by plane |
-
2021
- 2021-12-29 CN CN202111641708.1A patent/CN114489488A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078365A1 (en) * | 2009-09-29 | 2011-03-31 | Silicon Motion, Inc. | Data access method of a memory device |
US20130073795A1 (en) * | 2011-09-21 | 2013-03-21 | Misao HASEGAWA | Memory device and method of controlling the same |
WO2013143273A1 (zh) * | 2012-03-30 | 2013-10-03 | 华为技术有限公司 | 一种降低读延时的方法及装置 |
US20160170671A1 (en) * | 2014-12-10 | 2016-06-16 | Silicon Motion, Inc. | Data storage device and data writing method thereof |
US9851905B1 (en) * | 2016-09-29 | 2017-12-26 | Intel Corporation | Concurrent memory operations for read operation preemption |
CN107885456A (zh) * | 2016-09-29 | 2018-04-06 | 北京忆恒创源科技有限公司 | 减少io命令访问nvm的冲突 |
CN109213423A (zh) * | 2017-06-30 | 2019-01-15 | 北京忆恒创源科技有限公司 | 基于地址屏障无锁处理并发io命令 |
CN109614049A (zh) * | 2018-12-11 | 2019-04-12 | 湖南国科微电子股份有限公司 | 闪存控制方法、闪存控制器及闪存系统 |
US20190227749A1 (en) * | 2019-03-28 | 2019-07-25 | Intel Corporation | Independent nand memory operations by plane |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8504784B2 (en) | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system | |
US20090006720A1 (en) | Scheduling phased garbage collection and house keeping operations in a flash memory system | |
US8380916B2 (en) | Control of page access in memory | |
US9081504B2 (en) | Write bandwidth management for flash devices | |
US9454401B2 (en) | Resource allocation method and apparatus of GPU | |
EP2160686B1 (en) | Phased garbage collection and house keeping operations in a flash memory system | |
US20200257552A1 (en) | Memory controller and method controlling suspend mode | |
US8429337B2 (en) | Apparatus for controlling NAND flash memory | |
US11886743B2 (en) | Method for enhancing quality of service of solid-state drive and solid-state drive | |
CN114489488A (zh) | 数据读写方法、nand控制器及计算机可读存储介质 | |
US11640321B2 (en) | Method and apparatus for memory allocation in a multi-core processor system, and recording medium therefor | |
CN111488118A (zh) | 管理闪存模块的方法及相关的闪存控制器与电子装置 | |
CN112732182A (zh) | 一种nand的数据写入方法及相关装置 | |
CN110209352B (zh) | 一种存储器的控制方法、存储器控制器、电子设备及存储介质 | |
CN113076070A (zh) | 数据处理方法和装置 | |
CN113495850A (zh) | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 | |
US10387076B2 (en) | Methods for scheduling data-programming tasks and apparatuses using the same | |
US11468952B2 (en) | Memory controller, memory device and storage device | |
CN117762346A (zh) | 存储器读取方法、存储器存储装置及存储器控制器 | |
CN117891410A (zh) | 一种存储器系统及闪存存储器的数据处理方法 | |
US20240094916A1 (en) | Memory system | |
CN117472295B (zh) | 一种存储器、数据处理方法、设备及介质 | |
US10566062B2 (en) | Memory device and method for operating the same | |
CN116204116A (zh) | 内存受限的qlc写入方法、装置和计算机设备 | |
CN117215793A (zh) | 总线资源分配方法、装置、设备及存储介质 |
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 |