CN108733479B - 卸载固态硬盘卡的方法以及使用该方法的装置 - Google Patents
卸载固态硬盘卡的方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN108733479B CN108733479B CN201710270323.6A CN201710270323A CN108733479B CN 108733479 B CN108733479 B CN 108733479B CN 201710270323 A CN201710270323 A CN 201710270323A CN 108733479 B CN108733479 B CN 108733479B
- Authority
- CN
- China
- Prior art keywords
- solid state
- state hard
- card
- value
- data access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- 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/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
Abstract
本发明的实施例提出一种卸载固态硬盘卡的方法,由处理单元于加载并执行驱动程序时实施,至少包含以下步骤:于接收到应用程序发出的数据存取命令以及传送相应于数据存取命令的数据存取请求给下层之间,读取数据存取命令所欲存取的固态硬盘卡的寄存器中的值;以及当透过读取的值发现固态硬盘卡已经被移除时,执行卸载程序。
Description
技术领域
本发明关连于输出入装置管理,特别是一种卸载固态硬盘卡的方法以及使用该方法的装置。
背景技术
固态硬盘是一种固态储存装置,使用如存储器的集成电路组件,用以永久地储存数据。固态硬盘技术主要使用兼容于传统输出入硬盘的电子接口,于一般应用中允许简易地进行替换。此外,如快捷外设互联(PCIe, Peripheral Component InterconnectExpress)及U.2标准的新输出入接口更设计来满足固态硬盘技术的特殊需求。当固态硬盘卡连接上系统时,系统会为固态硬盘卡配置计算资源,例如存储器空间。当固态硬盘卡卸载时,系统需要执行卸载程序来释放已经配置的计算资源。然而,当固态硬盘卡已经从系统移除但没有侦测到时,将浪费不必要的计算资源。因此,本发明提出一种卸载固态硬盘卡的方法以及使用该方法的装置,用以解决以上的问题。
发明内容
本发明的实施例提出一种卸载固态硬盘卡的方法,由处理单元于加载并执行驱动程序时实施,至少包含以下步骤:于接收到应用程序发出的数据存取命令以及传送相应于数据存取命令的数据存取请求给下层之间,读取数据存取命令所欲存取的固态硬盘卡的寄存器中的值;以及当透过读取的值发现固态硬盘卡已经被移除时,执行卸载程序。
本发明的实施例提出一种卸载固态硬盘卡的装置,至少包含:根复合体装置;以及处理单元,耦接于根复合体装置。处理单元加载并执行驱动程序,用以于接收到应用程序发出的数据存取命令以及传送相应于数据存取命令的数据存取请求给下层之间,透过根复合体装置读取数据存取命令所欲存取的固态硬盘卡的寄存器中的值;以及当透过读取的值发现固态硬盘卡已经被移除时,执行卸载程序。
卸载程序释放相应于固态硬盘卡的计算机资源,以及将固态硬盘卡移出装置模型。
附图说明
图1系依据本发明实施例的计算机装置的系统架构示意图。
图2系依据本发明实施例的快捷外设互联阶层示意图。
图3系依据本发明实施例的效能结构示意图。
图4系依据本发明实施例的卸载固态硬盘卡方法的流程图。
图5系依据本发明实施例的快捷外设互联组态寄存器中储存的一般组态空间表头的示意图。
符号说明
10 系统架构;
110 处理单元;
130 存储器;
150 快捷外设互联根复合体单元;
151 寄存器;
170 快捷外设互联切换器;
191、193 固态硬盘卡;
191_1、193_1 寄存器;
210 应用程序;
220 操作系统;
230 驱动程序;
240 传输层;
250 数据链结层;
260 物理层;
300 效能结构;
310 外设互联表头;
311 槽状态;
S410~S490 方法步骤;
511 供货商标识符寄存器;
513 装置标识符寄存器;
521 命令寄存器;
523 状态寄存器;
531 更版标识符寄存器;
533 类别码寄存器;
541 快取线大小寄存器;
543 主延迟计时寄存器;
545 表头类型寄存器;
547 自测能力寄存器。
具体实施方式
以下说明系为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,系用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词系用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
图1系依据本发明实施例的计算机装置的系统架构示意图。计算机装置的系统架构10可包含处理单元110、存储器130、快捷外设互联(PCI-E, Peripheral ComponentInterconnect Express)根复合体单元(root complex)150及快捷外设互联切换器170。处理单元110可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单处理器、具平行处理能力的多处理器或其他具运算能力的处理器),并且于加载及执行相关微操作或软件指令时执行如下所述的功能。处理单元110可包含运算逻辑单元(ALU, Arithmetic andLogic Unit)以及位移器(bit shifter)。运算逻辑单元负责执行布尔运算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等),而位移器负责位移运算及位旋转。根复合体装置(root complexdevice)150将处理单元110及存储器130连接至快捷外设互联切换器(PCI ExpressSwitch)170,而快捷外设互联切换器170由一或多个切换器组成。根复合体装置150可代表处理单元110产生交易请求,而根复合体装置150及处理单元110间以本地总线连接。根复合体功能可以专用装置实施,或整合至处理单元110。根复合体装置150可包含至少一个快捷外设互联或U.2接口,快捷外设互联或U.2接口设置于母板(mother board)。U.2接口为快捷外设互联接口的变体。以上二种接口都遵守快捷外设互联协议,只是外型不同。U.2接口支持热插入功能,而快捷外设互联接口大部分不支持热插入功能。母板上另设置处理单元110、存储器130、北桥芯片151、南桥芯片153及快捷外设互联根复合体单元170。固态硬盘卡(SSD card)191连接根复合体装置150上的一个快捷外设互联或U.2接口,且固态硬盘卡193透过快捷外设互联切换器170串联至(concatenate)根复合体装置150上的一个快捷外设互联或U.2接口。连接至快捷外设互联接口的固态硬盘卡可称为快捷外设互联固态硬盘卡,而连接至U.2接口的固态硬盘卡可称为U.2固态硬盘卡。当固态硬盘卡191或193连接根复合体装置150时,存储器130可配置空间给连接上的固态硬盘卡,作为输出入缓冲器(I/Obuffer)以及操作固态硬盘卡所需的常数、变量等。
图2系依据本发明实施例的快捷外设互联阶层示意图。应用程序(application)210可透过操作系统(OS, operating system)220读取固态硬盘卡191或193中特定地址的数据,或写入数据到固态硬盘卡191或193的特定地址。操作系统220发出命令给驱动程序230,使得驱动程序230可产生并传送相应的读取与写入请求给传输层(transactionlayer)240。传输层(transaction layer)使用封包架构的分割交易(split-transaction)协议,将读取与写入请求经由数据链结层(data link layer)250及物理层(physicallayer)260传送至固态硬盘卡191或193。
根复合体装置150可设置寄存器151,用以储存每一快捷外设互联或U.2固态硬盘卡的效能结构(capacity structure)。图3系依据本发明实施例的效能结构示意图。效能结构300可为4096字节(Bytes),用以辨认固态硬盘卡以及对新快捷外设互联功能的支持情形。效能结构300可包含外设互联表头(PCI header)310(第0h字节至第3Fh字节),外设互联表头310的第1Ah字节及第1Bh字节储存槽状态311。槽状态311包含2个字节(亦即是16比特)的信息。范例的槽状态311信息如表1所示:
表1
比特位置 | 描述 |
0 | 是否按下警示按钮(attention button) |
1 | 是否侦测到电源错误(power fault) |
2 | MRL传感器状态是否改变 |
3 | 存在侦测状态(Presence Detect State)是否改变,改变时设为“1b” |
4 | 热插入(hot-plug)命令是否完成 |
5 | MRL传感器状态 |
6 | 存在侦测状态,“0b”代表槽是空的;“1b”代表槽中有卡。 |
7 | 微机电互锁状态(electromechanical interlock state) |
8 | 数据链结层状态是否改变 |
于一些实施方式中,处理器110可执行守护程序(daemon),用来周期性透过驱动程序230侦测槽状态311的第3比特及第6比特中的至少一者以了解固态硬盘卡191或193是否插入接口并连接至根复合体装置150。于多任务操作系统(multitasking operatingsystem),守护程序是系统开机后执行于背景任务的计算机程序,而不是受到使用者直接控制的计算机程序。并且,当守护程序侦测到固态硬盘卡191及193中的任一者移出接口而脱离母板时,执行卸载程序以释放已移除固态硬盘卡的相关计算机资源,例如,存储器130中的配置空间,以及将已移除固态硬盘卡移出装置模型(device model)以避免应用程序再存取此固态硬盘卡。固态硬盘卡191及193中的处理单元(未显示)可执行热插入程序。热插入程序于固态硬盘卡即将移出接口而脱离母板前,可藉由改变寄存器151中槽状态311的第3比特及第6比特以通知守护程序。然而,当固态硬盘卡的热插入程序没有依照规范于固态硬盘卡即将移出接口而脱离母板前改变寄存器151中槽状态311的第3比特及第6比特时,已移除固态硬盘卡的相关计算机资源不会被释放而造成浪费,并且造成装置模型错误地包含已移除固态硬盘卡。
为解决如上所述的缺陷,驱动程序230可于接收到应用程序发出的数据存取命令以及传送相应于数据存取命令的数据存取请求给下层之间,读取数据存取命令所欲存取的固态硬盘卡的寄存器中的值。于一些实施例中,下层包含传输层240、数据链结层250及物理层260。于一些实施例中,寄存器中的值为快捷外设互联组态寄存器(PCI-E configurationregisters)的值。当透过读取的值发现此固态硬盘卡已经被移除时,执行卸载程序。于一些实施例中,卸载程序释放已移除固态硬盘卡的相关计算机资源,以及将已移除固态硬盘卡移出装置模型。固态硬盘卡已经被移除可指固态硬盘卡脱离母板上的快捷外设互联或U.2接口,而不耦接至快捷外设互联根复合体单元170。图4系依据本发明实施例的卸载固态硬盘卡方法的流程图。此方法于处理单元110加载并驱动程序230时实施。于接收到应用程序发出的数据存取命令后(步骤S410),读取数据存取命令欲存取的固态硬盘卡的快捷外设互联组态寄存器的值(步骤S430)。例如,数据存取命令可指示从固态硬盘卡191_1读取一段逻辑区块地址(LBA, Logical Block Address)的数据,删除固态硬盘卡191_1中一段逻辑区块地址的数据,或更新固态硬盘卡191_1中一段逻辑区块地址的数据等等。当驱动程序230接收到如上的命令时,读取固态硬盘卡191_1的快捷外设互联组态寄存器191_3的值。图5系依据本发明实施例的快捷外设互联组态寄存器中储存的一般组态空间(CommonConfiguration Space)表头的示意图。于一些实施例中,驱动程序230可从偏移量00h开始读取二个字节的供货商标识符寄存器(Vendor ID)511的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFFFh”的值。于一些实施例中,驱动程序230可从偏移量02h开始读取二个字节的装置标识符寄存器(Device ID)513的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFFFh”的值。于一些实施例中,驱动程序230可从偏移量04h开始读取二个字节的命令寄存器(Command)521的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFFFh”的值。于一些实施例中,驱动程序230可从偏移量06h开始读取二个字节的状态寄存器(Status)523的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFFFh”的值。于一些实施例中,驱动程序230可从偏移量08h开始读取一个字节的更版标识符寄存器(Revision ID)531的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量09h开始读取三个字节的类别码寄存器(Class Code)533的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFFFFFh”的值。于一些实施例中,驱动程序230可从偏移量0Ch开始读取一个字节的快取线大小寄存器(Cache Line Size)541的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量0Dh开始读取一个字节的主延迟计时寄存器(Master Latency Timer)543的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量0Eh开始读取一个字节的表头类型寄存器(Header Type)545的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量0Fh开始读取一个字节的自测能力寄存器(BIST, Built-In Self Test)547的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。接着,驱动程序230依据读取结果判断欲存取的固态硬盘卡是否已经移除(步骤S450)。详细来说,当n个字节的值中的每一者皆为“FFh”时,判定欲存取的固态硬盘卡已经被移除。当n个字节的值中的任一者不为“FFh”时,判定欲存取的固态硬盘卡没有被移除。当欲存取的固态硬盘卡并没有被移除时(步骤S450中“否”的路径),依据数据存取命令产生数据存取请求(步骤S471),以及透过传输层240、数据链结层250及物理层260传送数据存取请求至固态硬盘卡以进行数据存取(步骤S473)。当欲存取的固态硬盘卡已经被移除时(步骤S450中“是”的路径),执行卸载程序。
虽然图1中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图4的处理步骤采用特定的顺序来执行,但是在不违反发明精神的情况下,本领域技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了本领域技术人员显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (20)
1.一种卸载固态硬盘卡的方法,由一处理单元加载并执行一驱动程序时实施,包含:
于接收到一应用程序发出的一数据存取命令以及传送相应于上述数据存取命令的一数据存取请求给一下层之间,读取上述数据存取命令所欲存取的一固态硬盘卡的一寄存器中的值;以及
当透过上述读取的值发现上述固态硬盘卡已经被移除时,执行一卸载程序。
2.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器为快捷外设互联组态寄存器。
3.如权利要求2所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器中的值为一般组态空间表头的一供货商标识符、一装置标识符、一命令、一状态、一更版标识符、一类别码、一快取线大小、一主延迟计时、一表头类型或一自测能力。
4.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器中的值包含n个字节的值。
5.如权利要求4所述的卸载固态硬盘卡的方法,其特征在于,当上述n个字节的值中的每一者为“FFh”时,判定上述固态硬盘卡已经被移除。
6.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,更包含:
当透过上述读取的值发现上述固态硬盘卡没有被移除时,依据上述数据存取命令产生上述数据存取请求,以及传送上述数据存取请求给上述下层。
7.如权利要求6所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器中的值包含n个字节的值,当上述n个字节的值中的任一者不为“FFh”时,判定上述固态硬盘卡没有被移除。
8.如权利要求7所述的卸载固态硬盘卡的方法,其特征在于,上述下层包含一传输层、一数据链结层及一物理层。
9.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,上述卸载程序释放相应于上述固态硬盘卡的一计算机资源,以及将上述固态硬盘卡移出一装置模型。
10.如权利要求9所述的卸载固态硬盘卡的方法,其特征在于,上述计算机资源包含一存储器的一配置空间。
11.一种卸载固态硬盘卡的装置,包含:
一根复合体装置;以及
一处理单元,耦接于上述根复合体装置,加载并执行一驱动程序,用以于接收到一应用程序发出的一数据存取命令以及传送相应于上述数据存取命令的一数据存取请求给一下层之间,透过上述根复合体装置读取上述数据存取命令所欲存取的一固态硬盘卡的一寄存器中的值;以及当透过上述读取的值发现上述固态硬盘卡已经被移除时,执行一卸载程序。
12.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器为快捷外设互联组态寄存器。
13.如权利要求12所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器中的值为一般组态空间表头的一供货商标识符、一装置标识符、一命令、一状态、一更版标识符、一类别码、一快取线大小、一主延迟计时、一表头类型或一自测能力。
14.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器中的值包含n个字节的值。
15.如权利要求14所述的卸载固态硬盘卡的装置,其特征在于,当上述n个字节的值中的每一者为“FFh”时,上述处理单元判定上述固态硬盘卡已经被移除。
16.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,当透过上述读取的值发现上述固态硬盘卡没有被移除时,上述处理单元依据上述数据存取命令产生上述数据存取请求,以及传送上述数据存取请求给上述下层。
17.如权利要求16所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器中的值包含n个字节的值,当上述n个字节的值中的任一者不为“FFh”时,上述处理单元判定上述固态硬盘卡没有被移除。
18.如权利要求17所述的卸载固态硬盘卡的装置,其特征在于,上述下层包含一传输层、一数据链结层及一物理层。
19.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,上述卸载程序释放相应于上述固态硬盘卡的一计算机资源,以及将上述固态硬盘卡移出一装置模型。
20.如权利要求19所述的卸载固态硬盘卡的装置,其特征在于,上述计算机资源包含一存储器的一配置空间。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710270323.6A CN108733479B (zh) | 2017-04-24 | 2017-04-24 | 卸载固态硬盘卡的方法以及使用该方法的装置 |
TW106118498A TWI653537B (zh) | 2017-04-24 | 2017-06-05 | 卸載固態硬碟卡的方法以及使用該方法的裝置 |
US15/865,494 US11099856B2 (en) | 2017-04-24 | 2018-01-09 | Methods for uninstalling SSD (solid-state disk) cards and apparatuses using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710270323.6A CN108733479B (zh) | 2017-04-24 | 2017-04-24 | 卸载固态硬盘卡的方法以及使用该方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733479A CN108733479A (zh) | 2018-11-02 |
CN108733479B true CN108733479B (zh) | 2021-11-02 |
Family
ID=63853901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710270323.6A Active CN108733479B (zh) | 2017-04-24 | 2017-04-24 | 卸载固态硬盘卡的方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11099856B2 (zh) |
CN (1) | CN108733479B (zh) |
TW (1) | TWI653537B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694764B (zh) * | 2020-05-29 | 2023-03-14 | 四川效率源信息安全技术股份有限公司 | 一种故障固态硬盘的数据读取方法 |
TWI773463B (zh) * | 2021-07-29 | 2022-08-01 | 緯穎科技服務股份有限公司 | 固態硬碟裝置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100251636B1 (ko) * | 1997-04-10 | 2000-05-01 | 윤종용 | 소형컴퓨터시스템인터페이스방식접속을위한메모리장치 |
CN100490273C (zh) | 2005-11-08 | 2009-05-20 | 联想(北京)有限公司 | 移动终端电压动态管理系统及方法 |
US20070156942A1 (en) * | 2005-12-30 | 2007-07-05 | Robert Gough | Method and apparatus for independently managing a chipset-integrated bus controller |
JP4930762B2 (ja) * | 2006-05-24 | 2012-05-16 | 日本電気株式会社 | 情報処理装置、および、装置間接続方法 |
TWI326411B (en) | 2006-12-04 | 2010-06-21 | Inventec Corp | Method for protecting data in a hard disk |
US8090904B2 (en) | 2008-02-01 | 2012-01-03 | Cru Acquisition Group, Llc | Reduced hard-drive-capacity detection device |
CN101604266A (zh) | 2009-07-13 | 2009-12-16 | 浪潮电子信息产业股份有限公司 | 计算机故障硬盘自动断电系统 |
CN103257912A (zh) * | 2012-02-16 | 2013-08-21 | 鸿富锦精密工业(深圳)有限公司 | 测试装置及其测试pcie插槽的方法 |
US9703744B2 (en) * | 2013-01-23 | 2017-07-11 | Hitachi, Ltd. | Storage device employing PCI-express connection solid-state drive |
KR101539878B1 (ko) * | 2013-05-02 | 2015-07-27 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 컴퓨터 시스템, pci 익스프레스 엔드포인트 디바이스에 액세스하는 방법 및 장치 |
CN106126454B9 (zh) * | 2013-05-20 | 2019-08-30 | 华为技术有限公司 | 一种计算机系统、高速外围组件互联端点设备的访问方法和装置 |
CN103797469B (zh) * | 2013-05-20 | 2016-08-31 | 华为技术有限公司 | 一种计算机系统、高速外围组件互联端点设备的访问方法和装置 |
CN104035728A (zh) | 2014-03-31 | 2014-09-10 | 深圳英飞拓科技股份有限公司 | 一种硬盘热插拔处理方法、装置及节点 |
CN103995675A (zh) * | 2014-04-21 | 2014-08-20 | 安庆师范学院 | 硬盘读写装置的控制方法及装置 |
CN105893293B (zh) * | 2014-12-18 | 2019-10-29 | 伊姆西公司 | 用于管理外部组件快速互连设备热插拔的系统和方法 |
-
2017
- 2017-04-24 CN CN201710270323.6A patent/CN108733479B/zh active Active
- 2017-06-05 TW TW106118498A patent/TWI653537B/zh active
-
2018
- 2018-01-09 US US15/865,494 patent/US11099856B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20180307500A1 (en) | 2018-10-25 |
CN108733479A (zh) | 2018-11-02 |
TWI653537B (zh) | 2019-03-11 |
TW201839619A (zh) | 2018-11-01 |
US11099856B2 (en) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970864B (zh) | 片上系统、移动终端和用于操作片上系统的方法 | |
CA2636648C (en) | A method for booting a host device from an mmc/sd device, a host device bootable from an mmc/sd device and an mmc/sd device method a host device may be booted from | |
KR100909119B1 (ko) | 집적 dma 엔진을 사용하는 고성능 휘발성 디스크드라이브 메모리 액세스 장치 및 방법 | |
CN100492334C (zh) | 串行周边接口装置 | |
TW445416B (en) | Upgrade card for a computer system and method of operating the same | |
US7873754B2 (en) | Structure for option ROM characterization | |
US9164703B2 (en) | Solid state drive interface controller and method selectively activating and deactivating interfaces and allocating storage capacity to the interfaces | |
US10656833B2 (en) | Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive | |
US8966130B2 (en) | Tag allocation for queued commands across multiple devices | |
CN106663061B (zh) | 用于可编程逻辑的存储器的虚拟化 | |
US8266371B2 (en) | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program | |
US10606677B2 (en) | Method of retrieving debugging data in UEFI and computer system thereof | |
US20220100425A1 (en) | Storage device, operating method of storage device, and operating method of computing device including storage device | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
US9164804B2 (en) | Virtual memory module | |
TW201523618A (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
US11487638B2 (en) | Computer program product and method and apparatus for controlling access to flash memory card | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
CN108733479B (zh) | 卸载固态硬盘卡的方法以及使用该方法的装置 | |
US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
JP4359618B2 (ja) | コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 | |
TWI486966B (zh) | 快閃記憶體儲存裝置、其控制器與寫入管理方法 | |
CN115963977A (zh) | 一种固态硬盘及其数据操作方法、装置及电子设备 | |
KR20220044069A (ko) | 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 포함하는 컴퓨팅 장치의 동작 방법 | |
CN115905072A (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 |
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 |