1461142251-074d132b-17fb-46a2-a777-f89754d12ee6

1. A non-volatile memory (NVM) cell, comprising:
a substrate (16);
a select gate over the substrate (16) having a planarized to surface;
a control gate (32) over the substrate and laterally adjacent the select gate, wherein the control gate has a planarized to surface;
a nanocrystal stack (20) between the control gate and the substrate, wherein the nanocrystal stack comprises a bottom dielectric, a plurality of nanocrystals on the bottom dielectric, and a top dielectric on and around the plurality of nanocrystals;
a high-k gate dielectric (34) between the select gate and the substrate and along a first sidewall of the select gate, between the first sidewall of the select gate and a first sidewall of the control gate, wherein:
the select gate comprises a barrier metal layer (35) which is in physical contact with the high-k gate dielectric between the select gate and the substrate and between the first sidewall of the select gate and the first sidewall of the control gate;

a first sourcedrain region (44) in the substrate, laterally adjacent a second sidewall of the select gate, opposite the first sidewall of the select gate;
a second sourcedrain region (46) in the substrate, laterally adjacent a second sidewall of the control gate, opposite the first sidewall of the control gate, wherein the select gate and the control gate are between the first and second sourcedrain regions; and
a logic gate over the substrate having a planarized to surface that is coplanar with the planarized top surface of the control gate and the planarized top surface of the select gate.
2. The NVM cell of claim 1, wherein the barrier metal layer further comprises a first portion adjacent a second sidewall of the control gate opposite the first sidewall of the control gate, further comprising:
a spacer adjacent the first portion of the barrier metal layer and the second sidewall of the control gate, wherein the first portion of the barrier metal layer is between the control gate and the spacer.
3. The NVM cell of claim 1, wherein the barrier metal layer under the select gate performs a work-function-setting purpose for the NVM cell.
4. The NVM cell of claim 1, wherein the select gate over the barrier metal layer comprises one of a group consisting of metal, polysilicon plus metal, and polysilicon.
5. The NVM cell of claim 1, wherein the NVM cell is a portion of a semiconductor device located in an NVM portion of the semiconductor device and the semiconductor device further includes a logic transistor located in a logic portion of the semiconductor device.
6. The semiconductor device of claim 5, wherein the barrier metal layer further comprises a second portion that functions as a work-function-setting layer of the logic transistor.
7. The semiconductor device of claim 5, wherein the high K dielectric further comprises a first portion between the substrate and the second portion of the barrier metal layer.
8. The semiconductor device of claim 1 wherein the logic gate comprises one of a group consisting of metal, polysilicon plus metal, and polysilicon.
9. A semiconductor device having a substrate, a high K dielectric layer, and a barrier metal layer, comprising:
an NVM cell in an NVM region of the semiconductor device, the NVM cell comprising:
a select gate having a first side, a second side, and a planarized top surface, wherein the select gate is over the substrate and a first portion of the barrier metal layer is a bottom portion of the select gate;
a control gate having a first side, a second side, and a planarized to surface, wherein the first side of the control gate is adjacent the first side of the select gate and the control gate is over the substrate;
a first sourcedrain region in the substrate substantially aligned to the second side of the select gate;
a second sourcedrain region in the substrate substantially aligned to the second side of the control gate;
a charge storage layer comprising nanocrystals between the substrate and the control gate; and
a first portion of the high K dielectric layer located between the substrate and a bottom portion of the select gate; and

a logic transistor in a logic region of the semiconductor device, the logic transistor comprising:
a logic gate having a bottom portion comprising a second portion of the metal barrier layer and a planarized to surface that is coplanar with the to surface of the select gate and the top surface of the control gate;
a third sourcedrain region in the substrate substantially aligned to the a first side of the logic gate;
a fourth sourcedrain region in the substrate substantially aligned to a second side of the logic gate; and
a second portion of the high K dielectric layer located between the substrate and the bottom portion of the logic gate.
10. The semiconductor device of claim 9, wherein the barrier metal layer performs a work-function-setting purpose.
11. The semiconductor device of claim 10, wherein work-function-setting purpose is for the logic transistor and the NVM cell.
12. The semiconductor device of claim 9, wherein a third portion of the high K dielectric is between the first sides of the select gate and control gate.
13. The semiconductor device of claim 12, wherein a fourth portion of the high K dielectric is along the second side of the control gate.
14. The semiconductor device of claim 9 wherein a third portion of the metal barrier layer is along the first side of the select gate.
15. The semiconductor device of claim 9, wherein a sidewall spacer surrounds the control gate and select gate.
16. The semiconductor device of claim 9, wherein upper portions of the select gate and logic gate comprise one of a group consisting of metal, polysilicon plus metal, and polysilicon.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for representing a decision tree in a table, comprising:
receiving a training dataset;
building a decision tree from the training dataset, wherein the decision tree comprises a plurality of nodes;
storing each node as an individual row in the table on a non-transitory computer readable medium, wherein the row comprises a leftmost child id, a split criterion value (\u201cSCV\u201d), and a path from a root node;
distributing the decision tree to multiple nodes in a massive parallel processing (\u201cMPP\u201d) database cluster;
receiving a classification dataset to be classified using the decision tree;
dividing the classification dataset into a plurality of segments; and
distributing the segments to the multiple nodes in the MPP database cluster.
2. The method of claim 1, further comprising assigning each node a node id and storing the node id in the table.
3. The method of claim 1, further comprising determining the leftmost child id for each node having children and storing the leftmost child id with the node in the table.
4. The method of claim 1, further comprising determining a predicted class for each node and storing the predicted class in the table.
5. The method of claim 4, further comprising calculating the probability that a decision made on a node will result in the predicted class, and storing the probability in the table.
6. The method of claim 1, further comprising calculating the SCV for a decision node in the decision tree and storing the SCV in the table.
7. The method of claim 1, further comprising storing the path from the root node and storing the path as an array in the table.
8. The method of claim 1, wherein the training dataset comprises an attribute, an attribute value, and a class value.
9. A computer program product for representing a decision tree in a database, comprising a non-transitory computer readable medium having program instructions embodied therein for:
receiving a training dataset;
building a decision tree from the training dataset, wherein the decision tree comprises a plurality of nodes;
storing each node as an individual row in the table on a non-transitory computer readable medium, wherein the row comprises a leftmost child id, a split criterion value (\u201cSCV\u201d), and a path from a root node;
distributing the decision tree to multiple nodes in a massive parallel processing (\u201cMPP\u201d) database cluster;
receiving a classification dataset to be classified using the decision tree;
dividing the classification dataset into a plurality of segments; and
distributing the segments to the multiple nodes in the MPP database cluster.
10. The computer program product of claim 9, further comprising assigning each node a node id and storing the node id in the table.
11. The computer program product of claim 9, further comprising determining the leftmost child id for each node having children and storing the leftmost child id with the node in the table.
12. The computer program product of claim 9, further comprising determining a predicted class for each node and storing the predicted class in the table.
13. The computer program product of claim 12, further comprising calculating the probability that a decision made on a node will result in the predicted class, and storing the probability in the table.
14. The computer program product of claim 9, further comprising the SCV for a decision node in the decision tree and storing the SCV in the table.
15. The computer program product of claim 9, further comprising storing the path from a root node to each node and storing the path as an array in the table.
16. The computer program product of claim 9, wherein the training dataset comprises an attribute, an attribute value, and a class value.
17. A system for representing a decision tree in a database comprising a non-transitory computer readable medium and a processor configured to:
receive a training dataset;
build a decision tree from the training dataset, wherein the decision tree comprises a plurality of nodes;
store each node as an individual row in the table on a non-transitory computer readable medium, wherein the row comprises a leftmost child id, a split criterion value (\u201cSCV\u201d), and a path from a root node;
distribute the decision tree to multiple nodes in a massive parallel processing (\u201cMPP\u201d) database cluster;
receive a classification dataset to be classified using the decision tree;
divide the classification dataset into a plurality of segments; and
distribute the segments to the multiple nodes in the MPP database cluster.
18. The system of claim 17, further comprising determining the leftmost child id for each node having children and storing the leftmost child id with the node in the table.
19. The system of claim 17, further comprising determining a predicted class for each node and storing the predicted class in the table.
20. The system of claim 19, further comprising calculating the probability that a decision made on a node will result in the predicted class, and storing the probability in the table.