CN103019970B - 存储装置及其控制方法 - Google Patents
存储装置及其控制方法 Download PDFInfo
- Publication number
- CN103019970B CN103019970B CN201210069386.2A CN201210069386A CN103019970B CN 103019970 B CN103019970 B CN 103019970B CN 201210069386 A CN201210069386 A CN 201210069386A CN 103019970 B CN103019970 B CN 103019970B
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- write
- memory storage
- size
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- 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/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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- 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/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明的实施方式的存储装置具备:以多个单元为单位进行数据写入或数据读出的非易失性存储器;和控制上述存储器,将上述存储器的存储空间区分为多个分区进行管理的控制器。上述控制器在有数据写入请求的场合,分割写入数据的数据大小,在进行上述区分管理的第1分区的数据写入的期间,进行上述区分管理的第2分区的写入数据的数据请求,接收上述写入数据。
Description
关联申请
本申请以日本专利申请2011-206227号(申请日:2011年9月21日)为基础申请,享受优先权。本申请通过参照该基础申请,包含基础申请的全部内容。
技术领域
本发明的实施方式涉及存储装置及其控制方法等。
背景技术
保持数据的介质存在各种形态。作为这样的介质,例如有基于客户机-服务器模型的存储装置。基于客户机-服务器模型的包括存储装置及主机装置的存储系统中,有不同于其他存储系统的点。例如,基于客户机-服务器模型的存储装置及主机装置的作用分担不同于非基于客户机-服务器模型的存储装置及主机装置的作用分担。从而,主机装置和存储装置之间的通信内容在基于客户机-服务器模型的系统和非基于客户机-服务器模型的系统中也不同。
存储系统可能遵从特定的规格。例如,基于客户机-服务器模型的存储系统例如有UFS(Universal Flash Storage,通用闪存)存储装置及主机装置。对于按规格确定的点,存储系统必须遵从规格。但是,也存在不按规格确定的点,对于这样的点,可以由存储系统的设计者确定。对于存在这样自由度的事项,应该确定适于存储系统的特性的形态,以实现良好的性能。希望对伴随这样的自由度的事项进行适当的确定,提供可实现更高性能的存储装置。
发明内容
本发明的实施方式提供实现访问的效率化且对主机装置的响应性能高的存储装置。
实施方式的存储装置(存储器装置)具备:非易失性存储器,其以多个单元为单位进行数据写入或数据读出;和控制器,其控制上述存储器,将上述存储器的存储空间区分为多个分区进行管理。上述控制器,在有数据写入请求的场合,分割写入数据的数据大小,在进行上述区分管理的第1分区的数据写入的期间,进行上述区分管理的第2分区的写入数据的数据请求,并接收上述写入数据。
根据本发明的实施方式,可以提供实现访问的效率化且对主机装置的响应性能高的存储装置。
附图说明
图1是存储装置和主机装置之间的数据写入时的通信的例的示图;
图2是参考例的基于客户机-服务器模型的存储装置和主机装置之间的数据写入时的通信的例的示图;
图3是参考例的主机装置和存储装置的示图;
图4是第1实施方式的存储装置的硬件构成的示图;
图5是密封存储装置的形态的例的示图;
图6是第1实施方式的存储装置功能块的示图;
图7是第1实施方式的分组的例的示图;
图8是逻辑地址和物理块的变换表的例的示图;
图9是第1实施方式的LU的更详细功能块的示图;
图10是第1实施方式的数据写入时的通信的情形的示图;
图11是写入指令的例示图;
图12是转送请求用的通信内容的例示图;
图13是数据转送用的通信内容的例示图;
图14是第1实施方式的存储装置的数据分割判断流程的示图;
图15是第1实施方式的存储装置的数据分割的更具体的示图;
图16是图15中的忙碌期间(1)、(2)中的2个逻辑单元的访问状况的示图;
图17是第2实施方式的存储装置的数据分割判断流程的示图。
具体实施方式
[参考例]
在实施方式的说明之前,简单说明参考例。作为参考例,说明基于客户机-服务器模型的存储系统及不基于客户机-服务器模型的存储系统。作为不基于客户机-服务器模型的存储装置,以SDTM卡及eMMC为例。
图1表示存储装置(SDTM卡或eMMC)和主机装置之间的数据写入时的通信的例。如图1,主机装置通过发行写入指令,开始写入。写入指令包含向写入数据分配的逻辑地址。逻辑地址与写入数据的开始位置对应。存储装置接受写入指令后,返回响应。主机装置接受响应后,转送要向存储装置写入的数据(写入数据)。写入数据被分割为多个写入数据部分后转送。写入数据部分的大小根据SDTM卡或eMMC的规格预定。存储装置在接受数据期间,用准备/忙碌信号通知准备状态。存储装置逐次将接受的数据写入存储装置内的存储器。另一方面,例如由于存储装置的缓冲器存满等的理由,存储装置不能接受数据后,存储装置向主机装置通知忙碌状态。在存储装置的忙碌状态期间,主机装置中断数据的转送。忙碌状态解除后,主机装置再发送写入数据部分数据。这样,写入数据的全体发送后,存储装置发送写入停止指令。存储装置接受写入停止指令后,返回响应,结束写入。
这样,数据的写入位置由主机装置指定,写入数据部分的大小也根据规格确定。即,参考例的存储系统中,主机装置具有数据转送的主导权,主机装置向存储装置发出指示,存储装置遵从该指示。存储装置具有的自由度小。
图2表示基于客户机-服务器模型的存储装置和主机装置之间的数据写入时的通信的例。如图2,主机装置通过发行写入指令,开始写入。写入指令包含指定写入位置的逻辑地址及该写入指令的对象的写入数据的大小的信息。接受写入指令后,存储装置确定写入数据的转送请求的内容。转送请求中包含写入数据中的存储装置期望从主机装置转送的部分的大小及偏移地址(offset address)。偏移地址用于确定存储装置期望转送的部分的位置。主机装置接受转送请求后,将请求的数据部分向存储装置转送。存储装置执行将接受的数据部分写入存储器的动作和发送其他数据部分的转送请求的动作。该写入和转送请求继续到写入数据全体被写入为止。根据写入数据全体的写入的成功或失败,存储装置发送与主机装置相应的响应。
这样,图2的例中,存储装置确定写入数据部分,发送转送请求。该写入中,存在由规格确定的事项和不确定的事项。例如,存储装置的转送请求内的偏移地址是按时序还是随机在主机装置中任意设定,偏移地址的选择必须遵从该设定。另一方面,例如,有由转送请求指定的数据部分的大小在规格中未确定的情况。
<主机装置和存储装置的关系>
接着,用图3简单说明主机装置和存储装置的关系。
例如,按上述UFS标准化的数据写入(WRITE处理)中,从主机装置指定逻辑块地址和长度。接受指定的存储装置,对于向自身的NAND型闪速存储器进行的数据写入,不受一次写入还是分多次写入的制约,可以根据存储装置侧的情况进行处理。
如图示,上述UFS中,主机装置中的Application Client(应用程序客户端)可以对存储装置中的多个Logical Unit(逻辑单元)分别发行指令。按每个Logical Unit发行的指令要求分别独立动作。即,从Application Client侧看,多个Logical Unit必须独立、平行地运行。
但是,一般地说,对NAND型闪速存储器的访问与CPU的处理时间比,需要长时间。因而,向一个Logical Unit请求长数据的访问时,其他LogicalUnit的动作被阻碍,无法进行平行动作,对主机装置侧的响应性能也劣化。
另一方面,对存储装置具有的NAND型闪速存储器的数据写入存在最低限的写入大小的制约。因此,一次的写入大小大的情况具有提高对NAND型闪速存储器进行数据写入时的性能的性质。
以下,参照附图说明根据这样的见解构成的实施方式。另外,以下的说明中,对于具有近似同一功能及构成的构成要素,附上同一符号,重复说明仅仅在必要场合进行。另外,以下所示各实施方式例示了将该实施方式的技术思想具体化的装置和方法,实施方式的技术思想未将构成部件的材质、形状、构造、配置等限定如下。实施方式的技术思想可以在权利要求的范围进行各种变更。
[第1实施方式]
图4概略地说明了第1实施方式的存储装置。图4表示存储装置的硬件构成。如图4,存储装置1构成为可与主机装置(以下也简称为主机)2通信。存储装置1和主机2,至少对于来自主机2的写入请求,存储装置1以可指定写入数据的部分的大小及位置的方式与主机2通信。更具体地说,存储装置1和主机2根据客户机-服务器模型通信。存储装置1作为目标动作,主机2作为启动器(initiator)动作。而且,作为具体的例,存储装置1是UFS存储装置,主机2是支持UFS存储装置的主机。
存储装置1至少包含非易失性半导体存储器11和用于控制存储器11的存储器控制器12。存储器11以包括多个比特的特定的写入单位进行数据的写入及读出。而且,存储器11以包括多个写入单位的删除单位删除数据。
例如,存储器11包括一个或多个NAND型闪速存储器。存储器11为NAND型闪速存储器的场合,存储器11按页面单位进行数据的写入及读出。页面包括多个连接的存储单元的集合的存储空间,分配固有的物理地址。
存储器11具备包括多个存储单元的存储单元阵列和在存储单元之间进行数据的输入输出的页面缓冲器。页面缓冲器保持1页面量的数据。对存储器11写入数据的场合,存储器控制器12将写入指令以及表示写入目的地的页面地址和1页面的写入数据向存储器11发送。存储器11在页面缓冲器存储从存储器控制器12接收的写入数据,将页面缓冲器内的写入数据写入由页面地址指定的存储单元。对该存储单元的写入动作开始后,存储器11向存储器控制器12输出表示动作中的忙碌信号。继续写入数据的场合,忙碌信号切换为准备信号后,对下一页面地址进行与上述同样的动作。
进行来自存储器11的数据的读出的场合,存储器控制器12将读出指令以及表示读出目的地的页面地址向存储器11发送。存储器11从由页面地址指定的存储单元向页面缓冲器读出1页面的数据。来自该存储单元的读出动作开始后,存储器11对存储器控制器12输出忙碌信号。然后,忙碌信号切换为准备信号后,将在页面缓冲器存储的读出数据向存储器控制器11输出。继续读出数据的场合,对下一页面地址进行与上述同样的动作。
另外,存储器11为NAND型闪速存储器的场合,存储器11按块单位进行数据的删除。各块包括具有连续物理地址的多个页面。各存储单元包括所谓的层叠栅极构造的MOSFET(metal oxide semiconductor field effecttransistor,金属氧化物半导体场效应晶体管)。各单元晶体管根据在浮置栅极电极积蓄的电子的数改变阈值电压,存储与该阈值电压的差异相应的信息。存储器11为NAND型闪速存储器的场合,也可以以单元晶体管可取得2个以上的阈值电压的不同状态即存储单元可存储多值(多比特)的方式,构成存储器11。以下的说明中,为了方便,将写入单位设为页面,删除单位设为块。但是,存储器11不限于NAND型闪速存储器。
存储装置1包含I/O21、核心(core)逻辑部22、I/O23。I/O21包含存储装置1与主机2连接用的硬件上的构成。存储装置1为UFS存储装置的场合,存储装置1和主机2之间的信号包含RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c、VCC、VCCQ、VCCQ2、VDDi、VDDi2、VDDi3。RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c在主机2和I/O21之间通信。RESET是硬件复位信号。REF_CLK是参照时钟。DOUT和DOUT_c形成差动信号对,是从主机2向存储装置1发送的信号。DIN和DIN_c形成差动信号对,是从存储装置1向主机2发送的信号。VCC、VCCQ、VCCQ2是向存储器11及核心逻辑部31供给的电源电压。VDDi、VDDi2、VDDi3供给核心逻辑部31,是在核心逻辑部31内设置电压调节器时的输入端子。
核心逻辑部22是除存储器控制器12中的I/O外的主要部分。I/O23包含存储器控制器12与存储器11连接用的硬件上的构成。核心逻辑部22包含主机接口31、缓冲器32、数据总线33、存储器接口34、缓冲器35、ECC电路36、控制总线41、CPU42、ROM43、工作RAM45、寄存器46。
I/O21与主机接口31连接。主机接口31进行存储装置1和主机2通信所必要的处理。更具体地说,主机接口31按照存储装置1和主机2都遵从的通信协议,负责存储装置1和主机2之间的通信。存储装置1为UFS存储装置的场合,例如,主机接口31是UFS接口。UFS接口对于物理层,遵从M-PHY规格,对于链接层,遵从UniPro规格。
主机接口31与缓冲器32连接。缓冲器32接受从主机2经由主机接口31向存储装置1发送的数据,并暂时保持。另外,缓冲器32暂时地保持从存储装置1经由主机接口31向主机2发送的数据。缓冲器32与数据总线33连接。
I/O31与存储器接口34连接。存储器接口34进行存储器控制器12与存储器11通信所必要的处理。更具体地说,存储器接口34将来自核心逻辑部22的指示以存储器11可识别的形态发送。存储器11为NAND型闪速存储器的场合,存储器接口34是NAND闪速接口。
存储器接口34与缓冲器35连接。缓冲器35经由存储器接口34接受从存储器11向控制器12发送的数据,并暂时保持。另外,缓冲器35暂时地保持从控制器12经由存储器接口34向存储器11发送的预定的数据。缓冲器35与数据总线33连接。存储器接口34及缓冲器35与ECC(error correcting code,错误校正码)电路36连接。ECC电路36另外与数据缓冲器24连接。ECC电路36经由数据总线33接受来自主机1的写入数据,向写入数据附加纠错码,将附加了纠错码的写入数据供给缓冲器35。另外,ECC电路36经由缓冲器35接受从存储器11供给的数据,对该数据用纠错码进行纠错,将纠错的数据供给数据总线33。
数据总线33与控制总线41连接。控制总线41与CPU(central processingunit,中央处理单元)42、ROM(read only memory,只读存储器)43、RAM(random access memory,随机存取存储器)45、寄存器46连接。CPU42、ROM43、RAM45、寄存器46经由控制总线41相互通信。CPU42负责存储装置1的全体的动作。CPU42按照在ROM43存储的控制程序(命令),执行预定的处理。CPU42根据控制程序,按照从主机2接受的指令执行对存储器11的预定处理。
ROM43存储由CPU42控制的程序等。RAM45用作CPU42的操作区域,暂时地存储CPU42的操作所必要的变量等。寄存器46保持存储装置1的动作所必要的各种值。另外,寄存器46保持主机2控制存储装置2所必要的各种值。
控制总线41与主机接口31、缓冲器32、存储器接口34、缓冲器35连接。CPU42根据控制程序、来自主机2的指示,控制主机接口31、缓冲器32、存储器接口34、缓冲器35。也可以在存储器控制器12设置模拟端口电路51。
存储装置1可以是例如在印刷基板上焊接安装的埋入型,也可以是对在主机2设置的卡槽可拆卸的可移除型。图5表示密封的形态的存储装置1的例。如图5,在印刷基板201上层叠了芯片状的多个存储器11。各存储器11与印刷基板201上的布线图形(未图示)通过线202连接。芯片状的存储器控制器12也置于印刷基板201上,通过线202与布线图形连接。在印刷基板201的背面设置了例如未图示的外部端子(例如,BGA(ball grid array:球栅阵列))。外部端子被分配图3所示的信号(包含RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c、VCC、VCCQ、VCCQ2、VDDi、VDDi2、VDDi3。RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c),经由该外部端子,在与存储装置1外部的主机2之间进行信号通信。印刷基板201、存储器11、存储器控制器12、线202由例如树脂制的封装203密封。
接着,图6表示了存储装置1的构成的其他视点。更具体地说,图6表示了存储装置1的逻辑构成即功能块。各块可以由硬件、计算机软件之一或两者的组合实现。各功能块作为硬件执行或作为软件执行依赖于对具体实施方式或系统全体的设计制约。本专业技术人员按具体实施方式可以各种方法实现这些功能,这些实现的手法也是实施方式的范畴所包含的。另外,各功能块不必区分为以下的具体例。例如,部分功能也可以由与以下的说明中例示的功能块不同的功能块执行。而且,例示的块也可以进一步分割为更细的功能子块。由哪个块特定并不限定实施方式。
存储装置1包含目标端口61、路由器62、装置管理器63、描述符(descriptor)64、属性(attribute)65、标志(flag)66、多个LU(logical unit:逻辑单元)(67-1~67-n)。目标端口61是存储装置1与主机1可通信连接的端口,例如与主机接口31对应。路由器62将从主机2接收的通信(任务、指令、数据、查询等)路由到目的地的LU67。主机2通过以一个LU67为目的地的请求,请求指令的处理或任务管理功能。LU67彼此可以通过地址(例如LUN(logial unit number,逻辑单元数))相互识别。例如,如图7,LUN可包含在存储装置1和主机2之间的通信(分组)中。如图7,分组101包含LUN102和实体部103。LUN102可包含在例如分组101的报头。实体部103包含分组的功能所固有的内容,例如指令、数据、各种的参数等。各分组的目的地的LU62由LUN唯一确定。UFS存储装置中,存储装置1和主机2之间的分组都包含报头,在报头内记述了LUN。
路由器62根据该通信中的LUN,将从主机2接收的通信(任务、指令、数据、查询)路由到目的地的LU67。另外,路由器62将从多个LU67发往主机2的通信例如通过分时以适当顺序向目标端口61发送。路由器62由例如CPU42、ROM43、寄存器46实现。即,通过CPU42,一边参照寄存器46中的值一边执行ROM43中的程序而实现。
装置等级管理器63进行装置等级(level)的动作及组态(configuration)的管理。装置等级的管理包含例如存储装置1的功率管理、休眠等的控制等。装置等级的组态包含保持描述符的组等。装置等级管理器63处理来自主机2的存储装置1的组态信息的变更及输出请求即查询请求这样的指令。装置等级管理器63由例如CPU42、ROM43、寄存器46实现。即,通过CPU42,一边参照寄存器46中的值一边执行ROM43中的程序而实现。
描述符64、属性65、标志66作为例如工作RAM45中的数据而实现。描述符64具有预定义的格式的数据构造,用于记述存储装置1的任何特征。描述符64包含例如访问存储装置1所必要的装置类、子类、协议等。属性65是表示赋予存储装置1的设定的可变更或读出专用的参数。属性65包含例如可在存储装置1和主机2之间转送的数据的最大值等。标志66包括对各种项目的择一的逻辑值,例如由“真”或“伪”或“0”或“1”等表示。
各LU67由例如存储器11、存储器接口34、缓冲器35、ECC电路36、CPU42、ROM43、寄存器46实现。各LU67相互独立,执行来自主机2的处理。从而,各LU利用存储器11、接口31、缓冲器35、ECC电路36、CPU42、ROM43、寄存器46等的资源的一部分而实现。各LU如上述,根据从主机2确定一个LU的LUN而相互区别。来自主机2的指令由指定的LU67执行。
各LU67包含装置服务器71、任务管理器72、存储区域73。存储区域73由存储器11的存储区域中的一部分构成,实际存储来自主机2的写入数据。装置服务器71及任务管理器72由例如CPU42、ROM43、寄存器46实现。即,通过CPU42,一边参照寄存器46中的值一边执行ROM43中的程序而实现。装置服务器71解释并执行请求从主机2接收的LU等级的处理的指令。这样的处理包含例如数据的写入、读出、删除等。LU67包含存储区域73,因此,装置服务器71至少具有控制存储区域73(存储器11)的功能。任务管理器72控制多个指令(任务)的执行顺序,提供任务管理功能。
如上述,装置服务器71进行与存储器11的控制相关的处理。这样的处理包含逻辑地址和物理地址的变换。逻辑地址是由主机2向期望主机2写入存储装置1的数据分配的地址。物理地址如上述,是用于确定存储器11的写入区域(页面)或删除区域(块)的地址。装置服务器71管理与自身对应的存储区域73的数据存储状态。存储状态的管理包含管理哪个物理地址的页面(或物理块)保持哪个逻辑地址的数据的关系及哪个物理地址的页面(或物理块)为删除状态(什么都未写入或保持无效数据的状态)。为了进行该管理,装置服务器71保持例如逻辑地址/物理地址变换表(以下,也简称变换表)。
作为变换例,例如,如图8,可以将分配设为块。对各块中的各页面,分配固定的逻辑地址/偏移。图8表示存储器11的写入单位的大小为16kB,逻辑地址按512B大小的数据进行分配的例。
接着,参照图9及图10,说明数据写入时的动作。图9是第1实施方式的LU67的更详细的功能方框图。图9表示第1实施方式的数据写入时的通信的情形。多个LU67中的至少一个,典型为全部,具有以下参照图9说明的构成。如图9,装置服务器71包含管理部81、指令解析部82、转送请求生成部83、存储器控制部84。
管理部81管理装置服务器71的全体。指令解析部82从主机2经由路由器62接收指令。指令解析部82解析接收的指令。指令控制部82接收写入指令后,向转送请求生成部83请求转送请求的确定(生成)。对该转送请求生成部83的请求可以由指令解析部82直接进行,也可以由管理部81进行。转送请求生成部83接受请求后,根据在写入指令包含的写入数据的大小及地址,生成转送请求。存储器控制部84根据管理部81的指示,对存储器11发行所有指示。
接着,参照图10,说明数据写入时的时序。本例涉及对一个LU67的数据写入请求。因而,各通信都相当于该一个LU67和主机2之间的通信(分组)。
如图10,写入指令从主机2向存储装置1发送。写入指令如图11所示,至少包含LUN102、写入指示111、地址112、写入数据大小113。地址112是写入数据写入的位置(逻辑地址)。写入数据大小113表示写入数据的全体的大小。
UFS存储系统中,数据、指令、查询等都由分组转送。存储装置1及主机2是UFS存储系统的场合,写入指令与指令转送分组相当。分组包含报头,分组的实体部包含指令记述部,在指令记述部存储SCSI(small computersystem interface,小型计算机系统接口)指令。SCSI指令中,包含写入指令111、地址112、写入数据大小113。
写入指令由目的地的LU67中的指令解析部82接收。接收的指令若为写入指令,则指令解析部82直接或经由管理部81向转送请求生成部83请求转送请求的生成。接受生成请求后,转送请求生成部83考虑存储器11的特性,具体地说,考虑写入数据的逻辑地址及大小,生成转送请求。更具体地说,首先,转送请求生成部83参照写入数据的逻辑地址,检查写入请求是否与从写入目的地的页面的开头开始的写入请求相当。本例中,逻辑地址为0x0000,这与从块(即页面)的开头开始的写入请求相当。转送请求生成部83得知该情况后,向主机2请求写入数据中与1页面的大小相等的部分的转送。这是因为,存储器11按页面单位进行数据写入,因此若按写入数据中与1页面相同大小的部分(写入数据部分)接收数据,则可效率良好地写入数据。反之,例如若为页面的1.5倍的大小等,则由于写入数据部分的另一部分必须在缓冲器暂时存储等的理由,数据写入效率可能降低。这样,写入请求若与从写入目的地页面的开头开始的写入相当,则转送请求生成部83请求从写入数据全体的开头开始的页面大小的部分的转送。更具体地说,按照本例,生成从逻辑地址0x0000开始的16kB大小的写入数据部分的转送请求。该转送请求如图10所示,经由管理部81、路由器62向主机2发送。另外,第2实施方式中说明写入请求不与从页面的开头开始的写入请求相当的情况。
如图12所示,转送请求包含LUN(报头)102、转送数据/地址121、转送数据大小122。转送数据/地址121表示LU62请求转送的写入数据部分的偏移地址。转送数据大小122表示对应的写入数据部分的大小。存储装置1及主机2为UFS存储系统的场合,转送请求与转送请求分组相当。转送请求分组在分组的实体部中,表示LU62准备好数据转送,并且包含转送数据/地址121、转送数据大小122。
如图10,主机2接收转送请求后,发送与该转送请求相应的写入数据部分。如图13,数据转送包含LUN(报头)102、数据131。存储装置1及主机2为UFS存储系统的场合,数据转送通过数据转送分组进行。数据转送分组在分组的实体部中,包含要转送的数据。
来自主机1的写入数据部分在存储装置2中,更具体地说,由发行对应的转送请求的LU67接收。接收的写入数据部分通过存储器控制部84的控制,写入存储区域73的适切位置。
然后,转送请求生成部83生成下一转送请求。该转送请求,请求写入数据全体中的最初的写入数据部分后续的页面大小的部分的转送。该第2写入数据部分与从逻辑地址0x0020开始的16kB的大小的写入数据部分相当。转送请求向主机2发送。然后,对应的数据部分以参照第1数据部分说明的同样的顺序写入存储区域73。
以下,反复同样的处理。即,转送请求生成部83生成从第2写入数据部分后续的逻辑地址0x0040开始的16kB大小的第3写入数据部分的转送的请求。相应地,对应的数据部分写入存储区域73。而且,转送请求生成部83生成从第3写入数据部分后续的逻辑地址0x0060开始的16kB的16kB大小的最后的写入数据部分的转送的请求。相应地,对应的数据部分写入存储区域73。最后的写入数据部分的大小也是16kB。这是因为,写入数据的大小是页面大小的整数倍,且写入请求与从页面的开头开始的写入请求相当。最后的写入数据部分的转送请求的发送及写入结束后,对应的LU67的装置服务器(更具体地说是管理部81)将写入成功的信息的响应向主机2发送。这样,数据写入结束。
如以上说明,第1实施方式的存储装置具有对来自主机2的数据写入请求确定要转送的各写入数据部分的大小的权限,且请求页面大小的写入数据部分的转送。因而,一次转送的写入数据部分具有页面大小,并且其开头及终端与写入目的地的页面的开头及终端一致。这样,存储装置2可以与将接收的写入数据部分写入存储器11并行地接收下一写入数据部分。数据的写入中,存储器成为忙碌状态,但是,存储器11基于接受写入数据的情况。通过这样的写入时序,存储器11可效率良好地进行写入。
另外,在不管在写入数据的部分是否已存储数据,对一次写入数据的页面在不删除该数据的情况下禁止再次写入数据的存储器中,以存储器的页面的大小以上的单位进行逻辑地址和物理地址的变换的场合,若为了不产生页面的部分写入而不从主机2转送写入数据部分,则写入效率降低。例如,逻辑地址和物理地址的变换中,设为0x0000到0x0019的逻辑地址与存储器11的第1页面的物理地址对应,0x0020到0x0039的逻辑地址与存储器11的第2页面的物理地址对应。这里,从逻辑地址0x0010开始的16kB大小的写入数据部分从主机转送后,逻辑地址0x0010到0x0019的数据在第1页面的一半存储,逻辑地址0x0020到0x0029的数据在第2页面的一半存储。然后,存储装置从主机接收从逻辑地址0x0000开始的8kB大小的写入数据部分后,由于对第1页面的再次写入被禁止,因此,必须读出在第1页面存储的逻辑地址0x0010到0x0019的数据,与从主机接收的逻辑地址0x0000到0x0009的写入数据部分一起在新的第3页面存储。对该第3页面写入后,x0000到0x0019的逻辑地址与存储器11的第3页面的物理地址对应。这样,进行页面的部分写入后,从主机接受对页面的未写入部分的写入请求时,存储装置必须将已写入数据拷贝到新页面。另外,逻辑地址和物理地址的变换按存储器的块单位进行的场合,必须按块单位将已写入数据拷贝到新块,因此写入效率更显著降低。
另一方面,第1实施方式的存储装置向主机2请求转送的写入数据部分具有页面大小的同时,其逻辑地址的开头与页面的开头的物理地址对应,终端与页面的终端的物理地址对应。因而,不会产生页面的部分写入,可以避免伴随已写入数据的拷贝的写入效率的降低。
<数据分割判断流程>
接着,按照图14的流程说明第1实施方式的数据分割判断动作。第1实施方式的存储装置按照图示的流程进行数据分割判断。
首先,步骤S11时,存储装置1从主机装置2接收写入(WRITE)指令。写入指令例如在上述图11图示。
接着,步骤S12时,存储装置1确认上述接收的写入指令中的全部指令队列的内容。具体地说,如图11所示,存储装置1确认写入指令中的LUN102、写入指示111、地址112、写入数据大小113。
接着,步骤S13时,存储装置1判定数据处理的分割是否必要。具体地说,存储装置1调查在各Logical Unit(67)的指令队列排队的指令中写入(write)指令的数,根据该数判定数据写入处理的分割。本例的场合,是否分割的判定基准例如如下:
1.排队的Write指令在2个以上的场合
2.各个Write指令的写入大小在1页面以上的场合
满足这样的上述2个条件的场合,存储装置1将写入数据分割,进行数据写入。这里,详细情况将后述,在本例的场合,分割写入的数据大小为页面单位。另外,如图15所示,对一个逻辑单元(LU)的来自主机装置2的写入指令为一个。
接着,在步骤S14,判定上述步骤S13时需要数据处理的分割的场合(Yes),存储装置1按分割大小执行数据转送。
接着,在步骤S15,判定上述步骤S13时不必进行数据处理的分割的场合(No),存储装置1执行从主机装置2请求的数据转送。此时,存储装置1使写入数据的单位最大化(本例中为页面单位),进行数据写入。因此,可以提高数据转送效率。
<数据分割判断的具体例>
接着,更具体地用图15说明上述第1实施方式的数据分割判断动作。这里,作为一例表示了从主机1对逻辑单元67-1(LUN=1)和逻辑单元67-2(LUN=2)发行2个write指令,在上述步骤S13时,将write指令分割为2个的情况。
如图示,首先,存储装置1的存储器控制器12接收从主机装置(UFSHOST)2发行的对2个逻辑单元67-1(LUN=1)和逻辑单元67-2(LUN=2)的2个write指令(1)、(2)。
接着,存储器控制器12确认接收的write指令(1)、(2)的全部指令队列。
接着,存储器控制器12判定接收的write指令(1)、(2)的数据处理的分割是否必要。图示的场合中,是存储器控制器12在各Logical Unit(67)的指令队列排队的指令中写入(write)指令的数为2个以上((1)、(2)),各个Write指令的写入大小在1页面以上的场合。
因此,存储器控制器12判定需要分割接收的Write指令(1)、(2)。
因此,接着,将接收的write指令(1)、(2)分割为2个,首先,对主机2发送逻辑单元67-1(LUN=1)的分割的前段的写入数据的转送请求(Ready toTransfer LUN=1)。
接着,主机装置2按照接收的转送请求,向存储器控制器12发送逻辑单元67-1(LUN=1)的前段的写入数据(Data Out UPIU LUN=1)。
接着,存储器控制器12将接收的前段的写入数据写入对应的逻辑单元67-1(写入之一LUN=1)。此时,通过存储器控制器12一次写入分割的写入数据的大小以页面单位作为基本单位。因此,从主机装置看,存储装置1从此开始忙碌(BUSY)期间(1)。存储装置1将忙碌(BUSY)向主机装置2发送。
这里,如图中的虚线所包围的那样,存储器控制器12在为了上述数据写入而访问逻辑单元67-1(LUN=1)的忙碌(BUSY)期间(1),进行下一数据写入对象即逻辑单元67-2(LUN=2)的前段的数据请求,同样对主机装置2进行写入数据的接收。
即,存储器控制器12在上述忙碌(BUSY)期间(1),下一数据写入对象即逻辑单元67-2(LUN=2)的数据转送请求(Ready to Transfer LUN=2)在主机装置2进行,从主机装置2同样进行写入数据的接收(Data Out UPIULUN=2)。
这样,图示例中,对存储装置1的访问大小分割为前段及后段的2个,首先对逻辑单元67-1(LUN=1)进行写入,在该逻辑单元67-1(LUN=1)的前段的写入的中途,进行下一逻辑单元67-2(LUN=2)的前段的写入数据的请求和该数据接收。从而,可以实现访问存储装置1的效率化,对主机装置1的响应性能也可以提高。
接着,对逻辑单元67-1(LUN=1)的前段的数据写入结束后,存储器控制器12可以即时将从主机装置2接收的写入数据(Data Out UPIU LUN=2)写入对应的逻辑单元67-2(LUN=2)(写入之一LUN=2)。存储装置1从此开始忙碌(BUSY)期间(2)。存储装置1也同样,向主机装置2发送忙碌(BUSY)。
这里,与上述同样,存储器控制器12在为了上述数据写入而访问逻辑单元67-2(LUN=2)的忙碌(BUSY)期间(2),进行下一数据写入对象即逻辑单元67-1(LUN=1)的分割的后段的数据请求(Ready to Transfer LUN=1),同样对主机装置2进行写入数据的接收(Data Out UPIU LUN=1)。
接着,逻辑单元67-2(LUN=2)的前段的数据写入结束后,存储器控制器12可以即时将从主机装置2接收的后段的写入数据(Data Out UPIULUN=1)写入对应的逻辑单元67-1(LUN=1)(写入之二LUN=1)。存储装置1从此开始忙碌(BUSY)期间(3)。存储装置1也同样,向主机装置2发送忙碌(BUSY)。
这里,与上述同样,存储器控制器12在为了上述后段的数据写入而访问逻辑单元67-1(LUN=1)的忙碌(BUSY)期间(3),进行下一数据写入对象即逻辑单元67-2(LUN=2)的分割的后段的数据请求(Ready to TransferLUN=2),同样对主机装置2进行写入数据的接收(Data Out UPIU LUN=2)。
接着,逻辑单元67-1(LUN=1)的后段的数据写入结束后,存储器控制器12可以即时将从主机装置2接收的后段的写入数据(Data Out UPIULUN=2)写入对应的逻辑单元67-2(LUN=2)(写入之二LUN=2)。存储装置1从此开始忙碌(BUSY)期间(4)。存储装置1也同样,向主机装置2发送忙碌(BUSY)。
接着,存储器控制器12通过逻辑单元67-2(LUN=2)的后段的写入数据(Data Out UPIU LUN=2)的结束,使忙碌(BUSY)期间(4)结束,向主机装置2发送数据写入的结束。
另外,第1实施方式中,说明了数据写入(Write)的场合的一例。但是,在数据读出(Read)的场合,用适于存储装置1的数据大小分割,向主机2发送数据即可。因此,在数据读出的场合中,不进行数据写入那样的写入数据的请求。
<作用效果>
根据第1实施方式的存储装置及其控制方法,可获得至少下记(1)的效果。
(1)可以实现访问存储装置1的效率化,对主机装置2的响应性能也提高。
如上述,本例的存储器控制器12判定数据处理的分割是否必要。具体地说,存储器控制器12调查在各Logical Unit(67)的指令队列排队的指令中写入(write)指令的数,根据该数判定数据写入处理的分割。在满足数据写入处理的分割的条件的场合,存储器控制器12将接收的写入数据分割,进行数据写入。
具体地说,如图15所示的场合,存储器控制器12判定需要分割接收的Write指令(1)、(2)。结果,如图15中的虚线包围的那样,存储器控制器12在为了前段的数据写入而访问逻辑单元67-1(LUN=1)的忙碌(BUSY)期间(1),进行下一数据写入对象即逻辑单元67-2(LUN=2)的前段的数据请求,同样对主机装置2进行写入数据的接收。
即,存储器控制器12在上述忙碌(BUSY)期间(1),对主机装置2进行下一数据写入对象即逻辑单元67-2(LUN=2)的数据转送请求(Ready toTransfer LUN=2),同样从主机装置2进行写入数据的接收(Data Out UPIULUN=2)。
这样,本例中,将对存储装置1的访问大小分割为前段及后段的2个,首先对逻辑单元67-1(LUN=1)进行前段的写入,在该逻辑单元67-1(LUN=1)的前段的写入的中途,进行下一逻辑单元67-2(LUN=2)的前段的写入数据的请求及其数据接收。
因此,例如,如图16所示,可以与为了前段的数据写入而访问时刻t1和t2之间的忙碌期间(Busy(1))的逻辑单元67-1(LUN=1)的期间(写入数据:DT1~DTn)并行,进行下一数据写入对象即逻辑单元67-2(LUN=2)的前段的数据请求,进行写入数据的接收。
因此,可以即时向时刻t3和t4之间的忙碌期间(Busy(2))的逻辑单元67-2(LUN=2)写入前段的数据(写入数据:DT1~DTn)。同样,可以与该忙碌期间(Busy(2))并行,进行下一数据写入对象即逻辑单元67-1(LUN=1)的后段的数据请求,进行写入数据的接收。
从而,可以实现对存储装置1访问的效率化,对主机装置1的响应性能也可以提高。
这样,本例的UFS规格等中,对于数据的收发,存储装置1侧具有主导权。因而,本例中,发挥特性,按对NAND型闪速存储器的访问性能提高的页面单位的大小来分割写入、读出处理。因此,通过防止仅以一个处理占有存储装置1,可以提高存储装置1的访问效率。相应地,也可以提高对主机装置2的响应性能。
这里,本例说明的UFS规格中,主机装置2可以对存储装置1上不同的逻辑单元(LU)独立发行指令。另外,各分区可以使指令排队。向各分区发行的指令从主机装置2看,必须可视为独立动作。
为了消除该制约,伴随对存储装置1进行访问的指令,根据存储装置1的内部状态,分割对NAND型闪速存储器的访问处理。本例中,分割的单位优选设为对NAND型闪速存储器的最大访问单位即页面单位或者删除块单位等。这是因为,一次数据写入/数据读出的访问大小大的情况具有对NAND型闪速存储器11进行数据写入/数据读出时的性能提高的性质。
因而,本例中,在步骤S14,在主机装置(Application Client)2发行的指令少,数据分割不必要时,使访问存储装置1的数据单位最大化(本例中为页面单位),提高数据转送效率。
另一方面,在步骤S15,发行的指令多,需要数据分割时,为了提高对主机装置2的响应性能,分割对存储装置1的访问单位。
(2)不仅NAND型闪速存储器,对下一代的非易失性存储器也有利。
这里,UFS规格是与非易失性存储器对应的接口规格。作为UFS存储装置,例如,假定由本例说明的NAND型闪速存储器11和控制器12构成。
但是,不仅本例说明的NAND型闪速存储器11,还可考虑使用例如ReRAM(Resistance Random Access Memory,电阻式随机存取存储器)、MRAM(Magnetic Random Access Memory,磁阻式随机存取存储器)等的下一代非易失性存储器。
因此,不仅NAND型闪速存储器11,对上述的下一代非易失性存储器也有利。
[第2实施方式(还涉及Read指令的一例)]
接着,用图17说明第2实施方式的存储装置。第2实施方式还涉及Read指令。该说明中,与上述第1实施方式重复部分的详细说明省略。
<数据分割判断流程>
按照图17的流程,说明第2实施方式的数据分割判断动作。
首先,在步骤S21,存储装置1从主机装置2接收写入(WRITE)指令或读出(READ)指令,这不同于上述第1实施方式。
接着,在步骤S22,存储装置1确认上述接收的写入指令及读出(READ)指令中的全部指令队列的内容。
接着,在步骤S23,存储装置1判定数据处理的分割是否必要。具体地说,存储装置1调查各Logical Unit(67)的指令队列排队的指令中write指令和read指令的数,根据该数确定写入处理的分割。本例的场合,是否分割的判定基准例如如下:
1.排队的Write指令和Read指令的合计在2个以上的场合
2.各Write指令、Read指令的写入大小、读入大小在1页面以上的场合
满足这样的上述2个条件的场合,存储装置1分割Write指令/Read指令,分割写入数据/读出数据,进行数据写入/数据读出。这里,同样,分割的写入/读出数据大小为页面单位。
以后,进行与上述第1实施方式同样的处理,结束数据分割判断。
其他构成、动作等与上述第1实施方式实质相同。
<作用效果>
如上述,根据第2实施方式的存储装置及其控制方法,至少可以获得与上述(1)至(2)同样的效果。而且,如第2实施方式所说明,可以根据需要同样适用于数据读出的场合,可以获得同样的效果。
[第3实施方式(还涉及查询请求的一例)]
接着,说明第3实施方式的存储装置。第3实施方式还将查询请求加入判断基准进行判定。该说明中,与上述第1实施方式重复部分的详细说明省略。
<数据分割判断流程>
虽然图示省略,在上述步骤S13等时,存储装置1判定数据处理的分割是否必要。具体地说,存储装置1调查在各Logical Unit(67)的指令队列排队的指令中write指令和read指令的数,根据该数确定写入处理的分割。本例的场合,是否分割的判定基准的不同点在于加入了查询请求(QueryRequest)的如下几点:
1.排队的Write指令、Read指令合计为一个以上的场合
2.排队的Query Request(READ DESCRIPTOR/WRITEDESCRIPTOR)指令为一个以上的场合
3.各Write指令、Read指令的写入大小、读入大小在1页面以上的场合
这里,查询请求(Query Request)主要在存储装置1的信息取得中采用。例如,是来自主机2的存储装置1的组态信息的变更及输出请求等。对于查询请求和上述数据转送请求的关系,由于查询请求的处理是询问处理,处理时间也短,因此优先地处理。另外,关于数据分割后的写入/读出动作中何时执行查询请求,在进程中的write/read处理结束后立即进行查询的处理。
满足这样的上述3个条件的场合,存储装置1分割写入数据/读出数据,进行数据写入/数据读出。这里,同样,分割的写入/读出数据大小为页面单位。
以后,进行与上述第1实施方式同样的处理,结束数据分割判断。
其他构成、动作等与上述第1实施方式实质相同。
<作用效果>
如上述,根据第3实施方式的存储装置及其控制方法,至少可以获得与上述(1)至(2)同样的效果。而且,如第3实施方式所说明,根据需要,可以同样适用在判断中增加查询请求,可以获得同样的效果。
[第4实施方式(进一步与Read指令相关的一例)]
接着,说明第4实施方式的存储装置。该说明中,与上述第1实施方式重复部分的详细说明省略。
<数据分割判断流程>
这里,在逻辑单元67可以设定访问的优先度(优先级)。
因而,本例中,例如,在上述步骤S13时等,对相对高优先的逻辑单元67进行访问处理的场合进行分割的点,与上述实施方式不同。
例如,以逻辑单元67-1(LUN=1)的优先度比逻辑单元67-2(LUN=2)高的场合为例。
该场合,若从主机1向逻辑单元67-1(LUN=1)和逻辑单元67-2(LUN=2)发行2个write指令(1)、(2),则例如在上述步骤S13时,存储器控制器12不进行上述的数据分割处理。该场合,存储器控制器12首先进行与write指令(1)对应的逻辑单元67-1(LUN=1)的数据写入。
<作用效果>
如上述,根据第4实施方式的存储装置及其控制方法,至少可获得与上述(1)至(2)同样的效果。而且,根据需要,可适用第4实施方式。
虽然说明了本发明的几个实施方式,但是这些实施方式只是例示,而不是限定发明的范围。这些新实施方式可以各种形态实施,在不脱离发明的要旨的范围,可以进行各种省略、置换、变更。这些实施方式及其变形是发明的范围和要旨所包含的,也是权利要求的范围记载的发明及其均等的范围所包含的。
例如,上述的实施方式中,存储装置向主机请求转送的写入数据部分为存储器的1页面的大小,但是该写入数据部分的大小不限于1页面,也可以是页面大小的整数倍。另外,上述的实施方式中,写入请求与从页面的开头开始的写入请求不相当的场合,将与从写入数据的开头到写入目的地的页面的终端相当的大小的部分作为第1写入数据部分进行请求,但是,也可以将与到该写入目的地的页面终端相当的大小的部分和后续页面大小(或页面大小的整数倍)的数据合并,作为第1写入数据部分进行请求。
Claims (16)
1.一种存储装置,其特征在于,具备:
非易失性存储器,其以多个单元为单位进行数据写入或数据读出;和
控制器,其控制上述存储器,将上述存储器的存储空间区分为至少第1分区和第2分区进行管理;
上述控制器,
使上述第1分区和上述第2分区相互独立地接收数据写入请求,
在接收到数据写入请求的场合,判定是否需要进行上述数据写入请求所涉及的写入数据的数据大小的分割,
在判定为需要进行上述数据大小的分割的场合,分割上述写入数据的数据大小,
在进行上述第1分区的数据写入的期间,进行上述第2分区的写入数据的数据请求,并进行上述写入数据的接收。
2.如权利要求1所述的存储装置,其特征在于,
上述控制器,在接收到数据读出请求的场合,分割读出数据的数据大小,从上述存储器进行数据读出。
3.如权利要求1所述的存储装置,其特征在于,
上述控制器,在判断为不必进行上述数据大小的分割的场合,以将写入数据或读出数据的数据大小最大化的上述多个单元为单位,进行数据写入或数据读出。
4.如权利要求1所述的存储装置,其特征在于,
分割上述数据大小的单位,是进行上述数据写入或数据读出的多个单元的单位。
5.如权利要求1所述的存储装置,其特征在于,
上述控制器判定上述数据大小的分割是否必要的基准是满足以下的2个条件的情况:
向至少上述第1和第2分区请求数据写入或数据读出的情况;
上述数据写入请求或上述数据读出请求的各自的数据大小在上述多个单元的单位以上的情况。
6.如权利要求1所述的存储装置,其特征在于,
上述控制器判定上述数据大小的分割是否必要的基准是满足以下的3个条件的情况:
向至少上述第1和第2分区请求数据写入或数据读出的情况;
有至少一个以上的查询请求的情况;
上述数据写入请求或上述数据读出请求的各自的数据大小在上述多个单元的单位以上的情况。
7.如权利要求1所述的存储装置,其特征在于,
在上述第1分区的优先度比上述第2分区高的场合,上述控制器不进行上述写入数据的数据大小的分割,而进行上述第1分区的数据写入。
8.如权利要求1所述的存储装置,其特征在于,
上述存储装置是基于UFS的存储装置。
9.一种存储装置的控制方法,是具备以多个单元为单位进行数据写入或数据读出的非易失性存储器和将上述存储器的存储空间区分为至少第1分区和第2分区进行管理的存储装置的控制方法,其特征在于,
使上述第1分区和上述第2分区相互独立地接收数据写入请求,
在接收到数据写入请求的场合,判定是否需要进行上述数据写入请求所涉及的写入数据的数据大小的分割,
在判定为需要进行上述数据大小的分割的场合,分割上述写入数据的数据大小,
在进行上述第1分区的数据写入的期间,进行上述第2分区的写入数据的数据请求,并进行上述写入数据的接收。
10.如权利要求9所述的存储装置的控制方法,其特征在于,
在接收到上述数据读出请求的场合,分割读出数据的数据大小,从上述存储器进行数据读出。
11.如权利要求9所述的存储装置的控制方法,其特征在于,
在判断为不必进行上述数据大小的分割的场合,以将写入数据或读出数据的数据大小最大化的上述多个单元为单位,进行数据写入或数据读出。
12.如权利要求9所述的存储装置的控制方法,其特征在于,
分割上述数据大小的单位,是进行上述数据写入或数据读出的多个单元的单位。
13.如权利要求9所述的存储装置的控制方法,其特征在于,
判定上述数据大小的分割是否必要的基准是满足以下的2个条件的情况:
向至少上述第1和第2分区请求数据写入或数据读出的情况;
上述数据写入请求或上述数据读出请求的各自的数据大小在上述多个单元的单位以上的情况。
14.如权利要求9所述的存储装置的控制方法,其特征在于,
判定上述数据大小的分割是否必要的基准是满足以下的3个条件的情况:
向至少上述第1和第2分区请求数据写入或数据读出的情况;
有至少一个以上的查询请求的情况;
上述数据写入请求或上述数据读出请求的各自的数据大小在上述多个单元的单位以上的情况。
15.如权利要求9所述的存储装置的控制方法,其特征在于,
在上述第1分区的优先度比上述第2分区高的场合,不进行上述写入数据的数据大小的分割,而进行上述第1分区的数据写入。
16.如权利要求9所述的存储装置的控制方法,其特征在于,
上述存储装置是基于UFS的存储装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP206227/2011 | 2011-09-21 | ||
JP2011206227A JP5547154B2 (ja) | 2011-09-21 | 2011-09-21 | メモリ・デバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103019970A CN103019970A (zh) | 2013-04-03 |
CN103019970B true CN103019970B (zh) | 2015-10-14 |
Family
ID=47881750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210069386.2A Expired - Fee Related CN103019970B (zh) | 2011-09-21 | 2012-03-15 | 存储装置及其控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8843696B2 (zh) |
JP (1) | JP5547154B2 (zh) |
CN (1) | CN103019970B (zh) |
TW (1) | TWI463317B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI526838B (zh) * | 2013-02-27 | 2016-03-21 | 東芝股份有限公司 | 記憶體裝置 |
KR20140113176A (ko) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | 매핑 정보 업데이트 방법 및 이를 이용한 메모리 시스템 |
JP5976937B2 (ja) * | 2013-07-26 | 2016-08-24 | 株式会社日立製作所 | コンピュータシステム |
US9535829B2 (en) | 2013-07-26 | 2017-01-03 | Intel Corporation | Non-volatile memory interface |
US9519440B2 (en) * | 2013-09-10 | 2016-12-13 | Qualcomm Incorporated | Providing command queuing in embedded memories |
US9824004B2 (en) | 2013-10-04 | 2017-11-21 | Micron Technology, Inc. | Methods and apparatuses for requesting ready status information from a memory |
US10108372B2 (en) | 2014-01-27 | 2018-10-23 | Micron Technology, Inc. | Methods and apparatuses for executing a plurality of queued tasks in a memory |
US9454310B2 (en) * | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
KR20150112075A (ko) * | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
JP6130971B2 (ja) * | 2014-06-27 | 2017-05-17 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データをフラッシュメモリ装置に書き込む方法、フラッシュメモリ装置及び記憶システム |
US20160124876A1 (en) * | 2014-08-22 | 2016-05-05 | HGST Netherlands B.V. | Methods and systems for noticing completion of read requests in solid state drives |
US20160070656A1 (en) * | 2014-09-05 | 2016-03-10 | Qualcomm Incorporated | Write protection management systems |
US10146475B2 (en) | 2014-09-09 | 2018-12-04 | Toshiba Memory Corporation | Memory device performing control of discarding packet |
US10061515B2 (en) * | 2014-09-11 | 2018-08-28 | Toshiba Memory Corporation | Information processing apparatus and memory system |
US10067688B2 (en) | 2015-01-23 | 2018-09-04 | Qualcomm Incorporated | Storage resource management in virtualized environments |
CN104955104B (zh) * | 2015-05-27 | 2018-07-24 | 北京邮电大学 | 一种数据的传输方法和装置 |
US20170060460A1 (en) * | 2015-08-31 | 2017-03-02 | Megachips Corporation | Memory controller |
KR102427262B1 (ko) * | 2015-09-11 | 2022-08-01 | 삼성전자주식회사 | 랜덤 액세스 메모리 장치들 및 불휘발성 메모리 장치들을 포함하는 저장 장치 |
KR102498223B1 (ko) * | 2015-10-13 | 2023-02-09 | 삼성전자주식회사 | Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법 |
US10425484B2 (en) * | 2015-12-16 | 2019-09-24 | Toshiba Memory Corporation | Just a bunch of flash (JBOF) appliance with physical access application program interface (API) |
US10444999B2 (en) | 2016-10-13 | 2019-10-15 | Qualcomm Incorporated | Universal flash storage (UFS) host design for supporting embedded UFS and UFS card |
KR102665270B1 (ko) * | 2016-11-09 | 2024-05-13 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10802736B2 (en) * | 2017-07-27 | 2020-10-13 | Qualcomm Incorporated | Power down mode for universal flash storage (UFS) |
JP7167291B2 (ja) * | 2017-12-08 | 2022-11-08 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP6967959B2 (ja) | 2017-12-08 | 2021-11-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10878859B2 (en) * | 2017-12-20 | 2020-12-29 | Micron Technology, Inc. | Utilizing write stream attributes in storage write commands |
KR102545229B1 (ko) * | 2018-05-04 | 2023-06-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200088713A (ko) * | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
JP7213712B2 (ja) * | 2019-02-14 | 2023-01-27 | キオクシア株式会社 | 不揮発性半導体記憶装置 |
JP2020144410A (ja) | 2019-03-04 | 2020-09-10 | キオクシア株式会社 | メモリコントローラ |
KR20210016938A (ko) * | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
US20230063890A1 (en) * | 2021-08-27 | 2023-03-02 | Micron Technology, Inc. | Measuring change in a channel characteristic to detect memory device attack |
CN114489488B (zh) * | 2021-12-29 | 2024-09-03 | 山东云海国创云计算装备产业创新中心有限公司 | 数据读写方法、nand控制器及计算机可读存储介质 |
CN114627938A (zh) * | 2022-03-16 | 2022-06-14 | 英韧科技(上海)有限公司 | 数据写入方法和装置以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1579335B1 (en) * | 2002-12-31 | 2008-08-20 | Intel Corporation | Read-write switching method for a memory controller |
TW201128397A (en) * | 2010-02-12 | 2011-08-16 | Phison Electronics Corp | Data writing method for non-volatile memory and controller and storage system using the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105071A (ja) * | 1993-09-30 | 1995-04-21 | Sony Corp | 情報転送装置及び情報記録装置 |
JP3330187B2 (ja) * | 1993-05-13 | 2002-09-30 | 株式会社リコー | メモリカード |
US7427027B2 (en) | 2004-07-28 | 2008-09-23 | Sandisk Corporation | Optimized non-volatile storage systems |
US20090307427A1 (en) | 2006-03-31 | 2009-12-10 | Hitachi Ulsi Systems Co., Ltd. | Memory card and method of writing data |
US8874994B2 (en) * | 2011-07-22 | 2014-10-28 | Sandisk Technologies Inc. | Systems and methods of storing data |
JP5677336B2 (ja) * | 2011-08-01 | 2015-02-25 | 株式会社東芝 | メモリ・デバイス |
JP2013077278A (ja) * | 2011-09-16 | 2013-04-25 | Toshiba Corp | メモリ・デバイス |
JP5694101B2 (ja) * | 2011-09-20 | 2015-04-01 | 株式会社東芝 | メモリ・デバイス、ホスト・デバイス |
-
2011
- 2011-09-21 JP JP2011206227A patent/JP5547154B2/ja not_active Expired - Fee Related
-
2012
- 2012-03-06 TW TW101107523A patent/TWI463317B/zh not_active IP Right Cessation
- 2012-03-15 CN CN201210069386.2A patent/CN103019970B/zh not_active Expired - Fee Related
- 2012-03-22 US US13/427,252 patent/US8843696B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1579335B1 (en) * | 2002-12-31 | 2008-08-20 | Intel Corporation | Read-write switching method for a memory controller |
TW201128397A (en) * | 2010-02-12 | 2011-08-16 | Phison Electronics Corp | Data writing method for non-volatile memory and controller and storage system using the same |
Also Published As
Publication number | Publication date |
---|---|
JP2013069059A (ja) | 2013-04-18 |
TWI463317B (zh) | 2014-12-01 |
US20130073795A1 (en) | 2013-03-21 |
CN103019970A (zh) | 2013-04-03 |
TW201314451A (zh) | 2013-04-01 |
JP5547154B2 (ja) | 2014-07-09 |
US8843696B2 (en) | 2014-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019970B (zh) | 存储装置及其控制方法 | |
CN102999452B (zh) | 存储器设备 | |
US10866740B2 (en) | System and method for performance-based multiple namespace resource allocation in a memory | |
CN102915274B (zh) | 存储装置 | |
JP5481453B2 (ja) | メモリデバイス | |
EP1769331B1 (en) | Storage device and host apparatus | |
JP5547148B2 (ja) | メモリデバイス | |
EP3739456A1 (en) | Technologies for providing multiple tier memory media management | |
US8799605B2 (en) | Initializing and writing to a nonvolatile storage device based on a client/server model | |
CN111108488B (zh) | 内存块回收方法和装置 | |
US20190266096A1 (en) | Data storage device, method of operating the same, and storage system having the same | |
CN112534391A (zh) | 限制来自存储器系统的响应信号 | |
KR20140128821A (ko) | 아토믹 라이트 완료 식별자를 ip 코어별로 생성할 수 있는 데이터 저장 장치의 동작 방법과 이를 포함하는 시스템의 동작 방법 | |
US11436167B2 (en) | Interface components between a controller and memory devices | |
KR102219759B1 (ko) | 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법 | |
CN110174995A (zh) | 存储器控制器及其操作方法 | |
US20200327069A1 (en) | Data storage device and operation method thereof, controller using the same | |
US20220300185A1 (en) | Storage device, storage system, and control method | |
KR20180089140A (ko) | 데이터 저장 장치 | |
US20190121731A1 (en) | Technologies for efficiently performing scatter-gather operations | |
KR20220076803A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN108196790A (zh) | 数据管理方法、存储设备及计算机可读存储介质 | |
CN116775367A (zh) | 一种数据校验方法及装置 | |
KR20240110440A (ko) | 스토리지 장치 및 그의 동작 방법 | |
CN114625309A (zh) | 数据存储设备及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151014 Termination date: 20170315 |