CN110908595A - 存储装置及信息处理系统 - Google Patents

存储装置及信息处理系统 Download PDF

Info

Publication number
CN110908595A
CN110908595A CN201910143422.7A CN201910143422A CN110908595A CN 110908595 A CN110908595 A CN 110908595A CN 201910143422 A CN201910143422 A CN 201910143422A CN 110908595 A CN110908595 A CN 110908595A
Authority
CN
China
Prior art keywords
performance
request
host
processing
response
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
Application number
CN201910143422.7A
Other languages
English (en)
Other versions
CN110908595B (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
Toshiba Memory 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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Publication of CN110908595A publication Critical patent/CN110908595A/zh
Application granted granted Critical
Publication of CN110908595B publication Critical patent/CN110908595B/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/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/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/0658Controller construction arrangements
    • 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
    • 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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/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/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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/7202Allocation control and policies
    • 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
    • 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/7206Reconfiguration of flash memory system

Abstract

实施方式提供一种将响应性能调整为最佳的存储装置及信息处理系统。实施方式的存储装置能够经由接口与主机连接,且具备包含多个区块的非易失性存储器、及电连接在非易失性存储器的控制器。控制器以如下方式构成:在从主机接收到请求及旨在使请求的响应性能降低的通知的情况下,决定比请求的处理时间长的响应时间,并执行第1性能降低处理或第2性能降低处理,第1性能降低处理使用作为响应时间与处理时间的差的第1时间执行非易失性存储器的区块管理处理,第2性能降低处理使用响应时间对请求进行处理。

Description

存储装置及信息处理系统
[相关申请]
本申请享有以日本专利申请2018-172756号(申请日:2018年9月14日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及一种存储装置及信息处理系统。
背景技术
近年来,具备非易失性存储器的储存器广泛普及。作为此种储存器之一,已知有具备NAND(NOT AND,与非)型闪速存储器的固态驱动器(SSD)。SSD被用作各种计算装置的主储存器。
SSD例如在接收到数据的写入或读取等请求的情况下,尽最大能力对该请求进行处理。此处,所谓尽最大能力,是指不刻意延迟处理,而是最大限度地充分利用SSD所具备的资源来执行处理。
发明内容
实施方式提供一种将响应性能调整为最佳的存储装置及信息处理系统。
实施方式的存储装置能够经由接口与主机连接,且具备包含多个区块的非易失性存储器、及电连接在非易失性存储器的控制器。控制器以如下方式构成:在从主机接收到请求及旨在使请求的响应性能降低的通知的情况下,决定比请求的处理时间长的响应时间,并执行第1性能降低处理或第2性能降低处理,第1性能降低处理使用作为响应时间与处理时间的差的第1时间执行非易失性存储器的区块管理处理,第2性能降低处理使用响应时间对请求进行处理。
附图说明
图1是表示第1实施方式的计算机系统的构成例的框图。
图2是表示主机与SSD之间的请求及响应的第1例的图。
图3是表示主机与SSD之间的请求及响应的第2例的图。
图4是表示与第1实施方式的性能调整相关的属性信息的一例的图。
图5是表示对第1实施方式的SSD的性能调整状态进行管理的表的一例的图。
图6是表示第1实施方式的计算机系统中的性能调整处理的一例的流程图。
图7是表示第1实施方式的计算机系统中的性能调整处理的一例的时序图。
图8是表示第2实施方式的主机中的进程管理处理的一例的流程图。
图9是表示第2实施方式的进程组的一例的图。
图10是表示对第3实施方式的各进程的性能调整进行管理的表的一例的图。
具体实施方式
以下,一边参照附图,一边对各实施方式进行说明。在以下的说明中,对大致或实质上相同的功能及构成要素标注相同符号,并视需要进行说明。
[第1实施方式]
在本实施方式中,所谓I/O(Input/Output,输入/输出),例如意指从下述主机(主机装置)2向SSD3的存取。所谓I/O等待,意指主机2等待来自SSD3的响应的状态。此处,所谓主机,是对SSD3进行存取的信息处理装置。
在本实施方式中,所谓请求,例如意指处理要求。请求主要是从主机2对SSD3发送。对请求进行处理后的SSD3将响应返送至主机2。所谓响应,意指对请求响应处理结果。
以下,对一边在主机2与SSD3中进行协调,一边决定最佳响应性能的主机2及SSD3的构成及处理进行说明。
图1是表示本实施方式的计算机系统1的构成例的框图。此外,计算机系统1也被称为信息处理系统1。
计算机系统1包含主机2及SSD3。
主机2是对SSD3进行存取的信息处理装置(计算装置)。主机2可以为将大量且多样的数据保存在SSD3中的服务器(储存器服务器),也可以为个人计算机。SSD3是以将数据写入至如NAND型闪速存储器的非易失性存储器中并从非易失性存储器中读出数据的方式构成的半导体储存器装置。
在主机2对SSD3发送请求时,能够针对该请求掌握下述第1~第3情况。第1情况是该请求为同步I/O的情况。在此情况下,主机2期待针对该请求的响应尽最大能力从SSD3返回。第2情况是该请求为非同步I/O且掌握到该请求的处理速度的瓶颈并非是对SSD3的存取的情况。第3情况是该请求为非同步I/O且掌握到该请求的处理速度的瓶颈是对SSD3的存取的情况。
在第1及第3情况下,优选SSD3尽最大能力对该请求进行处理。另一方面,在第2情况下,由于瓶颈是除对SSD3的存取以外的情况,因此SSD3无须尽最大能力将响应返送至主机2。
SSD3是存储装置,能够用作作为主机2发挥功能的信息处理装置的主储存器。SSD3能够内置在该信息处理装置中,也能够经由缆线或网络连接在该信息处理装置。SSD3例如作为直接存取储存器(DAS)电连接在主机2。
作为用以将主机2与SSD3相互连接的接口,能够使用SCSI(Small ComputerSystem Interface,小型计算机系统接口)、Serial Attached SCSI(SAS,串行连接的小型计算机系统接口)、ATA(Advanced Technology Attachment,高级技术附件)、Serial ATA(SATA,串行高级技术附加)、PCI Express(PCIe,快速周边组件互连)(注册商标)、Ethernet(注册商标)、Fibre channel(光纤通道)、NVM Express(NVMe,非易失性存储器传输接口)(注册商标)等。
SSD3包含控制器4、NAND型闪速存储器5等。控制器4例如能够通过如System-on-a-chip(SoC,芯片上系統)的电路来实现。SSD3可以具备作为易失性存储器的随机存取存储器、例如DRAM(Dynamic Random Access Memory,动态随机存取存储器)6。或者也可以将如SRAM(Static Random Access Memory,静态随机存取存储器)的随机存取存储器内置在控制器4中。
在DRAM6等随机存取存储器例如设置着作为用以暂时储存从NAND型闪速存储器5读出的数据的缓冲区域的读取缓冲器、作为用以暂时储存写入至NAND型闪速存储器5中的数据的缓冲区域的写入缓冲器、及用于垃圾回收的缓冲器等。此外,DRAM6也可以设置在控制器4的内部。
NAND型闪速存储器5可以包含多个NAND型闪速存储器芯片(多个NAND型闪速存储器芯片)。
各芯片包含存储单元阵列。该存储单元阵列包含多个NAND区块(区块)B0~Bm-1。区块B0~Bm-1作为删除单位发挥功能。区块有时也被称为“物理区块”或“删除区块”。
区块B0~Bm-1包含多个页(物理页)。也就是说,区块B0~Bm-1分别包含页P0~Pn-1。在非易失性存储器中,数据的读出及数据的写入是以页单位执行。数据的删除是以区块单位执行。
控制器4是以控制NAND型闪速存储器5的方式构成的存储器控制器。
控制器4例如包含主机接口11、CPU(Central Processing Unit,中央处理单元)12、NAND接口13、DRAM接口14等。这些主机接口11、CPU12、NAND接口13、DRAM接口14可以经由总线10相互连接。
主机接口11作为从主机2接收各种请求并向主机2发送针对该请求的响应的电路发挥功能。请求例如包含I/O指令、控制指令等各种指令。I/O指令中可以包含写入(write)指令、读取(read)指令、取消映射指令(修整指令)、格式化指令、快闪指令等。此外,写入指令也被称为编程指令。格式化指令是用来使存储器系统(SSD3)整体取消映射的指令。快闪指令是用来通过将高速缓冲在存储器系统内(经缓冲)的废数据(使用者数据及相关的管理数据)写入至NAND型闪速存储器5中而设成全部清空的状态的指令。
DRAM接口14作为以控制DRAM6的存取的方式构成的DRAM控制器发挥功能。
NAND接口13作为以控制NAND型闪速存储器5的方式构成的NAND控制电路发挥功能。NAND接口13可以经由多个通道分别连接在NAND型闪速存储器5内的多个芯片。
CPU12是以控制主机接口11、NAND接口13、及DRAM接口14的方式构成的处理器。CPU12通过执行储存在未图示的ROM(Read Only Memory,只读存储器)等中的控制程序(固件)来进行各种处理。
在本实施方式中,CPU12例如作为指令控制部21、快闪转译层(FTL)22等发挥功能。
指令控制部21执行用来对从主机2接收的如所述的各种指令进行处理的指令处理。
快闪转译层22执行NAND型闪速存储器5的数据管理及区块管理。
数据管理例如包含表示各逻辑地址与NAND型闪速存储器5的各物理地址之间的对应关系的映射信息的管理等。此处,逻辑地址是为了对SSD3进行地址指定而被主机2使用的地址。作为该逻辑地址,例如使用逻辑区块地址(LBA)。
各逻辑区块地址(LBA)与各物理地址之间的映射的管理是使用作为地址转换表(逻辑物理地址转换表)发挥功能的查找表23来执行。控制器4使用查找表23,以特定的管理尺寸单位对各LBA与各物理地址之间的映射进行管理。与某一LBA对应的物理地址表示写入了该LBA的数据的NAND型闪速存储器5内的物理存储位置。此外,查找表23在SSD3的电源接通时能够从NAND型闪速存储器5下载至DRAM6中。
指令控制部21例如在接收到读取指令的情况下,基于与逻辑地址(LBA)对应的查找表23的条目,求出与LBA对应的物理地址,并从NAND型闪速存储器5读出与读取指令对应的数据。
另外,指令控制部21例如在接收到写入指令的情况下,根据该写入指令将从主机2接收到的数据储存在DRAM6上的缓冲器中。进而,指令控制部21通过向NAND型闪速存储器5的芯片发送编程指令,而针对该芯片,将储存在缓冲器中的数据编程至写入目标区块。
另一方面,区块管理例如包含垃圾回收(GC)、耗损平均等。
垃圾回收控制部24执行垃圾回收(GC)。此处,GC是为了生成作为数据的写入目标区块的闲置区块而执行的处理。更具体来说,垃圾回收控制部24从已经完成写入的区块(主动区块)选择GC源区块,从GC源区块收集有效数据,将其写入至区块(GC目的地区块)中,并将原本储存着有效数据的区块设为闲置区块。
耗损平均控制部25执行耗损平均。耗损平均是使区块的删除次数平准化的处理。尤其是能够通过防止产生删除次数较多的区块来降低SSD3的故障概率。
NAND控制部26执行所述NAND接口13的控制。
性能控制部30执行SSD3的性能调整处理。更具体来说,性能控制部30例如判定是否根据来自主机2的通知执行性能调整处理。在执行性能调整处理的情况下,性能控制部30在SSD3的性能调整幅度的范围内提高或降低针对请求的响应性能。
性能控制部30在执行性能调整处理时,算出从主机2接收请求后至向主机2发送响应之前的响应时间(以下,设为响应时间)。另外,性能控制部30优选预先算出尽最大能力对请求进行处理的情况下所花费的处理时间(以下,设为请求处理时间)。
性能控制部30在该响应时间比请求处理时间长的情况下,算出作为该响应时间与请求处理时间的差的闲置时间。在此情况下,性能控制部30尽最大能力对请求进行处理,且执行在闲置时间内完成的处理(例如,所述GC、耗损平均等)。
另外,在此情况下,性能控制部30例如也能够以使用闲置时间(使用响应时间)完成请求的处理的方式降低与请求对应的响应性能。作为降低针对请求的响应性能的例子,例如可以列举减少NAND存取的并列数等。所谓NAND存取的并列数,表示能够从控制器4对NAND型闪速存储器5并列存取的通道数量。越是增加该NAND存取的并列数,对NAND型闪速存储器5的存取速度越高。例如,NAND存取的并列数为16通道的情况下的存取速度与NAND存取的并列数为8通道的情况下相比大致成为2倍。
性能控制部30也可以管理SSD3中的性能调整状态并通知给主机2。使用图5在下文中对SSD3的性能调整状态的管理进行说明。
接着,对主机2的构成进行说明。主机2具有用来对作为DAS而连接的SSD3进行存取的功能。另外,主机2也可以具有用来对网络(cloud)上的储存器进行存取的功能。
主机2执行各种程序。通过信息处理装置而执行的程序中包含文档系统41、操作系统(OS)42、应用程序层43等。
文档系统41用来进行用于文档的操作(制作、保存、更新、删除等)的控制。例如,可以将ZFS、Btrfs、XFS、ext4、NTFS等用作文档系统41。或者,也可以将文档目标系统(例如Ceph Object Storage Daemon)、Key Value Store System(键值存储系统)(例如RocksDB)用作文档系统41。
如通常所知,操作系统(OS)42是以如下方式构成的软件:对主机2整体进行管理,控制主机2内的硬件,执行用来使应用程序能够使用硬件及SSD3的控制。
操作系统42例如包含进程管理部51、硬件资源管理部52等。
进程管理部51对在操作系统42上动作的各种进程的状态进行管理。
硬件资源管理部52对主机2内的硬件资源的状态进行管理。作为主机2所具有的硬件资源的例子,例如可以列举CPU(Central Processing Unit)、各种储存器、存储器、网络等。
在应用程序层43上执行各种应用程序软件线程。作为应用程序软件线程的例子,有用户端软件、数据库软件、假想设备等。
在应用程序层43向SSD3发送请求时,应用程序层43首先向OS42发送该请求。OS42将该请求发送至文档系统41。文档系统41将该请求转换成指令(例如,读取指令、写入指令等)。文档系统41将指令发送至SSD3。在接收到来自SSD3的响应时,文档系统41将该响应发送至OS42。OS42将该响应发送至应用程序层43。
应用程序层43包含I/O特性掌握部431。I/O特性掌握部431监视在各进程中使用的硬件的状态,并判定I/O等待是否为瓶颈。
I/O特性掌握部431掌握由进程管理部51管理的各进程的I/O特性,并决定SSD3是否进行性能调整。并且,在主机2向SSD3发送请求时,通过发送基于该决定的与SSD3的性能调整相关的通知来指示SSD3进行性能调整。此外,与该性能调整相关的通知的详细内容使用图4在下文中进行叙述。
I/O特性掌握部431例如根据下述第1或第2观点掌握各进程的I/O特性。在第1观点中,I/O特性掌握部431基于发送了I/O请求的单一进程的状态、种类等判定该进程的I/O特性。也就是说,I/O特性掌握部431判定所发送的I/O请求在执行该进程时是否为瓶颈。
具体来说,例如在进程为动画播放的情况下,动画播放中的I/O请求是以用以快取动画数据的读取请求的情况较多。因此,也可以判定为该I/O请求无需尽最大能力的响应。
另一方面,在第2观点中,I/O特性掌握部431基于其它硬件资源的使用率等判定发送I/O请求的进程的I/O特性。
具体来说,例如于在整个主机2中CPU资源的使用率高、在发送I/O请求的进程中CPU资源也成为瓶颈的情况下,I/O特性掌握部431也可以判定为该I/O请求无需尽最大能力的响应。
换言之,根据第2观点,I/O特性掌握部431不仅能够基于发送了I/O请求的单一进程掌握该进程的I/O特性,也能够基于其它多个进程的执行状态掌握该进程的I/O特性。
此外,I/O特性掌握部431也可以从SSD3获取性能调整状态。I/O特性掌握部431例如也可以基于所获取的性能调整状态,决定此后的与SSD3的性能调整相关的通知内容。
图2及图3是表示比较例的计算机系统1A中的主机2A与SSD3A之间的请求及响应的例的图。
如图2所示,在比较例的计算机系统1A中,主机2A对SSD3A发送例如包含读取指令、写入指令等的请求,并发送至SSD3A(箭头A1)。SSD3A尽最大能力对接收到的请求进行处理。并且,SSD3A对主机2A发送针对该请求的响应(箭头A2)。
也就是说,在比较例的计算机系统1A中,无论在发送该请求的进程中I/O等待是否为瓶颈,均在大致相同的时间内从SSD3A发送响应。
如图3所示,在比较例的计算机系统1A中,主机2A于在对从SSD3A接收到的响应进行确认后后续不存在依赖SSD3A的处理的情况下,对SSD3A发送休眠指令(箭头A3)。SSD3A对主机2A发送休眠完成通知(箭头A4),并转变成低耗电模式。如上所述,在比较例的计算机系统1A中,主机2A是以若不存在处理对象的请求则将SSD3A转变成低耗电模式的方式进行控制。通过将SSD3A转变成低耗电模式,能够限制用于SSD3A之后台处理即NAND型闪速存储器的区块管理的处理(例如,耗损平均、GC等)的执行。
图4是表示与本实施方式的性能调整相关的属性信息的一例的图。
与性能调整相关的属性信息例如为2比特的信息。该属性信息如上所述,与从主机2发送至SSD3的请求一并通知给SSD3。SSD3基于所接收到的属性信息,决定要执行的性能调整处理的内容。
例如,在属性信息为“00”的情况下,表示主机2要求SSD3以最高的响应性能(即最佳性能)进行请求的处理。在属性信息为“01”的情况下,表示主机2要求SSD3维持当前的响应性能。在属性信息为“10”的情况下,表示由于在发送了请求的进程中产生I/O等待(I/O瓶颈),因此主机2要求SSD3提高响应性能。在属性信息为“11”的情况下,表示由于产生其它资源等待(并非I/O瓶颈),因此主机2要求SSD3降低响应性能。
此外,该属性信息例如也可以使用NVMe标准所规定的读取指令或写入指令的预约区域的一部分来实现。
另外,该属性信息例如可以为表示性能调整的启动或关闭的1比特的信息,也可以为更细致地体现出性能调整的内容的3比特以上的信息。在属性信息的比特数多的情况下,例如可以对如上所述般使响应性能提高或降低的要求附加与响应性能的调整比率相关的信息。所谓与响应性能的调整比率相关的信息,例如是将响应性能从尽最大能力降低多少或使响应性能比当前提高多少等。由此,SSD3能够更细致地执行性能调整。
图5是表示对本实施方式的SSD3的性能调整状态进行管理的表TB1的一例的图。
SSD3的性能控制部30例如使用表TB1对性能调整状态进行管理。表TB1例如可以存储最新的请求处理中的性能调整状态,或也可以存储过去数次请求处理中的性能调整状态。表TB1例如储存在DRAM6等中。
表TB1将存取类别101、请求处理时间102、调整状态103等建立关联后进行管理。
存取类别101表示请求中所包含的指令的种类。请求处理时间102表示各存取类别101的指令处理所花费的时间。
调整状态103是表示各存取类别101的处理例如从尽最大能力性能调整了多少的信息。
例如,表TB1示出4KiB随机读取的请求处理时间102为x1[us]。另外,表TB1示出4KiB随机读取以从尽最大能力的状态使响应性能降低z1[%]的方式进行调整。
另外,优选在SSD3中预先设定能够进行性能调整的调整幅度。该调整幅度例如能够根据NVMe标准的Set Features(设定特征)指令等进行设定。
性能控制部30基于表TB1中所管理的请求处理时间102与该调整幅度,算出针对当前请求的响应时间。
图6是表示本实施方式的计算机系统中的性能调整处理的一例的流程图。在图6中,在主机2中,对SSD3进行需要存取的进程。
在步骤S101中,主机2对SSD3发送I/O请求。该I/O请求是通过处理对象的进程的指示来执行。
在步骤S102中,主机2的I/O特性掌握部431确认处理对象的进程是否为I/O瓶颈。在处理对象的进程并非为I/O瓶颈的情况下,处理前进至步骤S103。另一方面,在处理对象的进程为I/O瓶颈的情况下,处理前进至步骤S108。
在步骤S103中,主机2通知SSD3并非为I/O瓶颈。更具体来说,主机2通过设为与性能调整相关的属性信息“11”,且对在步骤S101中发送的I/O请求附加该属性信息,来通知SSD3进行性能调整。
步骤S104及步骤S105是针对SSD3所接收到的I/O请求降低响应性能的处理。在步骤S104中,性能控制部30基于从主机2接收到的性能调整的通知算出闲置时间。在步骤S105中,性能控制部30选择并执行能够在所算出的闲置时间内进行处理之后台处理。此外,性能控制部30也能够以使用闲置时间(响应时间)完成请求的处理的方式降低请求的响应性能。
在步骤S106中,SSD3对主机2发送已处理过之针对请求的响应。
在步骤S107中,性能控制部30在对性能调整状态进行管理的表TB1中记录请求处理所花的时间、调整状态等。
步骤S108~S112是提高SSD3的响应性能的处理。
在步骤S108中,主机2通知SSD3并非为I/O瓶颈。更具体来说,主机2对在步骤S101中发送的I/O请求附加与性能调整相关的属性信息“10”。
在步骤S109中,性能控制部30确认是否已经执行使响应性能降低的处理。更具体来说,性能控制部30通过读出表TB1的调整状态103,来判定例如使请求处理的性能从尽最大能力降低了多少。
在执行了使响应性能降低的处理的情况下,在步骤S110中,性能控制部30执行使响应性能提高的处理。更具体来说,性能控制部30例如可以特定比率减少闲置时间,或也可以增加NAND并列数来缩短响应时间。
另一方面,在步骤S109中,在未执行使响应性能降低的处理的情况下,由于SSD3已经尽最大能力动作,因此无法进行使响应性能提高的处理(步骤S110)。
步骤S111、S112的处理与步骤S106、S107的处理相同,因此省略说明。
图7是表示本实施方式的计算机系统中的性能调整处理的一例的时序图。在图7中,横轴表示时间。
首先,主机2对SSD3发送I/O请求。SSD3在时刻T1,开始进行所接收到的I/O请求中所包含的指令处理。SSD3尽最大能力执行该指令处理,并在时间ΔTA后完成处理。其后,SSD3对主机2发送响应。
主机2从时刻T2执行例如CPU待机进程。其后,对SSD3一并发送旨在并非为I/O瓶颈的通知及I/O请求。
SSD3的性能控制部30基于所接收到的该通知使SSD3的响应性能降低。具体来说,性能控制部30算出闲置时间ΔTb。接下来,SSD3例如尽最大能力执行从时刻T3接收到的请求中所包含的指令处理,并在其后的闲置时间ΔTb内执行GC。其后,SSD3对主机2发送响应。此外,指令处理时间ΔTA与闲置时间ΔTb的和成为针对该I/O请求的响应时间ΔTB。
主机2从时刻T4例如进而执行CPU待机进程。其后,对SSD3一并发送旨在并非为I/O瓶颈的通知及I/O请求。
SSD3的性能控制部30基于所接收到的该通知,进而使SSD3的响应性能降低。在图7的例中,性能控制部30算出闲置时间并且算出响应时间ΔTC。接下来,性能控制部30从时刻T5执行所接收到的I/O请求中所包含的指令处理,并以指令处理时间成为该响应时间ΔTC的方式减少例如NAND存取的并列数。其后,SSD3对主机2发送响应。
在以上所说明的本实施方式中,主机2在某一进程并非为I/O瓶颈的情况下,对SSD3发送I/O请求以及旨在并非为I/O瓶颈的通知。SSD3基于该通知,使SSD3的响应性能降低。由此,不降低主机2的使用者的体感性能便能够执行SSD3的性能调整。
另外,SSD3每当因该性能调整产生闲置时间时,使用闲置时间执行耗损平均、GC等区块管理。因此,由于在SSD3中维持完成区块管理的状态,因此与例如集中进行区块管理的情况时相比,能够恒常提高响应性能。更具体来说,能够避免因在SSD3内部产生的区块管理的请求增加而导致来自主机2的请求受到限制的状态。因此,例如能够防止来自SSD3的响应在主机2并无意图的时序突然延迟。
另外,主机2在因性能调整而延迟的时序接收针对该I/O请求的响应。主机2对成为该进程的瓶颈的资源再次进行确认。此处,在尚未产生I/O等待的情况下,进而将并非为I/O瓶颈的主旨通知给SSD3。由此,主机2能够连续地执行SSD3的性能调整。
另外,定期地执行所述区块管理也有助于SSD3的恒常的波峰功率的抑制。
在本实施方式中,SSD3通过使使用闲置时间而执行的处理的内容变化,能够温和地改善处理速度以外的SSD3的响应性能。例如,在SSD3的响应性能降低的情况下,通过使用闲置时间执行区块管理来改善响应性能。另外,在SSD3的耗电高的情况下,为了使用闲置时间(响应时间)执行请求的处理,能够通过减少NAND存取的并列数来暂时降低耗电。
在本实施方式中,主机2利用读取指令或写入指令的预约区域将与性能调整相关的属性信息通知给SSD3。也就是说,主机2能够利用已有接口将该属性信息通知给SSD3,因此能够确保计算机系统1的使用者的方便性。
在本实施方式中,主机2基于1个以上的硬件资源的使用率等判定某一进程的I/O特性。也就是说,由于能够进行将多个进程的执行状态考虑在内的I/O特性的判定,因此I/O特性的判定精度提高。
此外,在本实施方式中,对SSD3对从主机2接收到的单一I/O请求执行性能调整进行了说明。然而,SSD3也可以对多个I/O请求执行性能调整。由此,SSD3能够进行获取多个请求作为1个交易的性能调整,因此能够获得更多的闲置时间。
例如,在从SSD3读出动画数据的情况下,从主机2向SSD3发送复数次读取请求。SSD3例如将多个读取请求作为一系列存取序列集中在表TB1中进行管理。由此,SSD3能够集中获得多个读取请求量的闲置时间。
[第2实施方式]
本实施方式是第1实施方式的变化例。在第1实施方式中,对应用程序层43的I/O特性掌握部431决定是否对某一进程进行性能调整进行了说明。另一方面,在本实施方式中,操作系统42对进程进行分组,并针对各进程组决定性能特性。
图8是表示本实施方式的主机2中的进程管理处理的一例的流程图。另外,图9是表示本实施方式的进程组的一例的图。此外,在本实施方式中,由于进程管理部51以外的计算机系统1的构成与第1实施方式相同,因此省略说明。
在步骤S301中,主机2的进程管理部51根据各性能特性对各进程进行分组。
更具体来说,进程管理部51例如如图9所示,对多个进程组进行管理。例如,进程组G1对I/O为瓶颈的进程(例如进程A、B)进行管理,进程组G2对其它硬件资源为瓶颈的进程(例如进程C、D)进行管理。
通过生成此种进程组,例如在主机2对CPU为瓶颈的进程组中所包含的进程进行处理时,能够掌握对SSD3进行性能调整。另外,例如在主机2对I/O为瓶颈的进程组中所包含的进程进行处理时,能够掌握不对SSD3进行性能调整(即要求尽最大能力进行处理)。
此外,进程管理部51例如能够根据各进程的性能特性的变化变更各进程所属的进程组。
在步骤S302中,进程管理部51基于与步骤S301中所获得的各进程组的性能特性相关的信息,决定发送I/O请求的进程的I/O特性。
在步骤S303中,进程管理部51将I/O请求通知给SSD3,并且基于所决定的I/O特性通知有无I/O瓶颈产生。SSD3接收该通知并进行性能调整。关于性能调整处理,由于与利用图6在上文中说明的处理相同,因此省略说明。
在步骤S304中,进程管理部51视需要变更各进程所属的进程组。
如以上说明所述,在本实施方式中,操作系统42通过根据各进程的性能特性生成进程组而对各进程进行管理。由此,在主机2中无需用于针对各进程掌握I/O特性的处理,因此主机2的处理负荷降低。
[第3实施方式]
本实施方式是第2实施方式的变化例。在本实施方式中,除第2实施方式以外,也将需要性能调整的进程预先从主机2通知给SSD3。SSD3依据主机2的指示,存储表示各进程的响应性能的调整值的信息。该信息例如是以表形式表示。SSD3针对与通过该表而管理的进程相关的请求,基于该表所记载的调整值对响应性能进行调整。关于由SSD3执行的性能调整处理,由于与利用图6在上文中说明的处理相同,因此省略说明。
此外,由于本实施方式的计算机系统1的构成与第1实施方式相同,因此省略说明。
图10是表示对本实施方式的各进程的性能调整进行管理的表TB2的一例的图。
表TB2将进程ID(Identification,标识)201及调整值202等建立关联后进行管理。
进程ID201是能够对进程进行特定的信息,例如是分配至各进程的ID编号。进程ID例如也可为进程名等。
调整值202是表示将响应性能降低多少后对与进程相关的请求进行处理的数值。换言之,调整值202表示各进程所期待的动作性能。例如,在图10的例中,示出SSD3尽最大能力对与进程ID1相关的请求进行处理,且示出以尽最大能力的90%的响应性能对与进程ID2相关的请求进行处理。
表TB2中所包含的内容优选能够温和地变更。例如,也能够根据来自主机2的指示或性能控制部30的指示等进行表TB2中所包含的内容的变更、更新、删除等。
此外,在主机2将进程ID通知给SSD3时,例如也可以使用NVMe标准所规定的读取指令或写入指令的预约区域的一部分。
如以上说明所述,在本实施方式中,在SSD3内部存储着对进行性能调整的各进程的动作性能的调整值进行管理的表。由此,在SSD3中,能够进行各进程ID的细微的性能调整。
此外,表TB2也可以通过能够将请求与调整值202建立关联的其它形态表现。例如,表TB2也可以将数据的类别ID与调整值建立关联后进行管理。更具体来说,表TB2例如可以示出尽最大能力对元数据进行处理,且示出如果为动画数据那么以尽最大能力的90%的响应性能进行处理。
在本实施方式中,SSD3例如可以根据来自主机2的要求,将各请求的性能调整后的处理时间发送至主机2。性能调整后的处理时间例如可以为记录在表TB1中的处理时间,或也可以为根据过去的执行经历假定的处理时间。另外,SSD3也可以在从主机2接收到该要求的时序,将在SSD3内部并列处理的处理量、剩余容量等与所假定的处理时间相加。主机2可以基于从SSD3发送来的处理时间决定所述调整值202。
已对本发明的若干实施方式进行了说明,但这些实施方式是作为例子而提出,并无意图限定发明的范围。这些新颖的实施方式能够以其它各种形态加以实施,且能够在不脱离发明主旨的范围内进行各种省略、替换、变更。这些实施方式或其变化包含在发明的范围或主旨中,并且包含在权利要求书所记载的发明与其均等的范围内。
[符号的说明]
1 计算机系统
2 主机
3 SSD
4 控制器
5 NAND型闪速存储器
6 DRAM
10 总线
11 主机接口
12 CPU
13 NAND接口
14 DRAM接口
21 指令控制部
22 FTL
23 查找表
24 垃圾回收控制部
25 耗损平均控制部
26 NAND控制部
30 性能控制部
41 文档系统
42 操作系统
43 应用程序层
51 进程管理部
52 硬件资源管理部
431 I/O特性掌握部
B0~Bm-1 区块
P0~Pn-1 页

Claims (10)

1.一种存储装置,其特征在于:能够经由接口与主机连接,且具备:
非易失性存储器,包含1个以上的区块;以及控制器,电连接在所述非易失性存储器;
所述控制器以如下方式构成:
在从所述主机接收到请求及旨在使所述请求的响应性能降低的通知的情况下,决定比所述请求的处理时间长的响应时间,并执行第1性能降低处理或第2性能降低处理,所述第1性能降低处理使用作为所述响应时间与所述处理时间的差的第1时间执行所述非易失性存储器的区块管理处理,所述第2性能降低处理使用所述响应时间对所述请求进行处理。
2.根据权利要求1所述的存储装置,其特征在于:所述控制器基于表示所述响应性能的调整幅度的第1信息决定所述响应时间。
3.根据权利要求2所述的存储装置,其特征在于:所述控制器基于所述第1信息及表示所述处理时间与所述响应性能的调整状态的第2信息决定所述响应时间。
4.根据权利要求1至3中任一项所述的存储装置,其特征在于:所述第2性能降低处理是减少针对所述非易失性存储器的存取的并列数的处理。
5.根据权利要求1至3中任一项所述的存储装置,其特征在于:所述区块管理处理包含耗损平均或垃圾回收。
6.一种信息处理系统,其特征在于具备:
主机;以及
存储装置;且
所述主机根据各性能特性将所述主机执行的多个进程分为各组进行管理,并针对所述各组决定发送请求的进程的I/O特性,
基于所述I/O特性,对所述存储装置发送是否降低针对所述请求的响应性能的通知。
7.一种信息处理系统,其特征在于具备:
主机,包含硬件资源;以及
存储装置;且
所述主机基于所述硬件资源的使用率决定发送请求的进程的I/O特性,
并基于所述I/O特性,对所述存储装置发送是否降低针对所述请求的响应性能的通知。
8.一种存储装置,其特征在于:能够经由接口与主机连接,且具备:
非易失性存储器,包含1个以上的区块;以及控制器,电连接在所述非易失性存储器;
所述控制器以如下方式构成:存储表示从所述主机接收的各请求的响应性能的调整值的信息,基于所述信息决定针对从所述主机接收到的请求的响应时间,并执行第1性能降低处理或第2性能降低处理,所述第1性能降低处理使用作为所述响应时间与所述接收到的请求的处理时间的差的第1时间执行所述非易失性存储器的区块管理处理,所述第2性能降低处理使用所述响应时间对所述接收到的请求进行处理。
9.根据权利要求8所述的存储装置,其特征在于:所述第2性能降低处理是减少针对所述非易失性存储器的存取的并列数的处理。
10.根据权利要求8或9所述的存储装置,其特征在于:所述区块管理处理包含耗损平均或垃圾回收。
CN201910143422.7A 2018-09-14 2019-02-26 存储装置及信息处理系统 Active CN110908595B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-172756 2018-09-14
JP2018172756A JP2020046752A (ja) 2018-09-14 2018-09-14 記憶装置及び情報処理システム

Publications (2)

Publication Number Publication Date
CN110908595A true CN110908595A (zh) 2020-03-24
CN110908595B CN110908595B (zh) 2023-12-01

Family

ID=69772935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910143422.7A Active CN110908595B (zh) 2018-09-14 2019-02-26 存储装置及信息处理系统

Country Status (4)

Country Link
US (1) US11307797B2 (zh)
JP (1) JP2020046752A (zh)
CN (1) CN110908595B (zh)
TW (1) TWI722392B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003384B2 (en) 2019-08-30 2021-05-11 Micron Technology, Inc. Scheduling media management operations based on determined host system usage requirements
US11301132B2 (en) * 2019-08-30 2022-04-12 Micron Technology, Inc. Scheduling media management operations based on provided host system usage requirements

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131814A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd ディスクアレイシステム
US20120102263A1 (en) * 2010-10-25 2012-04-26 Fastor Systems, Inc. Solid State Drive Architecture
CN106909314A (zh) * 2015-12-22 2017-06-30 株式会社东芝 存储器系统及控制方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924428A (en) * 1987-12-08 1990-05-08 Northern Telecom Limited Real time digital signal processor idle indicator
US5856786A (en) * 1997-03-05 1999-01-05 Northrop Grumman Corporation Adaptive sleep circuit using network timing feedback
US5995997A (en) * 1997-05-02 1999-11-30 Microsoft Corporation Apparatus and methods for optimally allocating currently available computer resources to future task instances versus continued execution of current task instances
US6009452A (en) * 1997-05-02 1999-12-28 Microsoft Corporation Apparatus and methods for optimally using available computer resources for task execution during idle-time based on probabilistic assessment of future task instances
US5784616A (en) * 1997-05-02 1998-07-21 Microsoft Corporation Apparatus and methods for optimally using available computer resources for task execution during idle-time for future task instances exhibiting incremental value with computation
US6160848A (en) 1998-01-22 2000-12-12 International Business Machines Corp. Conditional replenishment device for a video encoder
US7050203B2 (en) * 2001-06-08 2006-05-23 Kabushiki Kaisha Toshiba Composite apparatus and method for controlling entering of the sleep state
JP4841070B2 (ja) * 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
KR101087868B1 (ko) * 2004-01-07 2011-11-30 파나소닉 주식회사 서버, 단말장치, 기기등록시스템, 등록방법 및 기록매체
US20050223385A1 (en) * 2004-03-31 2005-10-06 Christof Braun Method and structure for explicit software control of execution of a thread including a helper subthread
JP4672282B2 (ja) 2004-05-07 2011-04-20 株式会社日立製作所 情報処理装置、及び情報処理装置の制御方法
US8443373B2 (en) * 2010-01-26 2013-05-14 Microsoft Corporation Efficient utilization of idle resources in a resource manager
KR101702392B1 (ko) * 2010-08-20 2017-02-06 삼성전자주식회사 반도체 저장 장치 및 상기 반도체 저장 장치의 성능 조절 방법
KR101861184B1 (ko) * 2011-11-02 2018-05-28 삼성전자주식회사 스토리지의 동작 성능 조절방법 및 그에 따른 반도체 저장장치
US9285858B2 (en) * 2013-01-29 2016-03-15 Blackberry Limited Methods for monitoring and adjusting performance of a mobile computing device
US20140359196A1 (en) * 2013-05-31 2014-12-04 Daniel J. Ragland On-the-fly performance adjustment for solid state storage devices
KR20150068747A (ko) * 2013-12-12 2015-06-22 삼성전자주식회사 비휘발성 메모리 시스템, 이를 포함하는 모바일 장치 및 비휘발성 메모리 시스템의 동작방법
US9727248B2 (en) * 2014-02-05 2017-08-08 Apple Inc. Dynamic IO operation timeout assignment for a solid state drive
US9400654B2 (en) * 2014-06-27 2016-07-26 Freescale Semiconductor, Inc. System on a chip with managing processor and method therefor
KR102291803B1 (ko) * 2015-04-07 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법, 및 그것을 포함하는 사용자 시스템의 동작 방법
US9934151B2 (en) * 2016-06-28 2018-04-03 Dell Products, Lp System and method for dynamic optimization for burst and sustained performance in solid state drives
US10235178B2 (en) * 2017-06-02 2019-03-19 Microsoft Technology Licensing, Llc Performance scaling for binary translation
US10929285B2 (en) * 2018-02-27 2021-02-23 Western Digital Technologies, Inc. Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer
KR20200016075A (ko) * 2018-08-06 2020-02-14 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131814A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd ディスクアレイシステム
US20120102263A1 (en) * 2010-10-25 2012-04-26 Fastor Systems, Inc. Solid State Drive Architecture
CN106909314A (zh) * 2015-12-22 2017-06-30 株式会社东芝 存储器系统及控制方法

Also Published As

Publication number Publication date
US11307797B2 (en) 2022-04-19
CN110908595B (zh) 2023-12-01
US20200089428A1 (en) 2020-03-19
JP2020046752A (ja) 2020-03-26
TW202011197A (zh) 2020-03-16
TWI722392B (zh) 2021-03-21

Similar Documents

Publication Publication Date Title
US10592117B2 (en) Memory system and method for controlling nonvolatile memory
US10789162B2 (en) Memory system and method for controlling nonvolatile memory
US11023371B2 (en) Memory system and method for controlling nonvolatile memory
CN106874211B (zh) 存储器系统及非易失性存储器的控制方法
US10871920B2 (en) Storage device and computer system
US10209894B2 (en) Memory system and method for controlling nonvolatile memory
US20130212319A1 (en) Memory system and method of controlling memory system
JP6139381B2 (ja) メモリシステムおよび方法
KR20090109959A (ko) 스토리지 장치
US11747979B2 (en) Electronic device, computer system, and control method
US10936203B2 (en) Memory storage device and system employing nonvolatile read/write buffers
CN110908595B (zh) 存储装置及信息处理系统
KR101549569B1 (ko) 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치
US10365857B2 (en) Memory system
US20220300185A1 (en) Storage device, storage system, and control method
JP6721765B2 (ja) メモリシステムおよび制御方法
JP2022111330A (ja) メモリシステムおよび制御方法
KR20220005285A (ko) 데이터 저장 장치 및 그 동작 방법

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.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant