CN112214162A - 存储装置和控制方法 - Google Patents
存储装置和控制方法 Download PDFInfo
- Publication number
- CN112214162A CN112214162A CN202010107143.8A CN202010107143A CN112214162A CN 112214162 A CN112214162 A CN 112214162A CN 202010107143 A CN202010107143 A CN 202010107143A CN 112214162 A CN112214162 A CN 112214162A
- Authority
- CN
- China
- Prior art keywords
- information
- address
- memory
- storage
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 83
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000013519 translation Methods 0.000 claims description 121
- 238000012544 monitoring process Methods 0.000 claims description 52
- 238000010586 diagram Methods 0.000 description 22
- 238000012546 transfer Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 230000005856 abnormality Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Abstract
本发明的存储装置和控制方法能够对停止供电之前管理的数据进行适当地访问。本发明的能够接收来自主机计算机(120)的I/O请求并执行与I/O请求对应的I/O处理的存储装置(100)包括:CPU(101)、非易失性介质(103)、存取性能高于非易失性介质(103)的存储器(102),CPU(101)将关于执行I/O处理的控制的控制用信息存储于存储器(102)和非易失性介质(103),存储于非易失性介质(103)的控制用信息中包含地址变换信息,该地址变换信息用于将存储I/O请求的对象数据的驱动器(104)的物理地址与表示存储于物理地址的数据的逻辑区域的逻辑地址进行变换。
Description
技术领域
本发明涉及管理关于对存储装置中管理的用户数据的访问控制的控制用信息的技术。
背景技术
存储装置中要求,发生停电等来自电源的供电停止,然后,在来自电源的供电恢复的电力恢复后,能够访问发生停电等之前生成的用户数据(均简称为数据)。
存储装置使用存储装置所具有的控制用信息,实施对数据的I/O处理(访问处理)。因此,为了在电力恢复时实现与停电前一样的I/O处理,需要在电力恢复时具有与停电前相同的控制用信息。
例如,专利文献1中公开有如下技术,在将数据存储于易失性存储器,且产生停电等而来自电源的供电停止的情况下,通过来自电池的供电,将易失性存储器的数据复制于非易失性存储器。
现有技术文献
专利文献
专利文献1:日本特开2008-108026号公报
发明内容
发明所要解决的课题
例如,在存储装置为通过使存储控制程序在通用服务器上动作而构成的SDS(Software Defined Storage:软件定义存储)的情况下,在构成SDS的通用服务器未搭载电池的情况下,在停电发生时,通过电池供电不能将控制用信息复制于非易失性介质。
另外,即使是具有电池的存储装置,由于电池的异常等,在停电发生时不能适当地进行电池供电,可能不能将控制用信息复制于非易失性介质。
本发明是鉴于上述情况而研发的,其目的在于,提供能够对电力的供给停止之前管理的数据适当地访问的技术。
用于解决课题的技术方案
为了达成所述目的,一个发明提供一种存储装置,能够接受来自主机计算机的I/O请求并执行与I/O请求对应的I/O处理,其包括:处理器部、非易失性介质、存取性能高于非易失性介质的存储器,处理器部将关于执行I/O处理的控制的控制用信息存储于存储器和非易失性介质,存储于非易失性介质的控制用信息中包含地址变换信息,该地址变换信息用于变换存储I/O请求的对象数据的存储器件的物理地址和表示存储于物理地址的数据的逻辑区域的逻辑地址。
发明效果
根据本发明,能够对电力供给停止之前管理的数据适当地访问。
附图说明
图1是第一实施方式的计算机系统的整体结构图。
图2是第一实施方式的存储装置的存储器的结构图。
图3是说明第一实施方式的存储器、非易失性介质、以及驱动器中存储的信息的图。
图4是第一实施方式的逻物地址变换表的结构图。
图5是第一实施方式的物逻地址变换表的结构图。
图6是第一实施方式的监视信息的结构图。
图7是第一实施方式的缓存的结构图。
图8是第一实施方式的I/O处理的流程图。
图9是第一实施方式的物理地址获取处理的流程图。
图10是第一实施方式的数据访问处理的流程图。
图11是第一实施方式的监视信息获取处理的流程图。
图12是第一实施方式的监视信息显示处理的流程图。
图13是第一实施方式的性能信息显示画面的结构图。
图14是第一实施方式的起动处理的流程图。
图15是第一实施方式的逻物表更新处理的流程图。
图16是第一实施方式的结束处理的流程图。
图17是第二实施方式的计算机系统的整体结构图。
图18是说明第二实施方式的非易失性存储器中存储的信息的图。
图19是说明第三实施方式的存储器和非易失性存储器中存储的信息的图。
具体实施方式
参照附图说明实施方式。此外,以下说明的实施方式不限定要求的权利范围的发明,另外,实施方式中说明的各个要素及其组合的全部在发明的解决方案中未必是必须的。
以下的说明中,有时以“AAA表”的表达说明信息,但信息也可以以任意的数据结构表达。即,为了表示信息不依赖于数据结构,能够将“AAA表”称为“AAA信息”。
另外,以下的说明中,“处理器部”包含1个以上的处理器。典型而言,至少一个处理器为CPU(Central Processing Unit:中央处理器)那样的微处理器。1个以上的处理器各自也可以为单核心,也可以为多核心。处理器也可以包含进行处理的一部分或全部的硬件电路。
另外,以下的说明中,有时以“程序”为动作主体说明处理,但程序由处理器部执行,由此,适当使用存储部(存储器等)和接口部中的至少一个进行规定的处理,因此,处理的主语也可以设为处理器部(或,具有处理器部的计算机或计算机系统)。程序也可以从程序源安装于计算机。程序源也可以是例如程序分发服务器或计算机可读取的存储介质。另外,以下的说明中,两个以上的程序也可以作为一个程序实现,一个程序也可以作为两个以上的程序实现。另外,通过执行程序而实现的处理中的至少一部分也可以利用硬件电路(例如ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列))实现。
图1是第一实施方式的计算机系统的整体结构图。
计算机系统1具备:1台以上的存储装置100、1台以上的管理用计算机110、1台以上的主机计算机120。存储装置100、管理用计算机110、主机计算机120的全部或一部分也可以用同一物理计算机构成。
存储装置100、管理用计算机110、主机计算机120经由网络130连接。网络130由有线LAN(Local Area Network:局域网)、无线LAN、因特网等构成。此外,将存储装置100与管理用计算机110连接的网络和将存储装置100与主机计算机120连接的网络也可以是不同的网络。
主机计算机120是例如执行应用程序的计算机。主机计算机120经由网络130访问存储装置100所提供的逻辑存储区域(虚拟卷)。主机计算机120对存储装置100发出作为I/O(Input/Output:输入/输出)请求的读请求和写请求,来访问存储于存储装置100的虚拟卷的数据(用户数据)。
管理用计算机110通过执行资源管理程序111,来管理存储装置100的资源、例如存储区域的结构等。
存储装置100利用例如通用服务器或PC(Personal Computer:个人计算机)等的计算机构成。存储装置100具有1个以上的CPU101、存储器102、非易失性介质103、作为存储器件的一例的驱动器104。
CPU101根据存储于存储器102和/或驱动器104的程序执行各种处理。存储器102利用例如RAM(Random Access Memory:随机存取存储器)构成,存储由CPU101执行的程序和必要的信息。存储器102的延迟比非易失性介质103的延迟短。驱动器104例如为HDD(HardDisk Drive:硬盘驱动器)或SSD(Solid State Drive:固态硬盘)等,存储由CPU101执行的程序、用于CPU101的数据、以及主机计算机120中利用的用户数据等。
非易失性介质103是即使不进行电源的供给能够维持数据的存储的介质,例如可以是闪存存储器等的非易失性存储器、HDD、SSD等的驱动器。此外,图1中,将非易失性介质103和驱动器104分开记载,但也可以将驱动器104用作非易失性介质103,在该情况下,不需要独立于驱动器104而具备非易失性介质103。
接着,对存储装置100的存储器102的结构进行说明。
图2是第一实施方式的存储装置的存储器的结构图。
存储装置100的存储器102存储OS(Operating System:操作系统)200、1个以上的存储控制程序210、控制用信息220。控制用信息220在存储器102上如果在I/O处理中有变更,则每次进行更新,以存储工作的正常结束时等的长周期反映于驱动器104内的控制用信息。
OS200通过被CPU101执行,而执行控制存储装置100中的程序的执行的处理等。例如,OS200进行将存储器102等的存储区域分配于存储控制程序210的虚拟地址空间300(参照图3)的处理等。
存储控制程序210具有资源管理程序211和I/O实施程序212。对各程序的处理进行后述。
控制用信息220是用于被存储控制程序210使用的、与来自主机计算机120的I/O请求对应的I/O处理的控制等的信息。控制用信息220包含:物逻地址变换表221、逻物地址变换表222、监视信息223、缓存224。此外,包含于控制用信息220的各种信息后述。
接着,对存储控制程序210使用的、存储于存储器102、非易失性介质103、驱动器104的信息进行说明。
图3是说明第一实施方式的存储器、非易失性介质、以及驱动器中存储的信息的图。
存储器102中存储物逻地址变换表221、逻物地址变换表222、监视信息223以及缓存224。
存储控制程序210,由OS200提供CPU101或存储器102。由OS200分配于存储控制程序210的存储器102的区域作为存储控制程序210中的地址空间即虚拟地址空间300进行管理。虚拟地址空间300中,虚拟性地存储有物逻地址变换表301、逻物地址变换表302、监视信息303,缓存304。即,虚拟地址空间300的物逻地址变换表301实际为存储器102的物逻地址变换表221,逻物地址变换表302实际为存储器102的逻物地址变换表222,监视信息303实际为存储器102的监视信息223,缓存304实际为存储器102的缓存224。
执行存储控制程序210的CPU101通过使用虚拟地址空间300上的虚拟地址来发出对各种信息的访问请求,从而获取各种信息。此时,执行OS200的CPU101检测到来自存储控制程序210的访问请求时,将该虚拟地址变换为表示存储器102上的位置的物理地址,使用物理地址对存储于存储器102上的信息进行访问,并将访问结果送回至存储控制程序210。
非易失性介质103中存储有控制用信息中的物逻地址变换表310。
驱动器104中存储有:规定的时刻(例如存储装置100的上一次的结束时刻)的与存储器102的控制用信息相当的控制用信息320、表示驱动器104中是否存储有正常的控制用信息320的作为正常存储信息的一例的已存储标志321。已存储标志在存储装置工作时删除,在正常地工作结束的情况下存储。作为存储于驱动器104的控制用信息320,可以包含存储器102中的物逻地址变换表221、逻物地址变换表222、监视信息223、缓存224,也可以仅为物逻地址变换表221。
接着,对逻物地址变换表222详细地说明。
存储控制程序210是向驱动器104发行I/O请求的程序。存储控制程序210使用物理地址和逻辑地址。
物理地址是惟一识别发出I/O请求的对象的驱动器104的数据的存储位置的值。物理地址成为相对于驱动器104的存储区域依次分配编号的地址。
另一方面,逻辑地址是为了使向驱动器104的访问容易而由存储控制程序210生成的值,向关于逻辑存储区域的空间分配编号的地址以能够容易地管理存储控制程序210。逻辑地址是例如对主机计算机120通知的地址,来自主机计算机120的I/O请求中指定逻辑地址。逻辑地址与物理地址一一对应。
逻物地址变换表222是用于将逻辑地址变换成物理地址的即从逻辑地址惟一地确定物理地址的表。逻辑地址成为向空间分配编号的地址,逻辑地址空间成为比物理地址空间大的大小。因此,当将逻辑地址与物理地址的对应关系以一级的表进行管理时,逻辑地址变换表222的数据量变大。因此,本实施方式中,为了防止逻辑地址变换表222的数据量的巨大化,设为多级的表结构。
图4是第一实施方式的逻物地址变换表的结构图。
逻物地址变换表222具有多级表400和空闲区域列表410。空闲区域列表410是可分配于多级表400的空闲区域的条目411的列表。空闲区域列表410中管理的条目411中未存储值。空闲区域列表410的条目411在向多级表400的条目的分配成为必要的时刻,从空闲区域列表410释放,并分配于多级表400。
多级表400由多级的表401~407构成。各级的表能够管理与成为对象的逻辑地址对应的条目,识别与逻辑地址对应的条目,并根据识别出的条目的值追溯至下级的表。而且,能够从能够根据逻辑地址惟一地追溯的最下级的表的条目获取与该逻辑地址对应的物理地址。此外,在对成为对象的逻辑地址未分配物理地址时,根据逻辑地址识别的条目成为空。例如,在对该逻辑地址分配物理地址的情况下,将空闲区域列表410的末尾的条目411开放,将该条目用作根据逻辑地址识别的表的条目,并将该条目以能够获取分配的物理地址的方式设定。
在此,对使用逻物地址变换表222获取与逻辑地址422(例如abcdef)对应的物理地址的例子进行说明。首先,根据第一级的表401识别与逻辑地址422对应的条目(例如000的条目)。能够根据该条目追溯至第二级的表402。接着,根据第二级的表402识别与逻辑地址422对应的条目。根据该条目能够追溯第三级的表404,同样,能够追溯至第四级的表406。根据第四级的表406识别与逻辑地址422对应的条目。通过追溯该条目的指针,能够获取物理地址432(例如123456)。
接着,说明对逻物地址变换表222登记与逻辑地址421(例如02468a)对应的物理地址的例子。首先,通过根据逻辑地址421追溯各级的表,能够确定第四级的表407。在此,当根据表407识别与逻辑地址421对应的条目时,未分配物理地址,因此条目为空。此时,将空闲区域列表410的末尾的条目411从空闲区域列表410释放,并作为第四级的表407的条目进行分配。接着,该条目中存储指向分配于逻辑地址421的物理地址431的指针。由此,之后能够获取与逻辑地址421对应的物理地址431。
接着,对物逻地址变换表221进行详细地说明。
图5是第一实施方式的物逻地址变换表的结构图。
物逻地址变换表221是用于将物理地址变换成逻辑地址的即根据物理地址惟一地确定逻辑地址的表。物理地址空间的大小比逻辑地址空间小。因此,物逻地址变换表221与逻物地址变换表222不同,即使由一级的表构成,也能够抑制较大的数据量。因此,本实施方式中,将物逻地址变换表221作为一级的表构成。
物逻地址变换表221存储与各物理地址对应的条目。各条目例如按照物理地址的升序排列。物逻地址变换表221的条目包含物理地址501和逻辑地址502的字段。物理地址501中存储驱动器104的物理地址。逻辑地址502中存储分配于条目的物理地址501的物理地址的逻辑地址。
根据图5的物逻地址变换表221的第一行条目,能够从物理地址432(值为1234356)获取逻辑地址422(值为abcdef)。
在此,通过I/O请求,为了访问驱动器104的数据,为了变换逻辑地址与物理地址所需要的逻辑地址与物理地址的对应关系成为必须的。逻辑地址与物理地址的对应关系在物逻地址变换表221和逻物地址变换表222中管理。当它们双方的表消失时,不能生成逻辑地址与物理地址的对应关系。因此,物逻地址变换表221或逻物地址变换表222的任一方的信息能够是指为了访问与I/O请求对应的数据所必须的信息,且消失时不能生成的信息。本实施方式中,物逻地址变换表221为一级的表且表大小较小,并且不按每个I/O请求进行参照,因此,将物逻地址变换表221设为保存对象信息。此外,也可以将控制用信息中的包含物逻地址变换表的一部分信息设为保存对象信息。
接着,对监视信息223进行详细地说明。
图6是第一实施方式的监视信息的结构图。
监视信息223存存储储装置100的资源的信息。监视信息223存储每个资源的条目。监视信息223的条目包含种类511、ID512、更新时刻513、读取IOPS514、写入IOPS515、读取传输速度516、写入传输速度517、缓存命中率518的字段。
类型511中存储与条目对应的资源的种类。ID512中存储惟一地识别与条目对应的资源的ID。更新时刻513中存储更新了条目的内容的更新时刻。读取IOPS514中存储与条目对应的资源(在此为卷)中的关于读取的IOPS(Input/Output per second:每秒读写次数)。写入IOPS515中存储与条目对应的资源(在此为卷)中的关于写入的IOPS。读取传输速度516中存储与条目对应的资源中的读取时的传输速度。写入传输速度517中存储与条目对应的资源中的写入时的传输速度。缓存命中率518中存储与条目对应的资源中的缓存的命中率。
此外,作为登记于监视信息223的资源,也可以是卷以外的资源,例如CPU等。另外,作为存储于条目的资源的信息,也可以包含关于上述以外的性能的信息,另外,也可以包含关于卷的使用率等的资源的使用状况的信息。
例如,监视信息223的条目520存储有关于ID以002识别的卷(Vol)的信息。根据该条目可知,条目的信息更新为10:15,卷的读取IOPS为10k,写入IOPS为0,读取传输速度为10000MB/s,写入传输速度为0MB/s,缓存命中率为80%。
接着,对缓存224进行说明。
图7是第一实施方式的缓存的结构图。
缓存224为了提高访问中的响应性能而管理一部分用户数据。缓存224存储缓存的每个用户数据的条目。缓存224的条目包含逻辑地址521和存储数据522的字段。逻辑地址521中存储与条目对应的逻辑地址。存储数据522中存储与条目的逻辑地址521的逻辑地址对应的驱动器104的物理地址中存储的用户数据。
例如,缓存224的条目530中存储有以逻辑地址abcdef识别的驱动器104的存储区域的用户数据即0x101010。此外,也可以将缓存224与逻物地址变换表222一样以多级表管理。
接着,对存储装置100的处理动作进行说明。
图8是第一实施方式的I/O处理的流程图。
存储控制程序210的I/O实施程序212(严格而言,执行I/O实施程序212的CPU101)从主机计算机120接收I/O请求时(步骤601),执行获取I/O请求的发出目的地的驱动器104的物理地址的物理地址获取处理(参照图9)(步骤602)。
接着,I/O实施程序212通过相对于以步骤602中获取的物理地址识别的驱动器104的存储区域实施数据访问处理(参照图10),进行对驱动器104的访问(步骤603)。
接着,I/O实施程序212将数据访问处理的结果与主机计算机120响应(通知)(步骤604)。
接着,对物理地址获取处理(步骤602)进行说明。
图9是第一实施方式的物理地址获取处理的流程图。此外,图9及以后的附图中,有时将物逻地址变换表记载为物逻表,将逻物地址变换表记载为逻物表。
存储控制程序210的I/O实施程序212(严格而言,执行I/O实施程序212的CPU101)获取接收到的I/O请求中包含的I/O请求目的地的逻辑地址(该处理的说明中称为对象逻辑地址),参照存储器102的逻物地址变换表222,探索与对象逻辑地址对应的物理地址(步骤701)。
其结果,在与对象逻辑地址对应的物理地址存储于逻物地址变换表222的情况下(步骤701:有地址),I/O实施程序212获取该物理地址(步骤702),并结束物理地址获取处理。
另一方面,在与对象逻辑地址对应的物理地址未存储于逻物地址变换表222的情况下(步骤701:无地址),I/O实施程序212参照物逻地址变换表221,探索对象逻辑地址(步骤703)。
其结果,在对象逻辑地址存储于物逻地址变换表221的情况下(步骤703:有地址),是指由于断电等在逻物地址变换表222中未存储关于对象逻辑地址的物理地址,因此,I/O实施程序212参照物逻地址变换表221,获取与对象逻辑地址对应的物理地址(步骤704),并将处理进入步骤709。
另一方面,在对象逻辑地址未存储于物逻地址变换表221的情况下(步骤703:无地址),是指未向该逻辑地址分配物理地址,I/O实施程序212确认I/O请求的访问种类(步骤705)。
其结果,在I/O请求的访问种类为写入的情况下(步骤705:写入),I/O实施程序212分配与对象逻辑地址对应的物理地址(步骤706),向非易失性介质103的物逻地址变换表310登记对象逻辑地址和分配的物理地址的组(步骤707),并向虚拟地址空间300的物逻地址变换表301存储对象逻辑地址和分配的物理地址的组(步骤708)。通过I/O实施程序212,在虚拟地址空间300的物逻地址变换表301中存储对象逻辑地址和分配的物理地址的组时,利用OS200,在与虚拟地址空间300的区域对应的存储器102的物逻地址变换表221中存储对象逻辑地址和分配的物理地址的组。
实施步骤704或步骤708之后,I/O实施程序212将对象逻辑地址和对应的物理地址的组登记于逻物地址变换表222(步骤709),并结束物理地址获取处理。
另一方面,步骤705中,在I/O请求的访问种类为读取的情况下(步骤705:读取),I/O实施程序212获取存储零的区域(零存储完成区域)的物理地址(步骤710),并结束物理地址获取处理。
对每个I/O请求实施的物理地址获取处理中,物理地址在逻物地址变换表为存储完成,则仅通过向逻物地址变换表的访问,可进行物理地址获取。
接着,对数据访问处理(步骤603)进行说明。
图10是第一实施方式的数据访问处理的流程图。
存储控制程序210的I/O实施程序212(严格而言,执行I/O实施程序212的CPU101)确认接收到的I/O请求中包含的访问种类(步骤801)。
其结果,在访问种类为写入的情况下(步骤801:写入),I/O实施程序212对缓存224的逻辑地址521存储I/O请求的访问对象的地址(访问对象地址),且对存储数据522存储该I/O请求中写入的对象的数据(写入数据)(步骤802)。接着,I/O实施程序212对根据步骤602中获取的物理地址识别的驱动器104的存储区域,存储写入数据(步骤803),并结束数据访问处理。
另一方面,步骤801中,在访问类型为读取的情况下(步骤801:读取),I/O实施程序212参照缓存224,探索逻辑地址521中是否存储I/O请求的访问对象地址(步骤804)。
其结果,在逻辑地址521中存储有I/O请求的访问对象地址的情况下(步骤804:有),I/O实施程序212从对应的条目的存储数据522获取数据(读取)(步骤805),并结束数据访问处理。
另一方面,在逻辑地址521中未存储I/O请求的访问对象地址的情况下(步骤804:无),I/O实施程序212从根据步骤602中获取的物理地址识别的驱动器104的存储区域获取(读取)数据(步骤806),并结束数据访问处理。
接着,对监视信息获取处理进行说明。
监视信息获取处理是获取监视对象资源而得到的监视信息的处理,例如可以定期地实施,也可以作为I/O处理的延伸而以存储于监视信息223的条目520的信息进行了更新为契机进行实施,另外,也可以以用户的指示为契机进行实施。
图11是第一实施方式的监视信息获取处理的流程图。
存储控制程序210的资源管理程序211(严格而言,执行资源管理程序211的CPU101)获取关于对象资源的监视信息223的条目520中存储的信息,且存储于监视信息223(步骤901),并结束监视信息获取处理。此外,作为收集监视信息的对象资源,例如也可以设为存储控制程序210设为控制对象的全部资源,也可以仅设为由用户指示的资源。
接着,对监视信息显示处理进行说明。
监视信息显示处理例如可以以用户的指示为契机进行实施,也可以定期地实施。
图12是第一实施方式的监视信息显示处理的流程图。
存储装置100内的存储控制程序210的资源管理程序211将存储于存储器102的监视信息223的条目520发送至管理用计算机110的资源管理程序111(步骤1001)。
另一方面,管理用计算机110的资源管理程序111(严格而言,执行资源管理程序111的管理用计算机110的处理器)接收从存储装置100的存储控制程序210发送来的监视信息223的条目(步骤1002)。
接着,资源管理程序111将接收到的监视信息的条目520的更新时刻513的更新时刻与上一次更新时刻即上一次的显示时使用的监视信息223的更新时刻进行比较(步骤1003)。
其结果,在接收到的监视信息中存储的更新时刻与上一次更新时刻相同情况下(步骤1003:与上一次更新时刻相同),当前的显示为最新的状态,因此,资源管理程序111结束处理。
另一方面,在接收到的监视信息中存储的更新时刻与上一次更新时刻不同的情况下(步骤1003:与上一次更新时刻不同),是指重新更新监视信息223,因此,资源管理程序111在性能信息显示画面1100(参照图13)中显示从接收到的监视信息323的条目520得到的信息(步骤1004)。接着,资源管理程序111将上一次更新时刻变更为步骤1002中接收到的监视信息223中存储的更新时刻(步骤1005),并结束监视信息显示处理。
此外,管理用计算机110的资源管理程序111除了进行监视信息的显示的处理以外,例如也可以使用监视信息进行变更存储装置100的资源的分配的处理,并实施存储装置100中的负荷分散。
接着,对性能信息显示画面1100进行说明。
图13是第一实施方式的性能信息显示画面的结构图。
性能信息显示画面1100中显示性能信息显示区域1101、更新按钮1102、关闭按钮1103。
性能信息显示区域1101中显示从监视信息223得到的、与关于对象资源的性能相关的时序的图表。性能信息显示区域1101中,例如基于从监视信息223的读取传输速度516得到的读取传输速度,显示关于对象资源的时序的图表。图13的例子中,显示表示关于由直到时间9:15~10:15的Vol1001、V0l1102识别的卷的读取传输速度的图表。此外,显示于性能信息显示区域1101的时刻范围也可以与图13的例子不同。另外,性能信息显示区域1101中设为显示对象的性能信息的类型不限于读取传输速度,也可以是其它的性能信息、例如IOPS或缓存命中率。另外,在监视信息223中存储有卷的使用率的信息的情况下,也可以显示该卷的使用率的信息。
更新按钮1102是接收监视信息显示处理的执行的按钮。当由用户按下更新按钮1102时,资源管理程序111开始图12所示的监视信息显示处理的执行。由此,性能信息显示画面1100中显示最新的性能信息。此外,也可以以更新按钮1102的按下为契机,存储装置100开始图11所示的监视信息获取处理的执行。
关闭按钮1103是接收关闭性能信息显示画面1100的指示的按钮。当用户按下关闭按钮1103时,资源管理程序111关闭性能信息显示画面1100,并结束动作。
接着,对存储装置100起动时执行的起动处理进行说明。
图14是第一实施方式的起动处理的流程图。
存储控制程序210(严格而言,执行存储控制程序210的CPU101)通过使从OS220分配的存储器102的空间与本身的虚拟地址空间300相对应,而进行生成虚拟地址空间300的处理(步骤1201)。
接着,存储控制程序210参照存储于驱动器104的已存储标志321(步骤1202)。其结果,在已存储标志321有效的情况下(步骤1202:有效),是指控制用信息正常地存储于驱动器104,因此,存储控制程序210将存储于驱动器104的控制用信息320写入虚拟地址空间300内(步骤1203),并将处理进入步骤1208。
另一方面,在已存储标志321为无效的情况下(步骤1202:无效),是指驱动器104中未正常存储控制用信息,因此,存储控制程序210将存储于非易失性介质103的物逻地址变换表310写入虚拟地址空间300内(步骤1204)。
接着,存储控制程序210参照虚拟地址空间300上的物逻地址变换表301(步骤1205)。其结果,在物逻地址变换表301中存储有物理地址和逻辑地址的组(条目)的情况下(步骤1205:有条目),需要将对应于该条目的物理地址与逻辑地址的对应关系登记于逻物地址变换表,因此,存储控制程序210执行逻物表更新处理(参照图15)(步骤1206),并将处理进入步骤1208。此外,步骤1206中,存储控制程序210将物理地址为未分配的容量的空闲区域存储于空闲区域列表。
另一方面,在物逻地址变换表301中未存储条目的情况下(步骤1205:空),是指存储装置100的驱动器104中未存储用户数据,因此,存储控制程序210在虚拟地址空间300内重新生成逻物地址变换表222(步骤1207),并将处理进入步骤1208。此外,步骤1207中,存储控制程序210在存储于逻物地址变换表222的条目设定空,并将可分配的容量的空闲区域存储于空闲区域列表410。
步骤1208中,存储控制程序210将驱动器104的已存储标志321设定成无效,并结束处理。
此外,在步骤1202中已存储标志为无效的情况下,新生成监视信息223和缓存224。
根据上述的起动处理,即使在由于停电等截断电源的供给(发生断电),驱动器104中不能正常地存储控制用信息320的情况下,通过非易失性介质103的物逻地址变换表310,也能够精确地再现逻物地址变换表302(222也一样),以后,通过逻物地址变换表302,能够适当地确定与逻辑地址对应的物理地址,并访问对应的驱动器114的区域。
接着,对逻物表更新处理(步骤1206)进行说明。
图15是第一实施方式的逻物表更新处理的流程图。
存储控制程序210(严格而言,执行存储控制程序210的CPU101)参照物逻地址变换表221(步骤1701)。其结果,在物逻地址变换表301内不实施对逻物地址变换表302的更新的、没有物理地址与逻辑地址的组的情况下(步骤1701:无未更新地址),是指存储控制程序210对登记于物逻地址变换表301的、所有的物理地址与逻辑地址的组,反映于逻物地址变换表302,因此,结束逻物表更新处理。
另一方面,在物逻地址变换表301内未实施逻物地址变换表302的更新的、具有物理地址与逻辑地址的组的情况下(步骤1701:有未更新地址),存储控制程序210获取一个未实施对逻物地址变换表302的更新的、物理地址与逻辑地址的组(步骤1702)。
接着,存储控制程序210以逻物地址变换表302的第一级的表为参照对象(步骤1703),基于步骤1702中获取的逻辑地址识别参照对象的表内的条目(步骤1704)。
其结果,在识别出的条目不是空的情况下(步骤1705:非空),存储控制程序210将处理进入步骤1708。另一方面,在识别出的条目为空的情况下(步骤1705:空),存储控制程序210从空闲区域列表410获取条目(步骤1706),将获取的条目作为识别出的条目进行分配(步骤1707),并将处理进入步骤1708。
步骤1708中,存储控制程序210判断参照对象的表是否为最终级。
其结果,在参照对象的表不是最终级的情况下(步骤1708:不是最终级),存储控制程序210根据步骤1705中识别出的条目识别下一级的表并设为参照对象(步骤1709),并将处理进入步骤1704。
另一方面,在参照对象的表为最终级的情况下(步骤1708:最终级),存储控制程序210相对于步骤1705中识别出的条目或步骤1707中分配的条目,登记步骤1702中获取的物理地址,并将处理进入步骤1701。
根据该逻物表更新处理,通过基于存储于非易失性介质103的物逻地址变换表310生成的物逻地址变换表301,能够适当地再现与该状态对应的逻物地址变换表302。
接着,对结束存储装置100的情况的结束处理进行说明。
图16是第一实施方式的结束处理的流程图。
存储控制程序210(严格而言,执行存储控制程序210的CPU101)接收到程序的结束请求时(步骤1301),执行后续的处理。此外,结束请求可以基于用户的指示发出,存储控制程序210也可以检测本身的异常等而对自身发出。
接着,存储控制程序210结束I/O请求的接收(步骤1302)。接着,存储控制程序210全部执行接收完成的I/O请求,并将执行结果对请求者进行响应(步骤1303)。
接着,存储控制程序210将存储于虚拟地址空间300的控制用信息传输至驱动器104,并生成控制用信息320(步骤1304)。接着,存储控制程序210将已存储标志321设定成有效(步骤1305),并结束本身(步骤1306)。
根据该结束处理,能够将进行与I/O请求对应的处理之后的存储于虚拟地址空间300的控制用信息,即存储于存储器102的控制用信息存储于驱动器104,这样,能够将存储于存储器102的控制用信息正常地存储于驱动器104之后,能够使已存储标志321有效。因此,使已存储标志321为有效,能够表示驱动器104的控制用信息为结束处理中正确地存储的控制用信息。
如以上进行的说明,第一实施方式的计算机系统中,在物逻地址变换表301(与222一样)中有更新的情况下,非易失性介质103的物逻地址变换表310也进行更新,因此,不会将物逻地址变换表310的最新的状态在产生断电时消失,在断电后起动存储装置100的情况下,能够基于物逻地址变换表310,获取与I/O请求的逻辑地址对应的物理地址,因此,能够适当地访问数据。
接着,对本发明的第二实施方式的计算机系统进行说明。此外,第二实施方式中,以与第一实施方式的计算机系统不同的部分为中心进行说明。
首先,对第二实施方式的计算机系统的整体结构进行说明。
图17是第二实施方式的计算机系统的整体结构图。
第二实施方式的计算机系统1A是作为第一实施方式的计算机系统1的非易失性介质103具有作为非易失性介质103的一例的非易失性存储器1301的系统。非易失性存储器1301例如也可以是FM(Flash Memory:闪存)、PRAM(Phase-change Random Access Memory:相变随机存取存储器)、MRAM(Magnetoresistive Random Access Memory:磁阻式随机存取存储器)、ReRAM(Resistive Random Access Memory:电阻式随机存取存储器)或FeRAM(Ferroelectric Random Access Memory:铁电随机存取存储器)。
图18是说明第二实施方式的非易失性存储器中存储的信息的图。
第二实施方式的非易失性存储器1301存储作为存储于第一实施方式的存储器102的控制用信息的、物逻地址变换表221、逻物地址变换表222、监视信息223以及缓存224。此外,第二实施方式中,存储器102不存储物逻地址变换表221、逻物地址变换表222、监视信息223以及缓存224。另外,第二实施方式的驱动器104也可以不存储控制用信息320。
存储控制程序210的虚拟地址空间300中,利用OS200分配非易失性存储器1301的存储区域。此外,第一实施方式和第二实施方式中,能够将虚拟地址空间300设为相同,因此,存储控制程序210不需要根据实际上分配于虚拟地址空间300的区域是存储器102还是非易失性存储器1301,改变相对于物逻地址变换表221、逻物地址变换表222、监视信息223以及缓存224的数据的访问处理。
接着,对第二实施方式的计算机系统1A的处理动作进行说明。
计算机系统1A中,执行与图8所示的I/O处理一样的处理。此外,图8的各步骤中,有时具有与第一实施方式的计算机系统的处理不同的部分。对于该情况,以下进行记载。
计算机系统1A的物理地址获取处理中,也可以在图9所示的物理地址获取处理中,不执行步骤707的处理。
另外,计算机系统1A的起动处理中,在图14所示的起动处理的步骤1201中,存储控制程序210(严格而言,执行存储控制程序210的CPU101)通过使从OS220分配的非易失性存储器1301的存储器空间与本身的虚拟地址空间300相对应,进行生成虚拟地址空间的处理(步骤1201)。然后,步骤1201的处理结束之后,执行步骤S1205。然后,步骤S1205的结果,在物逻地址变换表301中未存储数据的情况下(步骤1205:空)进行步骤1207的处理,在存储有数据的情况下结束处理。
另外,计算机系统1A的结束处理中,在图16所示的结束处理中,不执行步骤1304和步骤1305。
如以上进行的说明,第二实施方式的计算机系统中,将物逻地址变换表221、逻物地址变换表222、监视信息223以及缓存224存储于非易失性存储器1301进行管理,因此,能够防止将这些信息在断电时消失,在断电后起动存储装置100的情况下,能够获取与I/O请求的逻辑地址对应的物理地址,因此,能够适当地访问驱动器104的数据。另外,不将逻物地址变换表222、监视信息223以及缓存224存储于存储器102,因此,能够大量确保存储器102的空闲容量。
接着,对本发明的第三实施方式的计算机系统进行说明。此外,第三实施方式的计算机系统的整体结构与第二实施方式的计算机系统1A一样,在此,以与第一实施方式的计算机系统不同的部分为中心进行说明。
图19是说明第三实施方式的非易失性存储器中存储的信息的图。
存储器102中存储逻物地址变换表222、监视信息223、缓存224。
非易失性介质1301中存储有控制用信息中的物逻地址变换表1601。物逻地址变换表1601为与物逻地址变换表221一样的结构。
本实施方式中,利用OS200向存储控制程序210提供CPU101、存储器102、非易失性存储器1301。利用OS200向存储控制程序210分配的存储器102以及非易失性存储器1301的区域作为存储控制程序210中的地址空间即虚拟地址空间300进行管理。虚拟地址空间300中,虚拟性地存储有物逻地址变换表301、逻物地址变换表302、监视信息303、缓存304。本实施方式中,虚拟地址空间300的物逻地址变换表301实际为非易失性存储器1301的物逻地址变换表1601,逻物地址变换表302实际为存储器102的逻物地址变换表222,监视信息303实际为存储器102的监视信息223,缓存304实际为存储器102的缓存224。
执行存储控制程序210的CPU101使用虚拟地址空间300上的虚拟地址发出对各种信息的访问请求,由此获取各种信息。此时,执行OS200的CPU101检测到来自存储控制程序210的访问请求时,将该虚拟地址变换成表示存储器102或非易失性存储器1301上的位置的物理地址,使用物理地址对存储于存储器102或非易失性存储器1301上的信息进行访问,并将访问结果送回至存储控制程序210。因此,本实施方式中,存储控制程序210中,对虚拟地址空间300的区域的信息的访问不意识虚拟地址空间300的信息实际是存储于非易失性存储器1301还是存储于存储器102。
驱动器104中存储有规定的时刻(例如存储装置100的上一次的结束时刻)的与存储器102的控制用信息相当的控制用信息320、和作为表示驱动器104中是否存储有正常的控制用信息320的正常存储信息的一例的已存储标志321。作为存储于驱动器104的控制用信息320,也可以包含:物逻地址变换表221、逻物地址变换表222、监视信息223、缓存224,也可以仅为物逻地址变换表221。
接着,对第三实施方式的计算机系统的处理动作进行说明。
计算机系统中,执行与图8所示的I/O处理一样的处理。此外,图8的各步骤中,有时具有与第一实施方式的计算机系统的处理不同的部分。对于该情况,以下进行说明。
计算机系统的物理地址获取处理中,也可以在图9所示的物理地址获取处理中不执行步骤707的处理。
另外,计算机系统的起动处理中,图14所示的起动处理的步骤1201中,存储控制程序210(严格而言,执行存储控制程序210的CPU101)通过使从OS220分配的非易失性存储器1301和存储器102的存储器空间与本身的虚拟地址空间300相对应,进行生成虚拟地址空间的处理(步骤1201)。然后,步骤1201以后的处理中,执行步骤S1204以外的处理。
此外,第三实施方式中,也可以不在驱动器104存储控制用信息320。在该情况下,不实施起动处理和结束处理中的与驱动器104之间的控制用信息的传输处理。
如以上进行的说明,第三实施方式的计算机系统中,使物逻地址变换表在非易失性存储器1301中进行管理,不在存储器102中进行管理,因此,在I/O处理时,对逻辑地址重新分配物理地址时,不存储于存储器102即可。
此外,本发明不限定于上述的实施方式,可在不脱离本发明宗旨的范围内适当变形并实施。
例如,上述实施方式中,将存储装置设为SDS,但本发明不限于此,存储装置也可以是搭载电池的专用的存储装置。在该情况下,在产生了电池的电源障碍等的情况下,能够相对于障碍前的数据适当地访问。
另外,上述实施方式中,以表形式管理控制用信息,但本发明不限于此,例如,也可以以日志形式的信息管理,总之,只要管理可确定更新结果的信息即可。例如,对于物逻地址变换信息,非易失性介质103或非易失性存储器1301中,也可以存储其整体的日志,也可以存储驱动器104中存储的日志以后的日志。
另外,上述实施方式中,执行图14所示的起动处理,在起动时,将逻物地址变换表302进行更新设为最新的状态,但本发明不限于此,也可以不执行图14所示的起动处理而执行图8的I/O处理。在该情况下,在对逻物地址变换表302中没有登记的逻辑地址有I/O请求的情况下,通过图9的物理地址获取处理中的步骤703、704和709,能够获取有访问的逻辑地址的物理地址而更新逻物地址变换表。由此,能够从驱动器104适当地获取对该I/O请求的数据。这样,在不执行图14所示的起动处理的情况下,不需要恢复逻物地址变换表302的整体,能够迅速地进行I/O处理。
附图标记说明
1…计算机系统,100…存储装置,101…CPU,102…存储器,103…非易失性介质,104…驱动器,110…管理用计算机,120…主机计算机,130…网络,220…控制用信息,221、301、310…物逻地址变换表,222、302…逻物地址变换表,300…虚拟地址空间,1301…非易失性存储器。
Claims (13)
1.一种能够接受来自主机计算机的I/O请求并执行与I/O请求相应的I/O处理的存储装置,其特征在于,包括:
处理器部;
非易失性介质;和
存取性能高于所述非易失性介质的存储器,
所述处理器部将关于执行I/O处理的控制的控制用信息存储于所述存储器和所述非易失性介质,
存储于所述非易失性介质的控制用信息中包含地址变换信息,该地址变换信息用于变换存储有所述I/O请求的对象数据的存储器件的物理地址和表示存储于所述物理地址的数据的逻辑区域的逻辑地址。
2.根据权利要求1所述的存储装置,其特征在于:
所述处理器部将所述控制用信息的地址变换信息同步地存储于所述存储器和所述非易失性介质,
所述处理器部使用存储于所述存储器的地址变换信息来执行I/O处理。
3.根据权利要求2所述的存储装置,其特征在于:
所述处理器部进行:
将包含所述地址变换信息的控制用信息同步地存储于所述存储器和所述非易失性介质的第一存储;和
以频度比所述第一存储小的频度将所述控制用信息存储于非易失性的存储介质的第二存储。
4.根据权利要求2所述的存储装置,其特征在于:
同步地存储于所述存储器的地址变换信息和存储于所述非易失性介质的地址变换信息是对象的地址相同但形式不同的信息。
5.根据权利要求1所述的存储装置,其特征在于:
所述地址变换信息包含将所述物理地址与所述逻辑地址互逆变换的、以一级的表管理的第一地址变换信息;和以多级的表管理的第二地址变换信息,
所述第一地址变换信息存储于所述非易失性介质,所述第二地址变换信息存储于所述存储器。
6.根据权利要求5所述的存储装置,其特征在于:
所述第一地址变换信息是用于将所述物理地址变换成所述逻辑地址的物逻地址变换信息,
所述第二地址变换信息是用将所述逻辑地址变换成所述物理地址的逻物地址变换信息,
所述处理器部使用所述逻物地址变换信息来访问所述存储器件的数据。
7.根据权利要求5所述的存储装置,其特征在于:
存储于所述存储器的控制用信息还存储于非易失性的存储介质,并且存储表示已正常存储之情况的存储标志,
在有所述存储标志的情况下,从所述非易失性的存储介质读出所述第二地址变换信息,
在没有所述存储标志的情况下,从所述非易失性介质内的所述第一地址变换信息生成所述第二地址变换信息。
8.根据权利要求3所述的存储装置,其特征在于:
还进行将存储于所述存储器的控制用信息存储于所述非易失性的存储介质的所述第二存储,并且存储表示已正常存储之情况的存储标志,
在有所述存储标志的情况下,从所述非易失性的存储介质读出进行了所述第二存储的地址变换信息,
在没有所述存储标志的情况下,从所述非易失性介质内读出进行了所述第一存储的地址变换信息。
9.根据权利要求1所述的存储装置,其特征在于:
存储于所述存储器的控制用信息中包含缓存信息、监视信息和所述地址变换信息的一部分。
10.根据权利要求9所述的存储装置,其特征在于:
存储于所述非易失性介质的控制用信息中不包含缓存信息和监视信息。
11.根据权利要求1所述的存储装置,其特征在于:
所述非易失性介质是用于存储关于所述I/O处理的数据的存储器件。
12.根据权利要求1所述的存储装置,其特征在于:
所述存储器是易失性存储器。
13.一种能够接受来自主机计算机的I/O请求并执行与I/O请求相应的I/O处理的存储装置的控制方法,其特征在于:
所述存储装置包括非易失性介质和存取性能高于所述非易失性介质的存储器,
所述处理器部将关于执行I/O处理的控制的控制用信息存储于所述存储器和所述非易失性介质,
存储于所述非易失性介质的控制用信息中包含地址变换信息,该地址变换信息用于变换存储有所述I/O请求的对象数据的存储器件的物理地址和表示存储于所述物理地址的数据的逻辑区域的逻辑地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-116944 | 2019-06-25 | ||
JP2019116944A JP2021005121A (ja) | 2019-06-25 | 2019-06-25 | ストレージ装置、及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112214162A true CN112214162A (zh) | 2021-01-12 |
Family
ID=74044622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010107143.8A Pending CN112214162A (zh) | 2019-06-25 | 2020-02-21 | 存储装置和控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11372583B2 (zh) |
JP (1) | JP2021005121A (zh) |
CN (1) | CN112214162A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11288435B1 (en) * | 2020-11-13 | 2022-03-29 | Renesas Electronics Corporation | Failure analysis apparatus, computer readable recording medium and failure analysis method |
US11947818B2 (en) * | 2022-04-20 | 2024-04-02 | Silicon Motion, Inc. | Method for accessing flash memory module and associated flash memory controller and electronic device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347355B1 (en) * | 1999-02-05 | 2002-02-12 | Seiko Epson Corporation | Non-volatile storage, the controlling method, and information memory medium |
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
JP2011180963A (ja) * | 2010-03-03 | 2011-09-15 | Renesas Electronics Corp | 半導体集積回路装置 |
US20170039141A1 (en) * | 2015-08-04 | 2017-02-09 | Phison Electronics Corp. | Mapping table updating method, memory storage device and memory control circuit unit |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
KR20180016679A (ko) * | 2016-08-04 | 2018-02-19 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
CN108628771A (zh) * | 2017-03-15 | 2018-10-09 | 东芝存储器株式会社 | 信息处理装置、存储设备以及信息处理系统 |
CN109240949A (zh) * | 2017-07-11 | 2019-01-18 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3959870B2 (ja) * | 1998-10-12 | 2007-08-15 | 株式会社日立製作所 | ディスク内容障害回復方法及び計算装置 |
JP2003263276A (ja) * | 2002-03-08 | 2003-09-19 | Toshiba Corp | ディスクシステムおよびディスクアクセス方法 |
JP4662743B2 (ja) * | 2004-09-13 | 2011-03-30 | Necインフロンティア株式会社 | データ2重化システム |
JP4437489B2 (ja) | 2006-10-25 | 2010-03-24 | 株式会社日立製作所 | 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム |
US9383927B2 (en) * | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
US9927985B2 (en) * | 2016-02-18 | 2018-03-27 | SK Hynix Inc. | Method of dynamic table journaling |
-
2019
- 2019-06-25 JP JP2019116944A patent/JP2021005121A/ja active Pending
-
2020
- 2020-02-21 CN CN202010107143.8A patent/CN112214162A/zh active Pending
- 2020-03-03 US US16/808,259 patent/US11372583B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347355B1 (en) * | 1999-02-05 | 2002-02-12 | Seiko Epson Corporation | Non-volatile storage, the controlling method, and information memory medium |
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
JP2011180963A (ja) * | 2010-03-03 | 2011-09-15 | Renesas Electronics Corp | 半導体集積回路装置 |
US20170039141A1 (en) * | 2015-08-04 | 2017-02-09 | Phison Electronics Corp. | Mapping table updating method, memory storage device and memory control circuit unit |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
KR20180016679A (ko) * | 2016-08-04 | 2018-02-19 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
CN108628771A (zh) * | 2017-03-15 | 2018-10-09 | 东芝存储器株式会社 | 信息处理装置、存储设备以及信息处理系统 |
CN109240949A (zh) * | 2017-07-11 | 2019-01-18 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200409604A1 (en) | 2020-12-31 |
US11372583B2 (en) | 2022-06-28 |
JP2021005121A (ja) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5347061B2 (ja) | フラッシュメモリデータストレージデバイスにデータを格納するための方法及び装置 | |
JP6524039B2 (ja) | メモリシステム及び制御方法 | |
US10747666B2 (en) | Memory system | |
US10248322B2 (en) | Memory system | |
TWI515565B (zh) | 直接記憶體存取的方法及其固態磁碟機、電腦程式產品 | |
JP2019057155A (ja) | メモリシステムおよび制御方法 | |
US8966188B1 (en) | RAM utilization in a virtual environment | |
US20150142996A1 (en) | Dma transmission method and system thereof | |
US20150143031A1 (en) | Method for writing data into storage device and storage device | |
US9658957B2 (en) | Systems and methods for managing data input/output operations | |
JP2017162067A (ja) | ストレージシステム、情報処理システムおよび制御方法 | |
US9081692B2 (en) | Information processing apparatus and method thereof | |
JP2016506585A (ja) | データストレージのための方法及びシステム | |
US10310984B2 (en) | Storage apparatus and storage control method | |
JP2019057151A (ja) | メモリシステムおよび制御方法 | |
CN111078408B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
US20190243758A1 (en) | Storage control device and storage control method | |
US11151064B2 (en) | Information processing apparatus and storage device access control method | |
CN112115067A (zh) | 闪存物理资源集合管理装置及方法及计算机可读取存储介质 | |
KR20230012440A (ko) | 이기종 메모리 시스템에서의 로드 밸런싱을 위한 시스템 및 방법 | |
CN112214162A (zh) | 存储装置和控制方法 | |
Koh et al. | Faster than flash: An in-depth study of system challenges for emerging ultra-low latency SSDs | |
JP2021516402A (ja) | ハイブリッドメモリシステム | |
US11269559B2 (en) | Data processing device | |
US20220027265A1 (en) | Method and system for facilitating fast crash recovery in a storage device |
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 |