IP Library Granted Patent US 7,730,077
Granted Patent B2
US 7,730,077 · App. 10/667,203 · Granted Jun 1, 2010

Intelligent storage device controller

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,730,077
App. No.
10/667,203
Granted
Jun 1, 2010
Kind
B2
Abstract

A programmable streaming data processor that can be programmed to recognize record and field structures of data received from a streaming data source such as a mass storage device. Being programmed with, for example, field information, the unit can locate record and field boundaries and employ logical arithmetic methods to compare fields with one another or with values otherwise supplied by general purpose processors to precisely determine which records are worth transferring to memory of the more general purpose distributed processors. The remaining records arrive and are discarded by the streaming data processor or are tagged with status bits to indicate to the more general purpose processor that they are to be ignored. In a preferred embodiment, the streaming data processor may analyze and discard records for several reasons. The first reason may be an analysis of contents of the field. Other reasons for record blocking may have to do with tagging records that are to be visible to particular users depending upon a series of concurrent transactions.

Claims (19)

1. A Programmable Streaming Data Processor (PSDP), arranged to perform primitive initial processing functions directly on a set of data comprising:

a streaming data interface, arranged to receive non-field delineated data from a streaming data source;

a streaming interface First In First Out (FIFO), arranged to temporarily store the streaming non-field delineated data from the streaming data interface;

a data engine, arranged to receive the non-field delineated output data from the streaming interface FIFO, recognize the record and field structure of the non-field delineated data, determine field boundaries in the non-field delineated data, and process fields to select one or more fields to be assembled into output tuples, the data engine also containing logic arranged to determine whether an output tuple is to be selected for further processing by additional Job Processing Units (JPUs) and to assert a use or lose decision value according to that determination;

a tuple generator, arranged to assemble fields into the output tuple and, if the use or lose decision value indicates that such output tuple is to be discarded, to prevent the output tuple from being transferred for further processing by the JPU; and

an output FIFO device, arranged to temporarily store tuples prior to conditionally forwarding them to the JPU.

2. The PSDP as in claim 1 wherein the use or lose decision value indicates a result from logic processing of fields read from the streaming data interface.

3. The PSDP as in claim 1 wherein the use or lose decision value indicates a result from Transaction Identifier (TID) processing.

4. The PSDP as in claim 3 wherein the TID processing and data engine logic execute in parallel.

5. The PSDP as in claim 1 wherein the output tuple is greater in length than an expected predetermined size, and the use or lose decision value is then used to set an overflow field in the output tuple.

6. The PSDP as in claim 5 wherein the use or lose decision value is not asserted when a buffer local to the programmable data streaming processor is full; and means for appending an overflow filter bit to a tuple that indicates a transfer of a tuple that should be ignored.

7. The PSDP as in claim 1 additionally comprising: a Direct Memory Access (DMA) interface, coupled to the output FIFO, to provide direct access to a memory in the JPU.

8. The PSDP as in claim 1 wherein the use or lose decision value is used to reset an output FIFO write pointer so any prior fields in the output tuple are discarded.

9. The PSDP as in claim 1 wherein an overflow filter bit is inserted in a length field appended to the output tuple.

10. The PSDP as in claim 1 wherein an invalid field is appended to a tuple to indicate results of Transaction Identifier (TID) processing.

11. The PSDP as in claim 10 wherein the results of TID processing indicate that a tuple is to be returned.

12. The PSDP as in claim 10 wherein the invalid field indicates that the tuple should not have been returned but the output FIFO overflowed.

13. The PSDP as in claim 1 further comprising: a register reflecting a final PSDP status which is read by a Central Processing Unit (CPU) to identify whether any overflow or Transaction Identifier (TID) status bits are set in any of the tuples.

14. The PSDP as in claim 1 wherein the use or lose decision value represents DeMorgan's Law reduction of multiple instructions.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2021
From: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056396/0942 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 4 ERRONEOUSLY LISTED PATENTS ON SCHEDULE A. PREVIOUSLY RECORDED AT REEL: 053452 FRAME: 0580. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 29, 2021
From: IBM TECHNOLOGY CORPORATION
To: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
Reel/Frame 055171/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2020
From: IBM TECHNOLOGY CORPORATION
To: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
Reel/Frame 053452/0580 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 17, 2018
From: IBM INTERNATIONAL C.V.
To: IBM ATLANTIC C.V.
Reel/Frame 047794/0927 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 17, 2018
From: IBM INTERNATIONAL GROUP B.V.
To: IBM INTERNATIONAL C.V.
Reel/Frame 047794/0779 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 17, 2018
From: IBM ATLANTIC C.V.
To: IBM TECHNOLOGY CORPORATION
Reel/Frame 047795/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2012
From: NETEZZA CORPORATION
To: IBM INTERNATIONAL GROUP B.V.
Reel/Frame 027642/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2004
From: HINSHAW, FOSTER D.; ANDRAKA, RAYMOND A.; MEYERS, DAVID L.; MILLER, SHARON L.; SPORER, MICHAEL; STEWART, WILLIAM K.; ZANE, BARRY M.
To: NETEZZA CORPORATION
Reel/Frame 015072/0303 →