1460893734-91a4851e-dbfe-4d74-a1fd-cf7c508a705e

1. A method comprising:
receiving input data comprising a plurality of data sectors;
compressing the plurality of data sectors to generate a corresponding plurality of compressed data sectors;
splitting a compressed data sector of the plurality of compressed data sectors to generate a plurality of split compressed data sectors; and
storing the plurality of compressed data sectors, including the plurality of split compressed data sectors, in a plurality of memory pages of a memory.
2. The method of claim 1, wherein
the splitting of the compressed data sector comprises splitting the compressed data sector to generate a first split compressed data sector and a second split compressed data sector of the plurality of split compressed data sectors, and
the storing of the plurality of compressed data sectors further comprises:
storing the first split compressed data sector in a first memory page of the plurality of memory pages; and
storing the second split compressed data sector in a second memory page of the plurality of memory pages.
3. The method of claim 2, wherein
the compressed data sector is a first compressed data sector, and
storing the first split compressed data sector in the first memory page further comprises:
grouping the first split compressed data sector with a second compressed data sector of the plurality of compressed data sectors; and
storing the first split compressed data sector and the second compressed data sector in the first memory page.
4. The method of claim 3, wherein storing the first split compressed data sector in the first memory page further comprises:
grouping the first split compressed data sector with the second compressed data sector such that a threshold code rate is achieved while encoding the first split compressed data sector and the second compressed data sector.
5. The method of claim 4, wherein storing the first split compressed data sector in the first memory page further comprises:
grouping the first split compressed data sector with the second compressed data sector such that the first split compressed data sector and the second compressed data sector, after being encoded, fit in the first memory page.
6. The method of claim 3, wherein the storing the second split compressed data sector in the second memory page further comprises:
storing the second split compressed data sector in the second memory page such that no other compressed data sector is stored in the second memory page.
7. The method of claim 1, wherein splitting the compressed data sector further comprises:
determining that a compression ratio for the compressed data sector exceeds a desired code rate for encoding the compressed data sector; and
in response to determining that the compression ratio exceeds the desired code rate, splitting the compressed data sector.
8. The method of claim 1, further comprising:
encoding the plurality of compressed data sectors prior to storing the plurality of compressed data sectors.
9. The method of claim 1, further comprising:
padding one or more of the plurality of compressed data sectors prior to storing the plurality of compressed data sectors.
10. The method of claim 1, further comprising:
generating a table that, for each data sector, indicates one or more memory pages of the plurality of memory pages in which corresponding compressed data sector is stored.
11. The method of claim 10, wherein
the splitting of the compressed data sector comprises splitting the compressed data sector to generate a first split compressed data sector and a second split compressed data sector, wherein the compressed data sector is generated from a given data sector,
the storing of the plurality of compressed data sectors further comprises:
storing the first split compressed data sector in a first memory page of the plurality of memory pages; and
storing the second split compressed data sector in a second memory page of the plurality of memory pages, and

the generating comprises generating a table such that the table indicates that the given data sector is stored in the first memory page and the second memory page.
12. The method of claim 1, further comprising:
generating a table that indicates, for each of the plurality of memory pages, a number of valid compressed data sectors stored in the memory page.
13. The method of claim 12, further comprising:
changing a given data sector of the plurality of data sectors, wherein the given data sector is compressed to generate the first compressed data sector, and wherein the first compressed data sector is stored in a first memory page and a second memory page of the plurality of memory pages; and
in response to changing the given data sector, updating the table such that, for each of the first memory page and the second memory page, the number of valid compressed data sectors stored in the memory page is adjusted.
14. A method comprising:
receiving a plurality of data sectors;
storing the plurality of data sectors in a plurality of memory pages of a memory, wherein each of the plurality of data sectors is stored in one or more memory pages of the plurality of memory pages; and
generating a table, wherein generating the table comprises
indicating one or more memory pages of the plurality of memory pages in which a data sector of the plurality of data sectors is stored, and
repeating the indicating for each of the plurality of data sectors.
15. The method of claim 14, further comprising
splitting a given data sector of the plurality of data sectors to generate a first split data sector and a second split data sector,
wherein the storing the plurality of data sectors further comprises:
storing the first split data sector in a first memory page of the plurality of memory pages; and
storing the second split data sector in a second memory page of the plurality of memory pages, and

wherein the generating the table further comprises generating the table such that the table indicates that the given data sector is stored in the first memory page and the second memory page.
16. A method comprising:
receiving a plurality of data sectors;
storing the plurality of data sectors in a plurality of memory pages of a memory, wherein each of the plurality of data sectors is stored in one or more memory pages of the plurality of memory pages; and
generating a table, wherein generating the table comprises
indicating a number of valid data sectors stored in a memory page of the plurality of memory pages, and
repeating the indicating for each of the plurality of memory pages.
17. The method of claim 16, further comprising:
changing a given data sector of the plurality of data sectors, wherein a section of the given data sector is stored in a first memory page of the plurality of memory pages and another section of the given data sector is stored in a second memory page of the plurality of memory pages; and
in response to changing the given data sector, updating the table such that, for each of the first memory page and the second memory page, the number of valid data sectors stored in the memory page is adjusted.
18. A memory system comprising:
a memory module;
a compressor module configured to compress a plurality of data sectors to generate a corresponding plurality of compressed data sectors;
a splitting module configured to split a compressed data sector of the plurality of compressed data sectors to generate a plurality of split compressed data sectors; and
a memory controller configured to store the plurality of compressed data sectors, including the plurality of split compressed data sectors, in a plurality of memory pages of the memory module.
19. The memory system of claim 18, further comprising:
an encoder module configured to encode the plurality of compressed data sectors prior to storing the plurality of compressed data sectors.
20. The memory system of claim 18, wherein the plurality of split compressed data sectors includes a first split compressed data sector and a second split compressed data sector, the memory system further comprising:
a grouping module configured to group the first split compressed data sector with a second compressed data sector of the plurality of compressed data sectors, wherein the memory controller is configured to store the first split compressed data sector and the second compressed data sector in a given page of the plurality of memory pages.

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. Apparatus for treating drill cuttings contaminated with oil, comprising:
means for continuously introducing the drill cuttings into an inlet end of a first reactor;
the first reactor comprising at least one rotatable shaft disposed longitudinally in a housing and a plurality of impellors spaced along the shaft;
means for continuously introducing an aqueous emulsion breaker into the first reactor at a first location adjacent the inlet end;
means for continuously introducing a mineral acid into the first reactor at a second location spaced from an outlet end of the first reactor;
means for rotating the at least one shaft of the first reactor to continuously maintain high shear conditions in the first reactor and discharge an acidified intermediate product;
means for continuously introducing the acidified intermediate product into an inlet end of a second reactor;
the second reactor comprising at least one shaft disposed longitudinally in a housing and a plurality of impellors spaced along the shaft;
means for continuously introducing alkaline earth into the second reactor at a location adjacent the inlet end thereof;
means for rotating the at least one shaft of the second reactor to maintain high shear conditions in the second reactor to continuously discharge a reaction product from the outlet end of the second reactor essentially free of oil.
2. Apparatus for treating drill cuttings contaminated with oil, comprising:
a first reactor comprising a longitudinal housing having an inlet at a first end and an outlet at an opposite end, at least one rotatable shaft disposed longitudinally in the housing, and a plurality of impellers spaced along the at least one shaft;
a second reactor comprising a longitudinal housing having an inlet at a first end and an outlet at an opposite end, at least one rotatable shah disposed longitudinally in the housing, and a plurality of impellers spaced along the at least one shaft;
a first feeder for continuously introducing drill cuttings into the inlet of the first reactor;
a tank of emulsion breaker;
a line from the emulsion breaker tank for continuously introducing the emulsion breaker for mixture with the drill cuttings;
a tank of aqueous mineral acid;
a line from the mineral acid tank for continuously introducing the mineral acid into the first reactor downstream from the emulsion breaker and upstream from the outlet;
a chute for continuously transferring reaction product from the outlet of the first reactor into the inlet of the second reactor;
a second feeder for continuously introducing alkaline earth into the second reactor adjacent the inlet end;
a third feeder for continuously moving reaction product away from the outlet of the second reactor;
a vapor collection system for recovering gases from the first and second reactors;
a condenser for condensing liquid from the gases from the vapor collection system and producing a stream of uncondensed gases;
an exhaust port, for discharging uncondensed gases.
3. The apparatus of claim 2 wherein the first, second and third feeders include a vapor lock for inhibiting passage of gases from the respective reactors.
4. The apparatus of claim 2 wherein the emulsion breaker tank includes a charge of dodecylbenzenesulfonic acid.
5. The apparatus of claim 2, wherein the mineral acid tank includes a charge of sulfuric acid.
6. The apparatus of claim 2 further comprising an alkaline earth hopper for supplying alkaline earth to the second feeder.
7. The apparatus of claim 6 wherein the alkaline earth hopper includes a charge of lime.
8. The apparatus of claim 4 further comprising a water line for introducing water with the emulsion breaker.
9. The apparatus of claim 5 further comprising a water line for introducing water with the mineral acid.
10. The apparatus of claim 2 further comprising a controller for metering a race of the emulsion breaker proportional to a rate of the drill cuttings introduction.
11. The apparatus of claim 2 further comprising a controller for metering a rate of the mineral acid proportional to a rate of the drill cuttings introduction.
12. The apparatus of claim 2 further comprising a controller for metering a rate of the alkaline earth proportional to a rate of the drill cuttings introduction.
13. The apparatus of claim 2 wherein the condenser includes an indirect heat exchanger for cooling the gases.
14. The apparatus of claim 2 wherein the condenser includes a direct heat exchanger for contacting the gases with a liquid absorption medium.
15. A system for drilling a subterranean well with the circulation of oil-based mud without discharging oil-contaminated drill cuttings, comprising:
a drilling rig including a drill string for drilling the well and a mud circulation system for circulating oil-based mud and recovering drill cuttings;
a drill cutting treatment unit operatively associated with the drilling rig for receiving the recovered drill cuttings and producing treated drill cuttings of reduced oil content, wherein the treatment unit comprises the apparatus of claim 2.