CN117396855A - 储存系统 - Google Patents
储存系统 Download PDFInfo
- Publication number
- CN117396855A CN117396855A CN202180098859.9A CN202180098859A CN117396855A CN 117396855 A CN117396855 A CN 117396855A CN 202180098859 A CN202180098859 A CN 202180098859A CN 117396855 A CN117396855 A CN 117396855A
- Authority
- CN
- China
- Prior art keywords
- package
- tray
- semiconductor
- semiconductor package
- driver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000004065 semiconductor Substances 0.000 claims abstract description 905
- 230000015654 memory Effects 0.000 claims abstract description 105
- 238000004806 packaging method and process Methods 0.000 claims description 47
- 238000012546 transfer Methods 0.000 claims description 47
- 239000002184 metal Substances 0.000 claims description 30
- 239000000758 substrate Substances 0.000 claims description 15
- 238000007599 discharging Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 23
- 239000000872 buffer Substances 0.000 description 76
- 238000010586 diagram Methods 0.000 description 44
- 238000000034 method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 21
- 230000008859 change Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000007423 decrease Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000000465 moulding Methods 0.000 description 3
- 239000011347 resin Substances 0.000 description 3
- 229920005989 resin Polymers 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
- Warehouses Or Storage Devices (AREA)
- Vehicle Body Suspensions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Valve Device For Special Equipments (AREA)
Abstract
本发明提供对处理大量的数据有用的储存系统。封装仓储库能够保管分别包含一个以上的非易失性存储器晶粒的多个半导体封装。驱动器包含构成为以能够装卸的方式安装半导体封装的至少一个插座、以及对被安装于插座的半导体封装的一个以上的非易失性存储器晶粒进行控制的控制器。主机装置与驱动器以能够通信的方式连接,构成为经由控制器来执行对于半导体封装的一个以上的非易失性存储器晶粒的数据的读出以及写入。在第一半导体封装未被安装于驱动器的插座的情况下,主机装置使封装搬运装置将第一半导体封装搬运并安装到驱动器的插座。
Description
技术领域
本发明的实施方式涉及对非易失性存储器(memory)进行控制的技术。
背景技术
近年来,具备非易失性存储器的储存设备(storage device)广泛普及。作为这样的储存设备之一,已知有一种具备NAND型闪存的固态驱动器(SSD,Solid State Drive)。
SSD用作各种计算机的储存装置(storage)。最近,在数据中心中也将SSD用作储存装置。
数据中心需要高速地进行大量的数据的读出以及写入。
因此,要求实现对处理大量的数据有用的新的储存系统。
现有技术文献
专利文献
专利文献1:美国专利申请公开第2019/0387291号说明书
专利文献2:美国专利第10467163号说明书
专利文献3:日本特开2016-81332号公报
专利文献4:日本特表2005-517236号公报
发明内容
发明要解决的课题
本发明的一实施方式所要解决的课题是提供对处理大量的数据有用的储存系统。
用于解决课题的手段
根据实施方式,储存系统具备封装仓储库(package stocker)、驱动器、主机装置和封装搬运装置。封装仓储库能够保管分别包含一个以上的非易失性存储器晶粒(die)的多个半导体封装。驱动器包含构成为以能够装卸的方式安装所述半导体封装的至少一个插座、以及对被安装于所述插座的所述半导体封装的所述一个以上的非易失性存储器晶粒进行控制的控制器。主机装置以能够通信的方式与所述驱动器连接,构成为经由所述控制器来执行对于所述半导体封装的所述一个以上的非易失性存储器晶粒的数据的读出以及写入。封装搬运装置构成为在所述封装仓储库与所述驱动器之间搬运所述半导体封装。主机装置在所述多个半导体封装中决定包含作为访问对象的第一非易失性存储器晶粒的第一半导体封装。主机装置在所述第一半导体封装被安装于所述驱动器的所述插座的情况下,经由所述控制器来执行对于所述第一非易失性存储器晶粒的数据的读出或者写入。主机装置在所述第一半导体封装未被安装于所述驱动器的所述插座的情况下,使所述封装搬运装置将所述第一半导体封装搬运并安装到所述驱动器的所述插座。
附图说明
图1是表示第一实施方式的储存系统的构成例的框图。
图2是表示第一实施方式的储存系统所含的封装仓储库、封装搬运装置、驱动器以及主机装置的配置例的侧视图。
图3是表示第一实施方式的储存系统所含的封装仓储库、封装搬运装置、驱动器以及主机装置的配置例的俯视图。
图4是表示第一实施方式的储存系统中使用的半导体封装的构成例的图。
图5是表示第一实施方式的储存系统中使用的半导体封装的表(正)面、背面、侧面各自形状的图。
图6是表示第一实施方式的储存系统的封装仓储库所含的多对导轨的立体图。
图7是表示第一实施方式的储存系统所含的主机装置的构成例的框图。
图8是表示第一实施方式的储存系统所含的封装仓储库的封装出入口的图。
图9是表示对第一实施方式的储存系统所含的封装仓储库追加新的半导体封装的动作的图。
图10是用于对第一实施方式的储存系统中执行的变更半导体封装的位置的动作进行说明的图。
图11是用于对第一实施方式的储存系统中执行的变更半导体封装的位置的动作进行说明的另一图。
图12是用于对第一实施方式的储存系统中执行的变更半导体封装的位置的另一动作进行说明的图。
图13是用于对第一实施方式的储存系统中执行的变更半导体封装的位置的又一动作进行说明的图。
图14是用于对第一实施方式的储存系统中执行的变更半导体封装的位置的又一动作进行说明的图。
图15是用于对第一实施方式的储存系统中执行的变更半导体封装的位置的又一动作进行说明的图。
图16是表示由第一实施方式的储存系统所含的主机装置执行的数据的读出或者写入处理的顺序的流程图。
图17是表示由第一实施方式的储存系统所含的主机装置执行的数据的读出或者写入处理的顺序的详细情况的流程图。
图18A是表示由第一实施方式的储存系统所含的主机装置执行的数据的读出或者写入处理的另一顺序的一部分的流程图。
图18B是表示由第一实施方式的储存系统所含的主机装置执行的数据的读出或者写入处理的另一顺序的后续部分的流程图。
图19是表示第二实施方式的储存系统的构成例的框图。
图20是表示第二实施方式的储存系统中使用的托盘的构成例的立体图。
图21是图20所示的托盘的剖面图。
图22是表示第二实施方式的储存系统中使用的另一托盘的构成例的立体图。
图23是图22所示的托盘的剖面图。
图24是表示图22所示的托盘的上表面以及下表面的形状的俯视图。
图25是图22所示的托盘的侧视图。
图26是表示第二实施方式的储存系统所含的封装仓储库的导轨构造的立体图。
图27是表示第二实施方式的储存系统所含的封装仓储库的导轨构造的其他例子的立体图。
图28是表示第二实施方式的储存系统所含的主机装置的构成例的框图。
图29是表示第二实施方式的储存系统所含的封装仓储库的托盘出入口的图。
图30是表示对第二实施方式的储存系统所含的封装仓储库追加新的托盘的动作的图。
图31是对第二实施方式的储存系统所含的驱动器与托盘的对位进行说明的图。
图32是对第二实施方式的储存系统所含的驱动器与托盘的对位进行说明的另一图。
图33是用于对第二实施方式的储存系统中执行的变更托盘的位置的动作进行说明的图。
图34是用于对第二实施方式的储存系统中执行的变更托盘的位置的动作进行说明的另一图。
图35是用于对第二实施方式的储存系统中执行的变更托盘的位置的另一动作进行说明的图。
图36是用于对第二实施方式的储存系统中执行的变更托盘的位置的又一动作进行说明的图。
图37是用于对第二实施方式的储存系统中执行的变更托盘的位置的又一动作进行说明的图。
图38是用于对第二实施方式的储存系统中执行的变更托盘的位置的又一动作进行说明的图。
图39是表示由第二实施方式的储存系统所含的主机装置执行的对于非易失性存储器晶粒的数据的读出或者写入处理的顺序的流程图。
图40是表示由第二实施方式的储存系统所含的主机装置执行的对于非易失性存储器晶粒的数据的读出或者写入处理的顺序的详细情况的流程图。
图41A是表示由第二实施方式的储存系统所含的主机装置执行的对于非易失性存储器晶粒的数据的读出或者写入处理的另一顺序的一部分的流程图。
图41B是表示由第二实施方式的储存系统所含的主机装置执行的对于非易失性存储器晶粒的数据的读出或者写入处理的另一顺序的后续部分的流程图。
具体实施方式
以下,参照附图对实施方式进行说明。
(第一实施方式)
首先,对第一实施方式的储存系统的构成进行说明。图1是表示第一实施方式的储存系统1的构成例的图。储存系统1能够用于数据中心。
储存系统1包含储存装置读写(R/W)装置2、封装搬运装置3和封装仓储库4。
储存装置R/W装置2包含主机单元21和驱动器22。在图1中,例示出储存装置R/W装置2中包含两个主机单元21a、21b和两个驱动器22a、22b的情况。然而,储存装置R/W装置2所含的主机单元21和驱动器22各自的数量可以是一个,也可以是三个以上。
主机单元21是构成为执行对于非易失性存储器晶粒(die)的数据的读出以及写入的主机装置。主机单元21与所对应的驱动器22以能够通信的方式连接。与主机单元21对应的驱动器22例如能够按照PCI ExpressTM(PCIeTM)标准来进行通信。此外,主机单元21能够经由网络与数据中心内的管理服务器5通信。主机单元21与管理服务器5例如能够按照Ethernet(以太网络)标准来进行通信。
驱动器22包含至少一个插座和控制器。插座构成为以能够装卸的方式安装半导体封装41。控制器构成为对被安装于插座的半导体封装41所含的一个以上的非易失性存储器晶粒进行控制。
在图1所示的例子中,主机单元21a与驱动器22a以能够通信的方式连接。此外,主机单元21b与驱动器22b以能够通信的方式连接。
即,主机单元21a是构成为经由驱动器22a的控制器来执行对于被安装于驱动器22a的插座的半导体封装41的一个以上的非易失性存储器晶粒的数据的读出以及写入的主机装置。同样,主机单元21b是构成为经由驱动器22b的控制器来执行对于被安装于驱动器22b的插座的半导体封装41的一个以上的非易失性存储器晶粒的数据的读出以及写入的主机装置。
封装搬运装置3是在封装仓储库4与驱动器22之间搬运半导体封装41的装置。封装搬运装置3例如可以包含能够沿上下、左右移动的一个以上的搬运单元31。搬运单元31能够将在封装仓储库4内的多个保管位置中的任一个位置保管的半导体封装41搬运到储存装置R/W装置2内的任意的驱动器22,并安装于该驱动器22的插座。此外,搬运单元31能够从任意的驱动器22的插座取下半导体封装41,将所取下的半导体封装41搬运到封装仓储库4内的任意的保管位置。封装搬运装置3能够通过一个以上的搬运机器人来实现。
封装仓储库4能够保管多个半导体封装41。半导体封装41包含一个以上的非易失性存储器晶粒。一个以上的非易失性存储器晶粒分别例如是NAND型闪存。
接着,对储存系统1的基本的动作进行说明。主机单元21具有位置管理功能和搬运控制功能。位置管理功能是对多个半导体封装41各自存在的位置进行管理的功能。搬运控制功能是通过对封装搬运装置3进行控制来对半导体封装41的搬运进行控制的功能。
对多个半导体封装41各自赋予封装标识符(也被称作半导体封装识别名)。主机单元21能够对封装标识符与由该封装标识符识别的半导体封装41存在的位置之间的对应关系进行管理。
某半导体封装41可能存在的位置例如是驱动器22所含的一个以上的插座中的任一个插座或者封装仓储库4所含的多个封装保管位置中的任一个封装保管位置。
主机单元21在多个半导体封装41中决定包含作为访问对象的非易失性存储器晶粒的半导体封装41。主机单元21确定所决定的半导体封装41存在的位置,由此能够对所决定的半导体封装41是否被安装于驱动器22中的任一个插座进行判定。
在所决定的半导体封装41被安装于驱动器22中的任一个插座的情况下,主机单元21经由驱动器22的控制器来执行对于访问对象的非易失性存储器晶粒的数据的读出或者写入。
在所决定的半导体封装41未被安装于驱动器22中的任一个插座、并且被保管于封装仓储库4的情况下,主机单元21使封装搬运装置3将所决定的半导体封装41从封装仓储库4搬运并安装到驱动器22中的任一个插座。在这种情况下,主机单元21能够向封装搬运装置3发送以下那样的搬运请求。
该搬运请求例如将保管有所决定的半导体封装41的封装仓储库4内的位置(也被称作封装保管位置)指定为移动初始位置,并且将驱动器22中的任一个插座指定为移动目标位置。封装搬运装置3的搬运单元31将存在于被指定的移动初始位置的半导体封装41搬运到被指定的移动目标位置。然后,搬运单元31将该半导体封装41安装于移动目标位置的插座。
一般来说,在固态驱动器(SSD)那样的储存设备中,半导体封装通过焊接被固定地安装于设置于储存设备的基板上。
与此相对,在本实施方式的储存系统1中,多个半导体封装41各自从驱动器22分离,各个半导体封装41本身可用作以能够装卸的方式被安装于驱动器22的插座的可移除储存介质。
一般来说,SSD或者硬盘驱动器(HDD)这样的驱动器内置储存介质和控制器。因此,各个驱动器的体积较大。由此,在采用将分别内置有储存介质和控制器的多个驱动器选择性地与主机单元21连接这样的构成的情况下,会导致储存系统整体的大型化以及成本上升。
也可以考虑将光盘介质或者磁带用作不包含控制器的储存介质的储存系统的构成。但是,在对于光盘介质或者磁带的数据的读出以及写入动作中,需要使光学头或者磁头物理意义地移动。因此,在将光盘介质或者磁带用作储存介质的储存系统的构成中,与进行对于非易失性存储器晶粒的数据的读出以及写入的构成相比,直到能够执行读出以及写入处理为止的延时增加并且I/O产能降低。
在储存系统1中,半导体封装41与驱动器22分离。因此,能够仅将半导体封装41作为储存介质保管于封装仓储库4。由此,能够减少保管多个储存介质所需的空间。
进而,包含访问对象的非易失性存储器晶粒的半导体封装41通过封装搬运装置3从封装仓储库4搬运到驱动器22内的插座,并安装于该插座。被安装于插座的半导体封装41与驱动器22内的控制器电连接。因此,与将光盘介质或者磁带用作储存介质的构成相比,无需使光学头或者磁头物理意义地移动,因此能够以低延时而高速地执行对于访问对象的非易失性存储器晶粒的数据读出以及数据写入。其结果,能够实现适合于数据中心所需的大量的数据的处理的储存系统1。
进而,主机单元21也能够具有对多个半导体封装41各自的优先级进行管理的功能。用于决定多个半导体封装41各自的优先级的算法并不限定于特定的算法,能够基于各种条件来决定多个半导体封装41各自的优先级。
例如,也可以基于对于某非易失性存储器晶粒的访问请求来决定包含该非易失性存储器晶粒的半导体封装41的优先级。还可以基于对于各半导体封装41的访问频率来决定各半导体封装41的优先级。还可以基于从对各半导体封装41的最终访问时刻起的经过时间来决定各半导体封装41的优先级。还可以基于表示对于各半导体封装41的访问处理的完成或者未完成的状态来决定各半导体封装41的优先级。还可以基于到对于各半导体封装41的访问处理完成为止的预估剩余时间来决定各半导体封装41的优先级。还可以基于在主机单元21中执行的应用程序来决定各半导体封装41的优先级。还可以基于对于各半导体封装41的访问请求发生的概率的预测结果来决定各半导体封装41的优先级。
或者,还可以通过组合使用访问请求、访问频率、从最终访问时刻起的经过时间、访问处理完成或者未完成、到访问处理完成为止的预估剩余时间、所执行的应用程序以及访问概率预测结果中的任意两个以上的条件来决定各半导体封装41的优先级。
主机单元21也能够基于多个半导体封装41各自的优先级来对多个半导体封装41各自存在的位置进行控制。例如,主机单元21能够基于多个半导体封装41各自的优先级来对多个半导体封装41各自存在的位置进行控制,以使得具有第一等级的优先级的半导体封装41被安装于驱动器22的插座、具有比第一等级的优先级低的第二等级的优先级的半导体封装41被保管于封装仓储库4。
另外,也可以将封装搬运装置3所含的几个搬运单元31用作用于暂时保持半导体封装41的缓冲器(buffer)。在这种情况下,具有比第一等级的优先级低的第二等级的优先级的半导体封装41被保持于封装搬运装置3所含的搬运单元31。然后,具有比第二等级的优先级低的第三等级的优先级的半导体封装41被保管于封装仓储库4。
保持有具有第二等级的优先级的半导体封装41的搬运单元31可以被移动至特定的退避位置,以使其不会成为由其他搬运单元31进行的搬运动作的阻碍。以后,保持保持有具有第二等级的优先级的半导体封装41的半导体封装41的搬运单元31也被称作“封装搬运装置3的缓冲器”或者“机器人的缓冲器”。封装搬运装置3所含的搬运单元31各自能够作为封装搬运装置3的缓冲器发挥功能。因此,封装搬运装置3的缓冲器的数量与封装搬运装置3所含的搬运单元31的数量相等。
此外,以后,将从驱动器22的插座取下的半导体封装41不保管于封装仓储库4而将其保持于封装搬运装置3(即搬运单元31)也被称作“将半导体封装41搬运到封装搬运装置3的缓冲器”。
接着,对封装仓储库4、封装搬运装置3、驱动器22以及主机单元21的配置例进行说明。图2是表示封装仓储库4、封装搬运装置3、驱动器22以及主机单元21的配置例的侧视图。图3是表示封装仓储库4、封装搬运装置3、驱动器22以及主机单元21的配置例的俯视图。
在图2以及图3中,例示出在配置于数据中心的服务器机架11配置了封装仓储库4、封装搬运装置3、驱动器22以及主机单元21的构成。
在以下的本实施方式的说明中,分别定义X轴、Y轴以及Z轴。X轴、Y轴与Z轴相互正交。由X轴、Y轴规定的X-Y平面例如相当于数据中心的地板(floor)。Z轴例如相当于数据中心的高度方向。
服务器机架11是用于收容计算机以及通信装置的机架。服务器机架11的尺寸以及形状例如由美国电子工业协会(EIA)规定。
服务器机架11具有前板(前门)12、顶板13、背板14、底板15、两侧板16、17。该服务器机架11例如作为具有36英寸(914.4mm)的进深、73.5英寸(1868.9mm)的高度、19英寸(482.6mm)的宽度的深型(日文:ディープ型)的19英寸机架来实现。
在服务器机架11中,封装仓储库4能够配置于前板(前门)12侧,驱动器22以及主机单元21能够配置于背板14侧。进而,封装搬运装置3能够配置于前板(前门)12与背板14之间的中央部附近。
如图2所示,驱动器22a与主机单元21a可以被收容于框体2a。同样,驱动器22b与主机单元21b也可以被收容于框体2b。
驱动器22a包含印刷电路基板221、一个以上的插座222、控制器223、PCI ExpressTM(PCIeTM)开关224和PCIe连接器225。插座222、控制器223以及PCIe开关224配置于印刷电路基板221上。以下,假定多个插座222配置于印刷电路基板221上的情况。
插座222各自是构成为以能够装卸的方式安装半导体封装41的插座。
控制器223是对被安装于各个插座222的半导体封装41所含的一个以上的非易失性存储器晶粒进行控制的存储器控制器。控制器223可以通过system-on-a-chip(SoC:系统单芯片)那样的large scale integration(LSI:大规模集成)来实现。配置于印刷电路基板221上的控制器223的数量可以是一个,也可以是两个以上。印刷电路基板221上的各控制器223与PCIe开关224连接。配置于印刷电路基板221上的PCIe开关224的数量可以是一个,也可以是两个以上。各PCIe开关224与所对应的PCIe连接器225电连接。
在驱动器22a的印刷电路基板221的背面配置有一个以上的PCIe连接器225。印刷电路基板221经由一个以上的PCIe连接器225与主机单元21a的系统基板连接。
在主机单元21a的系统基板设置有处理器、存储器、系统控制器、通信接口控制器等。主机单元21a经由一个以上的PCIe连接器225与驱动器22a以能够通信的方式连接。主机单元21a经由控制器223来执行对于在任意的插座222安装的半导体封装41内的任意的非易失性存储器晶粒的数据的读出或者写入。
驱动器22b以及主机单元21b各自的构成与驱动器22a以及主机单元21a各自的构成相同,因此这里省略对于驱动器22b以及主机单元21b各自的构成的详细情况的说明。
如图2所示,封装搬运装置3可以包含沿纵向(Z轴方向)延伸的支柱32和几个搬运单元31。各搬运单元31能够沿着支柱32在上下方向上移动。各搬运单元31具有机器手那样的未图示的臂,能够使用该臂来把持任意的半导体封装41。
例如,在将被保管于封装仓储库4内的某保管位置的半导体封装41搬运到驱动器22a时,一个搬运单元31移动到与搬运对象的半导体封装41的保管位置对应的高度,把持搬运对象的半导体封装41。而且,该一个搬运单元31移动到与驱动器22a对应的高度,将搬运对象的半导体封装41安装于驱动器22a的一个插座222。
另外,在搬运对象的半导体封装41与封装搬运装置3之间存在另一半导体封装41的情况下,首先,一个搬运单元31把持该另一半导体封装41,然后在维持把持该另一半导体封装41而向上部或者下部移动。然后,另一搬运单元31把持搬运对象的半导体封装41,将搬运对象的半导体封装41安装于驱动器22a的一个插座222。由此,在沿着从封装搬运装置3朝向前板12的方向(图2所示的-Y方向)并列保管有多个半导体封装41的情况下,也能够搬运任意的半导体封装41。
如图2所示,封装仓储库4包含能够载置多个半导体封装41的一对以上的导轨(导轨对R11、导轨对R12、……)。
接着,参照图3的俯视图对驱动器22和封装仓储库4的构成例的详细情况进行说明。
驱动器22例如包含与排列为12行×4列的48个插座222、12个控制器223、三个PCIe开关224、与三个PCIe开关224分别连接的三个PCIe连接器225。12个控制器223各自进行在所对应的一行的四个插座222安装的四个半导体封装41的控制。三个PCIe开关224各自与所对应的四个控制器223连接。各PCIe开关224进行与所对应的四个控制器223之间的通信。
封装仓储库4包含多对导轨(这里为12个导轨对R11~R121)。能够分别在导轨对R11~R121载置几个半导体封装41。导轨对R11~R121各自包含沿着Y轴方向相互平行地延伸的一对导轨。配置于某导轨对上的半导体封装41能够沿着该导轨对滑动地移动。
接着,对半导体封装41的构成进行说明。图4是表示本实施方式的储存系统1中使用的半导体封装41的构成例的图。
半导体封装41例如作为球栅阵列(BGA)封装来实现。该半导体封装41包含多个非易失性存储器晶粒411、封装基板412、多个球型金属端子413、第一面(表(正)面)416和第一面416的相反侧的第二面(背面)417。
多个非易失性存储器晶粒411沿纵向层叠于封装基板412的表面上。多个非易失性存储器晶粒411例如被模塑树脂410覆盖且密封。各非易失性存储器晶粒411包含一个通道的量的通道端子。通道端子包含芯片使能信号端子、多个I/O端子、多个控制信号端子等。
模塑树脂410的上表面形成半导体封装41的第一面416。封装基板412的下表面形成半导体封装41的第二面417。
多个球型金属端子413配置于第二面417。多个球型金属端子413包含多个通道的量的多个信号端子。球型金属端子413与半导体封装41所含的多个非易失性存储器晶粒411各自的通道端子连接。
半导体封装41所含的多个非易失性存储器晶粒411的至少一个非易失性存储器晶粒411的存储区域的一部分用作识别信息存储区域418。识别信息存储区域418存储用于识别该半导体封装41的识别信息。作为识别信息,能够使用能够唯一地识别各个半导体封装41的标识符(封装标识符)。封装标识符可以与检查码一起存储于识别信息存储区域418。检查码是用于对封装标识符的完整性(integrity)进行检验的符号。检查码例如是根据循环冗余码(CRC)、与CRC不同的其他种类的奇偶校验或者识别信息而算出的哈希值。
通过将识别信息(封装标识符)与检查码的配对存储于识别信息存储区域418,能够对从识别信息存储区域418中作为识别信息而读出的值的完整性进行检验。
图5是表示半导体封装41的表(正)面、背面、侧面各自的形状的图。图5的左部是上表面侧观察半导体封装41的俯视图,图5的中央部是从下表面侧观察半导体封装41的俯视图。此外,图5的右部是半导体封装41的侧视图。
半导体封装41的表面416(即模塑树脂410的上表面)用作标记面。在半导体封装41的背面417(即封装基板412的下表面)配置有多个球型金属端子413。另外,在半导体封装41的背面417存在未设置球型金属端子413的区域。具体而言,在背面417的最外周区域未设置任何的球型金属端子413。
接着,对封装仓储库4的构成进行说明。图6是表示封装仓储库4所含的多对导轨的立体图。
在图6中,例示出在封装仓储库4包含三个导轨单元401~403的情况。
导轨单元401包含隔开间隔相互对置的两个侧壁4011、4012、以及配置于两个侧壁4011、4012的内侧的四个导轨对R11~R14。导轨对R11包含隔开间隔对置且相互平行地延伸的一对导轨。通过使用在导轨间具有间隙这样的导轨构造,配置于半导体封装41的背面的球型金属端子413能够不与导轨接触而支承半导体封装41。即,仅未设置球型金属端子413的半导体封装41的背面的最外周区域与导轨对R11接触。其他导轨对R12~R14也各自具有与导轨对R11相同的构成。
导轨单元402包含隔开间隔相互对置的两个侧壁4021、4022、以及配置于两个侧壁4021、4022的内侧的四个导轨对R21~R24。导轨对R21包含隔开间隔对置且相互平行地延伸的一对导轨。其他导轨对R22~R24也各自具有与导轨对R21相同的构成。
导轨单元403包含隔开间隔相互对置的两个侧壁4031、4032、以及配置于两个侧壁4031、4032的内侧的四个导轨对R31~R34。导轨对R31包含隔开间隔对置且相互平行地延伸的一对导轨。其他导轨对R32~R34也各自具有与导轨对R31相同的构成。
接着,对主机单元21的构成进行说明。图7是表示主机单元21的构成例的框图。这里,对作为储存系统1所含的多个主机单元21之一的主机单元21a进行说明。
主机单元21a包含处理器201、主存储器202、系统控制器203以及通信接口控制器204等。处理器201、主存储器202、系统控制器203以及通信接口控制器204被安装于主机单元21a的系统基板。
主存储器202例如是动态随机访问存储器(DRAM)。
通信接口控制器204经由通信接口205进行与封装搬运装置3的通信。作为通信接口205,例如能够使用按照Ethernet标准的接口。在这种情况下,通信接口控制器204例如能够通过网络接口控制器(NIC)来实现。另外,通信接口控制器204也能够用于与管理服务器5的通信。
处理器201执行主存储器202中加载的各种程序(软件)。在这些程序中例如也可以包含应用程序211、操作系统(OS)212、文档系统213、用于控制驱动器22a的设备驱动器214、储存管理工具216等。储存管理工具216是管理半导体封装41并且用于对各半导体封装41的搬运进行控制的程序。
在以后的说明中,这些程序执行某处理这样的记载是指通过由主机单元21a(更详细地说是处理器201)执行这些程序来执行该处理。
主机单元21a(更详细地说是处理器201)能够在储存管理工具216的控制之下管理半导体封装管理表6。半导体封装管理表6是用于多个半导体封装41的管理数据。半导体封装管理表6也可以存储于主存储器202。
主机单元21a构成为对各个半导体封装41赋予固有的半导体封装识别名。主机单元21a使用半导体封装管理表6来对各半导体封装41的半导体封装识别名、各半导体封装41的优先级、各半导体封装41的状态和各半导体封装的位置进行管理。以下,有时使用该半导体封装识别名来表现具有某半导体封装识别名的半导体封装41。例如,有时将具有半导体封装识别名“半导体封装A”的半导体封装41表现为半导体封装A。
在图7中,示出了主机单元21a分别使用作为半导体封装识别名的半导体封装A、半导体封装B、……、半导体封装E来对储存系统1中使用的多个半导体封装41各自进行识别的例子。
主机单元21a将多个半导体封装41各自的优先级储存于半导体封装管理表6。而且,主机单元21a基于由半导体封装管理表6管理的优先级,对封装搬运装置3指示半导体封装41的搬运处理。
主机单元21a将表示多个半导体封装41各自与主机单元21a连接、多个半导体封装41各自被保管于封装仓储库4、或者多个半导体封装41各自被保持于封装搬运装置3的搬运单元31中的某一个状态的信息作为各半导体封装41的状态储存于半导体封装管理表6。
这里,某半导体封装41与主机单元21a连接的状态是指该半导体封装41被安装于驱动器22a的插座222的状态。因而,主机单元21a在某半导体封装41与主机单元21a连接的情况下,能够识别出该半导体封装41被安装于与主机单元21a连接的驱动器22a所含的插座222。而且,主机单元21a能够识别出能够进行对于该半导体封装41的非易失性存储器晶粒411的数据的读出以及写入。
此外,某半导体封装41被保管于封装仓储库4的状态是指该半导体封装41被载置于封装仓储库4的任一个导轨对。因而,主机单元21a在某半导体封装41被保管于封装仓储库4的情况下,由于该半导体封装41未被安装于驱动器22a所含的插座222,因此,能够识别出不能对于该半导体封装41的非易失性存储器晶粒411进行数据的读出以及写入。
主机单元21a将半导体封装41的位置信息储存于半导体封装管理表6,作为表示将多个半导体封装41分别安装或者保管的位置的信息。
主机单元21a在某半导体封装41与主机单元21a连接的情况下,将表示安装有该半导体封装41的插座222的插座编号作为该半导体封装41的位置信息储存于半导体封装管理表6。
此外,主机单元21a在某半导体封装41被保管于封装仓储库4的情况下,将表示保管有该半导体封装41的封装仓储库4中的位置的保管位置编号作为该半导体封装41的位置信息储存于半导体封装管理表6。
在图7所示的例子中,具有半导体封装识别名“半导体封装A”的半导体封装41具有最高的优先级(优先级=1)。具有半导体封装识别名“半导体封装A”的半导体封装41被安装于驱动器22a的插座#1。具有半导体封装识别名“半导体封装B”的半导体封装41具有第二高的优先级(优先级=2)。具有半导体封装识别名“半导体封装B”的半导体封装41被安装于驱动器22a的插座#2。此外,具有半导体封装识别名“半导体封装C”的半导体封装41具有第三高的优先级(优先级=3)。具有半导体封装识别名“半导体封装C”的半导体封装41被保管于封装仓储库4的保管位置#1。具有半导体封装识别名“半导体封装D”的半导体封装41具有第四高的优先级(优先级=4)。具有半导体封装识别名“半导体封装D”的半导体封装41被保管于封装仓储库4的保管位置#2。具有半导体封装识别名“半导体封装E”的半导体封装41具有第五高的优先级(优先级=5)。具有半导体封装识别名“半导体封装E”的半导体封装41被保管于封装仓储库4的保管位置#3。
此外,保管位置#2与封装搬运装置3之间的距离比保管位置#1与封装搬运装置3之间的距离长。此外,保管位置#3与封装搬运装置3之间的距离比保管位置#2与封装搬运装置3之间的距离长。因此,对于搬运单元31来说,与被保管于保管位置#2的半导体封装D相比,被保管于保管位置#1的半导体封装C能够更容易取出。而且,对于搬运单元31来说,与被保管于保管位置#3的半导体封装E相比,被保管于保管位置#2的半导体封装D能够更容易取出。主机单元21a可以根据各半导体封装41的优先级来指示封装搬运装置3将优先级更高的半导体封装41保管于更容易取出的保管位置。
此外,主机单元21a也可以将搬运单元31用作缓冲器。此时,主机单元21a可以指示封装搬运装置3,使得在被保管于封装仓储库4的多个半导体封装41中,最高优先级的半导体封装41由搬运单元31保持。
另外,储存管理工具216也执行用于对未被安装于驱动器22a的任一个插座222的各半导体封装41(也被称作离线封装(offline package))中储存的数据和该数据的量进行管理的处理。储存管理工具216例如执行用于对被保管于封装仓储库4的各半导体封装41中储存的数据和该数据的量进行管理的处理。储存管理工具216能够将各离线封装中储存的数据和该数据的量报告给OS212或者文档系统213。由此,OS212或者文档系统213不仅能够对当前被安装于驱动器22a的插座222的各半导体封装41中储存的数据进行管理,也能够对各离线封装中储存的数据和该数据的量进行管理。
接着,对在向封装仓储库4追加半导体封装41时以及从封装仓储库4中排出半导体封装41时使用的封装出入口进行说明。图8是表示封装仓储库4的封装出入口的图。
封装仓储库4包含用于从封装仓储库4的外部向封装仓储库4追加半导体封装41以及从封装仓储库4向封装仓储库4的外部排出半导体封装41的封装出入口420。封装出入口420是设置于封装仓储库4的前表面42的开口。前表面42相当于服务器机架11的前表面12。
通过设置于封装仓储库4的封装出入口420,从封装仓储库4的外部向封装仓储库4追加半导体封装41。所追加的半导体封装41与已被保管的多个半导体封装41一起被保管于封装仓储库4。
此外,不需要的半导体封装41通过设置于封装仓储库4的封装出入口420从封装仓储库4排出到封装仓储库4的外部。
封装仓储库4除具有设置于封装仓储库4的前表面42的封装出入口420之外,还具有设置于与封装搬运装置3对置一侧的面的封装出入口430。封装出入口430用于对于封装仓储库4的半导体封装41的保管以及封装仓储库4的半导体封装41的取出。封装搬运装置3执行通过封装出入口430在封装仓储库4中保管半导体封装41的动作、以及通过封装出入口430从封装仓储库4取出半导体封装41的动作。封装出入口430例如设置于封装仓储库4的背面,位于封装出入口420的相反侧。此外,这里未图示,但多对导轨沿从封装仓储库4的封装出入口420朝向封装搬运装置3的方向、即从封装出入口420朝向封装出入口430的方向延伸。
接着,对从外部向封装仓储库4追加半导体封装41的动作进行说明。图9是表示从封装仓储库4的封装出入口420将新的半导体封装41追加到封装仓储库4的动作的图。
图9的上部是在追加新的半导体封装之前的服务器机架11的俯视图。图9的下部是追加了12个新的半导体封装之后的服务器机架11的俯视图。
由图9可知,封装搬运装置3与设置于服务器机架11的前表面12的封装出入口420对置。12个导轨对R11~R121各自沿从封装出入口420朝向封装搬运装置3的方向(Y方向)延伸。
如图9的上部所示,在12个导轨对R11~R121已载置有96个半导体封装41。96个半导体封装41是已被保管于封装仓储库4的半导体封装。
这里,假定向封装仓储库4追加12个半导体封装41的情况。在这种情况下,如图9的下部所示,12个半导体封装41例如由机器人或者操作者通过封装出入口420被分别载置于导轨对R11~R121。由此,12个半导体封装41被保管于封装仓储库4。
如此,在封装仓储库4中设置有沿从封装出入口420朝向封装搬运装置3的方向分别延伸的多个导轨对R11~R121。因而,能够容易地通过封装出入口420来进行半导体封装41的追加以及排出。
接着,对由主机单元21控制的半导体封装41的搬运以及装卸动作进行说明。图10是用于对在本实施方式的储存系统1中执行的、基于半导体封装41的优先级的变更将半导体封装41的位置在封装仓储库4与驱动器22的插座222之间变更的动作进行说明的图。
主机单元21使用半导体封装管理表6来对储存系统1所含的半导体封装41各自的优先级进行管理。然后,主机单元21基于储存系统1所含的半导体封装41各自的优先级来指示封装搬运装置3进行半导体封装41的搬运以及装卸。
在图10所示的例子中,主机单元21对半导体封装A、半导体封装B、……、半导体封装H为止的8个半导体封装41进行管理。主机单元21指示封装搬运装置3,使得在被管理的半导体封装41中,分别将最高优先级的半导体封装A例如安装于插座#1,将优先级第二高的半导体封装B例如安装于插座#2。由此,表示半导体封装A和半导体封装B分别被安装于插座#1和插座#2的信息储存于半导体封装管理表6。如此,在驱动器22所含的插座的数量为两个的情况下,具有第一至第二的优先级的两个半导体封装A~B分别被安装于驱动器22的两个插座#1~#2。第一至第二的优先级对应于第一等级优先级。
此外,具有第三至第八的优先级的6个半导体封装41(半导体封装C~H)处于被保管于封装仓储库4的状态。封装仓储库4能够包含第一保管场所和第二保管场所中的至少两种保管场所。第一保管场所与封装搬运装置3之间的距离比第二保管场所与封装搬运装置3之间的距离短。第一保管场所例如包含保管位置#1~#3。第二保管场所例如包含保管位置#4~#6。保管位置#1~#3是对于封装搬运装置3来说,与保管位置#4~#6相比,更容易取出半导体封装41的保管位置。
在被保管于封装仓储库4的6个半导体封装41中,具有第三至第五的优先级的三个半导体封装C~E被保管于第一保管场所含的保管位置#1~#3。第三至第五的优先级相当于比第一等级优先级低的第二等级优先级。
此外,在被保管于封装仓储库4的6个半导体封装41中,具有第六至第八的优先级的三个半导体封装F~H被保管于第二保管场所含的保管位置#4~#6。第六至第八的优先级相当于比第二等级优先级低的第三等级优先级。
这里,对被保管于封装仓储库4的半导体封装C的优先级超过半导体封装B的优先级时的主机单元21的动作进行说明。图11是用于对在本实施方式的储存系统1中执行的、基于半导体封装41的优先级的变更而将半导体封装41的位置在封装仓储库4与驱动器22的插座222之间变更的动作进行说明的另一图。
例如,假定半导体封装C的优先级从第三上升至第二、半导体封装B的优先级从第二下降至第三的情况。首先,主机单元21指示封装搬运装置3,将半导体封装B从插座#2取下、将半导体封装C搬运到驱动器22并安装于插座#2、以及将所取下的半导体封装B搬运到封装仓储库4的例如保管位置#1。封装搬运装置3从插座#2取下半导体封装B,将半导体封装C搬运并安装到取下半导体封装B后的插座#2,然后将所取下的半导体封装B搬运到封装仓储库4的保管位置#1。
主机单元21更新半导体封装管理表6。具体而言,主机单元21将表示半导体封装B被保管于封装仓储库4的保管位置#1的信息、以及表示半导体封装C被安装于插座#2的信息储存于半导体封装管理表6。
接着,对将保管有半导体封装41的封装仓储库4内的保管位置变更的动作进行说明。图12是用于对在本实施方式的储存系统1中执行的、基于半导体封装41的优先级的变更将半导体封装41的位置在封装仓储库4内变更的动作进行说明的图。
这里,在图10所示的状态下,例如,假定半导体封装H的优先级从第八上升至第三、半导体封装C~G各自的优先级从第三~第七下降至第四~第八的情况。半导体封装H的新优先级(第三)属于第二等级的优先级,半导体封装E的新优先级(第六)属于第三等级的优先级。因而,主机单元21指示封装搬运装置3将半导体封装H的保管位置与半导体封装E的保管位置交换。首先,封装搬运装置3从封装仓储库4的保管位置#3取出半导体封装E。然后,封装搬运装置3进一步从封装仓储库4的保管位置#6取出半导体封装H。之后,封装搬运装置3在封装仓储库4的保管位置#6保管半导体封装E。然后,封装搬运装置3在封装仓储库4的保管位置#3保管半导体封装H。
然后,主机单元21更新半导体封装管理表6。具体而言,主机单元21将表示半导体封装E被保管于封装仓储库4的保管位置#6的信息、以及表半导体封装H被保管于封装仓储库4的保管位置#3的信息储存于半导体封装管理表6。
通过上述的动作,主机单元21控制为,将被保管于封装仓储库4的半导体封装41中的具有更高优先级的半导体封装41保管于对于封装搬运装置3来说容易取出的保管位置(这里是保管场所#1)。由此,在被保管于封装仓储库4的保管场所#1的半导体封装41具有的优先级超过第二等级的优先级时,能够缩短将该半导体封装41从封装仓储库4搬运到驱动器22的插座222所需的时间。
接着,对在能够使用封装搬运装置3的缓冲器的情况下、由主机单元21控制的半导体封装41的搬运以及装卸动作进行说明。图13是用于对在本实施方式的储存系统中执行的、基于半导体封装41的优先级的变更将半导体封装41的位置在封装仓储库4与封装搬运装置3驱动器22的插座222之间变更的动作进行说明的图。
主机单元21对半导体封装A,半导体封装B、……、半导体封装H为止的8个半导体封装41进行管理。主机单元21指示封装搬运装置3,在被管理的半导体封装41中,分别将最高优先级的半导体封装A安装于驱动器22的例如插座#1,将优先级第二高的半导体封装B安装于驱动器22的例如插座#2。封装搬运装置3将半导体封装A搬运并安装到驱动器22的插座#1。此外,封装搬运装置3将半导体封装B搬运并安装到驱动器22的插座#2。主机单元21将表示半导体封装A和半导体封装B分别被安装于插座#1和插座#2的信息储存于半导体封装管理表6。
如此,在驱动器22所含的插座的数量为两个的情况下,具有第一至第二的优先级的两个半导体封装A~B分别被安装于驱动器22的两个插座#1~#2。第一至第二的优先级对应于第一等级优先级。
此外,主机单元21指示封装搬运装置3保持具有第三至第四的优先级的两个半导体封装C~D。第三至第四的优先级相当于比第一等级的优先级低的第二等级的优先级。
受到指示的封装搬运装置3(例如是搬运单元#1)保持半导体封装C。此外,受到指示的封装搬运装置3(例如是搬运单元#2)保持半导体封装D。由此,具有第三至第四的优先级的两个半导体封装C~D在封装搬运装置3中被保持。即,保持半导体封装C的搬运单元#1用作封装搬运装置3的缓冲器#1,保持半导体封装D的搬运单元#2用作封装搬运装置3的缓冲器#2。
其结果,主机单元21将表示半导体封装C和半导体封装D分别被保持于搬运单元#1(缓冲器#1)和搬运单元#2(缓冲器#2)的信息储存于半导体封装管理表6。
此外,具有第五至第八的优先级的四个半导体封装E~H处于被保管于封装仓储库4的状态。在被保管于封装仓储库4的四个半导体封装41中,具有第五至第七的优先级的三个半导体封装E~G被保管于第一保管场所含的保管位置#1~#3。第五至第七的优先级相当于比第二等级优先级低的第三等级优先级。
在被保管于封装仓储库4的四个半导体封装41中,具有第八的优先级的半导体封装H被保管于第二保管场所含的保管位置#4~#6中的任一个保管位置(例如是保管位置#4)。
这里,对被保持于封装搬运装置3的缓冲器#1的半导体封装C的优先级超过半导体封装B的优先级时的主机单元21的动作进行说明。图14是用于对在本实施方式的储存系统1中执行的、基于半导体封装41的优先级的变更将半导体封装41的位置在封装搬运装置3与驱动器22的插座222之间变更的动作进行说明的图。
例如,假定半导体封装C的优先级从第三上升至第二、半导体封装B的优先级从第二下降至第三的情况。首先,主机单元21指示封装搬运装置3,将半导体封装B从插座#2取下、将半导体封装C搬运到驱动器22并安装于插座#2、以及将所取下的半导体封装B保持于封装搬运装置3。封装搬运装置3将半导体封装B从插座#2取下。然后,封装搬运装置3将被保持于搬运单元#1的半导体封装C搬运并安装到取下半导体封装B后的插座#2。所取下的半导体封装B被维持在封装搬运装置3(例如是搬运单元#1)中被保持的状态。
根据上述的动作,主机单元21更新半导体封装管理表6。具体而言,主机单元21将表示半导体封装B被保持于封装搬运装置3的缓冲器#1的信息、以及表示半导体封装C被安装于插座#2的信息储存于半导体封装管理表6。
接着,对在被保管于封装仓储库4的半导体封装41的优先级超过被保持于封装搬运装置3的缓冲器的半导体封装41的优先级的情况下的交换动作进行说明。图15是用于对在本实施方式的储存系统1中执行的、基于半导体封装41的优先级的变更将半导体封装41的位置在封装仓储库4与封装搬运装置3之间变更的动作进行说明的图。
这里,在图13所示的状态下,例如假定半导体封装E的优先级从第五上升至第四、半导体封装D的优先级从第四下降至第五的情况。半导体封装E的新优先级(第四)属于第二等级的优先级,半导体封装D的新优先级(第五)属于第三等级的优先级。因而,主机单元21指示封装搬运装置3将半导体封装E的位置与半导体封装D的位置交换。具体而言,首先,主机单元21指示封装搬运装置3将半导体封装D搬运到封装仓储库4的保管位置#1,进一步指示封装搬运装置3将半导体封装E保持于搬运单元#2。受到指示的封装搬运装置3将搬运单元#2所保持的半导体封装D搬运到封装仓储库4的保管位置#1。然后,搬运单元#2将被保管于封装仓储库4的保管位置#1的半导体封装E与保持的半导体封装D交换。搬运单元#2作为缓冲器#2保持半导体封装E。
根据上述的动作,主机单元21更新半导体封装管理表6。具体而言,主机单元21将表示半导体封装D被保管于封装仓储库4的保管位置#1的信息、以及表示半导体封装E被保持于封装搬运装置3的搬运单元#2(缓冲器#2)的信息储存于半导体封装管理表6。
通过上述的动作,主机单元21能够预先将被保管于封装仓储库4的半导体封装41中的具有更高优先级的半导体封装41保持于封装搬运装置3。由此,在被保持于搬运单元31的半导体封装41具有的优先级超过与插座222连接的半导体封装41具有的优先级时,能够消除封装搬运装置3从封装仓储库4中取出半导体封装41所需的时间。即,通过使用封装搬运装置3的缓冲器,与调整封装仓储库4内的保管位置相比,能够大幅减少半导体封装41的移动所需的时间。
接着,对对于半导体封装41的非易失性存储器晶粒411的数据的读出或者写入处理进行说明。图16是表示由本实施方式的储存系统1的主机单元21执行的数据的读出或者写入处理的顺序的流程图。
首先,主机单元21决定包含访问对象的非易失性存储器晶粒411的半导体封装41(步骤S11)。这里,基于从应用程序211接收的读出请求或者写入请求来决定访问对象的非易失性存储器晶粒411。然后,在步骤S11中决定包含该访问对象的非易失性存储器晶粒411的半导体封装41。
主机单元21对步骤S11中被决定的半导体封装41是否被安装于驱动器22的插座222进行判定(步骤S12)。在步骤S12中,主机单元21可以通过参照半导体封装管理表6来对被决定的半导体封装41是否被安装于驱动器22的插座222进行判定。
在被决定的半导体封装41被安装于驱动器22的插座222的情况下(步骤S12中,是),主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S13)。
在被决定的半导体封装41未被安装于驱动器22中的任一个插座222的情况下(步骤S12中,否),主机单元21使封装搬运装置3将被决定的半导体封装41从封装仓储库4搬运到驱动器22,并将其安装于插座222(步骤S14)。
在通过封装搬运装置3在插座222安装了半导体封装41的情况下,主机单元21经由控制器223读出被储存于该半导体封装41的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行确认。在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S13)。
图17是表示由本实施方式的储存系统1的主机单元21执行的数据的读出或者写入处理的顺序的详细情况的流程图。
首先,主机单元21决定包含访问对象的非易失性存储器晶粒411的半导体封装41(步骤S21)。
主机单元21对步骤S21中被决定的半导体封装41是否被安装于驱动器22的插座222进行判定(步骤S22)。在步骤S22中,主机单元21可以通过参照半导体封装管理表6来对被决定的半导体封装41是否被安装于驱动器22的插座222进行确认。
在被决定的半导体封装41被安装于驱动器22的插座222的情况下(步骤S22中,是),主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S23)。
在被决定的半导体封装41未被安装于驱动器22中的任一个插座222的情况下(步骤S22中,否),主机单元21对驱动器22是否有空的插座进行确认(步骤S24)。空的插座是未安装任一个半导体封装41的插座222。
在驱动器22有空的插座的情况下(步骤S24中,是),主机单元21使封装搬运装置3将被决定的半导体封装41从封装仓储库4搬运到驱动器22,并将其安装于空的插座(步骤S25)。在这种情况下,主机单元21对封装搬运装置3指示将被决定的半导体封装41从封装仓储库4取出、以及将被决定的半导体封装41安装于空的插座。
在通过封装搬运装置3在插座222安装了半导体封装41的情况下,主机单元21经由控制器223读出被储存于该半导体封装41的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行确认。
在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21将表示被决定的半导体封装41被安装于驱动器22的插座222的信息储存于半导体封装管理表6。
然后,主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S23)。
在驱动器22没有空的插座的情况下(步骤S24中,否),主机单元21对在被安装于驱动器22的插座222的半导体封装41中是否存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41进行判定(步骤S26)。
在被安装于驱动器22的插座222的半导体封装41中不存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41的情况下(步骤S26中,否),主机单元21再次执行步骤S24的处理。主机单元21待机直到通过变更各半导体封装41的优先级而在被安装于驱动器22的插座222的半导体封装41中存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41为止。
在被安装于驱动器22的插座222的半导体封装41中存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41的情况下(步骤S26中,是),主机单元21使封装搬运装置3将被安装于驱动器22的插座222的半导体封装41中的具有最低优先级的半导体封装41从插座222取下,然后将所取下的半导体封装41搬运到封装仓储库4(步骤S27)。由此,取下该半导体封装41后的插座222成为空的插座。
然后,主机单元21使封装搬运装置3将被决定的半导体封装41从封装仓储库4搬运到驱动器22,并将其安装于空的插座(步骤S25)。在这种情况下,主机单元21指示封装搬运装置3将被决定的半导体封装41从封装仓储库4取出、以及将被决定的半导体封装41安装于插座222。
在通过封装搬运装置3在插座222安装了半导体封装41的情况下,主机单元21经由控制器223读出被储存于该半导体封装41的封装标识符,对所读出的封装标识符与被决定的半导体封装41的封装标识符是否一致进行确认。
在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21将表示被决定的半导体封装41被安装于驱动器22的插座222的信息储存于半导体封装管理表6。
然后,主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S23)。
由此,即使在驱动器22没有空的插座的情况下,主机单元21也能够通过将具有比被决定的半导体封装41具有的优先级低的优先级的半导体封装41从插座222取下来将被决定的半导体封装41安装于插座222。
接着,对在能够使用封装搬运装置3的缓冲器的情况下、对于半导体封装41的非易失性存储器晶粒411的数据的读出或者写入处理进行说明。图18A以及图18B是表示由本实施方式的储存系统1的主机单元21执行的对于非易失性存储器晶粒411的数据的读出或者写入处理的另一顺序的流程图。
首先,主机单元21决定包含访问对象的非易失性存储器晶粒411的半导体封装41(步骤S301)。
主机单元21对步骤S301中被决定的半导体封装41是否被安装于驱动器22的插座222进行判定(步骤S302)。主机单元21可以通过参照半导体封装管理表6来对被决定的半导体封装41是否被安装于驱动器22的插座222进行判定。
在被决定的半导体封装41被安装于驱动器22的插座222的情况下(步骤S302中,是),主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S303)。
在被决定的半导体封装41未被安装于驱动器22中的任一个插座222的情况下(步骤S302中,否),主机单元21对驱动器22是否有空的插座进行确认(步骤S304)。
在驱动器22有空的插座的情况下(步骤S304中,是),主机单元21执行图18B的步骤S305的处理。
在驱动器22没有空的插座的情况下(步骤S304中,否),主机单元21对在被安装于驱动器22的插座222的半导体封装41中是否存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41进行判定(步骤S307)。
在被安装于驱动器22的插座222的半导体封装41中不存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41的情况下(步骤S307中,否),主机单元21再次执行步骤S304的处理。主机单元21待机直到通过变更各半导体封装41的优先级而在被安装于驱动器22的插座222的半导体封装41中存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41为止。
在被安装于驱动器22的插座222的半导体封装41中存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41的情况下(步骤S307中,是),主机单元21使封装搬运装置3将具有比被决定的半导体封装41的优先级低的优先级的半导体封装41从插座222取下,然后将所取下的半导体封装41搬运到封装搬运装置3的缓冲器(步骤S308)。由此,从插座222取下的半导体封装41不被保管于封装仓储库4而是被保持于封装搬运装置3。此外,取下半导体封装41后的插座222成为空的插座。然后,主机单元21执行图18B的步骤S305的处理。
主机单元21对被决定的半导体封装41是否存在于封装搬运装置3的缓冲器、即被决定的半导体封装41是否在封装搬运装置3中被保持进行判定(步骤S305)。主机单元21能够通过参照半导体封装管理表6来对被决定的半导体封装41是否被保持于封装搬运装置3进行判定。
在被决定的半导体封装41存在于封装搬运装置3的缓冲器的情况下、即在被决定的半导体封装41被保持于封装搬运装置3中的任一个搬运单元31的情况下(步骤S305中,是),主机单元21使封装搬运装置3将被决定的半导体封装41从封装搬运装置3的缓冲器搬运至驱动器22,并将其安装于空的插座(步骤S306)。在这种情况下,主机单元21对保持有被决定的半导体封装41的搬运单元31指示将被决定的半导体封装41安装于插座222。
在通过搬运单元31将半导体封装41安装于插座222的情况下,主机单元21经由控制器223读出被储存于该半导体封装41的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行确认。
在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21将表示被决定的半导体封装41被安装于驱动器22的插座222的信息储存于半导体封装管理表6。
然后,主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(图18A的步骤S303)。
在被决定的半导体封装41不存在于封装搬运装置3中的任一个缓冲器的情况下、即在被决定的半导体封装41不被保持于封装搬运装置3中的任一个搬运单元31的情况下(步骤S305中,否),主机单元21对封装搬运装置3是否有空的缓冲器进行确认(步骤S309)。封装搬运装置3的空的缓冲器是未保持半导体封装41的搬运单元31。
在封装搬运装置3有空的缓冲器的情况下、即在存在未保持半导体封装41的搬运单元31的情况下(步骤S309中,是),主机单元21使封装搬运装置3将被决定的半导体封装41从封装仓储库4搬运到封装搬运装置3的空的缓冲器、即未保持半导体封装41的搬运单元31(步骤S310)。在这种情况下,主机单元21可以对未保持半导体封装41的搬运单元31指示将被决定的半导体封装41从封装仓储库4取出。由此,被决定的半导体封装41由该搬运单元31保持,因此成为被决定的半导体封装41存在于封装搬运装置3的缓冲器的状态。
然后,主机单元21使封装搬运装置3将被决定的半导体封装41从封装搬运装置3的缓冲器搬运到驱动器22,并将其安装于空的插座(步骤S306)。在这种情况下,主机单元21指示保持有被决定的半导体封装41的搬运单元31将被决定的半导体封装41安装于插座222。
在通过搬运单元31将半导体封装41安装于插座222的情况下,主机单元21经由控制器223读出被储存于该半导体封装41的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行确认。
在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21将表示被决定的半导体封装41被安装于驱动器22的插座222的信息储存于半导体封装管理表6。
然后,主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(图18A的步骤S303)。
在封装搬运装置3不存在空的缓冲器的情况下(步骤S309中,否),主机单元21对在被保持于封装搬运装置3的缓冲器的半导体封装41中是否存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41进行判定(步骤S311)。
在被保持于封装搬运装置3的缓冲器的半导体封装41中不存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41的情况下(步骤S311中,否),主机单元21再次执行步骤S309的处理。主机单元21待机直到通过变更各半导体封装41的优先级而在被保持于封装搬运装置3的缓冲器的半导体封装41中存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41为止。
在被保持于封装搬运装置3的缓冲器的半导体封装41中存在具有比被决定的半导体封装41的优先级低的优先级的半导体封装41的情况下(步骤S311中,是),主机单元21使封装搬运装置3将被保持于封装搬运装置3的缓冲器的半导体封装41中的具有最低优先级的半导体封装41搬运到封装仓储库4(步骤S312)。在步骤S312中,主机单元21指示保持有具有最低优先级的半导体封装41的搬运单元31将半导体封装41搬运到封装仓储库4。由此,该搬运单元31成为未保持半导体封装41的空的缓冲器。
然后,主机单元21使封装搬运装置3将被决定的半导体封装41从封装仓储库4搬运到封装搬运装置3的空的缓冲器(步骤S310)。在这种情况下,主机单元21指示成为空的缓冲器的搬运单元31将被决定的半导体封装41从封装仓储库4取出。由此,被决定的半导体封装41由该搬运单元31保持,因此成为被决定的半导体封装41存在于封装搬运装置3的缓冲器的状态。
然后,主机单元21使封装搬运装置3将被决定的半导体封装41从封装搬运装置3的缓冲器搬运到驱动器22,并将其安装于空的插座(步骤S306)。
在通过搬运单元31安装了半导体封装41插座222的情况下,主机单元21经由控制器223读出被储存于该半导体封装41的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行确认。
在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21将表示被决定的半导体封装41被安装于驱动器22的插座222的信息储存于半导体封装管理表6。
然后,主机单元21经由控制器223来执行对于被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(图18A的步骤S303)。
如上所述,根据第一实施方式,驱动器22包含构成为以能够装卸的方式安装半导体封装41的至少一个插座222、以及对被安装于该插座222的半导体封装41的非易失性存储器晶粒411进行控制的控制器223。
与驱动器22以能够通信的方式连接主机单元21能够经由控制器223来对与插座222连接的半导体封装41的非易失性存储器晶粒411执行数据的读出或者写入。主机单元21从由储存系统1管理的多个半导体封装41中决定包含访问对象的非易失性存储器晶粒411的半导体封装41。
在包含访问对象的非易失性存储器晶粒411的半导体封装41被安装于驱动器22的插座222的情况下,主机单元21经由控制器223来执行对于访问对象的非易失性存储器晶粒411的数据的读出或者写入。
在包含访问对象的非易失性存储器晶粒411的半导体封装41未被安装于驱动器22的插座222并且被保管于封装仓储库4的情况下,主机单元21使封装搬运装置3将包含访问对象的非易失性存储器晶粒411的半导体封装41搬运并安装到驱动器22的插座222。
如此,在储存系统1中,包含一个以上的非易失性存储器晶粒411的半导体封装41被安装于驱动器22的插座222。其结果,能够将被安装于驱动器22的插座222的半导体封装41用作能够通过主机单元21来访问的储存设备。因此,主机单元21能够仅通过将与驱动器22的插座222连接的半导体封装41与另一半导体封装41交换而对由储存系统1管理的多个半导体封装41中的任意的半导体封装41所含的非易失性存储器晶粒411进行数据的读出或者写入。
(第二实施方式)
接着,对将多个半导体封装41集中搬运以及装卸的构成进行说明。图19是表示本实施方式的储存系统1的构成例的图。图19所示的储存系统1与图1所示的第一实施方式的储存系统1相比,主要是将收容多个半导体封装41的托盘46用作用于将半导体封装41搬运以及装卸的单元的方面不同,其他构成与第一实施方式的储存系统1的构成相同。以下,主要对与第一实施方式的储存系统1不同的方面进行说明。
封装仓储库4构成为能够保管分别收容规定个数的半导体封装41的多个托盘46。托盘46的形状可以是箱形,也可以是板状。收容于一个托盘46的半导体封装41的个数是两个以上。在托盘46收容有规定个数的半导体封装41。在工厂中进行向托盘46的半导体封装41的收容。从工厂出货收容有规定个数的半导体封装41的托盘46,并由数据中心使用。
驱动器22至少包含能够一并装卸维持收容于托盘46的状态的规定个数的半导体封装41的规定个数的插座222。例如,在托盘46构成为收容16个半导体封装41的情况下,驱动器22至少包含16个插座222。16个插座222形成能够一并装卸收容于一个托盘的16个半导体封装41的插座组。16个半导体封装41在收容于托盘46的状态下被一并安装于16个插座222。此外,在托盘46构成为收容48个半导体封装41的情况下,驱动器22至少包含48个插座222。48个插座222形成能够一并装卸收容于一个托盘的48个半导体封装41的插座组。48个半导体封装41在收容于托盘46的状态下被一并安装于48个插座222。另外,驱动器22也可以包含与两个以上的托盘46对应的数量的插座222。
封装搬运装置3将托盘46在封装仓储库4与驱动器22之间搬运。例如,在构成为托盘46收容16个半导体封装41的情况下,封装搬运装置3搬运托盘46,由此集中地将16个半导体封装41在封装仓储库4与驱动器22之间搬运。
接着,对储存系统1的基本的动作进行说明。主机单元21具有位置管理功能和搬运控制功能。位置管理功能是对多个托盘46各自存在的位置进行管理的功能。搬运控制功能是通过对封装搬运装置3进行控制来对收容有规定个数的半导体封装41的托盘46的搬运进行控制的功能。
对多个托盘46各自赋予托盘标识符(也被称作托盘识别名)。例如,可以对多个托盘46各自标记二维条形码那样的条形码,也可以附加印刷有二维条形码那样的条形码的封条(日文:シール)。条形码包含表示托盘标识符的信息。
主机单元21能够对托盘标识符与由该托盘标识符识别出的托盘46存在的位置之间的对应关系进行管理。此外,主机单元21也能够对托盘标识符与在由该托盘标识符识别出的托盘46收容的规定个数的半导体封装41之间的对应关系进行管理。
某托盘46可能存在的位置例如是驱动器22所含的多个插座222中的规定个数的插座222或者封装仓储库4所含的多个托盘保管位置中的任一个托盘保管位置。
主机单元21在多个半导体封装41中决定包含作为访问对象的非易失性存储器晶粒的半导体封装41。主机单元21进一步决定收容有所决定的半导体封装41的托盘46。
主机单元21确定所决定的托盘46存在的位置,由此,能够对收容于所决定的托盘46的规定个数的半导体封装41是否被安装于驱动器22的规定个数的插座222进行判定。
在收容于所决定的托盘46的规定个数的半导体封装41被安装于驱动器22的规定个数的插座222的情况下,主机单元21经由驱动器22内的控制器223来执行对于访问对象的非易失性存储器晶粒411的数据的读出或者写入。
在收容于所决定的托盘46的规定个数的半导体封装41未被安装于驱动器22的规定个数的插座222的情况下,主机单元21使封装搬运装置3将所决定的托盘46搬运到驱动器22,将收容于所决定的托盘46的规定个数的半导体封装41被安装于驱动器22的规定个数的插座222。在这种情况下,主机单元21能够向封装搬运装置3发送以下那样的搬运请求。
该搬运请求例如将保管有所决定的托盘46的封装仓储库4内的位置(也被称作托盘保管位置)指定为移动初始位置,并且将驱动器22的规定个数的插座222指定为移动目标位置。封装搬运装置3的搬运单元31将存在于被指定的移动初始位置的托盘46搬运到被指定的移动目标位置。然后,搬运单元31将收容于该托盘46的规定个数的半导体封装41一并安装于移动目标位置的规定个数的插座222。
如此,通过按照各个托盘46中的每一个对位置进行管理,与按照各个半导体封装41中的每一个对该位置进行管理的情况相比,能够减少位置管理所需的处理量。进而,将收容于托盘46的规定个数的半导体封装41集中搬运,因此与将各个半导体封装41逐一搬运的情况相比,能够减少所需的搬运次数。
进而,主机单元21能够具有对基于多个半导体封装41各自的优先级而决定的多个托盘46各自的优先级进行管理的功能。用于决定多个多个托盘46各自的优先级的算法并不限定于特定的算法,能够基于各种条件来决定多个托盘46各自的优先级。例如,主机单元21可以决定多个托盘46各自的优先级,以使得所收容的规定个数的半导体封装41具有的优先级的评价高的托盘46具有高的优先级。或者,主机单元21也可以基于收容的规定个数的半导体封装41具有的优先级中的最高的优先级来决定多个托盘46各自的优先级。
主机单元21也能够基于多个托盘46各自的优先级对多个托盘46各自存在的位置进行控制。例如,主机单元21能够基于多个托盘46各自的优先级对多个托盘46各自存在的位置进行控制,以使得在具有第一等级的优先级的托盘46收容的规定个数的半导体封装41被安装于驱动器22的规定个数的插座222、具有比第一等级的优先级低的第二等级的优先级的托盘46被保管于封装仓储库4。
另外,也可以将封装搬运装置3所含的搬运单元31中的几个用作用于暂时保持托盘46的缓冲器。在这种情况下,具有比第一等级的优先级低的第二等级的优先级的托盘46被保持于封装搬运装置3所含的搬运单元31。然后,具有比第二等级的优先级低的第三等级的优先级的托盘46被保管于封装仓储库4。
保持有具有第二等级的优先级的托盘46搬运单元31可以被移动至特定的退避位置,以使其不会成为由其他搬运单元31进行的搬运动作的阻碍。
此外,也可以根据托盘46的优先级来变更封装仓储库4内的保管场所。例如,主机单元21能够基于多个托盘46各自的优先级来对多个托盘46各自存在的位置进行控制,以使得被收容于具有第一等级的优先级的托盘46的规定个数的半导体封装41被安装于驱动器22的规定个数的插座222、具有比第一等级的优先级低的第二等级的优先级的托盘46在封装搬运装置3中被保持、具有比第二等级的优先级低的第三等级的优先级的托盘46被保管于封装仓储库4所含的第一保管场所、具有比第三等级的优先级低的第四等级的优先级的托盘46被保管于封装仓储库4所含的第二保管场所。这里,第一保管场所是比第二保管场所更靠近封装搬运装置3的封装仓储库4内的保管场所。
接着,对托盘的46的构成进行说明。图20是表示能够收容多个半导体封装41的托盘46的构成例的立体图。图21是沿着图20的21-21线的托盘46的剖面图。
托盘46包含能够收容规定个数的半导体封装41的规定个数的凹陷461。例如,在托盘46具有能够收容16个半导体封装41的构造的情况下,托盘46包含16个凹陷461。
如图21所示,在规定个数的凹陷461各自的底面附近的内周部设置有支承部件462。支承部件462支承在该凹陷461收容的半导体封装41的背面417的最外周区域。进而,在规定个数的凹陷461各自的底面、即托盘46的下表面形成有将半导体封装41的多个球型金属端子413露出的开口。即,规定个数的凹陷461各自是能够收容半导体封装41的空洞,在该空洞的底部形成有将半导体封装41的多个球型金属端子413露出的开口。
因而,在凹陷461收容的半导体封装41的背面417的最外周区域与支承部件462抵接,由此半导体封装41被保持于托盘46内。进而,设置于半导体封装41的背面417的多个球型金属端子413不与支承部件462接触,而是通过设置于托盘46的下表面的开口露出到外部环境。在这种情况下,各半导体封装41能够收容于托盘46内,以使得多个球型金属端子413通过设置于托盘46的下表面的开口从托盘46的下表面突出。
如此,托盘46具有形成有将规定个数的半导体封装41各自的多个球型金属端子413露出的开口的下表面。因而,能够将规定个数的半导体封装41在这些半导体封装41维持收容于托盘46的状态下安装于规定个数的插座222。
此外,形成有将规定个数的半导体封装41各自的多个球型金属端子413露出的开口的托盘46的下表面是没有凹凸的平坦的面。因而,托盘46能够沿着封装仓储库4的导轨对顺畅地移动。
接着,对能够对在托盘46收容的规定个数的半导体封装41与驱动器22的规定个数的插座222之间的对位进行辅助的托盘46的构成进行说明。图22是表示在上表面和下表面分别设置有凸部的托盘46的构成例的立体图。图23是沿着图22的23-23线的托盘46的剖面图。
托盘46包含能够收容规定个数的半导体封装41的规定个数的凹陷461。例如,在托盘46具有能够收容16个半导体封装41的构造的情况下,托盘46包含16个凹陷461。
如图23所示,在规定个数的凹陷461各自的底面附近的内周部设置有支承部件462。支承部件462支承在该凹陷461收容的半导体封装41的背面417的最外周区域。进而,在规定个数的凹陷461各自的底面、即托盘46的下表面形成有将半导体封装41的多个球型金属端子413露出的开口。即,规定个数的凹陷461各自是能够收容半导体封装41的空洞,在该空洞的底部形成有将半导体封装41的多个球型金属端子413露出的开口。
因而,在凹陷461收容的半导体封装41的背面417的最外周区域与支承部件462抵接,由此半导体封装41被保持于托盘46内。进而,设置于半导体封装41的背面417的多个球型金属端子413不会与支承部件462接触而是通过设置于托盘46的下表面的开口露出到外部环境。在这种情况下,各半导体封装41能够收容于托盘46内,以使得多个球型金属端子413通过设置于托盘46的下表面的开口从托盘46的下表面突出。
进而,在托盘46的下表面具有一个以上的凸部463。各凸部463能够用作在托盘46收容的规定个数的半导体封装41与驱动器22的规定个数的插座222之间的对位用的部件。
此外,进而,托盘46的上表面具有一个以上的凸部464。在托盘46收容的规定个数的半导体封装41被安装于驱动器22的规定个数的插座222的情况下,为了维持规定个数的半导体封装41与规定个数的插座222之间的稳定的接触状态,托盘46可以被盖部件覆盖。设置于托盘46的上表面的各凸部464能够用作托盘46与盖部件之间的对位用的部件。
图24是表示参照图22以及图23进行了说明的托盘46的上表面以及下表面的形状的俯视图。图24的左部是从上表面侧观察托盘46的俯视图。图24的右部是从下表面侧观察托盘46的俯视图。此外,图25是托盘46的侧视图。
由图24的右部以及图25可知,在托盘46的下表面具有将各半导体封装41的多个球型金属端子413露出的开口且具有多个凸部463。
此外,由图25可知,各凸部463的前端具有没有凹凸的平坦的面。在托盘46被载置于封装仓储库4的导轨对上的情况下,各凸部463的前端成为与导轨对抵接的接触面。该接触面具有没有凹凸的平坦的面,因此能够使托盘46沿着导轨对顺畅地滑动。
接着,对能够保管多个托盘46的封装仓储库4的构成进行说明。图26是表示能够载置多个托盘46的封装仓储库4的导轨构造的立体图。
在图26中,例示出各托盘46收容有与设置于驱动器22的插座222的数量相同的48个半导体封装41的情况。
封装仓储库4包含隔开间隔相互对置的两个侧壁4011、4012、以及配置于两个侧壁4011、4012的内侧的四个导轨对R11~R14。导轨对R11包含隔开间隔对置且相互平行地延伸的一对导轨。通过使用在导轨之间具有间隙这样的导轨构造,从托盘46的下表面露出的各半导体封装41的球型金属端子413能够不与导轨接触而支承托盘46。其他导轨对R12~R14也各自具有与导轨对R11相同的构成。
图27是表示能够载置多个托盘46的封装仓储库4的导轨构造的其他例子的立体图。
在图27中,例示出在封装仓储库4包含三个导轨单元401~403的情况。驱动器22所含的插座222的数量例如是48个,在托盘46收容的半导体封装41的数量例如是16个。在这种情况下,驱动器22所含的48个插座222被分为各自包含16个插座222的三组。收容于某托盘46的16个半导体封装41被一并安装于某组所含的16个插座222。然后,该托盘46被与该组对应的盖部件226覆盖。与各组对应的盖部件226可以经由铰接(hinge)机构以开闭自如的方式被安装于驱动器22的印刷电路基板221。
导轨单元401包含隔开间隔相互对置的两个侧壁4011、4012、以及配置于两个侧壁4011、4012的内侧的四个导轨对R11~R14。导轨对R11包含隔开间隔对置且相互平行地延伸的一对导轨。通过使用在导轨之间具有间隙这样的导轨构造,从托盘46的下表面露出的各半导体封装41的球型金属端子413能够不与导轨接触而支承托盘46。其他导轨对R12~R14也各自具有与导轨对R11相同的构成。
导轨单元402包含隔开间隔相互对置的两个侧壁4021、4022、以及配置于两个侧壁4021、4022的内侧的四个导轨对R21~R24。导轨对R21包含隔开间隔对置且相互平行地延伸的一对导轨。其他导轨对R22~R24也各自具有与导轨对R21相同的构成。
导轨单元403包含隔开间隔相互对置的两个侧壁4031、4032、以及配置于两个侧壁4031、4032的内侧的四个导轨对R31~R34。导轨对R31包含隔开间隔对置且相互平行地延伸的一对导轨。其他导轨对R32~R34也各自具有与导轨对R31相同的构成。
接着,对控制托盘46的搬运的主机单元21的构成进行说明。图28是表示对托盘46的搬运进行控制的主机单元21的构成例的框图。这里,对作为储存系统1所含的多个主机单元21之一的主机单元21a进行说明。
主机单元21a包含处理器201、主存储器202、系统控制器203以及通信接口控制器204等。这些构成要素中的除主存储器202的管理数据以外的构成要素与图7中说明过的主机单元21a的构成要素相同,因此省略说明。
对托盘46的搬运进行控制的主机单元21a(更详细地说是处理器201)能够在储存管理工具216的控制之下对半导体封装管理表6和托盘管理表7进行管理。半导体封装管理表6是用于多个半导体封装41的管理数据。托盘管理表7是用于多个托盘46的管理数据。半导体封装管理表6以及托盘管理表7可以存储于主存储器202。
主机单元21a构成为对各个半导体封装41赋予固有的半导体封装识别名。主机单元21a使用半导体封装管理表6对各半导体封装41的半导体封装识别名、各半导体封装41的优先级、收容有各半导体封装41的托盘46的识别名进行管理。在图28中,示出了如下例子:主机单元21a分别使用作为半导体封装识别名的半导体封装A、半导体封装B、……、半导体封装F来识别储存系统1中使用的多个半导体封装41的每一个,然后分别使用作为托盘识别名的托盘a、托盘b、托盘c来识别储存系统1中使用的多个托盘46的每一个。以下,具有某托盘识别名的托盘46有时使用该托盘识别名来表现。例如,有时将具有托盘识别名“托盘a”的托盘46表现为托盘a。
主机单元21a将多个半导体封装41各自的优先级储存于半导体封装管理表6。主机单元21a可以基于对于各半导体封装41所含的非易失性存储器晶粒411的访问频率等来决定各半导体封装41的优先级。此外,主机单元21a可以基于由半导体封装管理表6管理的优先级,对封装搬运装置3指示半导体封装41的搬运处理。
主机单元21a将各托盘46的托盘识别名储存于半导体封装管理表6,作为表示多个半导体封装41分别被收容于任一个托盘46的信息。这里,托盘a收容半导体封装A和半导体封装B。托盘b收容半导体封装C和半导体封装D。托盘c收容半导体封装E和半导体封装F。
进而,主机单元21a使用托盘管理表7对各托盘46的托盘识别名、各托盘46的优先级、各托盘46的状态和各托盘46的位置进行管理。在图28中,示出了如下例子:主机单元21a分别使用作为托盘识别名的托盘a、托盘b、托盘c来识别储存系统1中使用的多个托盘46的每一个。
主机单元21a将多个托盘46各自的优先级储存于托盘管理表7。然后,主机单元21a基于由托盘管理表7管理的优先级对封装搬运装置3指示托盘46的搬运处理。另外,主机单元21a也可以基于各托盘46所收容的半导体封装41分别具有的优先级来决定各托盘46的优先级。
主机单元21a将表示多个托盘46分别与主机单元21a连接;多个托盘46分别被保管于封装仓储库4、或者多个托盘46分别被保持于封装搬运装置3的搬运单元31中的任一个状态的信息作为各托盘46的状态储存于托盘管理表7。
这里,某托盘46与主机单元21a连接的状态是指在该托盘46收容的规定个数的半导体封装41被安装于驱动器22a的规定个数的插座222的状态。因而,主机单元21a能够在某托盘46与主机单元21a连接的情况下,识别出在该托盘46收容的规定个数的半导体封装41被安装于驱动器22a的规定个数的插座222。然后,主机单元21a能够识别出能够进行对于在该托盘收容的规定个数的半导体封装41的各个非易失性存储器晶粒411的数据的读出以及写入。
在图28所示的例子中,具有半导体封装识别名“半导体封装A”的半导体封装41具有最高的优先级(优先级=1)。半导体封装A被收容于具有托盘识别名“托盘a”的托盘46。具有半导体封装识别名“半导体封装B”的半导体封装41具有第二高的优先级(优先级=2)。半导体封装B被收容于在托盘a。此外,具有半导体封装识别名“半导体封装C”的半导体封装41具有第三高的优先级(优先级=3)。半导体封装C被收容于具有托盘识别名“托盘b”的托盘46。具有半导体封装识别名“半导体封装D”的半导体封装41具有第四高的优先级(优先级=4)。半导体封装D被收容于托盘b。具有半导体封装识别名“半导体封装E”的半导体封装41具有第五高的优先级(优先级=5)。半导体封装E被收容于具有托盘识别名“托盘c”的托盘46。具有半导体封装识别名“半导体封装F”的半导体封装41具有第六高的优先级(优先级=6)。半导体封装F被收容于托盘c。
托盘a具有最高的优先级(优先级=1)。在托盘a收容的规定个数的半导体封装41(这里是半导体封装A~B)被安装于驱动器22a的插座组#1。托盘b具有第二高的优先级(优先级=2)。托盘b被保管于封装仓储库4所含的保管位置#1。托盘c具有第三高的优先级(优先级=3)。托盘c被保管于封装仓储库4的保管位置#2。
保管位置#1与封装搬运装置3之间的距离比保管位置#2与封装搬运装置3之间的距离短。因而,被保管于保管位置#1的托盘b对于搬运单元31来说,能够比被保管于保管位置#2的托盘c更容易取出。主机单元21a可以根据各托盘46的优先级指示封装搬运装置3将优先级更高的托盘46保管于更容易取出的保管位置。
此外,主机单元21a也可以将搬运单元31用作缓冲器。此时,主机单元21a可以指示封装搬运装置3,以使搬运单元31保持被保管于封装仓储库4的多个托盘46中的最高优先级的托盘46。
接着,对在向封装仓储库4追加托盘46时以及从封装仓储库4排出托盘46时使用的托盘出入口进行说明。图29是表示封装仓储库4的托盘取出口的图。
封装仓储库4包含托盘出入口421,该托盘出入口421用于从封装仓储库4的外部向封装仓储库4追加托盘46以及从封装仓储库4向封装仓储库4的外部排出托盘46。托盘出入口421是设置于封装仓储库4的前表面42的开口。前表面42相当于服务器机架11的前表面12。
通过设置于封装仓储库4的托盘出入口421从封装仓储库4的外部向封装仓储库4追加托盘46。所追加的托盘46与已保管的多个托盘46一起被保管于封装仓储库4。
此外,通过设置于封装仓储库4的托盘出入口421从封装仓储库4向封装仓储库4的外部排出不需要的托盘46。
封装仓储库4除包含设置于封装仓储库4的前表面42的托盘出入口421之外,也包含设置于与封装搬运装置3对置一侧的面的托盘出入口431。托盘出入口431用于对于封装仓储库4的托盘46的保管以及从封装仓储库4的托盘46的取出。封装搬运装置3执行通过托盘出入口431在封装仓储库4保管托盘46的动作、以及通过托盘出入口431从封装仓储库4取出托盘46的动作。托盘出入口431例如设置于封装仓储库4的背面,位于托盘出入口421的相反侧。此外,这里未图示,但多对导轨沿从封装仓储库4的托盘出入口421朝向封装搬运装置3的方向、即从托盘出入口421朝向托盘出入口431的方向延伸。
接着,对从外部向封装仓储库4追加托盘46的动作进行说明。图30是表示从封装仓储库4的托盘出入口421将新的托盘46追加到封装仓储库4的动作的图。
图30的上部是在追加新的托盘46之前的服务器机架11的俯视图。图30的下部是追加收容了48个半导体封装41的新的托盘46之后的服务器机架11的俯视图。
由图30可知,封装搬运装置3与设置于服务器机架11的前表面12的托盘出入口421对置。导轨对R11沿从托盘出入口421朝向封装搬运装置3的方向(Y方向)延伸。
如图30的上部所示,在导轨对R11载置有分别收容了48个半导体封装41的两个托盘46。
这里,假定向封装仓储库4追加收容了48个半导体封装41的托盘46的情况。在这种情况下,如图30的下部所示,例如由机器人或者操作者将收容了48个半导体封装41的托盘46通过托盘出入口421载置于导轨对R11。由此,托盘46被保管于封装仓储库4。
如此,在封装仓储库4设置有沿从托盘出入口421朝向封装搬运装置3的方向延伸的导轨对R11。因而,能够容易通过托盘出入口421来进行托盘46的追加以及排出。
接着,对在托盘46收容的规定个数的半导体封装41与驱动器22的规定个数的插座222之间的对位进行说明。图31是表示设置于驱动器22的基板的凹部、设置于托盘46的下表面的凸部、设置于托盘46的上表面的凸部与设置于盖部件226的凹部的关系的图。此外,图32是表示托盘46的下表面的凸部与设置于驱动器22的基板的凹部嵌合、盖部件226的凹部与托盘46的上表面的凸部嵌合的状态的图。
驱动器22的该基板例如是驱动器22的印刷电路基板221。在这种情况下,在驱动器22的印刷电路基板221至少配置有规定个数的插座222。插座222各自包含设置于印刷电路基板221上的多个端子2215。此外,印刷电路基板221也包含一个以上的凹部2210。
盖部件226具有包含一个以上的凹部2260的下表面。
将在托盘46收容的规定个数的半导体封装41一并安装于规定个数的插座222时,如图32所示,设置于托盘46的下表面的各凸部463与印刷电路基板221所对应的凹部2210嵌合。由此,将在托盘46收容的规定个数的半导体封装41与驱动器22的规定个数的插座222对位。由此,在托盘46收容的各半导体封装41的多个球型金属端子413与印刷电路基板221上所对应的插座222的多个端子2215分别接触。
这之后,如图32所示,在印刷电路基板221上放置的托盘46以在印刷电路基板221上放置的托盘46的上表面的各凸部464与盖部件226所对应的凹部2260嵌合的方式被盖部件226覆盖。由此,盖部件226的下表面与在托盘46收容的规定个数的半导体封装41的上表面接触。由此,在托盘46收容的规定个数的半导体封装41的各个多个球型金属端子413被分别按压于印刷电路基板221上的多个多个端子2215。
另外,这里,作为包含凹部2210的基板,对使用驱动器22的印刷电路基板221的情况进行了说明,但包含凹部2210的基板也可以通过与印刷电路基板221不同的基板(也被称作插座基板)来实现。在这种情况下,该不同的基板包含各自包含多个端子2215的规定个数的插座和一个以上的凹部2210。
接着,对由主机单元21控制的托盘46的搬运以及装卸动作进行说明。图33是用于对在本实施方式的储存系统1中执行的、基于托盘46的优先级的变更将托盘46的位置在封装仓储库4与驱动器22的插座222之间变更的动作进行说明的图。
以下,假定驱动器22所含的插座222的总数与在托盘46收容的半导体封装41的数量相等的情况。以下,与在托盘46收容的半导体封装41的数量相等的数量的插座222也被称作插座组#1。此外,为了简化图示,以下,假定在托盘46收容的半导体封装41的数量是两个的情况。
主机单元21使用托盘管理表7来对储存系统1所含的托盘46各自的优先级进行管理。储存系统1所含的托盘46各自的优先级能够基于储存系统1所含的半导体封装41各自的优先级来决定。主机单元21基于储存系统1所含的托盘46各自的优先级指示封装搬运装置3进行托盘46的搬运以及装卸。
在图33所示的例子中,主机单元21对半导体封装A、半导体封装B、……、半导体封装F为止的6个半导体封装41进行管理。此外,主机单元21对托盘a、托盘b、托盘c的三个托盘46进行管理。这里,半导体封装A是最高优先级的半导体封装41,收容于托盘a。半导体封装B是优先级第二高的半导体封装41,收容于托盘a。半导体封装C是优先级第三高的半导体封装41,收容于托盘b。半导体封装D是优先级第四高的半导体封装41,收容于托盘b。半导体封装E是优先级第五高的半导体封装41,收容于托盘c。半导体封装F是优先级第六高的半导体封装41,收容于托盘c。
这里,主机单元21将所收容的规定个数的半导体封装41具有的优先级的平均最高的托盘a的优先级决定为第一,将所收容的规定个数的半导体封装41具有的优先级的平均第二高的托盘b的优先级决定为第二,将所收容的规定个数的半导体封装41具有的优先级的平均第三高的托盘c的优先级决定为第三。
主机单元21指示封装搬运装置3,将具有最高的优先级的托盘a搬运到驱动器22,将在托盘a收容的半导体封装A~B安装于驱动器22的两个插座222、即插座组#1。封装搬运装置3将托盘a搬运到驱动器22,将在托盘a收容的半导体封装A~B一并安装于驱动器22的插座组#1。主机单元21将表示收容了半导体封装A~B的托盘a存在于插座组#1的信息储存于托盘管理表7。
如此,在驱动器22所含的插座222的总数与在托盘46收容的半导体封装41的数量相等的情况下,在具有第一的优先级的托盘a收容的半导体封装A~B分别被安装于驱动器22的插座组#1的两个插座222。在这种情况下,第一的优先级对应于第一等级的优先级。
此外,具有第二至第三的优先级的两个托盘46(托盘b、托盘c)处于被保管于封装仓储库4的状态。封装仓储库4能够包含第一保管场所与第二保管场所的至少两种保管场所。第一保管场所与封装搬运装置3之间的距离比第二保管场所与封装搬运装置3之间的距离短。第一保管场所例如包含保管位置#1。第二保管场所例如包含保管位置#2。保管位置#1是对于封装搬运装置3来说与保管位置#2相比更容易取出托盘46的保管位置。
被保管于封装仓储库4的两个托盘46中的具有第二的优先级的托盘b被保管于第一保管场所含的保管位置#1。第二的优先级相当于比第一等级优先级低的第二等级优先级。
此外,被保管于封装仓储库4的两个托盘46中的具有第三的优先级托盘c被保管于第二保管场所含的保管位置#2。第三的优先级相当于比第二等级优先级低的第三等级优先级。
这里,对被保管于封装仓储库4的托盘b的优先级超过托盘a的优先级时的主机单元21的动作进行说明。图34是用于对在本实施方式的储存系统1中执行的、基于托盘46的优先级的变更将托盘46的位置在封装仓储库4与驱动器22的插座222之间变更的动作进行说明的另一图。
例如,假定半导体封装A的优先级从第一下降至第三、半导体封装B的优先级从第二下降至第四、半导体封装C的优先级从第三上升至第一、半导体封装D的优先级从第四上升至第二的情况。主机单元21使用基于访问请求的频率等的规定的算法来更新多个半导体封装41分别具有的优先级。
主机单元21根据多个半导体封装41分别具有的优先级已被更新的情况来更新多个托盘46分别具有的优先级。这里,在托盘b收容的半导体封装C~D具有的优先级均超过在托盘a收容的半导体封装A~B具有的优先级,因此主机单元21更新托盘a~b各自的优先级,以使得托盘b的优先级变得比托盘a的优先级高。由此,托盘b具有最高的优先级(优先级=1),托盘a具有第二高的优先级(优先级=2)。
然后,主机单元21指示封装搬运装置3:将在托盘a收容的半导体封装A~B从插座组#1的两个插座222取下;将托盘b搬运到驱动器22,将在托盘b收容的半导体封装C~D安装于插座组#1的两个插座222;以及将所取下的托盘a搬运到封装仓储库4的例如保管位置#1。封装搬运装置3通过将托盘a从插座组#1取下,将在托盘a收容的半导体封装A~B从插座组#1的两个插座222一并取下。然后,封装搬运装置3将托盘b搬运到驱动器22,将在托盘b收容的半导体封装C~D一并安装于取下在托盘a收容的半导体封装A~B后的插座组#1的两个插座222,然后将所取下的托盘a搬运到封装仓储库4的保管位置#1。
然后,主机单元21更新托盘管理表7。具体而言,主机单元21将表示托盘a被保管于封装仓储库4的保管位置#1的信息、以及表示托盘b存在于驱动器22的插座组#1的信息储存于托盘管理表7。
如此,与按照每个半导体封装41搬运的情况不同,主机单元21能够指示封装搬运装置3按照每个收容多个半导体封装41的托盘46进行搬运。由此,能够将多个半导体封装41一并安装于多个插座222,因此能够减少从主机单元21向封装搬运装置3发送指示的频率、以及封装搬运装置3执行搬运和装卸动作的频率。
接着,对变更保管有托盘46的封装仓储库4内的保管位置的动作进行说明。图35是用于对在本实施方式的储存系统1中执行的、基于托盘46的优先级的变更将托盘46的位置在封装仓储库4内变更的动作进行说明的图。
这里,在图33所示的状态下,例如假定托盘c的优先级从第三上升至第二、托盘b的优先级从第二下降至第三的情况。托盘c的新优先级(第二)属于第二等级的优先级,托盘b的新优先级(第三)属于第三等级的优先级。因而,主机单元21指示封装搬运装置3将托盘c的保管位置与托盘b的保管位置交换。首先,封装搬运装置3从封装仓储库4的保管位置#1取出托盘b。然后,封装搬运装置3进一步从封装仓储库4的保管位置#2取出托盘c。之后,封装搬运装置3在封装仓储库4的保管位置#2保管托盘b。然后,封装搬运装置3在封装仓储库4的保管位置#1保管托盘c。
然后,主机单元21更新托盘管理表7。具体而言,主机单元21将表示托盘b被保管于封装仓储库4的保管位置#2的信息、以及表示托盘c被保管于封装仓储库4的保管位置#1的信息储存于托盘管理表7。
通过上述的动作,主机单元21能够控制为,将被保管于封装仓储库4的托盘46中的具有更高优先级的托盘46保管于对于封装搬运装置3来说更容易取出的保管位置(这里是保管场所#1)。由此,在被保管于封装仓储库4的保管场所#1的托盘46具有的优先级超过第二等级的优先级时,能够缩短将该托盘46从封装仓储库4搬运到驱动器22所需的时间。
接着,对在能够使用封装搬运装置3的缓冲器的情况下、由主机单元21控制的托盘46的搬运以及装卸动作进行说明。图36是用于对在本实施方式的储存系统1中执行的、基于托盘46的优先级的变更将托盘46的位置在封装仓储库4、封装搬运装置3与驱动器22的插座222之间变更的动作进行说明的图。
主机单元21对半导体封装A、半导体封装B、……、半导体封装F为止的6个半导体封装41进行管理。此外,主机单元21对托盘a、托盘b、托盘c的三个托盘46进行管理。这里,半导体封装A是最高优先级的半导体封装41,收容于托盘a。半导体封装B是优先级第二高的半导体封装41,收容于托盘a收容。半导体封装C是优先级第三高的半导体封装41,收容于托盘b。半导体封装D是优先级第四高的半导体封装41,收容于托盘b。半导体封装E是优先级第五高的半导体封装41,收容于托盘c。半导体封装F是优先级第六高的半导体封装41,收容于托盘c。
这里,主机单元21将所收容的规定个数的半导体封装41具有的优先级的平均最高的托盘a的优先级决定为第一,将所收容的规定个数的半导体封装41具有的优先级的平均第二高的托盘b的优先级决定为第二,将所收容的规定个数的半导体封装41具有的优先级的平均第三高的托盘c的优先级决定为第三。
主机单元21指示封装搬运装置3,将具有最高的优先级的托盘a搬运到驱动器22,将在托盘a收容的半导体封装A~B安装于驱动器22的两个插座222、即插座组#1。封装搬运装置3将托盘a搬运到驱动器22,将在托盘a收容的半导体封装A~B一并安装于驱动器22的插座组#1。主机单元21将表示收容了半导体封装A~B的托盘a存在于插座组#1的信息储存于托盘管理表7。
如此,在驱动器22所含的插座222的总数与在托盘46收容的半导体封装41的数量相等的情况下,具有第一的优先级的在托盘a收容的半导体封装A~B分别被安装于驱动器22的插座组#1的两个插座222。在这种情况下,第一的优先级对应于第一等级优先级。
此外,主机单元21指示封装搬运装置3保持具有第二的优先级的托盘b。第二的优先级相当于比第一等级的优先级低的第二等级的优先级。
受到指示的封装搬运装置3(例如是搬运单元#1)保持托盘b。由此,具有第二的优先级的托盘46在封装搬运装置3中被保持。即,保持托盘b的搬运单元#1用作封装搬运装置3的缓冲器(缓冲器#1)。
主机单元21将表示托盘b被保持于搬运单元#1(缓冲器#1)的信息储存于托盘管理表7。
此外,具有第三的优先级的托盘c处于被保管于封装仓储库4的状态。主机单元21使封装搬运装置3在第一保管场所含的保管位置#1保管托盘c。主机单元21将表示托盘c被保管于保管位置#1的信息储存于托盘管理表7。
这里,对被保持于封装搬运装置3的缓冲器#1的托盘b的优先级超过托盘a的优先级时的主机单元21的动作进行说明。图37是用于对在本实施方式的储存系统1中执行的、基于托盘46的优先级的变更将托盘46的位置在封装搬运装置3与驱动器22的插座222之间变更的动作进行说明的图。
例如,假定半导体封装A的优先级从第一下降至第三、半导体封装B的优先级从第二下降至第四、半导体封装C的优先级从第三上升至第一、半导体封装D的优先级第四第二上的情况。主机单元21使用基于访问请求的频率等的规定的算法来更新多个半导体封装41分别具有的优先级。
主机单元21根据多个半导体封装41分别具有的优先级已被更新的情况来更新多个托盘46分别具有的优先级。这里,在托盘b收容的半导体封装C~D具有的优先级均超过在托盘a收容的半导体封装A~B具有的优先级,因此主机单元21以托盘b的优先级变得比托盘a的优先级高的方式更新托盘a~b各自的优先级。由此,托盘b具有最高的优先级(优先级=1),托盘a具有第二高的优先级(优先级=2)。
然后,主机单元21指示封装搬运装置3进行:将在托盘a收容的半导体封装A~B从插座组#1的两个从插座222取下;将托盘b搬运到驱动器22,将在托盘b收容的半导体封装C~D安装于插座组#1的两个插座222;以及将所取下的托盘a保持于封装搬运装置3。封装搬运装置3通过将托盘a从插座组#1取下,将在托盘a收容的半导体封装A~B从驱动器22的插座组#1的两个从插座222一并取下。然后,封装搬运装置3将被保持于搬运单元#1的托盘b搬运到驱动器22,将在托盘b收容的半导体封装C~D一并安装于取下在托盘a收容的半导体封装A~B后的插座组#1的两个插座222。所取下的托盘a被维持为由封装搬运装置3(例如是搬运单元#1)保持的状态。
根据上述的动作,主机单元21更新托盘管理表7。具体而言,主机单元21将表示托盘a被保持于封装搬运装置3的搬运单元#1(缓冲器#1)的信息、以及表示托盘b存在于插座组#1的信息储存于托盘管理表7。
接着,对在被保管于封装仓储库4的托盘46的优先级超过被保持于封装搬运装置3的缓冲器的托盘46的优先级的情况下的交换动作进行说明。图38是用于对在本实施方式的储存系统1中执行的、基于托盘46的优先级的变更将托盘46的位置在封装仓储库4与封装搬运装置3之间变更的动作进行说明的图。
这里,在图36所示的状态下,例如,假定托盘c的优先级从第三上升至第二、托盘b的优先级从第二下降至第三的情况。托盘c的新优先级(第二)属于第二等级的优先级,托盘b的新优先级(第三)属于第三等级的优先级。因而,主机单元21指示封装搬运装置3将托盘b的位置与托盘c的位置交换。具体而言,首先,主机单元21指示封装搬运装置3将托盘b搬运到封装仓储库4的保管位置#1,进一步指示封装搬运装置3将托盘c被保持于搬运单元#1。受到指示的封装搬运装置3将保持有搬运单元#1的托盘b搬运到封装仓储库4的保管位置#1。然后,搬运单元#1将被保管于封装仓储库4的保管位置#1的托盘c与保持的托盘b交换。搬运单元#1作为缓冲器#1保持托盘c。
根据上述的动作,主机单元21更新托盘管理表7。具体而言,主机单元21将表示托盘b被保管于封装仓储库4的保管位置#1的信息、以及表示托盘c被保持于封装搬运装置3的搬运单元#1(缓冲器#1)的信息储存于托盘管理表7。
通过上述的动作,主机单元21能够将被保管于封装仓储库4的托盘46中的具有更高优先级的在托盘46收容的半导体封装41预先保持于封装搬运装置3。由此,在被保持于封装搬运装置3的托盘46具有的优先级超过存在于驱动器22的插座组#1的托盘46具有的优先级时,能够消除封装搬运装置3从封装仓储库4取出托盘46所需的时间。
接着,对对于在托盘46收容的半导体封装41的非易失性存储器晶粒411的数据的读出或者写入处理进行说明。图39是表示由本实施方式的储存系统1的主机单元21执行的、对于在托盘46收容的规定个数的半导体封装41中的任一个所含的非易失性存储器晶粒411的数据的读出或者写入处理的顺序的流程图。
首先,主机单元21决定包含访问对象的非易失性存储器晶粒411的半导体封装41(步骤S41)。这里,基于从应用程序211接收的读出请求或者写入请求基于来决定访问对象的非易失性存储器晶粒411。然后,在步骤S41中决定包含该访问对象的非易失性存储器晶粒411的半导体封装41。
然后,主机单元21将收容步骤S41中被决定的半导体封装41的托盘46确定(步骤S42)。在步骤S42中,主机单元21通过参照半导体封装管理表6来取得收容被决定的半导体封装41的托盘46的托盘识别名。由此,主机单元21能够确定收容被决定的半导体封装41的托盘46。
主机单元21对步骤S42中被确定的托盘46是否被安装于驱动器22的插座组、即在被确定的托盘46收容的规定个数的半导体封装41是否被安装于驱动器22的规定个数的插座222进行判定(步骤S43)。在步骤S43中,主机单元21通过参照托盘管理表7而取得表示被确定的托盘46的状态的信息。由此,主机单元21能够对被确定的托盘46是否被安装于驱动器22的插座组进行判定。
在被确定的托盘46被安装于驱动器22的插座组的情况下(步骤S43中,是),主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S45)。
在被确定的托盘46未被安装于驱动器22的插座组的情况下(步骤S43中,否),主机单元21使封装搬运装置3将被确定的托盘46从封装仓储库4搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222(步骤S44)。
在通过封装搬运装置3在规定个数的插座222安装在托盘46收容的规定个数的半导体封装41的情况下,主机单元21使用驱动器22内的条形码读取器从该托盘46的条形码读取托盘标识符(托盘识别名)。然后,主机单元21对所读取的托盘识别名是否与被确定的托盘46的托盘识别名一致进行判定。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21可以进一步经由控制器223读出在该托盘46收容的被决定的半导体封装41中储存的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行判定。然后,在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的半导体存储器晶粒411的数据的读出或者写入(步骤S45)。
图40是表示由本实施方式的储存系统1的主机单元21执行的、对于在托盘46收容的规定个数的半导体封装41中的任一个所含的非易失性存储器晶粒411的数据的读出或者写入处理的顺序的详细情况的流程图。
首先,主机单元21决定包含访问对象的非易失性存储器晶粒411的半导体封装41(步骤S51)。
主机单元21将收容有步骤S51中被决定的半导体封装41的托盘46确定(步骤S52)。在步骤S52中,主机单元21通过参照半导体封装管理表6来取得收容被决定的半导体封装41的托盘46的托盘识别名。由此,主机单元21能够确定收容被决定的半导体封装41的托盘46。
主机单元21对步骤S52中被确定的托盘46是否被安装于驱动器22的插座组、即在被确定的托盘46收容的规定个数的半导体封装41是否被安装于驱动器22的规定个数的插座222进行判定(步骤S53)。在步骤S53中,主机单元21通过参照托盘管理表7来取得表示步骤S52中被确定的托盘46的状态的信息。由此,主机单元21能够对被确定的托盘46是否被安装于驱动器22的插座组进行判定。
在被确定的托盘46被安装于驱动器22的插座组的情况下(步骤S53中,是),主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S54)。
在被确定的托盘46未被安装于驱动器22的插座组的情况下(步骤S53中,否),主机单元21对驱动器22是否有空的插座组进行确认(步骤S55)。空的插座组是未安装任一个半导体封装41的规定个数的插座222。
在驱动器22有空的插座组的情况下(步骤S55中,是),主机单元21使封装搬运装置3将被确定的托盘46从封装仓储库4搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于作为空的插座组的规定个数的插座222(步骤S56)。在这种情况下,主机单元21指示封装搬运装置3将被确定的托盘46从封装仓储库4取出、以及将被确定的托盘46搬运到驱动器22并安装于空的插座组。
在通过封装搬运装置3将在托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222的情况下,主机单元21使用驱动器22内的条形码读取器从该托盘46的条形码读取托盘标识符(托盘识别名)。然后,主机单元21对所读取的托盘识别名是否与被确定的托盘46的托盘识别名一致进行判定。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21将表示被确定的托盘46安装于驱动器22的插座组的信息储存于托盘管理表7。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21可以进一步经由控制器223读出在该托盘46收容的被决定的半导体封装41中储存的封装标识符,对所读出的封装标识符与被决定的半导体封装41的封装标识符是否一致进行判定。然后,在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的半导体存储器晶粒411的数据的读出或者写入(步骤S54)。
在驱动器22没有空的插座组的情况下(步骤S55中,否),主机单元21对在被安装于驱动器22的插座组的托盘46中是否存在具有比被确定的托盘46的优先级低的优先级的托盘46进行判定(步骤S57)。
在被安装于驱动器22的插座组的托盘46中不存在具有比被确定的托盘46的优先级低的优先级的托盘46的情况下(步骤S57中,否),主机单元21再次执行步骤S55的处理。主机单元21待机直到通过各托盘46的优先级的变更而在被安装于驱动器22的插座组的托盘46中存在具有比被确定的托盘46的优先级低的优先级的托盘46为止。
在被安装于驱动器22的插座组的托盘46中存在具有比被确定的托盘46的优先级低的优先级的托盘46的情况下(步骤S57中,是),主机单元21使封装搬运装置3将被安装于驱动器22的插座组的托盘46中的具有最低优先级的托盘46从插座组取下,然后将所取下的托盘46搬运到封装仓储库4(步骤S58)。由此,取下该托盘46后的插座组成为包含规定个数的插座的空的插座组。
主机单元21使封装搬运装置3将被确定的托盘46从封装仓储库4搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于空的插座组(步骤56)。在这种情况下,主机单元21指示封装搬运装置3将被确定的托盘46从封装仓储库4取出、以及将被确定的托盘46搬运到驱动器22并安装于插座组。
在通过封装搬运装置3在插座组安装了托盘46的情况下,主机单元21使用驱动器22内的条形码读取器从该托盘46的条形码读取托盘标识符(托盘识别名)。然后,主机单元21对所读取的托盘识别名是否与被确定的托盘46的托盘识别名一致进行判定。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21将表示被确定的托盘46安装于驱动器22的插座组的信息储存于托盘管理表7。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21进一步可以经由控制器223读出在该托盘46收容的被决定的半导体封装41中储存的封装标识符,对所读出的封装标识符是否与被决定的半导体封装41的封装标识符一致进行判定。然后,在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的半导体存储器晶粒411的数据的读出或者写入(步骤S54)。
由此,即使在驱动器22没有空的插座组的情况下,主机单元21也能够通过将具有比被确定的托盘46具有的优先级低的优先级的托盘46从插座组取下,将在被确定的托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222。
接着,对在能够使用封装搬运装置3的缓冲器的情况下、对于在托盘46收容的被决定的半导体封装41所含的非易失性存储器晶粒411的数据的读出或者写入处理进行说明。图41A以及图41B是表示由本实施方式的储存系统1的主机单元21执行的对于非易失性存储器晶粒411的数据的读出或者写入处理的另一顺序的流程图。
首先,主机单元21决定包含访问对象的非易失性存储器晶粒411的半导体封装41(步骤S601)。
主机单元21将收容有步骤S601中被决定的半导体封装41的托盘46确定(步骤S602)。在步骤S602中,主机单元21通过参照半导体封装管理表6来取得收容被决定的半导体封装41的托盘46的托盘识别名。由此,主机单元21能够确定收容被决定的半导体封装41的托盘46。
主机单元21对步骤S602中被确定的托盘46是否被安装于驱动器22的插座组、即在被确定的托盘46收容的规定个数的半导体封装41是否被安装于驱动器22的规定个数的插座222进行判定(步骤S603)。在步骤S603中,主机单元21通过参照托盘管理表7来取得表示步骤S602中被确定的托盘46的状态的信息。由此,主机单元21能够对被确定的托盘46是否被安装于驱动器22的插座组进行判定。
在被确定的托盘46被安装于驱动器22的插座组的情况下(步骤S603中,是),主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的非易失性存储器晶粒411的数据的读出或者写入(步骤S604)。
在被确定的托盘46未被安装于驱动器22的插座组的情况下(步骤S603中,否),主机单元21对驱动器22是否有空的插座组进行确认(步骤S605)。
在驱动器22有空的插座组的情况下(步骤S605中,是),主机单元21执行图41B的步骤S606的处理。
在驱动器22没有空的插座组的情况下(步骤S605中,否),主机单元21对在被安装于驱动器22的插座组的托盘46中是否存在具有比被确定的托盘46的优先级低的优先级的托盘46进行判定(步骤S608)。
在被安装于驱动器22的插座组的托盘46中不存在具有比被确定的托盘46低的优先级的托盘46的情况下(步骤S608中,否),主机单元21再次执行步骤S605的处理。主机单元21待机直到通过各托盘46的优先级的变更而在被安装于驱动器22的插座组的托盘46中存在具有比被确定的托盘46的优先级低的优先级的托盘46。
在被安装于驱动器22的插座组的托盘46中存在具有比被确定的托盘46的优先级低的优先级的托盘46的情况下(步骤S608中,是),主机单元21使封装搬运装置3将具有比被确定的托盘46的优先级低的优先级的托盘46从插座组取下,然后将所取下的托盘46搬运到封装搬运装置3的缓冲器(步骤S609)。由此,从插座组取下的托盘46不被保管于封装仓储库4而是被保持于封装搬运装置3。此外,取下托盘46后的插座组成为空的插座组。然后,主机单元21执行图41B的步骤S606的处理。
主机单元21对被确定的托盘46是否存在于封装搬运装置3的缓冲器、即被确定的托盘46是否在封装搬运装置3中被保持进行判定(步骤S606)。
在被确定的托盘46存在于封装搬运装置3的缓冲器的情况下、即被确定的托盘46被保持于封装搬运装置3中的任一个搬运单元31的情况下(步骤S606中,是),主机单元21使封装搬运装置3将被确定的托盘46从封装搬运装置3的缓冲器搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于作为空的插座组的规定个数的插座222(步骤S607)。在这种情况下,主机单元21对被确定的托盘46保持搬运单元31指示将被确定的托盘46搬运到驱动器22,将规定个数的半导体封装41安装于驱动器22的规定个数的插座222。
在通过搬运单元31将托盘46的规定个数的半导体封装41安装于驱动器22的规定个数的插座222的情况下,主机单元21使用驱动器22内的条形码读取器从该托盘46的条形码读取托盘标识符(托盘识别名)。然后,主机单元21对所读取的托盘识别名与被确定的托盘46的托盘识别名是否一致进行判定。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21将表示被确定的托盘46安装于驱动器22的插座组的信息储存于托盘管理表7。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21可以经由控制器223读出在该托盘46收容的被决定的半导体封装41中储存的封装标识符,对所读出的封装标识符与被决定的半导体封装41的封装标识符是否一致进行判定。然后,在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的半导体存储器晶粒411的数据的读出或者写入(图41A的步骤S604)。
在被确定的托盘46不存在于封装搬运装置3中的任一个缓冲器的情况下、即在被确定的托盘46不被保持于封装搬运装置3中的任一个搬运单元31的情况下(步骤S606中,否),主机单元21对封装搬运装置3是否有空的缓冲器进行确认(步骤S610)。封装搬运装置3的空的缓冲器是未保持托盘46的搬运单元31。
在封装搬运装置3有空的缓冲器的情况下、即在存在未保持托盘46的搬运单元31的情况下(步骤S610中,是),主机单元21使封装搬运装置3将被确定的托盘46从封装仓储库4搬运到未保持封装搬运装置3的空的缓冲器、即托盘46的搬运单元31(步骤S611)。在这种情况下,主机单元21可以对未保持托盘46的搬运单元31指示将被确定的托盘46从封装仓储库4取出。由此,被确定的托盘46由该搬运单元31保持,因此被确定的托盘46成为存在于封装搬运装置3的缓冲器的状态。
然后,主机单元21使封装搬运装置3将被确定的托盘46从封装搬运装置3的缓冲器搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222(步骤S607)。
在通过搬运单元31将在托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222的情况下,主机单元21使用驱动器22内的条形码读取器从该托盘46的条形码读取托盘标识符(托盘识别名)。然后,主机单元21对所读取的托盘识别名与被确定的托盘46的托盘识别名是否一致进行判定。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21将表示被确定的托盘46安装于驱动器22的插座组的信息储存于托盘管理表7。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21可以进一步经由控制器223读出在该托盘46收容的半导体封装41中储存的封装标识符,对所读出的封装标识符与被决定的半导体封装41的封装标识符是否一致进行判定。然后,在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的半导体存储器晶粒411的数据的读出或者写入(图41A的步骤S604)。
在封装搬运装置3不存在空的缓冲器的情况下(步骤S610中,否),主机单元21对在被保持于封装搬运装置3的缓冲器的托盘46中是否存在具有比被确定的托盘46的优先级低的优先级的托盘46进行判定(步骤S612)。
在被保持于封装搬运装置3的缓冲器的托盘46中不存在具有比被确定的托盘46的优先级低的优先级的托盘46的情况下(步骤S612中,否),主机单元21再次执行步骤S610的处理。主机单元21待机直到通过各托盘46的优先级的变更而在被保持于封装搬运装置3的缓冲器的托盘46中存在具有比被确定的托盘46的优先级低的优先级的托盘46为止。
在被保持于封装搬运装置3的缓冲器的托盘46中存在具有比被确定的托盘46低的优先级的托盘46的情况下(步骤S612中,是),主机单元21使封装搬运装置3将被保持于封装搬运装置3的缓冲器的托盘46中的具有最低优先级的托盘46搬运到封装仓储库4(步骤S613)。在步骤S613中,主机单元21可以对保持有具有最低优先级的托盘46的搬运单元31指示将托盘46搬运到封装仓储库4。由此,该搬运单元31成为未保持托盘46的空的缓冲器。
然后,主机单元21使封装搬运装置3将被确定的托盘46从封装仓储库4搬运到封装搬运装置3的空的缓冲器。在这种情况下,主机单元21可以对成为空的缓冲器的搬运单元31指示将被确定的托盘46从封装仓储库4取出。由此,被确定的托盘46由该搬运单元31保持,因此被确定的托盘46成为存在于封装搬运装置3的缓冲器的状态。
然后,主机单元21使封装搬运装置3将被确定的托盘46从封装搬运装置3的缓冲器搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222(步骤S607)。
在通过搬运单元31将在托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222的情况下,主机单元21使用驱动器22内的条形码读取器从该托盘46的条形码读取托盘标识符(托盘识别名)。然后,主机单元21对所读取的托盘识别名与被确定的托盘46的托盘识别名是否一致进行判定。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21将表示被确定的托盘46安装于驱动器22的插座组的信息储存于托盘管理表7。
在所读取的托盘识别名与被确定的托盘46的托盘识别名一致的情况下,主机单元21可以进一步经由控制器223读出在该托盘46收容的半导体封装41中储存的封装标识符,对所读出的封装标识符与被决定的半导体封装41的封装标识符是否一致进行判定。然后,在所读出的封装标识符与被决定的半导体封装41的封装标识符一致的情况下,主机单元21经由控制器223来执行对于在被确定的托盘46收容的被决定的半导体封装41所含的访问对象的半导体存储器晶粒411的数据的读出或者写入(图41A的步骤S604)。
如上所述,第二实施方式的储存系统1能够通过使用收容规定个数的半导体封装41的托盘46,将规定个数的半导体封装41集中保管、搬运以及装卸。主机单元21从由储存系统1管理的托盘46中决定收容有包含访问对象的非易失性存储器晶粒411的半导体封装41的托盘46。
在决定的在托盘46收容的规定个数的半导体封装41被安装于驱动器22的规定个数的插座222的情况下,主机单元21执行对于访问对象的非易失性存储器晶粒411的数据的读出或者写入。
在被确定的托盘46收容的规定个数的半导体封装41未被安装于驱动器22的规定个数的插座222、并且被确定的托盘46被保管于封装仓储库4的情况下,主机单元21使封装搬运装置3将被确定的托盘46搬运到驱动器22,将在被确定的托盘46收容的规定个数的半导体封装41安装于驱动器22的规定个数的插座222。
如此,在本实施方式的储存系统1中,主机单元21能够以在托盘46收容的半导体封装41的个数为单位,将与驱动器22的插座222连接的半导体封装41与另一半导体封装41交换。
由此,能够以在托盘46收容的半导体封装41的个数为单位对多个半导体封装41进行管理、搬运、装卸,因此能够更高效地执行多个半导体封装41的管理以及搬运。
说明了本发明的几实施方式,但这些实施方式是作为例子提示的,并不意图限定发明的范围。这些新的实施方式能够以其他各种的方式实施,在不脱离发明主旨的范围内,能够进行各种省略、替换、变更。这些实施方式及其变形包含在发明的范围及主旨中并且包含在权利要求所记载的发明及其等同的范围中。
附图标记说明
1:储存系统
2:储存装置读写装置
3:封装搬运装置
4:封装仓储库
5:管理服务器
6:半导体封装管理表
7:托盘管理表
21:主机单元(主机装置)
22:驱动器
31:搬运单元
41:半导体封装
46:托盘
222:插座
223:控制器
411:非易失性存储器晶粒
Claims (17)
1.一种储存系统,其中,具备:
封装仓储库,能够保管分别包含一个以上的非易失性存储器晶粒的多个半导体封装;
驱动器,包含构成为以能够装卸的方式安装所述半导体封装的至少一个插座、以及对被安装于所述插座的所述半导体封装的所述一个以上的非易失性存储器晶粒进行控制的控制器;
主机装置,以能够通信的方式与所述驱动器连接,构成为经由所述控制器来执行对于所述半导体封装的所述一个以上的非易失性存储器晶粒的数据的读出以及写入;以及
封装搬运装置,构成为在所述封装仓储库与所述驱动器之间搬运所述半导体封装,
所述主机装置
在所述多个半导体封装中决定包含作为访问对象的第一非易失性存储器晶粒的第一半导体封装,
在所述第一半导体封装被安装于所述驱动器的所述插座的情况下,经由所述控制器来执行对于所述第一非易失性存储器晶粒的数据的读出或者写入,
在所述第一半导体封装未被安装于所述驱动器的所述插座的情况下,使所述封装搬运装置将所述第一半导体封装搬运并安装到所述驱动器的所述插座。
2.根据权利要求1所述的储存系统,其中,
所述主机装置
在所述第一半导体封装未被安装于所述驱动器的所述插座并且所述驱动器有空的插座的情况下,使所述封装搬运装置将所述第一半导体封装搬运并安装到所述驱动器的所述空的插座,
在所述第一半导体封装未被安装于所述驱动器的所述插座并且所述驱动器有空的插座的情况下,使所述封装搬运装置将被安装于所述插座的所述半导体封装从所述插座取下,使所述封装搬运装置将所述第一半导体封装搬运并安装到取下所述半导体封装后的所述驱动器的所述插座。
3.根据权利要求1所述的储存系统,其中,
所述主机装置
对所述多个半导体封装各自的优先级进行管理,
基于所述多个半导体封装各自的优先级对所述多个半导体封装各自存在的位置进行控制,以使得具有第一等级的优先级的所述半导体封装被安装于所述驱动器的所述插座、具有比所述第一等级的优先级低的第二等级的优先级的所述半导体封装被保持于所述封装搬运装置、具有比所述第二等级的优先级低的第三等级的优先级的所述半导体封装被保管于所述封装仓储库。
4.根据权利要求3所述的储存系统,其中,
所述封装仓储库包含第一保管场所和第二保管场所,
所述主机装置基于所述多个半导体封装各自的优先级对所述多个半导体封装各自存在的位置进行控制,以使得具有所述第三等级的优先级的所述半导体封装被保管于所述封装仓储库的所述第一保管场所、具有比所述第三等级的优先级低的第四等级的优先级的所述半导体封装被保管于所述封装仓储库的所述第二保管场所。
5.根据权利要求4所述的储存系统,其中,
所述第一保管场所与所述封装搬运装置之间的距离比所述第二保管场所与所述封装搬运装置之间的距离短。
6.根据权利要求1所述的储存系统,其中,
所述封装仓储库构成为能够保管分别收容第一个数的所述半导体封装的多个托盘,所述第一个数是两个以上,
所述驱动器包含所述第一个数的所述插座,所述第一个数的所述插座能够一并装卸维持被收容于所述托盘的状态的所述第一个数的所述半导体封装,
所述主机装置
在所述多个托盘中确定收容所述第一半导体封装的第一托盘,
在所述第一托盘收容的所述第一个数的所述半导体封装被安装于所述驱动器的所述第一个数的所述插座的情况下,经由所述控制器来执行对于所述第一非易失性存储器晶粒的数据的读出或者写入,
在所述第一托盘收容的所述第一个数的所述半导体封装未与所述驱动器的所述第一个数的所述插座连接的情况下,使所述封装搬运装置将所述第一托盘搬运到所述驱动器,将在所述第一托盘收容的所述第一个数的所述半导体封装安装于所述第一个数的所述插座。
7.根据权利要求6所述的储存系统,其中,
所述主机装置
对基于所述多个半导体封装各自的优先级决定的所述多个托盘各自的优先级进行管理,
基于所述多个托盘各自的优先级对所述多个托盘各自存在的位置进行控制,以使得在具有第一等级的优先级的所述托盘收容的所述第一个数的所述半导体封装被安装于所述驱动器的所述第一个数的所述插座、具有比所述第一等级的优先级低的第二等级的优先级的所述托盘被在所述封装搬运装置中被保持、具有比所述第二等级的优先级低的第三等级的优先级的所述托盘被保管于所述封装仓储库所含的第一保管场所、具有比所述第三等级的优先级低的第四等级的优先级的所述托盘被保管于所述封装仓储库所含的第二保管场所。
8.根据权利要求7所述的储存系统,其中,
所述第一保管场所与所述封装搬运装置之间的距离比所述第二保管场所与所述封装搬运装置之间的距离短。
9.根据权利要求6所述的储存系统,其中,
所述封装仓储库包含托盘出入口,所述托盘出入口用于从所述封装仓储库的外部向所述封装仓储库追加所述托盘以及从所述封装仓储库向所述封装仓储库的外部排出所述托盘。
10.根据权利要求9所述的储存系统,其中,
所述封装仓储库包含能够载置所述托盘的相互平行地延伸的至少一对导轨,
被载置于所述一对导轨上的所述托盘能够沿着所述一对导轨移动。
11.根据权利要求10所述的储存系统,其中,
所述封装搬运装置与所述托盘出入口对置,
所述封装仓储库的所述一对导轨沿从所述托盘出入口朝向所述封装搬运装置的方向延伸。
12.根据权利要求6所述的储存系统,其中,
所述半导体封装包含第一面、与所述第一面为相反侧的第二面和配置于所述第二面的多个球型金属端子,
所述托盘具有形成有将所述半导体封装的所述多个球型金属端子露出的开口的面。
13.根据权利要求6所述的储存系统,其中,
所述半导体封装包含第一面、与所述第一面为相反侧的第二面和配置于所述第二面的多个球型金属端子,
所述驱动器还包含至少配置有所述第一个数的插座的基板,
所述基板包含一个以上的第一凹部,
所述托盘具有形成有将所述半导体封装的所述多个球型金属端子露出的开口的下表面,所述托盘的所述下表面包含分别与所述驱动器的所述基板的所述一个以上的第一凹部嵌合的一个以上的第一凸部。
14.根据权利要求13所述的储存系统,其中,
还具备盖部件,所述盖部件包含一个以上的第二凹部,
所述托盘具有与所述下表面为相反侧的上表面,所述托盘的所述上表面包含一个以上的第二凸部,
在所述基板上放置的所述托盘以所述盖部件的所述一个以上的第二凹部与所述托盘的所述上表面的所述一个以上的第二凸部嵌合的方式被所述盖部件覆盖。
15.根据权利要求1所述的储存系统,其中,
所述半导体封装包含多个非易失性存储器晶粒。
16.根据权利要求15所述的储存系统,其中,
所述半导体封装包含第一面、与所述第一面为相反侧的第二面和配置于所述第二面的多个球型金属端子,所述多个球型金属端子与所述多个非易失性存储器晶粒各自的通道端子连接。
17.根据权利要求1所述的储存系统,其中,
所述主机装置包含处理器,所述处理器构成为执行第一程序,所述第一程序用于对被保管于所述封装仓储库的所述半导体封装中储存的数据的量进行管理。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/032273 WO2023032121A1 (ja) | 2021-09-02 | 2021-09-02 | ストレージシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117396855A true CN117396855A (zh) | 2024-01-12 |
Family
ID=85410830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098859.9A Pending CN117396855A (zh) | 2021-09-02 | 2021-09-02 | 储存系统 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPWO2023032121A1 (zh) |
CN (1) | CN117396855A (zh) |
TW (1) | TWI813076B (zh) |
WO (1) | WO2023032121A1 (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000030433A (ja) * | 1998-07-09 | 2000-01-28 | Sony Corp | メモリカードとそのチェンジャー装置 |
JP2003197697A (ja) * | 2001-12-28 | 2003-07-11 | Hitachi Ltd | 半導体装置の製造方法 |
JP2005517236A (ja) | 2002-02-05 | 2005-06-09 | 株式会社アサカ | データストレージシステム |
JP2005181222A (ja) * | 2003-12-22 | 2005-07-07 | Renesas Technology Corp | 半導体装置の製造方法 |
US7867791B2 (en) * | 2005-07-29 | 2011-01-11 | Semiconductor Energy Laboratory Co., Ltd. | Manufacturing method of semiconductor device using multiple mask layers formed through use of an exposure mask that transmits light at a plurality of intensities |
JP2014053056A (ja) * | 2012-09-06 | 2014-03-20 | Toshiba Corp | 半導体記憶装置 |
JP2016081332A (ja) | 2014-10-17 | 2016-05-16 | 株式会社日立エルジーデータストレージ | 計算機システムおよび装置管理サーバ |
US10467163B1 (en) | 2015-10-27 | 2019-11-05 | Pavilion Data Systems, Inc. | Solid state drive multiplexer |
US10034407B2 (en) | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
TWI716685B (zh) * | 2017-05-22 | 2021-01-21 | 旺宏電子股份有限公司 | 電子系統及其操作方法 |
AU2019428638B2 (en) * | 2019-02-06 | 2023-11-09 | Hewlett-Packard Development Company, L.P. | Integrated circuit with address drivers for fluidic die |
US10922071B2 (en) * | 2019-03-13 | 2021-02-16 | Quanta Computer Inc. | Centralized off-board flash memory for server devices |
JP7274350B2 (ja) * | 2019-05-28 | 2023-05-16 | 東京エレクトロン株式会社 | 搬送システム、検査システム及び検査方法 |
US11527425B2 (en) * | 2019-12-31 | 2022-12-13 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systems and methods for tray cassette warehousing |
-
2021
- 2021-09-02 WO PCT/JP2021/032273 patent/WO2023032121A1/ja active Application Filing
- 2021-09-02 JP JP2023544910A patent/JPWO2023032121A1/ja active Pending
- 2021-09-02 CN CN202180098859.9A patent/CN117396855A/zh active Pending
- 2021-11-22 TW TW110143355A patent/TWI813076B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI813076B (zh) | 2023-08-21 |
WO2023032121A1 (ja) | 2023-03-09 |
TW202312454A (zh) | 2023-03-16 |
JPWO2023032121A1 (zh) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7996174B2 (en) | Disk drive testing | |
KR101562018B1 (ko) | 솔리드 스테이트 드라이브의 검사 장치 및 방법 | |
US5865319A (en) | Automatic test handler system for IC tester | |
KR20120013180A (ko) | 저장 장치 시험 | |
US8456123B2 (en) | Conveyance system and automated manufacturing system | |
JPWO2004106945A1 (ja) | 電子部品試験装置 | |
US20060039248A1 (en) | Library apparatus, control method and program | |
CN117396855A (zh) | 储存系统 | |
EP4383082A1 (en) | Storage system | |
KR20120013178A (ko) | 저장 디바이스 검사 | |
KR102024942B1 (ko) | 인라인 테스트 핸들러 및 그 제어방법 | |
KR102024944B1 (ko) | 인라인 테스트 핸들러 및 인라인 테스트 핸들러에서 테스트 트레이 이송 제어방법 | |
US11579189B2 (en) | Electronic component handling apparatus and electronic component testing apparatus | |
JP2023160449A (ja) | 部品供給装置 | |
KR102024943B1 (ko) | 인라인 테스트 핸들러 및 인라인 테스트 핸들러에서 테스트 트레이 이송 제어방법 | |
KR100928633B1 (ko) | 테스트트레이 이송장치, 이를 포함하는 핸들러, 이를이용한 반도체 소자 제조방법, 및 테스트트레이 이송방법 | |
KR101159479B1 (ko) | 라이브러리 장치와 라이브러리 시스템 | |
EP4318246A1 (en) | Storage system | |
TWI784429B (zh) | 晶粒儲料器、儲存晶粒載體的方法以及半導體晶粒製造系統 | |
JP2011150761A (ja) | ライブラリ装置 | |
KR100899559B1 (ko) | 에스에스디(ssd) 테스트 핸들러 | |
KR102024946B1 (ko) | 인라인 테스트 핸들러 | |
US11714124B2 (en) | Electronic component handling apparatus and electronic component testing apparatus | |
KR20200122296A (ko) | 키트-리스 픽 앤 플레이스 핸들러 | |
KR20150010040A (ko) | 인라인 테스트 핸들러 및 인라인 테스트 핸들러에서 테스트 트레이 이송 제어방법 |
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 |