Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
BORN-ON DATE
Document Type and Number:
WIPO Patent Application WO/2021/257084
Kind Code:
A1
Abstract:
An example electronic apparatus includes a memory in which a time value is stored. The example electronic apparatus further includes a controller which, in response to the time value being stored in the memory, controls a counter to begin counting according to a clock signal. In response to a first power up of the controller subsequent to the counter being controlled to begin counting, the controller computes a born-on date based on the time value and a counter value of the counter, and records the born-on date in the memory.

Inventors:
KULKARNI ANAND (US)
LUCKMAN MATS ANDERS KRISTER (US)
PETIT STEVEN (US)
SHAH RAJESH (US)
LONSDALE TAMMY LYNN (US)
Application Number:
PCT/US2020/038636
Publication Date:
December 23, 2021
Filing Date:
June 19, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD DEVELOPMENT CO (US)
International Classes:
G04F10/00
Domestic Patent References:
WO2001002004A12001-01-11
Foreign References:
US6798719B12004-09-28
US20100153281A12010-06-17
US20190121733A12019-04-25
US9563774B12017-02-07
JP2002157361A2002-05-31
US20040107377A12004-06-03
Attorney, Agent or Firm:
SU, Benjamin et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. An electronic apparatus, comprising: a memory to store a time value; a counter; and a controller to: in response to the time value being stored in the memory, control the counter to begin counting according to a clock signal, in response to a first power up of the controller subsequent to the counter being controlled to begin counting, compute a born-on date based on the time value and a counter value of the counter, and record the born-on date in the memory.

2. The electronic apparatus of claim 1 , wherein the memory and the counter are embedded in the controller.

3. The electronic apparatus of claim 2, wherein the counter is a monotonic counter, and the memory is a non-volatile memory.

4. The electronic apparatus of claim 1 , further comprising a battery to supply power to the counter while the controller is in a power-off mode.

5. The electronic apparatus of claim 1 , wherein the controller is in a power-off mode subsequent to the counter being controlled to begin counting until the first power up of the controller, and the controller is to detect the first power up of the controller subsequent to the counter being controlled to begin counting in response to AC power being applied to the electronic apparatus.

6. A non-transitory machine readable storage comprising instructions that, when executed, cause a controller of an electronic apparatus to: store a time value in a non-volatile memory embedded in the controller; in response to the time value being stored in the non-volatile memory, control a monotonic counter to begin counting and place the controller in a first power mode in which the controller does not receive power; in response to the controller being placed in a second power mode in which the controller receives power for a first time subsequent to the controller being placed in the first power mode, compute a born-on date based on the time value and a countervalue of the counter; and record the born-on date in the non-volatile memory.

7. The non-transitory machine readable storage of claim 6, wherein the non-transitory machine readable storage further comprises instructions that when executed cause the controller to: in response to a first application of AC power to the electronic apparatus at a time subsequent to the controller being placed in the first power mode, place the controller in the second power mode, and read a current value of the monotonic counter.

8. The non-transitory machine readable storage of claim 6, wherein the non-transitory machine readable storage further comprises instructions that when executed cause the controller to: in response to a first application of power from a main battery of the electronic apparatus to the electronic apparatus at a time subsequent to the controller being placed in the first power mode, place the controller in the second power mode, and read the current value of the monotonic counter.

9. The non-transitory machine readable storage of claim 6, wherein the non-transitory machine readable storage further comprises instructions that when executed cause the controller to: receive an input of the time value, the time value representing a factory ship date or a date of manufacture of the electronic apparatus.

10. The non-transitory machine readable storage of claim 6, wherein the monotonic counter is embedded in the controller and is to receive power from a battery while the controller is in the first power mode.

11 . A controller for an electronic apparatus, comprising: a memory; a counter to, in response to a time value being recorded in the memory, begin counting according to a clock signal provided to the controller; and a processor to: in response to a first powering on of the controller subsequent to the counter beginning to count, read the time value and a current value of the counter, and determine a born-on date based on the time value and the current counter value.

12. The controller of claim 11 , wherein the processor is to record the born-on date in the memory.

13. The controller of claim 12, wherein the controller is to determine and record the born-on date independently of an operating system of the electronic apparatus.

14. The controller of claim 11 , wherein the counter is a monotonic counter embedded in the controller, and the memory is a non-volatile memory embedded in the controller.

15. The controller of claim 11 , wherein in response to receiving a battery ship mode command subsequent to the counter beginning counting, the controller is to be disconnected from power and placed in a first power mode, and in response to a first application of power to the controller subsequent to the controller being placed in the first power mode, the controller is to exit the first power mode and automatically read the time value and the current value of the counter.

Description:
BORN-ON DATE

BACKGROUND

[0001] An electronic apparatus, for example, a laptop, tablet, or desktop computer, may be shipped from a factory or manufacturer to a retailer for purchase by a customer, or may be shipped directly from a factory or manufacturer to the customer. Electronic apparatuses may be warranted by the manufacturer for a predetermined time period, for example, from the date of purchase. However, if a customer is unable to provide proof of the purchase date, the warranty period may be determined according to other methods, for example, according to the date of manufacture, or according to a first time that the electronic apparatus is used by the customer.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] FIG. 1 illustrates an example block diagram of an electronic apparatus, according to examples of the disclosure;

[0003] FIG. 2 illustrates a partial view of the electronic apparatus of FIG. 1 , according to examples of the disclosure;

[0004] FIG. 3 illustrates an example workflow for preparing an electronic apparatus for shipment at a factory, according to examples of the disclosure; [0005] FIG. 4 illustrates an example workflow of the controller during a process of preparing the electronic apparatus for shipment at a factory, according to examples of the disclosure;

[0006] FIG. 5 illustrates an example workflow of operations of the controller when the electronic apparatus is powered on for a first time after shipment of the electronic apparatus, according to examples of the disclosure; and [0007] FIG. 6 is an example apparatus for calculating a born-on date of an electronic apparatus, according to examples of the disclosure.

DETAILED DESCRIPTION

[0008] Various examples of the disclosure will now be described with reference to the accompanying drawings, wherein like reference characters denote like elements. Examples to be explained in the following may be modified and implemented in various different forms.

[0009] When it is stated in the disclosure that one element is "connected to" or "coupled to" another element, the expression encompasses an example of a direct connection or direct coupling, as well as a connection with another element interposed therebetween. Further, when it is stated herein that one element "includes" another element, unless otherwise stated explicitly, it means that yet another element may be further included rather than being excluded.

[0010] As used herein, a basic input/output system (BIOS) refers to hardware or hardware and instructions to initialize, control, or operate a computing device (electronic apparatus) prior to execution of an operating system (OS) of the computing device. Instructions included within a BIOS may be software, firmware, microcode, or other programming that defines or controls functionality or operation of a BIOS. In one example, a BIOS may be implemented using instructions, such as platform firmware of a computing device, executable by a processor. A BIOS may operate or execute prior to the execution of the OS of a computing device. A BIOS may initialize, control, or operate components such as hardware components of a computing device and may load or boot the OS of computing device.

[0011] In some examples, a BIOS may provide or establish an interface between hardware devices or platform firmware of the computing device and an OS of the computing device, via which the OS of the computing device may control or operate hardware devices or platform firmware of the computing device. In some examples, a BIOS may implement the Unified Extensible Firmware Interface (UEFI) specification or another specification or standard for initializing, controlling, or operating a computing device.

[0012] When a customer is unable to provide proof of the purchase date of an electronic product to establish whether the electronic product is still under warranty, other methods may be implemented to determine whether the electronic product is covered by the manufacturer's warranty.

[0013] According to various examples of the disclosure, the warranty period for an electronic apparatus or electronic product may be determined according to a born-on date. The born-on date refers to the date on which the electronic apparatus is first powered on after the electronic apparatus has been shipped after manufacture. For example, the born-on date may refer to the date on which the electronic apparatus is first powered on by a customer or user after the electronic apparatus has been shipped from a factory or warehouse to the customer or user.

[0014] The born-on date may be used to record the start of a warranty period for any given electronic apparatus. For example, if a customer is unable to provide proof of the purchase date of the electronic apparatus, or if service dates of the electronic apparatus are to be obtained or established, the born-on date may be used, for example, by a customer service team of the manufacturer, to accurately determine the service and warranty dates of the electronic apparatus.

[0015] As an example method, the born-on date may be recorded in a system BIOS through a utility that executes in an operating system (OS) when the electronic apparatus is powered on for the first time after being shipped from the manufacturer. However, customers may load and execute custom OS images that do not have the utility to record the born-on date or that may overwrite a previously-recorded born-on date. Therefore, the born-on date may not be recorded in the system BIOS or may not be recorded in the system BIOS accurately because the customer uses a different OS than the OS in which the utility is executed. Research data indicates that only a small percentage of the electronic apparatuses in the field accurately record the born-on date according to this method. Therefore, a warranty period may not be able to be established or ascertained when the born-on date has not been recorded, has been overwritten, or has otherwise not been recorded accurately. Also, many electronic apparatuses remain in storage for a considerable amount of time before use. Therefore, using a date of manufacture as a date for establishing a warranty period may not be an accurate method. These factors make it difficult for manufacturers and/or retailers to enforce warranty and support agreements leading to monetary losses and lower customer experience satisfaction.

[0016] According to various examples disclosed herein, an electronic apparatus securely and accurately records the born-on date for the electronic apparatus without OS involvement and does not allow an OS to overwrite the securely and accurately recorded born-on date. In an example, a method for recording the born-on date includes storing the factory ship date in a memory of the electronic apparatus and starting a monotonic counter disposed in an embedded controller or super input/output (EC/SIO) after the factory ship date is recorded. Power is then removed from the EC/SIO and the electronic apparatus is shipped. The EC/SIO detects the first power up of the electronic apparatus subsequent to the time of shipping, determines the born-on date according to the factory ship date and the value of the monotonic counter, and records the born-on date in the memory of the electronic apparatus.

[0017] In more detail, referring to FIG. 1 , a block diagram of an electronic apparatus 100 according to an example of the disclosure is illustrated.

[0018] The electronic apparatus 100 includes a processor 110, a display 120, a storage 130, a controller 140, a user interface 150, a main battery 160, a battery 170, and a clock 180. The electronic apparatus 100 may include, but is not limited to, desktop computers, notebooks, tablets, laptops, smart phones, televisions, and the like. The electronic apparatus 100 may include many other components which are not shown in FIG. 1 , such as a communication interface or hard disk drive. That is, the electronic apparatus 100 may include more or less components than those shown in FIG. 1 .

[0019] The processor 110 of the electronic apparatus 100 may execute instructions stored in the storage 130. The processor 110 may be, for example, an arithmetic logic unit, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an image processor, a microcomputer, a field programmable array, a programmable logic unit, an application-specific integrated circuit (ASIC), a microprocessor, or combinations thereof. As illustrated in FIG. 1 , the processor 110 may include an operating system (OS) 111 and a basic input/output system (BIOS) 112.

[0020] The display 120 may include a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, active matrix organic light emitting diode (AMOLED), flexible display, 3D display, a plasma display panel (PDP), a cathode ray tube (CRT) display, and the like, for example. The display 120 may also include a touchscreen display to receive a user input.

[0021] The storage 130 of the electronic apparatus 100 may include, for example, machine readable storage devices which may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions. For example, the storage 130 may include a nonvolatile memory device, such as a Read Only Memory (ROM), Programmable Read Only Memory (PROM), Erasable Programmable Read Only Memory (EPROM), and flash memory, a USB drive, a volatile memory device such as a Random Access Memory (RAM), a hard disk, floppy disks, a blue-ray disk, or optical media such as CD ROM discs and DVDs, or combinations thereof.

[0022] The electronic apparatus 100 may include a controller 140 having a memory 141 and counter 142, for example. The controller 140 may be an embedded controller, in which the memory 141 and counter 142 are embedded. For example, the controller 140 may be an embedded controller/super input/output (EC/SIO) controller. The controller 140 may further include a processor (not shown) to perform functions of the controller 140.

[0023] The memory 141 may be a non-volatile memory, such as a Read Only Memory (ROM), Programmable Read Only Memory (PROM), Erasable Programmable Read Only Memory (EPROM), flash memory, and the like. The memory 141 may also include an internal register in the controller 140. The counter 142 may be a monotonic counter, for example. Operations of the controller 140 are described in more detail herein.

[0024] The electronic apparatus 100 may include a user interface 150 to receive an input from a user to control an operation of the electronic apparatus 100, and the display 120 can display information regarding the electronic apparatus 100. The user interface 150 may include, for example, a keyboard, a mouse, a joystick, a button, a switch, an electronic pen or stylus, a gesture recognition sensor, an input sound device or voice recognition sensor such as a microphone, an output sound device such as a speaker, a track ball, a remote control, a touchscreen, or combinations thereof.

[0025] The electronic apparatus 100 may include a main battery 160 to provide a source of power to the electronic apparatus 100, including the controller 140. For example, the main battery 160 may include a lithium-ion polymer battery, a lithium-ion battery, a nickel-cadmium battery, a nickel-metal hydride battery, and the like.

[0026] The electronic apparatus 100 may include a further battery 170 to provide a source of power to components of the controller 140, for example, the memory 141 and the counter 142. The battery 170 may include a CMOS battery or "coin-cell" battery, for example. The battery 170 may be a lithium battery, an alkaline battery, a silver battery, a zinc-air battery, and the like. The battery 170 may be able to supply power to the memory 141 and counter 142 for a period of several years, for example.

[0027] The electronic apparatus 100 may include a clock 180 to provide a clock signal to the controller 140. For example, the clock 180 may be a crystal that vibrates at a specific frequency. Other examples of the clock 180 include an oscillator (for example, an integrated silicon oscillator or RC oscillator), ceramic resonator, and the like.

[0028] FIG. 2, illustrates a partial view of some of the components of the electronic apparatus 100, according to examples of the disclosure.

[0029] Referring now to FIG. 2 as well as FIG. 1 , example operations of the electronic apparatus 100 will be described. When the electronic apparatus 100 is being manufactured and prepared for shipment at a factory, for example, a user may utilize a factory tool 210 to transmit or store a time value in a memory of the electronic apparatus 100. The time value to be transmitted to, or stored in, the memory of the electronic apparatus 100 may correspond to a factory ship date or a date of manufacture of the electronic apparatus 100, for example. The factory tool 210 may be realized by an application or script that is executed using an operating system of the electronic apparatus 100. For example, the operating system may be a WINDOWS operating system, however the disclosure is not so limited and may include other operating systems such as MAC OS, CHROME OS, LINUX, and the like. The time value to be transmitted to, or stored in, the memory of the electronic apparatus 100 via the factory tool 210 may be recorded by the controller 140 in the memory 141 which is embedded in the controller 140, for example. In an example, the factory tool 210 may cause the controller 140 to record the time value in the memory 141 through a Windows Management Instrumentation (WMI) command when the operating system of the electronic apparatus 100 is a WINDOWS OS.

[0030] Subsequent to a time that the time value is stored in the memory of the electronic apparatus 100, and before a time that power is removed from the controller 140, the controller 140 may start the counter 142 and cause the counter 142 to begin counting in accordance with a clock signal received by the controller 140 from the clock 180. For example, the controller 140 may be configured to automatically start the counter 142 in response to the time value being stored in the memory 141 of the controller 140. [0031] The counter 142 may be a monotonic counter, for example, a 32-bit monotonic counter. The monotonic counter may be configured to count in incrementing or decrementing values. A monotonic counter which counts in incrementing values should not decrease in value once the count value changes to a higher number. A monotonic counter which counts in decrementing values should not increase in value once the count value changes to a lower number. For example, a 32-bit monotonic counter which changes value (in an incrementing or decrementing fashion) each second according to the clock signal provided to the controller 140 by the clock 180, should be able to count to a value corresponding to at least 130 years. The counter may be configured to have a different resolution and may change a count value according to a different time value, for example, incrementing or decrementing in value every 1/6 of a second. The counter may increment in value beginning from a predetermined value, for example a value of zero. As another example, the counter 142 may decrement in value beginning from a predetermined value, for example a value of 2 32 or a value which is set high enough so that the counter 142 would not wrap before the electronic apparatus 100 is powered-on by an end user or consumer after the electronic apparatus 100 is shipped from the factory or manufacturer.

[0032] An independent clock source, clock 180, is provided to the controller 140. Battery 170 provides counter 142 with a source of power, which is separate and independent from the main battery 160. The counter 142 may increment or decrement in value according to the clock signal provided by the clock 180 to the controller 140. Therefore, when the controller 140 is powered on after the electronic apparatus 100 is shipped, the controller 140 can keep track of time which has passed from the date of shipment of the electronic apparatus 100 according to the value of the counter 142 and the time value which is recorded in memory 141. The controller 140 can calculate a born-on date of the electronic apparatus 100 when the electronic apparatus 100 is first powered-on after the electronic apparatus 100 is shipped, as explained in more detail herein. [0033] After the time value is stored in the memory 141 of the electronic apparatus 100 and after the counter 142 has begun counting, but at a time before the electronic apparatus 100 is shipped, power may be removed from the controller 140. For example, the controller 140 may be placed in a ship mode (a first power mode or power-off mode) in which power is no longer supplied to the controller 140. For example, a user may issue a battery ship mode command via the factory tool 210 and/or user interface 150 which is transmitted to the controller 140 to place the main battery 160 and the controller 140 in the ship mode. As another example, the controller 140 may automatically be placed in the ship mode in response to the counter 142 being controlled to begin counting. When the controller 140 is placed in the ship mode, communication via an interface, for example an enhanced serial peripheral interface (ESPI) or low pin count (LPC) interface, between the controller 140 and the system BIOS 220 may be closed. The ship mode of the controller 140 may also be referred to as a reset state of the controller 140. [0034] When the electronic apparatus 100 is next or first powered-on after power is removed from the controller 140, operations for calculating a born-on date of the electronic apparatus 100 may be carried out. For example, the next or first time that the electronic apparatus 100 is powered-on after power is removed from the controller 140 may occur after the electronic apparatus 100 is shipped from the factory or manufacturer to a retailer or directly to a customer. For example, the electronic apparatus 100 may be first powered-on by a user, such as a purchaser or customer of the electronic apparatus 100, after the electronic apparatus 100 is shipped (and subsequent to a time that the counter 142 has begun counting).

[0035] The controller 140 is configured to control the power-up sequence of the electronic apparatus 100 and may detect the first power-up after leaving the factory. The controller 140 may detect that power is applied to the electronic apparatus 100 when Alternating Current (AC) power is applied to the electronic apparatus 100, for example. For example, when AC power is applied to the electronic apparatus 100, the controller 140 is triggered and wakes up from the ship mode, or the reset state, and is placed in a power-on mode (a second power mode). As another example, the controller 140 may detect that power is applied to the electronic apparatus 100 when the main battery 160 is connected to the controller 140 and power is supplied to the controller 140 from the main battery 160. For example, when the main battery 160 supplies power to the electronic apparatus 100, the controller 140 is triggered and wakes up from the ship mode, or the reset state, and is placed in the power-on mode (the second power mode).

[0036] In response to the controller 140 being placed in the power-on mode, the controller 140 may be configured to automatically read a current value of the counter 142, and calculate a born-on date of the electronic apparatus 100 using the current value of the counter 142 and the time value recorded in the memory 141 . For example, upon a first power-up of the electronic apparatus 100 after the electronic apparatus 100 is shipped, the controller 140 can accurately calculate the born-on date of the electronic apparatus 100 by using the current monotonic counter value and a ship date or date of manufacture which was recorded in the non-volatile memory 141 prior to shipment of the electronic apparatus 100.

[0037] For example, the current value of the counter 142 and/or the time value recorded in the memory 141 may be converted to another value so that the current value of the counter 142 and the time value recorded in the memory 141 may be added or combined together to calculate the born-on date of the electronic apparatus. For example, if the current value of the counter 142 is 7,776,000, such a value may be equivalent to 90 days. If the time value recorded in the memory 141 corresponds to a date of March 1 , 2020, the born- on date of the electronic apparatus 100 may be calculated to be May 30, 2020, based on the current value of the counter 142.

[0038] The controller 140 may record the born-on date in a memory of the electronic apparatus 100, for example, memory 141. The calculated born-on date may be made available through BIOS Settings. The born-on date is calculated by the controller 140 independently of the operating system, and may be controlled by a secure embedded controller/super input/output controller.

The example operations described herein for calculating the born-on date helps ensure the accurate enforcement of a warranty period and support agreements for the electronic apparatus.

[0039] FIG. 3 illustrates an example workflow 300 for preparing an electronic apparatus 100 for shipment at a factory, according to examples described herein.

[0040] Referring to FIG. 3, at operation 310 when the electronic apparatus 100 is manufactured and being prepared for shipment at a factory, for example, a user may utilize a factory tool 210 to transmit or store a time value in a memory of the electronic apparatus 100. The time value to be transmitted to, or stored in, the memory of the electronic apparatus 100 may correspond to a factory ship date or a date of manufacture of the electronic apparatus 100, for example. The time value to be transmitted to, or stored in, the memory of the electronic apparatus 100 via the factory tool 210 may be recorded by the controller 140 in the memory 141 embedded in the controller 140, for example.

[0041] At operation 320, after the time value is recorded in the memory 141 of the controller 140, a user may issue a battery ship mode command to the controller 140. For example, a user may issue the battery ship mode command via the factory tool 210 and/or user interface 150 which is transmitted to the controller 140 to place the main battery 160 and the controller 140 in the ship mode. When the controller 140 is in the ship mode, power is removed from the controller 140. For example, in the ship mode, the main battery 160 does not supply power to the controller 140. The ship mode of the controller 140 may also be referred to as a reset state of the controller 140. Thus, in response to receiving a battery ship mode command subsequent to the counter 142 beginning counting, the controller 140 may be disconnected from power and placed in the reset state (the ship mode, first power mode, or power-off mode). [0042] At operation 330, the electronic apparatus 100 is prepared for shipment, for example to a retailer, commercial customer, directly to a consumer, or to some other purchaser or user of the electronic apparatus 100.

[0043] FIG. 4 illustrates an example workflow 400 of the controller 140 during a process of preparing the electronic apparatus 100 for shipment at a factory, according to examples described herein.

[0044] Referring to FIG. 4, when the electronic apparatus 100 is manufactured and being prepared for shipment at a factory, for example, a user may utilize a factory tool 210 to transmit or store a time value in a memory of the electronic apparatus 100. The time value may correspond to a factory ship date or a date of manufacture of the electronic apparatus 100, for example. At operation 410, the controller 140 may receive the time value via the factory tool 210. At operation 420, the controller 140 may record or store the time value in the memory 141 which is embedded in the controller 140, for example.

[0045] At operation 430, subsequent to the time value being stored in the memory of the electronic apparatus 100 by the controller 140, the controller 140 may start the counter 142 and cause the counter 142 to begin counting in accordance with a clock signal received by the controller 140 from the clock 180. For example, the controller 140 may be configured to automatically start the counter 142 in response to the time value being recorded in the memory 141 of the controller 140. The counter 142 may be a monotonic counter which is embedded in the controller 140.

[0046] At operation 440, after the time value is recorded in the memory 141 and after the counter 142 has begun counting, the controller 140 may place the main battery 160 in the ship mode. For example, a user may issue a battery ship mode command via the factory tool 210 and/or user interface 150 and the controller 140 may place the main battery 160 and the controller 140 in the ship mode in response to receiving the battery ship mode command. For example, in the ship mode all power may be removed from the controller 140, and the main battery 160 does not supply power to the controller 140. The ship mode of the controller 140 may also be referred to as a reset state of the controller 140. [0047] FIG. 5 illustrates an example workflow 500 of operations of the controller 140 when the electronic apparatus 100 is powered on for a first time after the electronic apparatus 100 has been shipped, according to examples described herein.

[0048] Referring to FIG. 5, when the electronic apparatus 100 is next or first powered-on after power is removed from the controller 140 (as at operation 440 described above with respect to FIG. 4), various operations for calculating a born-on date of the electronic apparatus 100 may be carried out. For example, the electronic apparatus 100 may be first powered-on by a purchaser or user of the electronic apparatus 100, after the electronic apparatus 100 is shipped (and subsequent to a time that the counter 142 has begun counting).

[0049] At operation 510, the controller 140 is configured to detect the first power-up of the electronic apparatus 100 by detecting that power is applied to the electronic apparatus 100. For example, when AC power is applied to the electronic apparatus 100, the controller 140 may detect that an AC power source is connected to the electronic apparatus 100. As another example, the controller 140 may detect that power is applied to the electronic apparatus 100 when the main battery 160 is connected to the controller 140 and power is supplied to the controller 140 from the main battery 160.

[0050] At operation 520, the controller 140 may exit the reset state and detect that the ship mode is exited. For example, when the controller 140 detects that power is applied to the electronic apparatus 100, the controller 140 may be triggered and wake up from the ship mode, or the reset state, and be placed in a power-on mode (a second power mode).

[0051] At operation 530, in response to the controller 140 being placed in the power-on mode, the controller 140 may be configured to automatically read a current value of the counter 142. For example, upon the first power-up of the electronic apparatus 100 after the electronic apparatus 100 is shipped, the controller 140 may automatically read the current value of the monotonic counter 142. [0052] At operation 540, in response to the controller 140 being placed in the power-on mode, the controller 140 may be configured to automatically read the time value which is recorded in the non-volatile memory 141 . For example, upon the first power-up of the electronic apparatus 100 after the electronic apparatus 100 is shipped, the controller 140 may automatically read the time value recorded in the non-volatile memory 141. For example, operations 530 and 540 may be performed in a reverse order. Thus, in response to receiving a first application of power to the controller 140 subsequent to the controller 140 being placed in the first power mode, the controller 140 may be configured to exit the reset state (the ship mode, first power mode, or power-off mode) and automatically read the time value recorded in the non-volatile memory 141 and the current value of the counter 142.

[0053] At operation 550, the controller 140 may calculate the born-on date using the time value and current counter value. The current value of the counter 142 and/or the time value recorded in the memory 141 may be converted to another value so that the current value of the counter 142 and the time value recorded in the memory 141 may be added or combined together to calculate the born-on date of the electronic apparatus.

[0054] At operation 560, the controller 140 may record the born-on date in the non-volatile memory 141. The electronic apparatus 100 may be configured to retrieve and/or display the born-on date via the user interface 150 and/or display 120. For example, the born-on date may be made available through BIOS Settings. The electronic apparatus 100 may be configured such that the born- on date may not be overwritten once the born-on date is recorded in memory 141. For example, the processor 110 and/or controller 140 may prohibit a user from overwriting the born-on date once the born-on date is recorded in memory 141 . As another example, the processor 110 and/or controller 140 may prohibit an OS from overwriting the born-on date once the born-on date is recorded in memory 141.

[0055] FIG. 6 illustrates an example apparatus 600 for calculating a born-on date of an electronic apparatus 100, according to the examples described herein.

[0056] In an example, the apparatus 600 may be the electronic apparatus 100. The apparatus 600 includes controller 610 and non-transitory computer readable storage medium 620. The non-transitory computer readable storage medium 620 may include instructions 621 , 622, 623, 624, 625, and 626 that, when executed by the controller 610, cause the controller 610 to perform various functions. The controller 610 may correspond to controller 140, and the non-transitory computer readable storage medium 620 may correspond to storage 130, memory 141 , or another storage of the electronic apparatus 100, or combinations thereof.

[0057] The instructions 621 include instructions to receive an input of a time value. For example, the time value may represent or correspond to a factory ship date or a date of manufacture of the apparatus 600. The instructions 622 include instructions to store the time value in a memory of the apparatus 600. For example, the memory may be a non-volatile memory embedded in the controller 610, for example memory 141.

[0058] Instructions 623 include instruction to, in response to the time value being stored in the memory, control a counter to begin counting. For example, the counter may be a monotonic counter embedded in the controller 610, for example counter 142.

[0059] Instructions 624 include instructions to place the controller 610 in a ship mode (a first power mode) in which the controller does not receive power. For example, the controller 610 does not receive power from the main battery 160. For example, the controller 610 may automatically be placed in the first power mode in response to the time value being recorded in the memory and the counter being controlled to begin counting. For example, the controller 610 may be placed in the first power mode in response to receiving a battery ship mode command issued by a user of the apparatus 600.

[0060] Instructions 625 include instructions to exit the ship mode and place the controller 610 in a power-on mode (second power mode) in response to the controller receiving power, for example via an AC power source or via the main battery 160.

[0061] Instructions 626 include instructions to, in response to the controller 610 being placed in the power-on mode in which the controller 610 receives power, read a current value of the counter 142 and read the time value recorded in the memory, for example from memory 141. [0062] Instructions 627 include instructions to, compute a born-on date based on the time value and the current counter value of the counter.

[0063] Instructions 628 include instructions to record the born-on date in a memory of the apparatus 600, for example a non-volatile memory such as memory 141.

[0064] Additional instructions may include instructions to output the born-on date, for example via a display or user interface of the apparatus 600.

[0065] According to the above-described examples, a born-on date may be calculated by a controller independently of an operating system. Furthermore, the calculation of the born-on date may be controlled by a secure embedded controller/super input/output controller. The example operations described herein for calculating the born-on date help ensure the accurate enforcement of a warranty period and support agreements for the electronic apparatus. Furthermore, the examples described herein do not allow or permit an OS to overwrite the born-on date once it is recorded in the memory of the controller, further enhancing the reliability of the born-on date for determining whether the electronic apparatus is covered by a warranty, for determining whether service is needed for electronic apparatus, and for any other activity that may be based on the born-on date.

[0066] Executable instructions to perform processes or operations in accordance with the above-described examples may be recorded in a machine readable storage. A controller or processor may execute the executable instructions to perform the processes or operations. Examples of instructions include both machine code, such as that produced by a compiler, and files containing higher level code that may be executed by the controller using an interpreter. The instructions may be executed by a processor or a plurality of processors included in the controller. The machine readable storage may be distributed among computer systems connected through a network and computer-readable codes or instructions may be stored and executed in a decentralized manner.

[0067] Each block of the flowchart illustrations may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). In some examples, the functions noted in the blocks may occur out of order. For example, two blocks shown in succession may be executed substantially concurrently (simultaneously) or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

[0068] The foregoing examples are merely examples and are not to be construed as limiting the disclosure. The disclosure can be readily applied to other types of apparatuses. Various modifications may be made which are also intended to be encompassed by the disclosure. Also, the description of the examples of the disclosure is intended to be illustrative, and not to limit the scope of the claims.