CN116909478A - 固态硬盘的tlc写性能提升方法、装置和计算机设备 - Google Patents

固态硬盘的tlc写性能提升方法、装置和计算机设备 Download PDF

Info

Publication number
CN116909478A
CN116909478A CN202310883450.9A CN202310883450A CN116909478A CN 116909478 A CN116909478 A CN 116909478A CN 202310883450 A CN202310883450 A CN 202310883450A CN 116909478 A CN116909478 A CN 116909478A
Authority
CN
China
Prior art keywords
page
hardware
tlc
bit
write operation
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
Application number
CN202310883450.9A
Other languages
English (en)
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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System 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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202310883450.9A priority Critical patent/CN116909478A/zh
Publication of CN116909478A publication Critical patent/CN116909478A/zh
Pending legal-status Critical Current

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Read Only Memory (AREA)

Abstract

本申请涉及一种固态硬盘的TLC写性能提升方法、装置、计算机设备和存储介质,其中该方法包括:获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;配置完成后,将所述硬件描述符下发到FIFO存储器中;NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。本发明有效地提高了SSD的TLC写性能。

Description

固态硬盘的TLC写性能提升方法、装置和计算机设备
技术领域
本发明涉及固态硬盘技术领域,特别是涉及一种固态硬盘的TLC写性能提升方法、装置、计算机设备和存储介质。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,目前在PC市场,已经逐步替代传统的HDD(机械硬盘),从可靠性和性能方面为用户提供较好的体验。目前,主流SSD厂家使用的Nand颗粒主要是TLC颗粒,对于TLC写命令,需要按照颗粒命令序列要求,同时对TLC的low、middle和upper三个subpage进行写操作,完成将三个subpage的数据同时写到颗粒中。因此,在SSD系统中,应尽可能提高下发描述符的效率。
在传统技术中,SSD后端接收到TLC写命令后,首先对TLC写操作的low page申请硬件描述符资源,对硬件描述符进行合理配置后下发到NFC对应通道的命令FIFO中,让硬件执行相应的写操作命令序列,然后软件等待low page的写操作完成以后,再同样方式处理当前TLC写命令的middle和upper page。从以上软件处理TLC写操作的过程可以看出,需要分别对TLC的三个subpage进行申请和合理配置一个硬件描述符,实际测试软件为每个描述符进行配置需费时不少时间。同时,每个描述符下发到NFC命令FIFO的过程,还需要检查FIFO是否被填满,增加了对NFC硬件寄存器的访问次数,从而降低了描述符下发效率,进而影响了固态硬盘的TLC写性能。
发明内容
基于此,有必要针对上述技术问题,提供一种固态硬盘的TLC写性能提升方法、装置、计算机设备和存储介质。
一种固态硬盘的TLC写性能提升方法,所述方法包括:
获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;
配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;
配置完成后,将所述硬件描述符下发到FIFO存储器中;
NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;
待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。
在其中一个实施例中,所述配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位的步骤还包括:
判断并配置是否需要执行Multi-Plane写操作。
在其中一个实施例中,所述方法还包括:
若需要执行Multi-Plane写操作,则执行subpage的Multi-Plane写操作后先更新硬件描述符的page_bit_map信息和page信息,然后再执行下一个subpage的Multi-Plane写操作直至所有的page_bit_map信息都为0。
在其中一个实施例中,所述方法还包括:
当NFC硬件识别到不同的subpage后,下发符合相应的写命令操作协议的命令序列。
一种固态硬盘的TLC写性能提升装置,所述装置包括:
获取模块,所述获取模块用于获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;
配置模块,所述配置模块用于配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;
第一下发模块,所述第一下发模块用于配置完成后,将所述硬件描述符下发到FIFO存储器中;
第一执行模块,所述第一执行模块用于NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;
清除模块,所述清除模块用于待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。
在其中一个实施例中,所述装置还包括:
判断模块,所述判断模块用于判断并配置是否需要执行Multi-Plane写操作。
在其中一个实施例中,所述装置还包括:
第二执行模块,所述第二执行模块用于若需要执行Multi-Plane写操作,则执行subpage的Multi-Plane写操作后先更新硬件描述符的page_bit_map信息和page信息,然后再执行下一个subpage的Multi-Plane写操作直至所有的page_bit_map信息都为0。
在其中一个实施例中,所述装置还包括:
第二下发模块,所述第二下发模块用于当NFC硬件识别到不同的subpage后,下发符合相应的写命令操作协议的命令序列。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述固态硬盘的TLC写性能提升方法、装置、计算机设备和存储介质,能够有效提高SSD TLC写性能,其中对于TLC的三个subpage的写操作由之前的配置三个硬件描述符改为只配置一个硬件描述符,从而节省了配置两个硬件描述符所需要的时间。在下发硬件描述符到NFC命令FIFO过程,软件要通过访问硬件寄存器检查对应通道的命令FIFO是否有剩余空间,由于只需下发一个描述符,从而减少了对NFC硬件寄存器的访问次数。同时,由于NFC硬件自动执行不同subpage的写操作命令序列无需软件干预,有效避免了原来模式中软件需要检查到上一个subpage的写操作完成之后才配置下发下一个subpage的硬件描述符而存在的时间浪费而带来的降低描述符下发效率,减少了软件层面的参与,简化了软件处理流程,从而有效提高SSD的TLC写性能。
附图说明
图1为一个实施例中固态硬盘的TLC写性能提升方法的流程示意图;
图2为另一个实施例中固态硬盘的TLC写性能提升方法的流程示意图;
图3为再一个实施例中固态硬盘的TLC写性能提升方法的流程示意图;
图4为一个实施例中固态硬盘的TLC写性能提升装置的结构框图;
图5为另一个实施例中固态硬盘的TLC写性能提升装置的结构框图;
图6为再一个实施例中固态硬盘的TLC写性能提升装置的结构框图;
图7为又一个实施例中固态硬盘的TLC写性能提升装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
当前进行下发TLC写操作命令描述符的处理方法包括:现有SSD后端接收到TLC写命令后,首先对TLC写操作的low page申请硬件描述符资源,对硬件描述符进行合理配置后下发到NFC对应通道的命令FIFO中,让硬件执行相应的写操作命令序列,然后软件等待lowpage的写操作完成以后,再同样方式处理当前TLC写命令的middle和upper page。从以上软件处理TLC写操作的过程可以看出,需要分别对TLC的三个subpage进行申请和合理配置一个硬件描述符,实际测试软件为每个描述符进行配置需费时不少时间。同时,每个描述符下发到NFC命令FIFO的过程,还需要检查FIFO是否被填满,增加了对NFC硬件寄存器的访问次数,从而降低了描述符下发效率,影响TLC写性能。
基于此,本方案提供了一种固态硬盘的TLC写性能提升方法,旨在能够有效提高SSD TLC写性能。
在一个实施例中,如图1所示,提供了一种固态硬盘的TLC写性能提升方法,该方法包括:
步骤102,获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;
步骤104,配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;
步骤106,配置完成后,将所述硬件描述符下发到FIFO存储器中;
步骤108,NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;
步骤110,待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。
在本实施例中,提供了一种固态硬盘的TLC写性能提升方法,在本方案中,SSD后端在接收到TLC写命令后,软件为当前TLC写操作命令申请一个硬件描述符资源并配置描述符后下发到NFC内部命令FIFO中,其中配置硬件描述符信息包含对当前TLC写操作的low、middle、upper三个subpage对应的page_bit_map信息置位。而NFC硬件根据描述中配置的page_bit_map信息自动逐个执行所对应的三个subpage写操作命令序列,当所对应的subpage的写操作完成以后,清除page_bit_map对应位,直到page_bit_map信息变为零,完成当前TLC写操作。
具体地,在收到TLC写操作命令后,不再为一个TLC的三个subpage分别申请硬件描述符资源并配置描述符后下发到NFC内部命令FIFO中,而是为当前写操作命令只申请一个硬件描述符资源并配置描述符后下发到NFC内部命令FIFO中,由硬件完成TLC的三个subpage写操作命令。
配置硬件描述符信息,主要包括要进行TLC写操作的low、middle、upper三个subpage对应的page_bit_map信息置位,该位清零是在硬件完成对应subpage的写操作后由硬件完成。同时,在写操作异常处理中,page_bit_map信息反映写操作失败的subpage。
硬件完成TLC的三个subpage写操作命令的方案,是指硬件逐个完成所述page_bit_map信息所对应的subpage的写操作命令序列,待每个subpage的写操作完成以后,清除page_bit_map对应位,然后进行下一个page的写操作。同时硬件会自动更新描述符中page信息。
在一个实施例中,方法还包括:当NFC硬件识别到不同的subpage后,下发符合相应的写命令操作协议的命令序列。具体地,是指包含硬件识别到不同的subpage后而下发相应的符合写(包含Multi-Plane写)操作协议的命令序列。
在上述实施例中,能够有效提高SSD TLC写性能,其中对于TLC的三个subpage的写操作由之前的配置三个硬件描述符改为只配置一个硬件描述符,从而节省了配置两个硬件描述符所需要的时间。在下发硬件描述符到NFC命令FIFO过程,软件要通过访问硬件寄存器检查对应通道的命令FIFO是否有剩余空间,由于只需下发一个描述符,从而减少了对NFC硬件寄存器的访问次数。同时,由于NFC硬件自动执行不同subpage的写操作命令序列无需软件干预,有效避免了原来模式中软件需要检查到上一个subpage的写操作完成之后才配置下发下一个subpage的硬件描述符而存在的时间浪费而带来的降低描述符下发效率,减少了软件层面的参与,简化了软件处理流程,从而有效提高SSD的TLC写性能。
在一个实施例中,如图2所示,提供了一种固态硬盘的TLC写性能提升方法,该方法还包括:
步骤202,判断并配置是否需要执行Multi-Plane写操作;
步骤204,若需要执行Multi-Plane写操作,则执行subpage的Multi-Plane写操作后先更新硬件描述符的page_bit_map信息和page信息,然后再执行下一个subpage的Multi-Plane写操作直至所有的page_bit_map信息都为0。
具体地,参考图3所示的固态硬盘的TLC写性能提升方法,该方法中软件和硬件处理流程如下:
步骤3.1、SSD后端收到TLC写命令。
步骤3.2、SSD后端软件为当前TLC写命令申请一个硬件描述符资源。
步骤3.3、SSD后端软件配置描述符,将描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位,同时并判断和配置是否是Multi-Plane写操作。
步骤3.4、SSD后端软件将该描述符下发到NFC命令FIFO中。
步骤3.5、NFC硬件从命令FIFO中取出硬件描述符。
步骤3.6、判断是否是Multi-Plane写操作,如果是Multi-Plane写操作,则回到步骤3.5,如果不是则进行步骤3.7。
步骤3.7、NFC硬件根据描述符中的page信息执行TLC中的一个page的写操作命令。
步骤3.8、NFC硬件等待TLC当前页的写操作命令完成。
步骤3.9、NFC硬件将描述符中page_bit_map信息中page对应的位清零。
步骤3.10、NFC硬件判断描述符中page_bit_map是否为零,如果为零,执行步骤3.12,如果不为零,执行步骤3.11。
步骤3.11、NFC硬件根据page_bit_map中bit不为0对应的page,更新描述符中的page信息后,执行步骤3.7。
步骤3.12、NFC完成写操作。
在本实施例中,在SSD TLC写命令处理过程中减少了软件层面的参与,简化了软件处理流程,从而有效提高SSD的TLC写性能。
应该理解的是,虽然图1-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种固态硬盘的TLC写性能提升装置400,该装置包括:
获取模块401,所述获取模块用于获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;
配置模块402,所述配置模块用于配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;
第一下发模块403,所述第一下发模块用于配置完成后,将所述硬件描述符下发到FIFO存储器中;
第一执行模块404,所述第一执行模块用于NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;
清除模块405,所述清除模块用于待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。
在一个实施例中,如图5所示,提供了一种固态硬盘的TLC写性能提升装置400,该装置还包括:
判断模块406,所述判断模块用于判断并配置是否需要执行Multi-Plane写操作。
在一个实施例中,如图6所示,提供了一种固态硬盘的TLC写性能提升装置400,该装置还包括:
第二执行模块407,所述第二执行模块用于若需要执行Multi-Plane写操作,则执行subpage的Multi-Plane写操作后先更新硬件描述符的page_bit_map信息和page信息,然后再执行下一个subpage的Multi-Plane写操作直至所有的page_bit_map信息都为0。
在一个实施例中,如图7所示,提供了一种固态硬盘的TLC写性能提升装置400,该装置还包括:
第二下发模块408,所述第二下发模块用于当NFC硬件识别到不同的subpage后,下发符合相应的写命令操作协议的命令序列。
关于固态硬盘的TLC写性能提升装置的具体限定可以参见上文中对于固态硬盘的TLC写性能提升方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘的TLC写性能提升方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一种非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种固态硬盘的TLC写性能提升方法,所述方法包括:
获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;
配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;
配置完成后,将所述硬件描述符下发到FIFO存储器中;
NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;
待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。
2.根据权利要求1所述的固态硬盘的TLC写性能提升方法,其特征在于,所述配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位的步骤还包括:
判断并配置是否需要执行Multi-Plane写操作。
3.根据权利要求2所述的固态硬盘的TLC写性能提升方法,其特征在于,所述方法还包括:
若需要执行Multi-Plane写操作,则执行subpage的Multi-Plane写操作后先更新硬件描述符的page_bit_map信息和page信息,然后再执行下一个subpage的Multi-Plane写操作直至所有的page_bit_map信息都为0。
4.根据权利要求1-3任一项所述的固态硬盘的TLC写性能提升方法,其特征在于,所述方法还包括:
当NFC硬件识别到不同的subpage后,下发符合相应的写命令操作协议的命令序列。
5.一种固态硬盘的TLC写性能提升装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取下发的TLC写命令并为所述TLC写命令申请一个硬件描述符;
配置模块,所述配置模块用于配置硬件描述符,将所述硬件描述符中表示要进行写操作的low、middle、upper页的page_bit_map信息进行置位;
第一下发模块,所述第一下发模块用于配置完成后,将所述硬件描述符下发到FIFO存储器中;
第一执行模块,所述第一执行模块用于NFC硬件从FIFO存储器中取出硬件描述符,并逐个完成page_bit_map信息所对应的subpage的写操作命令序列;
清除模块,所述清除模块用于待每个subpage的写操作命令完成后清除page_bit_map对应位,然后再执行下一个写操作命令并更新所述硬件描述符中page信息。
6.根据权利要求5所述的固态硬盘的TLC写性能提升装置,其特征在于,所述装置还包括:
判断模块,所述判断模块用于判断并配置是否需要执行Multi-Plane写操作。
7.根据权利要求6所述的固态硬盘的TLC写性能提升装置,其特征在于,所述装置还包括:
第二执行模块,所述第二执行模块用于若需要执行Multi-Plane写操作,则执行subpage的Multi-Plane写操作后先更新硬件描述符的page_bit_map信息和page信息,然后再执行下一个subpage的Multi-Plane写操作直至所有的page_bit_map信息都为0。
8.根据权利要求5-7任一项所述的固态硬盘的TLC写性能提升装置,其特征在于,所述装置还包括:
第二下发模块,所述第二下发模块用于当NFC硬件识别到不同的subpage后,下发符合相应的写命令操作协议的命令序列。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN202310883450.9A 2023-07-18 2023-07-18 固态硬盘的tlc写性能提升方法、装置和计算机设备 Pending CN116909478A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310883450.9A CN116909478A (zh) 2023-07-18 2023-07-18 固态硬盘的tlc写性能提升方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310883450.9A CN116909478A (zh) 2023-07-18 2023-07-18 固态硬盘的tlc写性能提升方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN116909478A true CN116909478A (zh) 2023-10-20

Family

ID=88354484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310883450.9A Pending CN116909478A (zh) 2023-07-18 2023-07-18 固态硬盘的tlc写性能提升方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN116909478A (zh)

Similar Documents

Publication Publication Date Title
CN110568998B (zh) 基于固态硬盘的Trim命令实现方法、装置和计算机设备
US10475517B2 (en) Characterizing and operating a non-volatile memory device
CN110888602A (zh) 基于固态硬盘的读性能提升方法、装置及计算机设备
CN114253483B (zh) 基于命令的写缓存管理方法、装置、计算机设备及存储介质
CN113094296B (zh) Ssd读加速的实现方法、装置、计算机设备及存储介质
CN110569001B (zh) 基于固态硬盘的L2P表dirty位标记方法和装置
CN110427288B (zh) 基于固态硬盘的bitlocker加解密测试方法和装置
CN116909478A (zh) 固态硬盘的tlc写性能提升方法、装置和计算机设备
CN114115745B (zh) 多Pass编程NAND的RAID优化方法、装置及计算机设备
CN115563021A (zh) 基于固态硬盘的重复读性能提升方法、装置和计算机设备
CN115878041A (zh) 固态硬盘raid写性能提升的实现方法、装置和计算机设备
CN109634875A (zh) 命令数据缓存处理方法、装置、计算机设备和存储介质
CN110275596B (zh) 基于固态硬盘的上电初始化加速方法、装置和计算机设备
CN111897495A (zh) 提高ssd写性能的实现方法、装置、计算机设备及存储介质
CN110389724A (zh) 基于固态硬盘的parity page识别方法和装置
CN109686394B (zh) Nand Flash Phy参数配置方法和装置
CN116755623A (zh) 固态硬盘顺序读性能的提升方法、装置和计算机设备
CN114047880B (zh) 多Pass编程的NAND写入功耗优化方法、装置及计算机设备
CN111625265B (zh) 在固件升级中实现降低dram空间消耗的方法和装置
CN116501266B (zh) 消息上下文处理方法、装置、计算机设备和存储介质
CN113986126B (zh) 基于固态硬盘的tcg数据删除方法、装置及计算机设备
CN109753240B (zh) 一种采用垃圾回收机制的数据存储方法
CN117785049A (zh) 异常掉电下Write Zero命令的优化处理方法和装置
CN115079956A (zh) 固态硬盘的写性能提升实现方法、装置和计算机设备
WO2021248406A1 (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