CN110308863B - 存储装置、计算机系统及存储装置的动作方法 - Google Patents

存储装置、计算机系统及存储装置的动作方法 Download PDF

Info

Publication number
CN110308863B
CN110308863B CN201810839667.9A CN201810839667A CN110308863B CN 110308863 B CN110308863 B CN 110308863B CN 201810839667 A CN201810839667 A CN 201810839667A CN 110308863 B CN110308863 B CN 110308863B
Authority
CN
China
Prior art keywords
storage device
host device
garbage collection
data
less
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
CN201810839667.9A
Other languages
English (en)
Other versions
CN110308863A (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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Publication of CN110308863A publication Critical patent/CN110308863A/zh
Application granted granted Critical
Publication of CN110308863B publication Critical patent/CN110308863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明的实施方式提供一种能够在不恰当的情况下自适应地停止执行中的GC的存储装置、计算机系统及存储装置的动作方法。根据实施方式,存储装置能够经由接口而与主机装置连接,且具备无法进行数据重写的非易失性存储介质及控制器。控制器控制在与主机装置连接的情况下可能被要求的针对非易失性存储介质的数据写入或读出。控制器具备垃圾回收处理部及垃圾回收控制部。垃圾回收处理部执行垃圾回收,以再次利用非易失性存储介质上的成为无用的数据所残存的存储区域。垃圾回收控制部在存储装置为阈值以下的负载状态的情况下,停止垃圾回收处理部执行中的垃圾回收。

Description

存储装置、计算机系统及存储装置的动作方法
[相关申请]
本申请享有以日本专利申请2018-59835号(申请日:2018年3月27日)作为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及一种存储装置、计算机系统及存储装置的动作方法。
背景技术
在以NAND(Not-And,与非)闪速存储器作为主要的非易失性存储介质的被称为SSD(Solid State Drive,固态驱动器)的存储装置中,需要进行被称为垃圾回收(GC:GarbageCollection)的处理,以再次利用NAND闪速存储器上的成为无用的数据所残存的存储区域。
GC优选在由存储装置及使用该存储装置的主机装置构成的计算机系统中,在恰当的情况下执行。
发明内容
本发明的实施方式提供一种能够在不恰当的情况下自适应地停止执行中的GC的存储装置、计算机系统及存储装置的动作方法。
根据实施方式,存储装置能够经由接口与主机装置连接,且具备非易失性存储介质及控制器。非易失性存储介质无法对已写入过数据的存储区域进行数据重写。控制器根据与主机装置连接时可从主机装置接收的来自主机装置的要求,控制向非易失性存储介质写入数据、或从非易失性存储介质读出数据。控制器具备垃圾回收处理部及垃圾回收控制部。垃圾回收处理部执行垃圾回收,以再次利用非易失性存储介质上的成为无用的数据所残存的存储区域。垃圾回收控制部在存储装置为阈值以下的负载状态的情况下,停止垃圾回收处理部执行中的垃圾回收。
附图说明
图1是表示第1实施方式的计算机系统的一例的图。
图2是表示第1实施方式的存储装置的详细构成的一例的图。
图3(A)、(B)是例示NAND闪速存储器的块的构成及状态的图。
图4(A)~(C)是用来说明垃圾回收的概要的图。
图5是表示与第1实施方式的存储装置的GC相关的处理顺序的流程图。
图6是表示与第2实施方式的计算机系统中的GC相关的主机装置与存储装置的协作的序列图。
图7是表示NVMe(注册商标)中规定的管理指令(Admin Command)的格式的图。
图8是表示与第2实施方式的主机装置的GC相关的处理顺序的流程图。
图9是表示与第2实施方式的存储装置的GC相关的处理顺序的流程图。
图10是表示与第3实施方式的存储装置的GC相关的处理顺序的流程图。
图11是表示与第4实施方式的计算机系统中的存储装置的GC相关的处理顺序的流程图。
具体实施方式
以下,参照附图对实施方式进行说明。
(第1实施方式)
首先,对第1实施方式进行说明。
图1是表示本实施方式的计算机系统的一例的图。如图1所示,该计算机系统包含存储装置1以及将该存储装置1例如用作主存储器的主机装置2。存储装置1与主机装置2通过信号线3而连接。存储装置1可以收纳在主机装置2的壳体内,也可以外部连接在主机装置2。此处,假定为存储装置1作为SSD而实现。
存储装置1具有控制器11、易失性存储器12及非易失性存储器13。此外,易失性存储器12也可以设置在控制器11内。也就是说,也可以考虑不具有易失性存储器12的构成。
控制器11是接收来自主机装置2的指令,一边使用易失性存储器12作为缓冲器,一边进行向非易失性存储器13写入数据、从非易失性存储器13读出数据的处理电路。控制器11例如为内置CPU(Central Processing Unit,中央处理器)的SoC(System on Chip,片上系统)。在非易失性存储器13的特定区域内,存储有用来使存储装置1进行目标动作的程序。该程序例如在存储装置1的启动时或重启时等,它的一部分或全部被载入到易失性存储器12,通过控制器11内的CPU而执行。
易失性存储器12例如为DRAM(Dynamic RAM[Random Access Memory],动态随机存取存储器)。另外,假定作为SSD实现的存储装置1中的非易失性存储器13为NAND闪速存储器。此外,此处,假定存储装置1作为SSD而实现,但并不限于此,只要为具有无法对已写入过数据的存储区域进行数据重写的(除NAND闪速存储器以外的)存储器作为非易失性存储器13且必须进行GC的装置即可。
另一方面,主机装置2为PC(Personal Computer,个人计算机)或服务器等信息处理装置。主机装置2具有处理器21、主存储器22、输入装置23、显示装置24及存储接口控制器25。
处理器21为负责主机装置2内的组件的控制的处理电路。处理器21从存储装置1将各种程序载入到主存储器22并执行。在各种程序中,包含将在第2实施方式中进行说明的具有状态通知部201的存储管理程序200。在主存储器22中也暂时性地存储通过各种程序而使用的用户数据210。在用户数据210中,包含向存储装置1写入的数据、或从存储装置1读出的数据。
输入装置23例如为键盘或鼠标等。显示装置24为显示器。输入装置23及显示装置24中的一个或两个也可以外部连接在主机装置2。另外,输入装置23也可为与(包含键盘或鼠标等的)外部机器之间执行有线或无线通信的通信装置。
存储接口控制器25为与存储装置1之间经由信号线3执行通信的装置。此处,对存储装置1与主机装置2之间的连接或通信协议进行说明。
主机装置2经由信号线3对存储装置1传送包含读写数据的数据处理的要求、状态变化的要求、统计信息的要求等。另一方面,存储装置1经由信号线3对主机装置2传送数据处理的结果、状态变化的结果、本装置的统计信息等针对来自主机装置2的要求的应答。为了能够将各种主机装置2与存储装置1相互连接而将这种要求或应答在信号线3上传送的方法存在各种标准。
例如,用于在主机装置2与存储装置1之间在信号线3上收发信息的标准中,存在PCI Express(PCIe(Peripheral Component Interconnect Express,外围组件互连高速))(注册商标)。另外,例如,在主机装置2与存储装置1之间收发的所述要求或应答的手续或数据格式等的标准中,存在Non-Volatile Memory Express(NVMe)(注册商标)。此外,在本实施方式的计算机系统中,针对用于在信号线3上收发信息的结构、或用来收发所述要求或应答的手续或数据格式等,不假定特定的标准。此处要说明的与GC相关的方法即便在使用以PCIe(注册商标)或NVMe(注册商标)为代表的各种标准及标准以外的方法的情况下也能够应用。
进而,主机装置2与存储装置1无须通过物理信号线连接。主机装置2与存储装置1也可以利用无线LAN(Local Area Network,局域网)等不带有物理信号线的方法而连接。也就是说,关于此处要说明的与GC相关的方法,即便主机装置2与存储装置1利用不带有物理信号线的方法连接也能够应用。
图2是表示存储装置1的详细构成的一例的图。
如上所述,存储装置1具有控制器11、易失性存储器12及非易失性存储器13。控制器11具有主机接口控制器111、主机要求处理部112、数据控制部113、NAND接口控制器114、直接存储器存取控制器(DMAC,Direct Memory Access Controller)115及错误订正处理部116等。另外,存储装置1具有缓冲存储器12A作为易失性存储器12,且具有NAND闪速存储器13A作为非易失性存储器13。如上所述,缓冲存储器12A也可以设置在控制器11内。NAND闪速存储器13A具备能够并行地动作的多个NAND闪速存储器芯片131。也就是说,存储装置1理论上能够最大以NAND闪速存储器芯片131的个数并行地执行向NAND闪速存储器13A写入数据或从NAND闪速存储器13A读出数据。
主机接口控制器111接收经由信号线3从主机装置2发送来的对于存储装置1的处理要求,并将要求的内容传送到主机要求处理部112。另外,主机接口控制器111按照来自主机要求处理部112的要求,将对于来自主机装置2的处理要求的处理结果的应答经由信号线3发送到主机装置2。进而,主机接口控制器111按照来自DMAC115的指示,从主机装置2侧的主存储器22读出来自主机装置2的写入要求对象的数据并写入到缓冲存储器12A,或从缓冲存储器12A读出来自主机装置2的读出要求对象的数据并写入到主机装置2侧的主存储器22。
主机要求处理部112从主机接口控制器111接收从主机装置2发送的处理要求,解释处理要求的内容,并按照处理要求的内容控制存储装置1内部。主机要求处理部112例如当从主机装置2接收数据读出要求时,对数据控制部113指示从NAND闪速存储器13A将该要求数据读出到缓冲存储器12A,操作DMAC115而将被读出到缓冲存储器12A的数据传送到主机装置2侧的主存储器22。另外,主机要求处理部112例如当从主机装置2接收数据写入要求时,操作DMAC115而从主机装置2侧的主存储器22将写入数据传送到缓冲存储器12A,对数据控制部113发出指示以将缓冲存储器12A内的数据写入到NAND闪速存储器13A。如果从主机装置2接收到的要求的处理完成,那么主机要求处理部112对主机装置2发送处理结果。来自该主机装置2的读写要求带有读写等所要求的处理的种类及要求处理的数据的尺寸。
进而,主机要求处理部112具有GC控制部1121。GC控制部1121当在存储装置1预先确定的状况下为正在执行GC中时,停止该执行中的GC。利用该GC控制部1121停止执行中的GC的情况将在下文中叙述。
此外,主机要求处理部112及主机接口控制器111存在积存从主机装置2通知的处理要求(指令)的情况。例如,在NVMe(注册商标)中,规定了存在多个指令队列以及各指令队列的最大深度。存储装置1在无法立即处理从主机装置2发送的指令的情况下,将指令积存在该队列中。相反,主机装置2关于对存储装置1的指令,不管在该时点存储装置1能否执行,只要该队列中有空闲,便能够将它传送到存储装置1。此外,该指令队列可以存在于主机要求处理部112及主机接口控制器111中的某一个,也可以存在于它们两者。
另外,存储装置1从主机装置2接收的要求不仅为数据的读写。如上所述,例如,有时也接收将状态变化为低耗电状态的要求、总写入数据量或总读出数据量等统计信息的要求等。统计信息的要求等也存在由NVMe(注册商标)定义的情况。接收到这些要求的主机要求处理部112要求数据控制部113进行具体的处理,而实现所期望的处理。
数据控制部113管理存储在存储装置1内的数据,以及控制对NAND闪速存储器13A的存取。具体来说,数据控制部113保存有来自主机装置2的读写要求时所指定的LBA(Logical Block Address,逻辑块地址)与存储有与该LBA对应的最新数据的NAND闪速存储器13A内的位置信息的组。将该NAND闪速存储器13A内的位置信息称为NAND物理地址(NANDPhysical Address:NPA)。另外,将数据控制部113所管理的LBA与NPA的对应关系的表称为逻辑-物理转换表(logical-physical translation table)。
接下来,对产生逻辑-物理转换表的更新的存储装置1的数据写入时的处理进行说明。
当从主机装置2对存储装置1传送了数据的写入要求时,存储装置1以如下方式进行处理。
从主机装置2被传送数据的写入要求的存储装置1中,首先,主机要求处理部112经由主机接口控制器111而接收该写入要求。该写入要求中包含写入目的地LBA区域的开头LBA、写入尺寸、存储有写入数据的主机装置2侧的主存储器22的开头地址。
因此,主机要求处理部112操作DMAC115而从所指定的主机装置2侧的主存储器22的开头地址将所指定的写入尺寸的数据传送到缓冲存储器12A。然后,主机要求处理部112对数据控制部113发出指示以将缓冲存储器12A内的数据写入到NAND闪速存储器13A。
此外,主机要求处理部112可以将对从主机装置2接收到的写入要求的应答在完成将被要求写入的数据全部传送到缓冲存储器12A的时点发送到主机装置2,也可以在完成将被要求写入的数据全部写入到NAND闪速存储器13A的时点发送到主机装置2。
从主机要求处理部112接受到将数据写入NAND闪速存储器13A的要求的数据控制部113决定将该数据写入到NAND闪速存储器13A的哪个NPA,视需要操作错误订正处理部116,根据该数据制作编码过的数据,并操作NAND接口控制器114,将编码过的数据写入到NAND闪速存储器13A。
数据控制部113在将该编码过的数据写入到NAND闪速存储器13A之后,将该数据的LBA与写入了根据该数据而制作的编码过的数据的NPA建立关联地记录到逻辑-物理转换表。
假设在该逻辑-物理转换表中记录有该LBA与记录着对应于该LBA的旧数据的NPA的组的情况下,数据控制部113以新的NPA更新该条目。以这种方式,逻辑-物理转换表的内容以LBA与NPA的对应关系始终最新之方式被管理。
另外,数据控制部113具有根据NAND闪速存储器13A的状态执行GC的GC处理部1131。接下来,对GC的处理内容进行说明。
如上所述,存储装置1将从主机装置2接收到的写入要求的数据不断写入到NAND闪速存储器13A。另外,NAND闪速存储器13A必须以被称为块的单位进行数据的删除处理,以再次利用暂时写入了数据的存储区域。
也就是说,如果存储装置1持续处理来自主机装置2的数据写入要求,那么在NAND闪速存储器13A内会保存多个残留有无效数据而无法再次利用的存储区域。如果以这种状态持续处理来自主机的数据写入要求,那么最终新写入数据的场所消失,而无法处理数据写入要求。为了避免该状态而进行GC处理。
参照图3及图4,对GC的概要进行说明。
图3(A)及(B)是例示NAND闪速存储器13A的块的构成及状态的图。此处,为了简化说明,示出NAND闪速存储器13A的块由9页(a~i)构成的例子。另外,例如,如页g那样,符号a1所示的未标注影线的页(g、h、i)表示空白页。另一方面,例如,如页a那样,标注了符号a2所示的形状的影线的页(a、e、f)表示记录了有效数据的页,例如,如页d那样,标注了符号a3所示的形状的影线的页(b、c、d)表示记录了无效数据的页。
另一方面,图4(A)~(C)是(以NAND闪速存储器13A的块如图3所示那样构成,且块内的各页的状态与图3同样地表示为前提)来说明GC的概要的图。
在NAND闪速存储器13A的块处于图4(A)所示的状态的情况下,存储装置1针对接下来从主机装置2接收到的数据写入要求,将数据写入到块3的页g。另外,块1及块2已由数据填埋所有页,而在这两个块中无法直接写入数据。因此,在该状态下,无法处理来自主机装置2的数据写入要求。
因此,如图4(B)所示,存储装置1暂时从NAND闪速存储器13A读出记录在块1及块2的数据中的有效数据,删除块1及块2的所有数据,并将暂时读出的有效数据写回到块2。此外,图4(B)中,例如,“1-a”表示“块1的页a”。
于是,NAND闪速存储器13A的块的状态变为如图4(C)所示那样,块1作为空闲块而变为能够再利用的状态。GC就是以这种方式产生空闲块。
这样,GC包含从NAND闪速存储器13A读出有效数据的处理、及将有效数据再次写入到NAND闪速存储器13A的处理。更详细来说,包含决定要从NAND闪速存储器13A读出的数据的处理、及所述两个处理。也就是说,正在进行GC时,NAND闪速存储器13A无法进行基于来自主机装置2的写入或读出要求的处理。
更具体来说,连接图2的NAND接口控制器114与NAND闪速存储器13A的信号线、或缓冲存储器12A被用于GC。另外,数据控制部113进行判断处理等,判断将NAND闪速存储器13A内的哪个数据设为GC中的复制对象。进而,通过进行GC,逻辑-物理转换表的内容发生变化。原因在于,通过基于GC的数据复制,记录有与某LBA对应的最新数据的NPA改变。
如上所述,GC占据NAND闪速存储器13A,消耗缓冲存储器12A或数据控制部113等存储装置1内的资源,进而,逻辑-物理转换表的内容发生变化。
以往,因为这种原因,所以通过在存储装置1未从主机装置2接收数据读出或写入要求的“闲暇时”进行GC,而不妨碍来自主机装置2的数据读出或写入要求。但是,如上所述,在该“闲暇时”进行GC会使存储装置1内部的状态发生变化。这种情况最终也会妨碍来自主机装置2的数据读出或写入要求。
例如,在正在进行从NAND闪速存储器13A读出数据或向NAND闪速存储器13A写入数据时从主机装置2接收到指令以进行GC的情况下,在该数据读出或写入完成之前无法开始该指令的处理。这会导致就主机装置2来说的指令处理时间变长。
另外,因GC而逻辑-物理转换表的内容变化意味着必须将该变化后的逻辑-物理转换表的内容进行非易失化。这表示作为存储装置1处于不稳定的状态。
进而,原本GC是应根据来自主机装置2的写入要求的存在而进行的处理,在“闲暇时”预先进行的GC也有可能实际上是无用的GC。这有可能缩短存储装置1的寿命。
如上所述,存储装置1在“闲暇时”进行GC存在较多缺点。
另一方面,存在从主机装置2对存储装置1指定是否可以进行GC的结构。
但是,如上所述,GC是存储装置1参照自身的内部状态而进行的处理。另外,主机装置2指示执行GC时对于存储装置1来说未必为“闲暇时”。例如,以在“闲暇时”进行GC作为策略的存储装置1的情况下,即便主机装置2对存储装置1指示执行GC,当存储装置1正在处理来自主机装置2的指令时,也无法进行GC。
因此,与从主机装置2指示在存储装置1中执行GC的结构相比,存储装置1自身选择进行GC的时间的效率更优。
鉴于以上情况,在本实施方式中,存储装置1自身判断是否闲暇,且在闲暇时不进行GC。
关于存储装置1是否闲暇,例如可以考虑以积存在存储装置1的主机接口控制器111或主机要求处理部112所具备的指令队列的指令的个数是否为某阈值(第1阈值[第1值])以下进行判断(第1条件)。作为该第1阈值,可以考虑设为存储装置1所具备的NAND闪速存储器13A的NAND闪速存储器芯片131的个数。原因在于,为了处理一个主机指令,必须使最少一个NAND闪速存储器芯片131动作,因此在积存在队列中的指令数少于NAND闪速存储器芯片131的个数的情况下,该指令群的处理能够不对存储装置1施加负载地执行的可能性高。
另外,例如,也可以考虑以存储装置1正在处理中的指令的个数是否为某阈值(第2阈值[第2值])以下进行判断(第2条件)。作为该第2阈值,也与第1阈值同样地,可以考虑使用存储装置1所具备的NAND闪速存储器13A的NAND闪速存储器芯片131的个数。
进而,例如,也可以考虑以积存在存储装置1内的队列中的指令的总读写数据尺寸是否为某阈值(第3阈值[第3值])以下进行判断(第3条件)。作为该第3阈值,可以考虑设为存储装置1所具备的缓冲存储器12A的尺寸。原因在于,必需缓冲存储器12A用于存储装置1与主机装置2之间授受读写对象的数据,如果与积存在队列中的指令相关的数据的总尺寸为缓冲存储器12A的尺寸以下,那么能够在不对存储装置1施加负载的情况下执行该指令群的处理的可能性较高。如上所述,因为来自主机装置2的读写要求带有读写等所要求的处理的种类及要求处理的数据的尺寸,所以能够获得积存在队列中的指令的总读写数据尺寸。
也就是说,本实施方式的存储装置1在能够发挥所要求的性能的阈值以下的负载状态下不进行GC。更详细来说,如果在这种情况下已执行GC,那么停止(中断或结束)该处理。也就是说,此处的存储装置1“闲暇时”并非如以往那样的存储装置1未从主机装置2接收数据读出或写入要求之时,而是存储装置1为(能够发挥所要求的性能的)阈值以下的负载状态之时。如上所述,GC是由数据控制部113的GC处理部1131执行。而且,主机要求处理部112的GC控制部1121进行所述判断,自适应地停止数据控制部113的GC处理部1131执行中的GC。另外,主机要求处理部112的GC控制部1121预先存储已停止数据控制部113的GC处理部1131正在执行的GC,进而,能够自适应地重新开始该停止中的GC。更详细来说,主机要求处理部112的GC控制部1121在存储装置1变为非闲暇时,如果GC为停止中,那么重新开始该停止中的GC。
此外,在判断存储装置1是否闲暇时,也可以利用所例示的多个阈值(第1阈值、第2阈值、第3阈值)、换句话说是多个条件(第1条件、第2条件、第3条件)的任意组合来定义。
存储装置1按照以这种方式定义的判断基准进行检查,在判断为存储装置1闲暇的情况下,以后不进行GC。假设在正在执行GC中判断为“存储装置1闲暇”的情况下,立刻停止处理。以下,对若干立刻停止处理的例子进行说明。
如使用图3及图4进行说明那样,GC能够分割为如下3个步骤,即,(A)决定要从NAND闪速存储器13A读出的数据的处理[第1步骤]、(B)从NAND闪速存储器13A读出数据的处理[第2步骤]、(C)将所读出的数据写入到NAND闪速存储器13A的处理[第3步骤]。
如图4所示,如果以整个块作为处理单位,那么在一个例子中,(A)处理所需的时间为几毫秒左右,(B)处理所需的时间为20毫秒左右,(C)处理所需的时间为100毫秒左右。另一方面,主机装置2所要求的数据从NAND闪速存储器13A读出所需的时间为几十微秒左右。也就是说,(A)+(B)+(C)的总所需时间非常长,完成1个块的处理后停止GC称不上迅速。
因此,本实施方式的存储装置1是在完成执行中的步骤处理的时点停止GC。也就是说,如果正在处理(A),那么不进行到(B),如果正在处理(B),那么不进行到(C)。
另外,也可以考虑不以块为单位,而以页为单位(第1使用单位)循环进行(A)~(C)。也就是说,也可以考虑并非通过(B)的处理将1个块汇总地读出数据,而是重复进行通过(B)处理读出1页数据之后,通过(C)处理进行写入。此外,在该情况下,如图4所示,例如并非将从块1及块2读出的有效数据写回到(数据删除后的)该块1及块2中的一个,而是写回到除该块1及块2以外的空闲块。如果以页为单位进行(A)~(C),那么在一个例子中,(A)处理所需的时间成为1毫秒左右,(B)处理所需的时间成为几毫秒左右,(C)处理所需的时间也成为几毫秒左右。
而且,在该情况下,本实施方式的存储装置1针对进行中的页进行到(C)处理为止,在针对该页的处理完成的时点停止GC。由此,能够更迅速地使GC停止。
当然,作为因判断为“存储装置1闲暇”而使GC停止的时间点,也可以采用针对进行中的块的处理完成的时点,本实施方式的存储装置1并不排除此情况。
图5是表示与本实施方式的存储装置1的GC相关的处理顺序的流程图。此外,存储装置1可以每当从主机装置2接收指令时进行图5所示的动作,也可以每当从主机装置接收到的指令的处理完成时进行图5所示的动作。也就是说,存储装置1进行图5所示的动作的时间点并无特别限定。
首先,存储装置1根据如上所述的判断基准,检查存储装置1是否闲暇(步骤A1)。在检查的结果被判断为存储装置1闲暇的情况下(步骤A2:是(YES)),存储装置1接着检查是否正在执行GC中(步骤A3)。然后,在正在执行GC的情况下(步骤A3:是),存储装置1立刻停止(中断或结束)GC(步骤A4)。关于立刻停止GC,可以采用所述若干例子中的任一个。
在并非正在执行GC中的情况下(步骤A3:否(NO))或正在执行GC中且GC已停止,存储装置1检查内部状态是否变化(步骤A5)。换句话说,存储装置1检查是否必须进行内部状态的非易失化。该内部状态例如指所述逻辑-物理转换表的内容等。
在内部状态未变化的情况下(步骤A5:否),存储装置1结束该图5的处理。在内部状态变化的情况下(步骤A5:是),存储装置1将变化后的内部状态非易失化(步骤A6),并结束图5的处理。此外,非易失化是指写入到NAND闪速存储器13A。
另外,在存储装置1被判断为并非闲暇的情况下(步骤A2:否),存储装置1接着检查是否正在停止GC中(步骤A7)。在GC停止中的情况下(步骤A7:是),存储装置1重新开始GC(步骤A8)。在GC并非停止中的情况下(步骤A7:否),存储装置1直接结束图5的处理。
通过如上处理顺序,存储装置1能够实现在“闲暇时”不进行GC。通过在“闲暇时”不进行GC,能够使就主机装置2来说的指令处理时间变短,避免存储装置1长期处于不稳定的状态,消除不必要地缩短存储装置1的寿命等情况。
(第2实施方式)
接下来,对第2实施方式进行说明。此外,对与所述第1实施方式相同的构成要素使用相同的符号,并省略重复的说明。
在第1实施方式中,表示了存储装置1通过判断存储装置1自身是否闲暇,且在存储装置1闲暇时不执行GC,而发挥各种效果。另一方面,如上所述,从主机装置2对存储装置1不仅进行读写要求,而且能够进行各种要求或通知。
因此,在本实施方式的计算机系统中,根据主机装置2是否闲暇(低负载状态[第1状态])的状态,存储装置1进行第1实施方式中所说明的所述图5中所示的处理。为此,主机装置2具备具有状态通知部201的存储管理程序200。存储管理程序200是用来与存储装置1协作进行包含可否执行GC的存储装置1的管理的驻留程序,状态通知部201执行获取主机装置2的状态的处理、及将表示主机装置2的状态的通知发送到存储装置1的处理。如果在主机装置2闲暇时,存储装置1进行图5中所示的处理,而停止GC,那么系统整体的处理量减少,能够进一步降低系统的消耗电力。此外,此处,关于在主机装置2处于哪种情况下时设为闲暇,并无限定。
图6是表示与本实施方式的计算机系统中的GC相关的主机装置2与存储装置1的协作的序列图。
首先,主机装置2将表示主机装置2的状态的通知、更详细来说是表示主机装置2是否闲暇的通知发送到存储装置1(图6:(1))。在该通知中,例如能够使用NVMe(注册商标)中规定的管理指令。参照图7,对将该管理指令用于表示主机装置2的状态的通知的一例进行说明。
图7表示管理指令的格式。
在NVMe(注册商标)中,1指令被规定为64字节。另外,针对存储在符号b1所示的位置的操作码(Opecode),规定了从“C0h”到“FFh”为供应商专用(vendor specific)。进而,规定了在不包含(除64字节的指令以外的)数据传送的情况下,将操作码的比特[1:0]设为“00b”。因此,作为用于表示主机装置2的状态的通知的指令的操作码,例如分配“C0h(11000000b)”(图7:b1)。而且,在操作码为“C0h”的情况下,规定为例如符号b2所示的CDW(Command DWord(Command double word,双字指令))2如果是“0h”那么“主机装置2闲暇”,如果是“1h”那么“主机装置2并非闲暇”。由此,能够从主机装置2向存储装置1发送表示主机装置2的状态的通知。
返回图6继续进行说明。
存储装置1如果接收从主机装置2发送的表示主机装置2的状态的通知,那么基于该通知的内容,进行停止执行中的GC、重新开始停止中的GC等GC控制(图6:(2))。
图8是表示与本实施方式的计算机系统中的主机装置2的GC相关的处理顺序的流程图。此外,此处,假定主机装置2在主机装置2的状态产生变化的情况下对存储装置1进行通知,但并不限于此,例如也可以每固定间隔地对存储装置1进行通知。
主机装置2首先检查主机装置2的负载状态(步骤B1)。接下来,主机装置2调查是否产生了低负载状态到高负载状态或高负载状态到低负载状态的变化(步骤B2)。
在主机装置2的状态产生变化的情况下(步骤B2:是),主机装置2将表示主机装置2的状态的通知发送到存储装置1(步骤B3),并结束图8的处理。在主机装置2的状态未产生变化的情况下(步骤B2:否),主机装置2直接结束图8的处理。
图9是表示与本实施方式的计算机系统中的主机装置2的GC相关的处理顺序的流程图。
首先,存储装置1接收从主机装置2发送的表示主机装置2的状态的通知(步骤C1)。存储装置1检查所接受到的通知的内容(步骤C2)。
在接受到的通知的内容表示主机装置闲暇的情况下(步骤C3:是),存储装置1进行第1实施方式中所说明的图5中所示的处理(步骤C4)。在接受到的通知的内容表示主机装置2并非闲暇的情况下(步骤C3:否),存储装置1不进行图5中所示的处理。
由此,在本实施方式的计算机系统中,不仅考虑到存储装置1的状态,而且也考虑到了主机装置2的状态,从而能够使系统整体的状态的最佳化。
(第3实施方式)
接下来,对第3实施方式进行说明。此外,对与所述第1及第2实施方式相同的构成要素使用相同的符号,并省略重复的说明。
在第2实施方式中,表示了当主机装置2闲暇时,存储装置1进行第1实施方式中所说明的图5中所示的处理。但是,即便在主机装置2并非闲暇时,存储装置1也可能变为闲暇。例如,在主机装置2进行大量计算处理的情况下,即便向存储装置1的存取少,主机装置2也并非闲暇。
因此,在本实施方式的计算机系统中,存储装置1在接受到表示主机装置2并非闲暇的通知的情况下进行图5中所示的处理。
图10是表示与本实施方式的计算机系统中的存储装置的GC相关的处理顺序的流程图。
首先,存储装置1接收从主机装置2发送的表示主机装置2的状态的通知(步骤D1)。存储装置1检查接受到的通知的内容(步骤D2)。
在接受到的通知的内容表示主机装置并非闲暇的情况下(步骤D3:是),存储装置1进行第1实施方式中所说明的图5中所示的处理(步骤D4)。在接受到的通知的内容表示主机装置2闲暇的情况下(步骤D3:否),存储装置1不进行图5中所示的处理。
由此,在本实施方式的计算机系统中,存储装置1能够在掌握主机装置2的状态之后,按照自身的内部状态进行GC的执行判断,能够实现更灵活的系统。
(第4实施方式)
接下来,对第3实施方式进行说明。此外,对与所述第1至第3实施方式相同的构成要素使用相同的符号,并省略重复的说明。
在第2实施方式及第3实施方式中,分别表示了根据主机装置2是否闲暇,而判断是否执行停止存储装置1内部中的GC的处理(图5)的方法。然而,主机装置2闲暇的时间是否多是根据系统的性质而不同。例如,PC一般是一个人使用,系统成为闲暇状态的情况较多。另一方面,服务器或面向科学技术计算的系统被多个用户同时使用,多数情况下始终忙于运转。另外,关于主机装置2闲暇的时间是否多,只要获取从主机装置2发送的表示所述主机装置2是否闲暇的通知的历程便能够判断。更详细来说,能够算出在固定期间内主机装置2闲暇的时间所占的比率,并以该所算出的值是否超过预先规定的基准值进行判断。
因此,在本实施方式的计算机系统中,存储装置1以在主机装置2闲暇的时间多的情况下进行图9的处理,在主机装置2闲暇的时间少的情况下进行图10的处理的方式动态地切换。
图11是表示与本实施方式的计算机系统中的存储装置1的GC相关的处理顺序的流程图。
存储装置1基于从主机装置2接收到的表示主机装置2的状态的通知的历程,判断主机装置2闲暇的时间是否多(步骤E1)。在判断为主机装置2闲暇的时间多的情况下(步骤E2:是),存储装置1以在主机装置2闲暇时进行图5的处理的方式、也就是以应用图9的处理的方式设定(步骤E3)。另一方面,在判断为主机装置2闲暇的时间少的情况下(步骤E2:否),存储装置1以在主机装置2并非闲暇时进行图5的处理之方式、也就是以应用图10的处理的方式设定(步骤E4)。
此外,也可以与图11所示的顺序相反地以如下方式设定,即,在主机装置2闲暇的时间多的情况下,应用图10的处理,在主机装置2闲暇的时间少的情况下,应用图9的处理。
关于设为哪种,可以考虑以空闲块是否充分地存在、或存储装置1是否接近寿命等与存储装置1的状态相关的判断基准进行选择。
如上所述,根据第1至第4实施方式的计算机系统,通过存储装置1在闲暇时不进行GC,能够缩短就主机装置2来说的指令处理时间,避免存储装置1长期处于不稳定的状态,及消除不必要地缩短存储装置1的寿命等情况。也就是说,能够自适应地停止在不恰当的情况下执行的GC。
已对本发明的若干实施方式进行了说明,但这些实施方式是作为例子而提出的,并不意图限定发明的范围。这些新颖的实施方式能以其它各种方式实施,能够在不脱离发明的主旨的范围内进行各种省略、替换、变更。这些实施方式或其变化包含在发明的范围或主旨内,并且包含在权利要求书所记载的发明及其均等的范围内。
[符号的说明]
1 存储装置
2 主机装置
3 信号线
11 控制器
12 易失性存储器
12A 缓冲存储器
13 非易失性存储器
13A NAND闪速存储器
21 处理器
22 主存储器
23 输入装置
24 显示装置
25 存储接口控制器
111 主机接口控制器
112 主机要求处理部
113 数据控制部
114 NAND接口控制器
115 DMAC
116 错误订正处理部
131 NAND闪速存储器芯片
200 储管理程序
201 状态通知部
1121 GC控制部
1131 GC处理部

Claims (20)

1.一种存储装置,能够经由接口与主机装置连接,且具备:
非易失性存储介质,无法对已写入过数据的存储区域进行数据重写;以及
控制器,根据在与所述主机装置连接的情况下可从所述主机装置接收的来自所述主机装置的要求,控制向所述非易失性存储介质写入数据、或从所述非易失性存储介质读出数据;且
所述控制器具备:
垃圾回收处理部,执行垃圾回收,以再次利用所述非易失性存储介质上的成为无用的数据所残存的存储区域;以及
垃圾回收控制部,在所述存储装置为阈值以下的负载状态的情况下,停止所述垃圾回收处理部执行中的所述垃圾回收。
2.根据权利要求1所述的存储装置,其中所述垃圾回收控制部当在所述存储装置内排队的指令个数为第1值以下时,判定为所述存储装置为所述阈值以下的负载状态,所述指令在与所述主机装置连接的情况下可从所述主机装置接收且由所述主机装置发布。
3.根据权利要求2所述的存储装置,其中所述第1值为所述非易失性存储介质所具备的能够并行地动作的多个存储器芯片的个数。
4.根据权利要求1所述的存储装置,其中所述垃圾回收控制部在指令个数为第2值以下时,判定为存储装置为所述阈值以下的负载状态,所述指令在所述存储装置与处理中的所述主机装置连接的情况下可从所述主机装置接收且由所述主机装置发布。
5.根据权利要求4所述的存储装置,其中所述第2值为所述非易失性存储介质所具备的能够并行地动作的多个存储器芯片的个数。
6.根据权利要求1所述的存储装置,其中所述垃圾回收控制部在基于所述存储装置内排队的指令的数据写入或读出的总数据尺寸为第3值以下时,判定为所述存储装置为所述阈值以下的负载状态,所述指令在与所述主机装置连接的情况下可从所述主机装置接收且由所述主机装置发布。
7.根据权利要求6所述的存储装置,其中所述第3值为缓冲存储器的尺寸,所述缓冲存储器暂时存储要写入所述非易失性存储介质的数据、或从所述非易失性存储介质读出的数据。
8.根据权利要求1所述的存储装置,其中所述垃圾回收控制部在满足第1条件、第2条件及第3条件中的预先规定的两个以上的条件的一部分或全部的情况下,判定为存储装置为所述阈值以下的负载状态,所述第1条件是在所述存储装置内排队的指令个数为第1值以下,所述指令在与所述主机装置连接的情况下可从所述主机装置接收且由所述主机装置发布,所述第2条件是指令个数为第2值以下,所述指令在所述存储装置与处理中的所述主机装置连接的情况下可从所述主机装置接收且由所述主机装置发布,所述第3条件是基于在所述存储装置内排队的指令的数据写入或读出的总数据尺寸为第3值以下,所述指令在与所述主机装置连接的情况下可从所述主机装置接收且由所述主机装置发布。
9.根据权利要求1所述的存储装置,其中所述垃圾回收包含:第1步骤,决定应从成为对象的存储区域内读出的数据;第2步骤,读出所述决定的数据;以及第3步骤,回写所述读出的数据;
所述垃圾回收控制部在完成所述垃圾回收处理部正在执行中的步骤的时点,停止所述垃圾回收的处理。
10.根据权利要求1所述的存储装置,其中所述垃圾回收包含:第1步骤,决定应从成为对象的存储区域内读出的数据;第2步骤,读出所述决定的数据;以及第3步骤,回写所述读出的数据;
所述垃圾回收处理部按照所述非易失性存储介质的第1使用单位循环执行所述第1步骤至所述第3步骤,
所述垃圾回收控制部在所述垃圾回收处理部完成相当于所述第1使用单位的所述第1步骤至所述第3步骤的时点,停止所述垃圾回收的处理。
11.根据权利要求1所述的存储装置,其中所述垃圾回收控制部在与所述主机装置连接的情况下可从所述主机装置接收的表示所述主机装置的状态的通知表示所述主机装置为第1状态时,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收。
12.根据权利要求1所述的存储装置,其中所述垃圾回收控制部在与所述主机装置连接的情况下可从所述主机装置接收的表示所述主机装置的状态的通知表示所述主机装置并非第1状态时,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收。
13.根据权利要求1所述的存储装置,其中所述垃圾回收控制部是
基于在与所述主机装置连接的情况下可从所述主机装置接收的表示所述主机装置的状态的通知的历程,算出所述主机装置处于第1状态的期间性比率,
在所述算出的比率超过基准值的情况下,当从所述主机装置接收到表示所述主机装置为所述第1状态的所述通知时,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收,
在所述算出的比率为所述基准值以下的情况下,当从所述主机装置接收到表示所述主机装置并非所述第1状态的所述通知时,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收。
14.一种计算机系统,由主机装置及存储装置构成,所述存储装置具有无法对已写入过数据的存储区域进行数据重写的非易失性存储介质,且根据来自所述主机装置的要求执行向所述非易失性存储介质写入数据、或从所述非易失性存储介质读出数据,
所述主机装置具备将表示所述主机装置的状态的通知发送到所述存储装置的状态通知部,
所述存储装置具备:
垃圾回收处理部,执行垃圾回收,以再次利用所述非易失性存储介质上的成为无用的数据所残存的存储区域;以及
垃圾回收控制部,在从所述主机装置接收到所述通知的情况下,判定所述存储装置是否为阈值以下的负载状态,在所述存储装置为所述阈值以下的负载状态的情况下,停止所述垃圾回收处理部执行中的所述垃圾回收。
15.根据权利要求14所述的计算机系统,其中所述存储装置的所述垃圾回收控制部在所述通知表示所述主机装置为第1状态的情况下,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收。
16.根据权利要求14所述的计算机系统,其中所述存储装置的所述垃圾回收控制部在所述通知表示所述主机装置并非第1状态的情况下,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收。
17.根据权利要求14所述的计算机系统,其中所述存储装置的所述垃圾回收控制部是基于从所述主机装置接收到的表示所述主机装置的状态的通知的历程,算出所述主机装置处于第1状态的期间性比率,
在所述算出的比率超过基准值的情况下,当从所述主机装置接收到表示所述主机装置为所述第1状态的所述通知时,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收,
在所述算出的比率为所述基准值以下的情况下,当从所述主机装置接收到表示所述主机装置并非所述第1状态的所述通知时,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止所述垃圾回收处理部执行中的所述垃圾回收。
18.一种存储装置的动作方法,所述存储装置具有无法对已写入过数据的存储区域进行数据重写的非易失性存储介质,所述存储装置的动作方法包括:
执行垃圾回收,以再次利用所述非易失性存储介质上的成为无用的数据所残存的存储区域;
判定所述存储装置是否为阈值以下的负载状态;以及
在所述存储装置为所述阈值以下的负载状态的情况下,停止执行中的所述垃圾回收。
19.根据权利要求18所述的存储装置的动作方法,包括如下步骤:在满足第1条件、第2条件及第3条件中的预先固定的两个以上的条件的一部分或全部的情况下,判定为存储装置为所述阈值以下的负载状态,所述第1条件是在所述存储装置内排队的由主机装置发布的指令个数为第1值以下,所述第2条件是所述存储装置处理中的由所述主机装置发布的指令个数为第2值以下,所述第3条件是基于在所述存储装置内排队的由所述主机装置发布的指令的数据写入或读出的总数据尺寸为第3值以下。
20.根据权利要求18所述的存储装置的动作方法,包括如下步骤:在从主机装置接收到表示所述主机装置的状态的通知的情况下,判定所述存储装置是否为所述阈值以下的负载状态,以决定是否应停止执行中的所述垃圾回收。
CN201810839667.9A 2018-03-27 2018-07-27 存储装置、计算机系统及存储装置的动作方法 Active CN110308863B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-059835 2018-03-27
JP2018059835A JP6901427B2 (ja) 2018-03-27 2018-03-27 ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法

Publications (2)

Publication Number Publication Date
CN110308863A CN110308863A (zh) 2019-10-08
CN110308863B true CN110308863B (zh) 2023-07-18

Family

ID=68056223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810839667.9A Active CN110308863B (zh) 2018-03-27 2018-07-27 存储装置、计算机系统及存储装置的动作方法

Country Status (4)

Country Link
US (2) US10747663B2 (zh)
JP (1) JP6901427B2 (zh)
CN (1) CN110308863B (zh)
TW (1) TWI694330B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2572404B (en) * 2018-03-29 2020-04-15 Imagination Tech Ltd Method and system for controlling processing
JP7191967B2 (ja) * 2018-06-30 2022-12-19 華為技術有限公司 NVMeベースのデータ読み取り方法、装置及びシステム
CN111542803B (zh) 2018-06-30 2021-10-01 华为技术有限公司 一种基于NVMe的数据写入方法、装置及系统
US11580016B2 (en) * 2019-08-30 2023-02-14 Micron Technology, Inc. Adjustable garbage collection suspension interval
KR102266166B1 (ko) * 2019-11-07 2021-06-17 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US11416168B2 (en) 2019-11-07 2022-08-16 FADU Inc. Memory controller and storage device including the same
CN112559392B (zh) * 2020-12-23 2023-08-15 深圳大普微电子科技有限公司 一种加速读存储介质的方法、读加速硬件模块及存储器
US20240069729A1 (en) * 2022-08-31 2024-02-29 Pure Storage, Inc. Optimizing Data Deletion in a Storage System

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
CN103890724A (zh) * 2011-08-19 2014-06-25 株式会社东芝 信息处理设备、用于控制信息处理设备的方法、存储控制工具的非临时记录介质、主机装置、存储性能评估工具的非临时记录介质、以及用于外部存储装置的性能评估方法
CN105009085A (zh) * 2013-03-18 2015-10-28 株式会社东芝 信息处理系统、控制程序以及信息处理设备
CN106909313A (zh) * 2015-12-22 2017-06-30 株式会社东芝 存储器系统及控制方法
CN107203337A (zh) * 2016-03-17 2017-09-26 三星电子株式会社 用户可配置的被动后台操作

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03141442A (ja) * 1989-10-27 1991-06-17 Hitachi Ltd タスク制御方式
JP3373360B2 (ja) * 1996-06-13 2003-02-04 沖電気工業株式会社 ディスクアレイ装置
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US8364918B1 (en) * 2007-04-06 2013-01-29 Marvell International Ltd. Sensed opportunistic garbage collection in memory components
JP5586718B2 (ja) * 2012-06-19 2014-09-10 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
TW201606778A (zh) * 2014-08-08 2016-02-16 Toshiba Kk 記憶體系統、主機裝置、資訊處理系統
JP6266479B2 (ja) * 2014-09-12 2018-01-24 東芝メモリ株式会社 メモリシステム
TWI537816B (zh) * 2014-10-13 2016-06-11 慧榮科技股份有限公司 非揮發性儲存裝置與控制器進行的控制方法
TWI585770B (zh) * 2015-08-11 2017-06-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US10229049B2 (en) 2015-12-17 2019-03-12 Toshiba Memory Corporation Storage system that performs host-initiated garbage collection
KR102596400B1 (ko) * 2016-03-07 2023-11-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
JP2018181281A (ja) * 2017-04-21 2018-11-15 富士通株式会社 ストレージシステム、制御装置及びストレージ装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
CN103890724A (zh) * 2011-08-19 2014-06-25 株式会社东芝 信息处理设备、用于控制信息处理设备的方法、存储控制工具的非临时记录介质、主机装置、存储性能评估工具的非临时记录介质、以及用于外部存储装置的性能评估方法
CN105009085A (zh) * 2013-03-18 2015-10-28 株式会社东芝 信息处理系统、控制程序以及信息处理设备
CN106909313A (zh) * 2015-12-22 2017-06-30 株式会社东芝 存储器系统及控制方法
CN107203337A (zh) * 2016-03-17 2017-09-26 三星电子株式会社 用户可配置的被动后台操作

Also Published As

Publication number Publication date
US20200334145A1 (en) 2020-10-22
CN110308863A (zh) 2019-10-08
JP6901427B2 (ja) 2021-07-14
TW201942747A (zh) 2019-11-01
US11397675B2 (en) 2022-07-26
US10747663B2 (en) 2020-08-18
TWI694330B (zh) 2020-05-21
US20190303289A1 (en) 2019-10-03
JP2019174941A (ja) 2019-10-10

Similar Documents

Publication Publication Date Title
CN110308863B (zh) 存储装置、计算机系统及存储装置的动作方法
KR101662824B1 (ko) 고체 상태 드라이브 장치 및 그것의 구동 방법
KR102094236B1 (ko) 스토리지 디바이스 및 컴퓨터 시스템
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US11294825B2 (en) Memory system for utilizing a memory included in an external device
CN111554340B (zh) 存取管理的方法、记忆装置、控制器、主装置和电子装置
US10331584B2 (en) Internal system namespace exposed through use of two local processors and controller memory buffer with two reserved areas
CN111045593B (zh) 用来进行读取加速的方法以及数据存储装置及其控制器
US10579300B2 (en) Information handling system firmware persistent memory runtime reclaim
TWI679535B (zh) 快閃記憶體的資料內部搬移方法以及使用該方法的裝置
US11132291B2 (en) System and method of FPGA-executed flash translation layer in multiple solid state drives
KR20190030790A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2014032582A (ja) 画像処理装置、画像処理装置のストレージデバイス制御方法、及びプログラム
JP6193189B2 (ja) Nandバックグラウンド処理制御装置
KR101549569B1 (ko) 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치
US20180275912A1 (en) Information processing apparatus and method for controlling the same
CN110908595A (zh) 存储装置及信息处理系统
CN112748883B (zh) 一种io请求流水线处理设备、方法、系统及存储介质
US10324660B2 (en) Determining whether to compress data prior to storage thereof
CN108345428B (zh) 控制密集型控制系统及其方法
CN114420192A (zh) DRAMLess SSD NAND编程出错的优化方法、装置及介质
CN116150042A (zh) 藉助于多阶段垃圾收集管理以进行存取控制的方法以及相关设备
JP2017151965A (ja) 揮発性メモリを有する情報処理装置及びメモリ制御方法

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: Tokyo

Applicant after: Kaixia Co.,Ltd.

Address before: Tokyo

Applicant before: TOSHIBA MEMORY Corp.

Address after: Tokyo

Applicant after: TOSHIBA MEMORY Corp.

Address before: Tokyo

Applicant before: Pangea Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20220214

Address after: Tokyo

Applicant after: Pangea Co.,Ltd.

Address before: Tokyo

Applicant before: TOSHIBA MEMORY Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant