CN106909314B - 存储器系统及控制方法 - Google Patents

存储器系统及控制方法 Download PDF

Info

Publication number
CN106909314B
CN106909314B CN201610318752.1A CN201610318752A CN106909314B CN 106909314 B CN106909314 B CN 106909314B CN 201610318752 A CN201610318752 A CN 201610318752A CN 106909314 B CN106909314 B CN 106909314B
Authority
CN
China
Prior art keywords
write
ssd
performance
host
data
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
CN201610318752.1A
Other languages
English (en)
Other versions
CN106909314A (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
Asahi 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 Asahi Co Ltd filed Critical Asahi Co Ltd
Publication of CN106909314A publication Critical patent/CN106909314A/zh
Application granted granted Critical
Publication of CN106909314B publication Critical patent/CN106909314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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
    • 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/0625Power saving in 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage 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/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/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/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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施方式提供一种能够与其他装置协调动作的存储器系统及控制方法。根据实施方式,能够作为存储阵列内的一个半导体存储装置动作的存储器系统具备非易失性存储器及控制器,所述控制器以执行将从主机接收的数据写入到所述非易失性存储器的写入动作的方式构成。所述控制器从所述主机或所述存储阵列内的其他半导体存储装置,接收所述其他半导体存储装置的写入性能降低的通知。所述控制器基于由所述接收到的通知指定的所述其他半导体存储装置的所述写入性能的降低量,使所述写入动作的性能降低。

Description

存储器系统及控制方法
[相关申请]
本申请享有以日本专利申请2015-249554号(申请日:2015年12月22日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及一种非易失性存储器及控制方法。
背景技术
近年来,具备非易失性存储器的存储器系统已广泛普及。
作为这种存储器系统之一,已知有基于NAND(Not And,与非)闪存技术的固态驱动器(SSD,Solid State Drive)。
SSD具有耗电低、性能高等特征,因此被用作各种计算机的主存储器。
而且,还开发了利用多个SSD以获得更高性能、更大容量的阵列技术。
为使SSD的阵列效率良好地动作,而期望使阵列内的多个SSD协调动作。因此,要求实现该协调动作所需的新功能。
发明内容
本发明的实施方式提供一种能够与其他装置协调动作的存储器系统及控制方法。
根据实施方式,能够作为使数据跨及多个半导体存储装置分散的存储阵列内的一个半导体存储装置动作的存储器系统具备:非易失性存储器;以及控制器,以电连接于所述非易失性存储器,执行将从主机接收的数据写入到所述非易失性存储器的写入动作的方式构成。所述控制器从所述主机或所述存储阵列内的其他半导体存储装置,接收所述其他半导体存储装置的写入性能降低的通知。所述控制器基于由所述接收到的通知指定的所述其他半导体存储装置的所述写入性能的降低量,使所述写入动作的性能降低。
附图说明
图1是说明包含应用实施方式的存储器系统的存储阵列的信息处理系统的构成例的框图。
图2是说明包含应用实施方式的存储器系统的存储阵列的信息处理系统的另一构成例的框图。
图3是应用实施方式的存储器系统的存储阵列的写入动作的示例的说明图。
图4是存储阵列内的某个SSD的写入性能降低时的存储阵列的写入动作的说明图。
图5是在存储阵列内的某个SSD的写入性能降低期间内由其他SSD执行的垃圾回收(GC)动作的说明图。
图6是在存储阵列内的某个SSD的写入性能降低期间内由其他SSD执行的写入动作及GC动作的说明图。
图7是在存储阵列内的某个SSD的写入性能降低期间内由其他SSD执行的调节动作的说明图。
图8是说明作为送出侧SSD发挥功能的存储器系统的构成例的框图。
图9是由作为送出侧SSD发挥功能的存储器系统执行的依次分配空闲块以用于写入来自主机的数据的动作的说明图。
图10是由作为送出侧SSD发挥功能的存储器系统执行的垃圾回收动作的说明图。
图11是作为送出侧SSD发挥功能的存储器系统内的NAND接口与多个NAND存储芯片的关系的说明图。
图12是由作为送出侧SSD发挥功能的存储器系统执行的占空比控制动作的说明图。
图13是由作为送出侧SSD发挥功能的存储器系统执行的性能降低通知处理的示例的说明图。
图14是由作为送出侧SSD发挥功能的存储器系统执行的性能降低通知处理的另一例的说明图。
图15是说明由作为送出侧SSD发挥功能的存储器系统执行的GC动作及性能降低通知处理的次序的流程图。
图16是说明由作为送出侧SSD发挥功能的存储器系统执行的热调节动作及性能降低通知处理的次序的流程图。
图17是说明由作为送出侧SSD发挥功能的存储器系统执行的电力限制调节动作及性能降低通知处理的次序的流程图。
图18是说明作为接收侧SSD发挥功能的存储器系统的构成例的框图。
图19是说明当已接收到性能降低通知时,由作为接收侧SSD发挥功能的存储器系统执行的写入性能降低处理的次序的流程图。
图20是说明当已接收到性能降低通知时,由作为接收侧SSD发挥功能的存储器系统执行的GC动作的次序的流程图。
图21是说明当已接收到性能降低通知时,由作为接收侧SSD发挥功能的存储器系统执行的调节动作的次序的流程图。
图22是说明具有送出侧SSD及接收侧SSD这两个SSD的功能的存储器系统的构成例的框图。
图23是说明主机的构成例的框图。
图24是表示包含该实施方式的存储器系统与主机的计算机的构成例的图。
具体实施方式
以下,参照附图来说明实施方式。
首先,参照图1,说明包含一实施方式的存储器系统的信息处理系统1的构成。
该存储器系统是以将数据写入非易失性存储器,并从非易失性存储器读取数据的方式构成的半导体存储装置。该存储器系统例如作为基于NAND闪存技术的固态驱动器(SSD)3而实现。
信息处理系统1包括主机(主机装置)2及包含多个半导体存储装置(SSD)的存储阵列(SSD阵列)。该SSD阵列也可以由例如RAID等级0、RAID等级5、RAID等级6这样的RAID阵列而实现。
本实施方式的SSD3能够作为SSD阵列内的一个半导体存储装置(SSD)发挥功能。可以用本实施方式的SSD3只实现SSD阵列内的一个SSD,也可以用本实施方式的SSD3实现SSD阵列内的所有SSD。图1中,例示了SSD阵列内的所有SSD由本实施方式的SSD3实现的情况。
该SSD阵列中,通过条带化(striping)将数据跨及多个SSD3而分散。须由主机2写入到SSD阵列的数据被分割成具有某种数据大小的多个数据块,并通过条带化将这些数据块跨及多个SSD3而分散。
在SSD阵列是通过RAID等级5或RAID等级6而实现的情况下,通过条带化将伴有奇偶校验块的数据跨及多个SSD3而分散。
以下,虽未限定,但主要对SSD阵列是与RAID等级0(条带化)对应的RAID阵列的情况进行说明。
图1中,假设SSD阵列由4个SSD3(SSD#1、SSD#2、SSD#3、SSD#4)构成的情况。
须由主机2写入到SSD阵列的数据被分割成4个数据块“Data#1”、“Data#2”、“Data#3”、“Data#4”。然后,将这些数据块“Data#1”、“Data#2”、“Data#3”、“Data#4”从主机2发送到SSD#1、SSD#2、SSD#3、SSD#4,由SSD#1、SSD#2、SSD#3、SSD#4同时执行写入这些数据块“Data#1”、“Data#2”、“Data#3”、“Data#4”的动作。数据块“Data#1”、“Data#2”、“Data#3”、“Data#4”构成一个条带。
如果这4个数据块“Data#1”、“Data#2”、“Data#3”、“Data#4”的写入完成,则将接下来的4个数据块“Data#5”、“Data#6”、“Data#7”、“Data#8”从主机2发送到SSD#1、SSD#2、SSD#3、SSD#4,由SSD#1、SSD#2、SSD#3、SSD#4同时执行写入这些数据块“Data#5”、“Data#6”、“Data#7”、“Data#8”的动作。
主机2是例如服务器、个人计算机等信息处理装置。SSD阵列内的各SSD3可以内置在信息处理装置中,也可以经由缆线或网络而连接于信息处理装置。
作为用来将主机2与各SSD3相互连接的接口,可以使用SCSI(Small ComputerSystem Interface,小型计算机系统接口)、Serial Attached SCSI(SAS,串行连接SCSI)、ATA(Advanced Technology Attachment,高级技术附件)、Serial ATA(SATA,串行ATA)、PCIExpress(Peripheral ComP0nent Interconnect Express,外围组件互连高速)(PCIe)等。
本实施方式的SSD3可以作为送出侧SSD或接收侧SSD中的至少一个发挥功能。所谓送出侧SSD是指具有将该SSD的写入性能的降低量通知给主机2或SSD阵列内的其他SSD的功能的SSD。所谓接收侧SSD是指具有以下功能的SSD:从送出侧SSD或主机3接收送出侧SSD的写入性能的降低量,基于送出侧SSD的写入性能的降低量使自身的写入性能降低。
有SSD3的写入性能因用来管理SSD3的内部动作而降低的情况。这种内部动作的典型例包含垃圾回收动作、防止SSD3过热的热保护动作(例如热调节)、将SSD3的电力消耗抑制为SSD3所容许的最大电力以下的电力限制动作(例如电力限制调节)等。
所谓SSD3的写入性能是指将从主机2接收的数据写入到SSD3内的非易失性存储器的写入动作的性能。该写入性能也可以由写入吞吐量表示。写入吞吐量表示每单位时间内能够从主机2传输至SSD3的数据量、也就是数据传输率。
现在假设将SSD#2作为送出侧SSD发挥功能的情况。
在假设SSD#2的写入性能(写入吞吐量)因内部动作的开始而降低的情况下,SSD#2基于该内部动作的内容,推断SSD#2的降低后的写入性能,并将SSD#2的写入性能的降低量通知给主机2或SSD阵列内的其他SSD。例如,当推断SSD#2的写入性能从未执行内部动作的正常状态时的写入性能(例如1G字节/秒的传输率)降低至512M字节/秒的传输率的情况下,为使SSD阵列内的所有SSD的写入性能一致为512M字节/秒,SSD#2也可以将表示SSD#2的写入性能降低至512M字节/秒的通知发送给主机2或SSD阵列内的其他各SSD。
从主机2或从送出侧SSD接收到该通知的各SSD(接收侧SSD)能够基于由所接收到的通知指定的写入性能的降低量,而使自身的写入性能降低。
例如,已接收到该通知的各SSD也可以进行用来使自身的写入性能降低至由所接收到的通知指定的降低后的写入性能(此处为512M字节/秒的传输率)的控制。例如,在已接收到该通知的各SSD以1G字节/秒的写入性能进行动作的情况下,这些各SSD也可以通过使自身的写入性能(写入速度)降低至512M字节/秒来降低自身的电力消耗。或者,这些各SSD也可以使自身的写入性能降低至512M字节/秒,并且使用剩下的写入性能(此处为512M字节/秒)提前执行垃圾回收动作。
这样一来,送出侧SSD的通知功能能够将送出侧SSD的写入性能降低的期间有效地利用于其他SSD降低自身的电力消耗或提前执行垃圾回收动作。
作为用来将送出侧SSD的写入性能的降低量通知给主机2的方法,可以使用能够将送出侧SSD的写入性能的降低量报告给主机2的任意方法。例如,当送出侧SSD开始进行内部动作时,送出侧SSD也可以通过向主机2发送中断信号而将送出侧SSD的写入性能的降低量通知给主机2。或者,在具有主机2通过轮询定期读取送出侧SSD的内部寄存器的功能的情况下,送出侧SSD也可以在该内部寄存器中设定送出侧SSD的写入性能的降低量。
从送出侧SSD被通知写入性能的降低量的主机2也可以将该写入性能的降低量发送到SSD阵列内的其他各SSD。或者,从送出侧SSD被通知写入性能的降低量的主机2还可以基于该写入性能的降低量,执行用来使SSD阵列内的其他各SSD的写入性能降低的控制。
送出侧SSD的写入性能的降低量也可以不经由主机2(主机CPU(CentralProcessing Unit,中央处理器))而通知给SSD阵列内的其他各SSD。作为该通知的方法,可以使用能够不经由主机2(例如主机CPU)在SSD间进行通信的任意方法。例如,在SSD阵列内的各SSD经由PCI Express(PCIe)总线电连接于主机2的情况下,也可以经由用来连接PCIe总线间的总线开关执行送出侧SSD与其他各SSD之间的通信(端对端通信)。
或者,如图2所示,在使用经由阵列控制器(例如RAID控制器)2A将各SSD电连接于主机2的阵列构成的实例中,也可以经由阵列控制器2A执行送出侧SSD与其他各SSD之间的通信。
阵列控制器2A执行通过条带化将从主机2接收的写入数据跨及多个SSD3而分散的控制。阵列控制器2A也可以由RAID控制器而实现。
图3表示SSD阵列的写入动作的示例。
此处,假设SSD阵列包含4个SSD#1~#4的情况。
主机2或阵列控制器2A例如将特定大小(例如128K字节)的数据分割成4个数据块(例如各数据块的大小为32K字节),使4个SSD#1~#4并行执行这4个数据块的写入。
例如,在时刻T10,主机2或阵列控制器2A向4个SSD3依次发送写入命令及数据块。这种情况下,128K字节的数据的最先的32K字节的数据块作为写入数据被发送到SSD#1。该128K字节的数据的第二个32K字节的数据块作为写入数据被发送到SSD#2。该128K字节的数据的第三个32K字节的数据块作为写入数据被发送到SSD#3。该128K字节的数据的最后的32K字节的数据块作为写入数据被发送到SSD#4。
SSD#1~#4将接收到的数据块分别写入到SSD#1~#4内的非易失性存储器中。SSD#1~#4的数据写入动作完成后,例如在时刻T11,主机2或阵列控制器2A向4个SSD3依次发送写入命令及下一个128K字节数据内的数据块。这种情况下,下一个128K字节的数据的最先的32K字节的数据块作为写入数据被发送到SSD#1。该128K字节的数据的第二个32K字节的数据块作为写入数据被发送到SSD#2。该128K字节的数据的第三个32K字节的数据块作为写入数据被发送到SSD#3。该128K字节的数据的最后的32K字节的数据块作为写入数据被发送到SSD#4。
图4表示SSD阵列内的某个SSD的写入性能降低时的SSD阵列的写入动作的示例。
图4中,假设因SSD#2的写入性能降低而导致SSD#2的写入动作在所预定的时刻T11未完成的情况。
在时刻T11,主机2或阵列控制器2A可以将下一个128K字节的数据的最初的数据块发送给SSD#1。
但是,由于SSD#2处于写入动作正在进行中的忙碌状态,因此SSD#2无法开始下一次写入动作。即,在SSD#2的当前的写入动作完成之前,等待从主机2或阵列控制器2A向SSD#2发送下一个数据块。该SSD#2成为瓶颈,因此从主机2或阵列控制器2A向SSD#3、SSD#4发送数据块也需要等待。
SSD#2的数据写入动作完成之后,例如在时刻T12,主机2或阵列控制器2A向SSD#2、SSD#3、SSD#4依次发送写入命令及该128K字节的数据内的数据块。该128K字节的数据的第二个32K字节的数据块作为写入数据被发送给SSD#2。该128K字节的数据的第三个32K字节的数据块作为写入数据被发送给SSD#3。该128K字节的数据的最后的32K字节的数据块作为写入数据被发送给SSD#4。
因此,在时刻T11~T12的期间内,SSD#3、SSD#4有可能被维持为无须执行的工作量的空闲状态。
在SSD#4的数据写入动作完成之前,等待从主机2或阵列控制器2A向SSD#1通信下一个数据块。因此,在时刻T12~T13的期间内,SSD#1有可能被维持为空闲状态。
这样一来,SSD阵列全体的写入性能被限制为SSD#2降低后的写入性能。
图5表示在SSD阵列内的SSD#2的写入性能降低期间内由其他SSD执行的垃圾回收(GC)动作。
如上所述,SSD#2能够作为送出侧SSD发挥功能。因此,当SSD#2的写入性能降低时,SSD#2能够将自身的写入性能的降低量通知给主机2或SSD阵列内的其他各SSD。
由此,例如在等待SSD#2的数据写入动作完成的时刻T11~T12的期间内,SSD#1、SSD#3、SSD#4分别可以提前执行垃圾回收(GC)动作。
所谓提前执行垃圾回收(GC)动作是指在剩余空闲块的个数降低至须开始垃圾回收(GC)动作的阈值个数以下之前,开始垃圾回收(GC)动作。由此,能够尽早增加SSD#1、SSD#3、SSD#4各自的空闲块的个数,因此能够延迟SSD#1、SSD#3、SSD#4开始下一个GC动作的时刻。由此,能够延迟因垃圾回收(GC)动作开始而导致SSD#1、SSD#3、SSD#4各自的写入性能降低的时期。
图6表示在SSD阵列内的SSD#2的写入性能降低期间内由其他SSD执行的写入动作及垃圾回收(GC)动作。
图5中,对SSD#1、SSD#3、SSD#4分别在时刻T11~T12的期间内执行垃圾回收(GC)动作的情况进行了说明,但在图6中,SSD#1、SSD#3、SSD#4分别在时刻T10~T12的期间内,并行执行从主机2接收的数据的写入动作及垃圾回收(GC)动作。
例如,在SSD#1~SSD#4以1G字节/秒的写入性能动作的情况下,SSD#2的写入性能降低至512M字节/秒,这种情况下,SSD#1、SSD#3、SSD#4分别能够通过将512M字节/秒的写入性能用于写入从主机2接收的数据并且将剩下的512M字节/秒的写入性能使用于垃圾回收(GC)动作,而并行执行从主机2接收的数据的写入动作及垃圾回收(GC)动作。
图7表示在SSD阵列内的SSD#2的写入性能降低期间内由其他SSD执行的调节动作。
此处,所谓调节动作是指限制写入性能的动作。调节动作的示例如下。
(1)限制被同时驱动(并行动作)的非易失性存储芯片的个数
(2)限制包含第1期间和第2期间的1个周期内的第1期间的比例(占空比),所述第1期间是多个非易失性存储芯片被同时驱动(并行动作)的期间,所述第2期间是多个非易失性存储芯片未被驱动(动作)的期间
(3)限制被同时驱动(并行动作)的非易失性存储芯片的个数,并且限制占空比)
SSD#1、SSD#3、SSD#4分别通过在时刻T10~T12的期间内执行调节动作,而使各自的写入性能降低至与SSD#2降低后的写入性能相同程度的低写入性能。
通常来说,SSD的写入吞吐量越高,SSD的电力消耗越增加。由此,通过降低SSD#1、SSD#3、SSD#4的写入性能,能够减少SSD#1、SSD#3、SSD#4的电力消耗。
这样一来,在本实施方式中,送出侧SSD将表示自身的写入性能的降低量(例如降低后的写入性能)本身的通知而非表示剩余空闲块的个数等的信息发送给主机2或其他SSD。由此,其他各SSD能够容易地使自身的写入性能降低至与送出侧SSD降低后的写入性能相同程度的低性能,结果,无须利用主机2进行特殊处理便能够效率良好地使SSD阵列内的所有SSD的写入性能平衡。
图8表示作为所述送出侧SSD发挥功能的SSD3的构成例。
SSD3具备控制器4、非易失性存储器(NAND存储器)5、DRAM(Dynamic RandomAccess Memory,动态随机存取存储器)6及温度传感器7。NAND存储器5虽未限定,但可以包含多个NAND存储芯片(非易失性存储芯片)。
NAND存储器5包含多个NAND块(块)B0~Bm-1。块B0~Bm-1作为擦除单位发挥功能。块有时也被称作“物理块”或“擦除块”。
块B0~Bm-1包含多个页(物理页)。即,块B0~Bm-1分别包含页P0~Pn-1。NAND存储器5中,以页为单位执行数据读取及数据写入。以块为单位执行数据擦除。
控制器4经由例如Toggle(拨动式开关)、ONFI(Open NAND Flash Interface,开放式NAND闪存接口)这样的NAND接口13,电连接于作为非易失性存储器的NAND存储器5。NAND接口13也可以具有多个信道。对各信道连接若干NAND存储芯片。控制器4能够使连接于NAND接口13的多个NAND存储芯片并行执行写入动作及读取动作。
控制器4可以作为闪存转换层(FTL)发挥功能,该闪存转换层(FTL)是以执行NAND存储器5的数据管理与NAND存储器5的块管理的方式构成。
数据管理包含(1)表示逻辑块地址(LBA)与物理地址之间的对应关系的映射信息的管理、(2)用来隐藏页单位的读取/写入与块单位的擦除动作的处理等。LBA与物理地址之间的映射的管理是使用作为逻辑物理地址转换表发挥功能的查找表(LUT)33而执行。查找表(LUT)33以特定的管理大小为单位管理LBA与物理地址之间的映射。来自主机2的写入命令的大多数是请求4K字节的数据的写入。因此,查找表(LUT)33也能以例如4K字节为单位管理LBA与物理地址之间的映射。与某个LBA对应的物理地址表示写入该LBA的数据后的NAND存储器5内的物理存储位置。物理地址包含物理块地址及物理页地址。物理页地址对所有页分配,且物理块地址对所有块分配。
向页的数据写入在1个擦除循环中只能进行一次。
因此,控制器4将向相同LBA的写入(覆写)映射到NAND存储器5上的其他页。即,控制器4向所述其他页写入数据。然后,控制器4更新查找表(LUT)33,将该LBA关联于所述其他页,并将原来的页(即曾关联该LBA的旧数据)无效化。
块管理包含不良块的管理、损耗平均及垃圾回收等。损耗平均是用来使各物理块的编程/擦除次数平准化的动作。
垃圾回收是用来作出NAND存储器5内的空闲空间的动作。该垃圾回收动作为了增加NAND存储器5的空闲块的个数,将混杂有效数据与无效数据的若干块内的所有有效数据复制到其他块(复制目标空闲块)。有效数据是关联于某个LBA的最新数据。无效数据是因该数据的更新或擦除已无法被主机2利用的数据、即未关联于任何LBA的旧数据。并且,垃圾回收动作更新查找表(LUT)33,将已被复制的有效数据的LBA分别映射到正确的物理地址。通过将有效数据复制到其他块,只剩下无效数据的块作为空闲块而开放。由此,该块在擦除后能够再次被利用。
主机2将写入命令发送给SSD3。该写入命令包含写入数据(即须写入的数据)的逻辑地址(起始逻辑地址)及传输长度。在该实施方式中,LBA被用作逻辑地址,但在其他实施方式中,也可以将目标ID用作逻辑地址。LBA是通过赋予给逻辑扇区(逻辑块)的序列号来表现。序列号从零开始。逻辑扇区的大小例如为512字节。
SSD3的控制器4将由写入命令内的起始逻辑地址及传输长度指定的写入数据,写入到NAND存储器5内的块的页。而且,控制器4通过更新查找表(LUT)33,将与所写入的数据对应的LBA映射到表示该数据写入的物理存储位置的物理地址。
更详细来说,控制器4将NAND存储器5内的一个空闲块,分配给主机2的数据写入用。该分配块是须写入主机2的数据的写入对象块,也被称作“写入目标块”或“输入块”等。控制器4一边更新查找表(LUT)33,一边将从主机2接收的写入数据依次写入到写入对象块(写入目标块)的可用页。在写入目标块中无可用页的情况下,控制器4分配新的空闲块作为写入目标块。
接下来,对控制器4的构成进行说明。
控制器4包含主机接口11、CPU12、NAND接口13、DRAM接口14、SRAM(Static RandomAccess Memory,静态随机存取存储器)15等。所述CPU12、NAND接口13、DRAM接口14、SRAM15经由总线10而相互连接。
主机接口11从主机2接收各种命令(写入命令、读取命令、取消映射(UNMAP)命令等)。
写入命令请求向SSD3写入由该写入命令指定的数据。写入命令包含须写入的最初的逻辑块的LBA(起始LBA)及传输长度(逻辑块的个数)。读取命令请求从SSD3读取由该读取命令指定的数据。读取命令包含须读取的最初的逻辑块的LBA(起始LBA)及传输长度(逻辑块的个数)。
CPU12是以控制主机接口11、NAND接口13、DRAM接口14、SRAM15的方式构成的处理器。CPU12除了执行所述FTL的处理以外,还执行用来处理来自主机2的各种命令的命令处理等。
例如,当控制器4从主机2接收到写入命令时,在CPU12的控制下,控制器4执行以下的写入动作,将由写入命令指定的写入数据写入到NAND存储器5。
即,控制器4将写入数据写入到当前的写入目标块的物理存储位置(可用页),然后更新查找表(LUT)33,对写入命令中所含的LBA(起始LBA)映射该物理存储位置的物理地址。
这些FTL处理及命令处理也可以通过由CPU12执行的固件而控制。该固件使CPU12作为垃圾回收(GC)动作控制部21、热保护调节控制部22、电力限制调节控制部23及写入性能降低通知部24发挥功能。
垃圾回收动作控制部21执行将被选作垃圾回收动作的对象的若干块(碎片化的块)内的有效数据复制到其他块(复制目标块)的垃圾回收动作。垃圾回收动作例如是在NAND存储器6内的空闲块的个数已降低至特定的阈值个数以下的情况下执行。垃圾回收动作消耗SSD3的资源及性能。因此,在垃圾回收动作的执行过程中,有将从主机2接收的数据写入到写入目标块的写入动作的性能(即写入性能)被降低的情况。
热保护调节控制部22基于由温度传感器7检测出的温度,执行用来防止SSD3过热的热保护动作(热调节动作)。热调节动作是通过限制SSD3的写入性能而执行。更详细来说,热保护调节控制部22基于由温度传感器7检测出的温度,限制被同时驱动(并行动作)的NAND存储芯片的个数,或者限制包含第1期间和第2期间的1个周期内的第1期间的比例,第1期间是多个NAND存储芯片被同时驱动(并行动作)的期间,第2期间是这些NAND存储芯片未被驱动(动作)的期间。
电力限制调节控制部23执行将SSD3的电力消耗抑制为SSD3所容许的最大电力以下的电力限制动作(电力限制调节动作)。SSD3所容许的最大电力也可以预先由主机2通知给SSD3。该最大电力表示允许SSD3消耗的最大电力消耗量。
电力限制调节动作也可以通过限制SSD3的写入性能而执行。更详细来说,电力限制调节控制部23基于SSD3所容许的最大电力与各NAND存储芯片的电力消耗量,限制被同时驱动(并行动作)的NAND存储芯片的个数,或者限制包含第1期间和第2期间的1个周期内的第1期间的比例,第1期间是多个NAND存储芯片被同时驱动(并行动作)的期间,第2期间是这些NAND存储芯片未被驱动(动作)的期间。
写入性能降低通知部24在开始进行内部动作(垃圾回收动作、热调节动作或电力限制调节动作)的情况下,基于所开始的内部动作的内容,推断因内部动作开始而导致写入性能降低的量,并将所推断出的写入性能的降低量通知给主机2或SSD阵列内的其他一个以上的SSD。
所推断出的写入性能的降低量也可以是因内部动作开始而导致写入性能降低后的性能。这种情况下,例如,在写入性能从1G字节/秒降低至500M字节/秒的情况下,也可以推断500M字节/秒为写入性能的降低量。
或者,所推断出的写入性能的降低量也可以是从因内部动作而导致写入性能降低的量即正常状态的写入性能减去降低后的写入性能所得的值。这种情况下,例如,在写入性能从1G字节/秒降低至500M字节/秒的情况下,也可以推断524M字节/秒(=1024-500)为写入性能的降低量。
当随着内部动作结束而写入性能恢复时,写入性能降低通知部24也可以将写入性能已恢复至正常状态的写入性能(1G字节/秒)通知给主机2或SSD阵列内的其他一个以上的SSD。
接下来,对控制器4内的其他组件进行说明。
NAND接口13是以在CPU12的控制下,控制NAND存储器5的方式构成的NAND控制器。NAND接口13可以包含多信道、例如8个信道(CH#1~CH#8)。各信道包含用来传输数据、命令及地址的总线。
DRAM接口14是以在CPU12的控制下,控制DRAM6的方式构成的DRAM控制器。
DRAM6的部分存储区域可以被用作写入缓冲器(WB)31,用来临时存储须写入到NAND存储器5的数据。而且,DRAM6的存储区域也可以被用作GC缓冲器32,用来临时存储垃圾回收(GC)动作中被移动的数据。而且,DRAM6的存储区域也可以用于存储所述查找表33。
SSD3也可以还保存其他各种管理信息。这种管理信息的示例中可以包含保存分别对应于物理地址的有效/无效旗标的页管理表。各有效/无效旗标表示所对应的物理地址(物理页)为有效或无效。物理页有效是指该物理页内的数据为有效数据。物理页无效是指该物理页内的数据因更新(重写)而无效化的数据。
接下来,对主机2的构成进行说明。
主机2是执行各种程序的信息处理装置。由信息处理装置执行的程序包含应用软件层41、操作系统(OS)42、文件系统43。
众所周知,操作系统(OS)42一般来说是软件,构成为执行以下控制:管理主机2全体,控制主机2内的硬件,让应用程序能够使用硬件及SSD3。
文件系统43的作用是执行文件操作(创建、保存、更新、删除等)用的控制。例如,文件系统43可以使用ZFS(Zettabyte File System,zetta字节文件系统)、Btrfs、XFS、ext4、NTFS(New Technology File System,新技术文件系统)等。或者,文件系统43还可以使用文件目标系统(例如Ceph Object Storage Daemon)、Key Value Store System(例如RocksDB)。
各种应用软件线程是在应用软件层41上运行。作为应用软件线程的示例,有用户端软件、数据库软件、虚拟机等。
在应用软件层41需要向SSD3送出比如读取命令或写入命令这样的请求时,应用软件层41会向OS42送出其请求。OS42将此请求发送给文件系统43。文件系统43将此请求转码成命令(读取命令、写入命令等)。文件系统43将命令发送给SSD3。当接收到来自SSD3的回应时,文件系统43将此回应发送给OS42。OS42将此回应发送给应用软件层41。
主机2也可以还包含装置性能管理部44。装置性能管理部44从SSD阵列内的某个SSD接收性能降低的通知,并将所接收到的性能降低的通知发送给SSD阵列内的其他各SSD。
图9表示将空闲块依次分配以用于写入来自主机2的数据的动作。
控制器4将由空闲块列表60表示的空闲块中的一个分配为写入目标块62。
控制器4将从主机2接收的写入数据写入到写入缓冲器31。之后,控制器4一边更新查找表(LUT)33,一边将写入缓冲器31内的写入数据依次从写入目标块62的最初页写入到最后页写入。
如果写入目标块62中不存在可用页,则控制器4将写入目标块62作为活动块(含数据的块)管理。因此,控制器4将写入目标块62移动到活动块列表61中。然后,控制器4将空闲块列表60的空闲块作为新的写入目标块62分配。
如果活动块列表61内的任一块的所有数据因更新而变成无效,则将该块移动到空闲块列表60中。
如果空闲块列表60内的空闲块的个数已降低至特定的阈值以下,则执行产生空闲块的所述垃圾回收(GC)动作。
图10表示由控制器4执行的垃圾回收(GC)动作。
图10中,例示将4个块B11、B12、B13、B14选择为GC动作对象的情况。控制器4从混杂有效数据(即有效页)与无效数据(即无效页)的块中选择须作为GC动作对象的若干块。控制器4也可以通过参照保存分别对应于物理地址的有效/无效旗标的所述页管理表,而优先选择无效数据量多的块作为GC动作对象。控制器4将作为GC动作对象的各块内的有效数据复制到一个以上的复制目标块。
GC动作所需的复制目标块的个数是基于须由GC动作而复制的有效数据的量来决定。图10中,表示了将两个空闲块分配为复制目标块B101、B102的情况。
复制目标块B101、B102内写满有效数据。块B11、B12、B13、B14成为不含有效数据的空闲块。成为空闲块的块B11、B12、B13、B14被移动到空闲块列表60中。
图11表示NAND接口13与多个NAND存储芯片的关系。
图11中,例示了对NAND接口13所具有的8个信道(CH#1~CH#8)的每一个连接4个NAND存储芯片的情况。在控制器4的控制下,NAND接口13能够变更每一信道的被同时驱动(并行动作)的NAND存储芯片的个数。
如果将每一信道的并行动作的NAND存储芯片的个数设定为4,则被同时驱动(并行动作)的NAND存储芯片的总数成为32(最大写入性能)。
如果将每一信道的并行动作的NAND存储芯片的个数设定为3,则被同时驱动(并行动作)的NAND存储芯片的总数成为24(最大写入性能的75%的写入性能)。
如果将每一信道的并行动作的NAND存储芯片的个数设定为2,则被同时驱动(并行动作)的NAND存储芯片的总数成为16(最大写入性能的50%的写入性能)。
如果将每一信道的并行动作的NAND存储芯片的个数设定为1,则被同时驱动(并行动作)的NAND存储芯片的总数成为8(最大写入性能的25%的写入性能)。
通过变更被同时驱动(并行动作)的NAND存储芯片的个数(总数),而能够调整SSD3的写入性能、电力消耗、发热量。
图12表示占空比控制动作。
用来对NAND存储器5写入数据的写入动作中,32个NAND存储芯片被间歇驱动。用于间歇驱动的周期(占空比范围)包含执行写入动作的接通期间及未执行写入动作的断开期间。
接通期间内,32个NAND存储芯片全部被同时驱动(并行动作)。各NAND存储芯片成为正在进行写入动作的忙碌状态。
断开期间内,32个NAND存储芯片全部未被驱动(动作)。各NAND存储芯片成为未执行写入动作及读取动作的空闲状态。
通过控制接通期间相对于一个周期的比例,而能够调整SSD3的写入性能、SSD3的写入性能、电力消耗、发热量。例如,在1个周期(占空比范围)为10秒的情况下,如果将接通期间设定为1秒(占空比=10%),则SSD3的写入性能被限制为最大写入性能的10%。SSD3的10秒间的平均电力消耗成为最大写入性能时的电力消耗的1/10。
图13表示由送出侧SSD执行的性能降低通知处理的示例。
作为送出侧SSD发挥功能的SSD#2内的控制器4视需要开始进行导致该SSD#2的写入性能降低的处理(所述内部动作)(步骤S11)。步骤S11中,控制器4推断SSD#2的写入性能的降低量,并将表示SSD#2的写入性能降低的性能降低的通知发送给主机2。该性能降低的通知包含所推断的写入性能(例如降低后的写入性能)及原因信息。原因信息表示该写入性能降低的原因是垃圾回收(GC)动作、热调节动作或电力限制调节动作中的哪一个。
当主机2已从SSD#2接收到性能降低的通知时,主机2将接收到的性能降低的通知分别发送至SSD#1、SSD#3、SSD#4。SSD#1、SSD#3、SSD#4分别作为以使自身的写入性能降低至所接收到的降低后的写入性能的方式构成的接收侧SSD发挥功能。SSD#1的控制器执行使自身的写入性能降低至所接收到的降低后的写入性能的处理(步骤S12)。步骤S12中,SSD#1的控制器也可以在SSD#1的写入性能低于所接收到的降低后的写入性能的范围内执行GC动作。或者,SSD#1的控制器也可以在SSD#1的写入性能低于所接收到的降低后的写入性能的范围内,执行限制被同时驱动的NAND存储芯片的个数或占空比的调节动作。SSD#1的控制器也可以基于所接收到的原因信息,决定执行GC动作或调节动作中的哪一个。
例如,如果所接收到的原因信息显示为GC动作或电力限制(调节动作),则SSD#1的控制器可以执行GC动作或调节动作中的任一个动作。
另一方面,如果写入性能降低的原因显示为“用来防止过热的热保护”(热调节动作),则SSD#1的控制器通过调节动作而非GC动作来使自身的写入性能降低。由此,能够抑制SSD阵列全体的温度过度上升。
同样地,SSD#3、SSD#4也执行使自身的写入性能降低至所接收到的降低后的写入性能的处理(步骤S13、S14)。
图14表示由送出侧SSD执行的性能降低通知处理的另一例。
作为送出侧SSD发挥功能的SSD#2内的控制器4视需要开始进行导致该SSD#2的写入性能降低的处理(所述内部动作)(步骤S21)。步骤S21中,控制器4推断SSD#2的写入性能的降低量,并将性能降低的通知分别发送至SSD#1、SSD#3、SSD#4。该性能降低的通知包含所推断的写入性能(例如降低后的写入性能)及所述原因信息。
SSD#1、SSD#3、SSD#4执行使自身的写入性能降低至所接收到的降低后的写入性能的处理(步骤S22、S23、S24)。
图15的流程图表示由送出侧SSD执行的GC动作及性能降低通知处理的次序。
送出侧SSD的控制器4定期检查剩余空闲块的个数(步骤S31),判定剩余空闲块的个数是否为阈值个数以下(步骤S32)。
如果剩余空闲块的个数为阈值个数以下(步骤S32的是),则控制器4将无效数据量最多的若干块选择为GC对象块(GC候补)(步骤S33)。控制器4基于GC动作中需要复制的数据量、即GC对象块各自的有效数据量,而推断GC期间内的送出侧SSD的写入性能(例如,因GC而产生的降低后的写入性能)(步骤S34)。
控制器4通过将包含所推断出的写入性能及原因信息(GC动作)的性能降低的通知发送给主机2或SSD阵列内的其他各SSD,而将送出侧SSD的写入性能降低、送出侧SSD的写入性能降低至何种程度的性能、该写入性能降低的原因通知给主机2或SSD阵列内的其他各SSD(步骤S35)。
控制器4执行通过将GC对象块各自的有效数据复制到一个以上的复制目标块而增加空闲块的个数的GC动作(步骤S36)。步骤S36中,控制器4并行执行将从主机2接收的写入数据(主机数据)写入到写入目标块的处理及GC动作。这种情况下,控制器4也可以基于GC动作中需要复制的数据量,而决定写入到写入目标块的来自主机2的写入数据量与为了进行GC动作而复制到复制目标块的数据量的比率,并以该比率并行执行将写入数据写入的处理及GC动作。
如果GC动作完成(步骤S37的是),则控制器4通过将送出侧SSD的写入性能恢复的通知发送给主机2或SSD阵列内的其他各SSD,而将送出侧SSD的写入性能恢复到正常状态时的写入性能通知给主机2或SSD阵列内的其他各SSD(步骤S38)。写入性能恢复的通知中也可以包含表示正常状态时的写入性能的值(例如1G字节/秒)。
图16的流程图表示由送出侧SSD执行的热调节动作及性能降低通知处理的次序。
送出侧SSD的控制器4定期检查由温度传感器7检测的送出侧SSD内的温度,判定该检测温度是否为阈值温度T1以上(步骤S41)。
如果检测温度为阈值温度T1以上(步骤S41的是),则控制器4决定同时驱动的NAND存储芯片的个数或所述占空比(步骤S42)。控制器4基于所决定的同时驱动的NAND存储芯片的个数或所决定的占空比,而推断温度保护期间(热调节动作期间)内的送出侧SSD的写入性能(例如,因热调节动作而导致降低后的写入性能)(步骤S43)。
控制器4通过将包含所推断出的写入性能及原因信息(热调节动作)的性能降低的通知发送给主机2或SSD阵列内的其他各SSD,而将送出侧SSD的写入性能降低、送出侧SSD的写入性能降低至何种程度的性能、该写入性能降低的原因通知给主机2或SSD阵列内的其他各SSD(步骤S44)。
控制器4通过基于步骤S42中的决定来限制同时驱动的NAND存储芯片的个数或占空比,而开始热调节动作(步骤S45)。通过该热调节动作而降低送出侧SSD的发热量。
控制器4定期检查由温度传感器7检测的送出侧SSD内的温度,判定该检测温度是否降低至阈值温度T2以下(步骤S46)。阈值温度T2也可以设定为低于阈值温度T1的温度。
如果检测温度为阈值温度T2以下(步骤S46的是),则控制器4通过解除对同时驱动的NAND存储芯片的个数的限制或对占空比的限制而结束热调节动作(步骤S47)。然后,控制器4通过将送出侧SSD的写入性能恢复的通知发送给主机2或SSD阵列内的其他各SSD,而将送出侧SSD的写入性能恢复到正常状态时的写入性能通知给主机2或SSD阵列内的其他各SSD(步骤S48)。写入性能恢复的通知中可以包含表示正常状态时的写入性能的值(例如1G字节/秒)。
图16中,对基于检测温度而切换两个状态(开始热调节动作、停止热调节动作)的动作进行了说明,但也可以执行基于检测温度,以多阶段切换同时驱动的NAND存储芯片的个数或占空比的控制。例如,当检测温度已降低至阈值温度T1与阈值温度T2之间的阈值温度T3时,也可以重新决定同时驱动的NAND存储芯片的个数或占空比,基于重新决定的NAND存储芯片的个数或占空比来限制同时驱动的NAND存储芯片的个数或占空比。这种情况下,控制器4基于重新决定的NAND存储芯片的个数或占空比而再次推断写入性能的降低量,并将包含所推断出的写入性能及原因信息(热调节动作)的性能降低的通知发送给主机2或SSD阵列内的其他各SSD。
图17的流程图表示由送出侧SSD执行的电力限制调节动作及性能降低通知处理的次序。
送出侧SSD的控制器4基于送出侧SSD的电力消耗与送出侧SSD所容许的最大电力的关系而判定是否须开始电力限制、即是否满足电力限制开始条件(步骤S51)。送出侧SSD的电力消耗是根据每一个NAND存储芯片的电力消耗量与被同时驱动的NAND存储芯片的个数(或占空比)的函数而算出。如果送出侧SSD的电力消耗大于由主机2决定的送出侧SSD所容许的最大电力,则控制器4基于送出侧SSD所容许的最大电力及NAND存储芯片各自的电力消耗量(每一个芯片的电力消耗量),而决定同时驱动的NAND存储芯片的个数或所述占空比,以使送出侧SSD的电力消耗成为送出侧SSD所容许的最大电力以下(步骤S52)。
控制器4基于所决定的同时驱动的NAND存储芯片的个数或所决定的占空比,而推断电力限制期间(电力限制调节动作期间)内的送出侧SSD的写入性能(例如,因电力限制调节动作导致降低后的写入性能)(步骤S53)。
控制器4通过将包含所推断出的写入性能及原因信息(热调节动作)的性能降低的通知发送给主机2或SSD阵列内的其他各SSD,而将送出侧SSD的写入性能降低、送出侧SSD的写入性能降低至何种程度的性能、该写入性能降低的原因通知给主机2或SSD阵列内的其他各SSD(步骤S54)。
控制器4通过基于步骤S52中的决定来限制同时驱动的NAND存储芯片的个数或占空比,而开始电力限制调节动作(步骤S55)。通过该电力限制调节动作而降低送出侧SSD的电力消耗。
主机2也可以视需要变更送出侧SSD所容许的最大电力。例如,如果主机2期望SSD阵列全体的写入性能增加,则主机2也可以增加各SSD须容许的最大电力。这种情况下,控制器4基于送出侧SSD所容许的经变更后的最大电力来判定是否已无须进行电力限制(步骤S56)。
如果无须进行电力限制(步骤S56的是),则控制器4通过解除对同时驱动的NAND存储芯片的个数的限制或对占空比的限制而结束电力限制调节动作(步骤S57)。然后,控制器4通过将送出侧SSD的写入性能恢复的通知发送给主机2或SSD阵列内的其他各SSD,而将送出侧SSD的写入性能恢复到正常状态时的写入性能通知给主机2或SSD阵列内的其他各SSD(步骤S58)。写入性能恢复的通知中也可以包含表示正常状态时的写入性能的值(例如1G字节/秒)。
另外,主机2也可以为了降低信息处理系统1的电力消耗,而由主机2减少各SSD须容许的最大电力。这种情况下,控制器4基于送出侧SSD所容许的经变更后的最大电力及NAND存储芯片各自的电力消耗量(每一个芯片的电力消耗量),而重新决定同时驱动的NAND存储芯片的个数或所述占空比,以使送出侧SSD的电力消耗成为送出侧SSD所容许的经变更后的最大电力以下。然后,控制器4基于重新决定的NAND存储芯片的个数或占空比而限制同时驱动的NAND存储芯片的个数或占空比。控制器4基于重新决定的NAND存储芯片的个数或占空比而再次推断写入性能的降低量,并将包含所推断出的写入性能及原因信息(电力限制调节动作)的性能降低的通知发送给主机2或SSD阵列内的其他各SSD。
图18表示作为所述接收侧SSD发挥功能的SSD3的构成例。
接收侧SSD包含写入性能调整部25以代替送出侧SSD的写入性能降低通知部24。
写入性能调整部25从主机2或其他SSD接收表示其他SSD的写入性能降低的通知,并基于由该通知指定的写入性能的降低量及由该通知指定的性能降低的原因,而执行使接收侧SSD的写入性能降低的处理。
如果所接收到的通知中所含的原因信息是GC动作或电力限制调节,则写入性能调整部25可以执行GC动作。这种情况下,写入性能调整部25基于写入性能的降低量,决定写入到写入目标块的来自主机2的写入数据量与为了进行GC动作而复制到复制目标块的数据量的比率。然后,基于该比率,写入性能调整部25使用垃圾回收动作控制部21而执行GC动作。
例如,如果写入数据量与为了进行GC动作而复制的数据量的比率为1比1,则可以执行以下动作:每当将特定量的写入数据写入到写入目标块时,均将特定量的有效数据从GC对象块复制到复制目标块。
如果所接收到的通知中所含的原因信息是热调节,则写入性能调整部25不执行GC动作而通过调节动作使接收侧SSD的写入性能降低。这种情况下,写入性能调整部25基于写入性能的降低量,决定同时驱动的NAND存储芯片的个数或占空比,并基于所决定的同时驱动的NAND存储芯片的个数或所决定的占空比,限制同时驱动的NAND存储芯片的个数或占空比。
图19的流程图表示由接收侧SSD执行的写入性能降低处理的次序。
当接收侧SSD的控制器4从主机2或其他SSD接收到其他SSD的写入性能降低的通知时(步骤S61的是),控制器4基于该接收到的通知中所含的原因信息而检查其他SSD的写入性能降低的原因(步骤S62)。
如果其他SSD的写入性能降低的原因是GC动作(步骤S63的是),则接收侧SSD的控制器4通过提前执行GC动作或者通过执行调节动作而使接收侧SSD的写入性能降低至与其他SSD的降低后的写入性能大致相等的性能(步骤S64)。
如果其他SSD的写入性能降低的原因是热保护(热调节)(步骤S65的是),则接收侧SSD的控制器4通过执行调节动作而使接收侧SSD的写入性能降低至与其他SSD的降低后的写入性能大致相等的性能(步骤S66)。为了防止SSD阵列全体的温度过度上升,而禁止接收侧SSD提前执行GC动作。
如果其他SSD的写入性能降低的原因是电力限制(电力限制调节)(步骤S67的是),则接收侧SSD的控制器4通过执行调节动作而使接收侧SSD的写入性能降低至与其他SSD的降低后的写入性能大致相等的性能(步骤S68)。或者,接收侧SSD的控制器4也可以在接收侧SSD的电力消耗未超过接收侧SSD所容许的最大电力的范围内提前执行GC动作。
另外,当接收侧SSD的控制器4已从主机2或其他SSD接收到其他SSD的写入性能恢复的通知时,控制器4执行通过停止GC动作或停止调节动作而将接收侧SSD的写入性能恢复到正常状态时的写入性能(例如1G字节/秒)的处理。
图20的流程图表示已接受到性能降低通知时由接收侧SSD执行的GC动作的次序。
接收侧SSD的控制器4基于写入性能的降低量,算出写入到写入目标块的来自主机2的写入数据量与为了进行GC动作而复制到复制目标块的数据量的比率(步骤S71),并以该比率执行GC动作(步骤S72)。
例如,在接收侧SSD的控制器4以写入性能(1G字节/秒)动作,送出侧SSD的写入性能降低至512M字节/秒的情况下,接收侧SSD的控制器4也可以使接收侧SSD的写入性能降低至512M字节/秒,且将剩下的写入性能(此处为512M字节/秒)用于GC动作。这种情况下,写入数据的量与为进行GC动作而复制的数据量的比率成为1比1。步骤S72中,以来自主机2的写入数据量与为进行GC动作而复制的数据量的比率成为1比1的方式并行执行写入动作与GC动作。
图21的流程图表示当接收到性能降低通知时由接收侧SSD执行的调节动作的次序。
接收侧SSD的控制器4基于写入性能的降低量,决定在接收侧SSD内同时驱动的NAND存储芯片的个数或用来使接收侧SSD内的NAND存储芯片间歇动作的占空比(步骤S81),并以该NAND存储芯片的个数或占空比一边执行调节动作一边执行写入动作(步骤S82)。
图22表示具有送出侧SSD及接收侧SSD这两个功能的SSD的构成例。
具有送出侧SSD及接收侧SSD这两个功能的SSD3的控制器4包含所述写入性能降低通知部24及所述写入性能调整部25这两个部件。
图23表示作为主机2发挥功能的信息处理装置的硬件构成例。
该信息处理装置是作为服务器计算机或个人计算机而实现。该信息处理装置包含处理器(CPU)101、主存储器102、BIOS-ROM(Basic Input Output System-Read OnlyMemory,基本输入输出系统-只读存储器)103、网络控制器105、周边接口控制器106、控制器107及嵌入式控制器(EC,Embedded Controller)108等。
处理器101是以控制该信息处理装置的各组件的动作的方式构成的CPU。该处理器101执行从多个SSD3中的任一个或其他存储装置加载到主存储器102中的各种程序。主存储器102包括例如DRAM那样的随机存取存储器。由处理器101执行的程序包含所述应用软件层41、OS42、文件系统43及装置性能管理部44。
而且,处理器101还执行存储在作为非易失性存储器的BIOS-ROM103的基本输入输出系统(BIOS)。BIOS是用于硬件控制的系统程序。
网络控制器105是例如有线LAN(Local Area Network,局域网)控制器、无线LAN控制器那样的通信装置。周边接口控制器106是以与例如USB(Universal Serial Bus,通用串行总线)装置那样的周边装置进行通信的方式构成。
控制器107是以与分别连接于多个连接器107A的装置进行通信的方式构成。本实施方式中,多个SSD3分别连接于多个连接器107A。控制器107也可以是具有RAID控制器的功能的芯片组。如果处理器101包含PCIe Switch(PCIe开关),则也可以将多个SSD3分别经由PCIe总线而直接连接于处理器101。
EC108作为以执行信息处理装置的电力管理的方式构成的系统控制器发挥功能。EC108根据用户对电源开关的操作而接通或断开信息处理装置。EC108作为例如单芯片微控制器那样的处理电路而实现。EC108也可以内置对键盘(KB)等输入装置进行控制的键盘控制器。
图24表示包含多个SSD3及主机2的信息处理装置的构成例。
该信息处理装置具备能够收纳在支架上的薄箱形的壳体201。多个SSD3也可以配置在壳体201内。这种情况下,各SSD3可拆卸地插入到设置在壳体201的前表面201A的插槽中。
系统板(主板)202配置在壳体201内。在系统板(主板)202上安装着包含CPU101、存储器102、网络控制器105、控制器107的各种电子零件。这些电子零件作为主机2发挥功能。
如以上说明那样,本实施方式的接收侧SSD从主机或SSD阵列内的其他SSD接收其他SSD的写入性能降低的通知,基于由该接收到的通知指定的其他SSD的写入性能的降低量,而执行使接收侧SSD的写入动作的性能降低的控制。因此,接收侧SSD能够与写入性能已降低的送出侧SSD协调动作,由此能够有效利用送出侧SSD的写入性能降低的期间。
另外,接收侧SSD也可以兼具送出侧SSD与接收侧SSD这两个功能。
另外,在本实施方式中,例示了NAND存储器作为非易失性存储器。但是,本实施方式的功能例如也可以应用于如MRAM(Magnetoresistive Random Access Memory,磁阻式随机存取存储器)、PRAM(Phase change Random Access Memory,相位变换随机存取存储器)、ReRAM(Resistive Random Access Memory,电阻式随机存取存储器)或FeRAM(Ferroelectric Random Access Memory,铁电随机存取存储器)等其他各种非易失性存储器。
虽对本发明的若干实施方式进行了说明,但这些实施方式是作为示例而提出的,并不意图限定发明的范围。这些新颖的实施方式能以其他各种方式加以实施,且能够在不脱离发明主旨的范围内进行各种省略、替换、变更。这些实施方式或其变化包含在发明的范围或主旨内,并且包含在权利要求所记载的发明及其均等的范围内。

Claims (11)

1.一种存储器系统,其特征在于:能够作为使数据跨及多个半导体存储装置分散的存储阵列内的一个半导体存储装置动作,且具备:
非易失性存储器;以及
控制器,以电连接于所述非易失性存储器,执行将从主机接收的数据写入到所述非易失性存储器的写入动作的方式构成;且
所述控制器构成为,
从所述主机或所述存储阵列内的其他半导体存储装置,接收所述其他半导体存储装置的写入性能降低的通知,
基于由接收到的所述通知指定的所述其他半导体存储装置的所述写入性能的降低量,使所述写入动作的性能降低。
2.根据权利要求1所述的存储器系统,其特征在于:
所述控制器构成为,
基于所述其他半导体存储装置的所述写入性能的降低量,来决定从所述主机写入到所述非易失性存储器的数据量与用于所述非易失性存储器的垃圾回收而复制的数据量的比率,且
为了降低所述写入动作的性能,而以所述决定的比率执行所述垃圾回收。
3.根据权利要求1所述的存储器系统,其特征在于:
所述非易失性存储器包含多个非易失性存储芯片,且
所述控制器构成为,为了降低所述写入动作的性能,而基于所述其他半导体存储装置的所述写入性能的降低量,限制并行动作的非易失性存储芯片的个数或包含第1期间和第2期间的1个周期内的所述第1期间的比例,所述第1期间是所述多个非易失性存储芯片并行动作的期间,所述第2期间是所述多个非易失性存储芯片未动作的期间。
4.根据权利要求1所述的存储器系统,其特征在于:
所述非易失性存储器包含多个非易失性存储芯片,
接收的所述通知包含表示所述其他半导体存储装置的写入性能降低的原因的原因信息,且
所述控制器构成为,
在所述原因是所述其他半导体存储装置的电力限制或垃圾回收的情况下,为使所述写入动作的性能降低,而执行所述非易失性存储器的垃圾回收,
在所述原因是用来防止所述其他半导体存储装置过热的热保护的情况下,为使所述写入动作的性能降低,而限制并行动作的非易失性存储芯片的个数或包含第1期间和第2期间的1个周期内的所述第1期间的比例,所述第1期间是所述多个非易失性存储芯片并行动作的期间,所述第2期间是所述多个非易失性存储芯片未动作的期间。
5.根据权利要求1所述的存储器系统,其特征在于:
所述控制器构成为,在从所述主机或所述其他半导体存储装置接收到表示所述其他半导体存储装置的写入性能已恢复的通知的情况下,恢复所述写入动作的性能。
6.一种存储器系统,其特征在于:能够作为使数据跨及多个半导体存储装置分散的存储阵列内的一个半导体存储装置动作,且具备:
非易失性存储器;以及
控制器,以电连接于所述非易失性存储器,执行将从主机接收的数据写入到所述非易失性存储器的写入动作的方式构成;且
所述控制器构成为,
从所述主机或所述存储阵列内的其他半导体存储装置接收通知,该通知表示所述其他半导体存储装置的写入性能降低,且包含所述其他半导体存储装置的写入性能的降低量及所述写入性能降低的原因,
基于由接收到的所述通知指定的所述其他半导体存储装置的所述写入性能的降低量及由接收到的所述通知指定的所述原因,执行使所述写入动作的性能降低的处理。
7.一种控制方法,其特征在于:控制存储器系统,所述存储器系统能够作为使数据跨及多个半导体存储装置分散的存储阵列内的一个半导体存储装置动作,所述控制方法包括以下步骤:
执行将从主机接收的数据写入到非易失性存储器的写入动作;
从所述主机或所述存储阵列内的其他半导体存储装置,接收所述其他半导体存储装置的写入性能降低的通知;以及
基于由接收到的所述通知指定的所述其他半导体存储装置的所述写入性能的降低量,使所述写入动作的性能降低。
8.根据权利要求7所述的控制方法,其特征在于:
使所述写入动作的性能降低的步骤包含:
基于所述其他半导体存储装置的所述写入性能的降低量,决定从所述主机写入到所述非易失性存储器的数据量与用于所述非易失性存储器的垃圾回收而复制的数据量的比率;以及
以所述决定的比率执行所述垃圾回收。
9.根据权利要求7所述的控制方法,其特征在于:
所述非易失性存储器包含多个非易失性存储芯片,
使所述写入动作的性能降低的步骤包含:基于所述其他半导体存储装置的所述写入性能的降低量,限制并行动作的非易失性存储芯片的个数或包含第1期间和第2期间的1个周期内的所述第1期间的比例,所述第1期间是所述多个非易失性存储芯片并行动作的期间,所述第2期间是所述多个非易失性存储芯片未动作的期间。
10.根据权利要求7所述的控制方法,其特征在于:
所述非易失性存储器包含多个非易失性存储芯片,
接收的所述通知包含表示所述其他半导体存储装置的写入性能降低的原因的原因信息,且
使所述写入动作的性能降低的步骤包含:
在所述原因是所述其他半导体存储装置的电力限制或垃圾回收的情况下,执行所述非易失性存储器的垃圾回收;
在所述原因是用来防止所述其他半导体存储装置过热的热保护的情况下,限制并行动作的非易失性存储芯片的个数或包含第1期间和第2期间的1个周期内的所述第1期间的比例,所述第1期间是所述多个非易失性存储芯片并行动作的期间,所述第2期间是所述多个非易失性存储芯片未动作的期间。
11.根据权利要求7所述的控制方法,其特征在于:还具备以下步骤,在从所述主机或所述其他半导体存储装置,接收到表示所述其他半导体存储装置的写入性能已恢复的通知的情况下,使所述写入动作的性能恢复。
CN201610318752.1A 2015-12-22 2016-05-13 存储器系统及控制方法 Active CN106909314B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-249554 2015-12-22
JP2015249554A JP6517685B2 (ja) 2015-12-22 2015-12-22 メモリシステムおよび制御方法

Publications (2)

Publication Number Publication Date
CN106909314A CN106909314A (zh) 2017-06-30
CN106909314B true CN106909314B (zh) 2019-11-01

Family

ID=59067020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610318752.1A Active CN106909314B (zh) 2015-12-22 2016-05-13 存储器系统及控制方法

Country Status (3)

Country Link
US (1) US10209894B2 (zh)
JP (1) JP6517685B2 (zh)
CN (1) CN106909314B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6517684B2 (ja) 2015-12-22 2019-05-22 東芝メモリ株式会社 メモリシステムおよび制御方法
US9880745B2 (en) 2016-06-21 2018-01-30 International Business Machines Corporation Reducing concurrency of garbage collection operations
US10115471B1 (en) * 2017-05-01 2018-10-30 Western Digital Technologies, Inc. Storage system and method for handling overheating of the storage system
CN109298833B (zh) 2017-07-24 2021-05-04 三星电子株式会社 存储设备及对包括其的电子设备的温度控制
KR102423278B1 (ko) * 2017-11-28 2022-07-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10564886B2 (en) * 2018-02-20 2020-02-18 Western Digital Technologies, Inc. Methods and apparatus for controlling flash translation layer recycle from host
EP4386537A2 (en) 2018-03-01 2024-06-19 Micron Technology, Inc. Performing operation on data blocks concurrently and based on performance rate of another operation on data blocks
US10331555B1 (en) * 2018-03-06 2019-06-25 Western Digital Technologies, Inc. Dynamic memory compaction
JP2019215662A (ja) * 2018-06-12 2019-12-19 株式会社日立製作所 不揮発性メモリデバイス、及びインターフェース設定方法
CN109117304B (zh) * 2018-07-05 2022-02-18 北京珠穆朗玛移动通信有限公司 文件备份方法、系统及装置
JP2020013626A (ja) 2018-07-20 2020-01-23 キオクシア株式会社 メモリシステム
JP2020046752A (ja) * 2018-09-14 2020-03-26 キオクシア株式会社 記憶装置及び情報処理システム
KR102611354B1 (ko) * 2019-05-09 2023-12-08 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
JP7500991B2 (ja) 2020-02-21 2024-06-18 富士通株式会社 ストレージ制御装置及びストレージ制御プログラム
JP7398306B2 (ja) * 2020-03-24 2023-12-14 東京エレクトロン株式会社 ガス検査方法、基板処理方法及び基板処理システム
US11467942B2 (en) 2020-12-16 2022-10-11 Western Digital Technologies, Inc. Predictive performance indicator for storage devices
US11507502B2 (en) * 2021-02-23 2022-11-22 Western Digital Technologies, Inc. Data storage device performance prediction based on valid fragment count
US20230079698A1 (en) * 2021-09-16 2023-03-16 Western Digital Technologies, Inc. Data Storage Devices, Systems, and Related Methods to Determine Writing Fragmentation Levels of Memory Devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597461A (zh) * 2011-09-30 2014-02-19 株式会社日立制作所 非易失性半导体存储系统
JP2014146390A (ja) * 2013-01-28 2014-08-14 Rohm Co Ltd 半導体記憶装置
CN104850354A (zh) * 2014-02-18 2015-08-19 株式会社东芝 信息处理系统以及存储器系统

Family Cites Families (16)

* 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 データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
JP2008276568A (ja) * 2007-04-27 2008-11-13 Toshiba Corp 情報処理装置、およびプロセッサ回路の制御方法
US20100057976A1 (en) 2008-08-26 2010-03-04 Menahem Lasser Multiple performance mode memory system
JP5159817B2 (ja) * 2010-03-25 2013-03-13 株式会社東芝 メモリシステム
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
WO2012001917A1 (ja) * 2010-06-29 2012-01-05 パナソニック株式会社 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置
JP2012018648A (ja) * 2010-07-09 2012-01-26 Toshiba Corp メモリシステム
US8713268B2 (en) * 2010-08-05 2014-04-29 Ut-Battelle, Llc Coordinated garbage collection for raid array of solid state disks
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8724389B2 (en) * 2012-07-26 2014-05-13 Ocz Storage Solutions, Inc. Non-volatile solid state memory-based mass storage device and methods thereof
JP6111575B2 (ja) 2012-09-19 2017-04-12 富士通株式会社 ストレージ装置、内部処理制御方法および内部処理制御プログラム
JP5949408B2 (ja) 2012-10-02 2016-07-06 富士通株式会社 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US9355024B2 (en) 2012-10-10 2016-05-31 Apple Inc. Systems and methods for nonvolatile memory performance throttling
US9213610B2 (en) * 2013-06-06 2015-12-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Configurable storage device and adaptive storage device array
KR102072829B1 (ko) * 2013-06-14 2020-02-03 삼성전자주식회사 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 글로벌 가비지 컬렉션 방법
US9489146B2 (en) * 2014-12-09 2016-11-08 Sandisk Technologies Llc Memory system and method for selecting memory dies to perform memory access operations in based on memory die temperatures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597461A (zh) * 2011-09-30 2014-02-19 株式会社日立制作所 非易失性半导体存储系统
JP2014146390A (ja) * 2013-01-28 2014-08-14 Rohm Co Ltd 半導体記憶装置
CN104850354A (zh) * 2014-02-18 2015-08-19 株式会社东芝 信息处理系统以及存储器系统

Also Published As

Publication number Publication date
JP2017117055A (ja) 2017-06-29
CN106909314A (zh) 2017-06-30
US10209894B2 (en) 2019-02-19
JP6517685B2 (ja) 2019-05-22
US20170177218A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
CN106909314B (zh) 存储器系统及控制方法
US10592117B2 (en) Memory system and method for controlling nonvolatile memory
US10191688B2 (en) Memory system and information processing system
US10599561B2 (en) Memory system and control method of the same
JP6414853B2 (ja) メモリシステムおよび制御方法
JP6414852B2 (ja) メモリシステムおよび制御方法
KR101419004B1 (ko) 비휘발성 메모리 시스템
US10572379B2 (en) Data accessing method and data accessing apparatus
US11429284B2 (en) Data categorization based on invalidation velocities
JP2010027026A (ja) メモリストレージ装置及びその制御方法
EP3926451B1 (en) Communication of data relocation information by storage device to host to improve system performance
JP2019169101A (ja) 電子機器、コンピュータシステム、および制御方法
TWI782847B (zh) 用來在儲存伺服器中進行基於管線的存取管理的方法及設備
KR102425470B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20170052899A1 (en) Buffer cache device method for managing the same and applying system thereof
KR20210142863A (ko) 데이터 처리 시스템의 동작 효율성을 높이기 위한 장치 및 방법
JP6721765B2 (ja) メモリシステムおよび制御方法
US20230214115A1 (en) Techniques for data storage management
KR20230040057A (ko) 시스템의 읽기 성능을 개선하기 위한 장치 및 방법
JP2019016383A (ja) メモリシステムおよび制御方法
Yang et al. ZWR: Combining wear‐leveling with reclamation for flash‐memory‐based storage systems of embedded systems
JP2019016386A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170816

Address after: Tokyo, Japan

Applicant after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Applicant before: Toshiba Corp.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Tokyo

Patentee after: Kaixia Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.

Address after: Tokyo

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo

Patentee before: Pangea Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220209

Address after: Tokyo

Patentee after: Pangea Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.