JBOD subsystem and external emulation controller thereof
First Claim
1. A computer system comprising:
- a host entity for issuing IO requests;
an external JBOD (just a bunch of disks) emulation controller coupled to the host entity for emulating IO operations in response to the IO requests; and
a group of physical storage devices (PSDs) coupled to the JBOD emulation controller each through a point-to-point serial-signal interconnect for providing storage to the computer system through the JBOD emulation controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD), whereinsaid JBOD emulation controller defines at least one logical media unit (LMU) comprising sections of said group of PSDs, and is configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one LMU visible to the host entity, and the at least one LMU is contiguously addressable by the host entity to which the at least one LMU is made available, and said JBOD emulation controller performs the following functions;
bringing the whole LMU on line such that the whole LMU is accessible by the host entity, while the JBOD emulation controller is on line, and while a requisite quorum of said PSDs becomes on-line, in which the requisite quorum refers to said group of PSDs of the whole LMU data of which is accessible correctly by the JBOD emulation controller while at least one PSD of said PSDs is inaccessible; and
taking the whole LMU off line such that the whole LMU is inaccessible by the host entity, while the JBOD emulation controller is on line, and while all the requisite quorum of said PSDs is not on line, in which on line PSDs of said PSDs are less than the requisite quorum of said PSDs;
wherein said external JBOD emulation controller comprisesa central processing circuitry for performing said IO operations in response to said IO requests of said host entity;
at least one IO device interconnect controller coupled to said central processing circuitry;
at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and
at least one device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said PSDs; and
wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the LMU the operation is to be performed;
wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the JBOD emulation controller executes the associated sub-operations including transferring any associated data to/from the host entity; and
wherein when there is a failed operation, the JBOD emulation controller generates a status report and responds to the host entity with the status report indicating that the operation failed.
1 Assignment
0 Petitions
Accused Products
Abstract
A JBOD subsystem for providing storage to a host entity. The JBOD subsystem contains at least one external JBOD emulation controller coupled to the host entity for emulating IO operations in response to the IO requests and a set of at least one physical storage device coupled to the JBOD emulation controller for providing storage to the host entity through the JBOD emulation controller. The JBOD emulation controller defines at least one logical media unit (LMU) consisting of sections of the set of physical storage device (PSD) and communicates with the PSD through a point-to-point serial-signal interconnect. As an example, the point-to-point serial-signal interconnect can be a Serial ATA IO device interconnect.
-
Citations
75 Claims
-
1. A computer system comprising:
-
a host entity for issuing IO requests; an external JBOD (just a bunch of disks) emulation controller coupled to the host entity for emulating IO operations in response to the IO requests; and a group of physical storage devices (PSDs) coupled to the JBOD emulation controller each through a point-to-point serial-signal interconnect for providing storage to the computer system through the JBOD emulation controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD), wherein said JBOD emulation controller defines at least one logical media unit (LMU) comprising sections of said group of PSDs, and is configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one LMU visible to the host entity, and the at least one LMU is contiguously addressable by the host entity to which the at least one LMU is made available, and said JBOD emulation controller performs the following functions; bringing the whole LMU on line such that the whole LMU is accessible by the host entity, while the JBOD emulation controller is on line, and while a requisite quorum of said PSDs becomes on-line, in which the requisite quorum refers to said group of PSDs of the whole LMU data of which is accessible correctly by the JBOD emulation controller while at least one PSD of said PSDs is inaccessible; and taking the whole LMU off line such that the whole LMU is inaccessible by the host entity, while the JBOD emulation controller is on line, and while all the requisite quorum of said PSDs is not on line, in which on line PSDs of said PSDs are less than the requisite quorum of said PSDs; wherein said external JBOD emulation controller comprises a central processing circuitry for performing said IO operations in response to said IO requests of said host entity; at least one IO device interconnect controller coupled to said central processing circuitry; at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and at least one device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said PSDs; and wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the JBOD emulation controller executes the associated sub-operations including transferring any associated data to/from the host entity; and wherein when there is a failed operation, the JBOD emulation controller generates a status report and responds to the host entity with the status report indicating that the operation failed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A JBOD (just a bunch of disks) subsystem for providing storage to a host entity, comprising:
-
at least one external JBOD emulation controller for coupling to the host entity for emulating IO operations in response to IO requests issued from the host entity; and a group of PSDs each coupled to the JBOD emulation controller through a point-to-point serial-signal interconnect for providing storage to the host entity through the JBOD emulation controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD), wherein said JBOD emulation controller defines at least one logical media unit (LMU) comprising sections of said group of PSDs, and is configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one LMU visible to the host entity, and the at least one LMU is contiguously addressable by the host entity to which the at least one LMU is made available, and said JBOD emulation controller performs the following functions; bringing said whole LMU on line such that the whole LMU is accessible by the host entity, while the JBOD emulation controller is on line, and while a requisite quorum of said PSDs becomes on-line, in which the requisite quorum refers to said group of PSDs of the whole LMU data of which is accessible correctly by the JBOD emulation controller while at least one PSD of said PSDs is inaccessible; and taking said whole LMU off line such that the whole LMU is inaccessible by the host entity, while the JBOD emulation controller is on line, and while all the requisite quorum of said PSDs is not on line, in which on line PSDs of said PSDs are less than the requisite quorum of said PSDs; wherein said external JBOD emulation controller comprises a central processing circuitry for performing said IO operations in response to said IO requests of said host entity; at least one IO device interconnect controller coupled to said central processing circuitry; at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and at least one device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said PSDs; and wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the JBOD emulation controller executes the associated sub-operations including transferring any associated data to/from the host entity; and wherein when there is a failed operation, the JBOD emulation controller generates a status report and responds to the host entity with the status report indicating that the operation failed. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A method for performing JBOD (just a bunch of disks) emulation in a computer system having at least one external JBOD emulation controller and a group of physical storage devices (PSDs) connected to the JBOD emulation controller, the method comprising:
-
defining at least one logical media unit (LMU) comprising sections of said group of PSDs by the JBOD emulation controller; receiving and parsing IO requests from a host entity by the JBOD emulation controller to perform an IO operation to access the LMU by accessing said group of PSDs through at least one device-side IO device interconnect port in point-to-point serial signal transmission; and
performing the following functions;bringing said whole LMU on line such that the whole LMU is accessible by the host entity, while the JBOD emulation controller is on line, and while a requisite quorum of said PSDs becomes on-line, in which the requisite quorum refers to said group of PSDs of the whole LMU data of which is accessible correctly by the JBOD emulation controller while at least one PSD of said PSDs is inaccessible; and taking said whole LMU off line such that the whole LMU is inaccessible by the host entity, while the JBOD emulation controller is on line, and while all the requisite quorum of said PSDs is not on line, in which on line PSDs of said PSDs are less than the requisite quorum of said PSDs; the JBOD emulation controller is configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one LMU visible to the host entity, and the at least one LMU is contiguously addressable by the host entity to which the at least one LMU is made available; wherein said external JBOD emulation controller comprises a central processing circuitry for performing said IO operation in response to said IO requests of said host entity; at least one IO device interconnect controller coupled to said central processing circuitry; at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and at least one device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said PSDs in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); and wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the JBOD emulation controller executes the associated sub-operations including transferring any associated data to/from the host entity; and wherein when there is a failed operation, the JBOD emulation controller generates a status report and responds to the host entity with the status report indicating that the operation failed. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A non-transitory computer-readable storage medium having a computer program code stored therein that causes a computer system having an external JBOD (just a bunch of disks) emulation controller and a group of physical storage devices (PSDs) connected to the JBOD emulation controller to perform the steps of:
-
defining at least one logical medium unit comprising sections of said PSDs by the JBOD emulation controller; and receiving and parsing IO requests from a host entity by the JBOD emulation controller to perform an IO operation to access the logical media unit (LMU) by accessing said group of PSDs through at least one device-side IO device interconnect in point-to-point serial signal transmission, wherein said JBOD emulation controller performs the following functions; bringing the whole LMU on line such that the whole LMU is accessible by the host entity, while the JBOD emulation controller is on line, and while a requisite quorum of said PSDs becomes on-line, in which the requisite quorum refers to said group of PSDs of the whole LMU data of which is accessible correctly by the JBOD emulation controller while at least one PSD of said PSDs is inaccessible; and taking the whole LMU off line such that the whole LMU is inaccessible by the host entity, while the JBOD emulation controller is on line, and while all the requisite quorum of said PSDs is not on line, in which on line PSDs of said PSDs are less than the requisite quorum of said PSDs, and the JBOD emulation controller is configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one LMU visible to the host entity, and the at least one LMU is contiguously addressable by the host entity to which the at least one LMU is made available; wherein said external JBOD emulation controller comprises a central processing circuitry for performing said IO operation in response to said IO requests of said host entity; at least one IO device interconnect controller coupled to said central processing circuitry; at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and at least one device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said PSDs in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); and wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the JBOD emulation controller executes the associated sub-operations including transferring any associated data to/from the host entity; and wherein when there is a failed operation, the JBOD emulation controller generates a status report and responds to the host entity with the status report indicating that the operation failed. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75)
-
Specification