CN108733479A - 卸载固态硬盘卡的方法以及使用该方法的装置 - Google Patents

卸载固态硬盘卡的方法以及使用该方法的装置 Download PDF

Info

Publication number
CN108733479A
CN108733479A CN201710270323.6A CN201710270323A CN108733479A CN 108733479 A CN108733479 A CN 108733479A CN 201710270323 A CN201710270323 A CN 201710270323A CN 108733479 A CN108733479 A CN 108733479A
Authority
CN
China
Prior art keywords
mentioned
solid state
state disk
disk card
value
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
Application number
CN201710270323.6A
Other languages
English (en)
Other versions
CN108733479B (zh
Inventor
苗宁忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI FEIEN MICROELECTRONIC CO Ltd
Original Assignee
SHANGHAI FEIEN MICROELECTRONIC CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI FEIEN MICROELECTRONIC CO Ltd filed Critical SHANGHAI FEIEN MICROELECTRONIC CO Ltd
Priority to CN201710270323.6A priority Critical patent/CN108733479B/zh
Priority to TW106118498A priority patent/TWI653537B/zh
Priority to US15/865,494 priority patent/US11099856B2/en
Publication of CN108733479A publication Critical patent/CN108733479A/zh
Application granted granted Critical
Publication of CN108733479B publication Critical patent/CN108733479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI 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可产生并传送相应的读取与写入请求给传输层(transaction layer)240。传输层(transaction layer)使用封包架构的分割交易(split-transaction)协议,将读取与写入请求经由数据链结层(data link layer)250及物理层(physical layer)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接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量02h开始读取二个字节的装置标识符寄存器(Device ID)513的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量04h开始读取二个字节的命令寄存器(Command)521的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量06h开始读取二个字节的状态寄存器(Status)523的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFh”的值。于一些实施例中,驱动程序230可从偏移量08h开始读取一个字节的更版标识符寄存器(Revision ID)531的值。当固态硬盘卡已经移除时,驱动程序230接收到“Fh”的值。于一些实施例中,驱动程序230可从偏移量09h开始读取三个字节的类别码寄存器(Class Code)533的值。当固态硬盘卡已经移除时,驱动程序230接收到“FFFh”的值。于一些实施例中,驱动程序230可从偏移量0Ch开始读取一个字节的快取线大小寄存器(Cache Line Size)541的值。当固态硬盘卡已经移除时,驱动程序230接收到“Fh”的值。于一些实施例中,驱动程序230可从偏移量0Dh开始读取一个字节的主延迟计时寄存器(Master Latency Timer)543的值。当固态硬盘卡已经移除时,驱动程序230接收到“Fh”的值。于一些实施例中,驱动程序230可从偏移量0Eh开始读取一个字节的表头类型寄存器(Header Type)545的值。当固态硬盘卡已经移除时,驱动程序230接收到“Fh”的值。于一些实施例中,驱动程序230可从偏移量0Fh开始读取一个字节的自测能力寄存器(BIST,Built-In Self Test)547的值。当固态硬盘卡已经移除时,驱动程序230接收到“Fh”的值。接着,驱动程序230依据读取结果判断欲存取的固态硬盘卡是否已经移除(步骤S450)。详细来说,当n个字节的值中的每一者皆为“Fh”时,判定欲存取的固态硬盘卡已经被移除。当n个字节的值中的任一者不为“Fh”时,判定欲存取的固态硬盘卡没有被移除。当欲存取的固态硬盘卡并没有被移除时(步骤S450中“否”的路径),依据数据存取命令产生数据存取请求(步骤S471),以及透过传输层240、数据链结层250及物理层260传送数据存取请求至固态硬盘卡以进行数据存取(步骤S473)。当欲存取的固态硬盘卡已经被移除时(步骤S450中“是”的路径),执行卸载程序。
虽然图1中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图4的处理步骤采用特定的顺序来执行,但是在不违反发明精神的情况下,本领域技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了本领域技术人员显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (20)

1.一种卸载固态硬盘卡的方法,由一处理单元加载并执行一驱动程序时实施,包含:
于接收到一应用程序发出的一数据存取命令以及传送相应于上述数据存取命令的一数据存取请求给一下层之间,读取上述数据存取命令所欲存取的一固态硬盘卡的一寄存器中的值;以及
当透过上述读取的值发现上述固态硬盘卡已经被移除时,执行一卸载程序。
2.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器为快捷外设互联组态寄存器。
3.如权利要求2所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器中的值为一般组态空间表头的一供货商标识符、一装置标识符、一命令、一状态、一更版标识符、一类别码、一快取线大小、一主延迟计时、一表头类型或一自测能力。
4.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器中的值包含n个字节的值。
5.如权利要求4所述的卸载固态硬盘卡的方法,其特征在于,当上述n个字节的值中的每一者为“Fh”时,判定上述固态硬盘卡已经被移除。
6.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,更包含:
当透过上述读取的值发现上述固态硬盘卡没有被移除时,依据上述数据存取命令产生上述数据存取请求,以及传送上述数据存取请求给上述下层。
7.如权利要求6所述的卸载固态硬盘卡的方法,其特征在于,上述寄存器中的值包含n个字节的值,当上述n个字节的值中的任一者不为“Fh”时,判定上述固态硬盘卡没有被移除。
8.如权利要求7所述的卸载固态硬盘卡的方法,其特征在于,上述下层包含一传输层、一数据链结层及一物理层。
9.如权利要求1所述的卸载固态硬盘卡的方法,其特征在于,上述卸载程序释放相应于上述固态硬盘卡的一计算机资源,以及将上述固态硬盘卡移出一装置模型。
10.如权利要求9所述的卸载固态硬盘卡的方法,其特征在于,上述计算机资源包含一存储器的一配置空间。
11.一种卸载固态硬盘卡的装置,包含:
一根复合体装置;以及
一处理单元,耦接于上述根复合体装置,加载并执行一驱动程序,用以于接收到一应用程序发出的一数据存取命令以及传送相应于上述数据存取命令的一数据存取请求给一下层之间,透过上述根复合体装置读取上述数据存取命令所欲存取的一固态硬盘卡的一寄存器中的值;以及当透过上述读取的值发现上述固态硬盘卡已经被移除时,执行一卸载程序。
12.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器为快捷外设互联组态寄存器。
13.如权利要求12所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器中的值为一般组态空间表头的一供货商标识符、一装置标识符、一命令、一状态、一更版标识符、一类别码、一快取线大小、一主延迟计时、一表头类型或一自测能力。
14.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器中的值包含n个字节的值。
15.如权利要求14所述的卸载固态硬盘卡的装置,其特征在于,当上述n个字节的值中的每一者为“Fh”时,上述处理单元判定上述固态硬盘卡已经被移除。
16.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,当透过上述读取的值发现上述固态硬盘卡没有被移除时,上述处理单元依据上述数据存取命令产生上述数据存取请求,以及传送上述数据存取请求给上述下层。
17.如权利要求16所述的卸载固态硬盘卡的装置,其特征在于,上述寄存器中的值包含n个字节的值,当上述n个字节的值中的任一者不为“Fh”时,上述处理单元判定上述固态硬盘卡没有被移除。
18.如权利要求17所述的卸载固态硬盘卡的装置,其特征在于,上述下层包含一传输层、一数据链结层及一物理层。
19.如权利要求11所述的卸载固态硬盘卡的装置,其特征在于,上述卸载程序释放相应于上述固态硬盘卡的一计算机资源,以及将上述固态硬盘卡移出一装置模型。
20.如权利要求19所述的卸载固态硬盘卡的装置,其特征在于,上述计算机资源包含一存储器的一配置空间。
CN201710270323.6A 2017-04-24 2017-04-24 卸载固态硬盘卡的方法以及使用该方法的装置 Active CN108733479B (zh)

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 true CN108733479A (zh) 2018-11-02
CN108733479B 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694764B (zh) * 2020-05-29 2023-03-14 四川效率源信息安全技术股份有限公司 一种故障固态硬盘的数据读取方法
TWI773463B (zh) * 2021-07-29 2022-08-01 緯穎科技服務股份有限公司 固態硬碟裝置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156942A1 (en) * 2005-12-30 2007-07-05 Robert Gough Method and apparatus for independently managing a chipset-integrated bus controller
CN103257912A (zh) * 2012-02-16 2013-08-21 鸿富锦精密工业(深圳)有限公司 测试装置及其测试pcie插槽的方法
CN103797469A (zh) * 2013-05-20 2014-05-14 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置
CN103995675A (zh) * 2014-04-21 2014-08-20 安庆师范学院 硬盘读写装置的控制方法及装置
US20150317272A1 (en) * 2013-01-23 2015-11-05 Hitachi, Ltd Storage device employing pci-express connection solid-state drive
CN106126454A (zh) * 2013-05-20 2016-11-16 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100251636B1 (ko) * 1997-04-10 2000-05-01 윤종용 소형컴퓨터시스템인터페이스방식접속을위한메모리장치
CN100490273C (zh) 2005-11-08 2009-05-20 联想(北京)有限公司 移动终端电压动态管理系统及方法
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 浪潮电子信息产业股份有限公司 计算机故障硬盘自动断电系统
WO2014176775A1 (zh) * 2013-05-02 2014-11-06 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法、和装置
CN104035728A (zh) 2014-03-31 2014-09-10 深圳英飞拓科技股份有限公司 一种硬盘热插拔处理方法、装置及节点
CN105893293B (zh) * 2014-12-18 2019-10-29 伊姆西公司 用于管理外部组件快速互连设备热插拔的系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156942A1 (en) * 2005-12-30 2007-07-05 Robert Gough Method and apparatus for independently managing a chipset-integrated bus controller
CN103257912A (zh) * 2012-02-16 2013-08-21 鸿富锦精密工业(深圳)有限公司 测试装置及其测试pcie插槽的方法
US20150317272A1 (en) * 2013-01-23 2015-11-05 Hitachi, Ltd Storage device employing pci-express connection solid-state drive
CN103797469A (zh) * 2013-05-20 2014-05-14 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置
CN106126454A (zh) * 2013-05-20 2016-11-16 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置
CN103995675A (zh) * 2014-04-21 2014-08-20 安庆师范学院 硬盘读写装置的控制方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIANGWEI0512: "PCI/PCIE基础—配置空间", 《HTTPS://BLOG.CSDN.NET/JIANGWEI0512/ARTICLE/DETAILS/51603525》 *
SUZUKI J等: "Expressetherethernet-based virtualization technology for reconfigurable hardware platform", 《PROCEEDINGS OF THE 14TH IEEE SYMPOSIUM ON HIGH-PERFORMANCE INTERCONNECTS》 *
李超等: "基于PCIE 总线主模式DMA高速数据传输系统设计", 《电子技术应用》 *
王展等: "云数据中心 I/O 资源池化", 《集成技术》 *

Also Published As

Publication number Publication date
US20180307500A1 (en) 2018-10-25
TW201839619A (zh) 2018-11-01
CN108733479B (zh) 2021-11-02
TWI653537B (zh) 2019-03-11
US11099856B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
CN106970864B (zh) 片上系统、移动终端和用于操作片上系统的方法
CN108121672A (zh) 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
US11609874B2 (en) System-on-chips and methods of controlling reset of system-on-chips
CN106663061B (zh) 用于可编程逻辑的存储器的虚拟化
CN103635968A (zh) 包含存储器系统控制器的设备和相关方法
US10656833B2 (en) Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive
US20220100425A1 (en) Storage device, operating method of storage device, and operating method of computing device including storage device
KR20190106675A (ko) 집적 단일 fpga 및 ssd 컨트롤러
CN105930186A (zh) 多cpu的软件加载方法及基于多cpu的软件加载装置
CN110727466B (zh) 多晶粒的多核计算机平台及其开机方法
US20150347324A1 (en) System and Method for Shared Memory for FPGA Based Applications
US10402118B2 (en) Methods for atomic writes in an SSD (solid state disk) system and apparatuses using the same
CN108733479A (zh) 卸载固态硬盘卡的方法以及使用该方法的装置
CN110058809B (zh) 存储装置及其调试系统
US7216211B2 (en) Variable sized flash memory in PCI
CN111742303B (zh) 用于在调试设备时访问元数据的装置和方法
US8078793B1 (en) Method, apparatus, and computer-readable medium for storing data on a non-volatile memory device
US10922226B1 (en) Scratchpad memory management in a computing system
EP3974954A1 (en) Storage device, operating method of storage device, and operating method of computing device including storage device
CN101135954B (zh) 一种实现硬盘初始化的方法、装置和系统
CN104956350A (zh) 存储设备的初始化
Yang Programming for I/O and Storage

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