1. A multimedia pen having a plurality of modular components linkable via a serial bus through male andor female connectors, said pen comprising:
a camera module having an image sensor for capturing an image in a RGB format, a central processing unit with program memory for storing program steps for execution by the central processing unit to operate the camera module, image storage memory for storing the captured image, and at least one image processing unit in communication with the image storage memory to transform the image into a L*a*b* format and resampling the image, the resampling including calculation of medium resolution R, G and B pixels by running an image reconstruction filter on R, G and B data respectively; and
a printer module having a drop-on-demand inkjet printhead for receiving the image from the storage memory over the serial bus in the L*a*b* format, for converting the image to a color space of the printer module and for producing bi-level dots for printing the captured image.
2. The pen of claim 1, wherein the image processing unit is configured to transform the captured image via white balance, range expansion, color conversion and image sharpening calculations.
3. The pen of claim 2, wherein the color conversion calculation by the image processing unit includes tri-linear interpolation according to three 17\xd717\xd717\xd78-bit lookup tables for RGB to L*, RGB to a*, and RGB to b* respectively.
4. The pen of claim 2, wherein the image sharpening calculation by the image processing unit includes a highpass filter using a 3\xd73 convolution kernel for L*.
5. The pen of claim 1, wherein the image processing module has an effects module configured to apply effects to the image, the effects including borders, clip-art, captions, warps, color changes, andor painting styles.
6. The pen of claim 1, wherein the printer module has a body housing a printhead and having a battery compartment for housing a battery, the body further defining a slot into which a business card sized media item can be inserted.
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 storage sub-system comprising:
a storage device;
memory including a control program; and
a controller for controlling a host computer’s access to the storage device to writeread data tofrom the storage device in accordance with the control program;
wherein the controller generates a data guarantee code according to an inherent attribute of the data;
adds the data guarantee code to the data and writes the data to the storage device;
checks the data guarantee code to judge whether the data is error-free or not when reading the data from the storage device;
stores, if there are first data and second data as the data and the content of the first data and the content of the second data are the same, the first data together with the data guarantee code in the storage device without storing the second data in the storage device;
associates the host computer’s read access to the second data with the first data; and
has a change table for changing an inherent attribute of the second data so that the data guarantee code generated when processing the host computer’s read access to the second data, matches the data guarantee code of the first data.
2. The storage sub-system according to claim 1, wherein the controller:
includes a first logical volume accessed by the host computer and a second logical volume to which a storage area of the storage device is allocated;
writes the first data to a second logical address of the second logical volume in response to the host computer’s write access to a first logical address of the first logical volume;
reads the first data from the second logical address in response to the host computer’s read access to a third logical address of the first logical volume to read the second data;
generates the data guarantee code of the first data based on the second logical address;
includes a correspondence table that associates the first logical address and the third logical address with the second logical address respectively, and a table serving as the change table that changes the third logical address to the second logical address;
acquires the second logical address according to the correspondence table when processing the host computer’s read access to the second data;
acquires the second logical address from the third logical address according to the change table and generates the data guarantee code based on the second logical address when generating the data guarantee code in response to the read access to the second data; and
judges whether the then generated data guarantee code matches the data guarantee code added to the first data.
3. The storage sub-system according to claim 1, wherein the controller:
includes a first logical volume accessed by the host computer and a second logical volume to which a storage area of the storage device is allocated;
writes the first data to a second logical address of the second logical volume in response to the host computer’s write access to a first logical address of the first logical volume;
reads the first data from the second logical address in response to the host computer’s read access to a third logical address of the first logical volume to read the second data;
generates the data guarantee code of the first data based on the first logical address;
includes a correspondence table that associates the first logical address and the third logical address with the second logical address respectively, and a table serving as the change table that changes the third logical address to the first logical address;
acquires the second logical address according to the correspondence table when processing the host computer’s read access to the second data;
acquires the first logical address from the third logical address according to the change table and generates the data guarantee code based on the first logical address when generating the data guarantee code in response to the read access to the second data; and
judges whether the then generated data guarantee code matches the data guarantee code added to the first data.
4. The storage sub-system according to claim 2, wherein the second logical volume is a volume to which the storage capacity of the storage device is dynamically allocated in response to the host computer’s write access to the first logical volume.
5. The storage sub-system according to claim 3, wherein the second logical volume is a volume to which the storage capacity of the storage device is dynamically allocated in response to the host computer’s write access to the first logical volume.
6. The storage sub-system according to claim 1, wherein the controller judges based on a hash value whether the first data and the second data are the same or not.
7. The storage sub-system according to claim 1, wherein the inherent attribute of the second data is a logical address of a logical volume in which the second data is stored.
8. A storage sub-system comprising:
a storage device;
memory including a control program; and
a controller for controlling a host computer’s access to the storage device to writeread data tofrom the storage device in accordance with the control program;
wherein the controller includes:
a first data guarantee code generator for generating a data guarantee code based on a first logical address of the data when writing the data to a logical volume in response to the host computer’s write access;
a data write unit for adding the data guarantee code to the data and writing the data to the storage device;
a second data guarantee code generator for generating a data guarantee code based on a second logical address designated by the host computer’s read access when reading the data from the logical volume in response to the host computer’s read access; and
a table that substitutes the first logical address for the second logical address;
wherein the second data guarantee code generator generates the data guarantee code based on the first logical address by referring to the table when the host computer reads the written data.
9. A method for controlling a storage sub-system comprising:
a storage device;
memory including a control program; and
a controller for controlling a host computer’s access to the storage device to writeread data tofrom the storage device in accordance with the control program;
wherein the storage sub-system controlling method comprises the steps executed by the controller of:
generating a data guarantee code according to an inherent attribute of the data;
adding the data guarantee code to the data and writing the data to the storage device;
checking the data guarantee code to judge whether the data is error-free or not when reading the data from the storage device;
storing, if there are first data and second data as the data and the content of the first data and the content of the second data are the same, the first data together with the data guarantee code in the storage device without storing the second data in the storage device;
associating the host computer’s read access to the second data with the first data; and
changing an inherent attribute of the second data so that the data guarantee code generated when processing the host computer’s read access to the second data matches the data guarantee code of the first data.