CN109445688B - 一种存储控制方法、存储控制器、存储设备及存储*** - Google Patents

一种存储控制方法、存储控制器、存储设备及存储*** Download PDF

Info

Publication number
CN109445688B
CN109445688B CN201811147678.7A CN201811147678A CN109445688B CN 109445688 B CN109445688 B CN 109445688B CN 201811147678 A CN201811147678 A CN 201811147678A CN 109445688 B CN109445688 B CN 109445688B
Authority
CN
China
Prior art keywords
storage device
data
storage
behavior
behavior information
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
CN201811147678.7A
Other languages
English (en)
Other versions
CN109445688A (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.)
Shanghai Baigong Semiconductor Co ltd
Original Assignee
Shanghai Baigong Semiconductor 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 Shanghai Baigong Semiconductor Co ltd filed Critical Shanghai Baigong Semiconductor Co ltd
Priority to CN201811147678.7A priority Critical patent/CN109445688B/zh
Priority to PCT/CN2019/072541 priority patent/WO2020062734A1/zh
Priority to US16/610,514 priority patent/US20210208781A1/en
Publication of CN109445688A publication Critical patent/CN109445688A/zh
Application granted granted Critical
Publication of CN109445688B publication Critical patent/CN109445688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

本发明提供一种存储控制方法、存储控制器、存储设备及存储***,该存储控制方法用于控制一存储设备的存储行为,包括:获取所述存储设备的行为信息;利用一深度学习算法对所述行为信息进行处理,获得所述存储设备的行为参数;根据所述存储设备的行为参数调整所述存储设备的运行模式。本发明通过深度自我学习的方式提升存储设备自动调整操作算法以适应复杂***对于存储设备的不同需求,进而实现了符合该***需求的最适读写效能、最佳可靠度,及最低功耗的存储设备。

Description

一种存储控制方法、存储控制器、存储设备及存储***
技术领域
本发明属于存储技术领域,涉及一种存储控制方法、存储控制器、存储设备及存储***。
背景技术
随着闪存技术的不断进步,以及3D TLC/QLC的工艺技术的发展,已逐步实现了以闪存内存为基础的存储设备,其容量高、成本低的优势使这类存储设备成为未来大数据及云端存储单元应用与研究的热点。但因3D TLC/QLC的原始比特误码率很高,且其对于温度及电压的敏感度增加,在管理上必须采用更复杂的算法机制。
在实际应用方面,各种不同的***对于存储设备的操作模式亦不尽相同,在性能上的要求重点不一,使得没有一种存储设备的固定算法可以适应各种不同的***应用,因而出现了订制化的需求。
然而,随着智能网络及人工智能***日渐复杂的用户行为模式要求,***架构的设计随着全面化与多元化要求而更加复杂化与非固定化。这使得针对特定用户行为模式而订制的存储设备成为高成本与低适用性的投资。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储控制方法、存储控制器、存储设备及存储***,用于实现一种自适应于各种不同***应用的存储算法及设备。
为实现上述目的及其他相关目的,本发明提供一种存储控制方法,用于控制一存储设备的存储行为,所述存储控制方法包括:获取所述存储设备的行为信息;利用一深度学习算法对所述行为信息进行处理,获得所述存储设备的行为参数;根据所述存储设备的行为参数调整所述存储设备的运行模式。
于本发明一实施例中,所述存储设备的行为信息包括用户行为信息;所述存储设备的用户为一主机***,所述存储设备的用户行为信息包括:所述主机***对所述存储设备下发的指令集序列;所述主机***对所述存储设备执行的读取数据量、读取位置及读取范围;所述主机***对所述存储设备执行的写入数据量、写入位置及写入范围;或/和所述主机***对所述存储设备执行的写入及读取数据时的数据串流行为,所述数据串流行为包括:主机***端的数据总线(Data Bus)执行数据传递的忙碌时间与暂停数据传递的空闲时间、存储器件端的数据总线的忙碌时间与闲置时间;利用所述深度学习算法对所述用户行为信息进行处理,获得所述存储设备的用户行为参数的一种实现过程包括:利用所述深度学习算法对所述指令集序列进行处理,获得主机***惯用的命令集及命令序列;利用所述深度学习算法对所述读取位置进行处理,获得主机***惯用的顺序读与随机读的比例;利用所述深度学习算法对所述写入位置进行处理,获得主机***惯用的顺序写与随机写的比例;利用所述深度学习算法对所述写入数据量和所述读取数据量进行处理,获得主机***惯用的数据写/读量统计表格;利用所述深度学习算法对所述写入位置和所述读取位置进行处理,获得主机***惯用的数据写/读起始逻辑位置统计表格;利用所述深度学习算法对所述写入范围和所述读取范围进行处理,获得主机***惯用的数据写/读范围统计表格;利用所述深度学习算法对所述写入及读取数据时的数据串流行为进行处理,获得主机***惯用的数据串流行为统计表格;所述存储设备的用户行为参数包括:所述主机***惯用的命令集及命令序列,所述主机***惯用的顺序读与随机读的比例,所述主机***惯用的顺序写与随机写的比例,所述主机***惯用的数据写/读量统计表格,所述主机***惯用的数据写/读起始逻辑位置统计表格,所述数据主机***惯用的数据写/读范围统计表格,或/和主机***惯用的数据串流行为统计表格。
于本发明一实施例中,根据所述存储设备的用户行为参数调整所述存储设备的运行模式的一种实现过程包括:所述存储设备包括存储控制器及存储器件;调整对所述存储设备的数据写/读管理策略;调整数据/控制信号总线使用权的分配策略;调整存储器件的数据区块分配及放置策略;调整命令处理优先级策略;调整数据缓存(Data Buffer)使用的管理策略;调整对储存器件的写入或读取数据的速率;调整存储控制器的工作频率;调整背景处理程序(Background Operation)的启动时机与行为决策;或/和调整电源管理启动时机与模式。
于本发明一实施例中,所述存储设备的用户为一主机***;所述存储设备的行为信息包括***电源行为信息,所述***电源行为信息包括:所述主机***对所述存储设备执行的供电电压、电源管理模式、断电行为及电源稳定度;利用所述深度学习算法对所述***电源行为信息进行处理,获得所述存储设备的***电源行为参数的一种实现过程包括:利用所述深度学习算法对所述供电电压进行处理,获得电压范围;利用所述深度学习算法对所述电源管理模式进行处理,获得休眠模式统计表;利用所述深度学习算法对所述断电行为进行处理,获得安全断电程序模式和不安全断电统计;所述***电源行为参数包括:所述电压范围,所述休眠模式统计表,所述安全断电程序模式或/和所述不安全断电统计。
于本发明一实施例中,根据所述***电源行为参数调整所述存储设备的运行模式的一种实现过程包括:调整对所述存储设备的电源管理及数据安全保护的管理机制;调整背景处理程序(Background Operation)的启动时机与行为决策;或/和调整存储器件的数据缓存机制与最终存放区块配置决策。
于本发明一实施例中,所述存储设备的用户为一主机***;所述存储设备的行为信息包括工作环境温度行为信息,所述工作环境温度行为信息包括:所述存储设备在执行所述主机***的命令的过程中的工作环境温度;所述利用所述深度学习算法对所述工作环境温度行为信息进行处理,获得所述存储设备的工作环境温度行为参数。
于本发明一实施例中,根据工作环境温度行为参数调整所述存储设备的运行模式的一种实现过程包括:调整对所述存储设备的电源管理机制;调整对储存器件写入或读取数据速率;调整存储控制器的工作频率;调整背景处理程序(Background Operation)的启动时机与行为决策;或/和调整电源管理启动时机与模式。
于本发明一实施例中,所述存储设备的行为信息包括存储器件行为信息,所述存储器件行为信息包括:读取数据时,所述存储设备的读取区块位置的错误码发生数量及几率;读取数据时,所述存储设备的读取区块位置的错误码发生时,硬解码与软解码的行为模式;读取数据时,所述存储器件的重读数据几率及重读表中各组参数的成功几率;写入数据时,所述存储设备的写入区块位置的写数据失败率;删除数据时,所述存储设备的擦除区块位置的擦除数据失败率;数据写入存储器件时,控制信号及数据信号的时序(Timing);所述时序包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);读取储存器件数据时,控制信号及数据信号的时序(Timing);所述时序包括速率(Clock Rate)、斜率(SlewRate)及延迟时间(Delay Time);或/和所述存储器件的工作电压。
于本发明一实施例中,利用所述深度学习算法对所述储存器件行为信息进行处理,获得储存器件行为参数的一种实现过程包括:利用所述深度学习算法对所述储存器件行为信息进行处理,获得数据写入储存器件时控制信号及数据信号的最佳时序(Timing),包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);利用所述深度学习算法对所述存储器件行为信息进行处理,获得读取储存器件数据时控制信号及数据信号的最佳时序(Timing),包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);利用所述深度学习算法对所述存储器件行为信息进行处理,获得最佳控制信号及数据信号的传输振幅(Swing Level);利用所述深度学习算法对所述写数据失败率、所述擦除数据失败率、所述重读表几率以及所述错误码发生数量及几率进行处理,获得存储器件内的存储区块健康状况统计表格;所述存储设备的存储器件行为参数包括:所述数据写入储存器件时控制信号及数据信号的最佳时序(Timing),所述读取储存器件数据时控制信号及数据信号的最佳时序(Timing),所述最佳控制信号及数据信号的传输振福,或/和所述存储器件内的存储区块健康状况统计表格。
于本发明一实施例中,根据所述存储设备的存储器件行为参数调整存储设备的运行模式的一种实现过程包括:根据所述存储设备的存储器件行为参数,调整对所述存储设备的存储器件驱动管理机制;调整对所述存储设备的数据写/读管理策略;调整存储器件的数据区块分配及放置策略;调整数据缓存(Data Buffer)使用的管理策略;调整对储存器件写入或读取数据的速率;或/和调整背景处理程序(Background Operation)的启动时机与行为决策。
于本发明一实施例中,所述深度学习算法是一种通过深度类神经网络运算的学习方法,所述深度类神经网络运算的学习方法包括:利用输入层输入所述行为信息;利用至少一层中间处理层处理所述存储设备的行为信息进行深度学习处理,包括:分析所有关注事件的特征,并将分析后获得的特征作为所述输入层的参数,经过反向传播算法由输出层产生输出参数,同时更新各中间处理层的节点的权重值;利用输出层输出处理后获得的输出参数,即所述存储设备的行为参数。
本发明还提供一种存储控制器,用于控制一存储设备的存储行为,所述存储控制器包括:一第一接口,与所述存储设备的用户接口通信相连,用于获取所述存储设备的用户行为信息;一第二接口,与所述存储设备的存储器件通信相连,用于获取所述存储设备的存储器件行为信息;一处理模块,与所述第一接口和所述第二接口分别通信相连,用于利用一深度学习算法对所述存储设备的行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式。
本发明还提供一种存储设备,包括:一用户接口,用于与一用户设备通信相连,用于接收所述用户设备的存储指令;至少1个存储器件,用于存储数据;一电源模块,用于供电;一存储控制器,与所述用户接口、存储器件和所述电源模块分别通信相连,包括:一第一接口,与所述用户接口通信相连,用于获取所述存储设备的用户行为信息;一第二接口,与所述存储器件通信相连,用于获取所述存储设备的存储器件行为信息;一处理模块,与所述第一接口和所述第二接口分别通信相连,用于利用一深度学习算法对所述存储设备的行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式。
本发明还提供一种存储***,包括:一用户设备,用于控制一存储设备执行存储操作;所述用户设备包括主机***;所述存储设备包括:一用户接口,用于与所述用户设备通信相连,用于接收所述用户设备的存储指令;至少1个存储器件,用于存储数据;一电源模块,用于供电;一存储控制器,与所述用户接口、存储器件和所述电源模块分别通信相连,包括:一第一接口,与所述用户接口通信相连,用于获取所述存储设备的用户行为信息;一第二接口,与所述存储器件通信相连,用于获取所述存储设备的存储器件行为信息;一处理模块,与所述第一接口和所述第二接口分别通信相连,用于利用一深度学习算法对所述存储设备的行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式。
如上所述,本发明所述的存储控制方法、存储控制器、存储设备及存储***,具有以下有益效果:
本发明通过深度自我学习的方式提升存储设备自动调整操作算法以适应复杂***对于存储设备的不同需求,进而实现了符合该***需求的最适读写效能、最佳可靠度,及最低功耗的存储设备。
附图说明
图1A显示为本发明实施例所述的存储控制方法的一种示例性实现流程示意图。
图1B显示为本发明实施例所述的存储控制方法的一种示例性应用场景示意图。
图1C显示为本发明实施例所述的存储控制方法的另一种示例性应用场景示意图。
图1D显示为本发明实施例所述的存储控制方法的一种示例性实现结构示意图。
图1E显示为本发明实施例所述的存储控制方法中深度学习算法的一种示例性实现流程示意图。
图1F显示为本发明实施例所述的存储控制方法中深度学习算法的神经网络的一种示例性模型示意图。
图1G显示为本发明实施例所述的存储控制方法中实现深度学习算法的深度神经网络架构实现调整存储控制运行机制的一种示例性结构示意图。
图2显示为本发明实施例所述的存储控制器的一种示例性实现结构示意图。
图3显示为本发明实施例所述的存储设备的一种示例性实现结构示意图。
图4显示为本发明实施例所述的存储***的一种示例性实现结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明公开了一种藉由深度自我学习算法达到提升存储设备读写效能、稳定度和可靠度,及降低功耗的方法,其通过在***的操作过程中记录存储设备自身被***指派的命令集、命令序列、数据大小、数据流型态、存储频率、电源供应状态等一切***可能对存储设备进行的行为,将收集到的所有行为信息进行深度运算、比对及分析,利用这种深度学习(即观察与分析)“用户行为”的方式,对存储设备本身的控制方法进行调适,达到存储设备在整个***中的效能、可靠度、兼容性及功耗的优化。
本发明通过存储设备自我深入学习的方法分析***操作行为模式,并逐步调适及优化存储设备自身的工作方式,以适应整体***操作行为,达到提高整体***效率、可靠度、兼容性,并降低功耗的目的。
本发明通过深度自我学习的方式提升存储设备自动调整操作算法以适应复杂***对于存储设备的不同需求,进而实现了符合该***需求的最适读写效能、最佳可靠度,及最低功耗的存储设备。其解决了不同***需要特别订制化存储设备,而造成高成本与低适用性的问题。
本发明中,主机***(Host System):指为使用闪存存储设备作为其存放即读取数据、信息、数据、执行程序、操作***等内容的设备,例如服务器(Server)、笔记本(NoteBook)、手机、智能家电、安防***、汽车等。
闪存存储设备(Flash Storage Device):指所有以闪存数组(NAND Flash Array)或称存储器件、闪存控制芯片、或/和内存数组(DRAM Array)或称内存器件为主体所构成的数据存储设备。其中内存数组(DRAM Array)为选择性器件,可以存在或不存在于设备中,例如SSD、eMMC、UFS、UFD、SD等皆属于闪存存储设备。
存储***协议(Storage System Protocol):主机***(Host System)用以跟闪存存储设备(Flash Storage Device)沟通的协议,例如SATA,PCIe,eMMC,UFS等协议。
硬件(Hardware):一种以逻辑电路(Logic Circuit)或模拟电路(AnalogCircuit)或晶体管(FET)等所构成于集成电路中,用以实现其所定义的功能。
固件(Firmware):一种以程序编码方式撰写成可以经由编译程序(Compiler)编译成CPU可以执行的程序码。
闪存转换层(Flash Translation Layer,简称FTL):指闪存控制芯片的固件中,用来处理Host System到闪存数组(Flash Array)数据写/读的所有算法模块。
类神经网络(Neural Network,简称NN):是机器学习领域中的一种方法,它企图用模拟人类大脑中的神经网络(Neural Network)的运作方式来建构机器学习的模式。NeuralNetwork概念为:一堆数据X,而每笔数据有多个特征值(x1,x2,x3,x4),NN中每一层的权重(Weighting,简称W)W就可以决定出最终的Y(y1,y2,y3)。若中间可能有很多层(Multi-Layer Perception,简称MLP)。当层级愈多网络就愈大,所需的参数W就要愈多,因此计算梯度(Gradient)就要花更多的时间。
深度学习(Deep Learning):是深入的Neural Network(Deep Neural Network,简称DNN),其中间隐藏层(Hidden Layer)有很多层级。每建构一个隐藏层就代表建立同款式但有着不同的过滤器(Filter),依照条件算式筛选出不同的特征。愈多的隐藏层就代表用了更多款式的过滤器。经过反向传播(Back Propagation)计算后,求得每一个节点不同条件的权重W。而愈重要的节点条件权重愈高,愈不重要的节点条件权重就会愈低。这些W较大的节点条件,代表用这些节点条件可以算出X-->Y的重要成份,也就是"特征"。在每次的学习当中,算法会自动调整DNN中相关权重W,这也是本发明最核心的概念——通过DNN自动进行特征获取,而每次的新获取的特征又会通过算法反馈即更新DNN,完全有别于现在的算法(由既定好的程序来先定义好特征或者参数)。
请参阅图1A,本发明实施例提供一种存储控制方法,用于控制一存储设备的存储行为,所述存储控制方法包括:
S101,获取所述存储设备的行为信息。所述行为信息包括用户行为信息,***电源行为信息,工作环境温度行为信息,或/和存储器件行为信息。所述行为信息可存储于存储设备的控制器内存中,或存储于存储设备的闪存内存中,或存储于存储设备的内存中。
S102,利用一深度学习算法对所述行为信息进行处理,获得所述存储设备的行为参数。
S103,根据所述存储设备的行为参数调整所述存储设备的运行模式。
进一步,当所述步骤S102执行结束后,可全部或部分丢弃内存中存储的行为信息,以释放内存空间,用于存储新的行为信息。
本发明实施例还提供一种所述存储控制方法的应用场景,参见图1B所示。
于本发明的一实施例中,所述存储设备的用户为一主机***,所述用户行为信息包括:所述主机***对所述存储设备下发的指令集序列;所述主机***对所述存储设备执行的读取数据量、读取位置及读取范围;所述主机***对所述存储设备执行的写入数据量、写入位置及写入范围;或/和所述主机***对所述存储设备执行的写入及读取数据时的数据串流行为;所述数据串流行为包括:主机***端的数据总线(Data Bus)执行数据传递的忙碌时间与暂停数据传递的空闲时间、存储器件端的数据总线的忙碌时间与闲置时间。其中,读取范围指从起始读取位置到终止读取位置;写入范围指从起始写入位置到终止写入位置。
利用所述深度学习算法对所述用户行为信息进行处理,获得所述存储设备的用户行为参数的一种实现过程包括:利用所述深度学习算法对所述指令集序列进行处理,获得主机***惯用的命令集及命令序列;利用所述深度学习算法对所述读取位置进行处理,获得主机***惯用的顺序读与随机读的比例;利用所述深度学习算法对所述写入位置进行处理,获得主机***惯用的顺序写与随机写的比例;利用所述深度学习算法对所述写入数据量和所述读取数据量进行处理,获得主机***惯用的数据写/读量统计表格;利用所述深度学习算法对所述写入位置和所述读取位置进行处理,获得主机***惯用的数据写/读起始逻辑位置统计表格;利用所述深度学习算法对所述写入范围和所述读取范围进行处理,获得主机***惯用的数据写/读范围统计表格;利用所述深度学习算法对所述写入及读取数据时的数据串流行为进行处理,获得主机***惯用的数据串流行为统计表格;所述存储设备的用户行为参数包括:所述主机***惯用的命令集及命令序列,所述主机***惯用的顺序读与随机读的比例,所述主机***惯用的顺序写与随机写的比例,所述主机***惯用的数据写/读量统计表格,所述主机***惯用的数据写/读起始逻辑位置统计表格,所述数据主机***惯用的数据写/读范围统计表格,或/和主机***惯用的数据串流行为统计表格。
根据所述存储设备的用户行为参数调整所述存储设备的运行模式的一种实现过程包括:所述存储设备包括存储控制器及存储器件;调整对所述存储设备的数据写/读管理策略;调整数据/控制信号总线使用权的分配策略;调整存储器件的数据区块分配及放置策略;调整命令处理优先级策略;调整数据缓存(Data Buffer)使用的管理策略;调整对储存器件的写入或读取数据的速率;调整存储控制器的工作频率;调整背景处理程序(Background Operation)的启动时机与行为决策;或/和调整电源管理启动时机与模式。实现配合所述主机***和存储设备整体运作的最适模式,提升所述主机***和存储设备整体数据写/读效能、可靠度及降低功耗。其中,背景处理程序(Background Operation)是存储设备的固件模块中各种操作的集合,如wear-leveling,Error handle等。
当被控制的存储设备为闪存存储设备时,所述存储控制方法的应用场景可参见图1C至图1D所示。以存储设备(如闪存存储设备)的用户为一主机***(如Host)为例,要实现本发明,需要执行以下步骤:
从Host对闪存存储设备所下的指令集序列中,收集***惯用的指令集序列。具体实现方式包括:当闪存存储设备收到Host下达的执行命令时,除了于第一时间依照协议标准响应及执行该命令所要求的任务外,闪存存储设备还同时执行图1A中S101固件模块中对Host的命令行为进行收集及分析。
从Host对闪存存储设备所执行的写入数据行为中,收集***惯用的写入数据量、写入位置、写入范围、及数据与数据间的空闲时间。具体实现方式包括:当闪存存储设备收到Host要求写入的数据时,除了于第一时间依照协议标准响应及执行该命令所要求的写入任务外,闪存存储设备还同时执行图1A中S101固件模块中对Host所传送数据的行为模式进行收集及分析。
从Host对闪存存储设备所执行的读取数据行为中,收集***惯用的读取数据量、读取位置、及读取范围。具体实现方式包括:当闪存存储设备备妥Host要读取的数据时,除了于第一时间依照协议标准响应及执行该命令所要求的读取任务外,闪存存储设备还同时执行图1A中S101固件模块中对Host所读取数据的行为模式进行收集及分析。
本发明所述的存储设备包括但不限于闪存存储设备,任意类型的存储设备都包括在本发明所述的存储设备的范围内。本发明所述的存储设备的用户也不限于主机***,凡是对存储设备进行操作控制的设备都属于存储设备的用户范畴。
于本发明的一实施例中,所述存储设备的用户为一主机***;所述存储设备的行为信息包括***电源行为信息,所述***电源行为信息包括:所述主机***对所述存储设备执行的供电电压、电源管理模式、断电行为及电源稳定度。
利用所述深度学习算法对所述***电源行为信息进行处理,获得所述存储设备的***电源行为参数的一种实现过程包括:利用所述深度学习算法对所述供电电压进行处理,获得电压范围;利用所述深度学习算法对所述电源管理模式进行处理,获得休眠模式统计表;利用所述深度学习算法对所述断电行为进行处理,获得安全断电程序模式和不安全断电统计;所述***电源行为参数包括:所述电压范围,所述休眠模式统计表,所述安全断电程序模式或/和所述不安全断电统计。
根据所述***电源行为参数调整所述存储设备的运行模式的一种实现过程包括:调整对所述存储设备的电源管理及数据安全保护的管理机制;调整背景处理程序(Background Operation)的启动时机与行为决策;或/和调整存储器件的数据缓存机制与最终存放区块配置决策。实现配合所述主机***和存储设备整体运作的最适模式,提升所述主机***和存储设备整体可靠度与稳定度。
当被控制的存储设备为闪存存储设备时,所述存储控制方法的应用场景可参见图1C至图1E所示。以存储设备(如闪存存储设备)的用户为一主机***(如Host)为例,要实现本发明,需要执行以下步骤:
从Host对闪存存储设备所供应的电源行为中,收集***惯用的电压位准、电源管理模式、断电行为、及电源稳定度。具体实现方式包括:闪存存储设备执行图1A中S101固件模块中随时监督***(Host)惯用的电压位准、电源管理模式、断电行为、及电源稳定度,对Host的电源行为模式进行收集及分析。
于本发明的一实施例中,所述存储设备的用户为一主机***;所述存储设备的行为信息包括工作环境温度行为信息,所述工作环境温度行为信息包括:所述存储设备在执行所述主机***的命令的过程中的工作环境温度;
当被控制的存储设备为闪存存储设备时,所述存储控制方法的应用场景可参见图1E所示。以存储设备(如闪存存储设备)的用户为一主机***(如Host)为例,要实现本发明,需要执行以下步骤:从闪存存储设备自身在操作过程中所感测到的温度进行搜集和分析。具体实现方式包括:闪存存储设备执行图1A中S101固件模块中随时监督自身在操作过程中所感测到的温度,进行收集及分析。
所述利用所述深度学习算法对所述工作环境温度行为信息进行处理,获得所述存储设备的工作环境温度行为参数。
根据工作环境温度行为参数调整所述存储设备的运行模式的一种实现过程包括:调整对所述存储设备的电源管理机制;调整对储存器件写入或读取数据速率;调整存储控制器的工作频率;调整背景处理程序(Background Operation)的启动时机与行为决策;或/和调整电源管理启动时机与模式。
于本发明的一实施例中,所述存储设备的行为信息包括存储器件行为信息,所述存储器件行为信息包括:读取数据时,所述存储设备的读取区块位置的错误码发生数量及几率;读取数据时,所述存储设备的读取区块位置的错误码发生时,硬解码与软解码的行为模式;读取数据时,所述存储器件的重读数据几率及重读表中各组参数的成功几率;写入数据时,所述存储设备的写入区块位置的写数据失败率;删除数据时,所述存储设备的擦除区块位置的擦除数据失败率;数据写入存储器件时,控制信号及数据信号的时序(Timing);所述时序包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);读取储存器件数据时,控制信号及数据信号的时序(Timing);所述时序包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);或/和所述存储器件的工作电压。所述存储器件行为信息可存储于存储设备的控制器内存中,或存储于存储设备的闪存内存中,或存储于存储设备的内存中。
利用所述深度学习算法对所述储存器件行为信息进行处理,获得储存器件行为参数的一种实现过程包括:利用所述深度学习算法对所述储存器件行为信息进行处理,获得数据写入储存器件时控制信号及数据信号的最佳时序(Timing),包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);利用所述深度学习算法对所述存储器件行为信息进行处理,获得读取储存器件数据时控制信号及数据信号的最佳时序(Timing),包括速率(Clock Rate)、斜率(Slew Rate)及延迟时间(Delay Time);利用所述深度学习算法对所述存储器件行为信息进行处理,获得最佳控制信号及数据信号的传输振幅(SwingLevel);利用所述深度学习算法对所述写数据失败率、所述擦除数据失败率、所述重读表几率以及所述错误码发生数量及几率进行处理,获得存储器件内的存储区块健康状况统计表格;所述存储设备的存储器件行为参数包括:所述数据写入储存器件时控制信号及数据信号的最佳时序(Timing),所述读取储存器件数据时控制信号及数据信号的最佳时序(Timing),所述最佳控制信号及数据信号的传输振福,或/和所述存储器件内的存储区块健康状况统计表格。
根据所述存储设备的存储器件行为参数调整存储设备的运行模式的一种实现过程包括:根据所述存储设备的存储器件行为参数,调整对所述存储设备的存储器件驱动管理机制;调整对所述存储设备的数据写/读管理策略;调整存储器件的数据区块分配及放置策略;调整数据缓存(Data Buffer)使用的管理策略;调整对储存器件写入或读取数据的速率;或/和调整背景处理程序(Background Operation)的启动时机与行为决策。实现配合所述存储设备存储器件内存的最适控制模式,提升所述存储设备的可靠度与稳定度。
于本发明的一实施例中,参见图1F,所述深度学习算法是一种通过深度类神经网络运算的学习方法,所述深度类神经网络运算的学习方法包括:利用输入层输入所述行为信息;利用至少一层中间处理层处理所述存储设备的行为信息进行深度学习处理,包括:分析所有关注事件的特征,并将分析后获得的特征作为所述输入层的参数,经过反向传播算法由输出层产生输出参数,同时更新各中间处理层的节点的权重值;利用输出层输出处理后获得的输出参数,即所述存储设备的行为参数。
参见图1D至图1G,本发明提供了一种新的算法架构,使闪存控制芯片(即存储控制器)能够通过深度类神经网络(Deep Neural Network,DNN)赋予控制芯片能在使用过程中自我学习(即自我优化)的智能功能。在闪存设备的运作过程中所发生的所有行为包括:命令、数据串流、闪存内存状态、电压状态、温度状态等,这些行为都会被过渡事件过滤器(Meta Event Filter)监测过滤,通过过滤后的事件称之为关注事件(Interested Event),即被定义为跟智能学习有关的事件。
关注事件发生时会被送至反向传播算法模块进行处理,因为关注事件有可能同时或于非常短的时间内连续发生,为避免遗漏,等待处里的事件会被保留在事件队列(EventQueue)中。关注事件会先被分类,依照类别而被依序或同时分析,本实施例依照事件型态将其划分为命令执行、数据串流、非正常掉电、闪存异常、以及电压/温度异常五类。其中,命令执行包含所有Host传递下来的所有命令;数据串流包括所有与数据/数据传递时有关的一切事件,如缓存(Buffer)的使用状态、Host的传递速率、数据传递时序、数据错误检测状态等;非正常掉电包括任何与电源管理有关的事件,如无预警断电、预警性断电等;闪存异常包括所有与闪存记忆体操作异常有关的事件,如读取错误、写入失败、区块擦除失败、发生重读行为、错误更正行为、操作超时等;电压/温度异常包括所有与电压位准与温度有关的异常现象。
算法会分析所有关注事件的特征,并将分析后的特征作为DNN的输入层的参数(X0,X1,X2,…,Xn),经过反向传播算法后,由输出层产生输出参数(Y0,Y1,Y2,…,Ym),同时更新DNN本身各隐藏层节点上的W。
依照事件类型将经过反向传播算法处理后的DNN输出参数作为各个相关闪存控制固件模块调整其算法的输入参数,固件模块将以这些参数作为下次执行Host端命令时策略决断的依据。
依据本发明,全新的存储设备在出厂前会有一个预设的DNN,在存储设备被使用的过程中,控制芯片会依照前述的实施例通过每次关注事件发生后依照事件获取的特征通过反向传播算法更新DNN,通过不断的DNN更新而达到深度学习的智能功效。不断更新的DNN会存放在控制芯片的内部存储器(DRAM/SRAM)或外部内存中(DRAM/SRAM),最终会被存放于闪存设备的闪存内存(Flash Memory)数组中。
本发明提出两个将DNN从DRAM/SRAM写到闪存内存中的实施例,一种是立即更新,即DNN于DRAM/SRAM更新后立即写到闪存内存(Flash Memory)数组中。另一种是延后更新,即DNN于DRAM/SRAM更新后不立即写到闪存内存(Flash Memory)数组中,而是等到指定的更新次数达到时或预警断电发生时才进行到闪存内存(Flash Memory)数组的动作。
请参阅图2,本发明实施例还提供一种存储控制器200,用于控制一存储设备300的存储行为,所述存储控制器200包括:一第一接口210,一第二接口220,和一处理模块230。所述第一接口210与所述存储设备300的用户接口310通信相连,用于获取所述存储设备的用户行为信息。所述第二接口220与所述存储设备300的存储器件320通信相连,用于获取所述存储设备的存储器件行为信息。所述处理模块230与所述第一接口310和所述第二接口320分别通信相连,用于利用一深度学习算法对所述用户行为信息或/和存储器件行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式。所述处理模块230可以执行本发明实施例所述的存储控制方法。
进一步,参见图3所示,所述存储控制器200还可包括一第三接口240。所述第三接口与所述存储设备300的内存器件330通信相连,用以暂存包含所述深度学习算法所需的所有数据,以及所有与CPU程序处理有关的程序或数据。
在具体应用中,以NAND闪存为例,所述处理模块230的功能可以由NAND闪存控制器中的固件实现,参见图1D所示,其中:R/W Oriented(读写导向)是一个固件中的模块,用来处理Host下达给闪存存储置的读取或写入的命令;Ran/Seq Weighting(随机/顺序权重)是一个固件中的模块,用以调整固件中对于随机写读与顺序写读处理时的权重,其功能是调校出最佳随机/顺序的写读效能;Data Allocator(数据放置地址分配)是一个固件中的模块,用以决定每次数据写入行为发生时所分配到的位置;Metadata Manager(中继数据管理)是一个固件中的模块,用以管理储存中继数据的闪存区块;CMD Scheduling(命令排程)是一个固件中的模块,用以将Host发过来的命令的处理顺序的排程;Buffer Manager(缓存器管理)是一个固件中的模块,用以管理从缓存内存区块的分配;Bus Arbitrator(总线仲裁)是一个固件中的模块,用以控制数据传递时的总线使用权归属;Clock Manager(时钟管理)是一个固件中的模块,用以管理主控芯片的工作时钟频率;Garbage Collection(垃圾区块收集)是一个固件中的模块,用以管理闪存中被标注为垃圾的数据区块的回收,及数据区块间散落数据的集中;Wear-Leveling(平均写入)是一个固件中的模块,用以管理数据区块的分配,已使各个不同的数据区块间的写入/擦除次数可以被平均化;Background OP(背景运作)是一个固件中的模块,用以管理哪些工作可以在什么时候被置于背景执行;SPOR(非预期断电复原)是一个固件中的模块,用于处理当非预期性断电事件发生时的数据复原工作;Power Manager(耗能管理)是一个固件中的模块,用以管理主控芯片中各硬件模块的供电状态,藉以产生减少功耗的目的;Read Retry(重试读取)是一个固件中的模块,用以处理当从闪存中读取的数据无法被ECC所纠正时的重新读取机制;ECC Control(纠错控制)是一个固件中的模块,用以管理硬件电路中的纠错模块;Flash Driver(闪存驱动器)是一个固件中的模块,用以管理闪存的写、读、擦除等命令的执行;Error Handling(错误处理)是一个固件中的模块,用以处理当闪存的写入、读取、擦除等事件发生时的后续动作。
请参阅图3,本发明实施例还提供一种存储设备300,所述存储设备300包括:一用户接口310,至少1个存储器件320,至少1个内存器件330,一电源模块340和一存储控制器200。所述用户接口310用于与一用户设备通信相连,用于接收所述用户设备的存储指令。所述存储器件320用于存储数据。所述内存器件330用于暂存所有运算的数据。所述电源模块340用于供电控制。所述存储控制器200与所述用户接口310、至少1个存储器件320、至少1个内存器件330和所述电源模块340分别通信相连。所述存储控制器200包括:一第一接口210,一第二接口220和一处理模块230。所述第一接口210与所述存储设备300的用户接口310通信相连,用于获取所述存储设备的用户行为信息。所述第二接口220与所述存储设备300的存储器件320通信相连,用于获取所述存储设备的存储器件行为信息。
所述处理模块230与所述第一接口310和所述第二接口320分别通信相连,用于利用一深度学习算法对所述行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式。所述处理模块230可以执行本发明实施例所述的存储控制方法。
进一步,所述存储控制器200还可包括一第三接口240。所述第三接口240与所述存储设备300的内存器件330通信相连,用以暂存包含所述深度学习算法所需的所有数据,以及所有与CPU程序处理有关的程序或数据。
请参阅图4,本发明实施例还提供一种存储***400,所述存储***400包括:用户设备410和存储设备300。所述用户设备410,用于控制一存储设备300执行存储操作;所述用户设备包括主机***;所述存储设备300包括:一用户接口310,至少1个存储器件320,至少1个内存器件330,一电源模块340和一存储控制器200。所述用户接口310用于与一用户设备通信相连,用于接收所述用户设备的存储指令。所述存储器件320用于存储数据。所述电源模块340用于供电控制。X所述存储控制器200与所述用户接口310、至少1个存储器件320、至少1个内存器件330,和所述电源模块340分别通信相连。所述存储控制器200包括:一第一接口210,一第二接口220和一处理模块230。所述第一接口210与所述存储设备300的用户接口310通信相连,用于获取所述存储设备的用户行为信息。所述第二接口220与所述存储设备300的存储器件320通信相连,用于获取所述存储设备的存储器件行为信息。所述处理模块240与所述第一接口310和所述第二接口320分别通信相连,用于利用一深度学习算法对所述用户行为信息或/和存储器件行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式。所述处理模块230可以执行本发明实施例所述的存储控制方法。
进一步,所述存储控制器200还可包括一第三接口240。所述第三接口240与所述存储设备300的内存器件330通信相连,用以暂存包含所述深度学习算法所需的所有数据,以及所有与CPU程序处理有关的程序或数据。
本发明能够通过***操作时的自我学习方法(即深度学习算法),找到适合该***对存储设备的存取行为的相应固件处理方式,达到提升***整体数据存取效能的目的。
本发明能够通过***操作时的自我学习方法,依据对***电源行为观察,调整固件中对于电源管理模块与数据安全保护模块的管理机制,实现配合整体***电源运作的最适模式,提升***整体(即用户与存储设备)的可靠度与稳定度。
本发明能够通过***操作时的自我学习方法,依据存储设的内存行为分析,调整固件中对于存储设备驱动模块的管理机制,实现配合存储设备(如NAND闪存、DRAM等)内存芯片的最适控制模式,提升存储设备的可靠度与稳定度。
通过本发明可以彻底解决存储设备因应各种不同的***环境要求必须订制化的问题。
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (14)

1.一种存储控制方法,用于控制一存储设备的存储行为,其特征在于,所述存储控制方法包括:
获取所述存储设备的行为信息;所述行为信息包括用户行为信息,***电源行为信息,工作环境温度行为信息,或/和存储器件行为信息;所述存储设备的用户为一主机***;所述***电源行为信息包括:所述主机***对所述存储设备执行的供电电压、电源管理模式、断电行为及电源稳定度;所述工作环境温度行为信息包括:所述存储设备在执行所述主机***的命令的过程中的工作环境温度;
利用一深度学习算法对所述行为信息进行处理,获得所述存储设备的行为参数;
根据所述存储设备的行为参数调整所述存储设备的运行模式。
2.根据权利要求1所述的存储控制方法,其特征在于,所述存储设备的用户行为信息包括:
所述主机***对所述存储设备下发的指令集序列;
所述主机***对所述存储设备执行的读取数据量、读取位置及读取范围;
所述主机***对所述存储设备执行的写入数据量、写入位置及写入范围;或/和
所述主机***对所述存储设备执行的写入及读取数据时的数据串流行为;所述数据串流行为包括:主机***端的数据总线执行数据传递的忙碌时间与暂停数据传递的空闲时间、存储器件端的数据总线的忙碌时间与闲置时间;
利用所述深度学习算法对所述用户行为信息进行处理,获得所述存储设备的用户行为参数的一种实现过程包括:
利用所述深度学习算法对所述指令集序列进行处理,获得主机***惯用的命令集及命令序列;
利用所述深度学习算法对所述读取位置进行处理,获得主机***惯用的顺序读与随机读的比例;
利用所述深度学习算法对所述写入位置进行处理,获得主机***惯用的顺序写与随机写的比例;
利用所述深度学习算法对所述写入数据量和所述读取数据量进行处理,获得主机***惯用的数据写/读量统计表格;
利用所述深度学习算法对所述写入位置和所述读取位置进行处理,获得主机***惯用的数据写/读起始逻辑位置统计表格;
利用所述深度学习算法对所述写入范围和所述读取范围进行处理,获得主机***惯用的数据写/读范围统计表格;
利用所述深度学习算法对所述写入及读取数据时的数据串流行为进行处理,获得主机***惯用的数据串流行为统计表格;
所述存储设备的用户行为参数包括:所述主机***惯用的命令集及命令序列,所述主机***惯用的顺序读与随机读的比例,所述主机***惯用的顺序写与随机写的比例,所述主机***惯用的数据写/读量统计表格,所述主机***惯用的数据写/读起始逻辑位置统计表格,所述数据主机***惯用的数据写/读范围统计表格,或/和主机***惯用的数据串流行为统计表格。
3.根据权利要求2所述的存储控制方法,其特征在于,根据所述存储设备的用户行为参数调整所述存储设备的运行模式的一种实现过程包括:
所述存储设备包括存储控制器及存储器件;
调整对所述存储设备的数据写/读管理策略;
调整数据/控制信号总线使用权的分配策略;
调整存储器件的数据区块分配及放置策略;
调整命令处理优先级策略;
调整数据缓存使用的管理策略;
调整对储存器件的写入或读取数据的速率;
调整存储控制器的工作频率;
调整背景处理程序的启动时机与行为决策;或/和
调整电源管理启动时机与模式。
4.根据权利要求1所述的存储控制方法,其特征在于:利用所述深度学习算法对所述***电源行为信息进行处理,获得所述存储设备的***电源行为参数的一种实现过程包括:
利用所述深度学习算法对所述供电电压进行处理,获得电压范围;
利用所述深度学习算法对所述电源管理模式进行处理,获得休眠模式统计表;
利用所述深度学习算法对所述断电行为进行处理,获得安全断电程序模式和不安全断电统计;
所述***电源行为参数包括:所述电压范围,所述休眠模式统计表,所述安全断电程序模式或/和所述不安全断电统计。
5.根据权利要求4所述的存储控制方法,其特征在于,根据所述***电源行为参数调整所述存储设备的运行模式的一种实现过程包括:
调整对所述存储设备的电源管理及数据安全保护的管理机制;
调整背景处理程序的启动时机与行为决策;或/和
调整存储器件的数据缓存机制与最终存放区块配置决策。
6.根据权利要求1所述的存储控制方法,其特征在于,利用所述深度学习算法对所述工作环境温度行为信息进行处理,获得所述存储设备的工作环境温度行为参数。
7.根据权利要求6所述的存储控制方法,其特征在于,根据工作环境温度行为参数调整所述存储设备的运行模式的一种实现过程包括:
调整对所述存储设备的电源管理机制;
调整对储存器件写入或读取数据速率;
调整存储控制器的工作频率;
调整背景处理程序的启动时机与行为决策;或/和
调整电源管理启动时机与模式。
8.根据权利要求1所述的存储控制方法,其特征在于,所述存储器件行为信息包括:
读取数据时,所述存储设备的读取区块位置的错误码发生数量及几率;
读取数据时,所述存储设备的读取区块位置的错误码发生时,硬解码与软解码的行为模式;
读取数据时,所述存储器件的重读数据几率及重读表中各组参数的成功几率;
写入数据时,所述存储设备的写入区块位置的写数据失败率;
删除数据时,所述存储设备的擦除区块位置的擦除数据失败率;
数据写入存储器件时,控制信号及数据信号的时序;所述时序包括速率、斜率及延迟时间;
读取储存器件数据时,控制信号及数据信号的时序;所述时序包括速率、斜率及延迟时间;或/和
所述存储器件的工作电压。
9.根据权利要求8所述的存储控制方法,其特征在于,利用所述深度学习算法对所述储存器件行为信息进行处理,获得储存器件行为参数的一种实现过程包括:
利用所述深度学习算法对所述储存器件行为信息进行处理,获得数据写入储存器件时控制信号及数据信号的最佳时序,包括速率、斜率及延迟时间;
利用所述深度学习算法对所述存储器件行为信息进行处理,获得读取储存器件数据时控制信号及数据信号的最佳时序,包括速率、斜率及延迟时间;
利用所述深度学习算法对所述存储器件行为信息进行处理,获得最佳控制信号及数据信号的传输振幅;
利用所述深度学习算法对所述写数据失败率、所述擦除数据失败率、所述重读表几率以及所述错误码发生数量及几率进行处理,获得存储器件内的存储区块健康状况统计表格;
所述存储设备的存储器件行为参数包括:所述数据写入储存器件时控制信号及数据信号的最佳时序,所述读取储存器件数据时控制信号及数据信号的最佳时序,所述最佳控制信号及数据信号的传输振福,或/和所述存储器件内的存储区块健康状况统计表格。
10.根据权利要求9所述的存储控制方法,其特征在于,根据所述存储设备的存储器件行为参数调整存储设备的运行模式的一种实现过程包括:
根据所述存储设备的存储器件行为参数,调整对所述存储设备的存储器件驱动管理机制;
调整对所述存储设备的数据写/读管理策略;
调整存储器件的数据区块分配及放置策略;
调整数据缓存使用的管理策略;
调整对储存器件写入或读取数据的速率;或/和
调整背景处理程序的启动时机与行为决策。
11.根据权利要求1所述的存储控制方法,其特征在于,所述深度学习算法是一种通过深度类神经网络运算的学习方法,所述深度类神经网络运算的学习方法包括:
利用输入层输入所述行为信息;
利用至少一层中间处理层处理所述存储设备的行为信息进行深度学习处理,包括:分析所有关注事件的特征,并将分析后获得的特征作为所述输入层的参数,经过反向传播算法由输出层产生输出参数,同时更新各中间处理层的节点的权重值;利用输出层输出处理后获得的输出参数,即所述存储设备的行为参数。
12.一种存储控制器,用于控制一存储设备的存储行为,其特征在于,所述存储控制器包括:
一第一接口,与所述存储设备的用户接口通信相连,用于获取所述存储设备的用户行为信息;
一第二接口,与所述存储设备的存储器件通信相连,用于获取所述存储设备的存储器件行为信息;
一处理模块,与所述第一接口和所述第二接口分别通信相连,用于利用一深度学习算法对所述存储设备的行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式;所述行为信息包括用户行为信息,***电源行为信息,工作环境温度行为信息,或/和存储器件行为信息;所述存储设备的用户为一主机***;所述***电源行为信息包括:所述主机***对所述存储设备执行的供电电压、电源管理模式、断电行为及电源稳定度;所述工作环境温度行为信息包括:所述存储设备在执行所述主机***的命令的过程中的工作环境温度。
13.一种存储设备,其特征在于,包括:
一用户接口,用于与一用户设备通信相连,用于接收所述用户设备的存储指令;
至少1个存储器件,用于存储数据;
一电源模块,用于供电;
一存储控制器,与所述用户接口、存储器件和所述电源模块分别通信相连,包括:
一第一接口,与所述用户接口通信相连,用于获取所述存储设备的用户行为信息;
一第二接口,与所述存储器件通信相连,用于获取所述存储设备的存储器件行为信息;
一处理模块,与所述第一接口和所述第二接口分别通信相连,用于利用一深度学习算法对所述存储设备的行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式;所述行为信息包括用户行为信息,***电源行为信息,工作环境温度行为信息,或/和存储器件行为信息;所述存储设备的用户为一主机***;所述***电源行为信息包括:所述主机***对所述存储设备执行的供电电压、电源管理模式、断电行为及电源稳定度;所述工作环境温度行为信息包括:所述存储设备在执行所述主机***的命令的过程中的工作环境温度。
14.一种存储***,其特征在于,包括:
一用户设备,用于控制一存储设备执行存储操作;所述用户设备包括主机***;
所述存储设备包括:
一用户接口,用于与所述用户设备通信相连,用于接收所述用户设备的存储指令;
至少1个存储器件,用于存储数据;
一电源模块,用于供电;
一存储控制器,与所述用户接口、存储器件和所述电源模块分别通信相连,包括:
一第一接口,与所述用户接口通信相连,用于获取所述存储设备的用户行为信息;
一第二接口,与所述存储器件通信相连,用于获取所述存储设备的存储器件行为信息;
一处理模块,与所述第一接口和所述第二接口分别通信相连,用于利用一深度学习算法对所述存储设备的行为信息进行处理,获得所述存储设备的行为参数,并利用所述存储设备的行为参数调整所述存储设备的运行模式;所述行为信息包括用户行为信息,***电源行为信息,工作环境温度行为信息,或/和存储器件行为信息;所述存储设备的用户为一主机***;所述***电源行为信息包括:所述主机***对所述存储设备执行的供电电压、电源管理模式、断电行为及电源稳定度;所述工作环境温度行为信息包括:所述存储设备在执行所述主机***的命令的过程中的工作环境温度。
CN201811147678.7A 2018-09-29 2018-09-29 一种存储控制方法、存储控制器、存储设备及存储*** Active CN109445688B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811147678.7A CN109445688B (zh) 2018-09-29 2018-09-29 一种存储控制方法、存储控制器、存储设备及存储***
PCT/CN2019/072541 WO2020062734A1 (zh) 2018-09-29 2019-01-21 一种存储控制方法、存储控制器、存储设备及存储***
US16/610,514 US20210208781A1 (en) 2018-09-29 2019-01-21 Storage control method, storage controller, storage device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811147678.7A CN109445688B (zh) 2018-09-29 2018-09-29 一种存储控制方法、存储控制器、存储设备及存储***

Publications (2)

Publication Number Publication Date
CN109445688A CN109445688A (zh) 2019-03-08
CN109445688B true CN109445688B (zh) 2022-04-15

Family

ID=65544584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811147678.7A Active CN109445688B (zh) 2018-09-29 2018-09-29 一种存储控制方法、存储控制器、存储设备及存储***

Country Status (3)

Country Link
US (1) US20210208781A1 (zh)
CN (1) CN109445688B (zh)
WO (1) WO2020062734A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126367B2 (en) * 2018-03-14 2021-09-21 Western Digital Technologies, Inc. Storage system and method for determining ecosystem bottlenecks and suggesting improvements
US10811075B1 (en) * 2019-08-19 2020-10-20 Silicon Motion, Inc. Method for performing access control regarding quality of service optimization of memory device with aid of machine learning, associated memory device and controller thereof
CN110781043B (zh) * 2019-10-11 2024-04-16 深圳佰维存储科技股份有限公司 存储产品的品质检测方法、装置、存储介质及设备
US11652831B2 (en) * 2020-04-14 2023-05-16 Hewlett Packard Enterprise Development Lp Process health information to determine whether an anomaly occurred
CN111966409B (zh) * 2020-07-30 2021-04-02 深圳比特微电子科技有限公司 矿机快速搜频方法和装置以及矿机
US11537289B2 (en) * 2021-01-29 2022-12-27 Seagate Technology Llc Intelligent data storage system activity tracking
CN112905123B (zh) * 2021-02-21 2024-06-28 珠海美佳音科技有限公司 一种环境参数记录设备的存储控制器及存储控制方法
US11636055B2 (en) 2021-07-14 2023-04-25 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in predetermined communications architecture with aid of flexible delay time control
US11690089B2 (en) * 2021-07-20 2023-06-27 EdgeQ, Inc. Systems and methods for multiplexing multiple wireless technologies in resource constrained environment based on spectral utilization
CN114338396B (zh) * 2021-12-02 2024-04-23 深圳市盈和致远科技有限公司 控制信号获得方法、装置、终端设备以及存储介质
CN114637466B (zh) * 2022-03-03 2022-11-11 深圳大学 一种数据读写行为推测方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332137B1 (en) * 1999-02-11 2001-12-18 Toshikazu Hori Parallel associative learning memory for a standalone hardwired recognition system
CN101000589A (zh) * 2006-12-22 2007-07-18 清华大学 一种自适应的外部存储设备io性能优化方法
CN104460941A (zh) * 2014-12-03 2015-03-25 上海新储集成电路有限公司 一种降低主存存储器满负荷运行功耗的方法
CN106713169A (zh) * 2016-11-25 2017-05-24 东软集团股份有限公司 一种控制流量带宽的方法和装置
CN106796533A (zh) * 2014-12-30 2017-05-31 华为技术有限公司 自适应地选择执行模式的***和方法
CN106960610A (zh) * 2016-11-16 2017-07-18 重庆万学创世教育科技有限公司 一种优化的智能深度学习的数据处理***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671304B2 (en) * 2009-09-09 2014-03-11 Advanced Micro Devices, Inc. Adjustment of write timing based on a training signal
CN102445980A (zh) * 2011-09-19 2012-05-09 浪潮电子信息产业股份有限公司 一种基于bp神经网络的节能控制***
KR20150016089A (ko) * 2013-08-02 2015-02-11 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
US8933572B1 (en) * 2013-09-04 2015-01-13 King Fahd University Of Petroleum And Minerals Adaptive superconductive magnetic energy storage (SMES) control method and system
US11295202B2 (en) * 2015-02-19 2022-04-05 Seagate Technology Llc Storage device with configurable neural networks
JP6714690B2 (ja) * 2016-04-26 2020-06-24 株式会社日立製作所 情報処理システム、情報処理システムの運用方法、および機械学習演算器
CN107436560A (zh) * 2016-05-26 2017-12-05 台达电子企业管理(上海)有限公司 电源控制方法、电源控制装置和电源控制***
CN106528826A (zh) * 2016-11-18 2017-03-22 广东技术师范学院 一种基于深度学习的多视图外观专利图像检索方法
CN108205706B (zh) * 2016-12-19 2021-04-23 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
US20180246659A1 (en) * 2017-02-28 2018-08-30 Hewlett Packard Enterprise Development Lp Data blocks migration
CN107797459B (zh) * 2017-09-15 2020-09-25 珠海格力电器股份有限公司 终端设备的控制方法、装置、存储介质及处理器
CN107817890A (zh) * 2017-10-31 2018-03-20 郑州云海信息技术有限公司 一种基于bp算法的高密度机柜负载联动能效管理设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332137B1 (en) * 1999-02-11 2001-12-18 Toshikazu Hori Parallel associative learning memory for a standalone hardwired recognition system
CN101000589A (zh) * 2006-12-22 2007-07-18 清华大学 一种自适应的外部存储设备io性能优化方法
CN104460941A (zh) * 2014-12-03 2015-03-25 上海新储集成电路有限公司 一种降低主存存储器满负荷运行功耗的方法
CN106796533A (zh) * 2014-12-30 2017-05-31 华为技术有限公司 自适应地选择执行模式的***和方法
CN106960610A (zh) * 2016-11-16 2017-07-18 重庆万学创世教育科技有限公司 一种优化的智能深度学习的数据处理***
CN106713169A (zh) * 2016-11-25 2017-05-24 东软集团股份有限公司 一种控制流量带宽的方法和装置

Also Published As

Publication number Publication date
CN109445688A (zh) 2019-03-08
US20210208781A1 (en) 2021-07-08
WO2020062734A1 (zh) 2020-04-02

Similar Documents

Publication Publication Date Title
CN109445688B (zh) 一种存储控制方法、存储控制器、存储设备及存储***
US9256371B2 (en) Implementing reinforcement learning based flash control
KR20190043411A (ko) 스토리지 장치, 스토리지 장치를 포함하는 컴퓨팅 시스템, 그리고 스토리지 장치의 동작 방법
US10817217B2 (en) Data storage system with improved time-to-ready
CN106484331B (zh) 一种数据处理方法、装置及闪存设备
CN101673245B (zh) 包括存储器管理装置的信息处理装置和存储器管理方法
US20080016121A1 (en) Method, an apparatus and a system for managing a snapshot storage pool
CN102221981B (zh) 管理层信息的方法和装置
CN110851079B (zh) 一种自适应的存储设备损耗均衡方法及***
US20200073571A1 (en) Memory controller and associated accessing method
CN105224474B (zh) 固态硬盘闪存转换层的实现***和闪存转换层的实现装置
US10929025B2 (en) Data storage system with I/O determinism latency optimization
KR20200141212A (ko) 가비지콜렉션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법
CN110865770A (zh) 存储器***
CN103809502B (zh) 控制器及记录介质
CN109508142A (zh) 数据存储装置及其操作方法
US10719247B2 (en) Information processing device, information processing method, estimation device, estimation method, and computer program product
CN112987905B (zh) 使用人工智能计算来管理功耗的数据处理***
CN105512051B (zh) 一种自学习型智能固态硬盘缓存管理方法和装置
US20200409846A1 (en) Dual controller cache optimization in a deterministic data storage system
CN108597551A (zh) 读密集型大数据处理的内存刷新方法和***
US10872015B2 (en) Data storage system with strategic contention avoidance
US11301376B2 (en) Data storage device with wear range optimization
CN109783019B (zh) 一种数据智能存储管理方法与装置
CN111176552A (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
CB02 Change of applicant information

Address after: 201600 area C13, building 1, 120 Rongjiang Road, Songjiang Industrial Zone, Songjiang District, Shanghai

Applicant after: SHANGHAI BAIGONG SEMICONDUCTOR Co.,Ltd.

Address before: 201409 room 2170, building 1, 2011 Xinfeng Road, Fengcheng Town, Fengxian District, Shanghai

Applicant before: SHANGHAI BAIGONG SEMICONDUCTOR Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant