CN116909495A - 一种存储装置及其控制方法 - Google Patents
一种存储装置及其控制方法 Download PDFInfo
- Publication number
- CN116909495A CN116909495A CN202311181419.7A CN202311181419A CN116909495A CN 116909495 A CN116909495 A CN 116909495A CN 202311181419 A CN202311181419 A CN 202311181419A CN 116909495 A CN116909495 A CN 116909495A
- Authority
- CN
- China
- Prior art keywords
- storage
- memory
- storage device
- unit
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 172
- 230000008569 process Effects 0.000 claims abstract description 147
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 238000004064 recycling Methods 0.000 claims description 16
- 238000012937 correction Methods 0.000 description 19
- 238000011084 recovery Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001680 brushing effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储装置及其控制方法,存储装置包括:存储单元,存储单元包括多个存储块,且存储块包括多个存储页,其中根据存储页的错误比特数,获取问题页,且根据问题页的数量,获取待回收存储块;模式切换模块,当存储装置等待主机命令的时长大于第一时长阈值,模式切换模块将存储装置由工作模式切换至空闲模式;扫描检测模块,当存储装置处于空闲模式,且存储装置的扫描间隔时长大于第二时长阈值,扫描检测模块开启对存储单元的扫描进程,并获取问题页和待回收存储块;以及垃圾回收模块,当存储装置处于空闲模式,垃圾回收模块开启对存储单元的垃圾回收进程。本发明提供了一种存储装置及其控制方法,能够提升存储装置的性能和寿命。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储装置及其控制方法。
背景技术
存储单元为非易失性存储器,即便在没有外部施加电压的情况下,存储单元中的电子也能被长期保存。然而随着电子存储时间的增加,或是存储器使用温度的上升,存储单元中电子的逃逸可能性也在随之增加。当电子逃逸的数量超过存储装置的纠错能力,就会导致坏块,影响存储装置的寿命。对存储单元的扫描进程尽管可能解决电子逃逸的问题,却又极可能出现读干扰的现象。
并且,存储装置只要处于上电状态,就会产生功耗,功耗过大就会导致存储单元温度上升,又进一步增加了电子逃逸可能性和读干扰现象的发生。因此,在有限的芯片面积中,对电子逃逸问题、读干扰问题和存储功耗等问题的解决策略,极大程度影响了存储装置的性能和寿命,并决定着一个存储装置的优劣性。
发明内容
本发明的目的在于提供一种存储装置及其控制方法,能够提升存储装置的性能和寿命。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种存储装置,所述存储装置包括:
存储单元,所述存储单元包括多个存储块,且所述存储块包括多个存储页,其中根据所述存储页的错误比特数,获取问题存储页,且根据所述问题存储页的数量,获取待回收存储块;
模式切换模块,当所述存储装置等待主机命令的时长大于第一时长阈值,所述模式切换模块将所述存储装置由工作模式切换至空闲模式;
扫描检测模块,当所述存储装置处于所述空闲模式,且所述存储装置的扫描间隔时长大于第二时长阈值,所述扫描检测模块开启对所述存储单元的扫描进程,并获取所述问题存储页和所述待回收存储块;以及
垃圾回收模块,当所述存储装置处于所述空闲模式,所述垃圾回收模块开启对所述存储单元的垃圾回收进程。
在本发明一实施例中,所述扫描检测模块包括计时模块,所述计时模块电性连接于所述扫描检测模块和所述模式切换模块,以对所述扫描检测模块输出第一启动信号和第二启动信号,并对所述模式切换模块输出所述第一启动信号。
在本发明一实施例中,所述计时模块包括命令间隔计时单元,当所述主机命令的操作结束,所述命令间隔计时单元开始计时并获得第一计时时长,当所述第一计时时长达到所述第一时长阈值,所述计时模块输出所述第一启动信号。
在本发明一实施例中,所述计时模块包括扫描间隔计时单元,当所述存储单元的扫描进程结束,所述扫描间隔计时单元开始计时并获得第二计时时长,当所述第二计时时长达到所述第二时长阈值,所述计时模块输出所述第二启动信号。
在本发明一实施例中,所述扫描检测模块包括扫描进程标志,当所述扫描检测模块接收到所述第一启动信号和所述第二启动信号,置起所述扫描进程标志,并将所述扫描进程标志存储于所述存储装置中。
在本发明一实施例中,所述存储装置包括回收启动模块,所述回收启动模块电性连接于所述垃圾回收模块,且当空白的所述存储块数量小于存储容量阈值,所述回收启动模块对所述垃圾回收模块输出第三启动信号。
在本发明一实施例中,所述存储装置包括命令查询模块,所述命令查询模块的执行时间节点为完成对所述存储块的所述扫描进程,以及完成对所述待回收存储块的所述垃圾回收进程。
在本发明一实施例中,所述存储装置包括主控制器,所述主控制器电性连接于所述存储单元和主机,且根据所述主控制器的器件区域在睡眠模式下是否掉电,所述主控制器被划分为睡眠掉电区域和睡眠不掉电区域。
在本发明一实施例中,在所述存储块中,当所述问题存储页的数量超出回收阈值,所述存储块被标记为待回收存储块。
本发明提供了一种存储装置的控制方法,包括以下步骤:
当主机命令的间隔时间大于第一时长阈值,将所述存储装置从工作模式切换至空闲模式;
在所述空闲模式中,当存储单元的扫描间隔时间达到第二时长阈值,启用对所述存储单元的扫描进程,并根据存储页的错误比特数,获取问题存储页;
在所述空闲模式中,当所述存储单元的存储余量不足或当所述存储单元中具有待回收存储块,启用对所述存储单元的垃圾回收进程;以及
在接收到所述主机命令时,中断所述扫描进程和所述垃圾回收进程,并将所述存储装置从所述空闲模式切换至所述工作模式。
在本发明一实施例中,所述存储装置包括主控制器,在所述空闲模式中,当所述扫描进程和所述垃圾回收进程结束,将所述主控制器的数据转移至所述存储单元或睡眠不掉电区域,并将所述存储装置切换至睡眠模式。
在本发明一实施例中,中断所述扫描进程的步骤包括:
在读取所述存储块后,判断所述存储装置是否接收到所述主机命令;
当所述存储装置接收到主机命令,将读完的所述存储块标记为中断存储块,并将所述存储装置切换至所述工作模式;以及
在重新回到所述空闲模式后,从所述中断存储块的下一个所述存储块开始,执行所述扫描进程。
在本发明一实施例中,中断所述垃圾回收进程的步骤包括:
回收部分所述存储页后,判断所述存储装置是否接收到所述主机命令;以及
当所述存储装置接收到主机命令,中断所述垃圾回收进程,并将所述存储装置切换至所述工作模式。
在本发明一实施例中,当所述扫描进程中未获得待回收存储块,在执行所述垃圾回收进程前,依次读取所述存储块,且读取所述存储块中的部分所述存储页,以获取所述待回收存储块。
如上所述,本发明提供了一种存储装置及其控制方法,能够减少长时间等待主机命令所造成的资源浪费。根据本发明提供的一种存储装置及其控制方法,能够降低电子逃逸的可能性,提升数据存储的安全性、稳定性和准确性,并且在解决电子逃逸问题的同时,降低了读干扰会造成的数据紊乱,降低了存储装置的功耗。根据本发明提供的一种存储装置及其控制方法,能够通过固件合理配给存储装置的硬件资源,提升存储装置性能,并且能够兼顾对主机命令的及时响应,使存储装置表现出良好的响应性能。根据本发明提供的一种存储装置及其控制方法,能够尽可能避免电子逃逸造成的坏块问题,提升了存储装置的使用寿命。并且根据本发明提供的一种存储装置及其控制方法,能够基于存储装置的实时参数进行调整,使垃圾回收进程和扫描进程的频率配给更加高效。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中存储装置的结构示意图。
图2为本发明一实施例中主控制器的结构示意图。
图3为本发明一实施例中存储单元的结构示意图。
图4为本发明一实施例中计时模块的结构示意图。
图5为本发明一实施例中控制固件的的结构示意图。
图6为本发明一实施例中扫描检测模块的结构示意图。
图7为本发明一实施例中回收启动模块的结构示意图。
图8为本发明一实施例中睡眠准备模块507的结构示意图。
图9为本发明一实施例中存储装置的控制方法流程图。
图10为本发明一实施例中步骤S10的流程图。
图11为本发明一实施例中步骤S20的流程图。
图12为本发明一实施例中步骤S30的流程图。
图13为本发明一实施例中步骤S34的流程图。
图14为本发明一实施例中步骤S50的流程图。
图15为一种电子设备的结构原理框图。
图16为一种计算机可读存储介质的结构原理框图。
图中:10、存储装置;20、主控制器;21、睡眠掉电区域;22、睡眠不掉电区域;201、微处理器;202、主机接口控制器;203、缓存控制器;204、缓冲器;205、存储单元控制器;206、纠错模块;207、计时模块;2071、命令间隔计时单元;2072、扫描间隔计时单元;30、存储单元;301、存储模块;302、存储块;303、存储页;40、内存;50、控制固件;501、初始化模块;502、模式切换模块;503、命令查询模块;504、扫描检测模块;5041、启动信号接收单元;5042、扫描进程标记单元;5043、检测单元;5044、回收页获取单元;5045、中断标记单元;505、回收启动模块;5051、存储空间判断单元;5052、回收页判断单元;5053、回收启动单元;506、垃圾回收模块;507、睡眠准备模块;5071、数据下刷单元;5072、数据转移单元;5073、信号发出单元;60、主机;601、处理器;70、计算机指令;701、计算机可读存储介质。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明提供的存储装置10包括主控制器20和存储单元30,以及内存40。其中存储装置10为固态硬盘。存储单元30为基于NAND闪存的存储器,例如SM存储闪存卡、CF卡、多媒体卡(Multi Media Card,MMC)、安全数码卡(Secure Digital Card,SD卡)、记忆棒和微硬盘等等。内存40可以是动态随机存取内存(Dynamic Random Access Memory,DRAM)、可擦写可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)或电可擦可编程只读存储器(Electrically Erasable Programmableread only memory,EEPROM)。内存40中存储控制固件50。其中存储装置10的硬件资源受控制固件50的调控。具体的,在存储装置10的运行进程中,主控制器20从内存40中读出并运行控制固件50。主控制器20根据控制固件50的内容调用硬件资源,执行控制固件50对应的机器动作。其中,主控制器20与主机60电性连接,以接收主机60的主机指令和主机数据。
请参阅图1和图2所示,在本发明一实施例中,主控制器20微处理器201、主机接口控制器202、缓存控制器203、缓冲器204和存储单元控制器205,以及纠错模块206。其中微处理器201为精简指令系统计算机(Reduced Instruction System Computer,RISC),且具体为ARM处理器。微处理器201电性连接于主机接口控制器202、缓存控制器203和存储单元控制器205。其中,主机接口控制器202通过接口与主机60电性连接,以接收主机60的指令和数据,并反馈主控制器20的数据。其中主机60和主控制器20的连接接口可以是SATA硬盘、高速串行计算机扩展总线接口(Peripheral Component Interconnect express,PCIe)、SAS接口。缓存控制器203与内存40和缓冲器204电性连接,以控制数据的转移和存储。在本实施例中,存储单元控制器205电性连接于纠错模块206,以在存储单元30的读进程中对存储单元30读出的数据进行纠错。其中纠错模块206可通过低密度奇偶校验码(Low DensityParity-Check Code,LDPC)完成对存储单元30的错误检查和校正。
请参阅图1和图2所示,在本发明一实施例中,存储装置10包括睡眠模式、工作模式和空闲模式。其中,当主控制器20接收到主机60的主机指令,存储装置10进入工作模式,对所述主机指令进行响应和处理。在存储装置10上电,且主机60未对主控制器20发送主机指令的情况下,存储装置10处于空闲模式或睡眠模式。具体的,在空闲模式下,存储装置10处于等待状态,主控制器20的器件仍处于开启状态。在空闲模式下,当存储装置10接收到主机指令,可以立刻进入工作模式。在睡眠模式下,主控制器20的部分器件被关闭,停止使用。当存储装置10接收到主机指令,主控制器20在重新启动被关闭的器件后,进入工作模式。其中所述睡眠模式、所述工作模式和所述空闲模式都为存储装置10上电后的模式。并且,工作模式的功耗高于空闲模式的功耗,睡眠模式的功耗高于睡眠模式的功耗。在本实施例中,根据睡眠模式下器件是否关闭,将主控制器20划分为睡眠掉电区域21和睡眠不掉电区域22。其中在睡眠模式开启后,睡眠掉电区域21的数据丢失,睡眠不掉电区域22保留。在本实施例中,可以将缓冲器204中部分存储区域划分至睡眠掉电区域21,部分存储区域划分至睡眠不掉电区域22。根据不同的存储要求,可以调控睡眠掉电区域21和睡眠不掉电区域22的器件分配,本发明对此不做具体限定。
请参阅图1和图3所示,在本发明一实施例中,存储单元30包括多个存储模块301,其中存储模块301具有唯一的器件编号,且多个存储模块301可以按照器件编号的顺序排列。存储模块301包括多个存储块302,其中存储块302为NAND闪存的物理区块(block)。其中存储块302具有唯一的器件编号,且多个存储块302可以按照器件编号的顺序排列。其中存储块302包括多个存储页303。其中存储页303具有唯一的器件编号,且多个存储页303可以按照器件编号的顺序排列。在本实施例中,存储块302包括读取次数和擦除次数,且在读取存储页303时,纠错模块206会自行纠正存储页303的错误,并记录存储页303的错误比特数。其中错误比特数为错误检查校正(Error Checking and Correcting,ECC)过程中获得的错误比特个数(error bit)。
请参阅图1至图4所示,在本发明一实施例中,主控制器20包括计时模块207。计时模块207包括命令间隔计时单元2071和扫描间隔计时单元2072。其中命令间隔计时单元2071记录主控制器20接收主机命令的时间点。并且,命令间隔计时单元2071具有第一时长阈值。当主控制器20接收到主机命令时,命令间隔计时单元2071开始计时。且当命令间隔计时单元2071的计时时长达到第一时长阈值后,命令间隔计时单元2071生成第一模式转换信号。第一模式转换信号用于将存储装置10从工作模式转换为空闲模式。扫描间隔计时单元2072记录扫描进程开始的时间节点,且扫描间隔计时单元2072具有第二时长阈值。具体的,当扫描间隔计时单元2072结束扫描进程后,扫描间隔计时单元2072开始计时。且当扫描间隔计时单元2072的计时时长达到第二时长阈值后,扫描间隔计时单元2072预备启动扫描进程。当存储装置10处于空闲模式,且扫描间隔计时单元2072的计时时长达到第二时长阈值,启动对存储单元30的扫描进程。
请参阅图1至图4所示,在本发明一实施例中,第二时长阈值用于限定扫描间隔时长。在本实施例中,第二时长阈值并非额定数值,而是变量。具体的,第二时长阈值随着存储单元30的可擦写次数、纠错模块206的纠错强度、存储单元30的工作温度变化。综合第二时长阈值的影响因素,可以通过数学建模算法动态获取第二时长阈值。本发明并不限定获取第二时长阈值的具体模型。因此扫描间隔计时单元2072在计时的同时,通过算法获取第二时长阈值。
请参阅图1至图5所示,在本发明一实施例中,控制固件50包括初始化模块501、模式切换模块502、命令查询模块503、扫描检测模块504、回收启动模块505、垃圾回收模块506和睡眠准备模块507。其中,初始化模块501可用于在存储装置10上电时启动主控制器20的器件,也可用于在存储装置10从睡眠模式切换至工作模式后,启动主控制器20被关闭的器件。其中初始化模块501还可以用于调配全局参数等过程,本发明对存储装置10初始化的具体内容不做限定。模式切换模块502用于切换存储装置10的使用模式。具体的,当模式切换模块502接收到第一模式转换信号时,将存储装置10从工作模式切换至空闲模式。当模式切换模块502接收到第二模式转换信号时,将存储装置10从空闲模式切换至工作模式。当模式切换模块502接收到第三模式转换信号时,将存储装置10从空闲模式切换至睡眠模式。当模式切换模块502接收到第四模式转换信号时,将存储装置10从睡眠模式转换为工作模式。需要说明的是,在存储装置10上电时,默认存储装置10处于工作模式。命令查询模块503用于查询主机接口控制器202是否接收到主机命令。且当主控制器20接收到新的主机命令,命令查询模块503生成所述第二模式切换信号,并发送给模式切换模块502。
请参阅图1至图5所示,在本发明一实施例中,扫描检测模块504用于遍历读取存储单元30中的存储块302和存储页303,以稳固电子的存储,降低电子的逃逸风险。其中,扫描检测模块504与扫描间隔计时单元2072电性连接。当扫描间隔计时单元2072的计时时长达到第二时长阈值,对扫描检测模块504发送第一启动信号,预备启动扫描检测模块504。其中,扫描检测模块504与命令间隔计时单元2071电性连接。当命令间隔计时单元2071的计时时长达到第一时长阈值,命令间隔计时单元2071对扫描检测模块504发送第二启动信号。当扫描检测模块504接收到第一启动信号和第二启动信号,启动对存储单元30的扫描进程。需要说明的是,扫描检测模块504若是仅接收到第一启动信号或第二启动信号,扫描进程都不会启动。
请参阅图1至图6所示,在本发明一实施例中,扫描检测模块504包括启动信号接收单元5041、扫描进程标记单元5042、检测单元5043、回收页获取单元5044和中断标记单元5045。其中启动信号接收单元5041用于接收第一启动信号和第二启动信号。扫描进程标记单元5042用于在启动扫描检测模块504时置起扫描进程标志。其中扫描进程标志为全局变量,本发明对扫描进程标志的建立位置不做限定。检测单元5043用于读取存储单元30的存储数据。具体的,在本实施例中,检测单元5043根据存储块302的器件编号顺序依次读取存储块302,直到遍历存储单元30的存储块302。且检测单元5043根据存储页303的器件编号顺序依次读取存储页303,直到遍历存储块302中的存储页303,从而提升存储数据的可靠性,降低存储页303中的电子逃逸风险。在本发明的其他实施例中,也可以在存储块302中选取存储时长较长的存储页303执行扫描进程,以提升扫描效率。其中可以通过设置存储时长阈值来限定待读的存储页303的选取。在检测单元5043执行扫描进程的过程中,纠错模块206对存储页303进行纠错,并获得错误比特数。其中回收页获取单元5044具有纠错阈值。当存储页303的错误比特数大于纠错阈值,回收页获取单元5044将对应的存储页303标记为待回收的存储页303。在本实施例中,检测单元5043仅在空闲模式下工作。其中当检测单元5043的扫描进程被打断,中断标记单元5045标记扫描进程中断的位置。具体的,中断标记单元5045电性连接于命令查询模块503,以接收第二模式切换信号。当中断标记单元5045接收到第二模式切换信号,中断标记单元5045中断检测单元5043的扫描进程,并标记中断前检测单元5043读取的存储页303,作为中断存储页303。
请参阅图1至图5和图7所示,在本发明一实施例中,回收启动模块505包括存储空间判断单元5051、回收页判断单元5052和回收启动单元5053。其中,存储空间判断单元5051用于判断存储单元30剩余的存储空间大小。具体的,存储空间判断单元5051具有存储容量阈值。当空白的存储块302的数量小于存储容量阈值,存储空间判断单元5051对回收启动单元5053发送第三启动信号。回收页判断单元5052用于判断存储单元30中是否有被标记的问题存储页303。具体的,回收页判断单元5052按照存储块302的编号顺序遍历存储块302,获得问题存储页303。当检查到了问题存储页303,且问题存储页303的数量超出回收阈值,则回收页判断单元5052将对应的存储块302标记为待回收存储块302。接着,回收页判断单元5052对回收启动单元5053发送第四启动信号。当回收启动单元5053接收到第三启动信号或第四启动信号,回收启动单元5053启动垃圾回收模块506的垃圾回收进程。在本实施例中,垃圾回收模块506用于执行存储单元30的垃圾回收进程。
请参阅图1至图5和图8所示,在本发明一实施例中,睡眠准备模块507包括数据下刷单元5071、数据转移单元5072和信号发出单元5073。其中当垃圾回收进程和扫描进程结束,数据下刷单元5071将存储在主控制器20的地址映射表和主机数据转移至存储单元30中。且数据转移单元5072将有助于初始化模块501完成初始化进程的数据复制到睡眠不掉电区域22。例如,数据转移单元5072能够获取主机数据所在的存储页303的位置,并将存储页303的位置转移至睡眠不掉电区域22,以便于在回到工作模式后,主控制器20能快速启动器件,并接着写入数据。其中数据下刷单元5071和数据转移单元5072可以同时工作。信号发出单元5073电性连接于数据下刷单元5071和数据转移单元5072,并对模式切换模块502发出第三模式转换信号。存储装置10从空闲模式转换至睡眠模式,直到存储装置10掉电或是模式切换模块502接收到第四模式转换信号。
请参阅图1至图9所示,本发明提供了存储装置10的控制方法,基于存储装置10。其中存储装置10的控制方法包括步骤S10至步骤S50。
步骤S10、当主机命令的间隔时间大于第一时长阈值,将存储装置从工作模式切换至空闲模式。
步骤S20、在空闲模式中,当扫描间隔时长达到第二时长阈值,启用对存储单元的扫描进程,并根据存储页的错误比特数,获取问题存储页和待回收存储块。
步骤S30、在空闲模式中,启动对存储单元的垃圾回收进程。
步骤S40、在接收到主机命令时,中断扫描进程和垃圾回收进程,并将存储装置从空闲模式切换至工作模式。
步骤S50、在空闲模式中,当扫描进程和垃圾回收进程结束,将主控制器的数据转移至存储单元或睡眠不掉电区域,并将存储装置切换至睡眠模式。
请参阅图1至图10所示,在本发明一实施例中,在步骤S10中,基于初始化模块501、模式切换模块502和命令查询模块503实现步骤S10。其中,步骤S10包括步骤S11至步骤S18。
步骤S11、存储装置上电。
步骤S12、存储装置切换至工作模式。
步骤S13、执行第一初始化进程。
步骤S14、执行第二初始化进程。
步骤S15、在第一初始化进程后,判断是否接收到主机命令。
步骤S16、在接收到主机命令后,或执行第二初始化进程后,执行主机命令对应的操作,且执行操作的进程结束。
步骤S17、判断等待时间是否大于第一时长阈值。
步骤S18、当等待时间大于第一时长阈值,将存储装置从工作模式切换至空闲模式。
请参阅图1至图10所示,在本发明一实施例中,步骤S10的启动条件可以是步骤S11,也可以是步骤S12。在步骤S11中,存储装置10是从断电状态变为上电状态。因此在步骤S11后,执行步骤S13,第一初始化进程。在第一初始化进程中,存储装置10中的各个部件被启动,以用于执行主机命令对应的操作。在步骤S13后,执行步骤S15,判断是否接收到主机命令。其中,当主控制器20接收到主机命令,执行步骤S16。在步骤S16中,执行主机命令的对应操作,直到操作进程结束。在本发明中,步骤S50结束后,存储装置10进入睡眠模式。在睡眠模式下,当主控制器20再次接收到主机命令,则启动步骤S12。在步骤S12中,存储装置10从睡眠模式切换至工作模式。且在步骤S12后执行步骤S14。在步骤S14中,执行第二初始化进程。在第二初始化进程中,启动在睡眠模式下被关闭的器件和区域。在步骤S14后,执行步骤S16。在本实施例中,在步骤S16后,执行步骤S17。在步骤S17中,通过命令间隔计时单元2071计时,来获取主机命令执行结束后的等待时间。具体的,当命令间隔计时单元2071的计时时长大于第一时长阈值,则执行步骤S18。在步骤S18中,将存储装置10从工作模式切换至空闲模式。并在空闲模式下,接着执行步骤S20至步骤S50。在步骤S17中,当命令间隔计时单元2071的计时时长小于第一时长阈值,此时就接收到新的主机命令,则返回步骤S15和步骤S16。
请参阅图1至图11所示,在本发明一实施例中,在步骤S10中,存储装置10从工作模式进入到空闲模式,接着执行步骤20和步骤S40,以及步骤S30和步骤S40。其中步骤S20包括步骤S21至步骤S210。
步骤S21、判断扫描间隔时长是否大于等于第二时长阈值。
步骤S22、当扫描间隔时长大于等于第二时长阈值,则置起扫描进程标志。
步骤S23、在置起扫描进程标志后,依次对存储块执行扫描进程。
步骤S24、当扫描间隔时长小于第二时长阈值,则判断扫描进程标志是否已置起。
步骤S25、当扫描进程标志已置起,则获取扫描中断存储块,并对扫描中断存储块的下一存储块执行扫描进程。
步骤S26、判断存储页的错误比特数是否超出纠错阈值。
步骤S27、当存储页的错误比特数超出纠错阈值,将存储页标记为问题存储页,并根据问题存储页303的数量获取待回收存储块。
步骤S28、判断当前存储块的扫描进程是否结束,若当前存储块的扫描进程还未结束,则返回步骤S23。
步骤S29、判断存储单元的扫描进程是否结束。
步骤S210、当存储单元的扫描进程结束,清除扫描进程标志。
请参阅图1至图5,以及图9至图11所示,在本发明一实施例中,在步骤S18中,在等待时间大于第一时长阈值时,存储装置10进入空闲模式。在空闲模式下,启动步骤S20和步骤S30。具体的,在步骤S21中,获取扫描间隔计时单元2072的计时时间,并作为扫描间隔时长,其中第二时长阈值例如为24h。当扫描间隔时长大于第二时长阈值,执行步骤S22。在步骤S22中,置起的扫描进程标志为全局变量。在步骤S22后,执行步骤S23。在步骤S23中,可以按照存储单元30中存储块302的编号顺序,依次对存储块302进行扫描读取。具体的,在扫描进程中,按照存储页303的编号顺序依次读取存储页303中的数据。其中可以根据地址映射表读取存储页303的数据。本发明不限定扫描进程的具体内容。在步骤S21中,当扫描间隔时长小于第二时长阈值,则执行步骤S24。在步骤S24中,判断扫描进程标志是否已置起。当扫描进程标志已置起,则执行步骤S25。在步骤S25中,获取扫描中断存储块302,并从扫描中断存储块302的下一个存储块302开始,执行扫描进程。需要说明的是,本发明中每次扫描进程都读取一个存储块302的内容。且正在执行或刚执行完扫描进程的存储块302被定义为当前存储块302。在步骤S23后和步骤S25后,执行步骤S26。需要说明的是,在扫描进程中,每读完一个存储页303,执行步骤S26,直到读完当前存储块302。在步骤S26中,存储页303的错误比特数超出纠错阈值,则执行步骤S27。在步骤S27中,将错误比特数超出纠错阈值的存储页303标记为问题存储页303,接着执行步骤S28。在步骤S26中,存储页303的错误比特数小于等于纠错阈值,则执行步骤S28,继续读取下一个存储页303。在步骤S28中,若当前存储块302的扫描进程未结束,则返回步骤S23或步骤S24,读取下一个存储页303。在本实施例中,重复读取存储页303和标记存储页303的过程,直到读完当前存储块302。
请参阅图1至图5,以及图9至图11所示,在本发明一实施例中,在步骤S28和步骤S29之间,可以执行步骤S41至步骤S43。
步骤S41、判断主控制器是否接收到主机命令。
步骤S42、当主控制器接收到主机命令,则将当前读完的存储块标记为扫描中断存储块。
步骤S43、将存储装置从空闲模式切换至工作模式。
请参阅图1至图5,以及图9至图11所示,在本发明一实施例中,在步骤S28后,当前的存储块302已经执行完扫描进程。接着执行步骤S41。在步骤S41中,若主控制器20未接收到主机命令,则执行步骤S29。在步骤S29中,若是存储单元30的扫描进程结束,则执行步骤S210。其中,当对应最后一个编号顺序的存储块302完成扫描进程,则认为存储单元30的扫描进程结束。其中,存储单元30的扫描进程结束后,可以将扫描间隔计时单元2072的计时时间清零并重新开始计时。在本发明另一实施例中,也可以在新的扫描开始后,例如置起扫描进程标志的同时将扫描间隔计时单元2072的计时时间清零,并重新开始计时。在步骤S210中,清除扫描进程标志。在步骤S41中,当主控制器20接收到主机命令,则执行步骤S42。在步骤S42中,将当前存储块302标记为扫描中断存储块302,并接着执行步骤S43,将存储装置10从空闲模式切换至工作模式。需要说明的是,在步骤S25中,获取的扫描中断存储块302为步骤S42中标记的扫描中断存储块302。在存储单元30的扫描进程被主机命令打断的情况下,不清除扫描进程标志。因此在中部S24中,判断扫描进程标志是否被置起的过程,能够确认上一轮扫描进程是否被打断过,以合理安排扫描进程,平衡资源调配的同时,提升扫描进程的准确性。需要说明的是,在本发明中,以扫描进程标志被清除,标识存储单元30的扫描进程结束。
请参阅图1至图12所示,在本发明一实施例中,在步骤S18中,存储装置10进入空闲模式。在步骤S18,执行步骤S21的同时,执行步骤S31。在步骤S31中,判断存储单元30中空白存储块302的数量是否小于存储容量阈值。若是空白存储块302的数量小于存储容量阈值,则存储单元30的存储余量不足,执行步骤S32。在步骤S32中,对存储单元30执行垃圾回收进程。其中对存储单元30的垃圾回收进程中,所选取的源块优先级为未关闭的存储块302高于待回收存储块302,待回收存储块302的优先级高于平衡磨损情况所选取的存储块302,平衡磨损情况所选取的存储块302的优先级高于有效数据个数最少的存储块302。需要说明的是,本发明对垃圾回收进程的具体步骤不做限定。垃圾回收进程的目标是将部分存储块302的有效数据整理并转移到别的存储块302中,从而产生新的空白的存储块302。其中在扫描间隔时长还未达到第二时长阈值的情况下,步骤S20和步骤S30为并行步骤。在扫描间隔时长达到第二时长阈值的情况下,在本实施例中,步骤S31和步骤S21为并行步骤。而步骤S32的优先级高于步骤S22或步骤S24,优先在存储单元30中整理出可操作空间,以确保主机命令能正常执行。而步骤S22至步骤S210的优先级高于步骤S32至步骤S36。通过对存储单元30的扫描进程获取问题存储页303,以节约垃圾回收进程的资源占用。其中,步骤S30具体包括步骤S31至步骤S36。
步骤S31、判断存储单元的存储余量是否不足。
步骤S32、当存储单元的存储余量不足,对存储单元执行垃圾回收进程。
步骤S33、当存储单元的存储余量充足,判断存储单元中是否具有待回收存储块。
步骤S34、当存储单元中无待回收存储块,依次扫描存储块,且每次扫描存储块的部分存储页,以获取待回收存储块。
步骤S35、判断在步骤S34中是否获得待回收存储块。
步骤S36、当存储单元中存在待回收存储块,或获得待回收存储块,则对待回收存储块执行垃圾回收进程。
请参阅图1至图13所示,在本发明一实施例中,在完成了对存储单元30的垃圾回收进程后,返回步骤S31,重新判断存储单元30的存储余量是否不足。重复步骤S31和步骤S32,直到存储单元30中空白存储块302的数量大于或大于等于存储容量阈值,执行步骤S33。在步骤S33中,若是存储单元30中具有待回收存储块302,则执行步骤S36。若是存储单元30中没有待回收存储块302,则执行步骤S34,判断能否获得待回收存储块302。需要说明的是,在步骤S34和步骤S35,以及步骤S27中都涉及到对待回收存储块302的获取步骤。其中获取待回收存储块302的方法一致,本发明在此做统一说明。以步骤S34为例,获取待回收存储块302的步骤包括步骤S341至步骤S343。
步骤S341、依次读取存储单元的存储块,且获取存储块中的问题存储页。
步骤S342、判断存储块中问题存储页的数量是否大于回收阈值。
步骤S343、当问题存储页的数量大于回收阈值,则将对应的存储块标记为待回收存储块。
请参阅图1至图13所示,在本发明一实施例中,在步骤S341中,以及步骤S27中,当读取的存储页303的错误比特数超出纠错阈值时,将读取的存储页303标记为问题存储页。在本实施例中,在步骤S27,扫描进程是读取存储单元30中的每个存储页303。在步骤S341中,从存储块302中选取部分存储页303作为被读取的存储页303。其中选出的存储页303可以是特定编号的多个存储页303,且每个存储块302所选取的存储页303编号相同且数量相同。例如,从1号存储块302读取编号01、02和03的存储页303,从2号存储块302读取编号01、02和03的存储页303。其中选取的存储页303的编号由测试人员设定。例如可以通过实验确定系列产品最容易收到读干扰的存储页303为哪些位置的存储页303,从而确定步骤S341中读取的存储页303。在本实施例中,在存储块302中读取的存储页303的数量大于回收阈值。例如回收阈值为2,则读取的存储页303数量至少为3个。在步骤S342中、步骤S343中和步骤S27中,在存储块302中,当问题存储页的数量大于回收阈值,则将对应的存储块302标记为待回收存储块302。
请参阅图1至图13所示,在本发明一实施例中,在步骤S30中,每次垃圾回收进程以一个存储块302为单位,并将正在回收或是刚回收完的存储块302定义为当前存储块302。其中,在待回收存储块302完成垃圾回收进程后,去除待回收存储块302的标记,将待回收存储块302变为普通的空白的存储块302。其中,在对存储块302的垃圾回收进程中,可以按照存储页303的编号顺序依次转移有效数据。每回收一个存储页303,或是回收多个存储页303,执行一次步骤S41。在步骤S41中,若是主控制器20未接收到主机命令,则返回步骤S33,对下一个存储块302进行垃圾回收。若是接收到主机命令,则执行步骤S43,将存储装置10切换至工作模式。需要说明的是,在具有待回收标记的情况下,无需再重复标记垃圾回收的中断位置。还需要说明的是,步骤S30的执行频率远高于步骤S20的执行频率。因此步骤S34能够提升对待回收存储块302的获取频率,并兼顾了较少的资源占用,从而提升存储单元30的数据存储准确性和存储装置10的寿命。
请参阅图1至图3、图11至图14所示,在本发明一实施例中,在扫描进程和垃圾回收进程中涉及到确定回收对象的步骤。其中,回收对象可以是存储块302中的一个或多个存储页303,也可以是存储块302。在本发明另一实施例中,如图14所示,设置回收阈值。其中回收阈值用于限定每个存储块302中问题存储页303的数量。例如,将回收阈值设置为2个。当问题存储页303的数量大于2个,则将问题存储页303所在的存储块302直接标记为待回收存储块302,对整个待回收存储块302进行回收,提升数据存储的安全性。
请参阅图1至图14所示,在本发明一实施例中,在扫描进程中,扫描进程标志的清除,以及扫描间隔时长未达到第二时长阈值,标志着扫描进程的结束。在垃圾回收进程中,当存储单元30中不具有问题存储页303,并且存储单元30的存储余量充足,则标志着垃圾回收进程的结束。在步骤S50中,在扫描进程和垃圾回收进程结束后,执行预备睡眠进程。其中,步骤S50包括步骤S51至步骤S55。
步骤S51、将主控制器中的地址映射信息和主机数据转移至存储单元中。
步骤S52、将主控制器的初始化数据转移至睡眠不掉电区域。
步骤S53、判断主控制器是否接收到主机命令。
步骤S54、当主控制器接收到主机命令,则将存储装置从空闲模式切换至工作模式。
步骤S55、当主控制器未接收到主机命令,则将存储装置从空闲模式切换至睡眠模式。
请参阅图1至图3,以及图8、图9和图14所示,在本发明一实施例中,在步骤S51中,将主控制器20的主机数据以及主机数据对应的地址映射信息转移至存储单元30中。在步骤S52中,初始化数据对应着在第二初始化进程所需的启动数据。例如,区域掉电前数据转移的位置。在第二初始化进程中,可以直接从睡眠不掉电区域22获取初始化所需的数据,从而快速完成第二初始化进程。其中,步骤S52后,执行步骤S53。在步骤S53中,判断主控制器20是否接收到主机命令。当主控制器20接收到主机命令,则执行步骤S54,将存储装置10切换至工作模式,接着重复步骤S10至步骤S50所提供的控制方法。当主控制器20未接收到主机命令,则执行步骤S55,不再等待主机命令,直接将存储装置10切换至睡眠模式,节省能耗。
请参阅图15所示,本发明还提出一种电子设备,电子设备包括处理器601和存储装置10,存储装置10存储有程序指令,处理器601运行程序指令实现上述的存储装置的控制方法。处理器601设置在主机60内,且处理器601可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件;存储装置10包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(Non-Volatile Memory),例如至少一个磁盘存储器。存储装置10也可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,处理器601、存储装置10可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application SpecificIntegrated Circuit,ASIC)。需要说明的是,上述的存储装置10中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
请参阅图16所示,本发明还提出一种计算机可读存储介质701,计算机可读存储介质701存储有计算机指令70,计算机指令70用于使计算机执行上述的存储装置的控制方法。计算机可读存储介质701可以是,电子介质、磁介质、光介质、电磁介质、红外介质或半导体系统或传播介质。计算机可读存储介质701还可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘可以包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-RW)和DVD。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种存储装置,其特征在于,包括:
存储单元,所述存储单元包括多个存储块,且所述存储块包括多个存储页,其中根据所述存储页的错误比特数,获取问题页,且根据所述问题页的数量,获取待回收存储块;
模式切换模块,当所述存储装置等待主机命令的时长大于第一时长阈值,所述模式切换模块将所述存储装置由工作模式切换至空闲模式;
扫描检测模块,当所述存储装置处于所述空闲模式,且所述存储装置的扫描间隔时长大于第二时长阈值,所述扫描检测模块开启对所述存储单元的扫描进程,并获取所述问题页和所述待回收存储块;以及
垃圾回收模块,当所述存储装置处于所述空闲模式,所述垃圾回收模块开启对所述存储单元的垃圾回收进程。
2.根据权利要求1所述的一种存储装置,其特征在于,所述扫描检测模块包括计时模块,所述计时模块电性连接于所述扫描检测模块和所述模式切换模块,以对所述扫描检测模块输出第一启动信号和第二启动信号,并对所述模式切换模块输出所述第一启动信号。
3.根据权利要求2所述的一种存储装置,其特征在于,所述计时模块包括命令间隔计时单元,当所述主机命令的操作结束,所述命令间隔计时单元开始计时并获得第一计时时长,当所述第一计时时长达到所述第一时长阈值,所述计时模块输出所述第一启动信号。
4.根据权利要求2所述的一种存储装置,其特征在于,所述计时模块包括扫描间隔计时单元,当所述存储单元的扫描进程结束,所述扫描间隔计时单元开始计时并获得第二计时时长,当所述第二计时时长达到所述第二时长阈值,所述计时模块输出所述第二启动信号。
5.根据权利要求2所述的一种存储装置,其特征在于,所述扫描检测模块包括扫描进程标志,当所述扫描检测模块接收到所述第一启动信号和所述第二启动信号,置起所述扫描进程标志,并将所述扫描进程标志存储于所述存储装置中。
6.根据权利要求1所述的一种存储装置,其特征在于,所述存储装置包括回收启动模块,所述回收启动模块电性连接于所述垃圾回收模块,且当空白的所述存储块数量小于存储容量阈值,所述回收启动模块对所述垃圾回收模块输出第三启动信号。
7.根据权利要求1所述的一种存储装置,其特征在于,所述存储装置包括命令查询模块,所述命令查询模块的执行时间节点为完成对所述存储块的所述扫描进程,以及完成对所述待回收存储块的所述垃圾回收进程。
8.根据权利要求1所述的一种存储装置,其特征在于,所述存储装置包括主控制器,所述主控制器电性连接于所述存储单元和主机,且根据所述主控制器的器件区域在睡眠模式下是否掉电,所述主控制器被划分为睡眠掉电区域和睡眠不掉电区域。
9.根据权利要求1所述的一种存储装置,其特征在于,在所述存储块中,当所述问题页的数量超出回收阈值,所述存储块被标记为待回收存储块。
10.一种存储装置的控制方法,其特征在于,包括以下步骤:
当主机命令的间隔时间大于第一时长阈值,将所述存储装置从工作模式切换至空闲模式;
在所述空闲模式中,当存储单元的扫描间隔时间达到第二时长阈值,启用对所述存储单元的扫描进程,并根据存储页的错误比特数,获取问题页;
在所述空闲模式中,当所述存储单元的存储余量不足或当所述存储单元中具有待回收存储块,启用对所述存储单元的垃圾回收进程;以及
在接收到所述主机命令时,中断所述扫描进程和所述垃圾回收进程,并将所述存储装置从所述空闲模式切换至所述工作模式。
11.根据权利要求10所述的一种存储装置的控制方法,其特征在于,所述存储装置包括主控制器,在所述空闲模式中,当所述扫描进程和所述垃圾回收进程结束,将所述主控制器的数据转移至所述存储单元或睡眠不掉电区域,并将所述存储装置切换至睡眠模式。
12.根据权利要求10所述的一种存储装置的控制方法,其特征在于,中断所述扫描进程的步骤包括:
在读取所述存储块后,判断所述存储装置是否接收到所述主机命令;
当所述存储装置接收到主机命令,将读完的所述存储块标记为中断存储块,并将所述存储装置切换至所述工作模式;以及
在重新回到所述空闲模式后,从所述中断存储块的下一个所述存储块开始,执行所述扫描进程。
13. 根据权利要求10所述的一种存储装置的控制方法,其特征在于,中断所述垃圾回收进程的步骤包括:
回收部分所述存储页后,判断所述存储装置是否接收到所述主机命令;以及
当所述存储装置接收到主机命令,中断所述垃圾回收进程,并将所述存储装置切换至所述工作模式。
14.根据权利要求10所述的一种存储装置的控制方法,其特征在于,当所述扫描进程中未获得待回收存储块,在执行所述垃圾回收进程前,依次读取所述存储块,且读取所述存储块中的部分所述存储页,以获取所述待回收存储块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311181419.7A CN116909495B (zh) | 2023-09-14 | 2023-09-14 | 一种存储装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311181419.7A CN116909495B (zh) | 2023-09-14 | 2023-09-14 | 一种存储装置及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909495A true CN116909495A (zh) | 2023-10-20 |
CN116909495B CN116909495B (zh) | 2023-12-15 |
Family
ID=88353482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311181419.7A Active CN116909495B (zh) | 2023-09-14 | 2023-09-14 | 一种存储装置及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909495B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687702A (zh) * | 2024-01-31 | 2024-03-12 | 合肥康芯威存储技术有限公司 | 一种存储芯片以及自动休眠方法 |
Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040104203A (ko) * | 2003-06-03 | 2004-12-10 | 엘지전자 주식회사 | 이동 통신 단말기의 쓰레기데이터 모음 방법 |
US20080005516A1 (en) * | 2006-06-30 | 2008-01-03 | Meinschein Robert J | Memory power management through high-speed intra-memory data transfer and dynamic memory address remapping |
CN103218274A (zh) * | 2013-03-15 | 2013-07-24 | 华为技术有限公司 | 一种预防故障累加的方法和固态硬盘 |
CN103827834A (zh) * | 2013-11-22 | 2014-05-28 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN103842968A (zh) * | 2013-11-22 | 2014-06-04 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN104272386A (zh) * | 2012-04-25 | 2015-01-07 | 国际商业机器公司 | 通过分层存储系统内的数据迁移减少功耗 |
CN104460941A (zh) * | 2014-12-03 | 2015-03-25 | 上海新储集成电路有限公司 | 一种降低主存存储器满负荷运行功耗的方法 |
CN205485425U (zh) * | 2015-12-12 | 2016-08-17 | 重庆川仪自动化股份有限公司 | 掉电保护控制器 |
CN106339324A (zh) * | 2016-08-19 | 2017-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
US20170109101A1 (en) * | 2015-10-16 | 2017-04-20 | Samsung Electronics Co., Ltd. | System and method for initiating storage device tasks based upon information from the memory channel interconnect |
US20170344302A1 (en) * | 2016-05-30 | 2017-11-30 | Infineon Technologies Ag | Data processing device and method for saving power in a data processing device |
CN107766006A (zh) * | 2017-11-07 | 2018-03-06 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
JP2018106310A (ja) * | 2016-12-23 | 2018-07-05 | シュナイダーエレクトリックホールディングス株式会社 | メモリ制御装置 |
US20180276116A1 (en) * | 2017-03-21 | 2018-09-27 | Western Digital Technologies, Inc. | Storage System and Method for Adaptive Scheduling of Background Operations |
CN109901794A (zh) * | 2017-12-11 | 2019-06-18 | 爱思开海力士有限公司 | 使用主机空闲来操作垃圾收集的设备和方法 |
US20200050368A1 (en) * | 2018-08-13 | 2020-02-13 | SK Hynix Inc. | Memory system and operation method for determining availability based on block status |
CN110795027A (zh) * | 2018-08-03 | 2020-02-14 | 三星电子株式会社 | 固态存储设备及包括该固态存储设备的电子系统 |
CN111090398A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
CN111433754A (zh) * | 2017-09-30 | 2020-07-17 | 美光科技公司 | 先占式闲置时间读取扫描 |
CN111949564A (zh) * | 2020-08-13 | 2020-11-17 | 青岛海信传媒网络技术有限公司 | 一种内存交换方法及显示设备 |
CN112433676A (zh) * | 2020-11-24 | 2021-03-02 | 合肥康芯威存储技术有限公司 | 一种固态硬盘的垃圾回收处理方法及系统 |
CN113342705A (zh) * | 2020-03-03 | 2021-09-03 | 爱思开海力士有限公司 | 在存储器系统中执行垃圾收集的设备和方法 |
US20220043587A1 (en) * | 2018-08-03 | 2022-02-10 | Samsung Electronics Co., Ltd. | Storage device initiating maintenance operation actively without instruction of host and electronic system including the same |
KR20220029286A (ko) * | 2020-08-28 | 2022-03-08 | 삼성전자주식회사 | 스토리지 장치 및 그 스토리지 컨트롤러의 동작방법 |
CN114625323A (zh) * | 2022-03-29 | 2022-06-14 | 张体奎 | 一种安全nand闪存设备 |
CN114764396A (zh) * | 2021-01-15 | 2022-07-19 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
US11422726B1 (en) * | 2018-05-01 | 2022-08-23 | Amazon Technologies, Inc. | Efficient storage device data move operation based on priority of garbage collection command |
CN115269451A (zh) * | 2022-09-28 | 2022-11-01 | 珠海妙存科技有限公司 | 闪存垃圾回收方法、装置及可读存储介质 |
CN115495025A (zh) * | 2022-11-18 | 2022-12-20 | 合肥康芯威存储技术有限公司 | 一种管理异常存储块的方法和装置 |
CN116303118A (zh) * | 2023-05-18 | 2023-06-23 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
KR20230094110A (ko) * | 2021-12-20 | 2023-06-27 | 삼성전자주식회사 | 스토리지 장치 |
CN116449938A (zh) * | 2022-04-27 | 2023-07-18 | 英韧科技(上海)有限公司 | 固态存储系统中的功率管理系统和方法 |
-
2023
- 2023-09-14 CN CN202311181419.7A patent/CN116909495B/zh active Active
Patent Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040104203A (ko) * | 2003-06-03 | 2004-12-10 | 엘지전자 주식회사 | 이동 통신 단말기의 쓰레기데이터 모음 방법 |
US20080005516A1 (en) * | 2006-06-30 | 2008-01-03 | Meinschein Robert J | Memory power management through high-speed intra-memory data transfer and dynamic memory address remapping |
CN104272386A (zh) * | 2012-04-25 | 2015-01-07 | 国际商业机器公司 | 通过分层存储系统内的数据迁移减少功耗 |
CN103218274A (zh) * | 2013-03-15 | 2013-07-24 | 华为技术有限公司 | 一种预防故障累加的方法和固态硬盘 |
CN103827834A (zh) * | 2013-11-22 | 2014-05-28 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN103842968A (zh) * | 2013-11-22 | 2014-06-04 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN104460941A (zh) * | 2014-12-03 | 2015-03-25 | 上海新储集成电路有限公司 | 一种降低主存存储器满负荷运行功耗的方法 |
US20170109101A1 (en) * | 2015-10-16 | 2017-04-20 | Samsung Electronics Co., Ltd. | System and method for initiating storage device tasks based upon information from the memory channel interconnect |
CN205485425U (zh) * | 2015-12-12 | 2016-08-17 | 重庆川仪自动化股份有限公司 | 掉电保护控制器 |
US20170344302A1 (en) * | 2016-05-30 | 2017-11-30 | Infineon Technologies Ag | Data processing device and method for saving power in a data processing device |
CN106339324A (zh) * | 2016-08-19 | 2017-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
JP2018106310A (ja) * | 2016-12-23 | 2018-07-05 | シュナイダーエレクトリックホールディングス株式会社 | メモリ制御装置 |
US20180276116A1 (en) * | 2017-03-21 | 2018-09-27 | Western Digital Technologies, Inc. | Storage System and Method for Adaptive Scheduling of Background Operations |
CN111433754A (zh) * | 2017-09-30 | 2020-07-17 | 美光科技公司 | 先占式闲置时间读取扫描 |
CN107766006A (zh) * | 2017-11-07 | 2018-03-06 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN109901794A (zh) * | 2017-12-11 | 2019-06-18 | 爱思开海力士有限公司 | 使用主机空闲来操作垃圾收集的设备和方法 |
US11422726B1 (en) * | 2018-05-01 | 2022-08-23 | Amazon Technologies, Inc. | Efficient storage device data move operation based on priority of garbage collection command |
CN110795027A (zh) * | 2018-08-03 | 2020-02-14 | 三星电子株式会社 | 固态存储设备及包括该固态存储设备的电子系统 |
US20220043587A1 (en) * | 2018-08-03 | 2022-02-10 | Samsung Electronics Co., Ltd. | Storage device initiating maintenance operation actively without instruction of host and electronic system including the same |
US20200050368A1 (en) * | 2018-08-13 | 2020-02-13 | SK Hynix Inc. | Memory system and operation method for determining availability based on block status |
CN111090398A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
CN113342705A (zh) * | 2020-03-03 | 2021-09-03 | 爱思开海力士有限公司 | 在存储器系统中执行垃圾收集的设备和方法 |
CN111949564A (zh) * | 2020-08-13 | 2020-11-17 | 青岛海信传媒网络技术有限公司 | 一种内存交换方法及显示设备 |
KR20220029286A (ko) * | 2020-08-28 | 2022-03-08 | 삼성전자주식회사 | 스토리지 장치 및 그 스토리지 컨트롤러의 동작방법 |
CN112433676A (zh) * | 2020-11-24 | 2021-03-02 | 合肥康芯威存储技术有限公司 | 一种固态硬盘的垃圾回收处理方法及系统 |
CN114764396A (zh) * | 2021-01-15 | 2022-07-19 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
KR20230094110A (ko) * | 2021-12-20 | 2023-06-27 | 삼성전자주식회사 | 스토리지 장치 |
CN114625323A (zh) * | 2022-03-29 | 2022-06-14 | 张体奎 | 一种安全nand闪存设备 |
CN116449938A (zh) * | 2022-04-27 | 2023-07-18 | 英韧科技(上海)有限公司 | 固态存储系统中的功率管理系统和方法 |
CN115269451A (zh) * | 2022-09-28 | 2022-11-01 | 珠海妙存科技有限公司 | 闪存垃圾回收方法、装置及可读存储介质 |
CN115495025A (zh) * | 2022-11-18 | 2022-12-20 | 合肥康芯威存储技术有限公司 | 一种管理异常存储块的方法和装置 |
CN116303118A (zh) * | 2023-05-18 | 2023-06-23 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687702A (zh) * | 2024-01-31 | 2024-03-12 | 合肥康芯威存储技术有限公司 | 一种存储芯片以及自动休眠方法 |
CN117687702B (zh) * | 2024-01-31 | 2024-04-19 | 合肥康芯威存储技术有限公司 | 一种存储芯片以及自动休眠方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116909495B (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116909495B (zh) | 一种存储装置及其控制方法 | |
JP5377175B2 (ja) | コントローラ、及びデータ記憶装置 | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
US8954772B2 (en) | Data processing apparatus capable of controlling power supply, control method therefor, and storage medium | |
US9170887B2 (en) | Memory system and controlling method of memory system | |
JP2015064860A (ja) | 画像形成装置およびその制御方法、並びにプログラム | |
JP2019159802A (ja) | 記憶装置の電力制御方法および記憶装置 | |
JP6808507B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
US20220066527A1 (en) | Storage device and method for sudden power off recovery thereof | |
CN107797899A (zh) | 一种固态硬盘数据安全写入的方法 | |
CN109491592B (zh) | 存储设备及其数据写入方法、存储装置 | |
CN108874574B (zh) | 一种垃圾回收处理方法及相关装置 | |
US20210096770A1 (en) | Memory system, memory system control method, and information processing system | |
CN111966611A (zh) | 具有逻辑转物理地址架构的spi闪存控制芯片 | |
CN106325764B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US11321001B2 (en) | Information processing apparatus equipped with storage using flash memory, control method therefor, and storage medium | |
TWI665606B (zh) | 資料儲存裝置之測試系統與資料儲存裝置之測試方法 | |
US20160041605A1 (en) | Image processing apparatus, control method therefor and storage medium | |
US10614892B1 (en) | Data reading method, storage controller and storage device | |
KR20100106199A (ko) | 저장 오퍼레이션에 대한 완료 시간을 추정하는 방법 및 저장 디바이스 | |
CN115956236A (zh) | 主机装置及存储器系统 | |
US11875059B2 (en) | Memory system and method of controlling nonvolatile memory | |
CN111103960B (zh) | 一种Nvme SSD及其复位方法和系统 | |
JP5959841B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
CN111489776B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |