The present invention relates to solutions for reducing erase cycles. More particularly, the present invention pertains to solutions for reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device, such as NAND (Not And) flash memory devices.
Electronic storage devices that respectively employ a memory subsystem that includes memory devices or modules that use non-volatile memory cells are commonly known and are sometimes referred to as solid-state storage devices. The computer device industry has increased the adoption of these solid-state storage devices due to certain advantages offered by these types of storage devices over other forms of storage devices, such as rotational drives. The adoption of solid state storage devices as enhancement or even a replacement to rotational drives is not without some difficulty because many conventional computer devices, sometimes referred to as “hosts”, use host operating systems, file systems, or both that are optimized for use with rotational drives rather than solid state storage devices. For example, unlike rotational drives, solid state storage devices that use NAND flash memory devices, also referred to as “flash drives”, suffer from write limitations because these devices require an erase cycle before a write cycle can be performed on or within a flash block of a flash memory device. Currently, flash block can only support a limited number of erase cycles and after an approximate number of these erase cycles are performed on a flash block, the flash block will eventually be unable to store data in the flash block in a reliable manner. For instance, data stored in a flash block that is at or near its erase cycle limit may start exhibiting bit errors which will progressively increase in size until this data can no longer be reliably read from the flash block.
To reduce erase cycles, one traditional solution is to use wear-leveling but this does not actually reduce or minimize erase cycles. Instead, wear-leveling simply spreads out erase cycles by re-mapping writes from one flash block to another flash block. Another solution is to employ a write-in-place technique but this suffers from the disadvantage of increasing erase-cycles in embodiments that use control blocks.
Consequently, a need exists for reducing erase cycles in electronic storage devices, such as solid-state storage devices, that use erase-limited memory devices.
A solution for reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device is disclosed.
In the following detailed description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of the various embodiments of the present invention. Those of ordinary skill in the art will realize that these various embodiments of the present invention are illustrative only and are not intended to be limiting in any way. Other embodiments of the present invention will readily suggest themselves to such skilled persons having the benefit of this disclosure.
In addition, for clarity purposes, not all of the routine features of the embodiments described herein are shown or described. One of ordinary skill in the art would readily appreciate that in the development of any such actual implementation, numerous implementation-specific decisions may be required to achieve specific design objectives. These design objectives will vary from one implementation to another and from one developer to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming but would nevertheless be a routine engineering undertaking for those of ordinary skill in the art having the benefit of this disclosure.
The various embodiments disclosed herein are not intended to limit the scope and spirit of the herein disclosure. For example, the present invention may be used to enhance the basic architecture of existing storage solutions and devices that use semiconductor memory devices, such as flash memory, including the device disclosed in U.S. Pat. No. 5,822,251, entitled “Expandable Flash-Memory Mass-Storage Using Shared Buddy Lines and Intermediate Flash-Bus Between Device-Specific Buffers and Flash-Intelligent DMA controllers”, issued on Oct. 13, 1998, hereinafter named the “Patent”, and which is hereby incorporated by reference as if fully set forth herein.
With reference to
The term “flash memory device” is intended to include any form of non-volatile solid-state memory, including those that use blocks of non-volatile memory cells, named flash blocks. Each memory cell (not shown) may be single or multi-level. Flash memory devices are known by those of ordinary skill in the art. A flash memory device permits memory operations, such as a write or read operation, to be performed on these flash blocks according to a protocol supported by the flash memory device. A flash memory device may be implemented by using a NAND flash memory device that complies with the Open NAND Flash Interface Specification, commonly referred to as ONFI Specification. The term “ONFI Specification” is a known device interface standard created by a consortium of technology companies, called the “ONFI Workgroup”. The ONFI Workgroup develops open standards for NAND flash memory devices and for devices that communicate with these NAND flash memory devices. The ONFI Workgroup is headquartered in Hillsboro, Oreg. Using a flash memory device that complies with the ONFI Specification is not intended to limit the embodiment disclosed. One of ordinary skill in the art having the benefit of this disclosure would readily recognize that other types of flash memory devices employing different device interface protocols may be used, such as protocols compatible with the standards created through the Non-Volatile Memory Host Controller Interface (“NVMHCI”) working group. Members of the NVMHCI working group include Intel Corporation of Santa Clara, Calif., Dell Inc. of Round Rock, Tex. and Microsoft Corporation of Redmond, Wash.
In
Storage processing system 16 uses at least one logical storage unit, named a “flop”, when minimizing erase cycles. A flop includes a set of at least two flop sections from one or more minimum erasable locations that are from at least one erase-limited memory device, such as flash block 44 in flash memory device 14-1 and flash blocks 52-1 through 52-n in flash memory device 14-2, respectively. The variable n reflects the maximum number of flash blocks disposed in flash memory device 14-2. In addition, storage processing system 16 maps these flash blocks to a single primary address, such as a LBA (logical block address) address used by host 30. For example, flash memory device 14-1 may be used to include at least two flop sections 42-1 and 42-2, which are created from a single flash block 44 in flash memory device 14-1. Flash block 44 is mapped to a single primary address 62-1, and may thus also be referred to as a flop, such as flop 46. Thus in this example, flop sections are formed from a single flash block. When used to form a flop, each of these mapped flash blocks may be also referred as flop blocks. Using this naming convention in
In another example, flash memory device 14-2 may be initialized to in include at least two flop sections, such as 50-1 through 50-n, but unlike in the previous example, flop sections 50-1 through 50-n are created from n number of flash blocks, such as flash blocks 52-1 through 52-n in flash memory device 14-2. Flash blocks 52-1 through 52-n are mapped to a single primary address, and thus may be also referred to as a flop, such as flop 56. In this example, n number of flash sections are formed from n number of flash blocks. These examples are not intended to limit the embodiment shown in
A primary address may be any address, such as an LBA, that is associated by a host to data which is subject to a memory transaction request, such as memory transaction request 28 in
In
Primary addresses, such as addresses 62-1, 62-2, and 62-k, that are mapped to a flop block are subject to reduced erase-cycles. For example, address 62-1, which is in the form of an LBA, named LBA1, is mapped to a set of at least one flash block addresses respectively corresponding to a set of at least one flash blocks, such as PBA (physical block address) 1-1 and flash block 44. Similarly, address 62-2, which is in the form of an LBA, named LBA2, is mapped to a set of at least one flash block addresses respectively corresponding to a set of at least one flash blocks, such as PBA 2-1 through PBA 2-n and flash blocks 52-1 through 52-n, respectively. Further, address 62-k, which is in the form of an LBA, named LBAK, is mapped to a set of at least one flash block addresses respectively corresponding to a set of at least one flash blocks 68-1 through 68-M. These flash block addresses are associated with or have physical block addresses PBA M-1, PBA M-2, PBA M-N, and may be also referred to as flopL. Mapping a host address, such as an LBA, to a set of flash blocks that represent a flop is not intended to limit the present in anyway. Variable k, L, M, and N reflect a variable integer number and are not intended to limit the present invention in any way.
In accordance with yet another embodiment of the present invention, the data associated with the primary address associated with a flop, such as primary address 62-2 and flop 56 in
Minimum Erasable Location
In addition, this minimum erasable location is partitioned into at least one flop section, such as flop sections 72. In accordance with one embodiment of the present invention, a flop section, such as first flop section 74, represents a minimum writeable area selected for minimum erasable location 76 for the memory device. For example, if the memory device used is a flash memory device, such as 14-1 in FIG. 1, each flop section from plurality of flop sections 72, such as first flop section 74, would be formed from a selected minimum writable area of flash block 44. A flash block has at least two native minimum writable areas that can be used: a flash block page, named herein as a “page”, or a flash block partial page, named herein as a “partial page”. In the embodiment disclosed in
The minimum erasable location may be partitioned to have at minimum one flop section although a flop, such as flop 46, flop 56, or flop L in
Method of Initializing Flop Sections
A set of at least one minimum erasable locations that will be used to initialize a flop is selected 200. For example, flash blocks 52-1 through 52-n, in flash memory device 14-2 may be used to provide this set of minimum erasable locations. Flash blocks 52-1 through 52-n are referred to as flop blocks in
A primary address is mapped 202 to these minimum erasable locations. For example, an LBA used by host 30 is mapped to the addresses of flash blocks 52-1 through 52-n in flash memory device 14-2 by using mapping table 22. The addresses of flash blocks 52-1 through 52-n may be in the form of physical block addresses, such as PBA 2-1, PBA 2-2, and PBA 2-n.
These minimum erasable locations are erased 204 by storage processing system 16 as directed by program code 26. Erasing a minimum erasable location in a flop may also be referred to as initializing a flop block.
Initialization parameters are obtained or calculated, and then stored 206 into non-volatile memory, such as in a flash memory device. These parameters include: the size of a minimum erasable location, the size of the minimum writeable location that will be used as a flop section; the number of flop sections per minimum erasable location; the number of erasable locations mapped to the primary address in step 202; a sequence range; and an invalid flop section location.
The size of a minimum erasable location in this example is the size of flash block 52-1. In the embodiment shown, flash blocks that are used as minimum erasable locations are of the same size, and flash block 52-1 may be disposed with a block size of 256 KB.
The size of the minimum writeable location in this example is a flash block page. Although not intended to be limiting in any way, blocks 52-1 through 52-n are each disposed to have the same page size, such as 2 KB, and thus the flop sections initialized in this method each have a flop section size of 2 KB.
The number of flop sections per minimum erasable location may be calculated by dividing the size of the minimum erasable location used by the flop section size. In this example, the number of flop sections is equal to the flash block size of 256 KB divided by the flop section size of 2 KB.
The number of erasable locations mapped to the primary address in step 202 is equal to the number of flash block addresses mapped to the primary address in step 202, which is equal to n in this example.
The sequence range is a range of values, such as ascending numbers, that can be used to identify the relative position of a flop section in a flop according to the section selection sequence used. For instance, if this section selection sequence selects flop sections on per block basis, the beginning sequence value selected for this sequence range can be set to zero (0) and the ending sequence value selected for this sequence range can be set to the number of flop sections per minimum erasable location multiplied by the number of minimum erasable locations in the flop minus one (1). In
A flop section location is used to point to a specific flop section within a flop. A flop section location includes two values, a flop block index and a flop section index. The flop block index reflects the relative position of a minimum erasable location within the set of minimum erasable locations, and is unique to the particular memory device that contains the minimum erasable location referenced by the minimum erasable identifier. A flash block index is unique to a particular erase-cycle memory device within the flop. For example, referring
A section selection sequence is initialized in step 208 and the first minimum writeable location in an erased minimum erasable location in the section selection sequence is treated as an available flop section by storing the location of this available flop section in working memory. Consequently, if the section selection sequence treats flop section 104-1 in flop block 52-1, as an available flop section, storage processing system stores the values 00 in working memory as an available flop section location 106. Storage processing system 16 in
Section Selection Sequence and Offsets
In accordance with another embodiment of the present invention, each flop section is addressable by using an offset from the address of the flop block which has been initialized to include the flop section. For example in from
For example since in
The use of offset values combined with a flop block address to point to flop sections in a flop block is not intended to limit the present invention in any way but any method may be used to permit a storage processing system, such as storage processing system 16 in
After flop initialization, storage processing system 16 under program code 22 uses this section selection sequence to find certain flop sections. For write operations that involve a flop, storage processing system 16 searches for an available flop section. An available flop section is a flop section that has been initialized but has not yet been used to store data. Storage processing system 16 may only use an available flop section once to store data until the flop block for this flop section is initialized again. For read operations that involve a flop, storage processing system 16 searches for a valid flop section. A valid flop section is a flop section that holds the most current data in the set of flop section in the same flop. Since a flop has more than one flop section, data from the same primary address is written only to an available flop section. There is only one available flop section and only one valid flop section per flop. Storage processing system 16 keeps a record of the location of the available flop section and the location of valid flop section by storing these locations in working memory as further described herein.
The section selection sequence used may be any sequence suitable for sequentially accessing initialized flop sections, and the following section selection sequence examples below are not intended to limit the present invention in any way. For example, storage processing system 16 may be disposed to select flop sections only from the same flop block in a flop having more than two flop blocks. Flop sections from another flop block within the same flop are not selected until all erased flop sections from the prior used flop block have been used. With reference to
Storage processing system 16 can obtain the flop block address of flop block 90-1 from the mapping structure that provides the mapping of primary addresses with flops, such as mapping table 22 in
After all flop sections in flop block 90-1 have been used and no other flop sections are available in flop block 90-1, storage processing system 16 selects another flop section, if available, by using the next flop address that is associated with another flop block in flop 92 in mapping table 22. For instance, storage processing system 16 selects flop section 1 from flop block 90-2 by using its flop block address, and then sequences down to each section in flop block 90-2 by using an offset value. This continues, until all available flop sections in flop block 90-2 have been used, and if so, storage processing selects sections from flop block 90-n by using this selection sequence until all available flop sections in flop 92 have been used. After all flops sections have been used for each flop block in flop 92, storage processing system 16 re-initializes the flop blocks in flop 92 again in the same manner.
In another example of a section selection sequence, storage processing system 16 may instead select an available flop section from a first flop block and in a subsequent selection selects an available flop section only from flop blocks that were not selected in a prior selection of an available flop section and that are from the same flop. Only after storage processing system 16 has selected one available flop section from each of these flop blocks from the same flop, can storage processing system 16 again select another available flop section from the same flop block used previously.
With reference again to
After initializing at least one flop so that the flop can be used to minimize erase cycles in erase-limited memory devices, storage processing system 16 tracks which flop blocks can be erased and which flop sections are available to receive data. Flop sections available to receive data may herein also be referred to as “available flop sections.” In accordance with one embodiment of the present invention, storage processing system 16 uses a set of sequence numbers that is comprised of sequential numbers that are unique with respect to each other. Storage processing system 16 stores one of these sequence numbers with each data that is subject to a write transaction, such as data having primary address 62-1 in
Before a flop can be used to minimize erase cycles, storage processing system 16 creates a flop by mapping the respective flop block address of flop blocks that will comprise the flop to a primary address. For example, referring again to
For the first write operation that is performed after initialization of the flop sections and that pertains to data associated with primary address 62-2, storage processing system 16 selects the first available flop section, such as flop section 104-1 in
Storage processing system 16 also embeds the second number in a set of sequence numbers with this data in flop section 104-2; and updates available flop section location 106 to reflect the location of the next erased flop section under the section selection sequence used and that can be used to receive data in a subsequent write operation involving primary address 62-2. For example in
Upon receiving a memory transaction 28 from host 30 through IO interface 18, electronic storage device 10 through storage processing system 16 will determine whether the memory transaction 28 pertains to a read or write memory operation involving a primary address, such as a LBA 62-2 (LBA 2). If memory transaction 28 pertains to a write operation, the method in
At 300, it is determined whether the available flop section location in working memory for flop 56 is valid. Determining whether the available flop section location is valid may include comparing the available flop section location value stored in working memory to the value stored in working memory that represents the invalid flop section location. If these values are the same then the available flop section location is not valid.
If yes, the process flow proceeds to step 312. If no, mapping table 22 is searched 302 for LBA 62-2. A flop section that has been initialized from one of the flash blocks mapped to LBA 62-2 is read 304 according to a section selection sequence. In this example, the section selection sequence sequentially selects flop sections in the same flash block before selecting another flop section in another flash block and keeps track of the number of flop sections read.
It is determined 306 whether the currently read flop section is erased.
If yes, it is determined 308 whether all flop sections have been read under the section selection sequence. In this example, storage processing system 16 determines whether all flop sections have been read in the flop by dividing the maximum erasable location size with the minimum writable location size and multiplying the quotient by the number of flop blocks in the flop. A result that is equal to the current number of flop sections read indicates that storage processing system has reach the end of the flop. If yes, the process flow proceeds to step 310.
At step 310, the location of the next erased flop section is stored as the available flop section location in working memory. In this example, the next erased flop section location is the erased flop section location that is subsequent to the first erased flop section under the section selection sequence used, such as flop section 104-1. In one embodiment of the present invention, the information stored in working memory as a flop section location includes two values, a flop block index and a flop section index. Consequently, the next available flop section location reflects the flop block index and the flop section index of the available flop section location found in step 310. In addition, the first sequence number in the sequence range, which can be previously calculated and stored in non-volatile memory during the initialization of the flop, is stored in working memory as the current sequence number. The process flow then leads to step 312.
If at step 308, it is determined that not all flop section have been read under the section selection sequence, the program flow returns to step 304, and the next flop section under the section selection sequence is read.
If at step 306, it is determined that the currently read flop section is not erased, the sequence number stored with the data in the currently read flop section and the flop section location of the currently read flop section are stored 314 as the current sequence number and the valid flop section location respectively in working memory.
At step 316, it is determined whether all flop sections have been read under the section selection sequence.
If yes, the location of the next erased flop section in the section selection sequence is stored 318 in working memory as the available flop section location. This process flow then proceeds to step 320, where the current sequence number that is currently stored in working memory is incremented. The process flow then proceeds to step 312.
If at step 316 not all of the flop sections have been read in the flop, the next flop section in the section selection sequence is read 322.
At step 324, it is determined whether next flop section read in step 322 is erased, and if so, the location of next flop section in the section selection sequence is stored 326 as the available flop section location in working memory. The program flow then proceeds to step 320.
If at step 324, the next flop section read in step is not erased; it is determined 328 whether the sequence number read from the next flop section read in step 322 is more recent than the current sequence number stored in working memory.
If no, then the process flow proceeds to step 316, and if yes, then the process flow proceeds to step 314.
At step 312, the data associated with the primary address, such as LBA 2, that is subject to the memory write transaction request; is written to the flop section corresponding to the available flop section location stored in working memory. In addition, the current sequence number, such as the current sequence number stored in working memory is also stored in the same flop section as the data. Further, the previous valid flop section location is temporarily stored in working memory, the available flop section location is stored as the valid flop section location in working memory, and the next erased flop section in the section selection sequence is noted by storing the location of this next erased flop section as the available flop section location in working memory.
At step 330, the current sequence number is incremented.
At step 332, it is determined whether the previous valid flop section location temporarily stored in working memory is valid. A previous valid flop section is valid if the write memory operation is at least the second subsequent write memory operation performed after initialization of the flop. Consequently, in the example in
If a previous valid flop section is not valid, the process flow completes and exits.
If a previous valid flop section is valid, the process flow continues to step 334, where it is determined 334 whether the flop block of the previous valid flop section contains only invalid flop sections. This may be performed by determining whether the valid flop section location contains a value that now points to a flop block that is different than the flop block pointed to by the previous valid flop section location value.
At step 344, the flop block of the previous valid flop section is erased and the process flow can then terminate.
Upon receiving a memory transaction 28 from host 30 through IO interface 18, electronic storage device 10 through storage processing system 16 will determine whether the memory transaction 28 pertains to a read or write memory operation involving a primary address, such as a LBA 62-2. If memory transaction 28 pertains to a read operation, the method in
At 400, it is determined whether the available flop section location stored in working memory for flop 56 is valid. Determining whether this flop section location is valid may include comparing the available flop section location value to the stored invalid flop section location value. If these values are not equal then the available flop section location value in working memory is valid.
If yes, the process flows to step 312. If no, mapping table 22 is searched 402 for LBA 62-2. A flop section that has been initialized from one of the flash blocks mapped to LBA 62-2 is read 404 according to a section selection sequence. In this example, the section selection sequence sequentially selects all flop sections in the same flash block before selecting another flop section in another flash block.
It is determined 406 whether currently read flop section is erased.
If yes, it is determined 408 whether all flop sections have been read under the section selection sequence.
At step 410, if all flop sections have been read, the location of the next erased flop section is stored as the available flop section location in working memory. In addition, the first sequence number in the sequence range, which can be previously calculated and stored in non-volatile memory during the initialization of the flop, is stored in working memory as the current sequence number. The process flow then leads to step 412.
If at step 408, it is determined that not all flop section have been read under the section selection sequence, the program flow returns to step 404, and the next flop section under the section selection sequence is read.
If at step 406, it is determined that the currently read flop section is not erased, the sequence number stored with the data in the currently read flop section and the flop section location of the currently read flop section are stored 414 as the current sequence number and the valid flop section location respectively in working memory.
At step 416, it is determined whether all flop sections have been read under the section selection sequence.
If yes, the location of the next erased flop section in the section selection sequence is stored 418 in working memory as the available flop section location. This process flow then proceeds to step 420, where the current sequence number that is currently stored in working memory is incremented. The process flow then proceeds to step 412.
If at step 416 not all of the flop sections have been read in the flop, the next flop section in the section selection sequence is read 422.
At step 424, it is determined whether next flop section read in step 422 is erased, and if so, the location of next flop section in the section selection sequence is stored 426 as the available flop section location in working memory. The program flow then proceeds to step 420.
If at step 424, the next flop section read in step is not erased; it is determined 428 whether the sequence number read from the next flop section read in step 422 is more recent than the current sequence number stored in working memory.
If no, then the process flow proceeds to step 416, and if yes, then the process flow proceeds to step 414.
At step 412, data stored in the flop section corresponding to the valid flop section location stored in working memory is read and sent to the host. The process flow can then terminate.
When a child changes its physical location, its parent will incur a change in content and will have to be written to the target flash memory device storing the parent. In an implementation where every write to the flash memory device requires a change in physical location, such as in pre-erase memory addressing, a change in any level below the top level in the multilevel structure, such as control data 507 will cause a change to its parent, such as control data 504 which will in turn cause a change to its parent, such as 501. This domino effect flows from changes incurred from a lower level to a higher level, resulting in a change in control data at the top level any time a change occurs at any of the lower levels of multilevel structure 500. When using a flop in a multilevel structure 500, the parent mapped to the flop will not incur the domino effect since the parent will only need to store the address of the flop, and thus, the parent will not incur a change if the location of any of its children changes
For example, referring to
While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments. Rather, the present invention should be construed according to the claims below.
This application is a continuation application of Unite States Application, entitled “Electronic Storage Device”, having a filing date of 20 Jul. 2015 and Ser. No. 14/803,107, now U.S. Pat. No. 9,484,103, which is a continuation application of United States Application, entitled “Reducing Erase Cycles In An Electronic Storage Device That Uses At Least One Erase-Limited Memory Device”, having a filing date of 26 Sep. 2013 and Ser. No. 14/038,684, now U.S. Pat. No. 9,099,187, which is a continuation application of United States Application, entitled “Reducing Erase Cycles In An Electronic Storage Device That Uses At Least One Erase-Limited Memory Device”, having a filing date of 14 Sep. 2010 and Ser. No. 12/882,059, now U.S. Pat. No. 8,560,804, which claims the benefit of and a priority to United States Provisional Application, entitled “Reducing Erase Cycles In An Electronic Storage Device That Uses At Least One Erase-Limited Memory Device”, having a filing date of 14 Sep. 2009 and Ser. No. 61/242,364, which is hereby incorporated by reference as if fully set forth herein. Application Ser. Nos. 14/803,107, 14/038,684, and 12/882,059 are hereby fully incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4402040 | Evett | Aug 1983 | A |
4403283 | Myntii et al. | Sep 1983 | A |
4752871 | Sparks | Jun 1988 | A |
4967344 | Scavezze et al. | Oct 1990 | A |
5111058 | Martin | May 1992 | A |
RE34100 | Hartness | Oct 1992 | E |
5222046 | Kreifels et al. | Jun 1993 | A |
5297148 | Harari et al. | Mar 1994 | A |
5339404 | Vandling, III | Aug 1994 | A |
5341339 | Wells | Aug 1994 | A |
5371709 | Fisher et al. | Dec 1994 | A |
5379401 | Robinson et al. | Jan 1995 | A |
5388083 | Assar et al. | Feb 1995 | A |
5396468 | Harari et al. | Mar 1995 | A |
5406529 | Asano | Apr 1995 | A |
5432748 | Hsu et al. | Jul 1995 | A |
5448577 | Wells et al. | Sep 1995 | A |
5459850 | Clay et al. | Oct 1995 | A |
5479638 | Assar et al. | Dec 1995 | A |
5485595 | Assar et al. | Jan 1996 | A |
5488711 | Hewitt et al. | Jan 1996 | A |
5500826 | Hsu et al. | Mar 1996 | A |
5509134 | Fandrich et al. | Apr 1996 | A |
5513138 | Manabe et al. | Apr 1996 | A |
5524231 | Brown | Jun 1996 | A |
5530828 | Kaki et al. | Jun 1996 | A |
5535328 | Harari et al. | Jul 1996 | A |
5535356 | Kim et al. | Jul 1996 | A |
5542042 | Manson | Jul 1996 | A |
5542082 | Solhjell | Jul 1996 | A |
5548741 | Watanabe | Aug 1996 | A |
5559956 | Sukegawa | Sep 1996 | A |
5568423 | Jou et al. | Oct 1996 | A |
5568439 | Harari | Oct 1996 | A |
5572466 | Sukegawa | Nov 1996 | A |
5594883 | Pricer | Jan 1997 | A |
5602987 | Harari et al. | Feb 1997 | A |
5603001 | Sukegawa et al. | Feb 1997 | A |
5606529 | Honma et al. | Feb 1997 | A |
5606532 | Lambrache et al. | Feb 1997 | A |
5619470 | Fukumoto | Apr 1997 | A |
5627783 | Miyauchi | May 1997 | A |
5640349 | Kakinuma et al. | Jun 1997 | A |
5644784 | Peek | Jul 1997 | A |
5682509 | Kabenjian | Oct 1997 | A |
5737742 | Achiwa et al. | Apr 1998 | A |
5765023 | Leger et al. | Jun 1998 | A |
5787466 | Berliner | Jul 1998 | A |
5796182 | Martin | Aug 1998 | A |
5799200 | Brant et al. | Aug 1998 | A |
5802554 | Caceres et al. | Sep 1998 | A |
5818029 | Thomson | Oct 1998 | A |
5819307 | Iwamoto et al. | Oct 1998 | A |
5822251 | Bruce | Oct 1998 | A |
5864653 | Tavallaei et al. | Jan 1999 | A |
5870627 | O'Toole et al. | Feb 1999 | A |
5875351 | Riley | Feb 1999 | A |
5881264 | Kurosawa | Mar 1999 | A |
5913215 | Rubinstein et al. | Jun 1999 | A |
5918033 | Heeb et al. | Jun 1999 | A |
5930481 | Benhase | Jul 1999 | A |
5933849 | Srbljic et al. | Aug 1999 | A |
5943421 | Grabon | Aug 1999 | A |
5956743 | Bruce et al. | Sep 1999 | A |
5987621 | Duso | Nov 1999 | A |
6000006 | Bruce | Dec 1999 | A |
6014709 | Gulick et al. | Jan 2000 | A |
6076137 | Asnaashari | Jun 2000 | A |
6098119 | Surugucchi et al. | Aug 2000 | A |
6128303 | Bergantino | Oct 2000 | A |
6138200 | Ogilvie | Oct 2000 | A |
6138247 | McKay et al. | Oct 2000 | A |
6151641 | Herbert | Nov 2000 | A |
6215875 | Nohda | Apr 2001 | B1 |
6230269 | Spies et al. | May 2001 | B1 |
6298071 | Taylor et al. | Oct 2001 | B1 |
6341342 | Thompson et al. | Jan 2002 | B1 |
6363441 | Beniz et al. | Mar 2002 | B1 |
6363444 | Platko et al. | Mar 2002 | B1 |
6397267 | Chong, Jr. | May 2002 | B1 |
6404772 | Beach et al. | Jun 2002 | B1 |
6452602 | Morein | Sep 2002 | B1 |
6496939 | Portman et al. | Dec 2002 | B2 |
6526506 | Lewis | Feb 2003 | B1 |
6529416 | Bruce | Mar 2003 | B2 |
6557095 | Henstrom | Apr 2003 | B1 |
6574142 | Gelke | Jun 2003 | B2 |
6601126 | Zaidi et al. | Jul 2003 | B1 |
6678754 | Soulier | Jan 2004 | B1 |
6728840 | Shatil | Apr 2004 | B1 |
6744635 | Portman et al. | Jun 2004 | B2 |
6785746 | Mahmoud et al. | Aug 2004 | B1 |
6757845 | Bruce | Dec 2004 | B2 |
6857076 | Klein | Feb 2005 | B1 |
6901499 | Aasheim et al. | May 2005 | B2 |
6922391 | King et al. | Jul 2005 | B1 |
6961805 | Lakhani et al. | Nov 2005 | B2 |
6970446 | Krischar et al. | Nov 2005 | B2 |
6970890 | Bruce et al. | Nov 2005 | B1 |
6973546 | Johnson | Dec 2005 | B2 |
6980795 | Hermann et al. | Dec 2005 | B1 |
7103684 | Chen et al. | Sep 2006 | B2 |
7174438 | Homma et al. | Feb 2007 | B2 |
7194766 | Noehring et al. | Mar 2007 | B2 |
7263006 | Aritome | Aug 2007 | B2 |
7283629 | Kaler et al. | Oct 2007 | B2 |
7305548 | Pierce et al. | Dec 2007 | B2 |
7330954 | Nangle | Feb 2008 | B2 |
7372962 | Fujimoto et al. | Jun 2008 | B2 |
7386662 | Kekre et al. | Jun 2008 | B1 |
7412631 | Uddenberg et al. | Aug 2008 | B2 |
7415549 | Vemula et al. | Aug 2008 | B2 |
7424553 | Borrelli et al. | Sep 2008 | B1 |
7430650 | Ross | Sep 2008 | B1 |
7474926 | Carr et al. | Jan 2009 | B1 |
7478186 | Onufryk et al. | Jan 2009 | B1 |
7490177 | Kao | Feb 2009 | B2 |
7496699 | Pope et al. | Feb 2009 | B2 |
7500063 | Zohar et al. | Mar 2009 | B2 |
7506098 | Arcedera et al. | Mar 2009 | B2 |
7613876 | Bruce et al. | Nov 2009 | B2 |
7620748 | Bruce et al. | Nov 2009 | B1 |
7620749 | Biran et al. | Nov 2009 | B2 |
7624239 | Bennett et al. | Nov 2009 | B2 |
7636801 | Kekre et al. | Dec 2009 | B1 |
7660941 | Lee et al. | Feb 2010 | B2 |
7668925 | Liao et al. | Feb 2010 | B1 |
7676640 | Chow | Mar 2010 | B2 |
7681188 | Tirumalai et al. | Mar 2010 | B1 |
7716389 | Bruce et al. | May 2010 | B1 |
7719287 | Marks et al. | May 2010 | B2 |
7729370 | Orcine et al. | Jun 2010 | B1 |
7743202 | Tsai et al. | Jun 2010 | B2 |
7765359 | Kang et al. | Jul 2010 | B2 |
7877639 | Hoang | Jan 2011 | B2 |
7913073 | Choi | Mar 2011 | B2 |
7921237 | Holland et al. | Apr 2011 | B1 |
7934052 | Prins et al. | Apr 2011 | B2 |
7958295 | Liao et al. | Jun 2011 | B1 |
7979614 | Yang | Jul 2011 | B1 |
7996581 | Bond et al. | Aug 2011 | B2 |
8010740 | Arcedera et al. | Oct 2011 | B2 |
8032700 | Bruce et al. | Oct 2011 | B2 |
8156279 | Tanaka et al. | Apr 2012 | B2 |
8156320 | Borras | Apr 2012 | B2 |
8161223 | Chamseddine et al. | Apr 2012 | B1 |
8165301 | Bruce et al. | Apr 2012 | B1 |
8200879 | Falik et al. | Jun 2012 | B1 |
8219719 | Parry et al. | Jul 2012 | B1 |
8225022 | Caulkins | Jul 2012 | B2 |
8341300 | Karamcheti | Dec 2012 | B1 |
8341311 | Szewerenko et al. | Dec 2012 | B1 |
8375257 | Hong et al. | Feb 2013 | B2 |
8447908 | Bruce et al. | May 2013 | B2 |
8489914 | Cagno | Jul 2013 | B2 |
8510631 | Wu et al. | Aug 2013 | B2 |
8560804 | Bruce | Oct 2013 | B2 |
8583868 | Belluomini et al. | Nov 2013 | B2 |
8677042 | Gupta et al. | Mar 2014 | B2 |
8707134 | Takahashi et al. | Apr 2014 | B2 |
8713417 | Jo | Apr 2014 | B2 |
8762609 | Lam et al. | Jun 2014 | B1 |
8788725 | Bruce et al. | Jul 2014 | B2 |
8832371 | Uehara et al. | Sep 2014 | B2 |
8856392 | Myrah et al. | Oct 2014 | B2 |
8959307 | Bruce et al. | Feb 2015 | B1 |
9043669 | Bruce et al. | May 2015 | B1 |
9099187 | Bruce | Aug 2015 | B2 |
9135190 | Bruce et al. | Sep 2015 | B1 |
9147500 | Kim et al. | Sep 2015 | B2 |
9158661 | Blaine et al. | Oct 2015 | B2 |
9201790 | Keeler | Dec 2015 | B2 |
9400617 | Ponce et al. | Jul 2016 | B2 |
9484103 | Bruce | Nov 2016 | B1 |
20010010066 | Chin et al. | Jul 2001 | A1 |
20020011607 | Gelke et al. | Jan 2002 | A1 |
20020013880 | Gappisch et al. | Jan 2002 | A1 |
20020044486 | Chan et al. | Apr 2002 | A1 |
20020073324 | Hsu et al. | Jun 2002 | A1 |
20020083262 | Fukuzumi | Jun 2002 | A1 |
20020083264 | Coulson | Jun 2002 | A1 |
20020141244 | Bruce et al. | Oct 2002 | A1 |
20030023817 | Rowlands et al. | Jan 2003 | A1 |
20030065836 | Pecone | Apr 2003 | A1 |
20030097248 | Terashima et al. | May 2003 | A1 |
20030120864 | Lee et al. | Jun 2003 | A1 |
20030126451 | Gorobets | Jul 2003 | A1 |
20030131201 | Khare et al. | Jul 2003 | A1 |
20030161355 | Falcomato et al. | Aug 2003 | A1 |
20030163624 | Matsui et al. | Aug 2003 | A1 |
20030163647 | Cameron et al. | Aug 2003 | A1 |
20030163649 | Kapur et al. | Aug 2003 | A1 |
20030182576 | Morlang et al. | Sep 2003 | A1 |
20030188100 | Solomon et al. | Oct 2003 | A1 |
20030204675 | Dover et al. | Oct 2003 | A1 |
20030217202 | Zilberman et al. | Nov 2003 | A1 |
20030223585 | Tardo et al. | Dec 2003 | A1 |
20040073721 | Goff et al. | Apr 2004 | A1 |
20040078632 | Infante et al. | Apr 2004 | A1 |
20040128553 | Buer et al. | Jul 2004 | A1 |
20040215868 | Solomon et al. | Oct 2004 | A1 |
20050050245 | Miller et al. | Mar 2005 | A1 |
20050055481 | Chou et al. | Mar 2005 | A1 |
20050078016 | Neff | Apr 2005 | A1 |
20050097368 | Peinado et al. | May 2005 | A1 |
20050120146 | Chen et al. | Jun 2005 | A1 |
20050210149 | Kimball | Sep 2005 | A1 |
20050210159 | Voorhees et al. | Sep 2005 | A1 |
20050226407 | Kasuya et al. | Oct 2005 | A1 |
20050240707 | Hayashi et al. | Oct 2005 | A1 |
20050243610 | Guha et al. | Nov 2005 | A1 |
20050289361 | Sutardja | Dec 2005 | A1 |
20060004957 | Hand, III et al. | Jan 2006 | A1 |
20060026329 | Yu | Feb 2006 | A1 |
20060031450 | Unrau et al. | Feb 2006 | A1 |
20060039406 | Day et al. | Feb 2006 | A1 |
20060064520 | Anand et al. | Mar 2006 | A1 |
20060095709 | Achiwa | May 2006 | A1 |
20060112251 | Karr et al. | May 2006 | A1 |
20060129876 | Uemura | Jun 2006 | A1 |
20060173970 | Pope et al. | Aug 2006 | A1 |
20060184723 | Sinclair et al. | Aug 2006 | A1 |
20070019573 | Nishimura | Jan 2007 | A1 |
20070028040 | Sinclair | Feb 2007 | A1 |
20070058478 | Murayama | Mar 2007 | A1 |
20070073922 | Go et al. | Mar 2007 | A1 |
20070079017 | Brink et al. | Apr 2007 | A1 |
20070083680 | King et al. | Apr 2007 | A1 |
20070088864 | Foster | Apr 2007 | A1 |
20070093124 | Varney et al. | Apr 2007 | A1 |
20070094450 | VanderWiel | Apr 2007 | A1 |
20070096785 | Maeda | May 2007 | A1 |
20070121499 | Pal et al. | May 2007 | A1 |
20070130439 | Andersson et al. | Jun 2007 | A1 |
20070159885 | Gorobets | Jul 2007 | A1 |
20070168754 | Zohar et al. | Jul 2007 | A1 |
20070174493 | Irish et al. | Jul 2007 | A1 |
20070174506 | Tsuruta | Jul 2007 | A1 |
20070195957 | Arulambalam et al. | Aug 2007 | A1 |
20070288686 | Arcedera et al. | Dec 2007 | A1 |
20070288692 | Bruce et al. | Dec 2007 | A1 |
20070294572 | Kalwitz et al. | Dec 2007 | A1 |
20080052456 | Ash et al. | Feb 2008 | A1 |
20080052585 | LaBerge et al. | Feb 2008 | A1 |
20080072031 | Choi | Mar 2008 | A1 |
20080104264 | Duerk et al. | May 2008 | A1 |
20080147963 | Tsai et al. | Jun 2008 | A1 |
20080189466 | Hemmi | Aug 2008 | A1 |
20080195800 | Lee et al. | Aug 2008 | A1 |
20080218230 | Shim | Sep 2008 | A1 |
20080228959 | Wang | Sep 2008 | A1 |
20080276037 | Chang et al. | Nov 2008 | A1 |
20090028229 | Cagno et al. | Jan 2009 | A1 |
20090037565 | Andresen et al. | Feb 2009 | A1 |
20090055573 | Ito | Feb 2009 | A1 |
20090077306 | Arcedera et al. | Mar 2009 | A1 |
20090083022 | Bin Mohd Nordin et al. | Mar 2009 | A1 |
20090094411 | Que | Apr 2009 | A1 |
20090132620 | Arakawa | May 2009 | A1 |
20090132752 | Poo et al. | May 2009 | A1 |
20090150643 | Jones et al. | Jun 2009 | A1 |
20090158085 | Kern et al. | Jun 2009 | A1 |
20090172250 | Allen et al. | Jul 2009 | A1 |
20090172261 | Prins et al. | Jul 2009 | A1 |
20090172466 | Royer et al. | Jul 2009 | A1 |
20090240873 | Yu et al. | Sep 2009 | A1 |
20100058045 | Borras et al. | Mar 2010 | A1 |
20100095053 | Bruce et al. | Apr 2010 | A1 |
20100125695 | Wu et al. | May 2010 | A1 |
20100250806 | Devilla et al. | Sep 2010 | A1 |
20100268904 | Sheffield et al. | Oct 2010 | A1 |
20100299538 | Miller | Nov 2010 | A1 |
20100318706 | Kobayashi | Dec 2010 | A1 |
20110022778 | Schibilla et al. | Jan 2011 | A1 |
20110022783 | Moshayedi | Jan 2011 | A1 |
20110022801 | Flynn | Jan 2011 | A1 |
20110087833 | Jones | Apr 2011 | A1 |
20110093648 | Belluomini et al. | Apr 2011 | A1 |
20110113186 | Bruce et al. | May 2011 | A1 |
20110133826 | Jones et al. | Jun 2011 | A1 |
20110145479 | Talagala et al. | Jun 2011 | A1 |
20110161568 | Bruce et al. | Jun 2011 | A1 |
20110167204 | Estakhri et al. | Jul 2011 | A1 |
20110173383 | Gorobets | Jul 2011 | A1 |
20110197011 | Suzuki et al. | Aug 2011 | A1 |
20110202709 | Rychlik | Aug 2011 | A1 |
20110208901 | Kim et al. | Aug 2011 | A1 |
20110208914 | Winokur et al. | Aug 2011 | A1 |
20110219150 | Piccirillo et al. | Sep 2011 | A1 |
20110258405 | Asaki et al. | Oct 2011 | A1 |
20110264884 | Kim | Oct 2011 | A1 |
20110264949 | Ikeuchi et al. | Oct 2011 | A1 |
20110270979 | Schlansker et al. | Nov 2011 | A1 |
20120005405 | Wu et al. | Jan 2012 | A1 |
20120005410 | Ikeuchi | Jan 2012 | A1 |
20120017037 | Riddle et al. | Jan 2012 | A1 |
20120079352 | Frost et al. | Mar 2012 | A1 |
20120102263 | Aswadhati | Apr 2012 | A1 |
20120102268 | Smith et al. | Apr 2012 | A1 |
20120137050 | Wang et al. | May 2012 | A1 |
20120161568 | Umemoto et al. | Jun 2012 | A1 |
20120173795 | Schuette et al. | Jul 2012 | A1 |
20120215973 | Cagno et al. | Aug 2012 | A1 |
20120249302 | Szu | Oct 2012 | A1 |
20120260102 | Zaks et al. | Oct 2012 | A1 |
20120271967 | Hirschman | Oct 2012 | A1 |
20120303924 | Ross | Nov 2012 | A1 |
20120311197 | Larson et al. | Dec 2012 | A1 |
20120324277 | Weston-Lewis et al. | Dec 2012 | A1 |
20130010058 | Pmeroy | Jan 2013 | A1 |
20130019053 | Somanache et al. | Jan 2013 | A1 |
20130073821 | Flynn et al. | Mar 2013 | A1 |
20130094312 | Jan et al. | Apr 2013 | A1 |
20130099838 | Kim et al. | Apr 2013 | A1 |
20130111135 | Bell, Jr. et al. | May 2013 | A1 |
20130206837 | Szu | Aug 2013 | A1 |
20130208546 | Kim et al. | Aug 2013 | A1 |
20130212337 | Maruyama | Aug 2013 | A1 |
20130212349 | Maruyama | Aug 2013 | A1 |
20130212425 | Blaine et al. | Aug 2013 | A1 |
20130246694 | Bruce et al. | Sep 2013 | A1 |
20130254435 | Shapiro et al. | Sep 2013 | A1 |
20130262750 | Yamasaki et al. | Oct 2013 | A1 |
20130282933 | Jokinen et al. | Oct 2013 | A1 |
20130304775 | Davis et al. | Nov 2013 | A1 |
20130339578 | Ohya et al. | Dec 2013 | A1 |
20130339582 | Olbrich et al. | Dec 2013 | A1 |
20130346672 | Sengupta et al. | Dec 2013 | A1 |
20140068177 | Raghavan | Mar 2014 | A1 |
20140095803 | Kim et al. | Apr 2014 | A1 |
20140104949 | Bruce et al. | Apr 2014 | A1 |
20140108869 | Brewerton et al. | Apr 2014 | A1 |
20140189203 | Suzuki et al. | Jul 2014 | A1 |
20140258788 | Maruyama | Sep 2014 | A1 |
20140285211 | Raffinan | Sep 2014 | A1 |
20140331034 | Ponce et al. | Nov 2014 | A1 |
20150006766 | Ponce et al. | Jan 2015 | A1 |
20150012690 | Bruce et al. | Jan 2015 | A1 |
20150032937 | Salessi | Jan 2015 | A1 |
20150032938 | Salessi | Jan 2015 | A1 |
20150067243 | Salessi et al. | Mar 2015 | A1 |
20150149697 | Salessi et al. | May 2015 | A1 |
20150149706 | Salessi et al. | May 2015 | A1 |
20150153962 | Salessi et al. | Jun 2015 | A1 |
20150169021 | Salessi et al. | Jun 2015 | A1 |
20150261456 | Alcantara et al. | Sep 2015 | A1 |
20150261475 | Alcantara et al. | Sep 2015 | A1 |
20150261797 | Alcantara et al. | Sep 2015 | A1 |
20150370670 | Lu | Dec 2015 | A1 |
20150371684 | Mataya | Dec 2015 | A1 |
20150378932 | Souri et al. | Dec 2015 | A1 |
20160026402 | Alcantara et al. | Jan 2016 | A1 |
20160027521 | Lu | Jan 2016 | A1 |
20160041596 | Alcantara et al. | Feb 2016 | A1 |
Number | Date | Country |
---|---|---|
2005142859 | Jun 2005 | JP |
2005-309847 | Nov 2005 | JP |
489308 | Jun 2002 | TW |
200428219 | Dec 2004 | TW |
436689 | Dec 2005 | TW |
I420316 | Dec 2013 | TW |
WO 9406210 | Mar 1994 | WO |
WO 9838568 | Sep 1998 | WO |
Entry |
---|
Notice of allowance/allowability for U.S. Appl. No. 14/217,041 dated Apr. 11, 2016. |
Notice of allowance/allowability for U.S. Appl. No. 14/803,107 dated Mar. 28, 2016. |
Office Action for U.S. Appl. No. 14/217,334 dated Apr. 4, 2016. |
Office Action dated Dec. 5, 2014 for U.S. Appl. No. 14/038,684. |
Office Action dated Oct. 8, 2015 for U.S. Appl. No. 14/217,291. |
Advisory Action for U.S. Appl. No. 14/217,334 dated Jun. 13, 2016. |
Office Action for U.S. Appl. No. 14/217,291 dated Jun. 15, 2016. |
Office Action for U.S. Appl. No. 14/217,096 dated Jul. 12, 2016. |
Notice of Allowance for U.S. Appl. No. 14/217,399 dated Jul. 20, 2016 (Mailed in this current application). |
Office Action for U.S. Appl. No. 14/866,946 dated Jul. 29, 2016. |
Notice of Allowance for U.S. Appl. No. 14/217,334 dated Jul. 29, 2016. |
Office Action for U.S. Appl. No. 14/690,243 dated Aug. 11, 2016. |
Office Action for U.S. Appl. No. 14/690,370 dated Aug. 12, 2016. |
Office Action for U.S. Appl. No. 14/216,937 dated Aug. 15, 2016. |
Working Draft American National Standard Project T10/1601-D Information Technology Serial Attached SCSI-1.1 (SAS-1.1), Mar. 13, 2004 Revision 4. |
Office Action dated Sep. 11, 2015 for U.S. Appl. No. 14/217,436. |
Office Action dated Sep. 24, 2015 for U.S. Appl. No. 14/217,334. |
Office Action dated Sep. 18, 2015 for Taiwanese Patent Application No. 102144165. |
Office Action dated Sep. 29, 2015 for U.S. Appl. No. 14/217,316. |
Office Action dated Sep. 28, 2015 for U.S. Appl. No. 14/689,045. |
Notice of Allowance/Allowability for U.S. Appl. No. 13/890,229 dated Feb. 20, 2014. |
Office Action for U.S. Appl. No. 13/890,229 dated Oct. 8, 2013. |
Office Action for U.S. Appl. No. 12/876,113 dated Dec. 5, 2014. |
Notice of Allowance/Allowabilty for U.S. Appl. No. 12/876,113 dated Jun. 22, 2015. |
Office Action for U.S. Appl. No. 14/217,249 dated Apr. 23, 2015. |
Office Action for U.S. Appl. No. 14/217,467 dated Apr. 27, 2015. |
Office Action for U.S. Appl. No. 14/616,700 dated Apr. 30, 2015. |
Office Action for U.S. Appl. No. 14/217,436 dated Sep. 11, 2015. |
Office Action for U.S. Appl. No. 14/855,245 dated Oct. 26, 2016. |
Office Action for U.S. Appl. No. 14/217,249 dated Oct. 28, 2016. |
Office Action for U.S. Appl. No. 14/217,399 dated Nov. 1, 2016. |
Office Action for U.S. Appl. No. 14/217,291 dated Nov. 3, 2016. |
Office Action for U.S. Appl. No. 14/217,947 dated Nov. 4, 2016. |
Office Action for U.S. Appl. No. 14/216,627 dated Nov. 7, 2016. |
Office Action for U.S. Appl. No. 14/689,019 dated Nov. 18, 2016. |
Office Action for U.S. Appl. No. 14/684,399 dated Nov. 21, 2016. |
Notice of Allowance for U.S. Appl. No. 14/689,045 dated Nov. 21, 2016. |
Notice of Allowance for U.S. Appl. No. 14/217,334 dated Nov. 23, 2016. |
Office Action for U.S. Appl. No. 13/253,912 dated Jul. 16, 2014. |
Office Action for U.S. Appl. No. 13/475,878 dated Jun. 23, 2014. |
Office Action for U.S. Appl. No. 12/876,113 dated Jul. 11, 2014. |
Office Action for U.S. Appl. No. 12/876,113 dated Oct. 16, 2014. |
Notice of Allowance for U.S. Appl. No. 12/270,626 dated Oct. 3, 2014. |
Office Action for U.S. Appl. No. 12/270,626 dated May 23, 2014. |
Office Action for U.S. Appl. No. 12/270,626 dated Apr. 4, 2011. |
Office Action for U.S. Appl. No. 12/270,626 dated Dec. 18, 2013. |
Office Action for U.S. Appl. No. 12/270,626 dated Mar. 15, 2013. |
Office Action for U.S. Appl. No. 12/270,626 dated Aug. 23, 2012. |
Office Action for U.S. Appl. No. 14/217,249 dated Apr. 21, 2016. |
Notice of allowance/allowability for U.S. Appl. No. 14/217,467 dated Apr. 20, 2016. |
Office Action for U.S. Appl. No. 14/616,700 dated Oct. 20, 2016. |
National Science Fountation,Award Abstract #1548968, SBIR Phase I: SSD In-Situ Processing, http://www.nsf.gov/awardsearch/showAward?AWD_ID=1548968 printed on Feb. 13, 2016. |
Design-Reuse, NxGn Data Emerges from Stealth Mode to provide a paradigm shift in enterprise storage solution, http://www.design-reuse.com/news/35111/nxgn-data-intelligent-solutions.html, printed on Feb. 13, 2016. |
Office Action dated Dec. 15, 2015 for U.S. Appl. No. 13/253,912. |
Office Action dated Dec. 17, 2015 for U.S. Appl. No. 14/214,216. |
Office Action dated Dec. 17, 2015 for U.S. Appl. No. 14/215,414. |
Office Action dated Dec. 17, 2015 for U.S. Appl. No. 14/803,107. |
Office Action dated Jan. 15, 2016 for U.S. Appl. No. 14/866,946. |
Office Action dated Jan. 11, 2016 for U.S. Appl. No. 14/217,399. |
Office Action dated Jan. 15, 2016 for U.S. Appl. No. 14/216,937. |
Notice of Allowance and Examiner-Initiated Interview Summary, dated Jan. 29, 2016 for U.S. Appl. No. 14/297,628. |
Office Action dated Oct. 5, 2015 for Taiwanese Application No. 1 031 05076. |
Office Action dated Nov. 19, 2015 for U.S. Appl. No. 14/217,249. |
Office Action dated Nov. 18, 2015 for U.S. Appl. No. 14/217,467. |
Office Action dated Dec. 4, 2015 for U.S. Appl. No. 14/616,700. |
Office Action dated Jun. 4, 2015 for U.S. Appl. No. 14/215,414. |
Notice of allowance/allowability for U.S. Appl. No. 14/217,365 dated Oct. 18, 2016. |
Notice of Allowance for U.S. Appl. No. 14/215,414 dated Jan. 20, 2017. |
Advisory Action for U.S. Appl. No. 14/217,249 dated Jan. 26, 2017. |
Notice of Allowance for U.S. Appl. No. 14/687,700 dated Jan. 27, 2016. |
Office Action for U.S. Appl. No. 14/690,339 dated Feb. 3, 2017. |
Office Action for U.S. Appl. No. 14/616,700 dated Feb. 9, 2017. |
Notice of Allowance for U.S. Appl. No. 14/217,365 dated Feb. 10, 2017. |
Office Action for U.S. Appl. No. 14/690,305 dated Feb. 10, 2017. |
Office Action for U.S. Appl. No. 14/690,349 dated Feb. 8, 2017. |
Advisory Action for U.S. Appl. No. 14/689,019 dated Feb. 17, 2017. |
Office Action for U.S. Appl. No. 14/217,365 dated Feb. 18, 2016. |
Office Action for U.S. Appl. No. 14/217,365 dated Mar. 2, 2016. |
Office Action for U.S. Appl. No. 14/690,305 dated Feb. 25, 2016. |
Office Action for U.S. Appl. No. 14/217,436 dated Feb. 25, 2016. |
Office Action for U.S. Appl. No. 14/217,316 dated Feb. 26, 2016. |
Office Action for U.S. Appl. No. 14/215,414 dated Mar. 1, 2016. |
Office Action for U.S. Appl. No. 14/616,700 dated Mar. 8, 2016. |
Notice of allowance/allowability for U.S. Appl. No. 13/253,912 dated Mar. 21, 2016. |
Office Action for U.S. Appl. No. 12/876,113 dated Mar. 13, 2014. |
Advisory Action for U.S. Appl. No. 12/876,113 dated Sep. 6, 2013. |
Office Action for U.S. Appl. No. 12/876,113 dated May 14, 2013. |
Office Action for U.S. Appl. No. 12/876,113 dated Dec. 21, 2012. |
Security Comes to SNMP: The New SNMPv3 Proposed Internet Standard, The Internet Protocol Journal, vol. 1, No. 3, Dec. 1998. |
Notice of Allowability for U.S. Appl. No. 12/882,059 dated May 30, 2013. |
Notice of Allowability for U.S. Appl. No. 12/882,059 dated Feb. 14, 2013. |
Office Action for U.S. Appl. No. 12/882,059 dated May 11, 2012. |
Notice of Allowability for U.S. Appl. No. 14/038,684 dated Aug. 1, 2014. |
Office Action for U.S. Appl. No. 14/038,684 dated Mar. 17, 2014. |
Final Office Action dated Nov. 19, 2015 for U.S. Appl. No. 14/217,249. |
Final Office Action dated Nov. 18, 2015 for U.S. Appl. No. 14/217,467. |
Office Action dated Nov. 25, 2015 for U.S. Appl. No. 14/217,041. |
Advisory Action for U.S. Appl. No. 14/690,305 dated Nov. 25, 2016. |
Notice of Allowance for U.S. Appl. No. 14/217,096 dated Dec. 5, 2016. |
Notice of Allowance for U.S. Appl. No. 14/217,161 dated Dec. 30, 2016. |
Office Action for U.S. Appl. No. 14/866,946 dated Jan. 5, 2017. |
Office Action for U.S. Appl. No. 14/688,209 dated Jan. 11, 2017. |
Amazon Route 53 Developer Guide API Version Apr. 1, 2013, copyright 2017 by Amazon Web Services. |
Host Bus Adapters (HBAs): What you need to know about networking workhorse by Alan Earls, Feb. 2003. |
Office Action for U.S. Appl. No. 14/690,243 dated Jan. 13, 2017. |
Office Action for U.S. Appl. No. 14/232,801 dated Jan. 19, 2017. |
Office Action for U.S. Appl. No. 14/215,414 dated May 20, 2016. |
Office Action for U.S. Appl. No. 14/616,700 dated May 20, 2016. |
Office Action for U.S. Appl. No. 14/689,019 dated May 20, 2016. |
Advisory Action for U.S. Appl. No. 14/217,316 dated May 19, 2016. |
Notice of allowance/allowability for U.S. Appl. No. 14/214,216 dated Apr. 27, 2016. |
Notice of allowance/allowability for U.S. Appl. No. 14/217,436 dated May 6, 2016. |
Office Action for U.S. Appl. No. 13/475,878, dated Jun. 23, 2014. |
Office Action for U.S. Appl. No. 12/270,626 dated Feb. 3, 2012. |
Notice of Allowance/Allowability for U.S. Appl. No. 12/270,626 dated Oct. 3, 2014. |
Advisory Action for U.S. Appl. No. 12/876,113 dated Oct. 16, 2014. |
Office Action for U.S. Appl. No. 14/297,628 dated Jul. 17, 2015. |
Office Action for U.S. Appl. No. 13/475,878 dated Dec. 4, 2014. |
Office Action for U.S. Appl. No. 14/217,316 dated Aug. 25, 2016. |
Office Action for U.S. Appl. No. 14/690,305 dated Aug. 26, 2016. |
Advisory Action for U.S. Appl. No. 14/217,291 dated Sep. 9, 2016. |
Advisory Action for U.S. Appl. No. 14/689,045 dated Sep. 16, 2016. |
Notice of Allowance for U.S. Appl. No. 14/182,303 dated Sep. 12, 2016. |
Advisory Action for U.S. Appl. No. 14/690,114 dated Sep. 12, 2016. |
Notice of Allowance for U.S. Appl. No. 14/215,414 dated Sep. 23, 2016. |
Advisory Action for U.S. Appl. No. 14/866,946 dated Oct. 13, 2016. |
Office Action for U.S. Appl. No. 14/687,700 dated Sep. 26, 2016. |
Office Action for U.S. Appl. No. 15/170,768 dated Oct. 6, 2016. |
USPTO Notice of Allowability & attachment(s) dated Jan. 7, 2013 for U.S. Appl. No. 12/876,247. |
Office Action dated Sep. 14, 2012 for U.S. Appl. No. 12/876,247. |
Office Action dated Feb. 1, 2012 for U.S. Appl. No. 12/876,247. |
Notice of Allowance/Allowability dated Mar. 31, 2015 for U.S. Appl. 13/475,878. |
Office Action dated May 22, 2015 for U.S. Appl. No. 13/253,912. |
Number | Date | Country | |
---|---|---|---|
61242364 | Sep 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14803107 | Jul 2015 | US |
Child | 15269967 | US | |
Parent | 14038684 | Sep 2013 | US |
Child | 14803107 | US | |
Parent | 12882059 | Sep 2010 | US |
Child | 14038684 | US |