CN107015929A - 在储存设备中传送请求的方法和在主机中发布命令的方法 - Google Patents
在储存设备中传送请求的方法和在主机中发布命令的方法 Download PDFInfo
- Publication number
- CN107015929A CN107015929A CN201610971039.7A CN201610971039A CN107015929A CN 107015929 A CN107015929 A CN 107015929A CN 201610971039 A CN201610971039 A CN 201610971039A CN 107015929 A CN107015929 A CN 107015929A
- Authority
- CN
- China
- Prior art keywords
- command
- asynchronous
- request
- storage facilities
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- 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/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Information Transfer Systems (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
至少一个示例实施例提供了在储存设备中传送请求的方法。该方法包括:生成与异步事件请求命令对应并且具有挂钟时间请求的异步命令完成;接收具有时间戳的设置特征命令,该设置特征命令对应于异步命令完成;以及使用时间戳来更新挂钟时间。
Description
对相关申请的交叉引用
此专利申请要求于2015年10月30日提交的韩国专利申请No.10-2015-0151974的优先权,通过引用将其全部内容合并于此。
技术领域
在此公开的发明构思的示例实施例涉及储存设备的请求方法和主机的命令发布方法。
背景技术
随着半导体制造技术的发展,改善了与储存设备通信的主机(诸如计算机、智能手机或智能平板)的操作速度。此外,在储存设备和储存设备的主机设备中使用的内容的尺寸正在增大。
发明内容
发明构思的示例实施例提供了储存设备的请求方法和主机的命令发布方法,其能够向主机提供储存设备的需求。
根据示例实施例,提供了用于在储存设备中传送请求的方法。该方法包括:生成与至少一个异步事件请求命令对应的异步命令完成,该异步命令完成包括挂钟时间请求;接收与异步命令完成对应的设置特征命令,所述设置特征命令具有时间戳;以及使用时间戳来更新挂钟时间。
根据另一示例实施例,提供了在储存设备中传送请求的方法。该方法包括:接收异步事件请求命令;确定是否要获得关于储存设备的协议版本;基于所述确定生成异步命令完成,该异步命令完成与异步事件请求命令对应,该异步命令完成包括协议版本请求;接收具有协议版本信息的设置特征命令,该设置特征命令对应于异步命令完成;以及使用协议版本信息操作储存设备。
根据又另一示例实施例,提供了由主机发布命令的方法。该方法包括:接收异步命令完成,该异步命令完成具有来自储存设备的设备请求;响应于异步命令完成解析设备请求并且发布与设备请求对应的同步命令;以及接收与同步命令对应的同步命令完成。
至少一个示例实施例提供了包括处理器的储存设备,该处理器被配置为运行计算机可读指令来获得至少一个异步命令,生成异步命令完成,该异步命令完成包括请求,向外部主机发送请求并且接收与请求对应的同步命令。
附图说明
根据以下参照附图的描述,以上和其它目标和特征将变得显然,其中除非另外指定,否则贯穿各图相似的参考标号指代相似的部分,并且其中
图1是示出根据发明构思的示例实施例的主机系统的示图;
图2是示出根据发明构思的示例实施例的用于命令处理的队列接口方法的示图;
图3是示出根据发明构思的示例实施例的请求挂钟时间的方法的示图;
图4是示出根据发明构思的示例实施例的异步命令完成的示图;
图5是示出根据发明构思的示例实施例的协议版本请求方法的示图;
图6是示出根据发明构思的另一示例实施例的异步命令完成的示图;
图7是示出根据发明构思的示例实施例的主机的命令发布方法的示图;
图8是示出根据发明构思的示例实施例的储存设备的命令处理方法的示图;
图9是示出根据发明构思的另一示例实施例的储存设备的命令处理方法的示图;
图10是示出根据发明构思的另一示例实施例的储存设备的命令处理方法的示图;
图11是示出根据发明构思的示例实施例的主机在通电时发布命令的方法的示图;
图12是示出根据发明构思的另一示例实施例的主机的异步命令管理方法的示图;
图13是示出根据发明构思的示例实施例的储存设备的异步命令请求方法的示图;
图14是示出根据发明构思的示例实施例的固态驱动器的框图;以及
图15是示出根据发明构思的示例实施例的计算系统的框图。
具体实施方式
在此解释的图示的发明构思的示例实施例包括它们的互补副本。遍及说明书,相同的参考标号或相同的参考指示符表示相同的元素。
图1是示出根据发明构思的示例实施例的储存系统1000的示图。参照图1,储存系统1000可以包括主机1100和储存设备(例如,根据非易失性存储器(NVM)快速(NVMe)操作的NVM)1200。
这里,储存系统1000可以包括诸如以下的多个设备之一:计算机、便携式计算机、超移动个人计算机(UMPC)、工作站、数据服务器、上网本、个人数字助理(PDA)、网络平板、无线电话机、移动电话机、智能电话机、电子书、便携式多媒体播放器(PMP)、数码相机、数字音频记录器/播放器、数字图片/视频记录器/播放器、便携式游戏机、导航系统、黑盒子、3D电视机、能够无线地发送和接收信息的设备、构成家庭网络的各种电子设备之一、构成计算机网络的各种电子设备之一、构成远程信息网络的各种电子设备之一、射频识别(RFID)设备或者构成计算系统的各种电子设备之一。
主机1100可以包括提交队列1110、完成队列1120和设备驱动器1130。
提交队列1110可以存储要由储存设备1200处理的命令。提交队列可以存储同步命令(其中存在超时)和异步命令(其中不存在超时)。
在示例实施例中,同步命令可以包括用于存储在储存设备1200中的数据的输入/输出的读/写命令,用于储存设备1200的设置的设置特征命令等等。
设置特征命令可以包括仲裁、功率管理、逻辑地址(LBA)范围类型、温度阈值、错误恢复、易失性写高速缓存、中断接合、中断矢量配置、写原子正常、异步事件配置、自动功率状态转变、主机存储器缓冲器、命令集特定、卖主特定、挂钟时间或与绝对时间对应的时间戳、所支持的协议版本等。
在示例实施例中,可以根据主机1100的确定来发布设置特征命令。在另一示例实施例中,设备驱动器1130可以响应于储存设备1200的请求而发布设置特征命令。
在示例实施例中,异步命令可以包括异步事件请求命令。异步事件可以用于向主机1100的软件通知储存设备1200的状态、错误和健康信息。储存设备1200可以使用与异步事件请求命令对应的异步命令完成来向主机1100通知事件。
此外,异步事件请求命令可以用于向主机1100发送设备请求。例如,当储存设备1200向主机1100传送请求时,储存设备1200可以在异步事件请求命令的异步命令完成中包括关于主机1100的设备请求。主机1100可以解析包括在异步命令完成中的设备请求,并且可以发布与设备请求对应的命令(例如,设置特征命令)。
在实施例中,主机1100可以管理发布的异步事件请求命令的数量从而将请求命令的数量维持在一值(例如,参考值/阈值)或其以下。
命令完成队列1120可以存储从储存设备1200提供的异步命令完成。
设备驱动器1130可以使用存储在命令完成队列1120中的异步命令完成来确定是否发布设置特征命令。例如,当确定设备请求被包括在异步命令完成中时,设备驱动器1130可以发布与设备请求对应的设置特征命令。发布的设置特征命令可以存储在提交队列1110中。
储存设备1200可以以使用NVMe的非易失性存储器件来实现。储存设备1200可以包括异步事件请求命令缓冲器1210、异步命令完成缓冲器1220和设备请求模块1230。
异步事件请求命令缓冲器1210可以存储从主机1100发布的、提交队列1110中的异步事件请求命令。
异步命令完成缓冲器1220可以存储命令完成,该命令完成包括指示提供给储存设备1200的同步命令或异步命令是否完成(成功或失败)的信息。
设备请求模块1230可以基于策略、算法或环境信息(例如,噪声、温度等)来确定是否需要要用于管理储存设备1200的设备请求。当设备请求存在时,设备请求模块1230可以在关于异步事件请求命令之一的异步命令完成中包括设备请求。即,设备请求模块1230可以发布具有设备请求的异步命令完成。如此发布的包括设备请求的异步命令完成可以通过异步命令完成缓冲器1220传送到主机1100的完成队列1120。这里,设备请求可以对应于至少一个设置特征命令。
在实施例中,设备请求模块1230可以以软件、硬件或固件来实现。
根据示例实施例,储存系统1000可以使用与异步事件请求命令对应的异步命令完成来向主机1100传送储存设备1200的设备请求。
图2是示出根据发明构思的示例实施例的用于命令处理的队列接口方法的示图。参照图2,将如下在命令队列接口中执行该方法。
可以基于队列对来执行命令队列接口,所述队列对由用于命令请求的提交队列1110和用于相应命令的处理完成的完成队列1120组成。主机1100的主机存储器1150可以包括以环形缓冲器的形式配置的提交队列1110和完成队列1120。
主机1100可以向提交队列1110发布队列命令(1)。主机1100可以在存储器控制器1250的尾门铃(tail doorbell)处写更新的提交队列尾指针(2)。在示例实施例中,存储器控制器1250可以包括物理控制器和/或多个虚拟功能控制器。存储器控制器1250可以从提交队列1110取得命令(3)。存储器控制器1250可以处理取得的命令(4)。存储器控制器1250可以在处理命令之后在完成队列1120处写异步命令完成(5)。存储器控制器1250可以发布中断(6)。主机1100可以处理异步完成命令。主机1100可以在存储器控制器1250的头门铃(head doorbell)处写更新的完成队列尾指针(8)。
图3是示出根据发明构思的示例实施例的请求挂钟时间的方法的示图。下面,将参照图1至图3来描述储存设备1200的挂钟时间请求方法。
主机1100在S11可以发布多个异步事件请求命令。储存设备1200可以取得多个异步事件请求命令。如此取得的多个异步事件请求命令可以存储在异步事件请求命令缓冲器1210中。在S12,储存设备1200可以基于内部策略或用户的选择来确定是否要知道挂钟时间。这里,挂钟时间可以是与绝对时间对应的时钟。如果要知道挂钟时间,则储存设备1200可以在关于一个异步事件请求命令的异步请求完成中插入挂钟时间请求。储存设备1200可以在S13中向主机1100传送具有挂钟时间请求的异步命令完成。
主机1100可以在S14中向储存设备1200传送与具有挂钟时间请求的异步命令完成对应的设置特征命令。这里,设置特征命令可以包括具有当前时间信息的时间戳。储存设备1200在S15中可以使用时间戳来更新挂钟时间。
根据示例实施例,储存设备1200可以向主机1100传送包括在异步事件请求命令的异步命令完成中的挂钟时间请求。
图4是示出根据发明构思的示例实施例的异步命令完成的示图。参照图4,异步命令完成可以包括指示异步命令完成的类型的3比特[02:00],第一保留区域的5比特[07:03],指示请求类型的8比特[15:08],未使用并指示日志页标识符的8比特[23:16],以及第二保留区域的8比特[31:24]。这里,请求类型可以包括与时间戳请求对应的比特。
发明构思的示例实施例可以被应用于请求用于驱动储存设备的协议版本信息。
图5是示出根据发明构思的示例实施例的协议版本请求方法的示图。下面,将参照图1-2和图5来描述储存设备1200的协议版本请求方法。
储存设备1200在S21中可以从主机1100的提交队列1110取得所发布的异步事件请求命令。如此取得的多个异步事件请求命令可以存储在异步事件请求命令缓冲器1210中。储存设备1200可以确定是否要知道协议版本。这里,协议版本可以指关于用于驱动储存设备1200的固件的信息。
如果要知道协议版本,则储存设备1200可以在关于一个异步事件请求命令的异步请求完成中插入协议版本请求。储存设备1200可以在S23中向主机1100传送具有协议版本请求的异步命令完成。
主机1100可以在S24中向储存设备1200传送与具有协议版本请求的异步命令完成对应的设置特征命令。这里,设置特征命令可以包括用于管理储存设备1200的协议版本信息。
储存设备1200在S25中可以响应于协议版本信息来操作。
根据示例实施例,储存设备1200可以向主机1100传送包括在异步事件请求命令的异步命令完成中的协议版本请求。
图6是示出根据发明构思的另一示例实施例的异步命令完成的示图。参照图6,异步命令完成可以包括指示异步命令完成的类型的3比特[02:00],第一保留区域的5比特[07:03],指示请求类型的8比特[15:08],未使用并指示日志页标识符的8比特[23:16],以及第二保留区域的8比特[31:24]。这里,请求类型可以包括主机1100所支持的NVMe版本,例如,协议版本请求。
图7是示出根据发明构思的示例实施例的主机的命令发布方法的示图。将参照图1至图7来描述主机1100的命令发布方法。
主机1100在S110中可以从储存设备1200接收具有设备请求的异步命令完成。储存设备1200可以根据内部策略在异步命令完成中包括设备请求,并且可以向主机1100传送设备请求。主机1100可以读取包括在异步命令完成中的设备请求,并且在S120中发布与设备请求对应的同步命令。如此发布的同步命令可以被储存设备1200取得。储存设备1200可以运行所取得的同步命令来发布与同步命令对应的同步命令完成。之后,主机1100在S130可以从储存设备1200接收同步命令完成。
根据示例实施例的主机1100可以使用异步命令完成来发布同步命令。其间,图7中所示的关于命令发布操作的次序和方法应该被理解来不限于此。
图8是示出根据发明构思的示例实施例的储存设备的命令处理方法的示图。将参照图1至图8来描述储存设备1200的命令处理方法。
储存设备1200在S210中可以从主机1100取得至少一个异步事件命令。储存设备1200在S220中可以响应于主机1100的输入/输出请求执行至少一个输入/输出(I/O)操作。
根据内部策略,储存设备1200的设备请求模块1230在S230中可以确定是否向主机1100传送设备请求。
如果不需要向主机1100传送设备请求,则该过程进行到步骤S220。相反,如果设备请求模块1230确定需要向主机1100传送设备请求,则设备请求模块1230可以将设备请求包括在异步命令完成中。储存设备1200可以在S240中向主机1100传送具有设备请求的异步命令完成。
之后,储存设备1200在S250中可以从主机1100取得与设备请求对应的同步命令。这里,如此取得的同步命令可以由主机1100的设备驱动器1130发布到提交队列1110。之后,储存设备1200在S260中可以处理同步命令并且向主机1100发送同步命令完成。
根据示例实施例,储存设备1200可以使用异步命令完成来向主机1100传送设备请求。
其间,图8中所示的关于命令处理操作的次序和方法应该被理解为不限于此。根据示例实施例的命令处理操作可以在提供主机1100的功能之后或者在主机1100的鉴定之后执行。图9是示出根据发明构思的另一示例实施例的储存设备的命令处理方法的示图。与图8的命令处理方法相比,图9中所示的储存设备1200的命令处理方法还可以包括步骤S201至S207。储存设备1200在S201可以被通电。在通电之后,储存设备1200在S202中可以从主机1100取得异步命令(例如,异步事件请求命令)。为了确认主机功能(例如,协议版本信息)/鉴定,储存设备1200在S203中可以向主机1100传送具有设备请求的异步命令完成。之后,主机1100可以解析从储存设备1200传送的异步命令完成来发布与具有主机功能/鉴定的设备请求对应的同步命令。之后,储存设备1200在S204中可以取得与具有主机功能/鉴定的设备请求对应的同步命令。之后,储存设备1200在S205中可以基于所取得的同步命令确定是否得到主机鉴定或者提供给主机1100的功能(例如,设备驱动器的版本信息)是否被改变。
如果获得主机鉴定或者如果提供给主机1100的功能被改变,则储存设备1200在S206中可以使用设备请求方案或者可以改变关于主机1100的功能。这里,设备请求方案可以指这样的方法:储存设备1200使用异步命令完成来向主机1100提供要求。相反,如果没有获得主机鉴定或者如果提供给主机110的功能没被改变,则储存设备1200在步骤S207中可以不使用设备请求方案,或者可以不改变关于主机1100的功能。
之后,储存设备1200在S220中可以响应于来自主机1100的请求执行I/O操作。之后,储存设备1200在S230a中可以确定是否向主机1100传送设备请求或者是否得到主机鉴定。之后,图9的步骤S240、S250和S260可以基本上与图8的相同地执行。其间,图9中所示的步骤的次序应该被理解为不限制本发明构思的示例实施例。
其间,根据示例实施例的命令处理方法可以应用于功耗减少操作。图10是示出根据发明构思的另一示例实施例的储存设备的命令处理方法的示图。将参照图1至图10来描述储存设备1200的命令处理方法。
在S310中可以由储存设备1200确定在时间段期间是否没有从主机1100接收到命令或者是否从主机1100接收到低功率命令。
如果在时间段期间没有从主机1100接收到命令或者从主机1100接收到低功率命令,则储存设备1200在S320可以进入低功率模式。这里,低功率模式可以是空闲状态。如果否,则该过程进行到步骤S340。
储存设备1200在S330中可以从主机1100接收唤醒命令或者输入/输出命令。储存设备1200在S340可以执行与所接收的命令对应的操作。
之后,储存设备1200在S350可以确定是否向主机1100传送设备请求。
如果储存设备1200确定向主机1100传送设备请求,则储存设备1200可以发布具有设备请求的异步命令完成,并且在S360向主机1100传送异步命令完成。之后,储存设备1200可以接收用于设备请求的另一异步命令。之后,该过程返回到步骤S310。
发明构思的示例实施例可以应用到通电操作。
图11是示出根据发明构思的示例实施例的主机在通电时发布命令的方法的示图。将参照图1至图11来描述主机1100的命令发布方法。
在S410可以执行储存设备1200的通电操作。即,储存设备1200可以连接到主机1100,或者电源电压可以从主机1100供应给储存设备1200。主机1100在S420可以为储存设备1200发布异步命令(其数量被预先确定)。如此发布的异步命令可以被储存设备1200取得并存储。
主机1100在S430可以每次从储存设备1200接收与一个异步命令对应的异步命令完成。异步命令完成可以包括关于主机1100的设备请求。
主机1100在S440可以发布与设备请求对应的同步命令。这里,如此发布的设备请求可以是至少一个设置特征命令。
其间,可以以固定值来管理根据示例实施例的异步命令的数量。图12是示出根据发明构思的另一示例实施例的主机的异步命令管理方法的示图。将参照图1至图12来描述主机1100的异步命令管理方法。
主机1100可以确定在提交队列(SQ)1110中有多少异步命令。在S515,主机1100确定异步命令的数量是否低于固定值(阈值)。如果异步命令的数量小于该值,则主机1100可以向提交队列1110发布异步命令(S520)。如果否,则主机1100继续监视异步命令的数量。
根据示例实施例的主机1100可以恒定地维持异步命令的数量。然而,发明构思的示例实施例可以不限于此。按照示例实施例中,储存设备1200可以请求异步命令。图13是示出根据发明构思的示例实施例的储存设备的异步命令请求方法的示图。将参照图1至图13来描述储存设备1200的异步命令请求方法。
主机1100在S31可以发布多个异步事件请求命令。储存设备1200可以取得多个异步事件请求命令。如此取得的多个异步事件请求命令可以存储在异步事件请求命令缓冲器1210中。储存设备1200在S32中可以基于内部策略或者用户的选择确定是否发布异步事件请求命令。
如果储存设备1200确定发布异步事件请求命令,则储存设备1200可以将与发布异步事件请求命令相关联的请求插入到关于一个异步事件请求命令的异步请求完成中。储存设备1200在S33中可以向主机1100传送具有与异步事件请求命令的发布相关联的请求的异步命令完成。
主机1100可以向提交队列1110发布异步事件请求命令,该异步事件请求命令与具有与异步事件请求命令的发布相关联的请求的异步命令完成对应。之后,储存设备1200在S34中可以取得并存储如此发布的异步事件请求命令。
根据示例实施例的储存设备1200可以是固态驱动器(SSD)。图14是示出根据发明构思的示例实施例的固态驱动器(SSD)的框图。参照图14,SSD 2200可以包括多个非易失性存储器件2210和控制器2220。储存设备1200可以是SSD 2200。
非易失性器件2210可以被实现来可选地接收外部高电压Vppx。非易失性存储器件2210的每个可以是NAND快闪存储器、垂直NAND快闪存储器(VNAND)、NOR快闪存储器、电阻随机存取存储器(RAM)、相变存储器(PRAM)、磁电阻随机存取存储器(MRAM)、铁磁随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。
此外,非易失性存储器可以被实现为具有三维阵列结构。在本发明构思的实施例中,提供了三维(3D)存储器阵列。3D存储器阵列被单片地(monolithically)形成在具有被布置在硅基底上的活动区域和与那些存储器单元的操作相关联的电路的存储器单元的阵列的一个或多个物理层中,无论这种相关联的电路在这样的基底上面还是在其中。与存储器单元的操作相关的电路可以位于基底中或基底上。术语“单片的”意思是阵列的每级的层被直接堆放在阵列的每一下级的层上。
在发明构思的示例实施例中,3D存储器阵列包括垂直NAND串,其垂直朝向以便至少一个存储器单元位于另一个存储器单元上。至少一个存储器单元可以包括电荷阱层。每个垂直NAND串可以包括位于存储器单元上的至少一个选择晶体管。所述至少一个选择晶体管具有与存储器单元相同的结构并且单片地与存储器单元形成在一起。
通过引用合并于此的以下专利文献描述了关于三维存储器阵列的合适配置,其中三维存储器阵列被配置为多级,其被三星电子株式会社应用于在级之间共享字线和/或位线:美国专利No.7,679,133;8,553,466;8,654,587;8,559,235和美国专利公布No.2011/0233648。根据发明构思的示例实施例的非易失性存储器可以应用于电荷阱快闪(CTF)(其中绝缘层被用作电荷储存层)以及快闪存储器件(其中传导浮动栅被用作电荷储存层)。以下,为了描述方便,非易失性存储器件可以被称为“垂直NAND快闪存储器”。
控制器2220可以通过多个通道CH1至CHi(i是2或更大的整数)连接到非易失性器件2210。控制器2220可以以参照图1至图13描述的存储控制器来实现。
控制器2220可以包括至少一个处理器2221、缓冲存储器2222、纠错码(ECC)电路2223、主机接口2225和非易失性存储接口2226。
缓冲存储器2222可以临时存储用于操作存储控制器2220的数据。缓冲存储器2222可以包括用于存储数据或命令的多条存储线。这里,多条存储线可以以各种方法映射到高速缓存线。缓冲存储器2222可以存储页位图信息和读计数信息。页位图信息或读计数信息可以在通电时从非易失性存储器件2210读取,并且可以根据内部操作来更新。更新的页位图信息或读计数信息可以周期地或随机地存储在非易失性存储器件2210中。
纠错码电路2223可以计算要在写操作中编程的数据的纠错码的值,可以基于纠错码的值来纠正在读操作中读取的数据,并且可以纠正从非易失性存储器2210恢复的错误。即使未示出,控制器2220也还可以包括代码存储器,该代码存储器存储用于控制器2220的操作的代码数据。代码存储器可以以非易失性存储器件来实现。
主机接口2225可以提供用于与外部设备接口连接的接口功能。这里,主机接口2225可以是NAND快闪接口。另外,主机接口2225可以以各种接口方式来实现,并且可以以多个接口来实现。非易失性存储接口2226可以提供与非易失性存储器件2210的接口功能。
此外,根据示例实施例的控制器2220可以包括图1中所示的设备请求模块1230,或者可以被实现为如参照图1至图13所述使用异步命令完成来向主机传送设备请求。
根据策略,根据示例实施例的SSD 2200可以向主机传送设备请求,从而显著地改善数据完整性。如此,SSD 2200可以应用于数据中心的服务器。
其间,可以通过外围组件互连快速(PCIe)接口来互连主机和储存设备。图15是示出根据发明构思的示例实施例的计算系统3000的框图。参照图15,计算系统3000可以包括主机3100和至少一个储存设备3200。可以通过PCIe总线来互连主机3100和储存设备3200。
主机3100可以包括至少一个中央处理单元(CPU)3110、主机缓冲存储器3120和PCIe控制器3130。主机缓冲存储器3120可以存储提交队列和完成队列。在示例实施例中,PCIe控制器3130可以包括图1中所示的设备驱动器1130。
储存设备3200可以包括至少一个非易失性存储器件3220和控制非易失性存储器件3220的存储控制器3250。存储控制器3250可以包括与PCIe控制器3130连接的PCIe接口(I/F)3252。存储控制器3250可以被实现为包括图1中所示的设备请求模块1230。
因此,应该理解,以上示例实施例不是限制性的,而是示例性的。
根据发明构思的示例实施例,主机系统可以使用异步事件请求命令的异步命令完成来向主机传送储存设备的设备请求。
虽然已经参照示例实施例描述了发明构思,但是对于本领域技术人员将显然,在不脱离发明构思的精神和范围的情况下,可以进行各种改变和修改。因此,应该理解,以上示例实施例不是限制性的,而是示例性的。
Claims (20)
1.一种在储存设备中传送请求的方法,该方法包括:
生成与至少一个异步事件请求命令对应的异步命令完成,该异步命令完成包括挂钟时间请求;
接收与异步命令完成对应的设置特征命令,所述设置特征命令具有时间戳;以及
使用时间戳来更新挂钟时间。
2.如权利要求1所述的方法,还包括:
接收所述至少一个异步事件请求命令。
3.如权利要求1所述的方法,还包括:
确定是否使用挂钟时间。
4.如权利要求3所述的方法,其中所述确定是基于储存设备的内部策略。
5.如权利要求3所述的方法,其中所述确定是基于从主机接收的唤醒命令。
6.如权利要求3所述的方法,其中所述确定步骤在储存设备的通电时确定是否使用挂钟时间。
7.如权利要求1所述的方法,其中所述生成步骤:
在以下之后生成异步命令完成:(i)确定主机是否包括解析具有挂钟时间的异步命令完成的功能,或(ii)主机的鉴定。
8.如权利要求1所述的方法,其中异步命令完成包括指示类型的3比特,第一保留区域的5比特,指示与挂钟时间请求对应的时间戳请求的7比特,指示日志页标识符的8比特和第二保留区域的8比特。
9.如权利要求1所述的方法,还包括:
确定是否请求所述至少一个异步事件请求命令。
10.如权利要求9所述的方法,还包括:
当存储在储存设备中的其它异步事件请求命令的数量小于参考值时,请求主机发布所述至少一个异步事件请求命令,所述请求步骤包括,
通过另一异步命令完成向主机发送与所述至少一个异步事件请求命令的发布相关联的请求。
11.如权利要求10所述的方法,还包括:
响应于所述另一异步命令完成,从主机取得所述至少一个异步事件请求命令。
12.一种在储存设备中传送请求的方法,该方法包括:
接收异步事件请求命令;
确定是否获得关于储存设备的协议版本;
基于所述确定生成异步命令完成,该异步命令完成与异步事件请求命令对应,该异步命令完成包括协议版本请求;
接收具有协议版本信息的设置特征命令,该设置特征命令对应于异步命令完成;以及
使用协议版本信息操作储存设备。
13.如权利要求12所述的方法,其中所述确定步骤在储存设备的通电时确定是否要获得协议版本。
14.如权利要求12所述的方法,其中异步命令完成包括指示类型的3比特,第一保留区域的5比特,指示协议版本请求的7比特,指示日志页标识符的8比特和第二保留区域的8比特。
15.一种由主机发布命令的方法,该方法包括:
接收异步命令完成,该异步命令完成具有来自储存设备的设备请求;
响应于异步命令完成解析设备请求并且发布与设备请求对应的同步命令;以及
接收与同步命令对应的同步命令完成。
16.如权利要求15所述的方法,其中异步命令是异步事件请求命令。
17.如权利要求16所述的方法,还包括:
将发布的异步事件请求命令的数量维持在参考值。
18.如权利要求15所述的方法,其中同步命令是设置特征命令。
19.如权利要求15所述的方法,其中储存设备是固态驱动器SSD,并且
SDD包括至少一个NAND快闪存储器件。
20.如权利要求15所述的方法,其中通过外围组件互连快速(PCIe)接口互连主机和储存设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150151974A KR102358691B1 (ko) | 2015-10-30 | 2015-10-30 | 저장 장치의 요청 방법 및 호스트의 커맨드 발행 방법 |
KR10-2015-0151974 | 2015-10-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107015929A true CN107015929A (zh) | 2017-08-04 |
CN107015929B CN107015929B (zh) | 2021-06-18 |
Family
ID=58637571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610971039.7A Active CN107015929B (zh) | 2015-10-30 | 2016-10-28 | 在储存设备中传送请求的方法和在主机中发布命令的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11126584B2 (zh) |
KR (1) | KR102358691B1 (zh) |
CN (1) | CN107015929B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196794A (zh) * | 2017-12-29 | 2018-06-22 | 华为技术有限公司 | 一种消息处理方法、装置及系统 |
CN109840232A (zh) * | 2017-11-28 | 2019-06-04 | 华为技术有限公司 | 存储设备及存储设备的元件管理方法 |
CN111090515A (zh) * | 2019-11-22 | 2020-05-01 | 拉扎斯网络科技(上海)有限公司 | 一种访问控制方法、装置、终端设备及存储介质 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102387922B1 (ko) * | 2017-02-07 | 2022-04-15 | 삼성전자주식회사 | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 |
US10387081B2 (en) | 2017-03-24 | 2019-08-20 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US10296473B2 (en) | 2017-03-24 | 2019-05-21 | Western Digital Technologies, Inc. | System and method for fast execution of in-capsule commands |
US10509569B2 (en) | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US10452278B2 (en) | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
US10564853B2 (en) | 2017-04-26 | 2020-02-18 | Western Digital Technologies, Inc. | System and method for locality detection to identify read or write streams in a memory device |
US10725835B2 (en) | 2017-05-03 | 2020-07-28 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using a controller memory buffer |
US10466904B2 (en) | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US10466903B2 (en) | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for dynamic and adaptive interrupt coalescing |
US10296249B2 (en) | 2017-05-03 | 2019-05-21 | Western Digital Technologies, Inc. | System and method for processing non-contiguous submission and completion queues |
US10114586B1 (en) | 2017-06-22 | 2018-10-30 | Western Digital Technologies, Inc. | System and method for using host command data buffers as extended memory device volatile memory |
US10482010B2 (en) * | 2017-06-29 | 2019-11-19 | Intel Corporation | Persistent host memory buffer |
US10642498B2 (en) | 2017-11-07 | 2020-05-05 | Western Digital Technologies, Inc. | System and method for flexible management of resources in an NVMe virtualization |
US10564857B2 (en) | 2017-11-13 | 2020-02-18 | Western Digital Technologies, Inc. | System and method for QoS over NVMe virtualization platform using adaptive command fetching |
US11392320B2 (en) | 2018-07-03 | 2022-07-19 | Western Digital Technologies, Inc. | Quality of service based arbitrations optimized for enterprise solid state drives |
US10732897B2 (en) | 2018-07-03 | 2020-08-04 | Western Digital Technologies, Inc. | Quality of service based arbitrations optimized for enterprise solid state drives |
DE102020110559A1 (de) * | 2019-08-14 | 2021-02-18 | Samsung Electronics Co., Ltd. | Rechensystem zur Reduzierung von Latenz zwischen seriell verbundenen elektronischen Vorrichtungen |
CN112905124B (zh) * | 2021-02-23 | 2023-03-21 | 记忆科技(深圳)有限公司 | 异步低功耗信号处理方法、装置、计算机设备及存储介质 |
KR20220126024A (ko) | 2021-03-08 | 2022-09-15 | 삼성전자주식회사 | 호스트 장치 및 스토리지 장치 사이의 시간 동기화 방법 및 이를 수행하는 시스템 |
KR20220141383A (ko) * | 2021-04-12 | 2022-10-20 | 삼성전자주식회사 | 스토리지 시스템, 스토리지 장치 및 스토리지 장치의 동작 방법 |
US20230153031A1 (en) * | 2021-11-16 | 2023-05-18 | Samsung Electronics Co., Ltd. | Storage device supporting multi-host and operation method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669290A (zh) * | 2002-07-19 | 2005-09-14 | 皇家飞利浦电子股份有限公司 | 用于具有挂钟的系统的抖动补偿方法 |
US20140195651A1 (en) * | 2013-01-04 | 2014-07-10 | Qualcomm Incorporated | Live timing for dynamic adaptive streaming over http (dash) |
CN103945166A (zh) * | 2012-11-01 | 2014-07-23 | 波利康公司 | 用于在媒体中继会议中同步音频和视频流的方法和系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345347A (en) * | 1992-02-18 | 1994-09-06 | Western Digital Corporation | Disk drive with reduced power modes |
US7111189B1 (en) | 2000-03-30 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Method for transaction log failover merging during asynchronous operations in a data storage network |
DE60039033D1 (de) | 2000-05-25 | 2008-07-10 | Hitachi Ltd | Speichersystem zur Bestätigung der Datensynchronisierung während des asynchronen Fernkopierens |
US7290086B2 (en) | 2003-05-28 | 2007-10-30 | International Business Machines Corporation | Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system |
KR100483025B1 (ko) | 2004-05-21 | 2005-04-15 | 엔에이치엔(주) | 명령어의 유효성 판단 방법 및 그 시스템 |
US7624395B2 (en) * | 2004-09-23 | 2009-11-24 | Sap Ag | Thread-level resource usage measurement |
US7548994B2 (en) | 2006-05-05 | 2009-06-16 | Dell Products L.P. | Disk initiated asynchronous event notification in an information handling system |
US7757124B1 (en) | 2007-07-16 | 2010-07-13 | Oracle America, Inc. | Method and system for automatic correlation of asynchronous errors and stimuli |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US8231136B2 (en) | 2008-08-21 | 2012-07-31 | Wonderland Nurserygoods Company Limited | System and method for mounting different types of infant carriers on a support structure |
US8108582B2 (en) | 2008-08-27 | 2012-01-31 | Hewlett-Packard Development Company, L.P. | Notifying asynchronous events to a host of a data storage system and apparatus for the same |
US20110072442A1 (en) | 2009-09-22 | 2011-03-24 | International Business Machines Corporation | Event-handler for selecting responsive actions |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
US8631284B2 (en) | 2010-04-30 | 2014-01-14 | Western Digital Technologies, Inc. | Method for providing asynchronous event notification in systems |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
KR20140067739A (ko) * | 2012-11-27 | 2014-06-05 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
KR20140080948A (ko) * | 2012-12-21 | 2014-07-01 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
KR20150112075A (ko) | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102196971B1 (ko) * | 2014-03-28 | 2020-12-31 | 삼성전자주식회사 | 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법 |
-
2015
- 2015-10-30 KR KR1020150151974A patent/KR102358691B1/ko active IP Right Grant
-
2016
- 2016-10-27 US US15/336,018 patent/US11126584B2/en active Active
- 2016-10-28 CN CN201610971039.7A patent/CN107015929B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669290A (zh) * | 2002-07-19 | 2005-09-14 | 皇家飞利浦电子股份有限公司 | 用于具有挂钟的系统的抖动补偿方法 |
CN103945166A (zh) * | 2012-11-01 | 2014-07-23 | 波利康公司 | 用于在媒体中继会议中同步音频和视频流的方法和系统 |
US20140195651A1 (en) * | 2013-01-04 | 2014-07-10 | Qualcomm Incorporated | Live timing for dynamic adaptive streaming over http (dash) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840232A (zh) * | 2017-11-28 | 2019-06-04 | 华为技术有限公司 | 存储设备及存储设备的元件管理方法 |
US11422699B2 (en) | 2017-11-28 | 2022-08-23 | Huawei Technologies Co., Ltd. | Storage device and component management method of storage device |
CN108196794A (zh) * | 2017-12-29 | 2018-06-22 | 华为技术有限公司 | 一种消息处理方法、装置及系统 |
CN111090515A (zh) * | 2019-11-22 | 2020-05-01 | 拉扎斯网络科技(上海)有限公司 | 一种访问控制方法、装置、终端设备及存储介质 |
CN111090515B (zh) * | 2019-11-22 | 2023-08-18 | 拉扎斯网络科技(上海)有限公司 | 一种访问控制方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20170051688A (ko) | 2017-05-12 |
US20170123659A1 (en) | 2017-05-04 |
US11126584B2 (en) | 2021-09-21 |
KR102358691B1 (ko) | 2022-02-07 |
CN107015929B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107015929A (zh) | 在储存设备中传送请求的方法和在主机中发布命令的方法 | |
US11500810B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
US11403044B2 (en) | Method and apparatus for performing multi-object transformations on a storage device | |
CN102096647B (zh) | 多芯片存储器系统和相关的数据传送方法 | |
US11137914B2 (en) | Non-volatile storage system with hybrid command | |
CN106462480A (zh) | 用于处理持久存储器中的错误的技术 | |
US9881680B2 (en) | Multi-host power controller (MHPC) of a flash-memory-based storage device | |
CN105518640A (zh) | 在嵌入式存储器中提供命令排队 | |
US20210004165A1 (en) | Dummy Host Command Generation For Supporting Higher Maximum Data Transfer Sizes (MDTS) | |
TW200819978A (en) | Memory management method and system | |
US11360711B2 (en) | Storage device temporarily suspending internal operation to provide short read response time for read request from host | |
CN103858090A (zh) | 用于合并用于访问存储装置的命令的具有最大命令队列长度的装置及其方法 | |
TWI545588B (zh) | 控制方法、連接器與記憶體儲存裝置 | |
CN103531223B (zh) | 存储系统和存储系统中包括的存储器件的操作方法 | |
CN108008917A (zh) | 存储设备及控制其链接状态的方法 | |
CN109426627A (zh) | 数据存储装置及其操作方法 | |
CN103383652B (zh) | 计算机平台多个操作系统的切换方法 | |
WO2013170592A1 (zh) | 一种令牌周转控制方法、装置及系统 | |
US9575759B2 (en) | Memory system and electronic device including memory system | |
TWI394047B (zh) | 快閃記憶裝置、快閃記憶裝置操作方法、以及資料儲存系統 | |
EP4258097A1 (en) | Operation method of host device and operation method of storage device | |
KR102430495B1 (ko) | 저장 장치, 호스트 장치 및 그것의 데이터 전송 방법 | |
TW202020664A (zh) | 讀取資料排序方法及儲存裝置 | |
CN116893877A (zh) | 主机装置的操作方法及存储装置的操作方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |