CN104603767A - 信息处理设备 - Google Patents
信息处理设备 Download PDFInfo
- Publication number
- CN104603767A CN104603767A CN201380044572.3A CN201380044572A CN104603767A CN 104603767 A CN104603767 A CN 104603767A CN 201380044572 A CN201380044572 A CN 201380044572A CN 104603767 A CN104603767 A CN 104603767A
- Authority
- CN
- China
- Prior art keywords
- priority
- data
- control part
- main body
- main process
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/21—Intermediate information storage
- H04N1/2104—Intermediate information storage for one or a few pictures
- H04N1/2112—Intermediate information storage for one or a few pictures using still video cameras
- H04N1/2129—Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1014—One time programmable [OTP] memory, e.g. PROM, WORM
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Information Transfer Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据一个实施例,一种信息处理设备包括主机设备、具有非易失性半导体存储器的半导体存储设备,以及将所述主机设备和所述半导体存储设备连接在一起的通信路径。
Description
相关申请的交叉引用
本申请基于并要求2012年9月7日提交的第2012-197829号日本专利申请的优先权,此日本专利申请的全部内容在此引入作为参考。
技术领域
在此描述的实施例一般地涉及信息处理设备。
背景技术
UMA(统一存储器架构)是一种使用GPU(图形处理单元)等的技术,所述GPU等包括多个集成在一起并且共享一个存储器的算术处理器。
附图说明
图1是示出根据第一实施例的信息处理设备的配置的一个实例的示意图;
图2是示出根据第一实施例的设备使用区域中的存储结构的示意图;
图3是示出根据第一实施例的L2P高速缓存标记区域中的存储结构的示意图;
图4是示出根据第一实施例的L2P高速缓存区域中的存储结构的示意图;
图5是示出根据第一实施例的写入高速缓存标记区域中的存储结构的示意图;
图6是示出根据第一实施例的写入高速缓存区域中的存储结构的示意图;
图7是示出根据第一实施例的写入命令的数据结构的一个实例的示意图;
图8是示出根据第一实施例的数据传输命令的格式的一个实例的示意图;
图9是示出根据第一实施例的数据传输命令中包含的标志的一个实例的示意图;
图10A是示出存储系统经由第三端口接收数据的操作的示意图,并且图10B是示出存储系统经由第二端口接收数据的操作的示意图;
图11A是示出存储系统经由第三端口发送数据的操作的示意图,并且图11B是示出存储系统经由第二端口发送数据的操作的示意图;
图12是示出设备控制器主体部的操作的流程图;
图13是示出设备控制器主体部的操作的流程图;
图14是示出其中设备控制器主体部引用L2P高速缓存区域的过程的流程图;
图15是示出其中设备控制器主体部将物理地址写入到L2P高速缓存区域的过程的流程图;
图16是示出其中设备控制器主体部引用L2P高速缓存区域的过程的流程图;
图17是示出其中设备控制器主体部读取L2P高速缓存区域中的表项的过程的流程图;
图18是示出其中设备控制器主体部从主机设备获得写入数据的过程的流程图;
图19是示出其中设备控制器主体部操纵DB位的值的过程的流程图;
图20是示出其中设备控制器主体部操纵VL位的值的过程的流程图;
图21是示出其中设备控制器主体部确定优先级的过程的流程图;
图22是定义程序与优先级之间的关系的表;
图23是示出其中主机向设备通知优先级的过程的流程图;
图24是示意性地示出根据第五实施例的信息处理设备的基本配置的示意图;
图25是示出其中主机判定作为设备的摄像机是否被连接到主机的过程的流程图;
图26是示出其中设备控制器主体部确定优先级的过程的流程图;
图27是示意性地示出根据第六实施例的信息处理设备的基本配置的示意图;以及
图28是示出其中设备控制器主体部确定优先级的过程的流程图。
具体实施方式
一般而言,根据一个实施例,一种信息处理设备包括:
主机设备、具有非易失性半导体存储器的半导体存储设备,以及将所述主机设备和所述半导体存储设备连接在一起的通信路径,
所述主机设备包括:
第一存储部;以及
第一控制部,其与所述第一存储部和所述通信路径连接并且控制所述第一存储部,
所述通信路径包括:
多个端口,为所述多个端口中的每个端口分配一个优先级,并且
所述半导体存储设备被连接到所述通信路径以便发送包含第一标志的第一命令,所述第一标志基于发送到所述第一存储部和从所述第一存储部接收的数据的类型的优先级确定端口的优先级。
下面将参考附图描述各实施例。在以下描述中,具有基本上相同的功能和配置的组件由相同的参考标号表示。各实施例的技术概念并未将各实施例的组件的材料、形状、结构、布置等限于下面描述的材料、形状、结构、布置等。各实施例的技术概念可以在权利要求的范围内变化。
(第一实施例)
图1示意性地示出根据本实施例的信息处理设备的基本配置。根据本实施例的信息处理设备包括主机设备(或外部设备)1和存储系统2,存储系统2用作主机设备1的存储设备。主机设备1和存储系统2经由通信路径3被连接在一起。用于嵌入应用的符合通用闪存存储(UFS)标准的闪存或固态驱动器(SSD)适用于存储系统2。信息处理设备例如是个人计算机、蜂窝电话或图像拾取设备。作为通信路径3的通信标准,例如采用移动行业处理器接口(MIPI)Unipro协议。
<存储系统的概要>
存储系统2包括用作非易失性半导体存储器的NAND闪存210,以及向/从主机设备1传输数据的设备控制器200。
NAND闪存210包括具有存储器单元阵列的至少一个存储器芯片。存储器单元阵列包括以矩阵布置的多个存储器单元。此外,每个块包括多个页。每个页是写入和读取单位。
此外,NAND存储器210存储L2P表211和主机设备1发送的用户数据212。用户数据212例如包括主机设备1为其提供运行时环境的操作系统程序(OS)、主机设备1在OS上执行的用户程序,以及OS或用户程序输入和输出的数据。
L2P表211是一种类型的使存储系统2能够用作主机设备1的外部存储设备所需的管理信息,并且是地址转换信息,所述地址转换信息将主机设备1用于访问存储系统2的逻辑块地址(LBA)与NAND存储器210中的物理地址(块地址+页地址+页内存储位置)相关联。L2P表211的一部分被缓存在下面描述的主机设备1中的L2P高速缓存区域300内。为了与被缓存在L2P高速缓存区域300中的内容区分开,以下将存储在NAND存储器210中的L2P表211称为L2P主体211。
设备控制器200包括作为通信路径3的连接接口的主机连接适配器201、作为设备控制器200与NAND存储器210之间的连接接口的NAND连接适配器204、控制设备控制器200的设备控制器主体部202,以及RAM203。
RAM 203被用作缓冲器,其被配置为存储要写入到NAND存储器210的数据或者从NAND存储器210读取的数据。此外,RAM 203被用作命令队列,其对与主机设备1输入的写入请求和读取请求相关的命令进行排队。例如,RAM 203可以包括小型SRAM、小型DRAM等。此外,RAM203的功能可以由寄存器等提供,而不是由RAM 203提供。
设备控制器主体部202经由主机连接适配器201控制主机设备1和RAM 203之间的数据传输。设备控制器主体部202经由NAND连接适配器204控制RAM 203和NAND存储器210之间的数据传输。具体地说,设备控制器主体部202在通信路径3中用作设备控制器主体部202和主机设备1之间的总线主机,以便使用第一端口230传输数据。设备控制器主体部202进一步包括两个其它总线主机205和206。总线主机205可以使用第二端口231向/从主机设备1传输数据。总线主机206可以使用第三端口232向/从主机设备1传输数据。下面将描述端口230至232的作用。
设备控制器主体部202例如包括微计算机单元,其具有算术设备和存储设备。算术设备执行被预存储在存储设备中的固件,以便实现设备控制器主体部202的功能。存储设备可以从设备控制器主体部202省略,其中固件被存储在NAND存储器210中。此外,可以使用ASIC配置设备控制器主体部202。
此外,根据本实施例的存储系统2采取被嵌入在信息处理设备中的闪存,其符合通用闪存存储(UFS)标准。因此,描述的命令等符合UFS标准。
<主机设备的概要>
主机设备1包括执行OS和用户程序的CPU 110、主存储器100,以及主机控制器120。主存储器100、CPU 110以及主机控制器120通过总线140被连接在一起。
例如使用DRAM配置主存储器100。主存储器100包括主机使用区域101和设备使用区域102。当主机设备1执行OS和用户程序时,主机使用区域101被用作程序解压缩区域,或者当主机设备1执行被解压缩到程序解压缩区域中的程序时,主机使用区域101被用作工作区域。设备使用区域102被用作高速缓存区域,有关存储系统2的管理信息被缓存在该区域中,并且针对该区域执行读取和写入操作。在此,采取L2P表211作为被缓存在存储系统2中的管理信息的一个实例。此外,写入数据将被缓存在设备使用区域102中。
<端口的概要>
现在,将描述根据本实施例的主机设备1和存储系统2的端口。根据本实施例的主机设备1和存储系统2通过一个线路(通信路径3)被物理地连接在一起。但是,主机设备1和存储系统2通过多个接入点被连接在一起,这些接入点在下面描述并且被称为端口(也被称为CPort)。
主机控制器120包括作为总线140的连接接口的总线适配器121、作为通信路径3的连接接口的设备连接适配器126,以及主机控制器主体部122,主机控制器主体部122经由总线适配器向/从主存储器100和CPU 110传输数据和命令,并且经由设备连接适配器126向/从存储系统2传输数据(包括命令)。主机控制器主体部122通过第一端口130被连接到设备连接适配器126。主机控制器主体部122能够经由第一端口130向/从存储系统2传输数据。
此外,主机控制器120包括:主存储器DMA 123,其在主机使用区域101与设备使用区域102之间执行DMA传输;控制DMA 124,其捕获存储系统2发送的命令以便访问设备使用区域102,并且将状态信息发送到存储系统,该状态信息指示主机控制器主体部122如何处理设备使用区域102;数据DMA 125,其在设备使用区域102与存储系统2之间执行DMA传输。控制DMA 124通过第二端口131被连接到设备连接适配器126。控制DMA 124能够经由第二端口131,将命令和状态信息发送到存储系统2,并且从存储系统2接收命令和状态信息。此外,数据DMA 125通过第三端口132被连接在设备连接适配器126之间。数据DMA 125能够经由第三端口132,将数据发送到存储系统2,并且从存储系统2接收数据。
设备连接适配器126和主机连接适配器201的功能允许分别将第一端口130、第二端口131和第三端口132与第一端口230、第二端口231和第三端口232相关联。具体地说,设备连接适配器126经由第一端口230,将经由第一端口130被发送到存储系统2的内容发送到设备控制器主体部202。设备连接适配器126还经由第二端口231,将经由第二端口131被发送到存储系统2的内容发送到设备控制器主体部202。设备连接适配器126还经由第三端口232,将经由第三端口132被发送到存储系统2的内容发送到设备控制器主体部202。
此外,设备连接适配器126经由第一端口130,将经由第一端口230被发送到主机设备1的内容发送到主机控制器主体部122。设备连接适配器126还经由第二端口131,将经由第二端口231被发送到主机设备1的内容发送到控制DMA 124。设备连接适配器126还经由第三端口132,将经由第三端口232被发送到主机设备1的内容发送到数据DMA 125。例如,经由总线适配器121,将被发送到控制DMA 124和数据DMA 125的内容发送到主机控制器主体部122。
端口130至132的每一个都可以包括输入缓冲器,其被用于与存储系统2的通信。主机控制器主体部122、控制DMA 124和数据DMA 125使用单独的输入/输出缓冲器被连接到存储系统2。因此,主机控制器120能够独立使用主机控制器主体部122执行与存储系统2的通信,使用控制DMA 124执行与存储系统2的通信,并且使用数据DMA 125执行与存储系统2的通信。此外,这些通信可以被切换到彼此而不需要更改输入/输出缓冲器。因此,可以快速实现通信的切换。这也适用于存储系统2中提供的端口230至232。
如上所述,根据本实施例的信息处理设备包括三种类型的端口:第一端口(也被称为CPort 0)130和230、第二端口(也被称为CPort 1)131和231,以及第三端口(也被称为CPort 2)132和232。
此外,针对每个端口设置优先级(业务类,也被称为TC等)。具体地说,针对第一端口130和230设置优先级0(低)。针对第二端口131和231设置优先级1(高)。针对第三端口132和232设置优先级0(低)。
当主机设备1向存储系统2发出请求时,基本上使用第一端口130和230。来自存储系统2的此类请求适当地选择第二端口131和231或第三端口132和232,如下所述。
如果第一端口130和230并未彼此区分开,则为了简单起见,第一端口130和230被统称为第一端口。此外,如果第二端口131和231并未彼此区分开,则为了简单起见,第二端口131和231被统称为第二端口。此外,如果第三端口132和232并未彼此区分开,则为了简单起见,第三端口132和232被统称为第三端口。
<优先级(业务类[TC])>
现在,将描述优先级(业务类[TC])。优先级(业务类)是当主机设备1将数据等发送到存储系统2时使用的优先顺序。具体地说,优先级是一个值,其指示当数据传输彼此竞争时,主机设备1与存储系统2之间的数据传输等的顺序。例如,第一实施例设置两种类型的优先级:优先级1(也被称为TC1)和低于优先级1的优先级0(也被称为TC0)。
针对第一至第三端口的每一个预设置优先级。根据本实施例,将第一端口(CPort 0)设置为优先级0(TC 0),将第二端口(CPort 1)设置为优先级1(高)(TC 1),并且将第三端口(CPort 2)设置为优先级0(低)(TC 0)。下面将描述一种用于选择优先级的方法。
<设备使用区域的概要>
图2是示出设备使用区域102的存储结构的示意图。如图2中所示,设备使用区域102包括:L2P高速缓存区域300,其中缓存L2P主体211的一部分;L2P高速缓存标记区域310,其中存储用于L2P高速缓存区域300的命中或未命中确定的标记信息;写入高速缓存区域400,这是其中缓存写入数据的高速缓存结构的存储区域;以及写入高速缓存标记区域410,其中存储用于写入高速缓存区域400的命中或未命中确定的标记信息。
<L2P高速缓存标记区域的存储结构>
图3是示出L2P高速缓存标记区域310的存储结构的示意图。图4是示出L2P高速缓存区域300的存储结构的示意图。在此,例如,LBA的数据长度为26位,并且将使用LBA的较低22位引用L2P高速缓存区域300。在说明书中,LBA的较高4位被表示为T,并且LBA的较低22位被表示为L。LBA将被分配给形成NAND存储器210的每个页(在此,页等于4千字节)。
形成L2P高速缓存区域300的每个高速缓存行存储一个LBA的物理地址(Phys.Addr.),如图4中所示。L2P高速缓存区域300包括222个高速缓存行。每个高速缓存行的容量为4字节,其相当于用于存储26位物理地址的足够大小。因此,L2P高速缓存区域300的总大小为222×4字节,即,16兆字节。此外,配置L2P高速缓存区域300以便以L值的顺序,将对应于LBA的物理地址存储在L2P高速缓存区域300中。即,通过引用地址,读取形成L2P高速缓存区域300的单独高速缓存行,通过使L2P高速缓存区域300的页地址(L2P基地址)加上4*L而获得每个地址。形成L2P高速缓存区域300的每个4字节高速缓存行中的额外区域(即,除了其中存储26位物理地址的区域之外,整个4字节高速缓存行区域)被表示为“填充(pad)”。在以下的表中,额外部分被表示为“填充”。
此外,如图3中所示,以被存储在L2P高速缓存区域300中的每个高速缓存行的L值的顺序,将用作标记信息的值T记录在L2P高速缓存标记区域310中。每个表项包括其中存储标记信息的字段311,以及其中存储指示高速缓存行是否有效的VL(有效L2p)位的字段312。在此,配置L2P高速缓存标记区域310,以便作为标记信息被记录在L2P高速缓存标记区域310中的T与LBA的较高位匹配,该LBA对应于被存储在L2P高速缓存区域300内的对应高速缓存行(即,使用L引用的高速缓存行)中的物理地址。即,通过引用地址(该地址通过使L2P高速缓存标记区域310的基地址加上形成所需LBA的L值而获得),判定对应于所需LBA的较高位T的物理地址是否缓存在L2P高速缓存区域300中,以便判定被存储在被引用位置中的标记信息是否与形成所需LBA的T值相匹配。如果标记信息与T的值匹配,则信息处理设备确定缓存了对应于所需LBA的物理地址。如果标记信息与T的值未能匹配,则信息处理设备确定未缓存对应于所需LBA的物理地址。T是4-位值,并且VL位的容量为1位。因此,每个表项的容量为1字节。因此,L2P高速缓存标记区域310的大小为222乘以1字节,即,大小为4兆字节。
图5是示出写入高速缓存标记区域410的存储结构的示意图。图6是示出写入高速缓存区域400的存储结构的示意图。在此,使用LBA的较低13位的值引用写入高速缓存区域400。在以下描述中,LBA的较高13位的值被表示为T’。较低13位的值被表示为L’。
具有页大小的写入数据被存储在形成写入高速缓存区域400的单独高速缓存行中,如图6中所示。
写入高速缓存区域400包括213个高速缓存行。具有页大小(在此,4千字节)的写入数据被缓存在该高速缓存行中。因此,写入高速缓存区域400的总大小为213×4千字节,即,32兆字节。
此外,在写入高速缓存区域400中,以L’值的顺序存储对应的写入数据。即,通过引用地址(通过使写入高速缓存区域400的页地址(WC基地址)加上L’*8K而获得每个地址),读取形成写入高速缓存区域400的单独高速缓存行。
此外,如图5中所示,以被存储在写入高速缓存区域400中的每个高速缓存行的L’的顺序,将用作标记信息的T’记录在写入高速缓存标记区域410中。每个表项包括:字段411,其中存储标记信息;字段412,其中存储指示高速缓存行是否有效的有效缓冲器(VB)位;以及字段413,其中存储指示被缓存的写入数据是脏还是干净的脏缓冲器(DB)位。
配置写入高速缓存标记区域410,以便作为标记信息被记录在写入高速缓存标记区域410中的T’与分配给页(要在该页中存储被存储在写入高速缓存区域400内的对应高速缓存行(即,使用L’引用的高速缓存行)中的写入数据)的LBA的较高位T’相匹配。即,通过引用地址(该地址通过使写入高速缓存标记区域410的基地址(WC标记基地址)加上形成所需LBA的较高位T的L’值而获得),判定对应于所需LBA的写入数据是否缓存在写入高速缓存区域400中,以便判定被存储在被引用位置中的标记信息是否与形成所需LBA的T’值相匹配。
脏高速缓存行指这样的状态:其中被存储在该高速缓存行中的写入数据未能与被存储在NAND存储器210上的对应地址处的数据相匹配。干净高速缓存行指这样的状态:其中写入数据与被存储的数据相匹配。脏高速缓存行通过被写回到NAND存储器210而变干净。写入高速缓存标记区域410中的每条标记信息T’的数据长度为13位,并且每个DB位和VB位需要1位大小。因此,每个表项的容量为2字节。因此,写入高速缓存标记区域410的大小为213乘以2字节,即,大小为16千字节。
CPU 110执行OS和用户程序,并且基于来自其中任何一个程序的请求,生成写入命令以便将被存储在主机使用区域101中的数据写入到存储系统2。所生成的写入命令被发送到主机控制器120。
<写入命令的数据结构的概要>
图7是示出写入命令的数据结构的一个实例的示意图。如图7中所示,写入命令500包括:写入指令501,其指示命令500将为写入数据提供指令;主机使用区域101中的源地址502,在该地址处存储写入目标数据;第一目的地地址503,其指示要将写入数据写入到的地址;以及写入数据的数据长度504。第一目的地地址503被表示为LBA。
主机控制器主体部122经由总线适配器121接收CPU 110发送的写入命令500,并且读取均包含在接收的写入命令500中的源地址502和第一目的地地址503。然后,主机控制器主体部122经由设备连接适配器126,将被存储在源地址502处的数据和第一目的地地址503传输到存储系统2。
主机控制器主体部122可以利用主存储器DMA 123读取被存储在源地址502处的数据。此时,主机控制器主体部122在主机控制器主体部122中的缓冲器地址处设置源地址502和数据长度504以及目的地地址,并且激活主存储器DMA 123。
此外,主机控制器主体部122能够从CPU 110接收不同于写入命令500的各种命令。在此,主机控制器主体部122在命令队列中对接收的命令进行排队,并且以从前导命令开始的顺序,从命令队列获得处理目标命令。其中存储命令队列的数据结构的区域可以在主存储器100上受到保护,或者通过在主机控制器主体部122的内部或附近布置小型存储器或寄存器来配置。
此外,主机控制器主体部122与主存储器DMA 123、控制DMA 124及数据DMA 125的每一个之间的通信路径并不限于特定路径。例如,总线适配器121可以被用作通信路径,或者可以提供专用线路并且将其用作通信路径。
<命令格式>
现在,将参考图8描述根据本实施例的数据传输命令(也称为请求)的格式。图8是示出根据本实施例的数据传输命令的格式的一个实例的示意图。
如图8中所示,当用于向主机设备1发出数据传输请求时,数据传输命令(Access UM Buffer(访问UM缓冲器))可以包含各种信息。具体地说,根据本实施例的数据传输命令(Access UM Buffer)可以包含标志信息(参见图8中的虚线部分)。
<标志>
现在,参考图9,将描述根据本实施例的数据传输命令(Access UMBuffer)中包含的标志。图9示出根据本实施例的数据传输命令(Access UMBuffer)中包含的标志的一个实例。
如图9中所示,根据本实施例的数据传输命令(Access UM Buffer)包含三种类型的标志:R、W和P。在从主机设备1接收到命令时,存储系统2在数据传输命令中设置这些标志。
[标志R]
标志R指示后续操作将数据从主机设备1的主存储器100读取到存储系统2中。
具体地说,如果后续操作将数据从主机设备1读取到存储系统2中,则设置标志R。
[标志W]
标志W指示后续操作将数据从存储系统2写入到主机设备1的主存储器100中。
如果后续操作将数据从存储系统2写入到主机设备1,则设置标志W。
[标志P]
标志P确定从存储系统2到主机设备1的后续数据输入序列(UMDATA IN)或者从主机设备1到存储系统2的后续输出序列(UM DATAOUT)的优先级。经由对应于选定优先级的端口执行每个序列。
具体地说,如果从存储系统2到主机设备1的数据输入序列(UMDATA IN)或者从主机设备1到存储系统2的输出序列(UM DATA OUT)的优先级高,则设置标志P。在识别到设置标志P时,主机设备1经由被设置为优先级1(高)的第二端口发送和接收数据。
如果从存储系统2到主机设备1的数据输入序列(UM DATA IN)或者从主机设备1到存储系统2的输出序列(UM DATA OUT)的优先级低,则清除标志P。因此,在识别到已清除标志P时,主机设备1经由具有优先级0(低)的第三端口发送和接收数据。
<读取操作>
现在,将参考图10描述在存储系统2从主机设备1读取数据的情况下,信息处理设备执行的操作的一个实例。图10A是示出其中存储系统2经由第三端口接收数据的操作的示意图。图10B是示出其中存储系统2经由第二端口接收数据的操作的示意图。
首先,将描述在以下情况下执行的操作:信息处理设备包括针对通信路径3的两个优先级设置(0,低优先级;1,高优先级),并且当请求数据传输时,用于对应数据传输的通信路径3的优先级被恒定保持为0,如图10A中所示。
[步骤S1001]
设备控制器主体部202确定当从主机设备1接收数据时,要使用优先级0。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中清除标志P。此外,设备控制器主体部202要从主机设备1读取数据,并且因此在数据传输命令(Access UM Buffer)中设置标志R。
[步骤S1002]
设备控制器主体部202发送命令(Access UM Buffer),该命令用于读取被存储在设备使用区域102中的数据并且包括诸如以下信息:标志R,设置;标志P,清除;地址;以及大小(读取;P==0;地址;大小)。经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令发送到主机设备1。
[步骤S1003]
在从存储系统2接收到用于读取数据的命令时,主机控制器120基于诸如以下信息,从设备使用区域102取回数据:标志R,设置;标志P,清除;地址;以及大小(读取;P==0;地址;大小)。
[步骤S1004]
然后,基于从存储系统2接收的用于读取数据的命令(Access UMBuffer)中包含的标志P,主机控制器120经由具有优先级0的第三端口(CPort 2;TC 0),将读取数据传输到存储系统2(UM DATA OUT)。
现在,将描述在以下情况下执行的操作:信息处理设备包括针对通信路径3的两个优先级设置(0,低优先级;1,高优先级),并且当请求数据传输时,用于对应数据传输的通信路径3的优先级被恒定保持为1,如图10B中所示。
[步骤S1101]
设备控制器主体部202确定当从主机设备1接收数据时,要使用优先级1。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中设置标志P。此外,设备控制器主体部202要从主机设备1读取数据,并且因此在数据传输命令(Access UM Buffer)中设置标志R。
[步骤S1102]
设备控制器主体部202发送命令(Access UM Buffer),该命令用于读取被存储在设备使用区域102中的数据并且包括诸如以下信息:标志R,设置;标志P,设置;地址;以及大小(读取;P==1;地址;大小)。经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令发送到主机设备1。
[步骤S1103]
在从存储系统2接收到用于读取数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从设备使用区域102取回数据:标志R,设置;标志P,设置;地址;以及大小(读取;P==1;地址;大小)。
[步骤S1104]
然后,基于从存储系统2接收的用于读取数据的命令(Access UMBuffer)中包含的标志P,主机控制器120经由具有优先级1的第三端口(CPort 1;TC 1),将读取数据传输到存储系统2(UM DATA OUT)。
<写入操作>
现在,将参考图11描述在存储系统2将数据写入到主机设备1的情况下,信息处理设备执行的操作的一个实例。图11A是示出其中存储系统2经由第三端口发送数据的操作的示意图。图11B是示出其中存储系统2经由第二端口发送数据的操作的示意图。
首先,将描述在以下情况下执行的操作:信息处理设备包括针对通信路径3的两个优先级设置,并且当请求数据传输时,用于对应数据传输的通信路径3的优先级被恒定保持为0,如图11A中所示。
[步骤S1201]
设备控制器主体部202确定当将数据发送到主机设备1时,要使用优先级0。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中清除标志P(P==0)。此外,设备控制器主体部202要将数据写入到主机设备1,并且因此在数据传输命令(Access UM Buffer)中设置标志R。
[步骤S1202]
设备控制器主体部202发送请求命令(Access UM Buffer),该命令用于读取被存储在设备使用区域102中的数据并且包括诸如以下信息:标志W,设置;标志P,清除;地址;以及大小(写入,P==0,地址,大小)。经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令发送到主机设备1。
[步骤S1203]
设备控制器主体部202发送命令(UM DATA IN),以便经由具有优先级0的第三端口(CPort 2,TC 0),将写入数据发送到主机设备1。
在从存储系统2接收到用于写入数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从存储系统2接收写入数据(UMDATA IN):“标志W,设置;标志P,清除;地址;以及大小(写入,P==0,地址,大小)”。此时,主机控制器120基于用于写入从存储系统2接收的数据的命令(Access UM Buffer)中包含的标志P,经由具有优先级0的第三端口(CPort 2;TC 0)从存储系统2接收写入数据。
[步骤S1204]
主机控制器120将从存储系统2接收的写入数据存储在设备使用区域102中。
[步骤S1205]
当写入数据被存储在设备使用区域102中时,主机控制器120经由具有优先级1的第二端口(CPort 1;TC 1),向存储系统2发送表示存储已完成的通知命令(Acknowledge UM Buffer(确认UM缓冲器))。这完成将数据从存储系统2写入到主机设备1。
现在,将描述在以下情况下执行的操作:信息处理设备包括针对通信路径3的两个优先级设置,并且当请求数据传输时,用于对应数据传输的通信路径3的优先级被恒定保持为1,如图11B中所示。
[步骤S1301]
设备控制器主体部202确定当将数据发送到主机设备1时,要使用优先级1。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中设置标志P(P==1)。此外,设备控制器主体部202要将数据写入到主机设备1,并且因此在数据传输命令(Access UM Buffer)中设置标志W。
[步骤S1302]
设备控制器主体部202经由具有优先级1的第二端口(CPort 1;TC 1),将命令(Access UM Buffer)发送到主机设备1,该命令用于写入从存储系统2接收的数据并且包括诸如以下信息:标志W,设置;标志P,设置;地址;以及大小(写入,P==1,地址,大小)。
[步骤S1303]
设备控制器主体部202发送命令(UM DATA IN),以便经由具有优先级1的第三端口(CPort 1;TC 1),将写入数据发送到主机设备1。
在从存储系统2接收到用于写入数据的命令(Access UM Buffer)时,主机控制器120根据诸如以下信息,从存储系统2接收写入数据(UMDATA IN):标志W,设置;标志P,设置;地址;以及大小(写入,P==1,地址,大小)。此时,主机控制器120基于用于写入从存储系统2接收的数据的命令(Access UM Buffer)中包含的标志P,经由具有优先级1的第二端口(CPort 1;TC 1),从存储系统2接收写入数据。
[步骤S1304]
主机控制器120将从存储系统2接收的写入数据存储在设备使用区域102中。
[步骤S1305]
当写入数据被存储在设备使用区域102中时,主机控制器120经由具有优先级1的第二端口(CPort 1;TC 1),向存储系统2发送表示存储已完成的通知命令(Acknowledge UM Buffer)。这完成将数据从存储系统2写入到主机设备1。
此外,如果存储系统2从主机设备1接收到写入命令500,则可以执行存储系统2的上述操作(读取操作和写入操作),或者上述操作可以由存储系统2主动执行。
<根据第一实施例的存储系统的有利效果>
根据第一实施例,信息处理设备包括主机设备1、具有非易失性半导体存储器210的半导体存储设备2,以及将主机设备1和半导体存储设备2连接在一起的通信路径3。主机设备1包括第一存储部100和第一控制部120,第一控制部120与第一存储部100和通信路径3连接并且控制第一存储部。通信路径3包括多个端口,为每个端口分配优先级。半导体存储设备2包括第二控制部200,其与通信路径3连接以便将包括第一标志(标志P)的数据发送到第一控制部120,该第一标志基于将数据发送到第一存储部100或者从第一存储部100接收数据的操作的优先顺序来确定优先级。此外,在接收到数据传输第一命令时,第一控制部120基于第一命令中包含的第一标志,经由对应于所述优先级的端口,执行第一存储部100与第二控制部200之间的发送和接收。此外,所述优先级包括第一优先级0和高于第一优先级0的第二优先级1。第二控制部200在第一命令中包括第二标志(标志R)或第三标志(标志W),该第二标志指示后续操作从第一存储部100读取数据,该第三标志指示后续操作将数据写入到第一存储部100。
当将数据发送到主机设备1和从主机设备1接收数据时,根据第一实施例的存储系统2可以控制优先级。
用于数据传输的命令通常没有用于控制优先级的机制。当发送或接收数据时,这妨碍根据情况选择优先级,从而不考虑数据的类型、大小等。
如上所述,优先级指定处理的优先顺序。具体地说,例如当为主机设备1打包多个彼此竞争的请求时,具有高优先级的过程早于具有低优先级的过程而执行。
如上所述,根据第一实施例的存储系统2在用于数据传输的请求本身中可以包括各种标志信息,其中包括指示数据传输的优先级的信息。标志的实例包括:标志R,其表示后续操作从主机设备1读取数据;标志W,其表示后续操作将数据写入到主机设备1;以及标志P,其指示后续序列的优先级。
具体地说,请求本身中包括的标志P允许在向主机设备1发出请求的阶段,确定后续数据输入/输出的优先级。存储系统2适当地控制优先级的能力允许整体优化存储系统2的性能。
(第二实施例)
现在,将描述根据第二实施例的存储系统的操作。根据第二实施例的存储系统的基本配置和操作类似于上述根据第一实施例的存储系统的基本配置和操作。因此,将省略对以下各项的描述:上面在第一实施例中描述的事物以及可容易地从第一实施例构想的事物。
<设备控制器主体部的操作>
现在,将描述存储系统2的设备控制器主体部202的操作。图12和图13是示出设备控制器主体部202的操作的流程图。
[步骤S2001]
首先,设备控制器主体部202等待经由第一端口从主机设备1接收写入命令500。
[步骤S2002]
在从主机设备1接收到写入命令500时,设备控制器主体部202将接收的写入命令500存储在命令队列中。步骤S2002中的命令队列表示RAM203中提供的用于存储系统2的命令队列。
[步骤S2003]
设备控制器主体部202指示主机设备1复制数据。
更具体地说,主机控制器主体部122从主机使用区域101中的源地址502指示的地址读取数据。然后,主机控制器主体部122将读取数据复制到设备使用区域102中的第二目的地地址指示的地址。主存储器DMA 123通过复制结束中断,向主机控制器主体部122通知完成的DMA传输。
当主存储器DMA 123的DMA传输完成时,主机控制器主体部122指示控制DMA 124将复制结束信号发送到存储系统2。
[步骤S2004]
设备控制器主体部202等待经由第二端口从主机设备1接收复制结束信号。在接收到复制结束信号时,设备控制器主体部202判定是否可以针对NAND存储器210执行写入。
[步骤S2005]
其中可以针对NAND存储器210执行写入的状态表示NAND存储器210的就绪/忙碌信号指示就绪状态,并且表示接收的写入命令500在命令队列的头部。如果不能针对NAND存储器210执行写入,则设备控制器主体部202执行步骤S2005中的判定过程。
[步骤S2006]
如果能够针对NAND存储器210执行写入,则设备控制器主体部202读取写入命令500中包含的第一目的地地址503。
[步骤S2007]
设备控制器主体部202然后使用所读取第一目的地地址503的较低22位的值L,引用L2P高速缓存标记区域310。
现在,参考图14,将进一步详细地描述步骤S2007。图14是示出步骤S2007中的过程的一部分的流程图,在步骤S2007中设备控制器主体部202引用L2P高速缓存标记区域310。
[步骤S2101]
设备控制器主体部202经由第二端口,将使用L读取L2P高速缓存标记区域310中的表项(L2P管理表项)的请求发送到主机设备1。
更具体地说,设备控制器主体部202确定针对系统控制的表项的类型。当要从主机设备1接收用于系统控制的表项(L2P管理表项)时,设备控制器主体部202确定优先级为1(高)。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中设置标志P。此外,设备控制器主体部202要从主机设备1读取表项(L2P管理表项),并且因此在数据传输命令(Access UM Buffer)中设置标志R。
设备控制器主体部202经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令(Access UM Buffer)发送到主机设备1,该命令用于读取被存储在L2P高速缓存标记区域310中的数据并且包括诸如以下信息:标志R,设置;标志P,设置;地址;以及大小(读取;P==1;L2PTagBaseAddr(L2P标记基地址),大小)。
[步骤S2102]
设备控制器主体部202等待接收表项。在从存储系统2接收到用于读取数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从L2P高速缓存标记区域310取回表项(L2P管理表项):标志R,设置;标志P,设置;地址;以及大小(读取,P==1,L2PTagBaseAddr,大小)。
然后,主机控制器120基于从存储系统2接收的用于读取数据的命令(Access UM Buffer)中包含的标志P,经由具有优先级1的第二端口(CPort 1;TC 1),将读取的表项(L2P管理表项)传输到存储系统2(UMDATA OUT)。
设备控制器主体部202经由第二端口接收表项。在接收到表项时,设备控制器主体部202结束步骤S2007中的过程。
[步骤S2008]
在步骤S2007中的过程之后,设备控制器主体部202判定通过步骤S2007中的过程获得的表项中包含的VL位是否为1。
[步骤S2009]
如果VL位为1,则设备控制器主体部202判定表项中包含的标记信息是否与第一目的地地址503的较高4位的值T匹配。
[步骤S2010]
如果步骤S2008中的判定指示VL位为0,则设备控制器主体部202将表项的VL位设置为1。
[步骤S2011]
如果在步骤S2009中的判定中,表项中包含的标记信息未能与第一目的地地址503的较高4位的值T匹配,或者如果在步骤S2010中,将表项的VL位设置为1,则设备控制器主体部202将标记信息设置为T。
[步骤S2012]
随后,设备控制器主体部202引用L2P主体211,以便获得对应于第一目的地地址503的物理地址。
[步骤S2013]
然后,设备控制器主体部202使用L,将在步骤S2012中获得的物理地址写入到L2P高速缓存区域300中的对应高速缓存行。
现在,将参考图15进一步详细地描述步骤S2013。图15是示出步骤S2013中的过程的一部分的流程图,在步骤S2013中设备控制器主体部202将物理地址写入到L2P高速缓存区域300。
[步骤S2201]
首先,设备控制器主体部202请求主机设备1使用L接收L2P高速缓存区域300中的表项(L2P表高速缓存表项)。
更具体地说,设备控制器主体部202确定要被发送到主机设备1的表项的类型。当要将用于系统控制的表项(L2P表高速缓存表项)发送到主机设备1时,设备控制器主体部202确定优先级为1(高)。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中设置标志P。此外,设备控制器主体部202要将表项(L2P表高速缓存表项)写入到主机设备1,并且因此在数据传输命令(Access UM Buffer)中设置标志W。
[步骤S2202]
设备控制器主体部202将在步骤S2012中获得的物理地址作为发送目标表项(L2P表高速缓存表项)发送到主机设备1。
更具体地说,在接收到用于写入数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从存储系统2接收写入数据(UMDATA IN):标志W,设置;标志P,清除;地址;以及大小(写入,P==0,地址,大小)。此时,基于从存储系统2接收的用于写入数据的命令(AccessUM Buffer)中包含的标志P,主机控制器120经由具有优先级0的第三端口(CPort 2;TC 0)从存储系统2接收写入数据。
然后,主机控制器120将从存储系统2接收的写入数据存储在设备使用区域102中。
[步骤S2203]
然后,设备控制器主体部202等待主机设备1完成接收。当主机设备1完成接收时,设备控制器主体部202结束步骤S2013中的过程。
设备控制器主体部202能够经由第二端口,接收发送的请求、指示主机设备1是否准备好接收表项的状态信息,以及指示主机设备1是否已完成接收的状态信息。此外,可以经由第三端口将表项发送到主机设备1。
[步骤S2014]
如果通过步骤S2007中的过程读取的表项中的标记信息等于T,则设备控制器主体部202从L2P高速缓存区域300获得表项(L2P表高速缓存表项)。
现在,参考图16,将进一步详细地描述步骤S2014。图16是示出其中设备控制器主体部202引用L2P高速缓存区域300的过程的流程图。
[步骤S2301]
设备控制器主体部202经由第二端口,将使用L读取L2P高速缓存区域300中的表项(L2P表高速缓存表项)的请求发送到主机设备1。
更具体地说,设备控制器主体部202确定要从主机设备1接收的表项的类型。当要从主机设备1接收用于系统控制的表项(L2P表高速缓存表项)时,设备控制器主体部202确定优先级为1(高)。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中设置标志P。此外,设备控制器主体部202要从主机设备1读取表项(L2P表高速缓存表项),并且因此在数据传输命令(Access UM Buffer)中设置标志R。
设备控制器主体部202经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令(Access UM Buffer)发送到主机设备1,该命令用于读取被存储在L2P高速缓存标记区域310中的数据并且包括诸如以下信息:标志R,设置;标志P,设置;地址;以及大小(读取,P==1,L2PTagBaseAddr+L,大小)。
[步骤S2302]
设备控制器主体部202等待接收表项。在从存储系统2接收用于读取数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从L2P高速缓存区域300取回表项(L2P表高速缓存表项):标志R,设置;标志P,设置;地址;以及大小(读取,P==1,L2PTagBaseAddr+L,大小)。
然后,主机控制器120基于从存储系统2接收的用于读取数据的命令(Access UM Buffer)中包含的标志P,经由具有优先级1的第二端口(CPort 1;TC 1),将读取表项(L2P管理表项)传输到存储系统2(UMDATA OUT)。
设备控制器主体部202经由第三端口接收表项。在接收到表项时,设备控制器主体部202结束步骤S2014中的过程。
[步骤S2015]
在步骤S2013或步骤S2014中的过程之后,设备控制器主体部202使用第一目的地地址503的较低13位的值L’,读取写入高速缓存标记区域410中的表项。
现在,参考图17,将进一步详细地描述步骤S2015。图17是示出步骤S2015中的过程的一部分的流程图,在步骤S2015中设备控制器主体部202读取写入高速缓存标记区域410中的表项。
[步骤S2401]
设备控制器主体部202使用第一目的地地址503的较低13位的值L’,经由第二端口231从主机设备1请求写入高速缓存标记区域410中的表项。
更具体地说,设备控制器主体部202确定要从主机设备1接收的表项的类型。当要从主机设备1接收用于系统控制的表项(缓冲器管理表项)时,设备控制器主体部202确定优先级为1(高)。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中设置标志P。此外,设备控制器主体部202要从主机设备1读取表项(缓冲器管理表项),并且因此在数据传输命令(Access UM Buffer)中设置标志R。
设备控制器主体部202经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令(Access UM Buffer)发送到主机设备1,该命令用于读取被存储在写入高速缓存标记区域410中的数据并且包括诸如以下信息:标志R,设置;标志P,设置;地址;以及大小(读取,P==1,WCTagBaseAddr,大小)。
[步骤S2402]
设备控制器主体部202等待接收表项。在从存储系统2接收用于读取数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从写入高速缓存标记区域410取回表项(缓冲器管理表项):标志R,设置;标志P,设置;地址;以及大小(读取,P==1,WCTagBaseAddr,大小)。
然后,主机控制器120基于从存储系统2接收的用于读取数据的命令(Access UM Buffer)中包含的标志P,经由具有优先级1的第二端口(CPort 1;TC 1),将读取表项(缓冲器管理表项)传输到存储系统2(UMDATA OUT)。
设备控制器主体部202经由第二端口接收表项。在接收到表项时,设备控制器主体部202结束步骤S2014中的过程。
[步骤S2016]
在步骤S2014中的过程之后,设备控制器主体部202判定读取表项中包含的VB位是否为1。
[步骤S2017]
如果VB位为1,则设备控制器主体部202判定表项中包含的DB位是否为1。
[步骤S2018]
如果DB位为1,则设备控制器主体部202判定表项中包含的标记信息是否与T’匹配。
如果VB位为0,DB位为0,或者标记信息未能与T’匹配,则设备控制器主体部202结束其操作。
[步骤S2019]
在步骤S2018中,如果表项中包含的标记信息与T’匹配,则设备控制器主体部202确定写入的目标写入数据存在于写入高速缓存区域400中。在这种情况下,设备控制器主体部202使用L’从写入高速缓存区域400中的对应高速缓存行获得写入数据。
现在,参考图18,将进一步详细地描述步骤S2019。图18是示出步骤2019中的过程的一部分的流程图,在步骤2019中设备控制器主体部202从主机设备1获得写入数据。
[步骤S2501]
设备控制器主体部202使用L’,经由第二端口231从主机设备1请求被缓存在写入高速缓存区域400中的写入数据。
更具体地说,设备控制器主体部202确定要从主机设备1接收的表项的类型。当要从主机设备1接收是用户数据的表项(写入缓冲器表项)时,设备控制器主体部202确定优先级为“0(低)”。因此,设备控制器主体部202在数据传输命令(Access UM Buffer)中将标志P设置为0。此外,设备控制器主体部202要从主机设备1读取表项(写入缓冲器表项),并且因此在数据传输命令(Access UM Buffer)中设置标志R。
设备控制器主体部202经由具有优先级0(低)的第三端口(CPort 2,TC 0),将命令(Access UM Buffer)发送到主机设备1,该命令用于读取被存储在写入高速缓存区域400中的数据并且包括诸如以下信息:标志R,设置;标志P,清除;地址;以及大小(读取,P==0,WCTagBaseAddr+L’×8K,大小)。
[步骤S2502]
设备控制器主体部202等待接收表项。在从存储系统2接收用于读取数据的命令(Access UM Buffer)时,主机控制器120基于诸如以下信息,从写入高速缓存区域400取回表项(写入缓冲器表项):标志R,设置;标志P,清除;地址;以及大小(读取,P==0,WCBaseAddr+L,大小)。
然后,主机控制器120基于从存储系统2接收的用于读取数据的命令(Access UM Buffer)中包含的标志P,经由具有优先级0的第三端口(CPort 2;TC 0),将读取表项(写入缓冲器表项)传输到存储系统2(UMDATA OUT)。
设备控制器主体部202经由第三端口接收表项。在接收到表项时,设备控制器主体部202结束步骤S2019中的过程。
[步骤S2020]
在步骤S2019中的过程之后,设备控制器主体部202将获得的写入数据写入到由步骤S2013或步骤S2014中获得的NAND存储器210中的物理地址所指示的位置。
[步骤S2021]
然后,设备控制器主体部202将写入高速缓存标记区域410(通过步骤S2014中的过程引用)中的表项的DB位设置为0。
现在,参考图19,将进一步详细地描述步骤S2021。图19是示出步骤2021中的过程的一部分的流程图,在步骤2021中设备控制器主体部202操纵DB位的值。
[步骤S2601]
设备控制器主体部202经由第二端口231,将用于使用L’接收写入高速缓存标记区域410中的表项的请求发送到主机设备1。
[步骤S2602]
设备控制器主体部202经由第三端口232,将DB位设置为1的表项发送到主机设备1。
[步骤S2603]
随后,设备控制器主体部202监视经由第二端口231接收的状态信息,以便等待主机设备1完成接收。
当主机设备1完成表项的接收时,设备控制器主体部202结束步骤S2021中的操作。
[步骤S2022]
在步骤S2021中的过程之后,设备控制器主体部202将L2P高速缓存标记区域310(通过步骤S2007中的过程引用)中的表项的VL位设置为0。设备控制器主体部202因此结束其操作。
现在,参考图20,将进一步详细地描述步骤S2022。图20是示出步骤2022中的过程的一部分的流程图,在步骤2022中设备控制器主体部202操纵VL位值。
[步骤S2701]
设备控制器主体部202经由第二端口231,将用于使用L接收L2P高速缓存标记区域310中的表项的请求发送到主机设备1。
[步骤S2702]
设备控制器主体部202经由第三端口232,将VL位设置为1的表项发送到主机设备1。
[步骤S2703]
随后,设备控制器主体部202监视经由第二端口231接收的状态信息,以便等待主机设备1完成接收。
当主机设备1完成表项的接收时,设备控制器主体部202结束步骤S2022中的操作。
<根据第二实施例的信息处理设备的有利效果>
如上所述,根据第二实施例的设备控制器主体部202将当从主机设备1接收用于系统控制的表项(L2P管理表项、L2P表高速缓存表项或缓冲器管理表项)时使用的优先级定义为优先级1(高)。设备控制器主体部202还将当从主机设备1接收作为用户数据的表项(写入缓冲器表项)时使用的优先级定义为优先级0(低)。
在第一实施例的描述中,将通信路径3的优先级定义为恒定为0或恒定为1。但是,根据第二实施例,可以通过更改针对系统控制的数据传输和存储系统2中的用户数据传输的优先级,整体优化信息处理设备的性能。
(第三实施例)
现在,将描述根据第三实施例的存储系统的操作。已结合以下情况描述了第二实施例:其中存储系统2根据数据类型确定用于数据传输的通信路径3的优先级。将结合以下情况描述第三实施例:其中存储系统2基于数据大小确定优先级。根据第三实施例的存储系统的基本配置和操作类似于根据第一和第二实施例的上述存储系统的基本配置和操作。因此,将省略对以下各项的描述:上面在第一和第二实施例中描述的事物以及可容易地从第一和第二实施例构想的事物。
参考图21,将描述图18中示出的步骤S2501中的操作的另一个实例。图21是示出其中设备控制器主体部确定优先级的过程的流程图。
[步骤S2801]
当从主机设备1接收作为用户数据的表项时,设备控制器主体部202确定数据大小。
[步骤S2802]
当在步骤S2801确定数据大小大于预定大小时,设备控制器主体部202将从主机设备1接收作为用户数据的表项(写入缓冲器表项)时使用的优先级设置为0(低)。
[步骤S2803]
当在步骤S2801确定数据大小小于预定大小时,设备控制器主体部202将从主机设备1接收作为用户数据的表项(写入缓冲器表项)时使用的优先级设置为1(高)。
[步骤S2804]
设备控制器主体部202在数据传输命令(Access UM Buffer)中设置在步骤S2802或步骤S2803中设置的标志P。
此外,设备控制器主体部202要从主机设备1读取表项(写入缓冲器表项),并且因此在数据传输命令(Access UM Buffer)中设置标志R。
设备控制器主体部202经由具有优先级1(高)的第二端口(CPort 1;TC 1),将命令(Access UM Buffer)发送到主机设备1,该命令用于读取被存储在写入高速缓存区域400中的数据并且包括诸如以下信息:标志R,设置;标志P;地址;以及大小(读取,P,WCTagBaseAddr+L’×8K,大小)。
根据上述第三实施例,当发送或接收具有至少预定大小的数据时,设备控制器主体部202将优先级设置为0(低)。当发送或接收大小小于预定大小的数据时,设备控制器主体部202将优先级设置为1(高)。
但是,该配置仅是示例性的。当发送或接收具有至少预定大小的数据时,设备控制器主体部202可以将优先级设置为1(高),并且当发送或接收大小小于预定大小的数据时,可以将优先级设置为0(低)。
如上所述,设备控制器主体部202例如可以基于要被发送或接收的数据的大小,适当地切换优先级(0:低优先级,1:高优先级)。因此,第三实施例能够产生类似于第一和第二实施例中描述的效果。
(第四实施例)
现在,将描述根据第四实施例的存储系统的操作。已结合以下情况描述了第三实施例:其中存储系统2基于数据大小确定优先级。将结合以下情况描述第四实施例:其中主机1确定优先级。根据第四实施例的存储系统的基本配置和操作类似于根据上述第一至第三实施例的存储系统的基本配置和操作。因此,将省略对以下各项的描述:上面在第一至第三实施例中描述的事物以及可容易地从第一至第三实施例构想的事物。
如图22中所示,例如,主机设备1的主机使用区域101保存定义程序编号、程序类型等与优先级之间的关系的表。该表仅是示例性的,并且本实施例并不限于此。例如,该表可以定义程序的名称或ID与优先级之间的关系。参考该表,CPU 110能够基于要由CPU 110处理的程序的名称、ID或类型得到优先级。
现在,参考图23,将描述其中主机设备1确定优先级的操作3000。
[步骤S3001]
CPU 110获得对应于要由CPU 110处理的程序的优先级。更具体地说,如上所述,CPU 110能够通过引用被保存在图22中示出的主机使用区域101中的表,获得与要由CPU 110处理的程序的名称、ID、类型等对应的优先级。
[步骤S3002]
主机控制器主体部122将CPU 110读取的优先级作为优先级信息提供给存储系统2。因此,在从主机控制器主体部122接收到优先级信息时,设备控制器主体部202基于优先级信息,在数据传输命令(Access UMBuffer)中设置标志P。然后,例如,设备控制器主体部202不更改所确定的标志P的设置,除非主机控制器主体部122为设备控制器主体部202提供新的优先级信息。
设备控制器主体部202经由使用优先级1(高)操作的第二端口(CPort1;TC 1),将至少包含“标志P”信息的数据传输命令(Access UM Buffer)发送到主机设备1。
根据上述第四实施例,主机设备1基于要由主机设备1处理的程序来确定优先级。因此,主机设备1能够确定优先级。
(第五实施例)
现在,将描述根据第五实施例的存储系统。已结合以下情况描述了第四实施例:其中主机设备1确定优先级。将结合以下情况描述第五实施例:其中根据实时传输数据的设备是否被连接到主机设备1来确定优先级。换言之,实时传输数据的设备是主机设备1需要针对其执行实时处理的设备。根据本实施例,实时传输数据的设备的一个实例是摄像机。此外,将省略对以下各项的描述:上面在第一至第四实施例中描述的事物以及可容易地从第一至第四实施例构想的事物。
如图24中所示,在根据第五实施例的信息处理设备中,摄像机4经由通信路径5和存储系统2的主机连接适配器201被连接到主机设备1。此类连接也被称为菊花链连接。在此,菊花链连接被用于将摄像机4连接到存储系统2,但本实施例不一定限于此。例如,可以使用星形连接将摄像机4连接到主机设备1。
现在,参考图25,将描述其中主机设备1判定摄像机4是否被连接到主机设备1的操作的一个实例。图25是示出其中主机设备1判定摄像机4是否已被连接到主机设备1的操作3100的流程图。
CPU 110执行用于检查被连接到主机设备1的设备的过程(设备检查操作)3100。主机设备1包括N个(至少为1的整数)设备连接终端。换言之,可以将多达N个设备连接到主机设备1。CPU 110按顺序检查1至N个终端,以便确定什么设备被连接到哪些终端。
[步骤S3101]
首先,为了执行检查什么设备被连接到终端n的检查操作,CPU 110将初始值(n:=1)设置为n,以便它可以选择第一终端。参考字符n在此被用于指示终端编号。
[步骤S3102]
然后,CPU 110将存在检查信号发送到第n个终端。
[步骤S3103]
然后,CPU 110判定存在检查信号被发送到的第n个终端是否在预定时间内对存在检查信号进行应答。
[步骤S3104]
在步骤S3103中,如果CPU 110确定第n个终端甚至在经过预定时间之后也未对存在检查信号进行应答,则CPU 110判定步骤S3102和S3103是否被重复M(至少为1的整数)次。此时,如果CPU 110确定步骤S3102和S3103未被重复M次,则CPU 110重复步骤S3102。
[步骤S3105]
在步骤S3104中,如果步骤S3102和S3103已被重复M(至少为1的整数)次,则CPU 110判定CPU 110将存在检查信号发送到的“第n个终端”是否是“第N个终端”(n=N)。
[步骤S3106]
在步骤S3105中,如果CPU 110确定CPU 110将存在检查信号发送到的“第n个终端”不是“第N个终端”,则CPU 110使当前终端编号“n”加上1,并且以新终端编号“n”重复步骤S3102。
[步骤S3107]
在步骤S3103中,如果在预定时间内从第n个终端接收到对存在检查信号的应答,则CPU 110请求被连接到进行应答的第n个终端的设备将设备描述符发送到CPU 110。
[步骤S3108]
CPU 110判定从设备接收的设备的设备描述符是否指示摄像机。如果CPU 110确定设备的设备描述符未指示摄像机,则CPU 110转到步骤S3105。
[步骤S3109]
在步骤S3108中,如果CPU 110确定从设备接收的设备的设备描述符指示摄像机,则CPU 110将指示摄像机4被连接到主机设备1的设备信息存储在主机设备1的主机使用区域101中。CPU 110然后转到步骤S3105。
[步骤S3110]
在步骤S3105中,如果CPU 110确定“第n个终端”是“第N个终端”(n=N),则CPU 110将被存储在主机设备1的主机使用区域101中的设备信息发送到存储系统2。然后,CPU 110结束设备检查操作3100。
现在,将参考图26描述其中设备控制器主体部确定优先级的操作3200。
[步骤S3201]
在从主机设备1接收到设备信息时,设备控制器主体部202判定设备信息是否指示摄像机4。
[步骤S3202]
在步骤S3201中,如果设备控制器主体部202确定设备信息指示摄像机4,则设备控制器主体部202确定优先级为“低”,并且清除标志P(优先级为低)。
[步骤S3203]
在步骤S3201中,如果设备控制器主体部202确定设备信息未指示摄像机4,则设备控制器主体部202确定优先级为“高”,并且设置标志P(优先级为高)。
[步骤S3204]
设备控制器主体部202在数据传输命令(Access UM Buffer)中设置在步骤S3202或S3203中设置的标志P。
设备控制器主体部202经由使用优先级1(高)操作的第二端口(CPort1;TC 1),将至少包含“标志P”信息的数据传输命令(Access UM Buffer)发送到主机设备1。
在上述第五实施例中,如果摄像机4被连接到主机设备1,则设备控制器主体部202将优先级设置为0(低)。如果摄像机4未被连接到主机设备1,则设备控制器主体部202将优先级设置为1(高)。
但是,这仅是示例性的,并且如果请求实时处理的设备被连接到主机设备1,则可以执行类似的处理。
(第六实施例)
现在,将描述根据第六实施例的存储系统的操作。已结合以下情况描述了第五实施例:其中根据执行实时处理的设备是否被连接到主机设备1来确定优先级。将结合以下情况描述第六实施例:其中根据通信路径3的通信密度来确定优先级。将省略对以下各项的描述:上面在第一至第五实施例中描述的事物以及可容易地从第一至第五实施例构想的事物。
将参考图27描述根据第六实施例的信息处理设备的基本配置。根据第六实施例的主机设备1测量通信路径3的通信密度。更具体地说,例如,在设备连接适配器126中提供计数器127以便测量通信密度,即,给定时间内在通信路径3上发送和接收的分组数量(或者总分组大小)。计数器127然后将通信密度提供给设备控制器主体部202。
将参考图28描述其中设备控制器主体部确定优先级的操作3300。
[步骤S3301]
在从主机设备1接收到通信路径3的通信密度时,设备控制器主体部202判定通信密度是否等于或高于预定密度T。
[步骤S3302]
在步骤S3301中,如果设备控制器主体部202确定通信密度等于或高于预定密度T,则设备控制器主体部202确定优先级为“低”并且清除标志P(优先级为低)。
[步骤S3303]
在步骤S3301中,如果设备控制器主体部202确定通信密度低于预定密度T,则设备控制器主体部202确定优先级为“高”并且设置标志P(优先级为高)。
[步骤S3304]
设备控制器主体部202在数据传输命令(Access UM Buffer)中设置在步骤S3302或S3303中设置的标志P。
设备控制器主体部202经由使用优先级1(高)操作的第二端口(CPort1;TC 1),将至少包含“标志P”信息的数据传输命令(Access UM Buffer)发送到主机设备1。
根据上述第六实施例,如果通信路径3的通信密度等于或高于预定密度,则设备控制器主体部202将优先级设置为0(低)。如果通信路径3的通信密度低于预定密度,则设备控制器主体部202将优先级设置为1(高)。
根据第六实施例,在设备连接适配器126中提供计数器127以便测量通信路径3的通信密度。但是,本实施例不一定限于此。任何可以测量通信路径3的通信密度的手段都适用于本实施例。
(修改)
结合在第一实施例中描述的操作,当请求数据传输时,存储系统2将用于对应数据传输的通信路径3的优先级恒定保持为0或1。但是,设备控制器主体部202可以基于预定条件,适当地切换优先级(0:低优先级,1:高优先级)。
此外,根据上述第三实施例,存储系统2基于数据大小确定通信路径3的优先级。但是,存储系统2可以考虑数据的类型和大小来确定优先级,如在第二实施例中描述的那样。
此外,上述实施例可以被适当地组合在一起。具体地说,第五实施例和第六实施例可以被组合在一起。
此外,使用UFS存储设备描述了各实施例。但是,本发明并不限于UFS存储设备。可以使用任何存储系统,前提是例如存储系统基于客户机服务器模型。更具体地说,任何存储系统都适用,前提是存储系统允许将如上所述的此类标志信息(标志R、标志W、标志P等)添加到命令。
此外,使用UFS存储设备描述了各实施例。但是,操作方式类似于UFS存储设备的任何半导体存储设备也适用于其它存储卡、存储设备、内部存储器等,并且可以产生类似于第一实施例和第二实施例中的有利效果。此外,闪存210并不限于NAND闪存,而是可以是任何其它半导体存储器。
尽管描述了特定实施例,但这些实施例仅通过实例的方式提供,并且并非旨在限制本发明的范围。实际上,可以以各种其它形式体现在此描述的新颖实施例;此外,可以对在此描述的实施例的形式进行各种省略、替换和更改而不偏离本发明的精神。所附权利要求及其等同物旨在覆盖落入本发明的精神和范围内的此类形式和修改。
Claims (17)
1.一种信息处理设备,包括主机设备、具有非易失性半导体存储器的半导体存储设备,以及连接所述主机设备和所述半导体存储设备的通信路径,
其中所述主机设备包括:
第一存储部;以及
第一控制部,其与所述第一存储部和所述通信路径连接并且控制所述第一存储部,
所述通信路径包括:
多个端口,为所述多个端口中的每个端口分配一个优先级,
所述半导体存储设备包括:
第二控制部,其与所述通信路径连接并且被配置为发送第一命令,所述第一命令包含指示优先级的第一标志,基于发送到所述第一存储部或从所述第一存储部接收的数据的类型或大小确定所述第一标志,
在接收到所述第一命令时,所述第一控制部经由被分配的优先级与所述第一命令中包含的所述第一标志所指示的优先级对应的端口,执行所述第一存储部与所述第二控制部之间的发送和接收。
2.根据权利要求1的设备,其中所述第一控制部生成第二命令,并且
在从所述第一控制部接收到所述第二命令时,所述第二控制部在所述第二命令之后将所述第一命令发送到所述第一控制部。
3.根据权利要求1的设备,其中所述优先级包括第一优先级和高于所述第一优先级的第二优先级。
4.根据权利要求1的设备,其中所述第二控制部在所述第一命令中包括第二标志或第三标志,所述第二标志指示后续操作从所述第一存储部读取数据,所述第三标志指示所述后续操作将数据写入到所述第一存储部。
5.一种信息处理设备,包括主机设备、具有非易失性半导体存储器的半导体存储设备,以及连接所述主机设备和所述半导体存储设备的通信路径,
其中所述主机设备包括:
第一存储部;以及
第一控制部,其与所述第一存储部和所述通信路径连接并且控制所述第一存储部,
所述通信路径包括:
多个端口,为所述多个端口中的每个端口分配一个优先级,
所述半导体存储设备包括:
第二控制部,其与所述通信路径连接并且被配置为发送第一命令,所述第一命令包含指示优先级的第一标志,基于从所述主机设备发送的第一信息确定所述第一标志,
在接收到所述第一命令时,所述第一控制部基于所述第一命令中包含的所述第一标志,经由与所述优先级对应的端口,执行所述第一存储部与所述第二控制部之间的发送和接收。
6.根据权利要求5的设备,其中所述优先级包括第一优先级和高于所述第一优先级的第二优先级。
7.根据权利要求5的设备,其中所述主机设备基于要由所述主机设备执行的程序确定所述优先级,并且将所述优先级作为第一信息提供给所述第二控制部。
8.根据权利要求5的设备,其中所述主机设备基于要由所述主机设备执行的程序的类型、名称或ID确定所述优先级,并且
将所述优先级作为所述第一信息提供给所述第二控制部。
9.根据权利要求8的设备,其中所述第一存储部进一步包括表,在所述表中设置所述优先级与要由所述主机设备执行的所述程序的所述类型、名称或ID之间的关系,并且
参考所述表,基于要由所述主机设备执行的所述程序的所述类型、名称或ID确定所述优先级。
10.根据权利要求5的设备,其中所述主机设备标识连接到所述主机设备的设备的类型,并且将标识的结果作为所述第一信息提供给所述半导体存储设备。
11.根据权利要求10的设备,其中当所述第二控制部基于所述第一信息确定执行实时处理的设备被连接到所述主机设备时,所述第二控制部将包含第一标志的第一命令发送到所述第一控制部,所述第一标志确定所述优先级是低于所述第二优先级的所述第一优先级。
12.根据权利要求11的设备,其中所述执行实时处理的设备是摄像机。
13.根据权利要求5的设备,其中所述主机设备测量所述通信路径的通信密度,并且将所述测量的结果作为所述第一信息提供给所述第二控制部。
14.根据权利要求13的设备,其中所述通信密度是在预定时间内通过所述通信路径发送的分组数量,或者是每个所述分组的大小。
15.根据权利要求13的设备,其中当所述第二控制部基于所述第一信息确定所述通信密度等于或高于预定值时,所述第二控制部将包含第一标志的第一命令发送到所述第一控制部,所述第一标志确定所述优先级是低于所述第二优先级的所述第一优先级。
16.根据权利要求13的设备,其中所述主机设备进一步包括测量所述通信路径的所述通信密度的计数器。
17.一种存储系统,其包括非易失性半导体存储器并可经由通信路径连接到主机设备,所述存储系统包括:
第二控制部,其与所述通信路径连接并且被配置为发送第一命令,所述第一命令包含指示优先级的第一标志,基于发送到所述主机设备的第一存储部或从所述主机设备的第一存储部接收的数据的类型或大小确定所述第一标志,
其中所述第二控制部经由被分配的优先级与所述第一命令中包含的所述第一标志所指示的优先级对应的端口,接收由所述第一命令指示的数据。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012197829A JP5826728B2 (ja) | 2012-09-07 | 2012-09-07 | 情報処理装置 |
| JP2012-197829 | 2012-09-07 | ||
| PCT/JP2013/056885 WO2014038222A1 (en) | 2012-09-07 | 2013-03-06 | Information processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN104603767A true CN104603767A (zh) | 2015-05-06 |
Family
ID=48289576
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201380044572.3A Pending CN104603767A (zh) | 2012-09-07 | 2013-03-06 | 信息处理设备 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20150177985A1 (zh) |
| EP (1) | EP2893456A1 (zh) |
| JP (1) | JP5826728B2 (zh) |
| KR (1) | KR20150052040A (zh) |
| CN (1) | CN104603767A (zh) |
| TW (1) | TWI490785B (zh) |
| WO (1) | WO2014038222A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108345546A (zh) * | 2017-05-09 | 2018-07-31 | 清华大学 | 用于确定处理器操作的方法及装置 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019026136A1 (ja) * | 2017-07-31 | 2019-02-07 | 三菱電機株式会社 | 情報処理装置および情報処理方法 |
| KR20190074677A (ko) | 2017-12-20 | 2019-06-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| TWI710905B (zh) * | 2019-05-06 | 2020-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及邏輯至物理位址映射表之載入方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007012083A2 (en) * | 2005-07-20 | 2007-01-25 | Verimatrix, Inc. | Network user authentication system and method |
| CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
| WO2012083080A2 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Wireless network interface with infrastructure and direct modes |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
| US5155854A (en) * | 1989-02-03 | 1992-10-13 | Digital Equipment Corporation | System for arbitrating communication requests using multi-pass control unit based on availability of system resources |
| US7100002B2 (en) * | 2003-09-16 | 2006-08-29 | Denali Software, Inc. | Port independent data transaction interface for multi-port devices |
| JP4984503B2 (ja) * | 2005-11-28 | 2012-07-25 | 富士通株式会社 | 携帯端末装置およびソフトウェアインストール方法 |
| JP2009223863A (ja) * | 2008-03-19 | 2009-10-01 | Hitachi Ltd | コンピュータシステム及びコマンド実行頻度制御方法 |
| JP2010135672A (ja) * | 2008-12-08 | 2010-06-17 | Toshiba Corp | 半導体記憶装置の製造方法 |
| EP2296091A1 (en) * | 2009-09-14 | 2011-03-16 | Nxp B.V. | Servicing low-latency requests ahead of best-effort requests |
| US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
-
2012
- 2012-09-07 JP JP2012197829A patent/JP5826728B2/ja not_active Expired - Fee Related
-
2013
- 2013-03-06 WO PCT/JP2013/056885 patent/WO2014038222A1/en not_active Ceased
- 2013-03-06 EP EP13720612.4A patent/EP2893456A1/en not_active Withdrawn
- 2013-03-06 KR KR1020157005137A patent/KR20150052040A/ko not_active Abandoned
- 2013-03-06 CN CN201380044572.3A patent/CN104603767A/zh active Pending
- 2013-03-14 TW TW102109101A patent/TWI490785B/zh not_active IP Right Cessation
-
2015
- 2015-03-03 US US14/636,765 patent/US20150177985A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007012083A2 (en) * | 2005-07-20 | 2007-01-25 | Verimatrix, Inc. | Network user authentication system and method |
| CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
| WO2012083080A2 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Wireless network interface with infrastructure and direct modes |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108345546A (zh) * | 2017-05-09 | 2018-07-31 | 清华大学 | 用于确定处理器操作的方法及装置 |
| CN108345546B (zh) * | 2017-05-09 | 2019-09-20 | 清华大学 | 用于确定处理器操作的方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014038222A1 (en) | 2014-03-13 |
| TWI490785B (zh) | 2015-07-01 |
| KR20150052040A (ko) | 2015-05-13 |
| JP2014052908A (ja) | 2014-03-20 |
| TW201411491A (zh) | 2014-03-16 |
| JP5826728B2 (ja) | 2015-12-02 |
| US20150177985A1 (en) | 2015-06-25 |
| EP2893456A1 (en) | 2015-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103377162B (zh) | 信息处理装置 | |
| JP5836903B2 (ja) | 情報処理装置 | |
| JP6021759B2 (ja) | メモリシステムおよび情報処理装置 | |
| KR102336443B1 (ko) | 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치 | |
| TWI460590B (zh) | 用於資料儲存之方法及設備 | |
| JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
| US11520520B2 (en) | Memory system and method of controlling nonvolatile memory | |
| TW202036567A (zh) | 記憶體系統 | |
| CN113468083B (zh) | 一种双端口NVMe控制器及控制方法 | |
| CN104603767A (zh) | 信息处理设备 | |
| CN111488298A (zh) | 优化nvm接口命令执行顺序的方法与装置 | |
| CN114253461A (zh) | 混合通道存储设备 | |
| KR20180126656A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| CN213338708U (zh) | 一种控制部件及存储设备 | |
| US20260016993A1 (en) | Memory system and method of controlling nonvolatile memory | |
| CN112148626A (zh) | 压缩数据的存储方法及其存储设备 | |
| CN114153764B (zh) | 进行动态资源管理的方法、记忆装置及记忆装置的控制器 | |
| US20150074334A1 (en) | Information processing device | |
| CN104077080A (zh) | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 | |
| CN114253462A (zh) | 提供混合通道存储设备的方法 | |
| CN110568991B (zh) | 降低锁引起的io命令冲突的方法与存储设备 | |
| CN118642983A (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 | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150506 |
|
| WD01 | Invention patent application deemed withdrawn after publication |