一种SSD主控内解决浅擦除的方法及SSD单元技术

技术编号:38155230 阅读:18 留言:0更新日期:2023-07-13 09:23
本发明专利技术设计了一种SSD单元,通过NAND浅擦除信息单元和NAND浅擦除操作单元,接收SSD运行期间产生的需要擦除的未写满Block,将SSD运行期间由于不同原因会产生需要擦除却未写满的Block写入,判定后进行写入或擦除,完成浅擦除操作,这样软件算法只需将需要处理浅擦除的Block写入该硬件模块的信息单元FIFO内即可,减少软件设计参与度与复杂度,达到使用少量硬件资源完成设计目的的效果。件资源完成设计目的的效果。件资源完成设计目的的效果。

【技术实现步骤摘要】
一种SSD主控内解决浅擦除的方法及SSD单元


[0001]本专利技术涉及领域SSD的硬件模块设计领域,具体涉及一种SSD主控内解决浅擦除的方法及SSD单元。

技术介绍

[0002]浅擦除操作是错误擦除NANDBlock的一种行为,具体表现为当一个Block并未完全写满时即进行了擦除操作。由于Block未写满,在写入的边界字线(WordLine)内的存储单元以及未写入的字线(WordLine)内的存储单元处于不稳定状态,此时进行擦除操作,会对这些字线造成物理层面上的损坏,如果这种浅擦除累积到一定次数,会对该Block造成不可修复的损坏,表现为读取时错误数会超出可纠错范围。
[0003]在SSD正常运行时会不可避免出现很多未写满的Block,现有处理方式是在后台回收时软件进行填充Block操作,这样会耗费大量软件资源,但是该填充、擦除操作实际并不需要软件方面时时调度、监视状态。

技术实现思路

[0004]本专利技术目的是提供一个专用硬件模块进行填充、擦除等一系列操作,由硬件来解决浅擦除隐患。
[0005]本专利技术为实现上述目的,通过以下技术方案实现:一种SSD主控内解决浅擦除的方法,包括步骤:(1)将SSD运行过程中需要浅擦除的Block信息写入NAND浅擦除信息单元,启动浅擦除操作单元读取Block信息;(2)NAND浅擦除操作单元轮询NAND浅擦除信息单元中Block信息,只要有信息即读取;(3)NAND浅擦除操作单元整理Block的信息并判定生成写操作或擦操作,生成响应命令后将该命令写入对应通道的命令缓冲区内;(4)NAND浅擦除操作单元实时监测下发至各通道的操作命令状态,并将状态实时更新至NAND信息单元;(5)若写操作完成,NAND浅擦除操作单元判断操作状态是否成功,失败则再进行一次写操作,成功则计算是否已写满该Block,若写满该Block,NAND浅擦除操作单元生成擦除命令,并存入对应通道的命令缓冲区内;(6)若擦操作完成,NAND浅擦除操作单元判断操作状态是否成功,成功则将该已擦除的Block放入系统待使用Block列表内,失败则再进行一次擦操作。
[0006]Block信息包括通道号、CE、LUN、已写入字线个数等。
[0007]判定生成写操作或擦操作的条件为:分析字线个数决定生成写操作或者擦操作,当已写入字线个数等于Block内字线总数时,只需进行擦操作,否则需先进行写操作。
[0008]NAND浅擦除操作单元同时读取多条位于不同LUN的Block信息,最多并行处理64个
Block。
[0009]本专利技术还公开了一种SSD主控内解决浅擦除的SSD单元,包括:NAND浅擦除信息单元,用于接收SSD运行期间产生的需要擦除的未写满BlockNAND浅擦除操作单元,用于根据Block信息生成相应的NAND操作命令并写入相应的命令缓冲区内,同时检测每条命令的操作状态。
[0010]NAND浅擦除信息单元包括一个FIFO和若干寄存器,所述寄存器包括启动寄存器和状态寄存器,FIFO用于写入Block信息,启动寄存器用于告知NAND浅擦除操作单元可以从FIFO内读取需要进行处理的Block信息,状态寄存器用于显示当前正在处理的Block信息以及相应操作以及操作状态。
[0011]本专利技术的优点在于:设计了一种主控内不依赖于软件的处理浅擦除Block的硬件模块,软件设计人员配置硬件单元寄存器,软件算法只需将需要处理浅擦除的Block写入该硬件模块的信息单元FIFO内,即可由硬件完成未写满Block的填充、擦除等一些列任务,使得Block避免出现浅擦除操作。本专利技术减少软件设计参与度与复杂度,达到使用少量硬件资源完成设计目的的效果,层层分析SSD内NAND管理任务,分离弱耦合性操作由硬件单元单独完成该任务,综合利用软硬件结合优势,释放主控资源,简化软件设计。
附图说明
[0012]图1为本专利技术实施例1的方法流程图;图2为本专利技术实施例2的SSD单元结构示意图。
具体实施方式
[0013]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。
[0014]实施例1本专利技术公开了一种SSD主控内解决浅擦除的方法,请参照图1流程图。
[0015]首先,SSD运行过程中产生未写满但需要擦除的Block即浅擦除的Block,系统将该Block信息写入浅擦除模块内的NAND浅擦除信息单元,并将该单元内的启动寄存器置位1,在NAND浅擦除信息单元内启动寄存器置位1时,表明SSD系统内产生需要进行浅擦除处理的Block,NAND浅擦除操作单元读取信息单元FIFO内Block信息。
[0016]第二,NAND浅擦除操作单元开始工作,一直轮询信息单元的FIFO,只要有信息即读取。
[0017]第三,NAND浅擦除操作单元整理Block信息:通道号、CE、LUN、BLOCK、已写入字线(WordLine)个数。该单元会分析字线个数决定生成写操作或者擦操作,当已写入字线个数等于Block内字线总数时,只需进行擦除操作即可。生成相应命令后,将该命令写入对应通道的命令缓冲区内。
[0018]第四,NAND浅擦除操作单元实时检测已下发至各通道的操作命令状态;并将该状态实时更新至信息单元的状态寄存器内。
[0019]第五,若写操作完成,NAND浅擦除操作单元根据操作状态,成功则计算是否已写满该Block;失败则进行再一次写操作。
[0020]第六,如果已写满该Block,下一步需要进行擦除操作,NAND浅擦除操作单元生成擦除命令存入对应通道的命令缓冲区内。
[0021]第七,若擦操作完成,NAND浅擦除操作单元判断操作状态,成功则将该已擦除的Block放入系统待使用Block列表内;失败则再一次擦操作。
[0022]实施例2本专利技术介绍的方法包括两个主要功能单元,分别是NAND浅擦除信息单元、NAND浅擦除操作单元。
[0023]其中,NAND浅擦除信息单元主要功能是接收SSD运行期间产生的需要擦除的未写满Block;该单元主要有一个FIFO以及若干寄存器组成。
[0024]SSD运行期间由于不同原因会产生需要擦除却未写满的Block;将这些未写满的Block信息比如通道号、CE、LUN、已占用字线个数等具体内容写入到NAND浅擦除信息单元的FIFO内。寄存器主要包括启动寄存器和状态寄存器,启动寄存器用于告知NAND浅擦除操作单元可以从FIFO内读取需要进行处理的Block信息,状态寄存器显示当前正在处理的Block信息以及相应操作以及操作状态(成功或失败)。
[0025]NAND浅擦除操作单元主要功能是根据Block信息生成相应的NAND操作命令,将这些命令写入相应的命令缓冲区内,同时检测每条命令的操作状态。
[0026]在NAND浅擦除信息单元内启动寄存器置位1时,NAND浅擦除操作单元读取信息单元FIFO内Block信息,根据信息内已占用字线个数来确定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SSD主控内解决浅擦除的方法,其特征在于,包括步骤:(1)将SSD运行过程中需要浅擦除的Block信息写入NAND浅擦除信息单元,启动浅擦除操作单元读取Block信息;(2)NAND浅擦除操作单元轮询NAND浅擦除信息单元中Block信息,只要有信息即读取;(3)NAND浅擦除操作单元整理Block的信息并判定生成写操作或擦操作,生成响应命令后将该命令写入对应通道的命令缓冲区内;(4)NAND浅擦除操作单元实时监测下发至各通道的操作命令状态,并将状态实时更新至NAND信息单元;(5)若写操作完成,NAND浅擦除操作单元判断操作状态是否成功,失败则再进行一次写操作,成功则计算是否已写满该Block,若写满该Block,NAND浅擦除操作单元生成擦除命令,并存入对应通道的命令缓冲区内;(6)若擦操作完成,NAND浅擦除操作单元判断操作状态是否成功,成功则将该已擦除的Block放入系统待使用Block列表内,失败则再进行一次擦操作。2.根据权利要求1所述的SSD主控内解决浅擦除的方法,其特征在于,所述Block信息包括已写入字线个数。3.根据权利要求2所述的SSD主控内...

【专利技术属性】
技术研发人员:曹成李瑞东王璞
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1