CN107678681A - 信息处理***、信息处理***中的方法以及存储介质 - Google Patents
信息处理***、信息处理***中的方法以及存储介质 Download PDFInfo
- Publication number
- CN107678681A CN107678681A CN201710638849.5A CN201710638849A CN107678681A CN 107678681 A CN107678681 A CN 107678681A CN 201710638849 A CN201710638849 A CN 201710638849A CN 107678681 A CN107678681 A CN 107678681A
- Authority
- CN
- China
- Prior art keywords
- order
- host
- equipment
- main frame
- undefined
- 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
-
- 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/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
-
- 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
- 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/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0658—Controller construction arrangements
-
- 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
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
-
- 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/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32502—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
- H04N1/32507—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices
- H04N1/32512—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices of different type, e.g. internal and external devices
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)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Communication Control (AREA)
Abstract
本发明涉及信息处理***、信息处理***中的方法以及存储介质。本发明的目的是:在基于SATA标准的通信控制中,在之后必需添加供应商专有命令时,即使在设备侧不具备用于更新的专用引脚的情况下,也可以添加供应商专有命令。信息处理***遵照SATA标准在主机与设备之间进行数据通信,并且主机向设备发送写入了关于未定义命令的信息的设立命令,并且所述设备:具有符合SATA标准的命令的命令表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息;并且通过根据接收到的设立命令将关于所述未定义命令的信息写入到所述命令表,使所述未定义命令在所述主机与所述设备之间可用。
Description
技术领域
本发明涉及基于SATA标准的通信控制。
背景技术
在诸如MFP(多功能打印机)的图像处理装置中,经常使用硬盘驱动器(HDD)作为存储设备来保存输入图像数据。此外,近年来,通过对输入图像数据的高图像质量和高性能处理的要求,对能够进行高速处理的存储设备(例如,SSD(固态驱动器))的需求正在增加。然后,通常基于串行ATA(SATA)标准来进行诸如HDD和SSD等的存储设备与MFP之间的数据通信。
这里,在SATA标准的命令中,传输协议与各个命令代码相关联。使得主机(对应于上述MFP)和设备(对应于上述HDD和SDD)二者、可以通过掌握传输协议来进行数据通信。另一方面,在SATA标准的命令当中,存在与传输协议不相关联的命令代码。利用与传输协议不相关联的命令代码,供应商可以关联对供应商专有的传输协议,并且这被称为供应商专有命令。通过使用该供应商专有命令,使得可以向设备提出各种数据处理的请求。
通过将传输协议与命令代码相关联来使用上述供应商专有命令,并且因此,主机和设备二者都必须预先定义传输协议。也就是说,关于传输协议的信息对于上述二者来说绝对不可或缺。假定下述情况,其中,主机向设备传输供应商专有命令,针对该供应商专有命令,不在设备侧上进行与传输协议的关联。在这种情况下,设备侧不了解发送的供应商专有命令的传输协议。因为如此,设备侧不了解如何处理接收到的供应商专有命令,并且因此,设备侧中止程序的执行并且进行处理来返回错误。关于这一点,例如,日本专利特开平6-152916(1994)号公报公开了一种使得具有可扩展性的附加设置的方法能够作为对传真设备的供应商专有命令的附加设置方法。具体而言,在传真设备内的ROM中,保存命令、地址和代码中的各个的表,并且在通电时,从地址表顺序地读取RAM地址,并且存储在命令表中的代码被存储在与RAM地址相对应的区域中。由于此,根据通电时被改写了的代码表,创建供应商专有命令,并且结果,使得能够进行供应商专有命令的添加和编辑。
利用上述日本专利特开平6-152916(1994)号公报的方法,可以通过主机更新主机本身的代码表(或者通过设备更新设备本身的代码表)来添加和改变供应商专有命令。然而,为了进行更新,专用引脚是必要的,但是鉴于成本等,一些HDD或SSD仅具有有限数量的专用引脚或者原本没有专用引脚。在包括这种存储设备的***构造中,难以应用上述日本专利特开平06-152916(1994)号公报的方法。
本发明的目的在于,在基于SATA标准的通信控制中,在之后必需添加供应商专有命令的情况下,即使在设备侧不具有用于更新的专用引脚的情况下,也可以添加供应商专有命令。
发明内容
根据本发明的信息处理***是遵照SATA标准在主机与设备之间进行数据通信的信息处理***,并且主机向设备发送写入了关于未定义命令的信息的设立命令,并且该设备具有:符合SATA标准的命令的命令表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息;并且根据接收到的设立命令,通过将关于未定义命令的信息写入到命令表,使未定义命令在主机与设备之间可用。
通过下面参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是示出作为信息处理***的MFP的整体构造的框图;
图2是示出HDD的内部构造的框图;
图3是示出根据第一实施例,从主控制器向HDD的命令传输的概要的图;
图4是命令表的示例;
图5是示出主控制器与HDD之间的命令传输的示例的图;
图6A至图6D是示出在通过PIO数据输出协议进行数据通信时所使用的FIS的结构的图;
图7是示出根据第一实施例的设立命令的细节的图;
图8是示出传输协议表的图;
图9A是示出主机向设备发送RegHD-FIS的处理的流程的流程图,并且图9B是示出设备复制接收到的RegHD-FIS的处理的流程的流程图;
图10A是示出设备向主机通知PIO传输的准备完成的处理的流程的流程图,并且图10B是示出响应于PIO传输的准备完成的通知,主机向设备传输Data-FIS的处理的流程的流程图;
图11是示出根据第一实施例,在设备中向主机通知附加命令的登记及其完成的处理的流程的流程图;
图12A是示出在HDD的启动时,将设备命令表加载到RAM上的方式的图,并且图12B是示出在暂停HDD时,将设备命令表保存在ROM中的方式的图;
图13是示出根据第二实施例,经由桥接芯片的命令传输的概要的图;
图14是示出桥接芯片的内部构造的框图;
图15是示出根据第二实施例,在桥接芯片中向主机通知附加命令的登记及其完成的处理的流程的流程图;
图16是示出根据第三实施例,经由桥接芯片的命令传输的概要的图;
图17是示出代码表的图;
图18是示出根据第三实施例的设立命令的内部构造的示例的图;以及
图19是示出根据第三实施例,在桥接芯片中向主机通知附加命令的登记及其完成的处理的流程的流程图。
具体实施方式
在下文中,参照附图,根据优选实施例详细说明本发明。以下实施例中所示的构造仅仅是示例性的,并且本发明不限于示意性示出的构造。
(第一实施例)
图1是示出根据本实施例,作为信息处理***的MFP的整体结构的框图。在本实施例中,对一个封闭信息处理装置(即,MFP)的构造给出说明,但是可以将本实施例广泛地应用于包括主机和设备的信息处理***,该信息处理***遵照串行ATA(SATA)标准进行数据通信。
MFP 10的主控制器(对应于主机)100包括CPU 101、ROM 106、DRAM 107、SRAM 108、五个I/F(102、103、104、105、110)和两个图像处理单元(111、112)。然后,主控制器100的上述部件经由***总线113或图像总线114连接。
CPU 101是控制整个MFP 10并且基于存储在ROM 106等中的程序进行各种控制和算术运算处理的处理器。网络I/F 102连接到诸如LAN的网络,并且从未示意性示出的诸如PC等的外部设备接收例如打印作业等。操作单元I/F 103控制要在操作单元115上显示的图像数据的输出和由用户在操作单元115上进行的输入操作。SATAI/F 104是接口,该接口将数据输入到作为符合SATA标准的设备的HDD 116并且从作为符合SATA标准的设备的HDD116输出数据。图像总线I/F 105是连接***总线113和图像总线114并且以高速传输数据的桥。ROM 106是只读存储器并且用作用于引导的ROM,并且在ROM 106中存储***的引导程序。DRAM 107是用于CPU 101操作的***工作存储器。此外,DRAM 107还起到用以暂时存储图像数据的图像存储器的作用。SRAM 108是非易失性存储器,并且存储***的设置数据。***检测单元109监视整个***的电力模式并给出向各个单元供电的指令。扫描仪/打印机I/F 110将扫描仪117和打印机118连接到主控制器100,并且进行图像数据的输入/输出控制。扫描仪图像处理单元111对由扫描仪117读取的扫描图像数据进行诸如倍率放大和MTF校正等的各种图像处理。打印图像处理单元112进行诸如γ校正和量化等的各种图像处理,以生成要输出到打印机118的图像数据。
为方便起见,***总线113将控制总线、数据总线、任意块之间的局部总线以及信号线一起表示为一个单元。为方便起见,图像总线114将PCI总线一起表示为一个单元。操作单元115是用户界面,诸如具有显示功能和操作功能二者的触摸面板,并且起到显示输入图像数据的作用和将由用户输入的信息传送到CPU 101的作用。HDD 116是存储相对大容量的数据并且将***软件、各种应用程序、图像数据以及管理信息存储在其上的存储设备。HDD116可以是符合SATA标准的任何大容量存储设备,并且可以是诸如SSD等的另一种存储设备。扫描仪117光学地读取未示意性地示出的原稿台等上放置的原稿并将其转换为电信号,并且生成由例如RGB表示的光栅图像数据(扫描图像数据)。打印机118根据由打印图像处理单元112生成的打印图像数据通过例如电子照相方案或喷墨方案在打印介质(诸如纸张)上形成图像。
图2是示出HDD 116的内部构造的框图。子CPU 201是处理器,该处理器支配(govern)由未示意性示出的设备/任务文件寄存器(以下称为设备TFR)对SATA命令的处理的控制、发送/接收数据的传输处理等。子ROM 202是例如诸如闪速存储器的可写ROM,该子ROM 202存储用以启动HDD 116的控制程序和各种参数。子RAM 203是可读/可写存储器,该子RAM 203用作子CPU 201的工作区域和命令表的加载区域。SATA-I/F 204是向主控制器100输入数据以及从主控制器100输出数据的接口。HDD控制器(HDC)205是控制头206并且使磁盘207存储数据的控制器。头206通过磁性向磁盘207写入数据并从磁盘207读取数据。磁盘207由通过将磁性材料涂覆到盘而获得的磁性层制成,并且通过利用磁性来存储数据。然后,子CPU 201、子ROM 202、子RAM 203、SATA-I/F 204和HDC 205经由总线208彼此连接。
接下来,对从作为主机的主控制器100向作为设备的HDD 116的命令传输进行说明。图3是示出根据本实施例的从主控制器100向HDD 116的命令传输的概要的图。
在主控制器100将任意命令300传输到HDD 116的情况下,主控制器100和HDD 116二者都根据命令300内描述的命令代码确定传输协议,并控制数据的发送/接收。主控制器100内的CPU 101通过参照主机命令表301并将要传输的命令300的命令代码与主机命令表301进行核查(collating)来确定命令300的传输协议。然后,HDD 116内的子CPU 201通过读取传输的命令300的命令代码并通过参照设备命令表302且将命令代码与设备命令表302进行核查来确定命令300的传输协议。由于此,CPU 101和子CPU 201二者都可以确定命令300的传输协议,并且使得可以根据主控制器100与HDD 116之间的命令300来控制数据的发送/接收。
图4是符合SATA标准的命令的命令表的示例,在该命令表中描述了用以识别各个命令的命令代码和关于各个命令的传输协议的信息。在主控制器100与HDD 116之间进行数据通信的情况下,为了了解命令的传输协议,CPU 101和子CPU 201分别参照诸如此的命令表。图4中的命令表包括“命令编号”列401、“命令代码”列402和“传输协议”列403。然后,主机命令表301被保存在ROM 106内,并在MFP 10启动时被加载到DRAM 107上。设备命令表302被保存在子ROM 202内,并且在HDD 116启动时被加载到子RAM 203上。
在命令表的“命令编号”列401中,序列号0至255被描述为命令的管理编号。此外,在“命令代码”列402中,“0x00”至“0xff”被描述为SATA标准的命令代码的列表。这里,命令代码中的“0x”表示该数字是十六进制数。该“该命令代码”列402内的各个命令代码被写入稍后描述的“RegHD-FIS”的命令区域中,并成为命令的标识符。在“传输协议”列403中,诸如“PIO数据输入”、“PIO数据输出”和“非数据(NonData)”的协议被描述为各个命令的传输协议。“传输协议”列403为空的命令代码(例如,0xc1至0xc3等等)可以用作先前描述的供应商专有命令。
图5是示出主控制器100与HDD 116之间的命令传输的示例的图。针对称为FIS(帧指令结构)的各个帧,进行SATA标准中的命令的协议控制。在本实施例中,通过使用数据通信线路,通过主控制器100内的CPU 101将专用设置命令(以下称为“设立命令”)传输到HDD116。通过该设立命令,通过主控制器100向HDD 116通知要新添加的供应商专有命令的命令代码和与该命令代码相对应的传输协议。下面,通过以下示例给出说明,其中,“命令”被用作设立命令的命令代码,并且“PIO数据输出”协议被用作命令代码的传输协议。具体而言,通过以下所示的过程(对应于图5中的附图标记501至507),实现使用设立命令对附加命令的设置。
501:将“RegHD-FIS”从主控制器100发送到HDD 116
502:在HDD 116中复制“RegHD-FIS”,并进行PIO传输的准备
503:通过“PIOSU”向主控制器100通知PIO传输的准备完成
504:将附加命令及其传输协议写入到主控制器100中的“Data-FIS”
505:将写入了附加命令及其传输协议的“Data-FIS”发送到HDD 116
506:基于在HDD 116中接收到的“Data-FIS”,将附加命令登记到设备命令表302
507:通过“RegDH-FIS”向主控制器100通知附加命令的登记完成RegHD是指“主机到设备的登记”,并且RegDH表示“设备到主机的登记”。
图6A至图6D各示出在通过“PIO数据输出”协议进行数据通信时使用的FIS的结构。图6A中的“RegHD-FIS”是在主控制器100向HDD 116给出指令时使用的FIS。通过主控制器100向HDD 116发送“RegHD-FIS”,开始图9A至图11所示的一系列流程。此外,在“RegHD-FIS”中,包括命令传输所需的所有登记。在RegHD-FIS的command(命令)区域601中,图4所示的命令表内的“命令代码”列402内的命令代码之一被描述,并且这用作识别SATA的哪个命令的标识符。在主控制器100与HDD 116之间进行数据通信时使用图6B中的“Data-FIS”。对于Data-FIS的Data(数据)区域602,通过CPU 101写入由传输实际发送和接收的数据。
图7是示出根据本实施例的设立命令的细节的图。设立命令700包括“RegHD-FIS”和“Data-FIS”。对于“RegHD-FIS”内的command区域601,通过CPU 101写入设立命令的命令代码。设立命令的命令代码(这里为“0xF0”)本身也是供应商专有命令,并且因此,在主机命令表301和设备命令表302内,该命令预先与传输协议相关联。
然后,对于“Data-FIS”内的Data区域602,通过CPU 101写入尚未定义并且期望被添加的命令的命令代码和传输协议。例如,考虑到期望将可以被设置为供应商专有命令的“0xC1”的命令代码与传输协议“PIO数据输入”相关联的情况。这里,示出了一个示例,其中,每一个字节被在Data区域602内使用并且“0xC1”被存储为未定义的附加命令的命令代码,并且“0x01”被存储为附加命令的传输协议。通过基于稍后描述的传输协议表800将附加命令的命令代码“0xC1”和其传输协议“0x01”存储在Data区域602中,“PIO数据输入”被替换为传输协议代码。由于此,使得CPU 101可以向HDD 116通知关于未定义的附加命令的信息。
图8示出传输协议表。在CPU 101在图7所示的设立命令的“Data-FIS”中嵌入传输协议(例如“0x01”)时,参照该传输协议表800。此外,在子CPU 201根据接收到的“Data-FIS”确定与命令代码相对应的传输协议(“0x01”)时,参照该传输协议表800。传输协议表800包括“传输协议编号”列801、“协议代码”列802和“传输协议”列803。传输协议表800在主控制器100侧被保存在ROM 106内,并且在HDD 116侧被保存在子ROM 202内。
在传输协议表800的“传输协议编号”列801中,序列号0至n被描述为传输协议的管理编号。在“协议代码”列802中,通过对传输协议进行编码而获得的协议代码被描述并且当在“Data-FIS”中嵌入传输协议(例如,“0x01”)时被使用。在“传输协议”列803中,作为在传输命令时的协议的“PIO数据输入”、“PIO数据输出”、“非数据(Nondata)”等被描述。
图9A是示出作为主机的主控制器100向作为设备的HDD 116发送包括设立命令的“RegHD-FIS”的处理(先前描述的501)的流程的流程图。然后,图9B是示出作为设备的HDD116复制接收到的“RegHD-FIS”的处理(先前描述的处理502)的流程的流程图。
对设备侧上的图9A中的流程进行说明。首先,在步骤901,主控制器100的CPU 101将“RegHD-FIS”的必要信息(command区域601除外)写入到SATAI/F 104内的“影子TFR”。这里,“影子TFR”是影子/任务文件寄存器(shadow/task file register)的缩写。接下来,在步骤902,CPU 101将设立命令的命令代码(这里为“0xF0”)作为“RegHD-FIS”的command区域601的信息写入到上述影子TFR。然后,在步骤903,CPU 101将“RegHD-FIS”传输到HDD 116。
接下来,对设备侧上的图9B的流程进行说明。首先,在步骤911,HDD 116的子CPU201确定是否从主控制器100接收到了“RegHD-FIS”。在接收到了“RegHD-FIS”的情况下,处理前进到步骤912,并且在未接收到“RegHD-FIS”的情况下,继续监视“RegHD-FIS”的接收。然后,在步骤912,子CPU 201在SATAI/F 204内的设备TRF中复制从主控制器100接收到的“RegHD-FIS”的内容。这里,“设备TFR”是设备/任务文件寄存器(device/task fileregister)的缩写。
通过如上所述在HDD 116的设备TFR中复制的主控制器100的影子TFR的信息,产生下述状态,在该状态下,能够在主机侧的CPU 101与设备侧的子CPU 201之间共享任务文件寄存器的信息。
图10A是示出作为设备侧的HDD 116基于接收到的“RegHD-FIS”的信息向主控制器100通知PIO传输的准备的处理完成(先前描述的503)的流程的流程图。然后,图10B是示出响应于PIO传输的准备完成的通知,作为主机侧的主控制器100向HDD 116传输存储关于期望添加的命令的信息的“Data-FIS”的处理(先前描述的504和505)的流程的流程图。PIO是可编程输入/输出(Programmed Input/Output)的缩写。
对设备侧上的图10A的流程进行说明。首先,在步骤1001,HDD 116的子CPU 201通过使用设备命令表302对在设备TFR中所复制的信息中包括的命令代码(这里为“0xF0”)进行核查。由于此,子CPU 201识出可以通过根据“PIO数据输出”协议的流程来处理设立命令。在随后的步骤1002,子CPU 201进行PIO传输的准备。在PIO传输的准备完成时,子CPU 201将图6C所示的“PIOSU”的各个区域的信息写入到设备TFR。然后,子CPU 201通过使用“PIOSU”向主控制器100通知PIO传输的准备完成。
接下来,对主机侧上的图10B的流程进行说明。首先,在步骤1011,主控制器100的CPU 101确定是否从HDD 116接收到了“PIOSU”。在接收到了“PIOSU”的情况下,处理前进到步骤1012,并且在未接收到“PIOSU”的情况下,继续监视“PIOSU”的接收。然后,在步骤1012,CPU 101将“Data-FIS”的各个区域的信息写入到影子TFR。具体而言,将关于期望添加的命令的命令代码(这里为“0xC1”)以及附加命令的传输协议(这里为“0x01”)的信息写入到影子TFR。在该写入时,数据区域内的一个字节被用于附加命令以及附加命令的传输协议二者。此外,在写入该传输协议时,参照先前描述的传输协议表800,并且使用与附加命令代码对应的传输协议代码。由于此,产生下述状态,在该状态下,关于命令代码和传输协议的信息被存储在“Data-FIS”的Data区域602中。然后,在步骤1013,CPU 101将写入了必要信息的“Data-FIS”传输到HDD 116。
图11是示出作为设备侧的HDD 116基于接收到的“Data-FIS”向设备命令表登记附加命令并且向控制器100通知登记完成的处理(先前描述的506和507)的流程的流程图。
首先,在步骤1101,HDD 116内的子CPU 201确定是否从主控制器100接收到了“Data-FIS”。在接收到了“Data-FIS”的情况下,处理前进到步骤1102,并且在未接收到“Data-FIS”的情况下,继续监视“Data-FIS”的接收。
在步骤1102,子CPU 201在SATAI/F 204内的设备TFR中复制接收到的“Data-FIS”的数据区域的信息。然后,在步骤1103,子CPU 201从设备TFR读取并获取附加命令的命令代码(这里为“0xC1”)。
在上述之后,在步骤1104,子CPU 201将与所获取的命令代码相关的附加命令的传输协议(这里为“0x01”)写入到设备命令表302。具体而言,该过程如下。首先,子CPU 201从顶部依次参照设备命令表内的“命令代码”列401,并使写入指定指针(write specifyingpointer)停止在读取命令代码(“0xC1”)的位置处。接下来,子CPU 201将在设备TFR内复制的附加命令的传输协议(“0x01”)写入到命令代码的“传输协议”列402的部分。
然后,在步骤1105,子CPU 201通过使用“RegDH-FIS”向主控制器100通知对设备命令表302的附加命令的登记处理完成。
通过上述,根据本实施例中的设立命令的附加命令的设置处理完成。
图12A是示出在启动HDD 116时(在接通MFP 10的电源的操作时),将设备命令表302加载到可以以高速进行处理的RAM上的方式的图。在HDD 116的电源处于断开状态的情况下,设备命令表302被保存在子ROM 202中。响应于接通HDD 116的电源的操作,通过子CPU201从子ROM 202读取设备命令表302(箭头1201)并将设备命令表302加载到子RAM 203上(箭头1202)。另一方面,图12B是示出设备命令表302被保存在也是可写的子ROM 202中的方式的图,使得即使在HDD 116暂停时(在断开MFP 10的电源的操作时)切断供电的情况下,信息也被保持。如前所述,在HDD 116的操作期间进行向设备命令表302添加供应商专有命令。因此,在进行断开HDD 116的电源的操作的情况下,子CPU 201进行将设备命令表302保存在子ROM 202中的操作。由于此,对于供应商专有命令,在其使用时,不再需要通过再次从主控制器100向HDD 116发送设立命令来进行设置。响应于断开HDD 116的电源的操作,子CPU201从子RAM 203读取设备命令表302(箭头1211),并且通过重写来将设备命令表302保存在子ROM 202中(箭头1212)。
如上所述,通过将存储有关于附加命令的信息(命令代码和传输协议)的设立命令从主控制器100传输到HDD 116,使得可以进行附加命令的设置。由于此,使得可以使用命令代码和传输协议彼此不相关联并且因此到目前为止不能使用的命令。
例如,首先,没有传输协议与某个供应商专有命令相关联,并且维持不能使用供应商专有命令的状态。然后,在发生错误的情况下,通过使用设立命令,传输协议与供应商专有命令相关联。通过这样做,使得可以使用供应商专有命令,并且还使得可以由作为主机的主控制器100获得(take up)HDD 116内的信息。以这种方式,通常,维持不能使用特定供应商专有命令的状态(隐藏命令),并且可以根据需要使用该隐藏命令。
(第二实施例)
在第一实施例中,该构造使得作为主机的主控制器和作为设备的HDD以一对一的方式直接连接。接下来,下述方面被作为第二实施例进行说明,其中,供应商专有命令被添加到处于如下构造(SATA-SATA桥接构造)的桥接芯片,在该构造中,桥接芯片夹在作为主机的主控制器与作为设备的HDD之间。在本实施例的构造中使用的桥接芯片具有将从主机侧传输的命令传输到设备侧的功能。在这种情况下,除非桥接芯片了解供应商专有命令的传输协议,否则不能够将从主机侧传输的供应商专有命令传输到设备侧,并且因此,作为结果,桥接芯片返回错误。
因此,在本实施例中,通过向桥接芯片发送设立命令来产生可以使用供应商专有命令的状态,并且由此,使得桥接芯片能够将供应商专有命令传输到设备侧。与第一实施例的内容相同的内容被省略或简化,并且在下文中主要说明不同点。
图13是示出根据本实施例,经由桥接芯片的命令传输的概要的图。如第一实施例中所述,各个命令表被保持在主机和设备的成对关系中。因此,桥接芯片1300具有如图13所示的两个命令表。也就是说,桥接芯片1300具有对应于主控制器100的主机命令表301的设备命令表A1301和对应于HDD 116’的设备命令表302’的主机命令表B 1302。在本实施例中,从主控制器100向桥接芯片1300发送设立命令1310,并且向桥接芯片1300内的设备命令表A1301和主机命令表B 1302添加命令。然后,通过这种命令的添加,使得主控制器100可以将新的供应商专有命令传输到HDD 116’。在本实施例中,假设在主控制器100与HDD 116’之间共享与要添加的命令相关的信息。
图14是示出桥接芯片1300的内部构造的框图。子CPU 1401是进行SATA标准的命令的处理(诸如向HDD 116’发送命令)的处理器。子ROM 1402是存储子CPU 1401的启动程序和各种模式的设置值的数据的只读存储器。子RAM 1403是用作子CPU 1401的工作区域和命令表的加载区域的可读/可写存储器。SATA-I/F(设备)1404是向主控制器100输入命令和数据并且从主控制器100输出命令和数据的接口。SATA-I/F(主机)1405是将命令和数据输入到HDD 116’并且从HDD 116’输出命令和数据的接口。然后,子CPU 1401、子ROM 1402、子RAM1403、SATA-I/F(设备)1404和SATA-I/F(主机)1405经由总线1406彼此连接。与第一实施例不同,本实施例的HDD 116’不具有诸如子CPU、子ROM和子RAM等的构造,并且HDD 116’包括先前描述的图2所示的构造的SATA-I/F 204、HDC 205、头206和磁盘207。
图15是本实施例的流程图,其对应于第一实施例的图11。也就是说,图15是示出基于从主控制器100接收到的“Data-FIS”,通过桥接芯片1300将附加命令登记到设备命令表A1301和主机命令表B 1302,直到通知登记完成的流程的流程图。设备命令表A1301和主机命令表B 1302被保存在子ROM 1402中,并且通过在启动桥接芯片1300时被加载到子RAM1403上而被使用。
关于直到该流程开始的过程,将在先前描述的第一实施例中给出的说明中的“HDD116”读取为“桥接芯片1300”是足够的。也就是说,首先,主控制器100对设立命令1310的“RegHD-FIS”进行设置,并将“RegHD-FIS”传输到桥接芯片1300(对应于先前描述的图9A中的流程)。接收到“RegHD-FIS”的桥接芯片1300进行PIO传输的准备,并通过“PIOSU”向主控制器100通知PIO传输的准备完成(对应于先前描述的图9B和图10A中的流程)。然后,在从主控制器100接收到写入了附加命令及其传输协议的“Data-FIS”时(对应于先前描述的图10B的流程),桥接芯片1300进行以下各个步骤。
首先,在步骤1501,桥接芯片1300内的子CPU 1401确定是否从主控制器100接收到了“Data-FIS”。在接收到了“Data-FIS”的情况下,处理前进到步骤1502,并且在尚未接收到“Data-FIS”的情况下,继续监视“Data-FIS”的接收。
在步骤1502,子CPU 1401在SATA-I/F 1404内的设备TFR中复制接收到的“Data-FIS”的数据区域的信息。然后,在步骤1503,子CPU 1401从设备TFR读取并获取附加命令的命令代码。
在上述之后,在步骤1504中,子CPU 1401将与获取的命令代码相关的附加命令的传输协议写入到设备命令表A1301和主机命令表B1302。具体而言,该过程如下。首先,子CPU1401从顶部依次参照设备命令表A1301内的“命令代码”列401,并使写入指定指针(writespecifying pointer)停止在读取命令代码的位置处。接下来,子CPU 1401将在设备TFR内复制的附加命令的传输协议写入到命令代码的“传输协议”列402的部分。此外,子CPU 1401类似地从顶部依次参照主机命令表B 1302内的“命令代码”列401,并将附加命令的传输协议写入到读取命令代码的“传输协议”列402的部分。
然后,在步骤1505,子CPU 1401通过使用“RegDH-FIS”向主控制器100通知对两个命令表的附加命令的登记处理完成。
通过上述,根据设立命令1310对桥接芯片中的附加命令的设置处理完成。由于此,例如,可以灵活地处理由于改变连接在桥接芯片之前的诸如HDD等的存储设备而改变要使用的供应商专有命令的情况。也就是说,与主机不同,在不具有足够的构造来添加命令的桥接芯片中,使得能够容易地添加供应商专有命令。
根据本实施例,在SATA-SATA桥接构造中,如第一实施例那样,可以向桥接芯片添加供应商专有命令。
(第三实施例)
接下来,下述方面被作为第三实施例进行说明,其中,在与第二实施例相同的SATA-SATA桥接构造中,通过来自主机侧的设立命令,命令也被添加到作为设备的HDD。与第二实施例的内容相同的内容被省略或简化,并且在下文中主要说明不同点。
图16是示出根据本实施例,经由桥接芯片的命令传输的概要的图。在SATA-SATA桥接构造中,主控制器100、桥接芯片1300和HDD 116被连接,并且桥接芯片1300具有设备命令表A1301和主机命令表B 1302。然而,本实施例的HDD 116的构造与第一实施例的HDD 116的构造相同。也就是说,如先前所述的图2所示,子CPU 201、子ROM 202、子RAM 203、SATA-I/F204和HDC 205经由总线208彼此连接,并且进一步包括头206和磁盘207。
在本实施例中,在从作为主机的主控制器100发送的设立命令1610中,除了期望添加的命令的命令代码和传输协议之外,还包括指定附加命令的设置目的地的设置目的地代码,图17示出指定可以在本实施例中使用的设置目的地代码的代码表。代码表1700包括“设置目的地代码”列1701和“设置目的地信息”列1702。在“设置目的地代码”列1701中,描述关于表示附加命令的设置目的地的代码的信息,并且各个设置目的地代码由2位数据管理。具体而言,2位数据将设置目的地被分别设置为桥接芯片1300和HDD 116的情况表示为“1”,并且将设置目的地未被设置的情况表示为“0”。在“设置目的地信息”列1702中,描述作为设置目的地的硬件的名称。通过这样的设置目的地代码,可以在仅向桥接芯片1300和HDD 116中的一者添加命令与向桥接芯片1300和HDD 116二者添加命令之间任意地作出选择。
图18是示出根据本实施例的设立命令1610的“RegHD-FIS”和“Data-FIS”的内部构造的示例的图。这里,通过将下述情况作为示例来给出说明,在该情况中,如在第一实施例中那样,通过使用“PIO数据输出”作为传输协议来新添加供应商专有命令。“RegHD-FIS”与第一实施例相同,并且因此省略说明。对于图18所示的“Data-FIS”,除了期望添加的命令的命令代码“0xC1”和传输协议“0x01”之外,还写入设置目的地代码“0b11”,“0b01”和“0b10”中的一个,其表示该设立命令1610对哪个硬件进行附加命令的设置。这里,设置目的地代码的“0b”表示代码是二进制数。主控制器100的CPU 101根据上述代码表1700来确定写入对象设置目的地代码。例如,在期望向桥接芯片1300和HDD 116’二者添加供应商专有命令的情况下,设置目的地代码是图18所示的“0b11”。
图19是根据本实施例的流程图,该流程图对应于第二实施例的图15。也就是说,图19是示出下述流程的流程图,该流程从通过桥接芯片1300将附加命令登记到通过从主控制器100接收到的“Data-FIS”内的设置目的地代码所指定的目的地的命令表,直到向主控制器100通知登记完成。直到该流程的开始的过程与第二实施例的过程相同。也就是说,首先,主控制器100对设立命令1610的“RegHD-FIS”进行设置,并将“RegHD-FIS”传输到桥接芯片1300。接收到“RegHD-FIS”的桥接芯片1300进行PIO传输的准备,并通过“PIOSU”向主控制器100通知PIO传输的准备完成。然后,在从主控制器100接收到写入了附加命令及其传输协议的“Data-FIS”时,桥接芯片1300进行以下各个步骤。
首先,在步骤1901,桥接芯片1300内的子CPU 1401确定是否从主控制器100接收到了“Data-FIS”。在接收到了“Data-FIS”的情况下,处理前进到步骤1902,并且在尚未接收到“Data-FIS”的情况下,继续监视“Data-FIS”的接收。
在步骤1902,子CPU 1401在SATA-I/F 1404内的设备TFR中复制接收到的“Data-FIS”的数据区域的信息。然后,在步骤1903,子CPU 1401从设备TFR读取并获取上述设置目的地代码。
在步骤1904,子CPU 1401确定所获取的设置目的地代码的高位(high-order bit)的值是否为“1”。在高位的值为“1”的情况下,为了对桥接芯片1300内的命令表进行附加命令的设置,处理前进到步骤1905。另一方面,在高位的值为“0”的情况下,不需要对桥接芯片1300内的命令表进行附加命令的设置,并且因此,处理前进到步骤1907。
在步骤1905,子CPU 1401从设备TFR读取并获取附加命令的命令代码。然后,在步骤1906,子CPU 1401将与获取的命令代码相关的附加命令的传输协议写入到设备命令表A1301和主机命令表B 1302。具体而言,该过程如下。首先,子CPU 1401从顶部依次参照设备命令表A1301内的“命令代码”列1401,并使写入指定指针(write specifying pointer)停止在读取命令代码的位置处。接下来,子CPU 1401将在设备TFR内复制的附加命令的传输协议写入到命令代码的“传输协议”列402的部分。此外,子CPU 1401类似地从顶部依次参照主机命令表B 1302内的“命令代码”列401,并将附加命令的传输协议写入到读取命令代码的“传输协议”列402的部分。
在步骤1907,子CPU 1401确定在步骤1905获取的设置目的地代码的低位的值是否为“1”。在低位的值为“1”的情况下,为了对HDD 116内的命令表进行附加命令的设置,处理前进到步骤1908。另一方面,在低位的值为“0”的情况下,不需要对HDD 116内的命令表进行附加命令的设置,并且因此,处理前进到步骤1909。
在步骤1908,桥接芯片1300用作主机。具体而言,子CPU 1401进行一系列处理以将设立命令1610传输到HDD 116,并且以在子CPU 1401与HDD 116之间添加供应商专有命令。该一系列处理如第一实施例中所述那样,并且因此,这里省略说明。
然后,在步骤1909,子CPU 1401通过使用“RegDH-FIS”向主控制器100通知完成了桥接芯片1300中的所有处理。
通过上述,本实施例中的根据设立命令1610对附加命令的设置处理完成。由于此,例如,使得也可以经由桥接芯片1300从主控制器100向HDD 116传输供应商专有命令,并且还使得可以将新的供应商专有命令设置到HDD 116。
根据本实施例,在SATA-SATA桥接构造中,使得可以通过设立命令在单独的桥接芯片、桥接芯片之前的单独的设备以及桥接芯片和设备二者之间任意地作出选择来作为附加命令的设置目的地。
(其他实施例)
本发明的实施例还可以通过读出并执行记录在存储介质(也可以更完全地被称为“非暂时的计算机可读存储介质”)上的计算机可执行指令(例如,一个或多个程序)以执行一个或多个上述实施例的功能并且/或者包括用于执行一个或多个上述实施例的功能的一个或多个电路(例如,专用集成电路(ASIC))的***或装置的计算机来实现,并且通过由***或装置的计算机执行的方法来实现,通过例如从存储介质读出并执行计算机可读指令以执行一个或多个上述实施例的功能并且/或者控制一个或多个电路以执行一个或多个上述实施例的功能。该计算机可以包括一个或多个处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括独立的计算机或独立的处理器的网络来读出并执行计算机可执行指令。该计算机可执行指令可以从例如网络或存储介质提供给计算机。该存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算***的存储、光盘(诸如压缩盘(CD)、数字通用盘(DVD)或蓝光盘(BD)(注册商标))、闪存设备、存储卡等中的一个或更多个。
其它实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给***或装置,该***或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
根据本发明,在基于SATA标准的通信控制中,在之后必需添加供应商专有命令的情况下,即使设备侧不具备用于更新的专用引脚,也可以添加供应商专有命令。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同结构和功能。
Claims (13)
1.一种信息处理***,所述信息处理***遵照SATA标准在主机与设备之间进行数据通信,其中,
所述主机向所述设备发送写入了关于未定义命令的信息的设立命令,并且
所述设备:
具有符合SATA标准的命令的命令表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息;并且
通过根据接收到的设立命令将关于所述未定义命令的信息写入到所述命令表,使所述未定义命令在所述主机与所述设备之间可用。
2.根据权利要求1所述的信息处理***,其中,
所述主机通过使用传输协议表来发送所述设立命令,所述未定义命令的命令代码和所述未定义命令的传输协议被作为关于所述未定义命令的信息而写入到所述设立命令,在所述传输协议表中描述通过对各个传输协议进行编码而获得的协议代码。
3.根据权利要求2所述的信息处理***,其中,
所述设立命令包括RegHD-FIS和Data-FIS,并且
所述主机向所述设备发送写入了所述设立命令的命令代码的RegHD-FIS,并且响应于来自接收到RegHD-FIS的设备的PIO传输的准备完成的通知,所述主机向所述设备发送写入了所述未定义命令的命令代码和所述未定义命令的传输协议的Data-FIS。
4.根据权利要求3所述的信息处理***,其中,
所述设备:
在通过将从所述主机接收的RegHD-FIS中所包括的所述设立命令的命令代码与所述命令表进行核查来识出所述设立命令的传输协议之后,进行PIO传输的准备;
将从所述主机接收的Data-FIS中所包括的所述未定义命令的命令代码和所述未定义命令的传输协议写入到所述命令表;并且
通过使用RegDH-FIS来向所述主机通知向所述命令表的写入完成。
5.根据权利要求1所述的信息处理***,其中,
所述信息处理***是具有作为主机的控制器和作为设备的大容量存储设备的信息处理装置,
所述大容量存储设备具有基于SATA标准进行包括命令的处理的控制的处理器、存储用以启动所述大容量存储设备的控制程序的可写ROM以及用作所述处理器的工作区域的RAM;并且
所述大容量存储设备的处理器:
响应于断开所述信息处理装置的电源的操作,将所述命令表保存在所述大容量存储设备的ROM中;并且
响应于接通所述信息处理装置的电源的操作,通过读取保存在ROM中的所述命令表并将所述命令表加载到RAM上来使得能够写入。
6.一种信息处理***,所述信息处理***包括桥接构造,在所述桥接构造中,桥接芯片连接到主机并且设备连接到所述桥接芯片,并且所述信息处理***遵照SATA标准在所述主机与所述设备之间进行数据通信,其中,
所述主机向所述桥接芯片发送写入了关于未定义命令的信息的设立命令;并且
所述桥接芯片:
具有符合SATA标准的命令的命令表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息;并且
通过根据接收到的设立命令将关于所述未定义命令的信息写入到所述命令表,使所述未定义命令在所述主机、所述桥接芯片与所述设备之间可用。
7.根据权利要求6所述的信息处理***,其中,
所述主机通过使用传输协议表来发送所述设立命令,所述未定义命令的命令代码和所述未定义命令的传输协议作为关于所述未定义命令的信息被写入到所述设立命令,在所述传输协议表中描述通过对各个传输协议进行编码而获得的协议代码。
8.根据权利要求7所述的信息处理***,其中,
所述设立命令包括RegHD-FIS和Data-FIS,并且
所述主机向所述桥接芯片发送写入了所述设立命令的命令代码的RegHD-FIS,并且响应于来自接收到RegHD-FIS的所述桥接芯片的PIO传输的准备完成的通知,所述主机向所述桥接芯片发送写入了所述未定义命令的命令代码和所述未定义命令的传输协议的Data-FIS。
9.根据权利要求8所述的信息处理***,其中,
所述桥接芯片:
在通过将从所述主机接收的RegHD-FIS中所包括的所述设立命令的命令代码与所述命令表进行核查来识出所述设立命令的传输协议之后,进行PIO传输的准备;
将从所述主机接收的Data-FIS中所包括的所述未定义命令的命令代码和所述未定义命令的传输协议写入到所述命令表;并且
通过使用RegDH-FIS来向所述主机通知向所述命令表的写入完成。
10.一种信息处理***,所述信息处理***包括桥接构造,在所述桥接构造中,桥接芯片连接到主机并且设备连接到所述桥接芯片,并且所述信息处理***遵照SATA标准在所述主机与所述设备之间进行数据通信,其中,
所述主机向所述桥接芯片发送写入了关于未定义命令的信息和用以指定所述未定义命令的设置目的地的设置目的地代码的设立命令,
所述桥接芯片根据所述设置目的地代码将从所述主机接收的所述设立命令发送到所述设备,并且
所述桥接芯片和所述设备:
具有符合SATA标准的命令的命令表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息;并且
通过根据接收到的设立命令将关于所述未定义命令的信息写入到所述命令表,使所述未定义命令在所述主机与所述设备之间可用。
11.根据权利要求10所述的信息处理***,其中,
在从所述主机接收的所述设立命令中所包括的设置目的地代码中,所述设备未被指定为所述未定义命令的设置目的地的情况下,所述桥接芯片不向所述设备发送接收到的设立命令。
12.一种使SATA标准中的未定义命令在信息处理***中的主机与设备之间可用的方法,所述信息处理***遵照SATA标准在所述主机与所述设备之间进行数据通信,所述方法包括:
通过所述主机向所述设备发送写入了关于未定义命令的信息的设立命令的步骤;以及
通过所述设备根据接收到的设立命令来将关于所述未定义命令的信息写入到命令表的步骤,其中,
所述命令表是符合SATA标准的命令的表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息。
13.一种非暂时性计算机可读存储介质,其存储用于使计算机执行使SATA标准中的未定义命令在信息处理***中的主机与设备之间可用的方法的程序,所述信息处理***遵照SATA标准在所述主机与所述设备之间进行数据通信,所述方法包括:
通过所述主机向所述设备发送写入了关于未定义命令的信息的设立命令的步骤;以及
通过所述设备根据接收到的设立命令来将关于所述未定义命令的信息写入到命令表的步骤,其中,
所述命令表是符合SATA标准的命令的表,在所述命令表中描述用以识别各个命令的命令代码和关于各个命令的传输协议的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-152132 | 2016-08-02 | ||
JP2016152132A JP6752651B2 (ja) | 2016-08-02 | 2016-08-02 | 情報処理システム、情報処理システムにおける方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107678681A true CN107678681A (zh) | 2018-02-09 |
CN107678681B CN107678681B (zh) | 2021-06-29 |
Family
ID=61071851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710638849.5A Active CN107678681B (zh) | 2016-08-02 | 2017-07-31 | 信息处理***、信息处理***中的方法以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10168958B2 (zh) |
JP (1) | JP6752651B2 (zh) |
CN (1) | CN107678681B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732592A (zh) * | 2019-10-28 | 2021-04-30 | 爱思开海力士有限公司 | 存储器设备及其操作方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1403921A (zh) * | 2002-09-26 | 2003-03-19 | 深圳市朗科科技有限公司 | 数据交换及存储方法与装置 |
CN101169704A (zh) * | 2006-10-27 | 2008-04-30 | 国际商业机器公司 | 与主机和具有存储介质的存储驱动进行通信的***和方法 |
CN101359314A (zh) * | 2007-07-30 | 2009-02-04 | 辉达公司 | 通过将所检索的数据直接写入存储器的存储控制器来最佳使用缓冲器空间 |
CN101655773A (zh) * | 2008-08-18 | 2010-02-24 | 中兴通讯股份有限公司 | 磁盘阵列小型计算机***接口目标器装置及数据传输方法 |
US20150074293A1 (en) * | 2013-09-10 | 2015-03-12 | Kabushiki Kaisha Toshiba | Information processing system, storage device and controlling method of storage device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5361346A (en) * | 1992-01-15 | 1994-11-01 | Santa Monica Pioneer Research Inc. | Portable tester (qualifier) for evaluating and testing SCSI interface magnetic disc drives in accordance with ANSI SCSI-A and SCSI-2 definitions |
JPH06152916A (ja) * | 1992-11-13 | 1994-05-31 | Fuji Xerox Co Ltd | ユニークコマンドの制御装置 |
US7315914B1 (en) * | 2000-06-30 | 2008-01-01 | Emc Corporation | Systems and methods for managing virtualized logical units using vendor specific storage array commands |
US6601119B1 (en) * | 2001-12-12 | 2003-07-29 | Lsi Logic Corporation | Method and apparatus for varying target behavior in a SCSI environment |
US6907475B2 (en) * | 2003-03-25 | 2005-06-14 | Matsushita Electric Industrial Co., Ltd. | Alternative implementation of vendor unique commands |
US7555554B2 (en) * | 2004-08-06 | 2009-06-30 | Microsoft Corporation | System and method for generating selectable extension to media transport protocol |
JP4679943B2 (ja) * | 2005-03-23 | 2011-05-11 | ヒタチグローバルストレージテクノロジーズネザーランドビーブイ | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 |
KR20080010492A (ko) * | 2006-07-27 | 2008-01-31 | 삼성전자주식회사 | 벤더 유니크 명령 수행방법 및 그 장치 |
KR100801014B1 (ko) * | 2006-08-21 | 2008-02-04 | 삼성전자주식회사 | Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체 |
US8001304B2 (en) * | 2008-02-15 | 2011-08-16 | Sandisk Technologies Inc. | Portable memory device with multiple I/O interfaces wherein each I/O interface has respective protocol and device parameters are requested from one I/O interface using only respective protocol |
US8583835B1 (en) * | 2008-08-06 | 2013-11-12 | Siliconsystems, Inc. | Command portal for executing non-standard storage subsystem commands |
US8375151B1 (en) * | 2009-02-12 | 2013-02-12 | Siliconsystems, Inc. | Command portal for securely communicating and executing non-standard storage subsystem commands |
WO2010150308A1 (en) * | 2009-06-23 | 2010-12-29 | Hitachi, Ltd. | Storage apparatus and method for controlling storage apparatus |
JP2013069047A (ja) * | 2011-09-21 | 2013-04-18 | Toshiba Corp | メモリシステム |
CN104063345A (zh) * | 2013-03-21 | 2014-09-24 | 深圳市振华微电子有限公司 | 一种sata桥设备 |
US9213491B2 (en) * | 2014-03-31 | 2015-12-15 | Intel Corporation | Disabling a command associated with a memory device |
-
2016
- 2016-08-02 JP JP2016152132A patent/JP6752651B2/ja active Active
-
2017
- 2017-07-28 US US15/662,700 patent/US10168958B2/en active Active
- 2017-07-31 CN CN201710638849.5A patent/CN107678681B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1403921A (zh) * | 2002-09-26 | 2003-03-19 | 深圳市朗科科技有限公司 | 数据交换及存储方法与装置 |
CN101169704A (zh) * | 2006-10-27 | 2008-04-30 | 国际商业机器公司 | 与主机和具有存储介质的存储驱动进行通信的***和方法 |
CN101359314A (zh) * | 2007-07-30 | 2009-02-04 | 辉达公司 | 通过将所检索的数据直接写入存储器的存储控制器来最佳使用缓冲器空间 |
CN101655773A (zh) * | 2008-08-18 | 2010-02-24 | 中兴通讯股份有限公司 | 磁盘阵列小型计算机***接口目标器装置及数据传输方法 |
US20150074293A1 (en) * | 2013-09-10 | 2015-03-12 | Kabushiki Kaisha Toshiba | Information processing system, storage device and controlling method of storage device |
Non-Patent Citations (1)
Title |
---|
周双喜: "基于FPGA的高速独居记录***的研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732592A (zh) * | 2019-10-28 | 2021-04-30 | 爱思开海力士有限公司 | 存储器设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180040100A1 (en) | 2018-02-08 |
US10168958B2 (en) | 2019-01-01 |
CN107678681B (zh) | 2021-06-29 |
JP6752651B2 (ja) | 2020-09-09 |
JP2018022283A (ja) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8850149B2 (en) | Information processing apparatus, control method of the information processing apparatus and program | |
WO2018054261A1 (zh) | 存储介质、数据处理方法及采用该方法的盒芯片 | |
JP2011205295A (ja) | 情報処理装置、データ処理方法、プログラム | |
KR20060087397A (ko) | 이미지 메타데이터를 조정하기 위한 시스템 및 방법 | |
CN107678681A (zh) | 信息处理***、信息处理***中的方法以及存储介质 | |
JP5482946B1 (ja) | 画像出力システム及びプログラム | |
JP2007058786A (ja) | ブリッジ及びその制御方法 | |
JP2003266880A (ja) | 外部記憶装置内のデータを直接読み込んで印刷することができるプリンタ及びそのプリンタの動作方法 | |
CN106775956A (zh) | Xen虚拟机Fork机制建立方法 | |
JP2014191601A (ja) | ファームウェア更新方法及びファームウェアプログラム | |
JP2005327334A (ja) | 画像処理装置 | |
JP2008160418A (ja) | 画像処理装置、画像処理方法、画像処理プログラム並びに記憶媒体 | |
CN103635879A (zh) | 信息处理设备、信息处理方法及计算机程序 | |
JP2008023785A (ja) | 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体 | |
JP4449765B2 (ja) | 画像形成装置用管理装置、及び画像形成装置用管理システム | |
JP7087583B2 (ja) | 画像形成装置及びプログラム | |
JP7139815B2 (ja) | 情報処理装置 | |
JP4707335B2 (ja) | 記憶装置、画像形成装置及びファイルサーバ | |
JP6953927B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム及び操作装置 | |
JP5834666B2 (ja) | 記憶装置および装置 | |
US20190387116A1 (en) | Image forming apparatus, image forming system, and method of controlling display | |
JP4640408B2 (ja) | プリンタ及びプリンタの動作方法 | |
CN117270895A (zh) | 补丁芯片的生成方法及装置、电子设备和存储介质 | |
JP2004013463A (ja) | メモリ書換装置、メモリ書換方法、情報処理装置、情報処理システム並びに記憶媒体 | |
CN114237674A (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 |